Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32

En el presente proyecto se elabora un medidor de potencia usando el microcontrolador ESP32 programado en Arduino IDE y un sensor de corriente SCT-013. Se desarrolla un circuito de acondicionamiento para la lectura de voltaje y corriente y un circuito de enganche de fase (PLL). Se Utilizan los dos nú...

Full description

Autores:
Cortes Sànchez , Wilson
Ropero Mosquera, Manuel Alejandro
Tipo de recurso:
Fecha de publicación:
2024
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
OAI Identifier:
oai:repository.udistrital.edu.co:11349/93585
Acceso en línea:
http://hdl.handle.net/11349/93585
Palabra clave:
Sistemas embebidos
Sensores de corriente no invasivos
Monitores de consumo eléctrico
Sistemas de gestión de bases de datos (DBMS)
Eficiencia energética
Medición de frecuencia
Ingeniería Electrónica -- Tesis y disertaciones académicas
Internet de las cosas (IoT)
Redes eléctricas -- Monitoreo
Reguladores eléctricos
Potencia eléctrica -- Medición
Embedded systems
Non-invasive current sensors
Electricity consumption monitors
Database management systems (DBMS)
Efficiency energy
Frequency measurement
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_209909dba7a0ebd3c11039f37e94e21c
oai_identifier_str oai:repository.udistrital.edu.co:11349/93585
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
dc.title.titleenglish.none.fl_str_mv Development of IoT platform for intelligent electrical power monitoring using ESP32
title Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
spellingShingle Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
Sistemas embebidos
Sensores de corriente no invasivos
Monitores de consumo eléctrico
Sistemas de gestión de bases de datos (DBMS)
Eficiencia energética
Medición de frecuencia
Ingeniería Electrónica -- Tesis y disertaciones académicas
Internet de las cosas (IoT)
Redes eléctricas -- Monitoreo
Reguladores eléctricos
Potencia eléctrica -- Medición
Embedded systems
Non-invasive current sensors
Electricity consumption monitors
Database management systems (DBMS)
Efficiency energy
Frequency measurement
title_short Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
title_full Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
title_fullStr Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
title_full_unstemmed Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
title_sort Desarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32
dc.creator.fl_str_mv Cortes Sànchez , Wilson
Ropero Mosquera, Manuel Alejandro
dc.contributor.advisor.none.fl_str_mv Guacaeme Moreno , Javier Antonio
dc.contributor.author.none.fl_str_mv Cortes Sànchez , Wilson
Ropero Mosquera, Manuel Alejandro
dc.subject.none.fl_str_mv Sistemas embebidos
Sensores de corriente no invasivos
Monitores de consumo eléctrico
Sistemas de gestión de bases de datos (DBMS)
Eficiencia energética
Medición de frecuencia
topic Sistemas embebidos
Sensores de corriente no invasivos
Monitores de consumo eléctrico
Sistemas de gestión de bases de datos (DBMS)
Eficiencia energética
Medición de frecuencia
Ingeniería Electrónica -- Tesis y disertaciones académicas
Internet de las cosas (IoT)
Redes eléctricas -- Monitoreo
Reguladores eléctricos
Potencia eléctrica -- Medición
Embedded systems
Non-invasive current sensors
Electricity consumption monitors
Database management systems (DBMS)
Efficiency energy
Frequency measurement
dc.subject.lemb.none.fl_str_mv Ingeniería Electrónica -- Tesis y disertaciones académicas
Internet de las cosas (IoT)
Redes eléctricas -- Monitoreo
Reguladores eléctricos
Potencia eléctrica -- Medición
dc.subject.keyword.none.fl_str_mv Embedded systems
Non-invasive current sensors
Electricity consumption monitors
Database management systems (DBMS)
Efficiency energy
Frequency measurement
description En el presente proyecto se elabora un medidor de potencia usando el microcontrolador ESP32 programado en Arduino IDE y un sensor de corriente SCT-013. Se desarrolla un circuito de acondicionamiento para la lectura de voltaje y corriente y un circuito de enganche de fase (PLL). Se Utilizan los dos núcleos de la ESP32 uno para captura y procesamiento de las señales de entrada y otro para la transmisión de datos. Se implementa una conexión wifi para enviar datos de Potencia a un servidor, para ello, se emplea el protocolo HTTP y se envían los datos en formato JSON que con una aplicación IoT (Internet de las Cosas) permite el envío y recepción de datos, facilitando la comunicación con otros dispositivos y servidores en la nube; donde se diseña una página web que recibe la información procesada desde el servidor almacenándola en una base de datos. El instrumento resultante es de fácil instalación y de bajo costo e indica mediciones confiables de potencia. Este proyecto se realiza con el apoyo del grupo de investigación LIFAE de la Universidad Distrital Francisco José de Caldas.
publishDate 2024
dc.date.created.none.fl_str_mv 2024-11-12
dc.date.accessioned.none.fl_str_mv 2025-03-12T17:46:02Z
dc.date.available.none.fl_str_mv 2025-03-12T17:46:02Z
dc.type.none.fl_str_mv bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.degree.none.fl_str_mv Monografía
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/93585
url http://hdl.handle.net/11349/93585
dc.relation.references.none.fl_str_mv [1] García Maestre Ana. Sistema Cloud de monitorización de energía basado en un microcontrolador de doble núcleo. En: Universidad de Zaragoza, EINA (2022).
[2] Adams Michael D. Signals and Systems. University of Victoria, Victoria, British Columbia, Canada, 2020, p´ag. 13.
[3] Castillo Calvas Tuesman Daniel y Rivera Alvarez Anderson Nixon. Diseño y construcción de un prototipo de un sistema de medida, supervisión y análisis de consumo y calidad de energía en una edificación. 2019. url: https : / / dspace.utpl.edu.ec/handle/20.500.11962/24492 (visitado 29-08-2024).
[4] Banerjee Dean. PLL Performance,Simulation, and Desing. 5th. McGraw-Hill Education, 2007, pág. 7.
[5] Electronilab. Sensor De Corriente Alterna 100A Transformador SCT-013- 000 100A/1V. url: https : / / electronilab . co / tienda / sensor - de - corriente- alterna- 100a- transformador- sct- 013- 000- 100a- 1v/ (visitado 29-08-2024).
[6] EraTransformers. EE20/4-0.08VA Low Power Encapsulated Transformers. 2013. url: https://www.eratransformers.com/product- detail/29 (visitado 28-08-2024).
[7] Fuch Ewald F. y Masoum Mohammad A.S. POWER QUALITY IN POWER SYSTEMS, ELECTRICAL MACHINES, AND POWER-ELECTRONIC DRIVES. 3th. Elseiver, 2023, p´ag. 985.
[8] H. Frystyk. Hypertext Transfer Protocol. 1st. MIT/LCS, 1996, pág. 31.
[9] J. Gettys y J. Mogul. Hypertext Transfer Protocol – HTTP/1.1. MIT/LCS, 1999, pág. 51.
[10] IEC 62586-1:2017, Power quality measurement in power supply systems - Part 1: Power quality instruments (PQI). 2017.
[11] IEC 62586-2:2017, Power quality measurement in power supply systems - Part 2: Functional tests and uncertainty requirements. 2017.
[12] IEEE Std 519:1992, Recommended Practices and Requirements for Harmonic Control in Electrical Power Systems. 1992.
[13] Ikiss Jamal. SISTEMA DE ADQUISICION DE DATOS CON ESP32 ´ . 2020. url: https : / / upcommons . upc . edu / bitstream / handle / 2117 / 344400 / Sistema-de-adquisicion-de-datos-con-ESP32_Jamal-Ikiss.pdf (visitado 29-08-2024).
[14] MurkyRobot. SCT-013: Sensor de Corriente. 2024. url: https : / / www . murkyrobot. com /guias / sensores/ sct - 013- sensor- de- corriente (visitado 29-08-2024).
[15] NTC-IEC 61000-4-30:2012, Compatibilidad Electromagnética Técnicas de Ensayo y de Medida. Métodos de Medida de la Calidad de Potencia. 2012.
[16] Jimenez Pablo y Cabrera Mej´ıa Javier Bernardo. Sistema de monitoreo remoto del consumo energético para hogares en la ciudad de Cuenca, basado en principios de IoT y servicios en la nube. En: Dialnet 5.1 (2020), págs. 443-458.
[17] Golestan Saeed et al. Dynamics Assessment of Advanced Single-Phase PLL Structures. IEEE, 2013, pág. 2.
[18] Solingeni SAS. Cargas trifásicas para usar a una tensión máxima de 360 VAC. 2024. url: https://viceadmin.udistrital.edu.co/seccion-de-compras/ sites/seccompras/files/documentos-contrato/2021-09/contrato.pdf (visitado 29-08-2024).
[19] Ostergaard Dorte Skaarup y Svendsen Svend Smith Kevin Michael and. Funcionamiento a baja temperatura de los sistemas de calefacción para permitir la calefacción urbana de cuarta generación: una revisión. En: Elsevier 248.123529 (2022).
[20] Buenaventura Jiménez Kember Stalyn y Villamar Tandazo Wilson David. Sistema de monitoreo de consumo de energía eléctrica en tiempo real de bajo costo basado en internet de las cosas. En: ESPOL (2022).
[21] Tauxi. Regulador de Voltaje Lm2596 Modulo Dc-dc. 2024. url: https : / / tauxi.com.co/producto/regulador-de-voltaje-lm2596-modulo-dc-dc/ (visitado 29-08-2024).
[22] Oppenheim Alan V. y Schafer Ronald W. Discrete-Time Signal Processing. Prentice-Hall, Inc., 1999, pág. 776.
[23] Hart Daniel W. Electonica de Potencia. 1st. Pearson Education, 2001, págs. 19-40.
[24] Valvano Jonathan W. EMBEDDED SYSTEMS: INTRODUCTION TO ARM CORTEX-M MICROCONTROLLERS. 5th. Utexas, 2014, pág. 52.
[25] YHDC. Split core current transformer. 2024. url: https://www.alldatasheet. com/datasheet-pdf/download/1160238/YHDC/SCT013-015.html (visitado 29-08-2024).
[26] Circuits for you. ESP32 DevKit ESP32-WROOM GPIO Pinout. 2018. url: https://circuits4you.com/2018/12/31/esp32- devkit- esp32- wroomgpio-pinout/ (visitado 28-08-2024).
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.acceso.none.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.none.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/923ee3da-6380-4cb5-92db-10c769c20bcf/download
https://repository.udistrital.edu.co/bitstreams/049b6b11-0646-4546-982c-db0dbaa6f5d6/download
https://repository.udistrital.edu.co/bitstreams/d7d3433c-0c37-44a1-9f72-c5415007916a/download
https://repository.udistrital.edu.co/bitstreams/190fa3b4-5fca-4843-8941-8873fcfb1f84/download
https://repository.udistrital.edu.co/bitstreams/246076dd-fb5e-4fa0-8099-bb400cad924e/download
bitstream.checksum.fl_str_mv 3f7ec51be6d93ac694e6f4f3c4a20a15
110d521dbf97f1e34813f1e20bf95979
997daf6c648c962d566d7b082dac908d
29ac528238f8ba9d302bf1ab3f300b5b
9a32479dadd44df7acb2a26bd4cdcbd3
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828165647501099008
spelling Guacaeme Moreno , Javier AntonioCortes Sànchez , WilsonRopero Mosquera, Manuel Alejandro2025-03-12T17:46:02Z2025-03-12T17:46:02Z2024-11-12http://hdl.handle.net/11349/93585En el presente proyecto se elabora un medidor de potencia usando el microcontrolador ESP32 programado en Arduino IDE y un sensor de corriente SCT-013. Se desarrolla un circuito de acondicionamiento para la lectura de voltaje y corriente y un circuito de enganche de fase (PLL). Se Utilizan los dos núcleos de la ESP32 uno para captura y procesamiento de las señales de entrada y otro para la transmisión de datos. Se implementa una conexión wifi para enviar datos de Potencia a un servidor, para ello, se emplea el protocolo HTTP y se envían los datos en formato JSON que con una aplicación IoT (Internet de las Cosas) permite el envío y recepción de datos, facilitando la comunicación con otros dispositivos y servidores en la nube; donde se diseña una página web que recibe la información procesada desde el servidor almacenándola en una base de datos. El instrumento resultante es de fácil instalación y de bajo costo e indica mediciones confiables de potencia. Este proyecto se realiza con el apoyo del grupo de investigación LIFAE de la Universidad Distrital Francisco José de Caldas.In this project, a power meter is made using the ESP32 microcontroller programmed in Arduino IDE and a SCT-013 current sensor. A conditioning circuit for reading voltage and current and a phase lock circuit (PLL) are developed. The two cores of the ESP32 are used, one for capturing and processing input signals and the other for data transmission. A Wi-Fi connection is implemented to send Power data to a server. To do this, the HTTP protocol is used and the data is sent in JSON format, which with an IoT (Internet of Things) application allows the sending and receiving of data, facilitating communication with other devices and cloud servers; where a web page is designed that receives the processed information from the server, storing it in a database. The resulting instrument is easy to install and low cost and indicates reliable power measurements. This project is carried out with the support of the LIFAE research group of the Francisco José de Caldas District University.pdfSistemas embebidosSensores de corriente no invasivosMonitores de consumo eléctricoSistemas de gestión de bases de datos (DBMS)Eficiencia energéticaMedición de frecuenciaIngeniería Electrónica -- Tesis y disertaciones académicasInternet de las cosas (IoT)Redes eléctricas -- MonitoreoReguladores eléctricosPotencia eléctrica -- MediciónEmbedded systemsNon-invasive current sensorsElectricity consumption monitorsDatabase management systems (DBMS)Efficiency energyFrequency measurementDesarrollo de plataforma IoT para monitoreo inteligente de potencia electrica utilizando ESP32Development of IoT platform for intelligent electrical power monitoring using ESP32bachelorThesisMonografíahttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2[1] García Maestre Ana. Sistema Cloud de monitorización de energía basado en un microcontrolador de doble núcleo. En: Universidad de Zaragoza, EINA (2022).[2] Adams Michael D. Signals and Systems. University of Victoria, Victoria, British Columbia, Canada, 2020, p´ag. 13.[3] Castillo Calvas Tuesman Daniel y Rivera Alvarez Anderson Nixon. Diseño y construcción de un prototipo de un sistema de medida, supervisión y análisis de consumo y calidad de energía en una edificación. 2019. url: https : / / dspace.utpl.edu.ec/handle/20.500.11962/24492 (visitado 29-08-2024).[4] Banerjee Dean. PLL Performance,Simulation, and Desing. 5th. McGraw-Hill Education, 2007, pág. 7.[5] Electronilab. Sensor De Corriente Alterna 100A Transformador SCT-013- 000 100A/1V. url: https : / / electronilab . co / tienda / sensor - de - corriente- alterna- 100a- transformador- sct- 013- 000- 100a- 1v/ (visitado 29-08-2024).[6] EraTransformers. EE20/4-0.08VA Low Power Encapsulated Transformers. 2013. url: https://www.eratransformers.com/product- detail/29 (visitado 28-08-2024).[7] Fuch Ewald F. y Masoum Mohammad A.S. POWER QUALITY IN POWER SYSTEMS, ELECTRICAL MACHINES, AND POWER-ELECTRONIC DRIVES. 3th. Elseiver, 2023, p´ag. 985.[8] H. Frystyk. Hypertext Transfer Protocol. 1st. MIT/LCS, 1996, pág. 31.[9] J. Gettys y J. Mogul. Hypertext Transfer Protocol – HTTP/1.1. MIT/LCS, 1999, pág. 51.[10] IEC 62586-1:2017, Power quality measurement in power supply systems - Part 1: Power quality instruments (PQI). 2017.[11] IEC 62586-2:2017, Power quality measurement in power supply systems - Part 2: Functional tests and uncertainty requirements. 2017.[12] IEEE Std 519:1992, Recommended Practices and Requirements for Harmonic Control in Electrical Power Systems. 1992.[13] Ikiss Jamal. SISTEMA DE ADQUISICION DE DATOS CON ESP32 ´ . 2020. url: https : / / upcommons . upc . edu / bitstream / handle / 2117 / 344400 / Sistema-de-adquisicion-de-datos-con-ESP32_Jamal-Ikiss.pdf (visitado 29-08-2024).[14] MurkyRobot. SCT-013: Sensor de Corriente. 2024. url: https : / / www . murkyrobot. com /guias / sensores/ sct - 013- sensor- de- corriente (visitado 29-08-2024).[15] NTC-IEC 61000-4-30:2012, Compatibilidad Electromagnética Técnicas de Ensayo y de Medida. Métodos de Medida de la Calidad de Potencia. 2012.[16] Jimenez Pablo y Cabrera Mej´ıa Javier Bernardo. Sistema de monitoreo remoto del consumo energético para hogares en la ciudad de Cuenca, basado en principios de IoT y servicios en la nube. En: Dialnet 5.1 (2020), págs. 443-458.[17] Golestan Saeed et al. Dynamics Assessment of Advanced Single-Phase PLL Structures. IEEE, 2013, pág. 2.[18] Solingeni SAS. Cargas trifásicas para usar a una tensión máxima de 360 VAC. 2024. url: https://viceadmin.udistrital.edu.co/seccion-de-compras/ sites/seccompras/files/documentos-contrato/2021-09/contrato.pdf (visitado 29-08-2024).[19] Ostergaard Dorte Skaarup y Svendsen Svend Smith Kevin Michael and. Funcionamiento a baja temperatura de los sistemas de calefacción para permitir la calefacción urbana de cuarta generación: una revisión. En: Elsevier 248.123529 (2022).[20] Buenaventura Jiménez Kember Stalyn y Villamar Tandazo Wilson David. Sistema de monitoreo de consumo de energía eléctrica en tiempo real de bajo costo basado en internet de las cosas. En: ESPOL (2022).[21] Tauxi. Regulador de Voltaje Lm2596 Modulo Dc-dc. 2024. url: https : / / tauxi.com.co/producto/regulador-de-voltaje-lm2596-modulo-dc-dc/ (visitado 29-08-2024).[22] Oppenheim Alan V. y Schafer Ronald W. Discrete-Time Signal Processing. Prentice-Hall, Inc., 1999, pág. 776.[23] Hart Daniel W. Electonica de Potencia. 1st. Pearson Education, 2001, págs. 19-40.[24] Valvano Jonathan W. EMBEDDED SYSTEMS: INTRODUCTION TO ARM CORTEX-M MICROCONTROLLERS. 5th. Utexas, 2014, pág. 52.[25] YHDC. Split core current transformer. 2024. url: https://www.alldatasheet. com/datasheet-pdf/download/1160238/YHDC/SCT013-015.html (visitado 29-08-2024).[26] Circuits for you. ESP32 DevKit ESP32-WROOM GPIO Pinout. 2018. url: https://circuits4you.com/2018/12/31/esp32- devkit- esp32- wroomgpio-pinout/ (visitado 28-08-2024).ORIGINALWilsonCortesSanchez2024.pdfWilsonCortesSanchez2024.pdfapplication/pdf17549292https://repository.udistrital.edu.co/bitstreams/923ee3da-6380-4cb5-92db-10c769c20bcf/download3f7ec51be6d93ac694e6f4f3c4a20a15MD52Licencia de uso y autorizaciónLicencia de uso y autorizaciónapplication/pdf138548https://repository.udistrital.edu.co/bitstreams/049b6b11-0646-4546-982c-db0dbaa6f5d6/download110d521dbf97f1e34813f1e20bf95979MD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/d7d3433c-0c37-44a1-9f72-c5415007916a/download997daf6c648c962d566d7b082dac908dMD55THUMBNAILWilsonCortesSanchez2024.pdf.jpgWilsonCortesSanchez2024.pdf.jpgIM Thumbnailimage/jpeg4764https://repository.udistrital.edu.co/bitstreams/190fa3b4-5fca-4843-8941-8873fcfb1f84/download29ac528238f8ba9d302bf1ab3f300b5bMD56Licencia de uso y autorización.jpgLicencia de uso y autorización.jpgIM Thumbnailimage/jpeg9537https://repository.udistrital.edu.co/bitstreams/246076dd-fb5e-4fa0-8099-bb400cad924e/download9a32479dadd44df7acb2a26bd4cdcbd3MD5711349/93585oai:repository.udistrital.edu.co:11349/935852025-03-13 01:06:30.644open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK