Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS

This study presents a novel mathematical model to estimate mechanical ventilatory parameters in older adults diagnosed with Acute Respiratory Distress Syndrome (ARDS). The proposed model, called the Recruitment and Distention Elastance Analysis + Slice model (RDEA + Slice), builds on the traditional...

Full description

Autores:
Ruiz Hidalgo, Iván Dario
Tipo de recurso:
Doctoral thesis
Fecha de publicación:
2025
Institución:
Universidad del Valle
Repositorio:
Repositorio Digital Univalle
Idioma:
eng
OAI Identifier:
oai:bibliotecadigital.univalle.edu.co:10893/36933
Acceso en línea:
https://hdl.handle.net/10893/36933
Palabra clave:
Modelización matemática
Síndrome de dificultad respiratoria aguda (SDRA)
Adultos mayores
Ventilación mecánica
Algoritmos de detección
Rights
openAccess
License
https://creativecommons.org/licenses/by-nc-nd/4.0/
id UNIVALLE2_cc8565519e4c9dba20a7cf694fd50e57
oai_identifier_str oai:bibliotecadigital.univalle.edu.co:10893/36933
network_acronym_str UNIVALLE2
network_name_str Repositorio Digital Univalle
repository_id_str
dc.title.eng.fl_str_mv Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
title Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
spellingShingle Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
Modelización matemática
Síndrome de dificultad respiratoria aguda (SDRA)
Adultos mayores
Ventilación mecánica
Algoritmos de detección
title_short Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
title_full Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
title_fullStr Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
title_full_unstemmed Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
title_sort Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDS
dc.creator.fl_str_mv Ruiz Hidalgo, Iván Dario
dc.contributor.advisor.none.fl_str_mv Jaramillo Pizarro, Guillermo Andrés
garcia melo, jose isidro
dc.contributor.author.none.fl_str_mv Ruiz Hidalgo, Iván Dario
dc.contributor.researchgroup.none.fl_str_mv CIENCIA, EDUCACIÓN Y DIVERSIDAD
dc.subject.lemb.none.fl_str_mv Modelización matemática
Síndrome de dificultad respiratoria aguda (SDRA)
Adultos mayores
Ventilación mecánica
Algoritmos de detección
topic Modelización matemática
Síndrome de dificultad respiratoria aguda (SDRA)
Adultos mayores
Ventilación mecánica
Algoritmos de detección
description This study presents a novel mathematical model to estimate mechanical ventilatory parameters in older adults diagnosed with Acute Respiratory Distress Syndrome (ARDS). The proposed model, called the Recruitment and Distention Elastance Analysis + Slice model (RDEA + Slice), builds on the traditional Single Compartment Model (SCM) by incorporating new strategies for improved physiological representation. Validation with real patient data showed that RDEA + Slice offers enhanced numerical accuracy compared to conventional methods, especially during spontaneous breathing and patient-ventilator asynchronies. To further explore asynchrony detection, the pressure signal was interpreted as a combination of a synchronous baseline and "noise" from asynchronous activity. A frequency-domain filtering approach was used to isolate these components, leading to the formulation of two metrics: the Asynchrony Event Percentage (AE%) and the Asynchrony Index (AI%). These metrics were applied to three datasets, allowing for the identification of threshold-based criteria to distinguish between synchronous and asynchronous breathing patterns. Additionally, image processing techniques were validated and used to extract ventilatory data from video recordings of ventilator screens. This approach provides a practical solution for data acquisition in low-resource settings, a common challenge in emerging economies. The extracted data showed high fidelity and low Mean Squared Error when compared with sensor-derived measurements. The results suggest that the proposed model, detection indices, and image processing methodology could support clinical decision-making by providing insights into patient-specific respiratory mechanics.
publishDate 2025
dc.date.accessioned.none.fl_str_mv 2025-09-09T13:59:19Z
dc.date.available.none.fl_str_mv 2025-09-09T13:59:19Z
dc.date.issued.none.fl_str_mv 2025
dc.type.spa.fl_str_mv Trabajo de grado - Doctorado
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_db06
dc.type.content.none.fl_str_mv Text
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/doctoralThesis
dc.type.redcol.none.fl_str_mv http://purl.org/redcol/resource_type/TD
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_db06
status_str publishedVersion
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/10893/36933
url https://hdl.handle.net/10893/36933
dc.language.iso.none.fl_str_mv eng
language eng
dc.rights.uri.none.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.license.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 1 recurso en línea (104 páginas)
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad del Valle
dc.publisher.place.spa.fl_str_mv Colombia
dc.publisher.faculty.spa.fl_str_mv FACULTAD DE INGENIERÍA
dc.publisher.program.spa.fl_str_mv DOCTORADO EN INGENIERIA MECÁNICA
dc.publisher.branch.none.fl_str_mv Sede Cali
institution Universidad del Valle
bitstream.url.fl_str_mv https://bibliotecadigital.univalle.edu.co/bitstreams/bb5e41d3-3901-4672-acb2-0b9dadec0699/download
https://bibliotecadigital.univalle.edu.co/bitstreams/5ca95e92-521e-414e-a1e2-14deff79641d/download
https://bibliotecadigital.univalle.edu.co/bitstreams/a2edbbdb-dfab-4933-9b84-22d153f121be/download
https://bibliotecadigital.univalle.edu.co/bitstreams/173281b7-3f9b-4a77-9da9-ee3462a5caf9/download
https://bibliotecadigital.univalle.edu.co/bitstreams/6a6ca52a-72bd-4453-a494-692da30aadba/download
https://bibliotecadigital.univalle.edu.co/bitstreams/b2af73f4-75e4-4957-90b2-9a99a2b8d47f/download
https://bibliotecadigital.univalle.edu.co/bitstreams/a7333b4a-ade0-4f13-b01f-b25b8c71e3ec/download
bitstream.checksum.fl_str_mv 73a5432e0b76442b22b026844140d683
e52c9ab591e654f1c16f9bd9455e2126
1b72a5d330fc720f02f8e82ea211f928
e0964cefe4d7def817aedc1ad17a079a
967ba3c4c80f137ec58d670368d75c83
27b19b258a199961f9ea77aed6e54c2b
9345ab0f485cc57049dc6f566a1f2198
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad del Valle
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1851051380875198464
spelling Jaramillo Pizarro, Guillermo Andrésvirtual::1726-1garcia melo, jose isidrovirtual::1727-1Ruiz Hidalgo, Iván DarioCIENCIA, EDUCACIÓN Y DIVERSIDAD2025-09-09T13:59:19Z2025-09-09T13:59:19Z2025https://hdl.handle.net/10893/36933This study presents a novel mathematical model to estimate mechanical ventilatory parameters in older adults diagnosed with Acute Respiratory Distress Syndrome (ARDS). The proposed model, called the Recruitment and Distention Elastance Analysis + Slice model (RDEA + Slice), builds on the traditional Single Compartment Model (SCM) by incorporating new strategies for improved physiological representation. Validation with real patient data showed that RDEA + Slice offers enhanced numerical accuracy compared to conventional methods, especially during spontaneous breathing and patient-ventilator asynchronies. To further explore asynchrony detection, the pressure signal was interpreted as a combination of a synchronous baseline and "noise" from asynchronous activity. A frequency-domain filtering approach was used to isolate these components, leading to the formulation of two metrics: the Asynchrony Event Percentage (AE%) and the Asynchrony Index (AI%). These metrics were applied to three datasets, allowing for the identification of threshold-based criteria to distinguish between synchronous and asynchronous breathing patterns. Additionally, image processing techniques were validated and used to extract ventilatory data from video recordings of ventilator screens. This approach provides a practical solution for data acquisition in low-resource settings, a common challenge in emerging economies. The extracted data showed high fidelity and low Mean Squared Error when compared with sensor-derived measurements. The results suggest that the proposed model, detection indices, and image processing methodology could support clinical decision-making by providing insights into patient-specific respiratory mechanics.Este estudio presenta un nuevo modelo matemático para estimar los parámetros ventilatorios mecánicos en adultos mayores diagnosticados con síndrome de dificultad respiratoria aguda (SDRA). El modelo propuesto, llamado Recruitment and Distention Elastance Analysis + Slice model (RDEA + Slice), se basa en el modelo tradicional de un solo compartimento (SCM) al incorporar nuevas estrategias para mejorar la representación fisiológica. La validación con datos reales de pacientes mostró que RDEA + Slice ofrece una precisión numérica mejorada en comparación con los métodos convencionales, especialmente durante la respiración espontánea y las asincronías paciente-ventilador. Para explorar más a fondo la detección asincrónica, la señal de presión se interpretó como una combinación de una línea de base sincrónica y "ruido" de actividad asincrónica. Se utilizó un enfoque de filtrado en el dominio de la frecuencia para aislar estos componentes, lo que llevó a la formulación de dos métricas: el porcentaje de eventos asincrónicos (AE%) y el índice de asincronía (AI%). Estas métricas se aplicaron a tres conjuntos de datos, lo que permitió la identificación de criterios basados en umbrales para distinguir entre patrones de respiración sincrónicos y asincrónicos. Además, se validaron técnicas de procesamiento de imágenes y se utilizaron para extraer datos ventilatorios de grabaciones de video de pantallas de ventiladores. Este enfoque proporciona una solución práctica para la adquisición de datos en entornos de bajos recursos, un desafío común en las economías emergentes. Los datos extraídos mostraron alta fidelidad y bajo error cuadrático medio en comparación con las mediciones derivadas del sensor. Los resultados sugieren que el modelo propuesto, los índices de detección y la metodología de procesamiento de imágenes podrían respaldar la toma de decisiones clínicas al proporcionar información sobre la mecánica respiratoria específica del paciente.DoctoradoDOCTOR(A) EN INGENIERÍA MECÁNICA1 recurso en línea (104 páginas)application/pdfengUniversidad del ValleColombiaFACULTAD DE INGENIERÍADOCTORADO EN INGENIERIA MECÁNICASede Calihttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)http://purl.org/coar/access_right/c_abf2Mechanical ventilatory parameters based on a mathematical model for diagnosis/treatment of older adults with ARDSTrabajo de grado - Doctoradohttp://purl.org/coar/resource_type/c_db06Textinfo:eu-repo/semantics/doctoralThesishttp://purl.org/redcol/resource_type/TDinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85Modelización matemáticaSíndrome de dificultad respiratoria aguda (SDRA)Adultos mayoresVentilación mecánicaAlgoritmos de detecciónPublication0000-0003-0727-9289virtual::1726-10000-0003-1672-7768virtual::1727-1b821ca7a-9654-4844-bcb9-462b0a602b03virtual::1726-1e21feeab-39da-49d4-aca0-978536907e4avirtual::1727-1b821ca7a-9654-4844-bcb9-462b0a602b03virtual::1726-1e21feeab-39da-49d4-aca0-978536907e4avirtual::1727-1LICENSElicense.txtlicense.txttext/plain; charset=utf-815543https://bibliotecadigital.univalle.edu.co/bitstreams/bb5e41d3-3901-4672-acb2-0b9dadec0699/download73a5432e0b76442b22b026844140d683MD51ORIGINALRuiz-Ivan-2025-Mechanical-ventilatory-parameters.pdfRuiz-Ivan-2025-Mechanical-ventilatory-parameters.pdfapplication/pdf21705399https://bibliotecadigital.univalle.edu.co/bitstreams/5ca95e92-521e-414e-a1e2-14deff79641d/downloade52c9ab591e654f1c16f9bd9455e2126MD54autorizacion-1085285376.pdfautorizacion-1085285376.pdfapplication/pdf233442https://bibliotecadigital.univalle.edu.co/bitstreams/a2edbbdb-dfab-4933-9b84-22d153f121be/download1b72a5d330fc720f02f8e82ea211f928MD55TEXTRuiz-Ivan-2025-Mechanical-ventilatory-parameters.pdf.txtRuiz-Ivan-2025-Mechanical-ventilatory-parameters.pdf.txtExtracted texttext/plain100192https://bibliotecadigital.univalle.edu.co/bitstreams/173281b7-3f9b-4a77-9da9-ee3462a5caf9/downloade0964cefe4d7def817aedc1ad17a079aMD56autorizacion-1085285376.pdf.txtautorizacion-1085285376.pdf.txtExtracted texttext/plain5878https://bibliotecadigital.univalle.edu.co/bitstreams/6a6ca52a-72bd-4453-a494-692da30aadba/download967ba3c4c80f137ec58d670368d75c83MD58THUMBNAILRuiz-Ivan-2025-Mechanical-ventilatory-parameters.pdf.jpgRuiz-Ivan-2025-Mechanical-ventilatory-parameters.pdf.jpgGenerated Thumbnailimage/jpeg8538https://bibliotecadigital.univalle.edu.co/bitstreams/b2af73f4-75e4-4957-90b2-9a99a2b8d47f/download27b19b258a199961f9ea77aed6e54c2bMD57autorizacion-1085285376.pdf.jpgautorizacion-1085285376.pdf.jpgGenerated Thumbnailimage/jpeg18144https://bibliotecadigital.univalle.edu.co/bitstreams/a7333b4a-ade0-4f13-b01f-b25b8c71e3ec/download9345ab0f485cc57049dc6f566a1f2198MD5910893/36933oai:bibliotecadigital.univalle.edu.co:10893/369332025-09-10 04:08:44.554https://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://bibliotecadigital.univalle.edu.coRepositorio Institucional Universidad del Vallebdigital@metabiblioteca.comPHA+TEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuPC9wPgo8cD5NRURJQU5URSBFTCBFSkVSQ0lDSU8gREUgQ1VBTFFVSUVSQSBERSBMT1MgREVSRUNIT1MgUVVFIFNFIE9UT1JHQU4gRU4gRVNUQSBMSUNFTkNJQSwgVVNURUQgQUNFUFRBIFkgQUNVRVJEQSBRVUVEQVIgT0JMSUdBRE8gRU4gTE9TIFRFUk1JTk9TIFFVRSBTRSBTRcORQUxBTiBFTiBFTExBLiBFTCBMSUNFTkNJQU5URSBDT05DRURFIEEgVVNURUQgTE9TIERFUkVDSE9TIENPTlRFTklET1MgRU4gRVNUQSBMSUNFTkNJQSBDT05ESUNJT05BRE9TIEEgTEEgQUNFUFRBQ0nDk04gREUgU1VTIFRFUk1JTk9TIFkgQ09ORElDSU9ORVMuPC9wPgo8b2wgdHlwZT0iMSI+CiAgPGxpPgogICAgRGVmaW5pY2lvbmVzCiAgICA8b2wgdHlwZT1hPgogICAgICA8bGk+T2JyYSBDb2xlY3RpdmEgZXMgdW5hIG9icmEsIHRhbCBjb21vIHVuYSBwdWJsaWNhY2nDs24gcGVyacOzZGljYSwgdW5hIGFudG9sb2fDrWEsIG8gdW5hIGVuY2ljbG9wZWRpYSwgZW4gbGEgcXVlIGxhIG9icmEgZW4gc3UgdG90YWxpZGFkLCBzaW4gbW9kaWZpY2FjacOzbiBhbGd1bmEsIGp1bnRvIGNvbiB1biBncnVwbyBkZSBvdHJhcyBjb250cmlidWNpb25lcyBxdWUgY29uc3RpdHV5ZW4gb2JyYXMgc2VwYXJhZGFzIGUgaW5kZXBlbmRpZW50ZXMgZW4gc8OtIG1pc21hcywgc2UgaW50ZWdyYW4gZW4gdW4gdG9kbyBjb2xlY3Rpdm8uIFVuYSBPYnJhIHF1ZSBjb25zdGl0dXllIHVuYSBvYnJhIGNvbGVjdGl2YSBubyBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgKGNvbW8gc2UgZGVmaW5lIGFiYWpvKSBwYXJhIGxvcyBwcm9ww7NzaXRvcyBkZSBlc3RhIGxpY2VuY2lhLiBhcXVlbGxhIHByb2R1Y2lkYSBwb3IgdW4gZ3J1cG8gZGUgYXV0b3JlcywgZW4gcXVlIGxhIE9icmEgc2UgZW5jdWVudHJhIHNpbiBtb2RpZmljYWNpb25lcywganVudG8gY29uIHVuYSBjaWVydGEgY2FudGlkYWQgZGUgb3RyYXMgY29udHJpYnVjaW9uZXMsIHF1ZSBjb25zdGl0dXllbiBlbiBzw60gbWlzbW9zIHRyYWJham9zIHNlcGFyYWRvcyBlIGluZGVwZW5kaWVudGVzLCBxdWUgc29uIGludGVncmFkb3MgYWwgdG9kbyBjb2xlY3Rpdm8sIHRhbGVzIGNvbW8gcHVibGljYWNpb25lcyBwZXJpw7NkaWNhcywgYW50b2xvZ8OtYXMgbyBlbmNpY2xvcGVkaWFzLjwvbGk+CiAgICAgIDxsaT5PYnJhIERlcml2YWRhIHNpZ25pZmljYSB1bmEgb2JyYSBiYXNhZGEgZW4gbGEgb2JyYSBvYmpldG8gZGUgZXN0YSBsaWNlbmNpYSBvIGVuIMOpc3RhIHkgb3RyYXMgb2JyYXMgcHJlZXhpc3RlbnRlcywgdGFsZXMgY29tbyB0cmFkdWNjaW9uZXMsIGFycmVnbG9zIG11c2ljYWxlcywgZHJhbWF0aXphY2lvbmVzLCDigJxmaWNjaW9uYWxpemFjaW9uZXPigJ0sIHZlcnNpb25lcyBwYXJhIGNpbmUsIOKAnGdyYWJhY2lvbmVzIGRlIHNvbmlkb+KAnSwgcmVwcm9kdWNjaW9uZXMgZGUgYXJ0ZSwgcmVzw7ptZW5lcywgY29uZGVuc2FjaW9uZXMsIG8gY3VhbHF1aWVyIG90cmEgZW4gbGEgcXVlIGxhIG9icmEgcHVlZGEgc2VyIHRyYW5zZm9ybWFkYSwgY2FtYmlhZGEgbyBhZGFwdGFkYSwgZXhjZXB0byBhcXVlbGxhcyBxdWUgY29uc3RpdHV5YW4gdW5hIG9icmEgY29sZWN0aXZhLCBsYXMgcXVlIG5vIHNlcsOhbiBjb25zaWRlcmFkYXMgdW5hIG9icmEgZGVyaXZhZGEgcGFyYSBlZmVjdG9zIGRlIGVzdGEgbGljZW5jaWEuIChQYXJhIGV2aXRhciBkdWRhcywgZW4gZWwgY2FzbyBkZSBxdWUgbGEgT2JyYSBzZWEgdW5hIGNvbXBvc2ljacOzbiBtdXNpY2FsIG8gdW5hIGdyYWJhY2nDs24gc29ub3JhLCBwYXJhIGxvcyBlZmVjdG9zIGRlIGVzdGEgTGljZW5jaWEgbGEgc2luY3Jvbml6YWNpw7NuIHRlbXBvcmFsIGRlIGxhIE9icmEgY29uIHVuYSBpbWFnZW4gZW4gbW92aW1pZW50byBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgcGFyYSBsb3MgZmluZXMgZGUgZXN0YSBsaWNlbmNpYSkuPC9saT4KICAgICAgPGxpPkxpY2VuY2lhbnRlLCBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHRpdHVsYXIgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHF1ZSBvZnJlY2UgbGEgT2JyYSBlbiBjb25mb3JtaWRhZCBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuPC9saT4KICAgICAgPGxpPkF1dG9yIG9yaWdpbmFsLCBlcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuPC9saT4KICAgICAgPGxpPk9icmEsIGVzIGFxdWVsbGEgb2JyYSBzdXNjZXB0aWJsZSBkZSBwcm90ZWNjacOzbiBwb3IgZWwgcsOpZ2ltZW4gZGUgRGVyZWNobyBkZSBBdXRvciB5IHF1ZSBlcyBvZnJlY2lkYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWE8L2xpPgogICAgICA8bGk+VXN0ZWQsIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgcXVlIGVqZXJjaXRhIGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgeSBxdWUgY29uIGFudGVyaW9yaWRhZCBubyBoYSB2aW9sYWRvIGxhcyBjb25kaWNpb25lcyBkZSBsYSBtaXNtYSByZXNwZWN0byBhIGxhIE9icmEsIG8gcXVlIGhheWEgb2J0ZW5pZG8gYXV0b3JpemFjacOzbiBleHByZXNhIHBvciBwYXJ0ZSBkZWwgTGljZW5jaWFudGUgcGFyYSBlamVyY2VyIGxvcyBkZXJlY2hvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSBwZXNlIGEgdW5hIHZpb2xhY2nDs24gYW50ZXJpb3IuPC9saT4KICAgIDwvb2w+CiAgPC9saT4KICA8YnIvPgogIDxsaT4KICAgIERlcmVjaG9zIGRlIFVzb3MgSG9ucmFkb3MgeSBleGNlcGNpb25lcyBMZWdhbGVzLgogICAgPHA+TmFkYSBlbiBlc3RhIExpY2VuY2lhIHBvZHLDoSBzZXIgaW50ZXJwcmV0YWRvIGNvbW8gdW5hIGRpc21pbnVjacOzbiwgbGltaXRhY2nDs24gbyByZXN0cmljY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlcml2YWRvcyBkZWwgdXNvIGhvbnJhZG8geSBvdHJhcyBsaW1pdGFjaW9uZXMgbyBleGNlcGNpb25lcyBhIGxvcyBkZXJlY2hvcyBkZWwgYXV0b3IgYmFqbyBlbCByw6lnaW1lbiBsZWdhbCB2aWdlbnRlIG8gZGVyaXZhZG8gZGUgY3VhbHF1aWVyIG90cmEgbm9ybWEgcXVlIHNlIGxlIGFwbGlxdWUuPC9wPgogIDwvbGk+CiAgPGxpPgogICAgQ29uY2VzacOzbiBkZSBsYSBMaWNlbmNpYS4KICAgIDxwPkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246PC9wPgogICAgPG9sIHR5cGU9ImEiPgogICAgICA8bGk+UmVwcm9kdWNpciBsYSBPYnJhLCBpbmNvcnBvcmFyIGxhIE9icmEgZW4gdW5hIG8gbcOhcyBPYnJhcyBDb2xlY3RpdmFzLCB5IHJlcHJvZHVjaXIgbGEgT2JyYSBpbmNvcnBvcmFkYSBlbiBsYXMgT2JyYXMgQ29sZWN0aXZhcy48L2xpPgogICAgICA8bGk+RGlzdHJpYnVpciBjb3BpYXMgbyBmb25vZ3JhbWFzIGRlIGxhcyBPYnJhcywgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYSwgaW5jbHV5w6luZG9sYXMgY29tbyBpbmNvcnBvcmFkYXMgZW4gT2JyYXMgQ29sZWN0aXZhcywgc2Vnw7puIGNvcnJlc3BvbmRhLjwvbGk+CiAgICAgIDxsaT5EaXN0cmlidWlyIGNvcGlhcyBkZSBsYXMgT2JyYXMgRGVyaXZhZGFzIHF1ZSBzZSBnZW5lcmVuLCBleGhpYmlybGFzIHDDumJsaWNhbWVudGUsIGVqZWN1dGFybGFzIHDDumJsaWNhbWVudGUgeS9vIHBvbmVybGFzIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLjwvbGk+CiAgICA8L29sPgogICAgPHA+TG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuPC9wPgogIDwvbGk+CiAgPGJyLz4KICA8bGk+CiAgICBSZXN0cmljY2lvbmVzLgogICAgPHA+TGEgbGljZW5jaWEgb3RvcmdhZGEgZW4gbGEgYW50ZXJpb3IgU2VjY2nDs24gMyBlc3TDoSBleHByZXNhbWVudGUgc3VqZXRhIHkgbGltaXRhZGEgcG9yIGxhcyBzaWd1aWVudGVzIHJlc3RyaWNjaW9uZXM6PC9wPgogICAgPG9sIHR5cGU9ImEiPgogICAgICA8bGk+VXN0ZWQgcHVlZGUgZGlzdHJpYnVpciwgZXhoaWJpciBww7pibGljYW1lbnRlLCBlamVjdXRhciBww7pibGljYW1lbnRlLCBvIHBvbmVyIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhIGxhIE9icmEgc8OzbG8gYmFqbyBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSwgeSBVc3RlZCBkZWJlIGluY2x1aXIgdW5hIGNvcGlhIGRlIGVzdGEgbGljZW5jaWEgbyBkZWwgSWRlbnRpZmljYWRvciBVbml2ZXJzYWwgZGUgUmVjdXJzb3MgZGUgbGEgbWlzbWEgY29uIGNhZGEgY29waWEgZGUgbGEgT2JyYSBxdWUgZGlzdHJpYnV5YSwgZXhoaWJhIHDDumJsaWNhbWVudGUsIGVqZWN1dGUgcMO6YmxpY2FtZW50ZSBvIHBvbmdhIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhLiBObyBlcyBwb3NpYmxlIG9mcmVjZXIgbyBpbXBvbmVyIG5pbmd1bmEgY29uZGljacOzbiBzb2JyZSBsYSBPYnJhIHF1ZSBhbHRlcmUgbyBsaW1pdGUgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgbyBlbCBlamVyY2ljaW8gZGUgbG9zIGRlcmVjaG9zIGRlIGxvcyBkZXN0aW5hdGFyaW9zIG90b3JnYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gTm8gZXMgcG9zaWJsZSBzdWJsaWNlbmNpYXIgbGEgT2JyYS4gVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RvcyB0b2RvcyBsb3MgYXZpc29zIHF1ZSBoYWdhbiByZWZlcmVuY2lhIGEgZXN0YSBMaWNlbmNpYSB5IGEgbGEgY2zDoXVzdWxhIGRlIGxpbWl0YWNpw7NuIGRlIGdhcmFudMOtYXMuIFVzdGVkIG5vIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIGNvbiBhbGd1bmEgbWVkaWRhIHRlY25vbMOzZ2ljYSBxdWUgY29udHJvbGUgZWwgYWNjZXNvIG8gbGEgdXRpbGl6YWNpw7NuIGRlIGVsbGEgZGUgdW5hIGZvcm1hIHF1ZSBzZWEgaW5jb25zaXN0ZW50ZSBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIExvIGFudGVyaW9yIHNlIGFwbGljYSBhIGxhIE9icmEgaW5jb3Jwb3JhZGEgYSB1bmEgT2JyYSBDb2xlY3RpdmEsIHBlcm8gZXN0byBubyBleGlnZSBxdWUgbGEgT2JyYSBDb2xlY3RpdmEgYXBhcnRlIGRlIGxhIG9icmEgbWlzbWEgcXVlZGUgc3VqZXRhIGEgbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEuIFNpIFVzdGVkIGNyZWEgdW5hIE9icmEgQ29sZWN0aXZhLCBwcmV2aW8gYXZpc28gZGUgY3VhbHF1aWVyIExpY2VuY2lhbnRlIGRlYmUsIGVuIGxhIG1lZGlkYSBkZSBsbyBwb3NpYmxlLCBlbGltaW5hciBkZSBsYSBPYnJhIENvbGVjdGl2YSBjdWFscXVpZXIgcmVmZXJlbmNpYSBhIGRpY2hvIExpY2VuY2lhbnRlIG8gYWwgQXV0b3IgT3JpZ2luYWwsIHNlZ8O6biBsbyBzb2xpY2l0YWRvIHBvciBlbCBMaWNlbmNpYW50ZSB5IGNvbmZvcm1lIGxvIGV4aWdlIGxhIGNsw6F1c3VsYSA0KGMpLjwvbGk+CiAgICAgIDxsaT5Vc3RlZCBubyBwdWVkZSBlamVyY2VyIG5pbmd1bm8gZGUgbG9zIGRlcmVjaG9zIHF1ZSBsZSBoYW4gc2lkbyBvdG9yZ2Fkb3MgZW4gbGEgU2VjY2nDs24gMyBwcmVjZWRlbnRlIGRlIG1vZG8gcXVlIGVzdMOpbiBwcmluY2lwYWxtZW50ZSBkZXN0aW5hZG9zIG8gZGlyZWN0YW1lbnRlIGRpcmlnaWRvcyBhIGNvbnNlZ3VpciB1biBwcm92ZWNobyBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4gRWwgaW50ZXJjYW1iaW8gZGUgbGEgT2JyYSBwb3Igb3RyYXMgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZGVyZWNob3MgZGUgYXV0b3IsIHlhIHNlYSBhIHRyYXbDqXMgZGUgdW4gc2lzdGVtYSBwYXJhIGNvbXBhcnRpciBhcmNoaXZvcyBkaWdpdGFsZXMgKGRpZ2l0YWwgZmlsZS1zaGFyaW5nKSBvIGRlIGN1YWxxdWllciBvdHJhIG1hbmVyYSBubyBzZXLDoSBjb25zaWRlcmFkbyBjb21vIGVzdGFyIGRlc3RpbmFkbyBwcmluY2lwYWxtZW50ZSBvIGRpcmlnaWRvIGRpcmVjdGFtZW50ZSBhIGNvbnNlZ3VpciB1biBwcm92ZWNobyBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYSwgc2llbXByZSBxdWUgbm8gc2UgcmVhbGljZSB1biBwYWdvIG1lZGlhbnRlIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBlbiByZWxhY2nDs24gY29uIGVsIGludGVyY2FtYmlvIGRlIG9icmFzIHByb3RlZ2lkYXMgcG9yIGVsIGRlcmVjaG8gZGUgYXV0b3IuPC9saT4KICAgICAgPGxpPlNpIHVzdGVkIGRpc3RyaWJ1eWUsIGV4aGliZSBww7pibGljYW1lbnRlLCBlamVjdXRhIHDDumJsaWNhbWVudGUgbyBlamVjdXRhIHDDumJsaWNhbWVudGUgZW4gZm9ybWEgZGlnaXRhbCBsYSBPYnJhIG8gY3VhbHF1aWVyIE9icmEgRGVyaXZhZGEgdSBPYnJhIENvbGVjdGl2YSwgVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGRlIGRlcmVjaG8gZGUgYXV0b3IgZGUgbGEgT2JyYSB5IHByb3BvcmNpb25hciwgZGUgZm9ybWEgcmF6b25hYmxlIHNlZ8O6biBlbCBtZWRpbyBvIG1hbmVyYSBxdWUgVXN0ZWQgZXN0w6kgdXRpbGl6YW5kbzogKGkpIGVsIG5vbWJyZSBkZWwgQXV0b3IgT3JpZ2luYWwgc2kgZXN0w6EgcHJvdmlzdG8gKG8gc2V1ZMOzbmltbywgc2kgZnVlcmUgYXBsaWNhYmxlKSwgeS9vIChpaSkgZWwgbm9tYnJlIGRlIGxhIHBhcnRlIG8gbGFzIHBhcnRlcyBxdWUgZWwgQXV0b3IgT3JpZ2luYWwgeS9vIGVsIExpY2VuY2lhbnRlIGh1YmllcmVuIGRlc2lnbmFkbyBwYXJhIGxhIGF0cmlidWNpw7NuICh2LmcuLCB1biBpbnN0aXR1dG8gcGF0cm9jaW5hZG9yLCBlZGl0b3JpYWwsIHB1YmxpY2FjacOzbikgZW4gbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZWwgTGljZW5jaWFudGUsIHTDqXJtaW5vcyBkZSBzZXJ2aWNpb3MgbyBkZSBvdHJhcyBmb3JtYXMgcmF6b25hYmxlczsgZWwgdMOtdHVsbyBkZSBsYSBPYnJhIHNpIGVzdMOhIHByb3Zpc3RvOyBlbiBsYSBtZWRpZGEgZGUgbG8gcmF6b25hYmxlbWVudGUgZmFjdGlibGUgeSwgc2kgZXN0w6EgcHJvdmlzdG8sIGVsIElkZW50aWZpY2Fkb3IgVW5pZm9ybWUgZGUgUmVjdXJzb3MgKFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcikgcXVlIGVsIExpY2VuY2lhbnRlIGVzcGVjaWZpY2EgcGFyYSBzZXIgYXNvY2lhZG8gY29uIGxhIE9icmEsIHNhbHZvIHF1ZSB0YWwgVVJJIG5vIHNlIHJlZmllcmEgYSBsYSBub3RhIHNvYnJlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBvIGEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGxpY2VuY2lhbWllbnRvIGRlIGxhIE9icmE7IHkgZW4gZWwgY2FzbyBkZSB1bmEgT2JyYSBEZXJpdmFkYSwgYXRyaWJ1aXIgZWwgY3LDqWRpdG8gaWRlbnRpZmljYW5kbyBlbCB1c28gZGUgbGEgT2JyYSBlbiBsYSBPYnJhIERlcml2YWRhICh2LmcuLCAiVHJhZHVjY2nDs24gRnJhbmNlc2EgZGUgbGEgT2JyYSBkZWwgQXV0b3IgT3JpZ2luYWwsIiBvICJHdWnDs24gQ2luZW1hdG9ncsOhZmljbyBiYXNhZG8gZW4gbGEgT2JyYSBvcmlnaW5hbCBkZWwgQXV0b3IgT3JpZ2luYWwiKS4gVGFsIGNyw6lkaXRvIHB1ZWRlIHNlciBpbXBsZW1lbnRhZG8gZGUgY3VhbHF1aWVyIGZvcm1hIHJhem9uYWJsZTsgZW4gZWwgY2Fzbywgc2luIGVtYmFyZ28sIGRlIE9icmFzIERlcml2YWRhcyB1IE9icmFzIENvbGVjdGl2YXMsIHRhbCBjcsOpZGl0byBhcGFyZWNlcsOhLCBjb21vIG3DrW5pbW8sIGRvbmRlIGFwYXJlY2UgZWwgY3LDqWRpdG8gZGUgY3VhbHF1aWVyIG90cm8gYXV0b3IgY29tcGFyYWJsZSB5IGRlIHVuYSBtYW5lcmEsIGFsIG1lbm9zLCB0YW4gZGVzdGFjYWRhIGNvbW8gZWwgY3LDqWRpdG8gZGUgb3RybyBhdXRvciBjb21wYXJhYmxlLjwvbGk+CiAgICAgIDxsaT4KICAgICAgICBQYXJhIGV2aXRhciB0b2RhIGNvbmZ1c2nDs24sIGVsIExpY2VuY2lhbnRlIGFjbGFyYSBxdWUsIGN1YW5kbyBsYSBvYnJhIGVzIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbDoKICAgICAgICA8b2wgdHlwZT0iaSI+CiAgICAgICAgICA8bGk+UmVnYWzDrWFzIHBvciBpbnRlcnByZXRhY2nDs24geSBlamVjdWNpw7NuIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSBhdXRvcml6YXIgbGEgZWplY3VjacOzbiBww7pibGljYSBvIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIHkgZGUgcmVjb2xlY3Rhciwgc2VhIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIFNBWUNPKSwgbGFzIHJlZ2Fsw61hcyBwb3IgbGEgZWplY3VjacOzbiBww7pibGljYSBvIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8gV2ViY2FzdCkgbGljZW5jaWFkYSBiYWpvIGxpY2VuY2lhcyBnZW5lcmFsZXMsIHNpIGxhIGludGVycHJldGFjacOzbiBvIGVqZWN1Y2nDs24gZGUgbGEgb2JyYSBlc3TDoSBwcmltb3JkaWFsbWVudGUgb3JpZW50YWRhIHBvciBvIGRpcmlnaWRhIGEgbGEgb2J0ZW5jacOzbiBkZSB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS48L2xpPgogICAgICAgICAgPGxpPlJlZ2Fsw61hcyBwb3IgRm9ub2dyYW1hcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBsb3MgY29uc2FncmFkb3MgcG9yIGxhIFNBWUNPKSwgdW5hIGFnZW5jaWEgZGUgZGVyZWNob3MgbXVzaWNhbGVzIG8gYWxnw7puIGFnZW50ZSBkZXNpZ25hZG8sIGxhcyByZWdhbMOtYXMgcG9yIGN1YWxxdWllciBmb25vZ3JhbWEgcXVlIFVzdGVkIGNyZWUgYSBwYXJ0aXIgZGUgbGEgb2JyYSAo4oCcdmVyc2nDs24gY292ZXLigJ0pIHkgZGlzdHJpYnV5YSwgZW4gbG9zIHTDqXJtaW5vcyBkZWwgcsOpZ2ltZW4gZGUgZGVyZWNob3MgZGUgYXV0b3IsIHNpIGxhIGNyZWFjacOzbiBvIGRpc3RyaWJ1Y2nDs24gZGUgZXNhIHZlcnNpw7NuIGNvdmVyIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkZXN0aW5hZGEgbyBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuPC9saT4KICAgICAgICA8L29sPgogICAgICA8L2xpPgogICAgICA8bGk+R2VzdGnDs24gZGUgRGVyZWNob3MgZGUgQXV0b3Igc29icmUgSW50ZXJwcmV0YWNpb25lcyB5IEVqZWN1Y2lvbmVzIERpZ2l0YWxlcyAoV2ViQ2FzdGluZykuIFBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgc2VhIHVuIGZvbm9ncmFtYSwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSBhdXRvcml6YXIgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSB5IGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIEFDSU5QUk8pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpLCBzdWpldGEgYSBsYXMgZGlzcG9zaWNpb25lcyBhcGxpY2FibGVzIGRlbCByw6lnaW1lbiBkZSBEZXJlY2hvIGRlIEF1dG9yLCBzaSBlc3RhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBlc3TDoSBwcmltb3JkaWFsbWVudGUgZGlyaWdpZGEgYSBvYnRlbmVyIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLjwvbGk+CiAgICA8L29sPgogIDwvbGk+CiAgPGJyLz4KICA8bGk+CiAgICBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KICAgIDxwPkEgTUVOT1MgUVVFIExBUyBQQVJURVMgTE8gQUNPUkRBUkFOIERFIE9UUkEgRk9STUEgUE9SIEVTQ1JJVE8sIEVMIExJQ0VOQ0lBTlRFIE9GUkVDRSBMQSBPQlJBIChFTiBFTCBFU1RBRE8gRU4gRUwgUVVFIFNFIEVOQ1VFTlRSQSkg4oCcVEFMIENVQUzigJ0sIFNJTiBCUklOREFSIEdBUkFOVMONQVMgREUgQ0xBU0UgQUxHVU5BIFJFU1BFQ1RPIERFIExBIE9CUkEsIFlBIFNFQSBFWFBSRVNBLCBJTVBMw41DSVRBLCBMRUdBTCBPIENVQUxRVUlFUkEgT1RSQSwgSU5DTFVZRU5ETywgU0lOIExJTUlUQVJTRSBBIEVMTEFTLCBHQVJBTlTDjUFTIERFIFRJVFVMQVJJREFELCBDT01FUkNJQUJJTElEQUQsIEFEQVBUQUJJTElEQUQgTyBBREVDVUFDScOTTiBBIFBST1DDk1NJVE8gREVURVJNSU5BRE8sIEFVU0VOQ0lBIERFIElORlJBQ0NJw5NOLCBERSBBVVNFTkNJQSBERSBERUZFQ1RPUyBMQVRFTlRFUyBPIERFIE9UUk8gVElQTywgTyBMQSBQUkVTRU5DSUEgTyBBVVNFTkNJQSBERSBFUlJPUkVTLCBTRUFOIE8gTk8gREVTQ1VCUklCTEVTIChQVUVEQU4gTyBOTyBTRVIgRVNUT1MgREVTQ1VCSUVSVE9TKS4gQUxHVU5BUyBKVVJJU0RJQ0NJT05FUyBOTyBQRVJNSVRFTiBMQSBFWENMVVNJw5NOIERFIEdBUkFOVMONQVMgSU1QTMONQ0lUQVMsIEVOIENVWU8gQ0FTTyBFU1RBIEVYQ0xVU0nDk04gUFVFREUgTk8gQVBMSUNBUlNFIEEgVVNURUQuPC9wPgogIDwvbGk+CiAgPGJyLz4KICA8bGk+CiAgICBMaW1pdGFjacOzbiBkZSByZXNwb25zYWJpbGlkYWQuCiAgICA8cD5BIE1FTk9TIFFVRSBMTyBFWElKQSBFWFBSRVNBTUVOVEUgTEEgTEVZIEFQTElDQUJMRSwgRUwgTElDRU5DSUFOVEUgTk8gU0VSw4EgUkVTUE9OU0FCTEUgQU5URSBVU1RFRCBQT1IgREHDkU8gQUxHVU5PLCBTRUEgUE9SIFJFU1BPTlNBQklMSURBRCBFWFRSQUNPTlRSQUNUVUFMLCBQUkVDT05UUkFDVFVBTCBPIENPTlRSQUNUVUFMLCBPQkpFVElWQSBPIFNVQkpFVElWQSwgU0UgVFJBVEUgREUgREHDkU9TIE1PUkFMRVMgTyBQQVRSSU1PTklBTEVTLCBESVJFQ1RPUyBPIElORElSRUNUT1MsIFBSRVZJU1RPUyBPIElNUFJFVklTVE9TIFBST0RVQ0lET1MgUE9SIEVMIFVTTyBERSBFU1RBIExJQ0VOQ0lBIE8gREUgTEEgT0JSQSwgQVVOIENVQU5ETyBFTCBMSUNFTkNJQU5URSBIQVlBIFNJRE8gQURWRVJUSURPIERFIExBIFBPU0lCSUxJREFEIERFIERJQ0hPUyBEQcORT1MuIEFMR1VOQVMgTEVZRVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBDSUVSVEEgUkVTUE9OU0FCSUxJREFELCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELjwvcD4KICA8L2xpPgogIDxici8+CiAgPGxpPgogICAgVMOpcm1pbm8uCiAgICA8b2wgdHlwZT0iYSI+CiAgICAgIDxsaT5Fc3RhIExpY2VuY2lhIHkgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBlbiB2aXJ0dWQgZGUgZWxsYSB0ZXJtaW5hcsOhbiBhdXRvbcOhdGljYW1lbnRlIHNpIFVzdGVkIGluZnJpbmdlIGFsZ3VuYSBjb25kaWNpw7NuIGVzdGFibGVjaWRhIGVuIGVsbGEuIFNpbiBlbWJhcmdvLCBsb3MgaW5kaXZpZHVvcyBvIGVudGlkYWRlcyBxdWUgaGFuIHJlY2liaWRvIE9icmFzIERlcml2YWRhcyBvIENvbGVjdGl2YXMgZGUgVXN0ZWQgZGUgY29uZm9ybWlkYWQgY29uIGVzdGEgTGljZW5jaWEsIG5vIHZlcsOhbiB0ZXJtaW5hZGFzIHN1cyBsaWNlbmNpYXMsIHNpZW1wcmUgcXVlIGVzdG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgc2lnYW4gY3VtcGxpZW5kbyDDrW50ZWdyYW1lbnRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhcyBsaWNlbmNpYXMuIExhcyBTZWNjaW9uZXMgMSwgMiwgNSwgNiwgNywgeSA4IHN1YnNpc3RpcsOhbiBhIGN1YWxxdWllciB0ZXJtaW5hY2nDs24gZGUgZXN0YSBMaWNlbmNpYS48L2xpPgogICAgICA8bGk+U3VqZXRhIGEgbGFzIGNvbmRpY2lvbmVzIHkgdMOpcm1pbm9zIGFudGVyaW9yZXMsIGxhIGxpY2VuY2lhIG90b3JnYWRhIGFxdcOtIGVzIHBlcnBldHVhIChkdXJhbnRlIGVsIHBlcsOtb2RvIGRlIHZpZ2VuY2lhIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZSBsYSBvYnJhKS4gTm8gb2JzdGFudGUgbG8gYW50ZXJpb3IsIGVsIExpY2VuY2lhbnRlIHNlIHJlc2VydmEgZWwgZGVyZWNobyBhIHB1YmxpY2FyIHkvbyBlc3RyZW5hciBsYSBPYnJhIGJham8gY29uZGljaW9uZXMgZGUgbGljZW5jaWEgZGlmZXJlbnRlcyBvIGEgZGVqYXIgZGUgZGlzdHJpYnVpcmxhIGVuIGxvcyB0w6lybWlub3MgZGUgZXN0YSBMaWNlbmNpYSBlbiBjdWFscXVpZXIgbW9tZW50bzsgZW4gZWwgZW50ZW5kaWRvLCBzaW4gZW1iYXJnbywgcXVlIGVzYSBlbGVjY2nDs24gbm8gc2Vydmlyw6EgcGFyYSByZXZvY2FyIGVzdGEgbGljZW5jaWEgbyBxdWUgZGViYSBzZXIgb3RvcmdhZGEgLCBiYWpvIGxvcyB0w6lybWlub3MgZGUgZXN0YSBsaWNlbmNpYSksIHkgZXN0YSBsaWNlbmNpYSBjb250aW51YXLDoSBlbiBwbGVubyB2aWdvciB5IGVmZWN0byBhIG1lbm9zIHF1ZSBzZWEgdGVybWluYWRhIGNvbW8gc2UgZXhwcmVzYSBhdHLDoXMuIExhIExpY2VuY2lhIHJldm9jYWRhIGNvbnRpbnVhcsOhIHNpZW5kbyBwbGVuYW1lbnRlIHZpZ2VudGUgeSBlZmVjdGl2YSBzaSBubyBzZSBsZSBkYSB0w6lybWlubyBlbiBsYXMgY29uZGljaW9uZXMgaW5kaWNhZGFzIGFudGVyaW9ybWVudGUuPC9saT4KICAgIDwvb2w+CiAgPC9saT4KICA8YnIvPgogIDxsaT4KICAgIFZhcmlvcy4KICAgIDxvbCB0eXBlPSJhIj4KICAgICAgPGxpPkNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuPC9saT4KICAgICAgPGxpPlNpIGFsZ3VuYSBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSByZXN1bHRhIGludmFsaWRhZGEgbyBubyBleGlnaWJsZSwgc2Vnw7puIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRlLCBlc3RvIG5vIGFmZWN0YXLDoSBuaSBsYSB2YWxpZGV6IG5pIGxhIGFwbGljYWJpbGlkYWQgZGVsIHJlc3RvIGRlIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgeSwgc2luIGFjY2nDs24gYWRpY2lvbmFsIHBvciBwYXJ0ZSBkZSBsb3Mgc3VqZXRvcyBkZSBlc3RlIGFjdWVyZG8sIGFxdcOpbGxhIHNlIGVudGVuZGVyw6EgcmVmb3JtYWRhIGxvIG3DrW5pbW8gbmVjZXNhcmlvIHBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLjwvbGk+CiAgICAgIDxsaT5OaW5nw7puIHTDqXJtaW5vIG8gZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgc2UgZXN0aW1hcsOhIHJlbnVuY2lhZGEgeSBuaW5ndW5hIHZpb2xhY2nDs24gZGUgZWxsYSBzZXLDoSBjb25zZW50aWRhIGEgbWVub3MgcXVlIGVzYSByZW51bmNpYSBvIGNvbnNlbnRpbWllbnRvIHNlYSBvdG9yZ2FkbyBwb3IgZXNjcml0byB5IGZpcm1hZG8gcG9yIGxhIHBhcnRlIHF1ZSByZW51bmNpZSBvIGNvbnNpZW50YS48L2xpPgogICAgICA8bGk+RXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLjwvbGk+CiAgICA8L29sPgogIDwvbGk+CiAgPGJyLz4KPC9vbD4K