Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción
En este documento se muestra la realización del diseño y simulación de un robot inspirado en la salamandra Pleurodeles Walt, que tiene la capacidad de reproducir parcialmente los modos de andar de una salamandra. Para realizarlo, en primer lugar es necesario documentarse sobre la morfología y forma...
- Autores:
-
Hernández Carreño, Daniel Eugenio Alberto
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2022
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/29332
- Acceso en línea:
- http://hdl.handle.net/11349/29332
- Palabra clave:
- Diseño
Inspirado
Locomoción
Robot
Salamandra
Simulación
Ingeniería Electrónica - Tesis y disertaciones académicas
Productos de alta tecnología
Manipuladores (Mecanismos)
Movimientos mecánicos
Cinemática de la maquinaria
Robots - Locomoción animal
Design
Inspired
Locomotion
Robot
Salamander
Simulation
- Rights
- License
- Atribución-NoComercial-SinDerivadas 2.5 Colombia
id |
UDISTRITA2_fc5170ab4d942290370b88cac7ee236e |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/29332 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción |
dc.title.titleenglish.spa.fl_str_mv |
Design and simulation of a salamander-inspired robot capable of partially mimicking salamander locomotion |
title |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción |
spellingShingle |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción Diseño Inspirado Locomoción Robot Salamandra Simulación Ingeniería Electrónica - Tesis y disertaciones académicas Productos de alta tecnología Manipuladores (Mecanismos) Movimientos mecánicos Cinemática de la maquinaria Robots - Locomoción animal Design Inspired Locomotion Robot Salamander Simulation |
title_short |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción |
title_full |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción |
title_fullStr |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción |
title_full_unstemmed |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción |
title_sort |
Diseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomoción |
dc.creator.fl_str_mv |
Hernández Carreño, Daniel Eugenio Alberto |
dc.contributor.advisor.none.fl_str_mv |
Ovalle Martínez, Diana Marcela |
dc.contributor.author.none.fl_str_mv |
Hernández Carreño, Daniel Eugenio Alberto |
dc.subject.spa.fl_str_mv |
Diseño Inspirado Locomoción Robot Salamandra Simulación |
topic |
Diseño Inspirado Locomoción Robot Salamandra Simulación Ingeniería Electrónica - Tesis y disertaciones académicas Productos de alta tecnología Manipuladores (Mecanismos) Movimientos mecánicos Cinemática de la maquinaria Robots - Locomoción animal Design Inspired Locomotion Robot Salamander Simulation |
dc.subject.lemb.spa.fl_str_mv |
Ingeniería Electrónica - Tesis y disertaciones académicas Productos de alta tecnología Manipuladores (Mecanismos) Movimientos mecánicos Cinemática de la maquinaria Robots - Locomoción animal |
dc.subject.keyword.spa.fl_str_mv |
Design Inspired Locomotion Robot Salamander Simulation |
description |
En este documento se muestra la realización del diseño y simulación de un robot inspirado en la salamandra Pleurodeles Walt, que tiene la capacidad de reproducir parcialmente los modos de andar de una salamandra. Para realizarlo, en primer lugar es necesario documentarse sobre la morfología y forma de locomoción de las salamandras, mediante una búsqueda en las bases de datos de conocimiento científico. Con los datos obtenidos se procede al diseño de un robot prototipo, cuya estructura permita imitar de forma cercana los movimientos de una salamandra. Posteriormente, se analizan los modelos cinemáticos que típicamente se utilizan para emular la locomoción de salamandra, con el fin de seleccionar uno que permita coordinar los movimientos de las articulaciones del robot como lo hace la salamandra real, manteniendo un equilibrio entre el nivel de abstracción del modelo y la capacidad para reproducir diferentes modos de andar. Luego de ello, se lleva a cabo el proceso de selección de los componentes electrónicos y mecánicos, con base en los criterios de diseño del robot y los requisitos de operación del modelo cinemático locomotor. De igual forma, se exploran las herramientas de software que se utilizan para la simulación cinemática del robot, con el fin de seleccionar una sobre la cual se desarrolla la programación necesaria para realizar la simulación del robot en el entorno terrestre y también en el entorno acuático. Además, se realizan las aproximaciones necesarias para dar un mejor detalle a las simulaciones cinemáticas del robot, teniendo presentes aspectos como la forma y peso de los componentes físicos del robot y el comportamiento de los actuadores. Finalmente, se propone un conjunto de pruebas en simulación, para determinar la capacidad de movimiento del robot en el entorno terrestre y acuático, así como, la semejanza que mantiene respecto a la salamandra real. |
publishDate |
2022 |
dc.date.accessioned.none.fl_str_mv |
2022-06-11T00:19:24Z |
dc.date.available.none.fl_str_mv |
2022-06-11T00:19:24Z |
dc.date.created.none.fl_str_mv |
2022-03-30 |
dc.type.degree.spa.fl_str_mv |
Investigación-Innovación |
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 |
format |
http://purl.org/coar/resource_type/c_7a1f |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/11349/29332 |
url |
http://hdl.handle.net/11349/29332 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Atribución-NoComercial-SinDerivadas 2.5 Colombia |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_16ec |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/2.5/co/ |
dc.rights.acceso.spa.fl_str_mv |
Restringido (Solo Referencia) |
rights_invalid_str_mv |
Atribución-NoComercial-SinDerivadas 2.5 Colombia http://creativecommons.org/licenses/by-nc-nd/2.5/co/ Restringido (Solo Referencia) http://purl.org/coar/access_right/c_16ec |
dc.format.mimetype.spa.fl_str_mv |
pdf |
institution |
Universidad Distrital Francisco José de Caldas |
bitstream.url.fl_str_mv |
https://repository.udistrital.edu.co/bitstreams/cbf195bc-593b-45c8-a7df-6b53d2749b69/download https://repository.udistrital.edu.co/bitstreams/09b1a11d-f5a7-4ff6-801a-276c7975e465/download https://repository.udistrital.edu.co/bitstreams/af1fc267-6cc4-44ca-a778-4202f2f967f0/download https://repository.udistrital.edu.co/bitstreams/d79f60ef-8f12-4b53-841f-7befd3b459c8/download https://repository.udistrital.edu.co/bitstreams/d22290d5-b3fc-478c-8f57-8836bc671e51/download https://repository.udistrital.edu.co/bitstreams/c6869ae7-bc82-4648-a486-9c8d15aa2b42/download |
bitstream.checksum.fl_str_mv |
217700a34da79ed616c2feb68d4c5e06 44a13d307d59f8f165a68b0f6e042689 f8be755fa022ef0c7f833e2e14072894 997daf6c648c962d566d7b082dac908d 3c264dd4e81d9a9d0b566fbc22f9b7a0 7483b164adf116f36e5cf073665291ea |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Universidad Distrital |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1828165869265485824 |
spelling |
Ovalle Martínez, Diana MarcelaHernández Carreño, Daniel Eugenio Alberto2022-06-11T00:19:24Z2022-06-11T00:19:24Z2022-03-30http://hdl.handle.net/11349/29332En este documento se muestra la realización del diseño y simulación de un robot inspirado en la salamandra Pleurodeles Walt, que tiene la capacidad de reproducir parcialmente los modos de andar de una salamandra. Para realizarlo, en primer lugar es necesario documentarse sobre la morfología y forma de locomoción de las salamandras, mediante una búsqueda en las bases de datos de conocimiento científico. Con los datos obtenidos se procede al diseño de un robot prototipo, cuya estructura permita imitar de forma cercana los movimientos de una salamandra. Posteriormente, se analizan los modelos cinemáticos que típicamente se utilizan para emular la locomoción de salamandra, con el fin de seleccionar uno que permita coordinar los movimientos de las articulaciones del robot como lo hace la salamandra real, manteniendo un equilibrio entre el nivel de abstracción del modelo y la capacidad para reproducir diferentes modos de andar. Luego de ello, se lleva a cabo el proceso de selección de los componentes electrónicos y mecánicos, con base en los criterios de diseño del robot y los requisitos de operación del modelo cinemático locomotor. De igual forma, se exploran las herramientas de software que se utilizan para la simulación cinemática del robot, con el fin de seleccionar una sobre la cual se desarrolla la programación necesaria para realizar la simulación del robot en el entorno terrestre y también en el entorno acuático. Además, se realizan las aproximaciones necesarias para dar un mejor detalle a las simulaciones cinemáticas del robot, teniendo presentes aspectos como la forma y peso de los componentes físicos del robot y el comportamiento de los actuadores. Finalmente, se propone un conjunto de pruebas en simulación, para determinar la capacidad de movimiento del robot en el entorno terrestre y acuático, así como, la semejanza que mantiene respecto a la salamandra real.This document shows the design and simulation of a robot inspired by the salamander Pleurodeles Walt, which has the ability to partially reproduce the locomotion of a salamander. To do this, first, it is necesary to learn about the morphology and locomotion of salamanders, through a search in scientific knowledge databases. With the data obtained, we proceed to the design of a robot prototype, which structure closely imitates the movements of a salamander. Afterwards, the kinematic models that are typically used to emulate salamander locomotion are analyzed, in order to select one that allows coordinating the movements of the robot joints as the real salamander does, maintaining a balance between the level of abstraction of the model and the ability to reproduce different locomotion modes. After that, the selection process of the electronics and mechanical components is carried out, based on the design criteria of the robot and the operation requirements of the locomotion kinematic model. The software tools used for the kinematic simulation of the robot are explored, in order to select one, to perform the simulation of the robot in the terrestrial and aquatic environments. In addition, the necessary approximations are made to give a better detail to the kinematic simulations of the robot, taking into account aspects such as the shape and weight of the physical components of the robot and the behavior of the actuators. Finally, a set of simulation tests is proposed to determine the robot's movement capacity in the terrestrial and aquatic environment, as well as its similarity to the real salamander.pdfspaAtribución-NoComercial-SinDerivadas 2.5 Colombiahttp://creativecommons.org/licenses/by-nc-nd/2.5/co/Restringido (Solo Referencia)http://purl.org/coar/access_right/c_16ecDiseñoInspiradoLocomociónRobotSalamandraSimulaciónIngeniería Electrónica - Tesis y disertaciones académicasProductos de alta tecnologíaManipuladores (Mecanismos)Movimientos mecánicosCinemática de la maquinariaRobots - Locomoción animalDesignInspiredLocomotionRobotSalamanderSimulationDiseño y simulación de un robot inspirado en las salamandras capaz de imitar parcialmente su locomociónDesign and simulation of a salamander-inspired robot capable of partially mimicking salamander locomotionInvestigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repository.udistrital.edu.co/bitstreams/cbf195bc-593b-45c8-a7df-6b53d2749b69/download217700a34da79ed616c2feb68d4c5e06MD53ORIGINALHernándezCarreñoDanielEugenioAlberto2022.pdfHernándezCarreñoDanielEugenioAlberto2022.pdfTrabajo de gradoapplication/pdf13639942https://repository.udistrital.edu.co/bitstreams/09b1a11d-f5a7-4ff6-801a-276c7975e465/download44a13d307d59f8f165a68b0f6e042689MD51Licencia y autorización de los autores para publicar.pdfLicencia y autorización de los autores para publicar.pdfLicencia de uso y publicaciónapplication/pdf321040https://repository.udistrital.edu.co/bitstreams/af1fc267-6cc4-44ca-a778-4202f2f967f0/downloadf8be755fa022ef0c7f833e2e14072894MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/d79f60ef-8f12-4b53-841f-7befd3b459c8/download997daf6c648c962d566d7b082dac908dMD54THUMBNAILHernándezCarreñoDanielEugenioAlberto2022.pdf.jpgHernándezCarreñoDanielEugenioAlberto2022.pdf.jpgIM Thumbnailimage/jpeg8955https://repository.udistrital.edu.co/bitstreams/d22290d5-b3fc-478c-8f57-8836bc671e51/download3c264dd4e81d9a9d0b566fbc22f9b7a0MD55Licencia y autorización de los autores para publicar.pdf.jpgLicencia y autorización de los autores para publicar.pdf.jpgIM Thumbnailimage/jpeg13238https://repository.udistrital.edu.co/bitstreams/c6869ae7-bc82-4648-a486-9c8d15aa2b42/download7483b164adf116f36e5cf073665291eaMD5611349/29332oai:repository.udistrital.edu.co:11349/293322023-06-13 14:34:05.355http://creativecommons.org/licenses/by-nc-nd/2.5/co/Atribución-NoComercial-SinDerivadas 2.5 Colombiarestrictedhttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |