Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista

Este documento presenta un enfoque integral para optimizar estrategias en Blackjack mediante el uso de Aprendizaje por Refuerzo (RL), resaltando su innovación al incorporar el conteo de cartas a través del True Count en un entorno de simulación realista. La combinación de técnicas avanzadas de RL, c...

Full description

Autores:
Cuellar Argotty, Juan Esteban
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2025
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/75506
Acceso en línea:
https://hdl.handle.net/1992/75506
Palabra clave:
Blackjack
Aprendizaje por refuerzo
Deep Q-Network
Illustrious 18
Hard-nudging
Ingeniería
Rights
openAccess
License
Attribution-NonCommercial-NoDerivatives 4.0 International
id UNIANDES2_64b90c14a4eff4696282eb05f954719d
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/75506
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.none.fl_str_mv Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
title Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
spellingShingle Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
Blackjack
Aprendizaje por refuerzo
Deep Q-Network
Illustrious 18
Hard-nudging
Ingeniería
title_short Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
title_full Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
title_fullStr Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
title_full_unstemmed Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
title_sort Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista
dc.creator.fl_str_mv Cuellar Argotty, Juan Esteban
dc.contributor.advisor.none.fl_str_mv Lozano Martínez, Fernando Enrique
dc.contributor.author.none.fl_str_mv Cuellar Argotty, Juan Esteban
dc.contributor.jury.none.fl_str_mv Osma Cruz, Johann Faccelo
dc.subject.keyword.none.fl_str_mv Blackjack
Aprendizaje por refuerzo
Deep Q-Network
Illustrious 18
Hard-nudging
topic Blackjack
Aprendizaje por refuerzo
Deep Q-Network
Illustrious 18
Hard-nudging
Ingeniería
dc.subject.themes.spa.fl_str_mv Ingeniería
description Este documento presenta un enfoque integral para optimizar estrategias en Blackjack mediante el uso de Aprendizaje por Refuerzo (RL), resaltando su innovación al incorporar el conteo de cartas a través del True Count en un entorno de simulación realista. La combinación de técnicas avanzadas de RL, como el algoritmo Deep Q-Network (DQN), con métodos de aprendizaje guiado (hard-nudging) permite al agente replicar estrategias básicas y aprender desviaciones estratégicas avanzadas, como la Illustrious 18. Este enfoque no solo valida la aplicabilidad del RL en juegos de azar, sino que también abre nuevas posibilidades para diseñar sistemas de decisión inteligentes adaptativos en contextos dinámicos.
publishDate 2025
dc.date.accessioned.none.fl_str_mv 2025-01-20T20:55:23Z
dc.date.available.none.fl_str_mv 2025-01-20T20:55:23Z
dc.date.issued.none.fl_str_mv 2025-01-17
dc.type.none.fl_str_mv Trabajo de grado - Pregrado
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.none.fl_str_mv Text
dc.type.redcol.none.fl_str_mv http://purl.org/redcol/resource_type/TP
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/1992/75506
dc.identifier.instname.none.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.none.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.none.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url https://hdl.handle.net/1992/75506
identifier_str_mv instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Sutton, Richard S., and Barto, Andrew G. Reinforcement Learning: An Introduction. 2nd ed., MIT Press, 2018.
Li, Lihong, and Littman, Michael L. "Reducing Exploration in Reinforcement Learning by Exploiting Generalization." Proceedings of the 26th International Conference on Machine Learning (ICML), 2009, pp. 608-615.
Tesauro, Gerald. "Temporal Difference Learning and TD-Gammon." Neural Networks, vol. 10, no. 1, 1995, pp. 105-119.
Moravčík, Miha, et al. "DeepStack: Expert-level artificial intelligence in heads-up no-limit poker." Nature, vol. 549, 2017, pp. 484-489.
Brown, Noam, and Tuomas Sandholm. "Superhuman AI for heads-up no-limit poker: Libratus beats top professionals." Science, vol. 359, no. 6374, 2018, pp. 418-424.
Hessel, Matteo, et al. "Rainbow: Combining Improvements in Deep Reinforcement Learning." Proceedings of the AAAI Conference on Artificial Intelligence, vol. 32, no. 1, 2018, pp. 3215-3222.
Thorp, Edward O. "A Favorable Strategy for Twenty-One." Proceedings of the National Academy of Sciences, vol. 47, no. 1, 1961, pp. 110-112.
Thorp, Edward O. Beat the Dealer: A Winning Strategy for the Game of Twenty-One. Random House, New York, 1962.
dc.rights.en.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
dc.rights.uri.none.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
http://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 25 páginas
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de los Andes
dc.publisher.program.none.fl_str_mv Ingeniería Electrónica
dc.publisher.faculty.none.fl_str_mv Facultad de Ingeniería
dc.publisher.department.none.fl_str_mv Departamento de Ingeniería Eléctrica y Electrónica
publisher.none.fl_str_mv Universidad de los Andes
institution Universidad de los Andes
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/eb0babca-4308-4262-8031-c1c33022cecb/download
https://repositorio.uniandes.edu.co/bitstreams/7df2313a-36e9-475c-b809-e4c48b828f3d/download
https://repositorio.uniandes.edu.co/bitstreams/14c58ca7-1554-4ce9-9c03-d9ae220fc6b0/download
https://repositorio.uniandes.edu.co/bitstreams/3e53ea72-8c7c-49d0-99ad-793efba507a0/download
https://repositorio.uniandes.edu.co/bitstreams/cc2f3b02-0c54-414c-9812-0a9709c58526/download
https://repositorio.uniandes.edu.co/bitstreams/b069ebc2-8f90-42be-b4df-89069da573e8/download
https://repositorio.uniandes.edu.co/bitstreams/efe877d4-9512-47f2-9a99-45212fb4e92a/download
https://repositorio.uniandes.edu.co/bitstreams/b2901057-5af4-4181-8914-9fe56e43d29b/download
bitstream.checksum.fl_str_mv 4460e5956bc1d1639be9ae6146a50347
138f5660ba7408585fd84a56e4675be4
f05daaecc2a368bb62e567173e64c318
ae9e573a68e7f92501b6913cc846c39f
2fbb4f6fde73c7940a82f8cd5782d4cd
43fcbcc72f9dfb0b74c0933d54a8e864
88f86ec84441f33b68a58b4f95d2e9e2
917d0dab27b494f796e58b66307faad6
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio institucional Séneca
repository.mail.fl_str_mv adminrepositorio@uniandes.edu.co
_version_ 1828159271694499840
spelling Lozano Martínez, Fernando Enriquevirtual::22255-1Cuellar Argotty, Juan EstebanOsma Cruz, Johann Faccelo2025-01-20T20:55:23Z2025-01-20T20:55:23Z2025-01-17https://hdl.handle.net/1992/75506instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/Este documento presenta un enfoque integral para optimizar estrategias en Blackjack mediante el uso de Aprendizaje por Refuerzo (RL), resaltando su innovación al incorporar el conteo de cartas a través del True Count en un entorno de simulación realista. La combinación de técnicas avanzadas de RL, como el algoritmo Deep Q-Network (DQN), con métodos de aprendizaje guiado (hard-nudging) permite al agente replicar estrategias básicas y aprender desviaciones estratégicas avanzadas, como la Illustrious 18. Este enfoque no solo valida la aplicabilidad del RL en juegos de azar, sino que también abre nuevas posibilidades para diseñar sistemas de decisión inteligentes adaptativos en contextos dinámicos.Este proyecto describe el desarrollo de un agente de Aprendizaje por Refuerzo (AR) capaz de aprender y optimizar estrategias de Blackjack en un entorno de simulación realista, teniendo en cuenta tanto las reglas estándar como variaciones de casino y el conteo de cartas (True Count). Tras implementar un simulador en Python con clases que modelan al dealer, al jugador, las cartas y el mazo, se diseñó un agente DQN que, gracias al uso de estrategias de guía (hard-nudging), logró replicar la estrategia básica tradicional y, posteriormente, adaptar sus decisiones en función del True Count, aprendiendo desviaciones estratégicas avanzadas similares a la Illustrious 18.Pregrado25 páginasapplication/pdfspaUniversidad de los AndesIngeniería ElectrónicaFacultad de IngenieríaDepartamento de Ingeniería Eléctrica y ElectrónicaAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Aprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realistaTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPBlackjackAprendizaje por refuerzoDeep Q-NetworkIllustrious 18Hard-nudgingIngenieríaSutton, Richard S., and Barto, Andrew G. Reinforcement Learning: An Introduction. 2nd ed., MIT Press, 2018.Li, Lihong, and Littman, Michael L. "Reducing Exploration in Reinforcement Learning by Exploiting Generalization." Proceedings of the 26th International Conference on Machine Learning (ICML), 2009, pp. 608-615.Tesauro, Gerald. "Temporal Difference Learning and TD-Gammon." Neural Networks, vol. 10, no. 1, 1995, pp. 105-119.Moravčík, Miha, et al. "DeepStack: Expert-level artificial intelligence in heads-up no-limit poker." Nature, vol. 549, 2017, pp. 484-489.Brown, Noam, and Tuomas Sandholm. "Superhuman AI for heads-up no-limit poker: Libratus beats top professionals." Science, vol. 359, no. 6374, 2018, pp. 418-424.Hessel, Matteo, et al. "Rainbow: Combining Improvements in Deep Reinforcement Learning." Proceedings of the AAAI Conference on Artificial Intelligence, vol. 32, no. 1, 2018, pp. 3215-3222.Thorp, Edward O. "A Favorable Strategy for Twenty-One." Proceedings of the National Academy of Sciences, vol. 47, no. 1, 1961, pp. 110-112.Thorp, Edward O. Beat the Dealer: A Winning Strategy for the Game of Twenty-One. Random House, New York, 1962.202014258Publicationedd81d8c-e0b9-4c1f-bf04-eed0e12e755dvirtual::22255-1edd81d8c-e0b9-4c1f-bf04-eed0e12e755dvirtual::22255-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000025550virtual::22255-1CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repositorio.uniandes.edu.co/bitstreams/eb0babca-4308-4262-8031-c1c33022cecb/download4460e5956bc1d1639be9ae6146a50347MD51ORIGINALAprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista.pdfAprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista.pdfapplication/pdf1457815https://repositorio.uniandes.edu.co/bitstreams/7df2313a-36e9-475c-b809-e4c48b828f3d/download138f5660ba7408585fd84a56e4675be4MD521c930009-7405-44e1-ac9d-1ca8546f01c1 copy.pdf1c930009-7405-44e1-ac9d-1ca8546f01c1 copy.pdfHIDEapplication/pdf250699https://repositorio.uniandes.edu.co/bitstreams/14c58ca7-1554-4ce9-9c03-d9ae220fc6b0/downloadf05daaecc2a368bb62e567173e64c318MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/3e53ea72-8c7c-49d0-99ad-793efba507a0/downloadae9e573a68e7f92501b6913cc846c39fMD54TEXTAprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista.pdf.txtAprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista.pdf.txtExtracted texttext/plain62443https://repositorio.uniandes.edu.co/bitstreams/cc2f3b02-0c54-414c-9812-0a9709c58526/download2fbb4f6fde73c7940a82f8cd5782d4cdMD551c930009-7405-44e1-ac9d-1ca8546f01c1 copy.pdf.txt1c930009-7405-44e1-ac9d-1ca8546f01c1 copy.pdf.txtExtracted texttext/plain2135https://repositorio.uniandes.edu.co/bitstreams/b069ebc2-8f90-42be-b4df-89069da573e8/download43fcbcc72f9dfb0b74c0933d54a8e864MD57THUMBNAILAprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista.pdf.jpgAprendizaje y optimización de variaciones estratégicas en blackjack mediante aprendizaje por refuerzo en un entorno de simulación realista.pdf.jpgGenerated Thumbnailimage/jpeg6926https://repositorio.uniandes.edu.co/bitstreams/efe877d4-9512-47f2-9a99-45212fb4e92a/download88f86ec84441f33b68a58b4f95d2e9e2MD561c930009-7405-44e1-ac9d-1ca8546f01c1 copy.pdf.jpg1c930009-7405-44e1-ac9d-1ca8546f01c1 copy.pdf.jpgGenerated Thumbnailimage/jpeg10867https://repositorio.uniandes.edu.co/bitstreams/b2901057-5af4-4181-8914-9fe56e43d29b/download917d0dab27b494f796e58b66307faad6MD581992/75506oai:repositorio.uniandes.edu.co:1992/755062025-03-05 10:03:42.72http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internationalopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K