Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto

Este documento incluye las actividades realizadas para la selección y despliegue de una plataforma de Internet de las Cosas (IoT, por sus siglas en inglés) en el Politécnico Grancolombiano. Se presenta la metodología propuesta para el desarrollo del proyecto, así como un marco conceptual que permita...

Full description

Autores:
Martínez Marín, Nicolás
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Institución Universitaria Politécnico Grancolombiano
Repositorio:
Alejandría Repositorio Institucional
Idioma:
spa
OAI Identifier:
oai:alejandria.poligran.edu.co:10823/7014
Acceso en línea:
http://hdl.handle.net/10823/7014
Palabra clave:
Internet de las cosas
Open Source
Tecnología
Circuitos electrónicos
Internet de las cosas
Microprogramación
Internet of things
Open Source
Technology
Rights
License
Atribución-NoComercial-SinDerivadas 2.5 Colombia
id Poli2_d19007c08de51876c52b34a809746d7c
oai_identifier_str oai:alejandria.poligran.edu.co:10823/7014
network_acronym_str Poli2
network_name_str Alejandría Repositorio Institucional
repository_id_str
dc.title.spa.fl_str_mv Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
dc.title.translated.spa.fl_str_mv IOT ecosystem for the integration of classroom projects using open-source tools
title Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
spellingShingle Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
Internet de las cosas
Open Source
Tecnología
Circuitos electrónicos
Internet de las cosas
Microprogramación
Internet of things
Open Source
Technology
title_short Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
title_full Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
title_fullStr Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
title_full_unstemmed Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
title_sort Ecosistema de IOT para integración de proyectos de aula utilizando herramientas de código abierto
dc.creator.fl_str_mv Martínez Marín, Nicolás
dc.contributor.advisor.none.fl_str_mv Ávila Buitrago, Gabriel Eduardo
dc.contributor.author.none.fl_str_mv Martínez Marín, Nicolás
dc.subject.proposal.spa.fl_str_mv Internet de las cosas
Open Source
Tecnología
topic Internet de las cosas
Open Source
Tecnología
Circuitos electrónicos
Internet de las cosas
Microprogramación
Internet of things
Open Source
Technology
dc.subject.lemb.spa.fl_str_mv Circuitos electrónicos
Internet de las cosas
Microprogramación
dc.subject.keywords.spa.fl_str_mv Internet of things
Open Source
Technology
description Este documento incluye las actividades realizadas para la selección y despliegue de una plataforma de Internet de las Cosas (IoT, por sus siglas en inglés) en el Politécnico Grancolombiano. Se presenta la metodología propuesta para el desarrollo del proyecto, así como un marco conceptual que permita comprender algunos de los términos y tecnologías trabajados en el documento, particularmente respecto a lo correspondiente a IoT. Posteriormente se describen las actividades de diseño y despliegue de la arquitectura para apoyar proyectos de aula que usen tecnologías de IoT. Finalmente, se incluye descripción de las actividades realizadas con estudiantes que usaron la plataforma seleccionada desplegada en las instalaciones del Politécnico Grancolombiano.
publishDate 2023
dc.date.accessioned.none.fl_str_mv 2023-11-14T23:09:09Z
dc.date.available.none.fl_str_mv 2023-11-14T23:09:09Z
dc.date.issued.none.fl_str_mv 2023-07-21
dc.type.spa.fl_str_mv bachelorThesis
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_b1a7d7d4d402bcce
dc.type.local.spa.fl_str_mv Tesis/Trabajo de grado - Monografía - Pregrado
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.redcol.none.fl_str_mv https://purl.org/redcol/resource_type/TP
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/10823/7014
dc.identifier.instname.spa.fl_str_mv instname:Politécnico Grancolombiano
dc.identifier.reponame.spa.fl_str_mv reponame:Alejandría Repositorio Comunidad
dc.identifier.repourl.spa.fl_str_mv repourl:http://alejandria.poligran.edu.co
url http://hdl.handle.net/10823/7014
identifier_str_mv instname:Politécnico Grancolombiano
reponame:Alejandría Repositorio Comunidad
repourl:http://alejandria.poligran.edu.co
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv MQTT Sparkplug solution. (s.f.). Recuperado el 16 de marzo de 2023, de https://www.hivemq.com/solutions/technology/mqtt-sparkplug/
Tyutyundzhiev, N., Angelov, C., Arsov, T., Lovchinov, K., Nitchev, H., Mutafov, A., & Alexieva, G. (2023). Remote datalogging of solar UV irradiation using open-source ESP32 platform and MQTT protocol. Journal of Physics: Conference Series.
Okhovat, E., & Bauer, M. (2021). Monitoring the Smart City Sensor Data Using Thingsboard and Node-Red. Proceedings - 2021 IEEE SmartWorld, Ubiquitous Intelligence and Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Internet of People, and Smart City Innovations, SmartWorld/ScalCom/UIC/ATC/IoP/SCI 2021.
Okhovat, E., & Bauer, M. (2021). Monitoring the Smart City Sensor Data Using Thingsboard and Node-Red. Proceedings - 2021 IEEE SmartWorld, Ubiquitous Intelligence and Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Internet of People, and Smart City Innovations, SmartWorld/ScalCom/UIC/ATC/IoP/SCI 2021.
Kaa documentation . (s.f.). Recuperado el 2023, de https://kaaproject.github.io/kaa/docs/v0.10.0/Programming-guide/Key-platformfeatures/
Arduino cloud. (s.f.). Recuperado el 2023, de https://cloud.arduino.cc/plans
openHab. (s.f.). Recuperado el 2023, de https://www.openhab.org/docs/
Node-RED. (s.f.). Recuperado el 2023, de https://nodered.org/docs/
ThingSpeak. (2023). Obtenido de https://thingspeak.com/pages/learn_more
Home Assistant. (s.f.). Recuperado el 2023, de https://www.home-assistant.io/docs/
ThingsBoard docs. (s.f.). Recuperado el abril de 2023, de https://thingsboard.io/docs/getting-started-guides/what-is-thingsboard/
Thingsboard arquitectura. (s.f.). Recuperado el 2023, de https://thingsboard.io/docs/reference/
Thingsboard funcionalidades. (2023). Obtenido de https://thingsboard.io/docs/
Docker ubuntu. (2023). Obtenido de https://docs.docker.com/engine/install/ubuntu/
Thingsboard escenarios despliegue. (2023). Obtenido de https://thingsboard.io/docs/reference/iot-platform-deploymentscenarios/# performance-requirements
Thingsboard instalación Docker. (2023). Obtenido de https://thingsboard.io/docs/userguide/ install/docker/?ubuntuThingsboardQueue=kafka Thingsboard ubuntu server. (2023). Obtenido de https://thingsboard.io/docs/userguide/ install/ubuntu/
"IEEE Standard for an Architectural Framework for the Internet of Things (IoT)," in IEEE Std 2413-2019 , vol., no., pp.1-269, 10 March 2020, doi: 10.1109/IEEESTD.2020.9032420. (2020). IEEE.
sparkfun drivers CH341. (2023). Obtenido de https://learn.sparkfun.com/tutorials/how-toinstall- ch340-drivers/all#mac-osx
Thingsboard dispositivos. (2023). Obtenido de https://thingsboard.io/docs/devices-library
Estupiñán López, J. C., López Rojas, K. N., Ramírez, D. A., & Duarte Cepeda, F. (2023). Implementación máquina de estados SUMO. Bogotá: Proyecto de aula Sistemas Digitales y Ensambladores no publicado.
Estupiñán López, J. C., López Rojas, K. N., Ramírez, D. A., & Duarte Cepeda, F. (2023). Implementación máquina de estados SUMO. Bogotá: Proyecto de aula Sistemas Digitales y Ensambladores no publicado.
Becerra Ruiz, N. V., Tamara Rodriguez, J. C., Redondo Hernandez, E. R., & Ramirez, D. A. (2023). DISPENSADOR AUTOMATIZADO DE ALIMENTOS PARA MASCOTAS. Bogotá: Proyecto de aula sistemas digitales y ensambladores no publicado.
Ruiz, S. S., Londoño, J. B., & Sánchez, L. Y. (2023). Estación Meteorológica. Bogotá: Proyecto de aula sistemas digitales y ensambladores no publicado.
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.coverage.spatial.none.fl_str_mv Bogotá D.C.
dc.publisher.program.spa.fl_str_mv Ingeniería en Telecomunicaciones
dc.publisher.faculty.spa.fl_str_mv Facultad de ingeniería y Diseño e Innovación
institution Institución Universitaria Politécnico Grancolombiano
bitstream.url.fl_str_mv https://alejandria.poligran.edu.co/bitstream/10823/7014/1/Documento%20FINAL.pdf
https://alejandria.poligran.edu.co/bitstream/10823/7014/2/license.txt
https://alejandria.poligran.edu.co/bitstream/10823/7014/3/Documento%20FINAL.pdf.jpg
bitstream.checksum.fl_str_mv c56a2c4e672e191f6cff51df27a33780
8a4605be74aa9ea9d79846c1fba20a33
b8ce490656f602f984f15696d8d4f772
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Comunidad Politecnico Grancolombiano
repository.mail.fl_str_mv dspace@poligran.edu.co
_version_ 1814349475739598848
spelling Ávila Buitrago, Gabriel EduardoMartínez Marín, NicolásBogotá D.C.2023-11-14T23:09:09Z2023-11-14T23:09:09Z2023-07-21http://hdl.handle.net/10823/7014instname:Politécnico Grancolombianoreponame:Alejandría Repositorio Comunidadrepourl:http://alejandria.poligran.edu.coEste documento incluye las actividades realizadas para la selección y despliegue de una plataforma de Internet de las Cosas (IoT, por sus siglas en inglés) en el Politécnico Grancolombiano. Se presenta la metodología propuesta para el desarrollo del proyecto, así como un marco conceptual que permita comprender algunos de los términos y tecnologías trabajados en el documento, particularmente respecto a lo correspondiente a IoT. Posteriormente se describen las actividades de diseño y despliegue de la arquitectura para apoyar proyectos de aula que usen tecnologías de IoT. Finalmente, se incluye descripción de las actividades realizadas con estudiantes que usaron la plataforma seleccionada desplegada en las instalaciones del Politécnico Grancolombiano.RESUMEN......3 CAPÍTULO 1......9 1. ANTECEDENTES......9 1.1. Justificación ......9 1.2. Alcance....9 1.3. Objetivo general....10 1.3.1. Objetivos específicos....10 CAPITULO 2...11 2. MARCO METODOLÓGICO .....11 2.1. Fase de análisis....11 2.2. Fase de diseño....11 2.3. Fase de despliegue ...11 2.4. Fase de verificación ...12 CAPITULO 3...13 3. MARCO CONCEPTUAL...13 3.1. IoT ....13 3.2. Funcionamiento del IoT....14 3.2.1. Recopilación de datos:...14 3.2.2. Comunicación ...14 3.2.3. Procesamiento y análisis....14 3.2.4. Toma de decisiones y acciones..14 3.3. Protocolos de comunicación....15 3.3.1. HTTP (Hypertext Transfer Protocol)......15 3.3.2. Web Socket.....16 3.3.3. CoAP (Constrained Application Protocol) ...16 3.3.4. MQTT (Message Queuing Telemetry Transport) ...17 CAPÍTULO 4......18 4. DESARROLLO DEL PROYECTO..18 4.1. Selección de tecnologías....18 4.1.1. Revisión de proyectos....18 4.1.2. Análisis de plataformas IoT ........19 4.1.2.1. Arduino cloud.......20 4.1.2.2. Hive mq .......20 4.1.2.3. Home Assistant........21 4.1.2.4. Kaa .......21 4.1.2.5. Node-red.......21 4.1.2.6. OpenHAB .....22 4.1.2.7. ThingSpeak ......22 4.1.2.8. Thingsboard ......22 4.1.3. Selección plataforma IoT......22 4.1.4. Selección herramientas de hardware IoT .....23 4.2. Diseño del ecosistema IoT ....23 4.3. Fase de despliegue ......28 4.4. Fase de verificación ......29 4.4.1. Semana TIC...29 4.4.2. Proyectos de aula Sistemas Digitales..30 4.4.3. Resultados Encuesta conocimientos previos....33 CAPÍTULO 5.....34 5. Conclusiones y trabajo futuro.....34 5.1. Conclusiones....34 5.2. Trabajo futuro ....34 5.3. BIBLIOGRAFÍA ...35 CAPÍTULO 6.....37 6. ANEXOS...37 6.1.1. Guía instalación Thingsboard ....37 6.1.1.1. Instalación Docker sobre Ubuntu .....37 6.1.1.2. Instalación en equipo local .....37 6.1.1.3. Instalación en Google Cloud......39 6.1.1.4. Instalación en raspberry Pi 4....41 6.2. Experimentos locales ......44 6.3. Información proporcionada......49 6.4. Entrevista grupal estudiantes.....51 6.5. Formulario conocimientos previos IoT.....52 6.6. Formulario encuesta de satisfacción .....53 6.7. Acceso para docentes....54 6.8. Manual funcionalidades Thingsboard ........57This document includes the activities carried out for the selection and deployment of an Internet of Things (IoT) platform at the Politécnico Grancolombiano. The proposed methodology for project development is presented, along with a conceptual framework that allows understanding some of the terms and technologies addressed in the document, particularly concerning IoT. Subsequently, the design and deployment activities of the architecture to support classroom projects using IoT technologies are described. Finally, a description of the activities conducted with students who used the selected platform deployed at the facilities of the Politécnico Grancolombiano is included.application/pdfspaEcosistema de IOT para integración de proyectos de aula utilizando herramientas de código abiertoIOT ecosystem for the integration of classroom projects using open-source toolsbachelorThesisTesis/Trabajo de grado - Monografía - Pregradoinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fhttps://purl.org/redcol/resource_type/TPhttp://purl.org/coar/version/c_b1a7d7d4d402bcceInternet de las cosasOpen SourceTecnologíaCircuitos electrónicosInternet de las cosasMicroprogramaciónInternet of thingsOpen SourceTechnologyMQTT Sparkplug solution. (s.f.). Recuperado el 16 de marzo de 2023, de https://www.hivemq.com/solutions/technology/mqtt-sparkplug/Tyutyundzhiev, N., Angelov, C., Arsov, T., Lovchinov, K., Nitchev, H., Mutafov, A., & Alexieva, G. (2023). Remote datalogging of solar UV irradiation using open-source ESP32 platform and MQTT protocol. Journal of Physics: Conference Series.Okhovat, E., & Bauer, M. (2021). Monitoring the Smart City Sensor Data Using Thingsboard and Node-Red. Proceedings - 2021 IEEE SmartWorld, Ubiquitous Intelligence and Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Internet of People, and Smart City Innovations, SmartWorld/ScalCom/UIC/ATC/IoP/SCI 2021.Okhovat, E., & Bauer, M. (2021). Monitoring the Smart City Sensor Data Using Thingsboard and Node-Red. Proceedings - 2021 IEEE SmartWorld, Ubiquitous Intelligence and Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Internet of People, and Smart City Innovations, SmartWorld/ScalCom/UIC/ATC/IoP/SCI 2021.Kaa documentation . (s.f.). Recuperado el 2023, de https://kaaproject.github.io/kaa/docs/v0.10.0/Programming-guide/Key-platformfeatures/Arduino cloud. (s.f.). Recuperado el 2023, de https://cloud.arduino.cc/plansopenHab. (s.f.). Recuperado el 2023, de https://www.openhab.org/docs/Node-RED. (s.f.). Recuperado el 2023, de https://nodered.org/docs/ThingSpeak. (2023). Obtenido de https://thingspeak.com/pages/learn_moreHome Assistant. (s.f.). Recuperado el 2023, de https://www.home-assistant.io/docs/ThingsBoard docs. (s.f.). Recuperado el abril de 2023, de https://thingsboard.io/docs/getting-started-guides/what-is-thingsboard/Thingsboard arquitectura. (s.f.). Recuperado el 2023, de https://thingsboard.io/docs/reference/Thingsboard funcionalidades. (2023). Obtenido de https://thingsboard.io/docs/Docker ubuntu. (2023). Obtenido de https://docs.docker.com/engine/install/ubuntu/Thingsboard escenarios despliegue. (2023). Obtenido de https://thingsboard.io/docs/reference/iot-platform-deploymentscenarios/# performance-requirementsThingsboard instalación Docker. (2023). Obtenido de https://thingsboard.io/docs/userguide/ install/docker/?ubuntuThingsboardQueue=kafka Thingsboard ubuntu server. (2023). Obtenido de https://thingsboard.io/docs/userguide/ install/ubuntu/"IEEE Standard for an Architectural Framework for the Internet of Things (IoT)," in IEEE Std 2413-2019 , vol., no., pp.1-269, 10 March 2020, doi: 10.1109/IEEESTD.2020.9032420. (2020). IEEE.sparkfun drivers CH341. (2023). Obtenido de https://learn.sparkfun.com/tutorials/how-toinstall- ch340-drivers/all#mac-osxThingsboard dispositivos. (2023). Obtenido de https://thingsboard.io/docs/devices-libraryEstupiñán López, J. C., López Rojas, K. N., Ramírez, D. A., & Duarte Cepeda, F. (2023). Implementación máquina de estados SUMO. Bogotá: Proyecto de aula Sistemas Digitales y Ensambladores no publicado.Estupiñán López, J. C., López Rojas, K. N., Ramírez, D. A., & Duarte Cepeda, F. (2023). Implementación máquina de estados SUMO. Bogotá: Proyecto de aula Sistemas Digitales y Ensambladores no publicado.Becerra Ruiz, N. V., Tamara Rodriguez, J. C., Redondo Hernandez, E. R., & Ramirez, D. A. (2023). DISPENSADOR AUTOMATIZADO DE ALIMENTOS PARA MASCOTAS. Bogotá: Proyecto de aula sistemas digitales y ensambladores no publicado.Ruiz, S. S., Londoño, J. B., & Sánchez, L. Y. (2023). Estación Meteorológica. Bogotá: Proyecto de aula sistemas digitales y ensambladores no publicado.Ingeniería en TelecomunicacionesFacultad de ingeniería y Diseño e InnovaciónAtribución-NoComercial-SinDerivadas 2.5 Colombiahttp://purl.org/coar/access_right/c_abf2ORIGINALDocumento FINAL.pdfDocumento FINAL.pdfDocumento principal de trabajo gradoapplication/pdf17754168https://alejandria.poligran.edu.co/bitstream/10823/7014/1/Documento%20FINAL.pdfc56a2c4e672e191f6cff51df27a33780MD51open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://alejandria.poligran.edu.co/bitstream/10823/7014/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52open accessTHUMBNAILDocumento FINAL.pdf.jpgDocumento FINAL.pdf.jpgIM Thumbnailimage/jpeg3767https://alejandria.poligran.edu.co/bitstream/10823/7014/3/Documento%20FINAL.pdf.jpgb8ce490656f602f984f15696d8d4f772MD53open access10823/7014oai:alejandria.poligran.edu.co:10823/70142023-11-15 03:00:17.498open accessRepositorio Comunidad Politecnico Grancolombianodspace@poligran.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=