Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG
Este trabajo detalla la implementación de un modelo de clasificación en Machine Learning con el fin de analizar y evaluar garantías en el ámbito del Fondo Nacional de Garantías. Su objetivo principal es mejorar la eficiencia y precisión en la detección de inconsistencias en reclamaciones de garantía...
- Autores:
-
Duque Carreño, Johan Camilo
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2024
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/41303
- Acceso en línea:
- http://hdl.handle.net/11349/41303
- Palabra clave:
- Machine Learning
Análisis de datos
Python
FNG
Matemáticas -- Tesis y disertaciones académicas
Modelos de clasificación en Machine Learning
Detección de inconsistencias en garantías
Aplicaciones de Machine Learning en finanzas
Optimización de procesos en entidades financieras
Análisis de datos con Python
Machine Learning
Analysis of data
Python
FNG
- Rights
- License
- Abierto (Texto Completo)
id |
UDISTRITA2_83f5623bf7c8a75409aa726bf9297423 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/41303 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG |
dc.title.titleenglish.spa.fl_str_mv |
Classification Model in Machine Learning for products of the Fondo Nacional de Garantías S.A. - FNG |
title |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG |
spellingShingle |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG Machine Learning Análisis de datos Python FNG Matemáticas -- Tesis y disertaciones académicas Modelos de clasificación en Machine Learning Detección de inconsistencias en garantías Aplicaciones de Machine Learning en finanzas Optimización de procesos en entidades financieras Análisis de datos con Python Machine Learning Analysis of data Python FNG |
title_short |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG |
title_full |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG |
title_fullStr |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG |
title_full_unstemmed |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG |
title_sort |
Modelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNG |
dc.creator.fl_str_mv |
Duque Carreño, Johan Camilo |
dc.contributor.advisor.none.fl_str_mv |
Villarraga Poveda, Luis Fernando |
dc.contributor.author.none.fl_str_mv |
Duque Carreño, Johan Camilo |
dc.subject.spa.fl_str_mv |
Machine Learning Análisis de datos Python FNG |
topic |
Machine Learning Análisis de datos Python FNG Matemáticas -- Tesis y disertaciones académicas Modelos de clasificación en Machine Learning Detección de inconsistencias en garantías Aplicaciones de Machine Learning en finanzas Optimización de procesos en entidades financieras Análisis de datos con Python Machine Learning Analysis of data Python FNG |
dc.subject.lemb.none.fl_str_mv |
Matemáticas -- Tesis y disertaciones académicas Modelos de clasificación en Machine Learning Detección de inconsistencias en garantías Aplicaciones de Machine Learning en finanzas Optimización de procesos en entidades financieras Análisis de datos con Python |
dc.subject.keyword.spa.fl_str_mv |
Machine Learning Analysis of data Python FNG |
description |
Este trabajo detalla la implementación de un modelo de clasificación en Machine Learning con el fin de analizar y evaluar garantías en el ámbito del Fondo Nacional de Garantías. Su objetivo principal es mejorar la eficiencia y precisión en la detección de inconsistencias en reclamaciones de garantías por parte de intermediarios financieros, optimizando así el proceso. La narrativa se fundamenta en la experiencia del autor durante una pasantía en el Fondo Nacional de Garantías, específicamente en áreas como la Vicepresidencia de Operaciones y la Subdirección de Garantías, desempeñando el rol de analista técnico. El enfoque central del trabajo es identificar los intermediarios financieros que suelen presentar más inconsistencias y definir los productos y tipos de procesos susceptibles de notificación. Se emplea una base de datos que incluye todas las garantías con alguna inconsistencia en el momento de la reclamación para ilustrar la implementación del modelo de clasificación en Machine Learning. El código presentado utiliza Python y bibliotecas como pandas, scikit-learn y openpyxl para cargar, procesar y construir el modelo de clasificación. Se aplican conocimientos matemáticos y estadísticos, como álgebra lineal, probabilidades y lógica booleana. Además, se implementa machine learning mediante un modelo RandomForestClassifier, basado en árboles de decisión y teoría de grafos, con optimización en el entrenamiento del modelo. El marco teórico se centra en la selección y preparación de datos, la exploración detallada y elección adecuada de clases, hasta la implementación y evaluación del modelo. Se analiza la idoneidad de algoritmos de clasificación para optimizar la predicción de inconsistencias y comportamientos de las características de las garantías. Este trabajo contribuye al campo de aplicación de Machine Learning en entidades financieras, ofreciendo un caso de estudio específico y práctico para mejorar procesos en el contexto del Fondo Nacional de Garantías. Se propone examinar la implementación de modelos de clasificación en un contexto empresarial específico, evaluando su impacto en la toma de decisiones y la mejora de la eficiencia operativa. |
publishDate |
2024 |
dc.date.accessioned.none.fl_str_mv |
2024-10-07T21:19:44Z |
dc.date.available.none.fl_str_mv |
2024-10-07T21:19:44Z |
dc.date.created.none.fl_str_mv |
2024-04-16 |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.fl_str_mv |
Pasantí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/41303 |
url |
http://hdl.handle.net/11349/41303 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
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/a1a5cdee-6bed-41fe-9276-4c06607e5a81/download https://repository.udistrital.edu.co/bitstreams/aca1a702-c170-43ed-9512-e99d470aec5b/download https://repository.udistrital.edu.co/bitstreams/cc343d33-4e81-408c-abb7-b28256902121/download https://repository.udistrital.edu.co/bitstreams/1c30f01c-1101-4ee8-af85-dfe5350a07c8/download https://repository.udistrital.edu.co/bitstreams/b0a35b18-f9ec-4ce4-8262-58c1b0467e22/download https://repository.udistrital.edu.co/bitstreams/597d859a-d9a0-40f0-a654-fff63afcb757/download https://repository.udistrital.edu.co/bitstreams/89e586cd-c00a-478d-be13-b9d4222e427e/download |
bitstream.checksum.fl_str_mv |
997daf6c648c962d566d7b082dac908d cf1547cca7853af60a5ebc81e5da8614 5cbf7670c69524f271fcc8da20438140 b81aa55da485608598c19e915193560e 8fed868cf537c71d7d37c8e3d0b9b58a e6c64b8d0fcf0dd0036e45fa01d649d6 ecaf8f71859a31fc07986bf19a664a69 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Universidad Distrital |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1837007099029094400 |
spelling |
Villarraga Poveda, Luis FernandoDuque Carreño, Johan Camilo2024-10-07T21:19:44Z2024-10-07T21:19:44Z2024-04-16http://hdl.handle.net/11349/41303Este trabajo detalla la implementación de un modelo de clasificación en Machine Learning con el fin de analizar y evaluar garantías en el ámbito del Fondo Nacional de Garantías. Su objetivo principal es mejorar la eficiencia y precisión en la detección de inconsistencias en reclamaciones de garantías por parte de intermediarios financieros, optimizando así el proceso. La narrativa se fundamenta en la experiencia del autor durante una pasantía en el Fondo Nacional de Garantías, específicamente en áreas como la Vicepresidencia de Operaciones y la Subdirección de Garantías, desempeñando el rol de analista técnico. El enfoque central del trabajo es identificar los intermediarios financieros que suelen presentar más inconsistencias y definir los productos y tipos de procesos susceptibles de notificación. Se emplea una base de datos que incluye todas las garantías con alguna inconsistencia en el momento de la reclamación para ilustrar la implementación del modelo de clasificación en Machine Learning. El código presentado utiliza Python y bibliotecas como pandas, scikit-learn y openpyxl para cargar, procesar y construir el modelo de clasificación. Se aplican conocimientos matemáticos y estadísticos, como álgebra lineal, probabilidades y lógica booleana. Además, se implementa machine learning mediante un modelo RandomForestClassifier, basado en árboles de decisión y teoría de grafos, con optimización en el entrenamiento del modelo. El marco teórico se centra en la selección y preparación de datos, la exploración detallada y elección adecuada de clases, hasta la implementación y evaluación del modelo. Se analiza la idoneidad de algoritmos de clasificación para optimizar la predicción de inconsistencias y comportamientos de las características de las garantías. Este trabajo contribuye al campo de aplicación de Machine Learning en entidades financieras, ofreciendo un caso de estudio específico y práctico para mejorar procesos en el contexto del Fondo Nacional de Garantías. Se propone examinar la implementación de modelos de clasificación en un contexto empresarial específico, evaluando su impacto en la toma de decisiones y la mejora de la eficiencia operativa.This work details the implementation of a classification model in Machine Learning in order to analyze and evaluate guarantees in the scope of the National Guarantee Fund. Its main objective is to improve efficiency and precision in the detection of inconsistencies in guarantee claims by financial intermediaries, thus optimizing the process. The narrative is based on the author's experience during an internship at the National Guarantee Fund, specifically in areas such as the Vice Presidency of Operations and the Guarantees Subdirectorate, playing the role of technical analyst. The central focus of the work is to identify the financial intermediaries that tend to present the most inconsistencies and define the products and types of processes susceptible to notification. A database that includes all guarantees with some inconsistency at the time of the claim is used to illustrate the implementation of the classification model in Machine Learning. The code presented uses Python and libraries such as pandas, scikit-learn and openpyxl to load, process and build the model. classification. Mathematical and statistical knowledge is applied, such as linear algebra, probability and Boolean logic. In addition, machine learning is implemented using a RandomForestClassifier model, based on decision trees and graph theory, with optimization in model training. The theoretical framework focuses on the selection and preparation of data, the detailed exploration and appropriate choice of classes, until the implementation and evaluation of the model. The suitability of classification algorithms to optimize the prediction of inconsistencies and behaviors of the characteristics of the guarantees. This work contributes to the field of application of Machine Learning in financial entities, offering a specific and practical case study to improve processes in the context of the National Guarantee Fund. It is proposed to examine the implementation of classification models in a specific business context, evaluating their impact on decision making and improving operational efficiency.pdfspaMachine LearningAnálisis de datosPythonFNGMatemáticas -- Tesis y disertaciones académicasModelos de clasificación en Machine LearningDetección de inconsistencias en garantíasAplicaciones de Machine Learning en finanzasOptimización de procesos en entidades financierasAnálisis de datos con PythonMachine LearningAnalysis of dataPythonFNGModelo de clasificación en Machine Learning para productos del Fondo Nacional de Garantías S.A. - FNGClassification Model in Machine Learning for products of the Fondo Nacional de Garantías S.A. - FNGbachelorThesisPasantíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/a1a5cdee-6bed-41fe-9276-4c06607e5a81/download997daf6c648c962d566d7b082dac908dMD57ORIGINALDuqueCarreñoJohanCamilo2024.pdfDuqueCarreñoJohanCamilo2024.pdfTrabajo de Gradoapplication/pdf681911https://repository.udistrital.edu.co/bitstreams/aca1a702-c170-43ed-9512-e99d470aec5b/downloadcf1547cca7853af60a5ebc81e5da8614MD54DuqueCarreñoJohanCamilo2024.AnexoDuqueCarreñoJohanCamilo2024.AnexoAnexosapplication/pdf110235https://repository.udistrital.edu.co/bitstreams/cc343d33-4e81-408c-abb7-b28256902121/download5cbf7670c69524f271fcc8da20438140MD55Licencia y autorización de los autores para publicarLicencia y autorización de los autores para publicarLicencia de uso y publicaciónapplication/pdf770786https://repository.udistrital.edu.co/bitstreams/1c30f01c-1101-4ee8-af85-dfe5350a07c8/downloadb81aa55da485608598c19e915193560eMD56THUMBNAILDuqueCarreñoJohanCamilo2024.pdf.jpgDuqueCarreñoJohanCamilo2024.pdf.jpgIM Thumbnailimage/jpeg7564https://repository.udistrital.edu.co/bitstreams/b0a35b18-f9ec-4ce4-8262-58c1b0467e22/download8fed868cf537c71d7d37c8e3d0b9b58aMD58DuqueCarreñoJohanCamilo2024.Anexo.jpgDuqueCarreñoJohanCamilo2024.Anexo.jpgIM Thumbnailimage/jpeg9330https://repository.udistrital.edu.co/bitstreams/597d859a-d9a0-40f0-a654-fff63afcb757/downloade6c64b8d0fcf0dd0036e45fa01d649d6MD59Licencia y autorización de los autores para publicar.jpgLicencia y autorización de los autores para publicar.jpgIM Thumbnailimage/jpeg9583https://repository.udistrital.edu.co/bitstreams/89e586cd-c00a-478d-be13-b9d4222e427e/downloadecaf8f71859a31fc07986bf19a664a69MD51011349/41303oai:repository.udistrital.edu.co:11349/413032025-03-19 01:14:36.392open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |