Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
Este proyecto presenta la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques realizados a un servidor por un nodo botnet, utilizando el conjunto de datos BETH1. El contexto del trabajo se enmarca en la problemática actual de los ataques a la seguridad en...
- Autores:
-
García González, Julián Eduardo
Payares Mateus, Kevin Geancarlo
- Tipo de recurso:
- 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/39595
- Acceso en línea:
- http://hdl.handle.net/11349/39595
- Palabra clave:
- Aprendizaje profundo
Servidores
Ciberataques
Seguridad de internet
Botnet
Redes neuronales
Aprendizaje automático
Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas
Detección de intrusos y ciberseguridad
Análisis de tráfico de redes y redes neuronales
Inteligencia artificial y seguridad informática
Deep learning
Servers
Cyber-attacks
Internet security
Botnet
Neural networks
Machine learning
- Rights
- License
- Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id |
UDISTRITA2_1e0c669a06bb3bee537cc842db2ddb39 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/39595 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH |
dc.title.titleenglish.spa.fl_str_mv |
Detection of attacks performed on a server by a BOTNET node by implementing a deep learning neural network model using the BETH dataset |
title |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH |
spellingShingle |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH Aprendizaje profundo Servidores Ciberataques Seguridad de internet Botnet Redes neuronales Aprendizaje automático Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas Detección de intrusos y ciberseguridad Análisis de tráfico de redes y redes neuronales Inteligencia artificial y seguridad informática Deep learning Servers Cyber-attacks Internet security Botnet Neural networks Machine learning |
title_short |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH |
title_full |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH |
title_fullStr |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH |
title_full_unstemmed |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH |
title_sort |
Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH |
dc.creator.fl_str_mv |
García González, Julián Eduardo Payares Mateus, Kevin Geancarlo |
dc.contributor.advisor.none.fl_str_mv |
Hernández Martinez, Henry Alberto |
dc.contributor.author.none.fl_str_mv |
García González, Julián Eduardo Payares Mateus, Kevin Geancarlo |
dc.contributor.orcid.none.fl_str_mv |
Hernández Martinez Henry Alberto [0000-0002-2323-0242] |
dc.subject.none.fl_str_mv |
Aprendizaje profundo Servidores Ciberataques Seguridad de internet Botnet Redes neuronales Aprendizaje automático |
topic |
Aprendizaje profundo Servidores Ciberataques Seguridad de internet Botnet Redes neuronales Aprendizaje automático Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas Detección de intrusos y ciberseguridad Análisis de tráfico de redes y redes neuronales Inteligencia artificial y seguridad informática Deep learning Servers Cyber-attacks Internet security Botnet Neural networks Machine learning |
dc.subject.lemb.none.fl_str_mv |
Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas Detección de intrusos y ciberseguridad Análisis de tráfico de redes y redes neuronales Inteligencia artificial y seguridad informática |
dc.subject.keyword.none.fl_str_mv |
Deep learning Servers Cyber-attacks Internet security Botnet Neural networks Machine learning |
description |
Este proyecto presenta la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques realizados a un servidor por un nodo botnet, utilizando el conjunto de datos BETH1. El contexto del trabajo se enmarca en la problemática actual de los ataques a la seguridad en los sistemas informáticos de redes y la necesidad de contar con medidas de control inteligentes para protegerlos. El problema que se plantea en este trabajo de grado es la detección de ataques de un nodo botnet a un servidor, ya que, estos causan daños significativos a la infraestructura de la red, entre ellos están: la generación de tráfico masivo de datos hacia un servidor, el envío de grandes de correos electrónicos no solicitados, la infección de dispositivos de la red, entre otros daños. Este problema es complejo debido a que los nodos botnet están diseñados para evadir los sistemas de detección de intrusos y el tráfico que se genera es similar al tráfico legitimo. La solución desarrollada consiste en la implementación de un modelo de red neuronal de aprendizaje profundo utilizando el conjunto de datos BETH, que contiene información de tráfico de red generado por nodos botnet y tráfico legítimo. El rendimiento del modelo es evaluado mediante métricas de desempeño como la precisión, el recall y la F1-score. Los resultados obtenidos muestran que el modelo propuesto logra una precisión de detección de nodos botnet del 91%, lo que indica que es una solución eficiente para la detección de ataques de este tipo. En conclusión, la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques de un nodo botnet en un servidor es una solución efectiva y eficiente. Los resultados obtenidos demuestran la importancia de utilizar técnicas avanzadas de análisis de datos y aprendizaje profundo para mejorar la seguridad informática de redes en el área de la detección de anomalías. |
publishDate |
2023 |
dc.date.created.none.fl_str_mv |
2023-05-15 |
dc.date.accessioned.none.fl_str_mv |
2024-08-13T14:59:30Z |
dc.date.available.none.fl_str_mv |
2024-08-13T14:59:30Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.coar.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.degree.spa.fl_str_mv |
Monografía |
dc.type.driver.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/11349/39595 |
url |
http://hdl.handle.net/11349/39595 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 Internacional |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 Internacional http://creativecommons.org/licenses/by-nc-nd/4.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 |
https://repository.udistrital.edu.co/bitstreams/2830426a-7f17-4775-824c-889c34f45f9b/download https://repository.udistrital.edu.co/bitstreams/2ab3da28-edbb-499b-90e9-829450851583/download https://repository.udistrital.edu.co/bitstreams/28325146-10f3-4eaf-b8c8-99e70663b691/download https://repository.udistrital.edu.co/bitstreams/81bb15ba-bde5-4bf8-80bd-d95a17ea46a7/download https://repository.udistrital.edu.co/bitstreams/86c55c79-bde5-4d5c-979a-dbc04d68cadb/download https://repository.udistrital.edu.co/bitstreams/7d5ed836-7bc2-453d-b298-ebd6084d3499/download |
bitstream.checksum.fl_str_mv |
997daf6c648c962d566d7b082dac908d 5d83e5b595c2c3508066c76d3414c0c4 795130286cce77d76d8db1666fd7f169 4460e5956bc1d1639be9ae6146a50347 2222b40b8ed9f4bd4851c6fb5c259a1e 3fc5a7a009f8cecdacd3fff17d27f2bd |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Universidad Distrital |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1828165901792313344 |
spelling |
Hernández Martinez, Henry AlbertoGarcía González, Julián EduardoPayares Mateus, Kevin GeancarloHernández Martinez Henry Alberto [0000-0002-2323-0242]2024-08-13T14:59:30Z2024-08-13T14:59:30Z2023-05-15http://hdl.handle.net/11349/39595Este proyecto presenta la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques realizados a un servidor por un nodo botnet, utilizando el conjunto de datos BETH1. El contexto del trabajo se enmarca en la problemática actual de los ataques a la seguridad en los sistemas informáticos de redes y la necesidad de contar con medidas de control inteligentes para protegerlos. El problema que se plantea en este trabajo de grado es la detección de ataques de un nodo botnet a un servidor, ya que, estos causan daños significativos a la infraestructura de la red, entre ellos están: la generación de tráfico masivo de datos hacia un servidor, el envío de grandes de correos electrónicos no solicitados, la infección de dispositivos de la red, entre otros daños. Este problema es complejo debido a que los nodos botnet están diseñados para evadir los sistemas de detección de intrusos y el tráfico que se genera es similar al tráfico legitimo. La solución desarrollada consiste en la implementación de un modelo de red neuronal de aprendizaje profundo utilizando el conjunto de datos BETH, que contiene información de tráfico de red generado por nodos botnet y tráfico legítimo. El rendimiento del modelo es evaluado mediante métricas de desempeño como la precisión, el recall y la F1-score. Los resultados obtenidos muestran que el modelo propuesto logra una precisión de detección de nodos botnet del 91%, lo que indica que es una solución eficiente para la detección de ataques de este tipo. En conclusión, la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques de un nodo botnet en un servidor es una solución efectiva y eficiente. Los resultados obtenidos demuestran la importancia de utilizar técnicas avanzadas de análisis de datos y aprendizaje profundo para mejorar la seguridad informática de redes en el área de la detección de anomalías.This project presents the implementation of a deep learning neural network model for the detection of attacks on a server by a botnet node, using the BETH1 dataset. The context of the work is framed within the current problem of security attacks on networked computer systems and the need for intelligent control measures to protect them. The problem posed in this degree work is the detection of attacks from a botnet node to a server, since they cause significant damage to the network infrastructure, among them are: the generation of massive data traffic to a server, the sending of large unsolicited emails, the infection of network devices, among other damages. This problem is complex because botnet nodes are designed to evade intrusion detection systems and the traffic generated is similar to legitimate traffic. The developed solution consists in the implementation of a deep learning neural network model using the BETH dataset, which contains network traffic information generated by botnet nodes and legitimate traffic. The model performance is evaluated using performance metrics such as accuracy, recall and F1-score. The results obtained show that the proposed model achieves a botnet node detection accuracy of 91%, indicating that it is an efficient solution for detecting botnet attacks. In conclusion, the implementation of a deep learning neural network model for the detection of botnet node attacks on a server is an effective and efficient solution. The results obtained demonstrate the importance of using advanced data analysis and deep learning techniques to improve network computer security in the area of anomaly detection.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Aprendizaje profundoServidoresCiberataquesSeguridad de internetBotnetRedes neuronalesAprendizaje automáticoIngeniería en Telecomunicaciones -- Tesis y disertaciones académicasDetección de intrusos y ciberseguridadAnálisis de tráfico de redes y redes neuronalesInteligencia artificial y seguridad informáticaDeep learningServersCyber-attacksInternet securityBotnetNeural networksMachine learningDetección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETHDetection of attacks performed on a server by a BOTNET node by implementing a deep learning neural network model using the BETH datasetbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fLICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/2830426a-7f17-4775-824c-889c34f45f9b/download997daf6c648c962d566d7b082dac908dMD54ORIGINALGarciaGonzalezJulianEduardo2023.pdfGarciaGonzalezJulianEduardo2023.pdfTrabajo de grado / Pregradoapplication/pdf2478905https://repository.udistrital.edu.co/bitstreams/2ab3da28-edbb-499b-90e9-829450851583/download5d83e5b595c2c3508066c76d3414c0c4MD51Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y publicaciónapplication/pdf255539https://repository.udistrital.edu.co/bitstreams/28325146-10f3-4eaf-b8c8-99e70663b691/download795130286cce77d76d8db1666fd7f169MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/81bb15ba-bde5-4bf8-80bd-d95a17ea46a7/download4460e5956bc1d1639be9ae6146a50347MD53THUMBNAILGarciaGonzalezJulianEduardo2023.pdf.jpgGarciaGonzalezJulianEduardo2023.pdf.jpgIM Thumbnailimage/jpeg5123https://repository.udistrital.edu.co/bitstreams/86c55c79-bde5-4d5c-979a-dbc04d68cadb/download2222b40b8ed9f4bd4851c6fb5c259a1eMD55Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg9508https://repository.udistrital.edu.co/bitstreams/7d5ed836-7bc2-453d-b298-ebd6084d3499/download3fc5a7a009f8cecdacd3fff17d27f2bdMD5611349/39595oai:repository.udistrital.edu.co:11349/395952025-01-05 01:10:01.532http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |