Redes neuronales en el diagnóstico del infarto agudo de miocardio

Introducción: El infarto agudo de miocardio representa la primera causa de muerte no trasmisible en el mundo. Una de las herramientas que sirven como soporte a las decisiones en su diagnóstico son las redes neuronales, de las cuales se ha demostrado un buen nivel de precisión. Métodos: Se realizó el...

Full description

Autores:
Sprockel, John Jaime
Diaztagle, Juan José
Alzate, Wilson
González, Enrique
Tipo de recurso:
Article of journal
Fecha de publicación:
2014
Institución:
Fundación Universitaria de Ciencias de la Salud - FUCS
Repositorio:
Repositorio Digital Institucional ReDi
Idioma:
eng
spa
OAI Identifier:
oai:repositorio.fucsalud.edu.co:001/1510
Acceso en línea:
https://repositorio.fucsalud.edu.co/handle/001/1510
Palabra clave:
Dolor torácico
Enfermedad coronaria
Infarto agudo de miocardio
Electrocardiograma
Infarto del miocardio
Electrocardiografía
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
id FUCS2_56215c6ebfa393ca5af2941eae861bae
oai_identifier_str oai:repositorio.fucsalud.edu.co:001/1510
network_acronym_str FUCS2
network_name_str Repositorio Digital Institucional ReDi
repository_id_str
dc.title.spa.fl_str_mv Redes neuronales en el diagnóstico del infarto agudo de miocardio
dc.title.eng.fl_str_mv Neural networks for the diagnosis of acute myocardial infarction
title Redes neuronales en el diagnóstico del infarto agudo de miocardio
spellingShingle Redes neuronales en el diagnóstico del infarto agudo de miocardio
Dolor torácico
Enfermedad coronaria
Infarto agudo de miocardio
Electrocardiograma
Infarto del miocardio
Electrocardiografía
title_short Redes neuronales en el diagnóstico del infarto agudo de miocardio
title_full Redes neuronales en el diagnóstico del infarto agudo de miocardio
title_fullStr Redes neuronales en el diagnóstico del infarto agudo de miocardio
title_full_unstemmed Redes neuronales en el diagnóstico del infarto agudo de miocardio
title_sort Redes neuronales en el diagnóstico del infarto agudo de miocardio
dc.creator.fl_str_mv Sprockel, John Jaime
Diaztagle, Juan José
Alzate, Wilson
González, Enrique
dc.contributor.author.none.fl_str_mv Sprockel, John Jaime
Diaztagle, Juan José
Alzate, Wilson
González, Enrique
dc.subject.proposal.spa.fl_str_mv Dolor torácico
Enfermedad coronaria
Infarto agudo de miocardio
Electrocardiograma
topic Dolor torácico
Enfermedad coronaria
Infarto agudo de miocardio
Electrocardiograma
Infarto del miocardio
Electrocardiografía
dc.subject.decs.none.fl_str_mv Infarto del miocardio
Electrocardiografía
description Introducción: El infarto agudo de miocardio representa la primera causa de muerte no trasmisible en el mundo. Una de las herramientas que sirven como soporte a las decisiones en su diagnóstico son las redes neuronales, de las cuales se ha demostrado un buen nivel de precisión. Métodos: Se realizó el entrenamiento y la prueba de varias redes neuronales, con diferentes arquitecturas para el diagnóstico del infarto, a partir de los datos de la escala de clasificación de la probabilidad de angina de Braunwald en un grupo de pacientes que ingresaron por dolor torácico al servicio de urgencias del Hospital San José de Bogotá. Resultados: Se generaron 40 redes que fueron probadas en 5 experimentos de los cuales se obtuvo mayor precisión diagnóstica con el modelo de 5 entradas electrocardiográficas más troponina, aunque el mejor valor predictivo negativo se alcanzó en el modelo con 10 variables clínicas, electrocardiográficas y troponina. Varias de las redes disenadas ˜ tuvieron una sensibilidad y una especificidad del 100%. Se requiere un estudio de validación para comprobar estos hallazgos. Conclusiones: Con los resultados encontrados para las redes neuronales en la literatura y en este estudio se puede considerar el uso de esta estrategia de inteligencia computacional en la práctica.
publishDate 2014
dc.date.issued.none.fl_str_mv 2014
dc.date.accessioned.none.fl_str_mv 2021-05-05T22:11:29Z
dc.date.available.none.fl_str_mv 2021-05-05T22:11:29Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_6501
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.doi.none.fl_str_mv DOI: 10.1016/j.rccar.2013.10.001
dc.identifier.uri.none.fl_str_mv https://repositorio.fucsalud.edu.co/handle/001/1510
identifier_str_mv DOI: 10.1016/j.rccar.2013.10.001
url https://repositorio.fucsalud.edu.co/handle/001/1510
dc.language.iso.spa.fl_str_mv eng
spa
language eng
spa
dc.relation.ispartof.none.fl_str_mv Revista Colombiana de Cardiología ISSN: 2357-3260 Vol. 21 Núm.4 (2014)
dc.relation.citationendpage.spa.fl_str_mv 223
dc.relation.citationissue.spa.fl_str_mv 4
dc.relation.citationstartpage.spa.fl_str_mv 215
dc.relation.citationvolume.spa.fl_str_mv 21
dc.relation.ispartofjournal.spa.fl_str_mv Revista Colombiana de Cardiología
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by/4.0/
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
rights_invalid_str_mv Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
https://creativecommons.org/licenses/by/4.0/
http://purl.org/coar/access_right/c_abf2
dc.format.extent.spa.fl_str_mv 9 p.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Sociedad Colombiana de Cardiología y Cirugía Cardiovascular
dc.publisher.place.spa.fl_str_mv Colombia
dc.source.spa.fl_str_mv file:///C:/Users/AJPRBN11/Downloads/S0120563314000035.pdf
institution Fundación Universitaria de Ciencias de la Salud - FUCS
bitstream.url.fl_str_mv https://repositorio.fucsalud.edu.co/bitstreams/4ef8ecb7-e8c7-4325-86eb-b47b454c1d2b/download
https://repositorio.fucsalud.edu.co/bitstreams/1fbaa884-c41f-448b-afef-de67494d76b6/download
https://repositorio.fucsalud.edu.co/bitstreams/98b59b89-9cd7-4397-ab26-d323cbf6017a/download
https://repositorio.fucsalud.edu.co/bitstreams/2a4eabc1-4bce-4100-966e-2d8e20690393/download
bitstream.checksum.fl_str_mv 4899aa5f929d71af41672586cc1fb45d
f6cfdd0a0be8a7a8b575d6cd88a94402
a784f71f70bbb3581e4996fdc4e2b7a7
74a7d442a98fc8c24786f2d08e9b3883
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital de la Fundación Universitaria de Ciencias de la Salud
repository.mail.fl_str_mv redi@fucsalud.edu.co
_version_ 1814355541113176064
spelling Sprockel, John Jaime3e4b8b0a703c7daa4274c86ad17d1815Diaztagle, Juan José0d9fbed2aac05d2fee1293199a09eaa6Alzate, Wilsoned548f33bd2373142371e45921b36519González, Enriquef3f0e749c61188b09ad49293b09561462021-05-05T22:11:29Z20142021-05-05T22:11:29ZSociedad Colombiana de Cardiología y Cirugía CardiovascularColombiaIntroducción: El infarto agudo de miocardio representa la primera causa de muerte no trasmisible en el mundo. Una de las herramientas que sirven como soporte a las decisiones en su diagnóstico son las redes neuronales, de las cuales se ha demostrado un buen nivel de precisión. Métodos: Se realizó el entrenamiento y la prueba de varias redes neuronales, con diferentes arquitecturas para el diagnóstico del infarto, a partir de los datos de la escala de clasificación de la probabilidad de angina de Braunwald en un grupo de pacientes que ingresaron por dolor torácico al servicio de urgencias del Hospital San José de Bogotá. Resultados: Se generaron 40 redes que fueron probadas en 5 experimentos de los cuales se obtuvo mayor precisión diagnóstica con el modelo de 5 entradas electrocardiográficas más troponina, aunque el mejor valor predictivo negativo se alcanzó en el modelo con 10 variables clínicas, electrocardiográficas y troponina. Varias de las redes disenadas ˜ tuvieron una sensibilidad y una especificidad del 100%. Se requiere un estudio de validación para comprobar estos hallazgos. Conclusiones: Con los resultados encontrados para las redes neuronales en la literatura y en este estudio se puede considerar el uso de esta estrategia de inteligencia computacional en la práctica.Introduction: Myocardial infarction represents the leading cause of death by a noncommunicable disease worldwide; one of the tools that serve as decision support for establishing a diagnosis are neural networks. They have been shown to have a good level of accuracy. Methods: Training and testing of several neural networks was performed with different architectures for the diagnosis of the myocardial infarction in a group of patients admitted with chest pain emergency room in the Hospital de San José, Bogotá. This was carried out according to data from the incidence scale of Braunwald’s classification of unstable angina. Results: Forty networks were generated and tested in five experiments obtaining an accurate diagnostic with the electrocardiographic pattern of five entries and troponin. The negative predictive value was 100% in the model with ten clinical variables, electrocardiogram and troponin. Some of the designed networks had a sensitivity and specificity of 100%. A validation study to verify these findings is required. Conclusions: With the results found for neural networks in the literature and in the present study, we should consider the practical use of this computational intelligence strategy in daily practice.file:///C:/Users/AJPRBN11/Downloads/S0120563314000035.pdf9 p.application/pdfRedes neuronales en el diagnóstico del infarto agudo de miocardioNeural networks for the diagnosis of acute myocardial infarctionArtículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionTexthttp://purl.org/coar/version/c_970fb48d4fbd8a85DOI: 10.1016/j.rccar.2013.10.001https://repositorio.fucsalud.edu.co/handle/001/1510engspaRevista Colombiana de Cardiología ISSN: 2357-3260 Vol. 21 Núm.4 (2014)223421521Revista Colombiana de Cardiologíainfo:eu-repo/semantics/openAccessAtribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)https://creativecommons.org/licenses/by/4.0/http://purl.org/coar/access_right/c_abf2Dolor torácicoEnfermedad coronariaInfarto agudo de miocardioElectrocardiogramaInfarto del miocardioElectrocardiografíaPublicationORIGINALRedes neuronales en el diagnóstico del infarto agudo de miocardio.pdfRedes neuronales en el diagnóstico del infarto agudo de miocardio.pdfArtículoapplication/pdf89697https://repositorio.fucsalud.edu.co/bitstreams/4ef8ecb7-e8c7-4325-86eb-b47b454c1d2b/download4899aa5f929d71af41672586cc1fb45dMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-815424https://repositorio.fucsalud.edu.co/bitstreams/1fbaa884-c41f-448b-afef-de67494d76b6/downloadf6cfdd0a0be8a7a8b575d6cd88a94402MD52TEXTRedes neuronales en el diagnóstico del infarto agudo de miocardio.pdf.txtRedes neuronales en el diagnóstico del infarto agudo de miocardio.pdf.txtExtracted texttext/plain3212https://repositorio.fucsalud.edu.co/bitstreams/98b59b89-9cd7-4397-ab26-d323cbf6017a/downloada784f71f70bbb3581e4996fdc4e2b7a7MD53THUMBNAILRedes neuronales en el diagnóstico del infarto agudo de miocardio.pdf.jpgRedes neuronales en el diagnóstico del infarto agudo de miocardio.pdf.jpgGenerated Thumbnailimage/jpeg14221https://repositorio.fucsalud.edu.co/bitstreams/2a4eabc1-4bce-4100-966e-2d8e20690393/download74a7d442a98fc8c24786f2d08e9b3883MD54001/1510oai:repositorio.fucsalud.edu.co:001/15102024-02-02 13:07:01.552https://creativecommons.org/licenses/by/4.0/open.accesshttps://repositorio.fucsalud.edu.coRepositorio Digital de la Fundación Universitaria de Ciencias de la Saludredi@fucsalud.edu.coQ09ORElDSU9ORVMgTEVHQUxFUyBERSBVU08gREVMIFBPUlRBTCBXRUIKd3d3LmZ1Y3NhbHVkLmVkdS5jbwogCkVsIFBvcnRhbCBXZWIgd3d3LmZ1Y3NhbHVkLmVkdS5jbyBoYSBzaWRvIGRpc2XDsWFkbyBwYXJhIGZhY2lsaXRhciBhbCB2aXNpdGFudGUsIGludGVyZXNhZG8sIGVzdHVkaWFudGUsIGRvY2VudGUsIGFkbWluaXN0cmF0aXZvIHkvbyB1c3VhcmlvIGVuIGdlbmVyYWwsIGVsIGFjY2VzbyBhIGxhIGluZm9ybWFjacOzbiBkZSBsYSBJbnN0aXR1Y2nDs24geSBhIHN1cyBzZXJ2aWNpb3MgZW4gbMOtbmVhLCBwb3IgbG8gY3VhbCBlc3RlIHNpdGlvIHdlYiB0aWVuZSBjb21vIGZ1bmNpw7NuIHByaW5jaXBhbCBwcm92ZWVyIGluZm9ybWFjacOzbiB5IHNlcnZpY2lvcywgYXPDrSBjb21vIGRpdnVsZ2FyIHkgcHJvbW92ZXIgbGFzIGFjdGl2aWRhZGVzIGFjYWTDqW1pY2FzLCBjaWVudMOtZmljYXMsIGN1bHR1cmFsZXMgeSBjb21lcmNpYWxlcyBkZSBsYSBGVUNTLCBwb3IgdGFudG8gbGEgYWNlcHRhY2nDs24gZGUgZXN0YXMgY29uZGljaW9uZXMgZGUgdXNvLCBzb24gb2JsaWdhdG9yaWFzIGUgaW5kaXNwZW5zYWJsZXMgcGFyYSBxdWUgZWwgdXN1YXJpbyB1dGlsaWNlIGVsIHNpdGlvLgogCkxhcyBwcmVzZW50ZXMgY29uZGljaW9uZXMgZGUgdXNvLCByZWd1bGFuIGxhIHV0aWxpemFjacOzbiBkZSBsYSBww6FnaW5hIHdlYiB3d3cuZnVjc2FsdWQuZWR1LmNvLgogClNlw7FvciB1c3VhcmlvLCBwb3IgZmF2b3IgbGVhIGRldGFsbGFkYSB5IGN1aWRhZG9zYW1lbnRlIGVzdGUgZG9jdW1lbnRvIGp1bnRvIGNvbiBsYXMgcG9sw610aWNhcyBkZSBwcml2YWNpZGFkIHkgcHJvdGVjY2nDs24gZGUgZGF0b3MsIGFudGVzIGRlIGluaWNpYXIgc3UgbmF2ZWdhY2nDs24uClNpIFVzdGVkIG5vIHNlIGVuY3VlbnRyYSBjb25mb3JtZSBjb24gbG9zIHTDqXJtaW5vcyBkZSB1c28gZGUgbGEgcMOhZ2luYSB3ZWIgbyBjdWFscXVpZXIgb3RyYSBkaXNwb3NpY2nDs24sIHBvciBmYXZvciBhYnN0ZW5nYXNlIGRlIGluZ3Jlc2FyIHkvbyB1dGlsaXphciBlc3RlIHNpdGlvIGRlIGN1YWxxdWllciBmb3JtYS4KIApBbCBhY2NlZGVyIGEgZXN0ZSBwb3J0YWwsIHN1cyBzaXRpb3MgeSB0b2RhcyBsYXMgcMOhZ2luYXMgcXVlIGxvIGNvbmZvcm1hbiwgc2UgZW50aWVuZGUgcXVlIFVzdGVkIGhhIGxlw61kbywgZW50ZW5kaWRvIHkgYWNlcHRhZG8gdG9kb3MgbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGV4cHVlc3RvcyBlbiBlc3RlIGRvY3VtZW50bywgZGUgbGEgbWlzbWEgbWFuZXJhIGNvbW8gc2kgaHViaWVyYSBmaXJtYWRvIHVuIGFjdWVyZG8gZXNjcml0bywgZW50ZW5kaWVuZG8gZW4gdG9kbyBjYXNvIHF1ZSBzdSBwb3NpY2nDs24gZW4gZWwgYWN1ZXJkbyBzZXLDoSBpZGVudGlmaWNhZGEgZW4gdG9kbyBlc3RlIGRvY3VtZW50byBjb21vIOKAnGVsIFVzdWFyaW/igJ0uCiAKTGEgRlVDUyBwb2Ryw6EgbW9kaWZpY2FyIGxvcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBkZSBlc3RlIGRvY3VtZW50byBlbiBjdWFscXVpZXIgbW9tZW50bywgeSBlc3RhcyBtb2RpZmljYWNpb25lcyB0ZW5kcsOhbiB2YWxpZGV6IGRlc2RlIGVsIG1vbWVudG8gZW4gcXVlIHNlYW4gcHVibGljYWRhcyBlbiBlbCBzaXRpbyB3ZWIuCiAKMS4gQXNwZWN0b3MgZ2VuZXJhbGVzOgogCmEuIExhIGluZm9ybWFjacOzbiBjb250ZW5pZGEgZW4gZXN0ZSBwb3J0YWwgd2ViIChlbiBhZGVsYW50ZSBjb250ZW5pZG9zKSBkZWJlcsOhIHNlciB1dGlsaXphZGEgw7puaWNhbWVudGUgY29uIGZpbmVzIHBlcnNvbmFsZXMsIHBvciBsbyB0YW50byBlbCBVc3VhcmlvIG5vIHBvZHLDoSBkaXN0cmlidWlyLCBtb2RpZmljYXIsIHRyYW5zbWl0aXIsIGNvcGlhciwgYWxtYWNlbmFyLCBjb2RpZmljYXIsIGVudmlhciBvIHVzYXIgZXN0b3MgY29udGVuaWRvcyBwYXJhIHByb3DDs3NpdG9zIGNvbWVyY2lhbGVzIHUgb3Ryb3MgcXVlIGltcGxpcXVlbiBleHBsb3RhY2nDs24gZWNvbsOzbWljYSwgc2Fsdm8gcHJldmlhIGF1dG9yaXphY2nDs24gZXNjcml0YWxhIEZVQ1MuCiAKYi4gU2UgZW50ZW5kZXLDoSBxdWUgZWwgVXN1YXJpbyBoYSBsZcOtZG8sIGVudGVuZGlkbyB5IGFjZXB0YWRvIHRvZG9zIGxvcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBleHB1ZXN0b3MgZW4gZXN0ZSBkb2N1bWVudG8gZW4gbG9zIHNpZ3VpZW50ZXMgY2Fzb3M6CiAKQ29uc3VsdGEgZGUgY3VhbHF1aWVyIGNvbnRlbmlkbyBpbmNvcnBvcmFkbyBlbiBlbCBzaXRpbyB3ZWIuCkVudmnDsyBkZSBkYXRvcyBlbiBsb3MgZm9ybXVsYXJpb3MgZGUgcmVnaXN0cm8gZGVsIHNpdGlvIHdlYi4KTGEgdXRpbGl6YWNpw7NuIGRlIGN1YWxxdWllcmEgZGUgbG9zIHNlcnZpY2lvcyBkaXNwb25pYmxlcyBlbiBlbCBzaXRpbyB3ZWIuCkxhIGRlc2NhcmdhIGRlIGNvbnRlbmlkb3MgaW5jb3Jwb3JhZG9zIGVuIGVsIHNpdGlvIHdlYi4KTGEgbmF2ZWdhY2nDs24gZW4gZWwgc2l0aW8gd2ViIGRlIGN1YWxxdWllciBtYW5lcmEgY29ub2NpZGEgbyBwb3IgY29ub2Nlci4KIApjLiBFbCBVc3VhcmlvIHBvZHLDoSBuYXZlZ2FyIGxpYnJlIHkgZ3JhdHVpdGFtZW50ZSBhIHRyYXbDqXMgZGUgZXN0ZSBzaXRpby4KIApkLiBFbCBVc3VhcmlvIHNvbG8gcG9kcsOhIGRlc2NhcmdhciBjb250ZW5pZG9zIGRlbCBtaXNtbywgY3VhbmRvIGVsIHNpdGlvIGV4cHJlc2FtZW50ZSBsbyBhdXRvcmljZS4KIAplLiBQb2Ryw6FuIGV4aXN0aXIgYWxndW5vcyBjYXNvcyBlbiBsb3MgY3VhbGVzIHNlIGNvbmRpY2lvbmUgZWwgc2VydmljaW8gZW4gbMOtbmVhLCBhbCBwcmV2aW8gY3VtcGxpbWllbnRvIGRlbCBkaWxpZ2VuY2lhbWllbnRvIGRlIGZvcm11bGFyaW9zIHkvbyBwYWdvIHBvciBsYSBwcmVzdGFjacOzbiBkZWwgc2VydmljaW8uCiAKZi4gRWwgdXN1YXJpbyBhY2VwdGEgY29ub2NlciB5IGN1bXBsaXIgdG9kYXMgbGFzIGxleWVzIHkgbm9ybWFzIG5hY2lvbmFsZXMsIGNvbXVuaXRhcmlhcyBlIGludGVybmFjaW9uYWxlcyByZWxhY2lvbmFkYXMgY29uIHN1cyBvYmxpZ2FjaW9uZXMgeSBkZWJlcmVzIGJham8gZWwgcHJlc2VudGUgZG9jdW1lbnRvIGRlIGNvbmRpY2lvbmVzIGxlZ2FsZXMgZGUgdXNvLgogCjIuIEluZm9ybWFjacOzbiBkZSByZWdpc3RybzoKIApMb3Mgc2lndWllbnRlcyBzb24gbG9zIGxpbmVhbWllbnRvcyBkZSBudWVzdHJhcyBjb25kaWNpb25lcyBkZSB1c28gZW4gY3VhbnRvIGFsIHJlY2F1ZG8sIGFjY2VzbyB5IHVzbyBkZSBsYSBpbmZvcm1hY2nDs24gZGUgcmVnaXN0cm8gcXVlIHN1bWluaXN0cmEgZWwgdXN1YXJpbyBhIHRyYXbDqXMgZGVsIHNpdGlvIHdlYi4KIApMYSBGVUNTIHByb3RlZ2Vyw6EgbG9zIGRhdG9zIG8gY3VhbHF1aWVyIGluZm9ybWFjacOzbiBwZXJzb25hbCBxdWUgZWwgdXN1YXJpbyBwcm9wb3JjaW9uZSBhbCBtb21lbnRvIGVuIHF1ZSBoYWNlIHVzbyBkZSBlc3RlIHNpdGlvd2VieSwgZXN0b3Mgc2UgdXRpbGl6YXLDoW4gZXhjbHVzaXZhbWVudGUgcGFyYSBjdW1wbGlyIGNvbiBsb3MgcHJvcMOzc2l0b3MgZGUgc3Ugc2l0aW8gd2ViIHkgc3UgdXNvIGVzIGVsIGVzdGFibGVjaWRvIGVuIGVsIHByZXNlbnRlIGRvY3VtZW50by4KRWwgdXN1YXJpbyBxdWUgcHJvcG9yY2lvbmUgc3VzIGRhdG9zIGVuIGVzdGUgc2l0aW8gd2ViIG8gYSB0cmF2w6lzIGRlIMOpbCwgZXhwcmVzYW1lbnRlIGF1dG9yaXphIGEgbGEgRlVDUyBwYXJhIHJlYWxpemFyIHN1IHRyYXRhbWllbnRvIHNlYSBvIG5vIGF1dG9tYXRpemFkbyB5IHBhcmEgdXNhcmxvcyBjb25mb3JtZSBhIGxvIGV4cHJlc2FkbyBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGRlIGFjdWVyZG8gY29uIGxhIHBvbMOtdGljYSBpbnRlcm5hIGRlIHByb3RlY2Npw7NuIGRlIGRhdG9zLgpFbCBVc3VhcmlvIGVudGllbmRlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIHBvZHLDoSBlZmVjdHVhciBlbCB0cmF0YW1pZW50byBkZSBsb3MgZGF0b3MgZGVsIHVzdWFyaW8sIGRlIG1hbmVyYSBkaXJlY3RhIG8gYSB0cmF2w6lzIGRlIHRlcmNlcm9zIGV4cHJlc2FtZW50ZSBkZXNpZ25hZG9zIHBvciBlbGxhLCBxdWllbmVzIGFjdHVhcsOhbiBjb21vIGVuY2FyZ2Fkb3MgZGVsIHRyYXRhbWllbnRvIGRlIHN1IGluZm9ybWFjacOzbiBwZXJzb25hbCwgY29uIGxhcyBvYmxpZ2FjaW9uZXMgcXVlIGxhIGxleSBjb250ZW1wbGUuCkxhIGluZm9ybWFjacOzbiBkZSByZWdpc3RybyBxdWUgc2UgbGUgc29saWNpdGEgYWwgdXN1YXJpbyBlcyBsYSBtw61uaW1hIHBhcmEgZGFyIGN1bXBsaW1pZW50byBhIGxhIHBvbMOtdGljYSBkZSB0cmF0YW1pZW50byB5IHByb3RlY2Npw7NuIGRlIGRhdG9zIHBlcnNvbmFsZXMgZGUgbGEgRlVDUyB5IGFsYXMgbm9ybWFzIGxlZ2FsZXMgdmlnZW50ZXMgZW4gQ29sb21iaWEuCkVuIGVsIHByb2Nlc28gZGUgcmVnaXN0cm8sIHNlIGxlIGFkdmVydGlyw6EgYWwgdXN1YXJpbyBjb24gdW4gYXN0ZXJpc2NvICgqKSBxdcOpIGluZm9ybWFjacOzbiBkZWJlIHNlciBzdW1pbmlzdHJhZGEgb2JsaWdhdG9yaWFtZW50ZSB5IGN1w6FsIGVzIG9wY2lvbmFsLgpFbCB1c3VhcmlvIGRlIGVzdGUgc2l0aW8gd2ViIGVudGllbmRlIHkgYWNlcHRhIHF1ZSBzdXMgZGF0b3MgcGVyc29uYWxlcyBzZSByZWNvcGlsYW4gY29uIGVsIGZpbiBkZSBwcm9jdXJhcmxlIHVuIHNlcnZpY2lvIGVmaWNpZW50ZSB5IHBlcnNvbmFsaXphZG8sIHkgcXVlIHBvZHLDoW4gc2VyIHVzYWRvcyBjb24gZmluZXMgYWNhZMOpbWljb3MsIGludmVzdGlnYXRpdm9zIHkgY29tZXJjaWFsZXMsIHBvciBsbyBjdWFsIGF1dG9yaXphIGV4cHJlc2FtZW50ZSBxdWUgc2VhbiB1c2Fkb3MgcGFyYSByZW1pdGlyIGluZm9ybWFjacOzbiBkZSBzdXMgcHJvZ3JhbWFzIGFjYWTDqW1pY29zIGZvcm1hbGVzIGUgaW5mb3JtYWxlcywgcGFyYSBkYXIgY3VtcGxpbWllbnRvIGEgc3VzIG9ibGlnYWNpb25lcyBjb250cmFjdHVhbGVzIG8gbGVnYWxlcywgcGFyYSBldmFsdWFyIGxhIGNhbGlkYWQgZGVsIHNlcnZpY2lvLCBhc8OtIGNvbW8gcGFyYSByZW1pdGlyIGluZm9ybWFjacOzbiBkZSBzdXMgcHJveWVjdG9zLCBwbGFuZXMgeSBkZW3DoXMgaW5mb3JtYWNpw7NuIGluc3RpdHVjaW9uYWwgZGUgbGEgRlVDUy4gRW4gdG9kbyBjYXNvLCBlc3RhIGluZm9ybWFjacOzbiBzZXLDoSB1dGlsaXphZGEgZW4gZGVzYXJyb2xsbyBkZSBsYXMgZnVuY2lvbmVzIHByb3BpYXMgZGUgbGEgRlVDUy4KMy4gRGl2dWxnYWNpw7NuIGRlIGxhIGluZm9ybWFjacOzbiBkZSByZWdpc3RybzoKIApMYSBpbmZvcm1hY2nDs24gZGUgcmVnaXN0cm8gZGUgY2FkYSB1c3VhcmlvIGVzIGNvbmZpZGVuY2lhbCwgeSBubyBzZSBjb21wYXJ0aXLDoSBjb24gb3RyYXMgcGVyc29uYXMgbyBlbnRpZGFkZXMsIHNhbHZvIGN1YW5kbyBsYSBGVUNTIGNvbnNpZGVyZSBxdWUgc2UgcHJlc2VudGVuIGxvcyBzaWd1aWVudGVzIGNhc29zOgogCkN1YW5kbyBsYSBhdXRvcml6YWNpw7NuIGRlbCB0aXR1bGFyIG5vIHNlYSBvYmxpZ2F0b3JpYSAoTnVtZXJhbCA4LiDigJxBdXRvcml6YWNpw7NuIGRlbCBUaXR1bGFy4oCdIOKAkyBQb2zDrXRpY2EgZGUgVHJhdGFtaWVudG8geSBQcm90ZWNjacOzbiBkZSBEYXRvcyBQZXJzb25hbGVzIGRlIGxhIEZVQ1MpClBvciBsYSBleGlzdGVuY2lhIGRlIHVuIG1hbmRhdG8gbGVnYWwsIGRlYmVyIGVzdGF0dXRhcmlvIG8ganVkaWNpYWwgcXVlIG9ibGlndWUgYSBzdW1pbmlzdHJhcmxhLgpDdWFscXVpZXIgb3RyYSBleGNlcGNpw7NuIGRlZmluaWRhIGVuIGxhcyBsZXllcyBhcGxpY2FibGVzCkVuIHRvZG8gY2FzbywgZWwgVXN1YXJpbyBlbnRpZW5kZSB5IGFjZXB0YSBxdWUgc3VzIGRhdG9zIHBlcnNvbmFsZXMgZXZlbnR1YWxtZW50ZSBzZSBjb21wYXJ0aXLDoW4gY29uIG90cmFzIGVudGlkYWRlcyB1IG9yZ2FuaXphY2lvbmVzIHByaXZhZGFzIG8gZXN0YXRhbGVzLCBjb24gZWwgZmluIGRlIGN1bXBsaXIgY29uIGxvcyBkZWJlcmVzIHkgb2JsaWdhY2lvbmVzIHF1ZSBsZWdhbG1lbnRlIHRpZW5lIGNvbW8gSW5zdGl0dWNpw7NuIGRlIEVkdWNhY2nDs24gU3VwZXJpb3IuCiAKNC4gT2JsaWdhY2lvbmVzIHkgZGViZXJlcyBkZWwgdXN1YXJpbzoKIApFbCB1c3VhcmlvIGVzdMOhIGRlIGFjdWVyZG8gZW4gcHJvcG9yY2lvbmFyIGEgbGEgRlVDUywgaW5mb3JtYWNpw7NuIHZlcmRhZGVyYSwgcHJlY2lzYSwgYWN0dWFsaXphZGEgeSBjb21wbGV0YSwgc2Vnw7puIHNlIGluZGlxdWUgZW4gZWwgZm9ybXVsYXJpbyBkZSByZWdpc3Ryby4gSWd1YWxtZW50ZSwgZWwgdXN1YXJpbyBlc3TDoSBkZSBhY3VlcmRvIGVuIGNvbGFib3JhciBjb24gbGEgRlVDUywgcGFyYSBtYW50ZW5lciBlc3RhIGluZm9ybWFjacOzbiBhY3R1YWxpemFkYSB5IGNvbXBsZXRhLgogCkVsIHVzdWFyaW8gc2Ugb2JsaWdhIGEgbm8gcmVwcm9kdWNpciwgZHVwbGljYXIsIGNvcGlhciwgdmVuZGVyLCByZXZlbmRlciBvIGV4cGxvdGFyIHBhcmEgZmluZXMgY29tZXJjaWFsZXMsIGN1YWxxdWllciBzZWNjacOzbiBkZWwgc2VydmljaW8sIHVzbyBvIGFjY2VzbyBhbCBtaXNtby4gVGFudG8gZWwgc2VydmljaW8gY29tbyB0ZXJjZXJvcyBwb2Ryw6FuIHByb3BvcmNpb25hciB2w61uY3Vsb3MgYSBvdHJvcyBzaXRpb3MgbyByZWN1cnNvcyBkZSBsYSByZWQgbXVuZGlhbC4gRGViaWRvIGEgcXVlIGxhIEZVQ1Mgbm8gdGllbmUgY29udHJvbCBhbGd1bm8gc29icmUgZGljaG9zIHNpdGlvcyBvIHJlY3Vyc29zLCBlbCB1c3VhcmlvIHJlY29ub2NlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYSBkaXNwb25pYmlsaWRhZCBkZSBsb3Mgc2l0aW9zIG8gcmVjdXJzb3MgZXh0ZXJub3MgbmkgcG9yIGN1YWxxdWllciBjb250ZW5pZG8sIHB1YmxpY2lkYWQsIHByb2R1Y3Rvcywgc2VydmljaW9zIHUgb3RybyB0aXBvIGRlIG1hdGVyaWFsIGNvbnRlbmlkbyDDsyBhIGRpc3Bvc2ljacOzbiBlbiB0YWxlcyBzaXRpb3MgbyByZWN1cnNvcy4KIApFbCB1c3VhcmlvIHJlY29ub2NlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIG5vIHNlcsOhIHJlc3BvbnNhYmxlLCBkaXJlY3RhIG8gaW5kaXJlY3RhbWVudGUsIHBvciBjdWFscXVpZXIgZGHDsW8gbyBwZXJqdWljaW8gY2F1c2FkbyBvIHF1ZSBzZSBwcmVzdW1hIHF1ZSBzZWEgY2F1c2FkbyBwb3IgdGFsZXMgY29udGVuaWRvcywgcHJvZHVjdG9zIG8gc2VydmljaW9zIGRpc3BvbmlibGVzIGVuIGRpY2hvcyBzaXRpb3MgbyByZWN1cnNvcyBleHRlcm5vcywgbyBwb3IgbGEgdXRpbGl6YWNpw7NuIG8gY29uZmlhbnphIGRlcG9zaXRhZGEgcG9yIGVsIHVzdWFyaW8gZW4gdGFsZXMgY29udGVuaWRvcywgcHJvZHVjdG9zIG8gc2VydmljaW9zLgogCkVsIHVzdWFyaW8gc2Ugb2JsaWdhIGEgTk8gdXRpbGl6YXIgZWwgcG9ydGFsIHdlYiBuaSBlc3RlIFNlcnZpY2lvIGNvbiBlbCBmaW4gZGU6CiAKUG9uZXIgYSBkaXNwb3NpY2nDs24gZGUgbG9zIGRlbcOhcywgZW52aWFyIHBvciBlLW1haWwgbywgZGUgY3VhbHF1aWVyIG1vZG8sIHRyYW5zbWl0aXIgY29udGVuaWRvcyBpbGVnYWxlcywgZGHDsWlub3MsIG1vbGVzdG9zLCBhbWVuYXphZG9yZXMsIGFidXNpdm9zLCB0b3J0dW9zb3MsIGRpZmFtYXRvcmlvcywgdnVsZ2FyZXMsIG9ic2Nlbm9zLCBpbnZhc29yZXMgZGUgbGEgaW50aW1pZGFkIGRlIHRlcmNlcm9zLCBvZGlvc29zLCB4ZW7Ds2ZvYm9zLCByYWNpc3RhcywgaWxlZ2FsZXMgbywgZGUgYWxnw7puIG1vZG8sIGluYWNlcHRhYmxlczsKSGFjZXJzZSBwYXNhciBvIGZpbmdpciBzZXIgY3VhbHF1aWVyIG90cmEgcGVyc29uYSBvIGVudGlkYWQsIGluY2x1eWVuZG8sIHNpbiBsaW1pdGFjacOzbiwgdW4gcmVwcmVzZW50YW50ZSBkZSBsYSBGVUNTLCBmdW5kYWRvciwgZ3XDrWEgbyBhbmZpdHJpw7NuIGRlIGZvcnVtcywgbyBkZSBjdWFscXVpZXIgb3RybyBtb2RvIG1lbnRpciBvIGZpbmdpciBzb2JyZSBzdSByZWxhY2nDs24gY29uIGN1YWxxdWllciBvdHJhIHBlcnNvbmEgbyBhZmlsaWFjacOzbiBhIGN1YWxxdWllciBlbnRpZGFkOwpQb25lciBhIGRpc3Bvc2ljacOzbiBkZSBsb3MgZGVtw6FzIHVzdWFyaW9zLCBlbnZpYXIgcG9yIGUtbWFpbCBvLCBkZSBhbGfDum4gbW9kbyB0cmFuc21pdGlyLCBjdWFscXVpZXIgY29udGVuaWRvIHF1ZSwgZGUgYWN1ZXJkbyBjb24gbGFzIGxleWVzIGFwbGljYWJsZXMgbyByZWxhY2lvbmVzIGNvbnRyYWN0dWFsZXMgZXhpc3RlbnRlcywgZWwgdXN1YXJpbyBubyBlc3TDoSBhdXRvcml6YWRvIGEgdHJhbnNtaXRpciAodGFsZXMgY29tbyBpbmZvcm1hY2nDs24gcHJpdmlsZWdpYWRhLCBpbmZvcm1hY2nDs24gcHJvdGVnaWRhIHBvciBkZXJlY2hvcyBkZSBwcm9waWVkYWQgaW5kdXN0cmlhbCBvIGludGVsZWN0dWFsIG8gaW5mb3JtYWNpw7NuIHNvYnJlIGxhIGN1YWwgdGllbmUgdW4gZGViZXIgZGUgY29uZmlkZW5jaWFsaWRhZCkuClBvbmVyIGEgZGlzcG9zaWNpw7NuIGRlIGxvcyBkZW3DoXMgdXN1YXJpb3MsIGVudmlhciBwb3IgZS1tYWlsIG8sIGRlIGFsZ8O6biBtb2RvLCB0cmFuc21pdGlyIGNvbnRlbmlkbyBhbGd1bm8gc3VzY2VwdGlibGUgZGUgaW5mcmluZ2lyIHBhdGVudGVzLCBtYXJjYXMsIHNlY3JldG9zIGNvbWVyY2lhbGVzLCBkZXJlY2hvcyBkZSBhdXRvciB1IG90cm9zIGRlcmVjaG9zIGRlIHRlcmNlcm9zICgiRGVyZWNob3MiKTsKUG9uZXIgYSBkaXNwb3NpY2nDs24gZGUgbG9zIGRlbcOhcyB1c3VhcmlvcywgZW52aWFyIHBvciBlLW1haWwgbywgZGUgYWxnw7puIG1vZG8sIHRyYW5zbWl0aXIgcHVibGljaWRhZCBubyBzb2xpY2l0YWRhIG8gYXV0b3JpemFkYSwgbWF0ZXJpYWwgcHVibGljaXRhcmlvLCAiY29ycmVvIGJhc3VyYSIsICJjYXJ0YXMgZW4gY2FkZW5hIiwgImVzdHJ1Y3R1cmFzIHBpcmFtaWRhbGVzIiwgbyBjdWFscXVpZXIgb3RyYSBmb3JtYSBkZSBzb2xpY2l0dWQ7ClBvbmVyIGEgZGlzcG9zaWNpw7NuIGRlIGxvcyBkZW3DoXMgdXN1YXJpb3MsIGVudmlhciBwb3IgZS1tYWlsIG8sIGRlIGFsZ8O6biBtb2RvLCB0cmFuc21pdGlyIG1hdGVyaWFsIGFsZ3VubyBxdWUgc2VhIHBvcnRhZG9yIGRlIHZpcnVzIG8gY3VhbHF1aWVyIG90cm8gY8OzZGlnbyBpbmZvcm3DoXRpY28sIGFyY2hpdm9zIG8gcHJvZ3JhbWFzIGRpc2XDsWFkb3MgcGFyYSBpbnRlcnJ1bXBpciwgZGVzdHJ1aXIgbyBsaW1pdGFyIGVsIGZ1bmNpb25hbWllbnRvIGRlIGN1YWxxdWllciBzb2Z0d2FyZSwgaGFyZHdhcmUgbyBlcXVpcG8gZGUgdGVsZWNvbXVuaWNhY2lvbmVzOwpQb25lciBhIGRpc3Bvc2ljacOzbiBkZSBsb3MgZGVtw6FzIHVzdWFyaW9zLCBlbnZpYXIgcG9yIGUtbWFpbCBvLCBkZSBhbGfDum4gbW9kbyB0cmFuc21pdGlyLCBjdWFscXVpZXIgY29udGVuaWRvIHF1ZSwgZGUgYWN1ZXJkbyBjb24gbGFzIGxleWVzIGFwbGljYWJsZXMsIHNlYSBkZSBjYXLDoWN0ZXIgaWxlZ2FsIG8gaW1wbGlxdWUsIGF5dWRlIG8gY29hZHl1dmUgbGEgY29taXNpw7NuIGRlIGNvbmR1Y3RhcyBkZWxpY3R1YWxlcyBvIGlsZWdhbGVzIGRlIGN1YWxxdWllciBtYW5lcmEuCkludGVycnVtcGlyIGVsIGN1cnNvIG5vcm1hbCBkZSBsYXMgY29udmVyc2FjaW9uZXMsIHByb3ZvY2FyIHF1ZSBsYSBwYW50YWxsYSBkZWwgb3JkZW5hZG9yIGFkcXVpZXJhIG1heW9yIHZlbG9jaWRhZCBkZSBsYSBub3JtYWwgY29uIGxhIHF1ZSBsb3MgdXN1YXJpb3MgcHVlZGVuIHBhcnRpY2lwYXIgZW4gZWwgU2VydmljaW8sIG8gZGUgYWxnw7puIG1vZG8gYWN0dWFyIGRlIG1hbmVyYSBxdWUgYWZlY3RlIGRlIGZvcm1hIG5lZ2F0aXZhIGEgbGEgcG9zaWJpbGlkYWQgZGUgY29tdW5pY2Fyc2UgZW4gdGllbXBvIHJlYWw7CkludGVyZmVyaXIgbyBpbnRlcnJ1bXBpciBlbCBTZXJ2aWNpbywgc2Vydmlkb3JlcyBvIHJlZGVzIGNvbmVjdGFkb3MgYWwgU2VydmljaW8sIG8gaW5jdW1wbGlyIGxvcyByZXF1aXNpdG9zLCBwcm9jZWRpbWllbnRvcyB5IHJlZ3VsYWNpb25lcyBkZSBsYSBwb2zDrXRpY2EgZGUgcmVkZXMgY29uZWN0YWRhcyBhbCBzZXJ2aWNpby4KNS4gTGltaXRhY2lvbmVzIGRlIGxhIFJlc3BvbnNhYmlsaWRhZDoKIApDb24gdG9kYSBsYSBleHRlbnNpw7NuIHBlcm1pdGlkYSBwb3IgbGFzIGxleWVzIG5hY2lvbmFsZXMgYXBsaWNhYmxlcywgbGEgRlVDUyBubyBhc3VtZSByZXNwb25zYWJpbGlkYWQgY29udHJhY3R1YWwgbyBleHRyYWNvbnRyYWN0dWFsIGFsZ3VuYSBkZSBsb3MgZGHDsW9zIHkgcGVyanVpY2lvcyBkaXJlY3RvcywgaW5kaXJlY3RvcywgaW5jaWRlbnRhbGVzLCBlc3BlY2lhbGVzIG8gZW1lcmdlbnRlcyAoaW5jbHVzbyBzaSBsYSBGdW5kYWNpw7NuIFVuaXZlcnNpdGFyaWEgZGUgQ2llbmNpYXMgZGUgbGEgU2FsdWQgaHViaWVyYSBzaWRvIGFkdmVydGlkbyBkZSBsYSBwb3NpYmlsaWRhZCBkZSBsb3MgbWlzbW9zKSBxdWUgdHJhaWdhbiBjYXVzYSBkZWw6IGVsIHVzbyBvIGRlIGxhIGltcG9zaWJpbGlkYWQgZGUgdXNhciBlbCBzZXJ2aWNpbzsgZWwgZGVsIGFjY2VzbyBubyBhdXRvcml6YWRvIMOzIGFsdGVyYWNpw7NuIGRlIHN1cyB0cmFuc21pc2lvbmVzIGRlIGRhdG9zOyBlbCBkZWNsYXJhY2lvbmVzIGRlIGNvbmR1Y3RhIGRlIHRlcmNlcm9zIGEgdHJhdsOpcyBkZWwgc2VydmljaW8uCiAKRWwgdXN1YXJpbyBhY3VlcmRhIGFkZW3DoXMgcXVlIGxhIEZ1bmRhY2nDs24gVW5pdmVyc2l0YXJpYSBkZSBDaWVuY2lhcyBkZSBsYSBTYWx1ZCBubyBzZXLDoSByZXNwb25zYWJsZSBkZSBuaW5nw7puIGRhw7FvIG8gcGVyanVpY2lvIGRlcml2YWRvIGRlIGxhIGludGVycnVwY2nDs24sIHN1c3BlbnNpw7NuIG8gdGVybWluYWNpw7NuIGRlbCBzZXJ2aWNpbywgaW5jbHV5ZW5kbywgcGVybyBubyBsaW1pdMOhbmRvc2UsIGEgZGHDsW9zLCBsdWNybyBjZXNhbnRlLCB1c28sIGRhdG9zIHUgb3Ryb3MgYmllbmVzIGludGFuZ2libGVzLCBvIHBlcmp1aWNpb3MgZGlyZWN0b3MsIGluZGlyZWN0b3MsIGluY2lkZW50YWxlcywgZXNwZWNpYWxlcywgY29uc2VjdWVudGVzLCBvIGVqZW1wbGFyZXMsIHlhIHNlYSBxdWUgdGFsIGludGVycnVwY2nDs24sIHN1c3BlbnNpw7NuIG8gdGVybWluYWNpw7NuIHNlYSBqdXN0aWZpY2FkYSBvIG5vLCBuZWdsaWdlbnRlIMOzIGludGVuY2lvbmFsLCBhZHZlcnRpZGEgw7MgaW5hZHZlcnRpZGEuCiAKTGEgRlVDUywgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcmV0aXJhciBzaW4gcHJldmlhIG5vdGlmaWNhY2nDs24gYSBjdWFscXVpZXIgdXN1YXJpbyBxdWUgc2UgY29uc2lkZXJlIG9mZW5zaXZvIGVuIGxhcyBjb252ZXJzYWNpb25lcyBvIGRpw6Fsb2dvcyBkZSBsb3MgdXN1YXJpb3MgbyB2aXNpdGFudGVzIGRlbCBzaXRpbyB3ZWIgZW4gZm9yb3MgbyBjaGF0cy4KIApMYSBGVUNTIG5vIGVzIHJlc3BvbnNhYmxlIGNvbiByZXNwZWN0byBhIGxhIHByaXZhY2lkYWQgZGUgbGEgaW5mb3JtYWNpw7NuIHBlcnNvbmFsIHF1ZSBlbCB1c3VhcmlvIGRpdnVsZ3VlIG8gcmVtaXRhIGVuIGZvcm9zLCBzZXNpb25lcyBkZSBjaGF0IGRlbCBzaXRpbyB3ZWIsIGVuIGNvcnJlb3MgZWxlY3Ryw7NuaWNvcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpdGlvIHdlYi4gRWwgdXN1YXJpbyBlcyBleGNsdXNpdm8gcmVzcG9uc2FibGUgZGUgbGEgcHJpdmFjaWRhZCB5IGN1c3RvZGlhIGRlIGN1YWxxdWllciBkYXRvIHBlcnNvbmFsIHF1ZSBlbnRyZWd1ZSBhIHVuYSBwZXJzb25hIG8gZW1wcmVzYSBkaWZlcmVudGUgRlVDUy4KIAo2LiBEZXJlY2hvcyBkZSBQcm9waWVkYWQgSW50ZWxlY3R1YWw6CiAKRWwgVXN1YXJpbyByZWNvbm9jZSB5IGFjZXB0YSBxdWUgZWwgc2VydmljaW8geSBjdWFscXVpZXIgc29mdHdhcmUgdXNhZG8gZW4gcmVsYWNpw7NuIGNvbiBlbCBzZXJ2aWNpbyBxdWUgY29udGllbmUgaW5mb3JtYWNpw7NuIGNvbmZpZGVuY2lhbCB5IGRlIHByb3BpZWRhZCBhamVuYSBwcm90ZWdpZGEgcG9yIGxhIGxlZ2lzbGFjacOzbiBkZSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgeSBvdHJhcyBkaXNwb3NpY2lvbmVzIGxlZ2FsZXMuIEFkZW3DoXMgZWwgdXN1YXJpbyByZWNvbm9jZSB5IGFjZXB0YSBxdWUgZWwgY29udGVuaWRvIGluY2x1eWVuZG8sIHBlcm8gbm8gbGltaXTDoW5kb3NlLCB0ZXh0b3MsIHByb2dyYW1hcyAoYXBwbGV0cyksIGZvdG9ncmFmw61hcywgZ3LDoWZpY29zLCB2aWRlb3MgdSBvdHJvIG1hdGVyaWFsIGNvbnRlbmlkbyBlbiBlbCBzZXJ2aWNpbywgYXPDrSBjb21vIHRhbWJpw6luIGluZm9ybWFjaW9uZXMgZGl2dWxnYWRhcyBhbCB1c3VhcmlvIGEgdHJhdsOpcyBkZWwgc2VydmljaW8sIGVzdMOhIHByb3RlZ2lkbyBwb3IgZGVyZWNob3MgZGUgYXV0b3IsIG1hcmNhcyBjb21lcmNpYWxlcywgcGF0ZW50ZXMgeSBvdHJvcyBkZXJlY2hvcyBkZSBwcm9waWVkYWQgaW50ZWxlY3R1YWwsIGRlIGFjdWVyZG8gY29uIGxhIGxlZ2lzbGFjacOzbiBjb2xvbWJpYW5hLCBjb211bml0YXJpYSBlIGludGVybmFjaW9uYWwgYXBsaWNhYmxlLgogCkVsIFVzdWFyaW8gcmVjb25vY2UgeSBhY3VlcmRhIHF1ZSBzb2xhbWVudGUgcG9kcsOhIHV0aWxpemFyIHRhbGVzIG1hdGVyaWFsZXMgZSBpbmZvcm1hY2lvbmVzIHNlZ8O6biBsbyBleHByZXNhbWVudGUgYXV0b3JpemFkbyBwb3IgbGEgRlVDUywgeSBubyBwb2Ryw6EgY29waWFyLCByZXByb2R1Y2lyLCB0cmFuc21pdGlyLCBkaXN0cmlidWlyIG8gY3JlYXIgb2JyYXMgZGVyaXZhZGFzIGEgcGFydGlyIGRlIHRhbGVzIG1hdGVyaWFsZXMgbyBpbmZvcm1hY2lvbmVzIHNpbiBsYSBleHByZXNhIGF1dG9yaXphY2nDs24gZGVsIHJlc3BlY3Rpdm8gcHJvcGlldGFyaW8uCiAKRWwgVXN1YXJpbyBzZSBvYmxpZ2EgYSBubyBtb2RpZmljYXIgZWwgc29mdHdhcmUgaW52b2x1Y3JhZG8gZW4gZWwgcG9ydGFsIHdlYiBkZSBuaW5ndW5hIG1hbmVyYSwgbyB1dGlsaXphciB2ZXJzaW9uZXMgZGUgc29mdHdhcmUgbW9kaWZpY2FkYXMgY29uIGVsIGZpbiwgZW50cmUgb3Ryb3MsIGRlIG9idGVuZXIgYWNjZXNvIG5vIGF1dG9yaXphZG8gYWwgU2VydmljaW8uIEVsIFVzdWFyaW8gc2Ugb2JsaWdhIGEgbm8gYWNjZWRlciBhbCBTZXJ2aWNpbyBwb3Igb3Ryb3MgbWVkaW9zIHF1ZSBubyBzZWFuIGEgdHJhdsOpcyBkZSBsYSBpbnRlcmZheiBxdWUgbGEgRlVDUyBwcm9wb3JjaW9uYSBwYXJhIGFjY2VkZXIgYWwgU2VydmljaW8uCiAKNy4gR2FyYW50w61hIExpbWl0YWRhOgogCkVsIHVzbyBkZWwgc2VydmljaW8gc2Vyw6EgYmFqbyBleGNsdXNpdm8gcmllc2dvIHkgcmVzcG9uc2FiaWxpZGFkIGRlbCB1c3VhcmlvLiBFbCBzZXJ2aWNpbyBlcyBzdW1pbmlzdHJhZG8gZ3JhdHVpdGFtZW50ZSB5IGRlcGVuZGUgZGUgbGEgZnVuY2lvbmFsaWRhZCBkZSB2YXJpb3MgZmFjdG9yZXMsIGNvbW8gbGEgaW50ZXJhY2Npw7NuIGRlIHNlcnZpZG9yZXMgeSBzZXJ2aWNpb3MgZGUgdGVsZWNvbXVuaWNhY2lvbmVzIGRlIHRlcmNlcm9zLCBsYSBhZGVjdWFjacOzbiBkZSBsb3MgZXF1aXBvcyBkZSB1c3VhcmlvIHkgZGVzdGluYXRhcmlvIGRlbCBtZW5zYWplLiBDb25zaWRlcmFuZG8gdGFsZXMgZmFjdG9yZXMsIGxhIEZVQ1MgZW1wbGVhcsOhIHN1cyBtZWpvcmVzIGVzZnVlcnpvcyBwYXJhIHF1ZSBsb3MgbWVuc2FqZXMgZGUgZS1tYWlsIGVudmlhZG9zIGEgdHJhdsOpcyBkZWwgc2VydmljaW8sIHNlYW4gcmVjaWJpZG9zIHBvciBlbCBkZXN0aW5hdGFyaW8gZW4gZm9ybWEgY29ycmVjdGEgeSBzaW4gaW50ZXJmZXJlbmNpYXMuIFNpbiBlbWJhcmdvLCBwb3IgZXN0YXMgbWlzbWFzIHJhem9uZXMsIGxhIEZVQ1Mgbm8gcHVlZGUgZ2FyYW50aXphciBxdWUgbG9zIG1lbnNhamVzIHNlcsOhbiBlbnRyZWdhZG9zIGFsIGRlc3RpbmF0YXJpbyBjb3JyZWN0bywgZW4gdW4gcGxhem8gYWRlY3VhZG8sIG8gbm8gc3Vmcmlyw6FuIGV4dHJhdsOtbywgZGl2dWxnYWNpw7NuIG8gdmlvbGFjacOzbiBwb3IgcGFydGVzIGRlIHRlcmNlcm9zIG5vIGF1dG9yaXphZG9zLCBjb21vIHBvciBlamVtcGxvcyAiaGFja2VycyIuCiAKU2UgYWNvbnNlamEgYWwgdXN1YXJpbyBubyBjb25maWFyIGV4Y2x1c2l2YW1lbnRlIGVuIGVsIHNlcnZpY2lvIHBhcmEgZW52aWFyIGluZm9ybWFjaW9uZXMgaW1wb3J0YW50ZXMgbyBjb25maWRlbmNpYWxlcyB5IGxhIEZ1bmRhY2nDs24gVW5pdmVyc2l0YXJpYSBkZSBDaWVuY2lhcyBkZSBsYSBTYWx1ZCBubyBzZSByZXNwb25zYWJpbGl6YXLDoSBwb3IgbmluZ3VuYSBmYWxsYSByZXN1bHRhbnRlIGRlbCBlbnbDrW8gZGUgbWVuc2FqZXMgcG9yIHBhcnRlIGRlbCB1c3VhcmlvLgogCkxhIEZVQ1Mgbm8gZ2FyYW50aXphIHF1ZSBlbCBzZXJ2aWNpbyBzZSBwcmVzdGFyw6EgZGUgbWFuZXJhIGluaW50ZXJydW1waWRhLCBzZWd1cmEgbyBsaWJyZSBkZSBlcnJvci4gTGEgRlVDUyB0YW1wb2NvIG90b3JnYSBuaW5ndW5hIGdhcmFudMOtYSBlbiBjdWFudG8gYSBsb3MgcmVzdWx0YWRvcyBxdWUgc2UgcHVlZGFuIG9idGVuZXIgZGVsIHVzbyBkZWwgc2VydmljaW8sIG5pIHF1ZSBsb3MgZGVmZWN0b3MgZW4gbG9zIHByb2dyYW1hcyBzZXLDoW4gY29ycmVnaWRvcy4KIApFbCB1c3VhcmlvIHJlY29ub2NlIHkgYWN1ZXJkYSBxdWUgY3VhbHF1aWVyIG1hdGVyaWFsIHkvbyBpbmZvcm1hY2nDs24gb2J0ZW5pZGEgYSB0cmF2w6lzIGRlbCBzZXJ2aWNpbyBvIGRlIHN1IHV0aWxpemFjacOzbiwgZXN0YXLDoSBzdWpldGEgYSBzdSBlbnRlcm8gY3JpdGVyaW8geSByaWVzZ287IHkgcXVlIHNlcsOhIGVsIMO6bmljbyByZXNwb25zYWJsZSBkZSBjdWFscXVpZXIgZGHDsW8gb2N1cnJpZG8gZW4gc3UgY29tcHV0YWRvcmEgbyBww6lyZGlkYSBkZSBkYXRvcyBxdWUgcHVlZGEgcmVzdWx0YXIgZGUgcmVjaWJpciB0YWwgbWF0ZXJpYWwuCiAKTm90YTogc2kgcmVjaWJlIHVuIG1lbnNhamUgZGUgY29ycmVvIGVsZWN0csOzbmljbyBubyBzb2xpY2l0YWRvLCBvIGN1YWxxdWllciBtZW5zYWplIGFtZW5hemFkb3IgdSBvZmVuc2l2bywgbyBjb25zaWRlcmEgcXVlIG90cm8gdXN1YXJpbyBvIGN1YWxxdWllciBwZXJzb25hIGxlIGVzdMOhIHZ1bG5lcmFuZG8gdW4gZGVyZWNobyBjb25mb3JtZSBhIGVzdGUgZG9jdW1lbnRvLCByZW3DrXRhbm9zIHVuYSBjb3BpYSBjb21wbGV0YSB5IHNpbiBtb2RpZmljYXIgZGVsIG1lbnNhamUgZGUgY29ycmVvIGVsZWN0csOzbmljbyBjb24gbG9zIGVuY2FiZXphZG9zIGNvbXBsZXRvcyBhIGxhIHNpZ3VpZW50ZSBkaXJlY2Npw7NuIGVsZWN0csOzbmljYTogeWx0b3JvQGZ1Y3NhbHVkLmVkdS5jbwoKTGFzIHByZWd1bnRhcyBxdWUgZWwgdXN1YXJpbyBvIGN1YWxxdWllciBwZXJzb25hIGRlc2VlIHJlYWxpemFyIHNvYnJlIGxvIGV4cHJlc2FkbyBlbiBlc3RlIGRvY3VtZW50bywgbGFzIHB1ZWRlIGZvcm11bGFyIGEgbGEgc2lndWllbnRlIGRpcmVjY2nDs24gZWxlY3Ryw7NuaWNhOiB5bHRvcm9AZnVjc2FsdWQuZWR1LmNvCg==