Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos

Este trabajo presenta y analiza esquemas linealizados y conservativos para las ecuaciones de Poisson-Nernst-Planck (PNP), empleando aproximaciones de elementos finitos en las discretizaciones espacial. La discretización espacial se realiza mediante el Método de Elementos Finitos, mientras que para l...

Full description

Autores:
Cogollo Mausa, Sindi Paola
Bello Bertel, Marlidis
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad de Córdoba
Repositorio:
Repositorio Institucional Unicórdoba
Idioma:
spa
OAI Identifier:
oai:repositorio.unicordoba.edu.co:ucordoba/8846
Acceso en línea:
https://repositorio.unicordoba.edu.co/handle/ucordoba/8846
https://repositorio.unicordoba.edu.co
Palabra clave:
Ecuaciones de Nernst-Planck-Poisson
Métodos de Elementos Finitos
Esquema linealizado
Campo vectorial conservativo
Nernst-Planck-Poisson equations
Finite Element Methods
Linearized scheme
Conservative vector field
Rights
openAccess
License
Copyright Universidad de Córdoba, 2024
id UCORDOBA2_a8b2b7b1abd5801bc57414c324517991
oai_identifier_str oai:repositorio.unicordoba.edu.co:ucordoba/8846
network_acronym_str UCORDOBA2
network_name_str Repositorio Institucional Unicórdoba
repository_id_str
dc.title.spa.fl_str_mv Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
title Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
spellingShingle Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
Ecuaciones de Nernst-Planck-Poisson
Métodos de Elementos Finitos
Esquema linealizado
Campo vectorial conservativo
Nernst-Planck-Poisson equations
Finite Element Methods
Linearized scheme
Conservative vector field
title_short Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
title_full Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
title_fullStr Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
title_full_unstemmed Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
title_sort Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitos
dc.creator.fl_str_mv Cogollo Mausa, Sindi Paola
Bello Bertel, Marlidis
dc.contributor.advisor.none.fl_str_mv Reales Martínez, Carlos Alberto
dc.contributor.author.none.fl_str_mv Cogollo Mausa, Sindi Paola
Bello Bertel, Marlidis
dc.contributor.supervisor.none.fl_str_mv Silgado Ballesta, Albert Antonio
dc.contributor.jury.none.fl_str_mv ARENAS TAWIL, ABRAHAM JOSE
Velasquéz Ramos, Iván Darío
dc.subject.proposal.none.fl_str_mv Ecuaciones de Nernst-Planck-Poisson
Métodos de Elementos Finitos
Esquema linealizado
Campo vectorial conservativo
topic Ecuaciones de Nernst-Planck-Poisson
Métodos de Elementos Finitos
Esquema linealizado
Campo vectorial conservativo
Nernst-Planck-Poisson equations
Finite Element Methods
Linearized scheme
Conservative vector field
dc.subject.keywords.none.fl_str_mv Nernst-Planck-Poisson equations
Finite Element Methods
Linearized scheme
Conservative vector field
description Este trabajo presenta y analiza esquemas linealizados y conservativos para las ecuaciones de Poisson-Nernst-Planck (PNP), empleando aproximaciones de elementos finitos en las discretizaciones espacial. La discretización espacial se realiza mediante el Método de Elementos Finitos, mientras que para la discretización temporal se aplica un método linealizado de Euler. Este enfoque permite desacoplar las ecuaciones no lineales, resolviendo secuencialmente tres sistemas de ecuaciones lineales en cada paso temporal y proporcionando una estimación óptima del error en la norma L2. Se desarrolla un análisis de error para varias normas, incluyendo L∞(L2), aplicados a las incógnitas: concentraciones, flujos másicos y potencial eléctrico. Los resultados numéricos obtenidos en dominios bidimensionales confirman las propiedades de estabilidad, conservación y disipación del esquema. Esto valida teóricamente la eficiencia y robustez del método propuesto. El trabajo se fundamenta en los artículos [8, 9]), los cuales proporcionan una base teórica sólida y metodológica para el desarrollo de nuestras investigaciones. Hemos adoptado y adaptado las técnicas y enfoques presentados por esto artículos, asegurando así la coherencia y la validez de nuestros resultados.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-12-19T15:26:33Z
dc.date.available.none.fl_str_mv 2024-12-19T15:26:33Z
dc.date.issued.none.fl_str_mv 2024-12-19
dc.type.none.fl_str_mv Trabajo de grado - Pregrado
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.none.fl_str_mv Text
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unicordoba.edu.co/handle/ucordoba/8846
dc.identifier.instname.none.fl_str_mv Universidad de Córdoba
dc.identifier.reponame.none.fl_str_mv Repositorio Universidad de Córdoba
dc.identifier.repourl.none.fl_str_mv https://repositorio.unicordoba.edu.co
url https://repositorio.unicordoba.edu.co/handle/ucordoba/8846
https://repositorio.unicordoba.edu.co
identifier_str_mv Universidad de Córdoba
Repositorio Universidad de Córdoba
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv [1] M. Bazant, K. Thornton y A. Ajdari. «Diffuse-charge dynamics in electrochemical systems». En: Phys. Rev. E 70 (2 2004), pág. 021506.
[2] S. Brenner y R. Scott. The Mathematical Theory of Finite Element Methods. Texts in Applied Mathematics. Springer New York, 2007. ISBN: 9780387759333.
[3] M. Brunk y A. Kvaerno. «Positivity preserving discretization of time dependent semiconductor drift–diffusion equations». En: Applied Numerical Mathematics 62.10 (2012). Selected Papers from NUMDIFF-12, págs. 1289-1301. ISSN: 0168-9274.
[4] Y. Chen y L. Wu. Second order elliptic equations and elliptic systems. American Mathematical Soc., 1998.
[5] L. Evans. Partial differential equations. American Mathematical Society, 2022.
[6] A. Flavell et al. «A Conservative Finite Difference Scheme for Poisson-Nernst- Planck Equations». En: Journal of Computational Electronics 13 (mar. de 2013).[6] A. Flavell et al. «A Conservative Finite Difference Scheme for Poisson-Nernst- Planck Equations». En: Journal of Computational Electronics 13 (mar. de 2013).
[7] H. Gajewski y k. Gröger. «On the basic equations for carrier transport in semiconductors ». En: Journal of Mathematical Analysis and Applications 113.1 (1986), págs. 12-35. ISSN: 0022-247X.
[8] A. Gao y P. Sun. «A Linearized Local Conservative Mixed Finite Element Method for Poisson-Nernst-Planck Equations». En: Journal of Scientific Computing 77 (nov. de 2018).
[9] H. Gao y D. He. «Linearized Conservative Finite Element Methods for the Nernst-Planck-Poisson Equations». En: Journal of Scientific Computing 72 (sep. de 2017).
[10] G. Gatica. Introducción al análisis funcional: teoría y aplicaciones. Reverté, 2014. ISBN: 9788429151893.
[11] D. He y K. Pan. «An energy preserving finite difference scheme for the Poisson– Nernst–Planck system». En: Applied Mathematics and Computation 287-288 (2016), págs. 214-223. ISSN: 0096-3003.
[12] J. Heywood y R. Rannacher. «Finite-element approximation of the nonstationary Navier–Stokes problem. Part IV: error analysis for second-order time discretization ». En: SIAM Journal on Numerical Analysis (1990), págs. 353-384.
[13] M. Mirzadeh y F. Gibou. «A conservative discretization of the Poisson-Nernst- Planck equations on adaptive Cartesian grids». En: Journal of Computational Physics 274 (2014), págs. 633-653. ISSN: 0021-9991.
[14] L. Nirenberg. «An extended interpolation inequality». En: Annali della Scuola Normale Superiore di Pisa-Scienze Fisiche e Matematiche 20.4 (1966), págs. 733-737.
[15] A. Prohl y M. Schmuck. «Convergent discretizations for the Nernst-Planck- Poisson system». En: Numerische Mathematik 111 (feb. de 2009), págs. 591-630.
[16] R. Rannacher y R. Scott. «Some Optimal Error Estimates for Piecewise Linear Finite Element Approximations». En: Mathematics of Computation 38.158 (1982), págs. 437-445. ISSN: 00255718, 10886842.
[17] Y. Sun et al. «Error analysis of finite element method for Poisson-Nernst-Planck equations». En: Journal of Computational and Applied Mathematics 301 (2016), págs. 28-43. ISSN: 0377-0427.
dc.rights.none.fl_str_mv Copyright Universidad de Córdoba, 2024
dc.rights.uri.none.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.license.none.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Copyright Universidad de Córdoba, 2024
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.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de Córdoba
dc.publisher.faculty.none.fl_str_mv Facultad de Ciencias Básicas
dc.publisher.place.none.fl_str_mv Montería, Córdoba, Colombia
dc.publisher.program.none.fl_str_mv Matemática
publisher.none.fl_str_mv Universidad de Córdoba
institution Universidad de Córdoba
bitstream.url.fl_str_mv https://repositorio.unicordoba.edu.co/bitstreams/6c5673a2-cb0f-4da3-9f45-6e0ecb9ddb83/download
https://repositorio.unicordoba.edu.co/bitstreams/eda9be7a-f969-4e0b-97ac-1231e58057e6/download
https://repositorio.unicordoba.edu.co/bitstreams/cab6dc9d-b70d-4626-bb43-86e41221deff/download
https://repositorio.unicordoba.edu.co/bitstreams/89bf2894-bf34-4ed3-b079-a90c19ecb0b3/download
https://repositorio.unicordoba.edu.co/bitstreams/4845bad2-1555-4d6c-93ac-07c63a4544c7/download
https://repositorio.unicordoba.edu.co/bitstreams/f2b0d156-abc1-47fd-aee0-0e5a518d9037/download
https://repositorio.unicordoba.edu.co/bitstreams/9d16a7c6-4548-44c3-a5c8-c7e4c7a22690/download
bitstream.checksum.fl_str_mv 73a5432e0b76442b22b026844140d683
b4e0e4178822ef0fde5db76c4ba0e906
9564cd74436351a704818a219d1f60c8
ec39d0c8aab7517a1264f695df2f7aca
9cda9ee8251955d7c2de5632aec6da94
30f7f07398dcfc7e605429f19bdd198f
92612faa05dae24c491791812bacbd8b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad de Córdoba
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1839636043815452672
spelling Reales Martínez, Carlos Albertof34810a4-13b2-481e-b87c-28061d14f5fd600Cogollo Mausa, Sindi Paola0192eda4-6573-4f0d-b271-de409b986edd-1Bello Bertel, Marlidisfac6b385-fe8b-4b15-877d-e87f078ae8e3-1Silgado Ballesta, Albert AntonioARENAS TAWIL, ABRAHAM JOSEf4299d2c-883c-47ef-bf00-c085fc9c4c24600Velasquéz Ramos, Iván Darío4fe25337-86e6-4a1f-b7d4-23549c896f65-12024-12-19T15:26:33Z2024-12-19T15:26:33Z2024-12-19https://repositorio.unicordoba.edu.co/handle/ucordoba/8846Universidad de CórdobaRepositorio Universidad de Córdobahttps://repositorio.unicordoba.edu.coEste trabajo presenta y analiza esquemas linealizados y conservativos para las ecuaciones de Poisson-Nernst-Planck (PNP), empleando aproximaciones de elementos finitos en las discretizaciones espacial. La discretización espacial se realiza mediante el Método de Elementos Finitos, mientras que para la discretización temporal se aplica un método linealizado de Euler. Este enfoque permite desacoplar las ecuaciones no lineales, resolviendo secuencialmente tres sistemas de ecuaciones lineales en cada paso temporal y proporcionando una estimación óptima del error en la norma L2. Se desarrolla un análisis de error para varias normas, incluyendo L∞(L2), aplicados a las incógnitas: concentraciones, flujos másicos y potencial eléctrico. Los resultados numéricos obtenidos en dominios bidimensionales confirman las propiedades de estabilidad, conservación y disipación del esquema. Esto valida teóricamente la eficiencia y robustez del método propuesto. El trabajo se fundamenta en los artículos [8, 9]), los cuales proporcionan una base teórica sólida y metodológica para el desarrollo de nuestras investigaciones. Hemos adoptado y adaptado las técnicas y enfoques presentados por esto artículos, asegurando así la coherencia y la validez de nuestros resultados.This work presents and analyzes linearized and conservative schemes for the Poisson-Nernst-Planck (PNP) equations, utilizing finite element approximations for the spatial discretizations. The spatial discretization is performed using the Finite Element Method, while the temporal discretization employs a linearized Euler method. This approach decouples the nonlinear equations, solving three sequential linear systems at each time step and providing an optimal L 2 error estimate. Rigorous error analyses are conducted under various norms, including L ∞(L 2 ), for the unknowns: concentrations, mass fluxes, and electric potential. Numerical results in two-dimensional domains as well as the stability, conservation, and dissipation properties of the scheme. These findings theoretically validate the efficiency and robustness of the proposed method. The work is based on the articles [8, 9]), which provide a solid theoretical and methodological basis for the development of our research. We have adopted and adapted the techniques and approaches presented by these articles to address the specific problems of our study. , thus ensuring the coherence and validity of our results.Declaración de Autoría VResumen VIIAgradecimientos XIIntroducción 11. Preliminares ..............................................................31.1. Espacios de Sobolev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2. Implementación Computacional . . . . . . . . . . . . . . . . . . . . . . 151.3. Lemas Esenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4. Problema Continuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.5. Formulación Variacional . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.6. Formulación Completamente Discreta . . . . . . . . . . . . .... 211.6.1. Proyector de Ritz . . . . . . . . . . . . . . . . . . . . . . . . . . . .........222. Resultados Numéricos ................................................................352.1. Resultados Numéricos en Dos Dimensiones . . . . . . . . . . . . . . . 352.2. Análisis de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..........383. Conclusión........................................................................................393.1. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ......40Bibliografía ..........................................................................................43PregradoMatemático(a)Monografíasapplication/pdfspaUniversidad de CórdobaFacultad de Ciencias BásicasMontería, Córdoba, ColombiaMatemáticaCopyright Universidad de Córdoba, 2024https://creativecommons.org/licenses/by-nc-nd/4.0/Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Solución numérica para las ecuaciones de Nernst-Planck-Poisson usando un método de elementos finitosTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1finfo:eu-repo/semantics/acceptedVersionText[1] M. Bazant, K. Thornton y A. Ajdari. «Diffuse-charge dynamics in electrochemical systems». En: Phys. Rev. E 70 (2 2004), pág. 021506.[2] S. Brenner y R. Scott. The Mathematical Theory of Finite Element Methods. Texts in Applied Mathematics. Springer New York, 2007. ISBN: 9780387759333.[3] M. Brunk y A. Kvaerno. «Positivity preserving discretization of time dependent semiconductor drift–diffusion equations». En: Applied Numerical Mathematics 62.10 (2012). Selected Papers from NUMDIFF-12, págs. 1289-1301. ISSN: 0168-9274.[4] Y. Chen y L. Wu. Second order elliptic equations and elliptic systems. American Mathematical Soc., 1998.[5] L. Evans. Partial differential equations. American Mathematical Society, 2022.[6] A. Flavell et al. «A Conservative Finite Difference Scheme for Poisson-Nernst- Planck Equations». En: Journal of Computational Electronics 13 (mar. de 2013).[6] A. Flavell et al. «A Conservative Finite Difference Scheme for Poisson-Nernst- Planck Equations». En: Journal of Computational Electronics 13 (mar. de 2013).[7] H. Gajewski y k. Gröger. «On the basic equations for carrier transport in semiconductors ». En: Journal of Mathematical Analysis and Applications 113.1 (1986), págs. 12-35. ISSN: 0022-247X.[8] A. Gao y P. Sun. «A Linearized Local Conservative Mixed Finite Element Method for Poisson-Nernst-Planck Equations». En: Journal of Scientific Computing 77 (nov. de 2018).[9] H. Gao y D. He. «Linearized Conservative Finite Element Methods for the Nernst-Planck-Poisson Equations». En: Journal of Scientific Computing 72 (sep. de 2017).[10] G. Gatica. Introducción al análisis funcional: teoría y aplicaciones. Reverté, 2014. ISBN: 9788429151893.[11] D. He y K. Pan. «An energy preserving finite difference scheme for the Poisson– Nernst–Planck system». En: Applied Mathematics and Computation 287-288 (2016), págs. 214-223. ISSN: 0096-3003.[12] J. Heywood y R. Rannacher. «Finite-element approximation of the nonstationary Navier–Stokes problem. Part IV: error analysis for second-order time discretization ». En: SIAM Journal on Numerical Analysis (1990), págs. 353-384.[13] M. Mirzadeh y F. Gibou. «A conservative discretization of the Poisson-Nernst- Planck equations on adaptive Cartesian grids». En: Journal of Computational Physics 274 (2014), págs. 633-653. ISSN: 0021-9991.[14] L. Nirenberg. «An extended interpolation inequality». En: Annali della Scuola Normale Superiore di Pisa-Scienze Fisiche e Matematiche 20.4 (1966), págs. 733-737.[15] A. Prohl y M. Schmuck. «Convergent discretizations for the Nernst-Planck- Poisson system». En: Numerische Mathematik 111 (feb. de 2009), págs. 591-630.[16] R. Rannacher y R. Scott. «Some Optimal Error Estimates for Piecewise Linear Finite Element Approximations». En: Mathematics of Computation 38.158 (1982), págs. 437-445. ISSN: 00255718, 10886842.[17] Y. Sun et al. «Error analysis of finite element method for Poisson-Nernst-Planck equations». En: Journal of Computational and Applied Mathematics 301 (2016), págs. 28-43. ISSN: 0377-0427.Ecuaciones de Nernst-Planck-PoissonMétodos de Elementos FinitosEsquema linealizadoCampo vectorial conservativoNernst-Planck-Poisson equationsFinite Element MethodsLinearized schemeConservative vector fieldPublicationLICENSElicense.txtlicense.txttext/plain; charset=utf-815543https://repositorio.unicordoba.edu.co/bitstreams/6c5673a2-cb0f-4da3-9f45-6e0ecb9ddb83/download73a5432e0b76442b22b026844140d683MD51ORIGINALCogolloMausaSindiPaola-BelloBertelMarlidis.pdfCogolloMausaSindiPaola-BelloBertelMarlidis.pdfapplication/pdf1002227https://repositorio.unicordoba.edu.co/bitstreams/eda9be7a-f969-4e0b-97ac-1231e58057e6/downloadb4e0e4178822ef0fde5db76c4ba0e906MD52FORMATO DE AUTORIZACIÓN.pdfFORMATO DE AUTORIZACIÓN.pdfapplication/pdf420999https://repositorio.unicordoba.edu.co/bitstreams/cab6dc9d-b70d-4626-bb43-86e41221deff/download9564cd74436351a704818a219d1f60c8MD53TEXTCogolloMausaSindiPaola-BelloBertelMarlidis.pdf.txtCogolloMausaSindiPaola-BelloBertelMarlidis.pdf.txtExtracted texttext/plain71245https://repositorio.unicordoba.edu.co/bitstreams/89bf2894-bf34-4ed3-b079-a90c19ecb0b3/downloadec39d0c8aab7517a1264f695df2f7acaMD54FORMATO DE AUTORIZACIÓN.pdf.txtFORMATO DE AUTORIZACIÓN.pdf.txtExtracted texttext/plain5835https://repositorio.unicordoba.edu.co/bitstreams/4845bad2-1555-4d6c-93ac-07c63a4544c7/download9cda9ee8251955d7c2de5632aec6da94MD56THUMBNAILCogolloMausaSindiPaola-BelloBertelMarlidis.pdf.jpgCogolloMausaSindiPaola-BelloBertelMarlidis.pdf.jpgGenerated Thumbnailimage/jpeg8338https://repositorio.unicordoba.edu.co/bitstreams/f2b0d156-abc1-47fd-aee0-0e5a518d9037/download30f7f07398dcfc7e605429f19bdd198fMD55FORMATO DE AUTORIZACIÓN.pdf.jpgFORMATO DE AUTORIZACIÓN.pdf.jpgGenerated Thumbnailimage/jpeg14291https://repositorio.unicordoba.edu.co/bitstreams/9d16a7c6-4548-44c3-a5c8-c7e4c7a22690/download92612faa05dae24c491791812bacbd8bMD57ucordoba/8846oai:repositorio.unicordoba.edu.co:ucordoba/88462025-04-23 18:00:09.813https://creativecommons.org/licenses/by-nc-nd/4.0/Copyright Universidad de Córdoba, 2024open.accesshttps://repositorio.unicordoba.edu.coRepositorio Universidad de Córdobabdigital@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