Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt

El proyecto AIXT está orientado a la migración de lenguajes de una forma más fácil para hacer la programación. El proyecto se estableció, para incursionar al avance del mercado tecnológico donde existen varios lenguajes de programación, que requieren la compilación de los distintos lenguajes de prog...

Full description

Autores:
Buitrago Gómez , Oscar Mauricio
Becerra , Andrés Julián
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2025
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/93127
Acceso en línea:
http://hdl.handle.net/11349/93127
Palabra clave:
Arduino
Shields
Lenguaje V
Lenguaje C
Transcompilación
Proyecto Aixt
Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y Disertaciones Académicas
Administración de bases de datos
Diseño de bases de datos
Bases de datos relacionadas
Base de datos
Arduino
Shields
Language V
Language C
Transcompilation
Aixt Project
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_914852af1f429b196b3579fc714683ba
oai_identifier_str oai:repository.udistrital.edu.co:11349/93127
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
dc.title.titleenglish.none.fl_str_mv Implementation of the V language libraries of the digital i/o modules, adc, pwm, uart, lcd and 7-segment display, for the Arduino Uno and Mega microcontrollers within the framework of the Aixt project
title Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
spellingShingle Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
Arduino
Shields
Lenguaje V
Lenguaje C
Transcompilación
Proyecto Aixt
Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y Disertaciones Académicas
Administración de bases de datos
Diseño de bases de datos
Bases de datos relacionadas
Base de datos
Arduino
Shields
Language V
Language C
Transcompilation
Aixt Project
title_short Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
title_full Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
title_fullStr Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
title_full_unstemmed Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
title_sort Implementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto Aixt
dc.creator.fl_str_mv Buitrago Gómez , Oscar Mauricio
Becerra , Andrés Julián
dc.contributor.advisor.none.fl_str_mv Martínez Santa , Fernando
dc.contributor.author.none.fl_str_mv Buitrago Gómez , Oscar Mauricio
Becerra , Andrés Julián
dc.subject.none.fl_str_mv Arduino
Shields
Lenguaje V
Lenguaje C
Transcompilación
Proyecto Aixt
topic Arduino
Shields
Lenguaje V
Lenguaje C
Transcompilación
Proyecto Aixt
Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y Disertaciones Académicas
Administración de bases de datos
Diseño de bases de datos
Bases de datos relacionadas
Base de datos
Arduino
Shields
Language V
Language C
Transcompilation
Aixt Project
dc.subject.lemb.none.fl_str_mv Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y Disertaciones Académicas
Administración de bases de datos
Diseño de bases de datos
Bases de datos relacionadas
Base de datos
dc.subject.keyword.none.fl_str_mv Arduino
Shields
Language V
Language C
Transcompilation
Aixt Project
description El proyecto AIXT está orientado a la migración de lenguajes de una forma más fácil para hacer la programación. El proyecto se estableció, para incursionar al avance del mercado tecnológico donde existen varios lenguajes de programación, que requieren la compilación de los distintos lenguajes de programación en toda clase de microcontroladores. Para el caso aplica realizar la compilación en lenguaje V. [1] El proyecto AIXT inició en el año 2022 basado en SOKAE, creando conexiones y lazos entre la estructura de programación, Arduino y microphyton “La estructura de programación está compuesta por tres componentes principales, Lenguaje de programación AIXT, basado en el lenguaje de programación V, Un lenguaje de programación definido como RUST a C y una API” [2]. Considerando que el lenguaje de programación RUST, es de alta complejidad en su estructura se facilita la programación en lenguaje V [3]. Para el proyecto de pasantía propuesto, se plantearon los microcontroladores Arduino Uno ATMega 328P y Arduino ATMega 2560 junto a los shields display lcd y display de 7 segmentos de 4 dígitos, que formaran parte del proyecto AIXT con el objetivo de buscar el desarrollo de las funciones y características dentro de una API, la cual permita la traducción efectiva del lenguaje V a C.
publishDate 2025
dc.date.accessioned.none.fl_str_mv 2025-03-03T17:26:44Z
dc.date.available.none.fl_str_mv 2025-03-03T17:26:44Z
dc.date.created.none.fl_str_mv 2025-02-21
dc.type.none.fl_str_mv bachelorThesis
dc.type.degree.none.fl_str_mv Pasantía
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
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/93127
url http://hdl.handle.net/11349/93127
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv [1] S. O. R. F. H. S. Fernando Martínez Santa, «Microcontrollers Programming Framework based on a V-like programming Language,» (IJACSA) International Journal of Advanced Computer Science and Aplications, vol. 13, nº 12, p. 8, 2022.
[2] F. Martínez Santa, «Aixt,» 2022. [En línea]. Available: https://gitlab.com/fermarsan/aixt-project. [Último acceso: 20 Febrero 2025].
[3] F. Martínez Santa y S. Orjuela Rivera, «Rust-like Programming Language for Low- resource,» Research India Publications, vol. 17, nº ISSN 0973-5321, pp. 599-614, 2022.
[4] ElectronicsHub, «Arduino uno» s.f. [En línea]. Available: https://www.electronicshub.org/arduino-uno-pinout/. [Último acceso: 21 de febrero 2025].
[5] Proyecto Arduino, «Arduino Mega 2560 » s.f. [En línea]. Available: https://proyectoarduino.com/arduino-mega-2560/. [Último acceso: 21 de febrero 2025].
[6] Prometec.net, «LCD KeyPad Shield» 2023. [En línea]. Available: https://www.prometec.net/lcd-keypad-shield/. [Último acceso: 21 de febrero 2025].
[7] Nootropic, «Digit Shield» 2024. [En línea]. Available: https://nootropicdesign.com/digit-shield/ [Último acceso: 21 de febrero 2025].
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
dc.publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/1d45d3ad-8b7a-4348-ae0a-8dfbe218c366/download
https://repository.udistrital.edu.co/bitstreams/1b859e37-7a5b-45d2-a477-2d31e01ea041/download
https://repository.udistrital.edu.co/bitstreams/0a519eba-6043-4bda-aa9e-2b3bd027cdd4/download
https://repository.udistrital.edu.co/bitstreams/eea21e90-c3c4-4441-85a3-230605d210db/download
https://repository.udistrital.edu.co/bitstreams/77ec8315-ea2a-4269-926a-9961be4c0d5e/download
bitstream.checksum.fl_str_mv 892460381b8426417fd3b5e8f762db8b
eff0ce11fa4b9afddfef218a7be653cb
997daf6c648c962d566d7b082dac908d
e71672c4281db459c0ee11818c1f7dc3
6dd14cc65c699d7902c23759a34fa124
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_ 1837006992244211712
spelling Martínez Santa , FernandoBuitrago Gómez , Oscar MauricioBecerra , Andrés Julián2025-03-03T17:26:44Z2025-03-03T17:26:44Z2025-02-21http://hdl.handle.net/11349/93127El proyecto AIXT está orientado a la migración de lenguajes de una forma más fácil para hacer la programación. El proyecto se estableció, para incursionar al avance del mercado tecnológico donde existen varios lenguajes de programación, que requieren la compilación de los distintos lenguajes de programación en toda clase de microcontroladores. Para el caso aplica realizar la compilación en lenguaje V. [1] El proyecto AIXT inició en el año 2022 basado en SOKAE, creando conexiones y lazos entre la estructura de programación, Arduino y microphyton “La estructura de programación está compuesta por tres componentes principales, Lenguaje de programación AIXT, basado en el lenguaje de programación V, Un lenguaje de programación definido como RUST a C y una API” [2]. Considerando que el lenguaje de programación RUST, es de alta complejidad en su estructura se facilita la programación en lenguaje V [3]. Para el proyecto de pasantía propuesto, se plantearon los microcontroladores Arduino Uno ATMega 328P y Arduino ATMega 2560 junto a los shields display lcd y display de 7 segmentos de 4 dígitos, que formaran parte del proyecto AIXT con el objetivo de buscar el desarrollo de las funciones y características dentro de una API, la cual permita la traducción efectiva del lenguaje V a C.The AIXT project is aimed at migrating languages in an easier way to do programming. The project was established to venture into the advancement of the technological market where there are several programming languages, which require the compilation of the different programming languages in all kinds of microcontrollers. In this case, it is necessary to compile in V. [1] The AIXT project started in 2022 based on SOKAE, creating connections and ties between the programming structure, Arduino and microphyton "The programming structure is composed of three main components, AIXT programming language, based on the V programming language, a programming language defined as RUST to C and an API" [2]. Considering that the RUST programming language is highly complex in its structure, programming in V language is facilitated [3]. For the proposed internship project, the Arduino Uno ATMega 328P and Arduino ATMega 2560 microcontrollers were proposed together with the LCD display shields and 4-digit 7-segment display, which will be part of the AIXT project with the aim of seeking the development of functions and features within an API, which allows the effective translation of the V to C language.pdfspaUniversidad Distrital Francisco José de CaldasArduinoShieldsLenguaje VLenguaje CTranscompilaciónProyecto AixtIngeniería Eléctrica por Ciclos Propedéuticos -- Tesis y Disertaciones AcadémicasAdministración de bases de datosDiseño de bases de datosBases de datos relacionadasBase de datosArduinoShieldsLanguage VLanguage CTranscompilationAixt ProjectImplementación de las librerías en lenguaje V de los módulos de i/o digitales, adc, pwm, uart, lcd y display de 7 segmentos, para los microcontroladores Arduino Uno y Mega en el marco del proyecto AixtImplementation of the V language libraries of the digital i/o modules, adc, pwm, uart, lcd and 7-segment display, for the Arduino Uno and Mega microcontrollers within the framework of the Aixt projectbachelorThesisPasantíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2[1] S. O. R. F. H. S. Fernando Martínez Santa, «Microcontrollers Programming Framework based on a V-like programming Language,» (IJACSA) International Journal of Advanced Computer Science and Aplications, vol. 13, nº 12, p. 8, 2022.[2] F. Martínez Santa, «Aixt,» 2022. [En línea]. Available: https://gitlab.com/fermarsan/aixt-project. [Último acceso: 20 Febrero 2025].[3] F. Martínez Santa y S. Orjuela Rivera, «Rust-like Programming Language for Low- resource,» Research India Publications, vol. 17, nº ISSN 0973-5321, pp. 599-614, 2022.[4] ElectronicsHub, «Arduino uno» s.f. [En línea]. Available: https://www.electronicshub.org/arduino-uno-pinout/. [Último acceso: 21 de febrero 2025].[5] Proyecto Arduino, «Arduino Mega 2560 » s.f. [En línea]. Available: https://proyectoarduino.com/arduino-mega-2560/. [Último acceso: 21 de febrero 2025].[6] Prometec.net, «LCD KeyPad Shield» 2023. [En línea]. Available: https://www.prometec.net/lcd-keypad-shield/. [Último acceso: 21 de febrero 2025].[7] Nootropic, «Digit Shield» 2024. [En línea]. Available: https://nootropicdesign.com/digit-shield/ [Último acceso: 21 de febrero 2025].ORIGINALBuitragoGomezOscarMauricio2025.pdfBuitragoGomezOscarMauricio2025.pdfapplication/pdf4188177https://repository.udistrital.edu.co/bitstreams/1d45d3ad-8b7a-4348-ae0a-8dfbe218c366/download892460381b8426417fd3b5e8f762db8bMD51Licencia de uso y publicación.pdfLicencia de uso y publicación.pdfapplication/pdf209477https://repository.udistrital.edu.co/bitstreams/1b859e37-7a5b-45d2-a477-2d31e01ea041/downloadeff0ce11fa4b9afddfef218a7be653cbMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/0a519eba-6043-4bda-aa9e-2b3bd027cdd4/download997daf6c648c962d566d7b082dac908dMD53THUMBNAILBuitragoGomezOscarMauricio2025.pdf.jpgBuitragoGomezOscarMauricio2025.pdf.jpgIM Thumbnailimage/jpeg7527https://repository.udistrital.edu.co/bitstreams/eea21e90-c3c4-4441-85a3-230605d210db/downloade71672c4281db459c0ee11818c1f7dc3MD54Licencia de uso y publicación.pdf.jpgLicencia de uso y publicación.pdf.jpgIM Thumbnailimage/jpeg9690https://repository.udistrital.edu.co/bitstreams/77ec8315-ea2a-4269-926a-9961be4c0d5e/download6dd14cc65c699d7902c23759a34fa124MD5511349/93127oai:repository.udistrital.edu.co:11349/931272025-03-12 13:40:25.88open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK