Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido

Algunas de las características destacables de los sistemas distribuidos es su tolerancia a los fallos, escalabilidad y transparencia, estos proporcionan la disponibilidad y la integridad de los datos si se utilizan técnicas de cifrado para proteger los recursos compartidos en red, la confidencialida...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/35539
Acceso en línea:
http://hdl.handle.net/11349/35539
Palabra clave:
Ingeniería del caos
Resiliencia cibernética
Sistema distribuido
Experimentación en producción
Ingeniería Telemática -- Tesis y disertaciones académicas
Tolerancia a fallos
Escalabilidad
Transparencia
Seguridad informática
Chaos engineering
Cyber resilience
Distributed systems
Experiments in production
Rights
License
CC0 1.0 Universal
id UDISTRITA2_09c3ff47034c5c8c22b782edbd6fb810
oai_identifier_str oai:repository.udistrital.edu.co:11349/35539
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
dc.title.titleenglish.spa.fl_str_mv Application of chaos engineering to the security and resilience of a distributed system
title Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
spellingShingle Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
Ingeniería del caos
Resiliencia cibernética
Sistema distribuido
Experimentación en producción
Ingeniería Telemática -- Tesis y disertaciones académicas
Tolerancia a fallos
Escalabilidad
Transparencia
Seguridad informática
Chaos engineering
Cyber resilience
Distributed systems
Experiments in production
title_short Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
title_full Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
title_fullStr Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
title_full_unstemmed Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
title_sort Aplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuido
dc.contributor.advisor.none.fl_str_mv Hernández Gutiérrez, Jairo
dc.contributor.orcid.spa.fl_str_mv 0000-0003-3908-2763
dc.contributor.orcid.none.fl_str_mv Hernández Gutiérrez, Jairo [0000-0003-3908-2763]
dc.subject.spa.fl_str_mv Ingeniería del caos
Resiliencia cibernética
Sistema distribuido
Experimentación en producción
topic Ingeniería del caos
Resiliencia cibernética
Sistema distribuido
Experimentación en producción
Ingeniería Telemática -- Tesis y disertaciones académicas
Tolerancia a fallos
Escalabilidad
Transparencia
Seguridad informática
Chaos engineering
Cyber resilience
Distributed systems
Experiments in production
dc.subject.lemb.spa.fl_str_mv Ingeniería Telemática -- Tesis y disertaciones académicas
Tolerancia a fallos
Escalabilidad
Transparencia
Seguridad informática
dc.subject.keyword.spa.fl_str_mv Chaos engineering
Cyber resilience
Distributed systems
Experiments in production
description Algunas de las características destacables de los sistemas distribuidos es su tolerancia a los fallos, escalabilidad y transparencia, estos proporcionan la disponibilidad y la integridad de los datos si se utilizan técnicas de cifrado para proteger los recursos compartidos en red, la confidencialidad de la información dependerá en parte de las políticas de seguridad en el uso del sistema además de la configuración correcta de los componentes. Es allí donde los incidentes de seguridad ocurren en su mayoría, los métodos tradicionales no pueden detectar errores de configuración al menos hasta que se presente el fallo en cuyo caso ya se ve comprometido el sistema. La ingeniería del caos de la seguridad figura como una nueva manera para detectar fallos en los componentes con el fin de proteger los activos bajo escenarios de riesgo cibernético. Para demostrar la aplicación de la ingeniería del caos en la seguridad y resiliencia de los sistemas distribuidos, este proyecto presenta, en primer lugar, la conceptualización de la ingeniería del caos, sus antecedentes e investigaciones previas, así como su metodología y principios. Esto, con el fin de entender su aplicación en el área de seguridad informática además de las posibilidades que genera. En segundo lugar, este proyecto muestra una simulación práctica del uso de la ingeniería del caos de la seguridad en un ambiente controlado, dividido en dos fases, en la primera se contempla un escenario donde un cliente del sistema distribuido realiza múltiples ataques cibernéticos con el fin de secuestrar la información mediante el uso de ransomware. En la segunda fase, se realizan los ataques dentro de la misma infraestructura del sistema en un escenario donde el administrador de sistemas puede contemplar cuan endurecido tiene configurado el sistema.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-03-17
dc.date.accessioned.none.fl_str_mv 2024-05-24T17:23:47Z
dc.date.available.none.fl_str_mv 2024-05-24T17:23:47Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.degree.spa.fl_str_mv Monografía
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/35539
url http://hdl.handle.net/11349/35539
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv CC0 1.0 Universal
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/publicdomain/zero/1.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv CC0 1.0 Universal
http://creativecommons.org/publicdomain/zero/1.0/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv http://repository.udistrital.edu.co/bitstream/11349/35539/6/NemeChinchillaDanielListCabanzoIvanAlejandro2023.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/35539/7/NemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/35539/8/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/35539/4/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/35539/1/NemeChinchillaDanielListCabanzoIvanAlejandro2023.pdf
http://repository.udistrital.edu.co/bitstream/11349/35539/2/NemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdf
http://repository.udistrital.edu.co/bitstream/11349/35539/3/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf
http://repository.udistrital.edu.co/bitstream/11349/35539/5/license.txt
bitstream.checksum.fl_str_mv 280cfb172163b1dc52dd0e197d0703cc
c8afd7b97fa4af83bddd2b38d79edb61
119b1047d064c3edc8315e22622e33e0
42fd4ad1e89814f5e4a476b409eb708c
25e1d6c1af79c5f4792a199e0cf5e01f
12b9b84d1d02d56f0b3a17716bfbfc9c
583b7f3f6f8d8badacd0ec4524917526
997daf6c648c962d566d7b082dac908d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Distrital - RIUD
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1803712440957927424
spelling Hernández Gutiérrez, Jairo0000-0003-3908-2763Hernández Gutiérrez, Jairo [0000-0003-3908-2763]Neme Chinchilla, DanielList Cabanzo, Iván Alejandro2024-05-24T17:23:47Z2024-05-24T17:23:47Z2023-03-17http://hdl.handle.net/11349/35539Algunas de las características destacables de los sistemas distribuidos es su tolerancia a los fallos, escalabilidad y transparencia, estos proporcionan la disponibilidad y la integridad de los datos si se utilizan técnicas de cifrado para proteger los recursos compartidos en red, la confidencialidad de la información dependerá en parte de las políticas de seguridad en el uso del sistema además de la configuración correcta de los componentes. Es allí donde los incidentes de seguridad ocurren en su mayoría, los métodos tradicionales no pueden detectar errores de configuración al menos hasta que se presente el fallo en cuyo caso ya se ve comprometido el sistema. La ingeniería del caos de la seguridad figura como una nueva manera para detectar fallos en los componentes con el fin de proteger los activos bajo escenarios de riesgo cibernético. Para demostrar la aplicación de la ingeniería del caos en la seguridad y resiliencia de los sistemas distribuidos, este proyecto presenta, en primer lugar, la conceptualización de la ingeniería del caos, sus antecedentes e investigaciones previas, así como su metodología y principios. Esto, con el fin de entender su aplicación en el área de seguridad informática además de las posibilidades que genera. En segundo lugar, este proyecto muestra una simulación práctica del uso de la ingeniería del caos de la seguridad en un ambiente controlado, dividido en dos fases, en la primera se contempla un escenario donde un cliente del sistema distribuido realiza múltiples ataques cibernéticos con el fin de secuestrar la información mediante el uso de ransomware. En la segunda fase, se realizan los ataques dentro de la misma infraestructura del sistema en un escenario donde el administrador de sistemas puede contemplar cuan endurecido tiene configurado el sistema.Some of the notable characteristics of distributed systems are their fault tolerance, scalability, and transparency; they provide availability and data integrity if encryption techniques are used to protect the shared network resources. The confidentiality of the information will depend in part on the security policies in the use of the system, in addition to the correct configuration of the components. This is where most security incidents happen, traditional methods cannot detect configuration errors at least until the failure occurs, in which case the system is already compromised. Security chaos engineering is a new way to detect component failures in order to protect assets under cyber risk scenarios. To demonstrate the application of chaos engineering to the security and resilience of distributed systems, this project first presents the conceptualization of chaos engineering, its background and previous research, as well as its methodology and principles. This, in order to understand its application in the area of computer security as well as the possibilities it generates. Secondly, this project shows a practical simulation of the use of chaos engineering for security in a controlled environment, divided into two phases. In the first phase, a scenario where a client of the distributed system performs multiple cyberattacks in order to hijack information through the use of ransomware is contemplated. In the second phase, the attacks are performed within the same system infrastructure in a scenario where the system administrator can contemplate how hardened the system is configured.pdfspaCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Ingeniería del caosResiliencia cibernéticaSistema distribuidoExperimentación en producciónIngeniería Telemática -- Tesis y disertaciones académicasTolerancia a fallosEscalabilidadTransparenciaSeguridad informáticaChaos engineeringCyber resilienceDistributed systemsExperiments in productionAplicación de la ingeniería del caos en la seguridad y resiliencia de un sistema distribuidoApplication of chaos engineering to the security and resilience of a distributed systembachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILNemeChinchillaDanielListCabanzoIvanAlejandro2023.pdf.jpgNemeChinchillaDanielListCabanzoIvanAlejandro2023.pdf.jpgIM Thumbnailimage/jpeg5905http://repository.udistrital.edu.co/bitstream/11349/35539/6/NemeChinchillaDanielListCabanzoIvanAlejandro2023.pdf.jpg280cfb172163b1dc52dd0e197d0703ccMD56open accessNemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdf.jpgNemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdf.jpgIM Thumbnailimage/jpeg8302http://repository.udistrital.edu.co/bitstream/11349/35539/7/NemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdf.jpgc8afd7b97fa4af83bddd2b38d79edb61MD57open accessLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdf.jpgLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdf.jpgIM Thumbnailimage/jpeg13036http://repository.udistrital.edu.co/bitstream/11349/35539/8/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf.jpg119b1047d064c3edc8315e22622e33e0MD58open accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701http://repository.udistrital.edu.co/bitstream/11349/35539/4/license_rdf42fd4ad1e89814f5e4a476b409eb708cMD54open accessORIGINALNemeChinchillaDanielListCabanzoIvanAlejandro2023.pdfNemeChinchillaDanielListCabanzoIvanAlejandro2023.pdfTrabajo de gradoapplication/pdf3844853http://repository.udistrital.edu.co/bitstream/11349/35539/1/NemeChinchillaDanielListCabanzoIvanAlejandro2023.pdf25e1d6c1af79c5f4792a199e0cf5e01fMD51open accessNemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdfNemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdfAnexosapplication/pdf373832http://repository.udistrital.edu.co/bitstream/11349/35539/2/NemeChinchillaDanielListCabanzoIvanAlejandroAnexos.pdf12b9b84d1d02d56f0b3a17716bfbfc9cMD52open accessLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdfLicencia y autorización especial para publicar y permitir la consulta y uso de contenidos en el Repositorio Institucional de la Universidad Distrital.pdfLicencia de uso y publicaciónapplication/pdf229840http://repository.udistrital.edu.co/bitstream/11349/35539/3/Licencia%20y%20autorizaci%c3%b3n%20especial%20para%20publicar%20y%20permitir%20la%20consulta%20y%20uso%20de%20contenidos%20en%20el%20Repositorio%20Institucional%20de%20la%20Universidad%20Distrital.pdf583b7f3f6f8d8badacd0ec4524917526MD53metadata only accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/35539/5/license.txt997daf6c648c962d566d7b082dac908dMD55open access11349/35539oai:repository.udistrital.edu.co:11349/355392024-05-25 01:00:29.379open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK