Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi
En este documento se describen las implicaciones prácticas y teóricas que supone la investigación correspondiente al diseño e implementación de un control óptimo LQR (Lineal Quadratic Regulator) en la tarjeta Raspberry Pi, esta técnica de control se aplica a una plataforma Stewart, identificada prev...
- Autores:
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2016
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/3372
- Acceso en línea:
- http://hdl.handle.net/11349/3372
- Palabra clave:
- Estrategias de Control
Bola y plato
plataforma Stewart
LQR
Control Strategies
Ball and plate
Stewart platform
LQR
- Rights
- License
- Atribución-NoComercial-SinDerivadas 4.0 Internacional
id |
UDISTRITA2_203fc200dd365aceaec4211317db96a5 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/3372 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi |
dc.title.titleenglish.spa.fl_str_mv |
Design and Implementation a Optimal Control LQR on Raspberry Pi target |
title |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi |
spellingShingle |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi Estrategias de Control Bola y plato plataforma Stewart LQR Control Strategies Ball and plate Stewart platform LQR |
title_short |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi |
title_full |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi |
title_fullStr |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi |
title_full_unstemmed |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi |
title_sort |
Diseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry Pi |
dc.contributor.advisor.spa.fl_str_mv |
Giraldo Ramos, Frank Nixon |
dc.subject.spa.fl_str_mv |
Estrategias de Control Bola y plato plataforma Stewart LQR |
topic |
Estrategias de Control Bola y plato plataforma Stewart LQR Control Strategies Ball and plate Stewart platform LQR |
dc.subject.keyword.spa.fl_str_mv |
Control Strategies Ball and plate Stewart platform LQR |
description |
En este documento se describen las implicaciones prácticas y teóricas que supone la investigación correspondiente al diseño e implementación de un control óptimo LQR (Lineal Quadratic Regulator) en la tarjeta Raspberry Pi, esta técnica de control se aplica a una plataforma Stewart, identificada previamente. La planta a la cual se le implementaron las técnicas de control concernientes a este proyecto (LQR y PID -Proporcional, Integral, derivativo-) es un sistema bola y plato montado sobre una plataforma Stewart, cuyo diseño mecánico y ensamble fue llevado a cabo por los autores. Este dispositivo se encuentra clasificado entre los robots parale- los debido a que cuenta con seis brazos ubicados en diferentes puntos de la plataforma, estos tienen la función de soportarla y proporcionarle movilidad. Cada extremidad es- tá unida a un actuador (servomotor en este caso) dispuesto allí con el fin de proveer los seis grados de libertad que la caracterizan y así variar su inclinación y rotación. |
publishDate |
2016 |
dc.date.accessioned.none.fl_str_mv |
2016-08-24T20:28:12Z |
dc.date.available.none.fl_str_mv |
2016-08-24T20:28:12Z |
dc.date.created.spa.fl_str_mv |
2016-03-26 |
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/3372 |
url |
http://hdl.handle.net/11349/3372 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Atribución-NoComercial-SinDerivadas 4.0 Internacional |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Atribución-NoComercial-SinDerivadas 4.0 Internacional http://creativecommons.org/licenses/by-nc-nd/4.0/ Abierto (Texto Completo) http://purl.org/coar/access_right/c_abf2 |
dc.format.mimetype.spa.fl_str_mv |
pdf |
institution |
Universidad Distrital Francisco José de Caldas |
bitstream.url.fl_str_mv |
http://repository.udistrital.edu.co/bitstream/11349/3372/6/PovedaGalvisLeidyTatiana2016.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/3372/1/PovedaGalvisLeidyTatiana2016.pdf http://repository.udistrital.edu.co/bitstream/11349/3372/2/license_url http://repository.udistrital.edu.co/bitstream/11349/3372/3/license_text http://repository.udistrital.edu.co/bitstream/11349/3372/4/license_rdf http://repository.udistrital.edu.co/bitstream/11349/3372/5/license.txt |
bitstream.checksum.fl_str_mv |
93c4e20904ff075034cababf40072d34 a1145f0cbdf4e9bd7add196467402f2b 4afdbb8c545fd630ea7db775da747b2f d41d8cd98f00b204e9800998ecf8427e d41d8cd98f00b204e9800998ecf8427e 3cf632b743193f52a054a7b4bd2b66f1 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Institucional Universidad Distrital - RIUD |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1814111753297985536 |
spelling |
Giraldo Ramos, Frank NixonPoveda Galvis, Leidy TatianaMartinez Velasco, José David2016-08-24T20:28:12Z2016-08-24T20:28:12Z2016-03-26http://hdl.handle.net/11349/3372En este documento se describen las implicaciones prácticas y teóricas que supone la investigación correspondiente al diseño e implementación de un control óptimo LQR (Lineal Quadratic Regulator) en la tarjeta Raspberry Pi, esta técnica de control se aplica a una plataforma Stewart, identificada previamente. La planta a la cual se le implementaron las técnicas de control concernientes a este proyecto (LQR y PID -Proporcional, Integral, derivativo-) es un sistema bola y plato montado sobre una plataforma Stewart, cuyo diseño mecánico y ensamble fue llevado a cabo por los autores. Este dispositivo se encuentra clasificado entre los robots parale- los debido a que cuenta con seis brazos ubicados en diferentes puntos de la plataforma, estos tienen la función de soportarla y proporcionarle movilidad. Cada extremidad es- tá unida a un actuador (servomotor en este caso) dispuesto allí con el fin de proveer los seis grados de libertad que la caracterizan y así variar su inclinación y rotación.In this work we will describe the practices and theoretical implications about the cor- responding investigation for optimal control LQR design and implementation ( lineal quadratic regulator) in the raspberry pi card, this technique of control for a Stewart platform, it was previously simulated and identified. The plant which was imple- mented control techniques according to this project ( LQR and PID- proportional, in- tegral and derivate controller) it is a ball and plant system put in a stewart platform, which mecanic and assembly design was made by the authors. This device is consid- ered among the parallel robots because it has six arms located at different points of the platform, these have the function to support and give mobility . Each terminal is connected to an actuator (servomotor in this case) provided there in order to provide six degrees of freedom which characterize it and vary its inclination and rotation.pdfspaAtribución-NoComercial-SinDerivadas 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Estrategias de ControlBola y platoplataforma StewartLQRControl StrategiesBall and plateStewart platformLQRDiseño e Implementación de un Control Òptimo LQR con la Tarjeta Raspberry PiDesign and Implementation a Optimal Control LQR on Raspberry Pi targetinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILPovedaGalvisLeidyTatiana2016.pdf.jpgPovedaGalvisLeidyTatiana2016.pdf.jpgIM Thumbnailimage/jpeg12620http://repository.udistrital.edu.co/bitstream/11349/3372/6/PovedaGalvisLeidyTatiana2016.pdf.jpg93c4e20904ff075034cababf40072d34MD56open accessORIGINALPovedaGalvisLeidyTatiana2016.pdfPovedaGalvisLeidyTatiana2016.pdfTrabajo de Gradoapplication/pdf6297841http://repository.udistrital.edu.co/bitstream/11349/3372/1/PovedaGalvisLeidyTatiana2016.pdfa1145f0cbdf4e9bd7add196467402f2bMD51open accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-849http://repository.udistrital.edu.co/bitstream/11349/3372/2/license_url4afdbb8c545fd630ea7db775da747b2fMD52open accesslicense_textlicense_texttext/html; charset=utf-80http://repository.udistrital.edu.co/bitstream/11349/3372/3/license_textd41d8cd98f00b204e9800998ecf8427eMD53open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://repository.udistrital.edu.co/bitstream/11349/3372/4/license_rdfd41d8cd98f00b204e9800998ecf8427eMD54open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87273http://repository.udistrital.edu.co/bitstream/11349/3372/5/license.txt3cf632b743193f52a054a7b4bd2b66f1MD55open access11349/3372oai:repository.udistrital.edu.co:11349/33722023-06-13 14:41:24.047open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMDQpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkNCg0KQ29tbyB0aXR1bGFyKGVzKSBkZWwob3MpIGRlcmVjaG8ocykgZGUgYXV0b3IsIGNvbmZpZXJvIChlcmltb3MpIGEgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgKGVuIGFkZWxhbnRlLCBMQSBVTklWRVJTSURBRCkgdW5hIGxpY2VuY2lhIHBhcmEgdXNvIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBpbnRlZ3JhcsOhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgKGVuIGFkZWxhbnRlLCBSSVVEKSwgZGUgYWN1ZXJkbyBhIGxhcyBzaWd1aWVudGVzIHJlZ2xhcywgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoNCg0KYSkJRXN0YXLDoSB2aWdlbnRlIGEgcGFydGlyIGRlIGxhIGZlY2hhIGVuIHF1ZSBzZSBpbmNsdXlhIGVuIGVsIFJJVUQgeSBoYXN0YSBwb3IgdW4gcGxhem8gZGUgZGlleiAoMTApIEHDsW9zLCBwcm9ycm9nYWJsZSBpbmRlZmluaWRhbWVudGUgcG9yIGVsIHRpZW1wbyBxdWUgZHVyZSBlbCBkZXJlY2hvIFBhdHJpbW9uaWFsIGRlbCBhdXRvcjsgbGEgY3VhbCBwb2Ryw6EgZGFyc2UgcG9yIHRlcm1pbmFkYSBwcmV2aWEgc29saWNpdHVkIGEgTEEgVU5JVkVSU0lEQUQgcG9yIGVzY3JpdG8gY29uIHVuYSBhbnRlbGFjacOzbiBkZSBkb3MgKDIpIG1lc2VzIGFudGVzIGRlbCB2ZW5jaW1pZW50byBkZWwgcGxhem8gaW5pY2lhbCBvIGVsIGRlIHN1KHMpIHByw7Nycm9nYShzKS4gIA0KDQpiKQlMQSBVTklWRVJTSURBRCBwb2Ryw6EgcHVibGljYXIgbGEgb2JyYSBlbiBsYXMgZGlzdGludGFzIHZlcnNpb25lcyByZXF1ZXJpZGFzIHBvciBlbCBSSVVEIChkaWdpdGFsLCBpbXByZXNvLCBlbGVjdHLDs25pY28gdSBvdHJvIG1lZGlvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIpIExBIFVOSVZFUlNJREFEIG5vIHNlcsOhIHJlc3BvbnNhYmxlIGVuIGVsIGV2ZW50byBxdWUgZWwgZG9jdW1lbnRvIGFwYXJlemNhIHJlZmVyZW5jaWFkbyBlbiBtb3RvcmVzIGRlIGLDunNxdWVkYSBvIHJlcG9zaXRvcmlvcyBkaWZlcmVudGVzIGFsIFJJVUQsIHVuYSB2ZXogZWwob3MpIGF1dG9yKGVzKSBzb2xpY2l0ZW4gc3UgZWxpbWluYWNpw7NuIGRlbCBSSVVELCBkYWRvIHF1ZSBsYSBtaXNtYSBzZXLDoSBwdWJsaWNhZGEgZW4gSW50ZXJuZXQuIA0KDQpjKQlMYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIGxvcyBhdXRvcmVzIHJlbnVuY2lhbiBhIHJlY2liaXIgYmVuZWZpY2lvIGFsZ3VubyBwb3IgbGEgcHVibGljYWNpw7NuLCBkaXN0cmlidWNpw7NuLCBjb211bmljYWNpw7NuIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSBkZSB1c28gY29uIHF1ZSBzZSBwdWJsaWNhIChDcmVhdGl2ZSBDb21tb25zKS4NCg0KZCkJTG9zIGNvbnRlbmlkb3MgcHVibGljYWRvcyBlbiBlbCBSSVVEIHNvbiBvYnJhKHMpIG9yaWdpbmFsKGVzKSBzb2JyZSBsYSBjdWFsKGVzKSBlbChvcykgYXV0b3IoZXMpIGNvbW8gdGl0dWxhcmVzIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciwgYXN1bWVuIHRvdGFsIHJlc3BvbnNhYmlsaWRhZCBwb3IgZWwgY29udGVuaWRvIGRlIHN1IG9icmEgYW50ZSBMQSBVTklWRVJTSURBRCB5IGFudGUgdGVyY2Vyb3MuIEVuIHRvZG8gY2FzbyBMQSBVTklWRVJTSURBRCBzZSBjb21wcm9tZXRlIGEgaW5kaWNhciBzaWVtcHJlIGxhIGF1dG9yw61hIGluY2x1eWVuZG8gZWwgbm9tYnJlIGRlbCBhdXRvciB5IGxhIGZlY2hhIGRlIHB1YmxpY2FjacOzbi4NCg0KZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuIA0KDQoNCmYpCUxBIFVOSVZFUlNJREFEIHBvZHLDoSBjb252ZXJ0aXIgbGEgb2JyYSBhIGN1YWxxdWllciBtZWRpbyBvIGZvcm1hdG8gY29uIGVsIGZpbiBkZSBzdSBwcmVzZXJ2YWNpw7NuIGVuIGVsIHRpZW1wbyBxdWUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBsYSBkZSBzdXMgcHLDs3Jyb2dhcy4NCg0KDQpDb24gYmFzZSBlbiBsbyBhbnRlcmlvciBhdXRvcml6byhhbW9zKSwgYSBmYXZvciBkZWwgUklVRCB5IGRlIHN1cyB1c3VhcmlvcywgbGEgcHVibGljYWNpw7NuIHkgY29uc3VsdGEgZGUgbGEgc2lndWllbnRlIG9icmE6DQoNClRpdHVsbyAJDQpBdXRvcglBcGVsbGlkb3MJTm9tYnJlcw0KMQkJDQoyCQkNCjMJCQ0KIA0KDQpnKQlBdXRvcml6byhhbW9zKSwgcXVlIGxhIG9icmEgc2VhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBkZWwgcMO6YmxpY28gZW4gbG9zIHTDqXJtaW5vcyBlc3RhYmxlY2lkb3MgZW4gbG9zIGxpdGVyYWxlcyBhbnRlcmlvcmVzLCBiYWpvIGxvcyBsw61taXRlcyBkZWZpbmlkb3MgcG9yIExBIFVOSVZFUlNJREFELCBlbiBsYXMg4oCcQ29uZGljaW9uZXMgZGUgdXNvIGRlIGVzdHJpY3RvIGN1bXBsaW1pZW50b+KAnSBkZSBsb3MgcmVjdXJzb3MgcHVibGljYWRvcyBlbiBlbCBSSVVELCBjdXlvIHRleHRvIGNvbXBsZXRvIHNlIHB1ZWRlIGNvbnN1bHRhciBlbiBodHRwOi8vcmVwb3NpdG9yeS51ZGlzdHJpdGFsLmVkdS5jby8NCg0KaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLg0KDQppKQlNYW5pZmllc3RvKGFtb3MpIG1pIChudWVzdHJvKSB0b3RhbCBhY3VlcmRvIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgdXNvIHkgcHVibGljYWNpw7NuIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgcXVlIHNlIGRlc2NyaWJlbiB5IGV4cGxpY2FuIGVuIGVsIHByZXNlbnRlIGRvY3VtZW50by4NCg0KaikJQ29ub3pjbyhjZW1vcykgbGEgbm9ybWF0aXZpZGFkIGludGVybmEgZGUgIExBIFVOSVZFUlNJREFEOyBlbiBjb25jcmV0bywgZWwgQWN1ZXJkbyAwMDQgZGUgMjAxMiBkZWwgQ1NVLCBBY3VlcmRvIDAyMyBkZSAyMDEyIGRlbCBDU1Ugc29icmUgUG9sw610aWNhIEVkaXRvcmlhbCwgQWN1ZXJkbyAwMjYgIGRlbCAzMSBkZSBqdWxpbyBkZSAyMDEyIHNvYnJlIGVsIHByb2NlZGltaWVudG8gcGFyYSBsYSBwdWJsaWNhY2nDs24gZGUgdGVzaXMgZGUgcG9zdGdyYWRvIGRlIGxvcyBlc3R1ZGlhbnRlcyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgIEFjdWVyZG8gMDMwIGRlbCAwMyBkZSBkaWNpZW1icmUgZGUgMjAxMyBwb3IgbWVkaW8gZGVsIGN1YWwgc2UgY3JlYSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCBBY3VlcmRvIDAzOCBkZSAyMDE1IDIwMTUg4oCccG9yIGVsIGN1YWwgc2UgbW9kaWZpY2EgZWwgQWN1ZXJkbyAwMzEgZGUgMjAxNCBkZSAyMDE0IHF1ZSByZWdsYW1lbnRhIGVsIHRyYWJham8gZGUgZ3JhZG8gcGFyYSBsb3MgZXN0dWRpYW50ZXMgZGUgcHJlZ3JhZG8gZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgeSBzZSBkaWN0YW4gb3RyYXMgZGlyZWN0cmljZXPigJ0geSBsYXMgZGVtw6FzIG5vcm1hcyBjb25jb3JkYW50ZSB5IGNvbXBsZW1lbnRhcmlhcyBxdWUgcmlnZW4gYWwgcmVzcGVjdG8sIGVzcGVjaWFsbWVudGUgbGEgbGV5IDIzIGRlIDE5ODIsIGxhIGxleSA0NCBkZSAxOTkzIHkgbGEgZGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5My4gRXN0b3MgZG9jdW1lbnRvcyBwb2Ryw6FuIHNlciBjb25zdWx0YWRvcyB5IGRlc2NhcmdhZG9zIGVuIGVsIHBvcnRhbCB3ZWIgZGUgbGEgYmlibGlvdGVjYSBodHRwOi8vc2lzdGVtYWRlYmlibGlvdGVjYXMudWRpc3RyaXRhbC5lZHUuY28vICANCg0KaykJQWNlcHRvKGFtb3MpIHF1ZSBMQSBVTklWRVJTSURBRCBubyBzZSByZXNwb25zYWJpbGl6YSBwb3IgbGFzIGluZnJhY2Npb25lcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIERlcmVjaG9zIGRlIEF1dG9yIGNhdXNhZGFzIHBvciBsb3MgdGl0dWxhcmVzIGRlIGxhIHByZXNlbnRlIExpY2VuY2lhIHkgZGVjbGFyYW1vcyBxdWUgbWFudGVuZHLDqSAoZW1vcykgaW5kZW1uZSBhIExBIFVOSVZFUlNJREFEIHBvciBsYXMgcmVjbGFtYWNpb25lcyBsZWdhbGVzIGRlIGN1YWxxdWllciB0aXBvIHF1ZSBsbGVnYXJlbiBhIHByZXNlbnRhcnNlIHBvciB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGEgbGEgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gZGUgQXV0b3IgcmVsYWNpb25hZG9zIGNvbiBsb3MgZG9jdW1lbnRvcyByZWdpc3RyYWRvcyBlbiBlbCBSSVVELg0KDQpsKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBsYSBvYnJhIG9iamV0byBkZSBsYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIGVzIG9yaWdpbmFsLCBkZSBleGNsdXNpdmEgYXV0b3LDrWEsIHkgc2UgcmVhbGl6w7Mgc2luIHZpb2xhciBvIHVzdXJwYXIgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3M7IGRlIHRhbCBzdWVydGUsIGVuIGNhc28gZGUgcHJlc2VudGFyc2UgY3VhbHF1aWVyIHJlY2xhbWFjacOzbiBvIGFjY2nDs24gcG9yIHBhcnRlIGRlIHVuIHRlcmNlcm8gZW4gY3VhbnRvIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGxhIG9icmEsIGVsIChsb3MpIGVzdHVkaWFudGUocykg4oCTIGF1dG9yKGVzKSBhc3VtaXLDoShuKSB0b2RhIGxhIHJlc3BvbnNhYmlsaWRhZCB5IHNhbGRyw6EobikgZW4gZGVmZW5zYSBkZSBsb3MgZGVyZWNob3MgYXF1w60gYXV0b3JpemFkb3MuIFBhcmEgdG9kb3MgbG9zIGVmZWN0b3MsIExBIFVOSVZFUlNJREFEIGFjdMO6YSBjb21vIHVuIHRlcmNlcm8gZGUgYnVlbmEgZmUuICAgDQoNCg0KbSkJRWwgKGxvcykgYXV0b3IoZXMpIG1hbmlmaWVzdGEobW9zKSBxdWUgY29ub3pjbyhjZW1vcykgbGEgYXV0b25vbcOtYSB5IGxvcyBkZXJlY2hvcywgcXVlIHBvc2VlKG1vcykgc29icmUgbGEgb2JyYSB5LCBjb21vIHRhbCwgZXMgKHNvbW9zKSByZXNwb25zYWJsZShzKSBkZWwgYWxjYW5jZSBqdXLDrWRpY28geSBsZWdhbCwgZGUgZXNjb2dlciBsYSBvcGNpw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBvIGRlIHJlc3RyaWNjacOzbiBkZSBsYSBwdWJsaWNhY2nDs24gZGVsIGRvY3VtZW50byByZWdpc3RyYWRvIGVuIGVsIFJJVUQuDQoNCg0KDQoNClNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBESVNUUklUQUwgRlJBTkNJU0NPIEpPU0UgREUgQ0FMREFTLCBMT1MgQVVUT1JFUyBHQVJBTlRJWkFOIFFVRSBTRSBIQSBDVU1QTElETyBDT04gTE9TIA0KREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyhhbW9zKSBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGVuIGxhIGNpdWRhZCBkZSBCb2dvdMOhLCBELkMuLCBhIGxvcyANCg0KDQpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18NCg0KDQoNCkNvcnJlbyBFbGVjdHLDs25pY28gSW5zdGl0dWNpb25hbCBkZWwgKGRlIGxvcykgQXV0b3IoZXMpOg0KDQpBdXRvcglDb3JyZW8gRWxlY3Ryw7NuaWNvIA0KMQkNCjIJDQozCQ0KDQpOb21icmUgZGUgRGlyZWN0b3IoZXMpIGRlIEdyYWRvOg0KDQoxCQ0KMgkNCjMJDQoNCk5vbWJyZSBGYWN1bHRhZCB5IFByb3llY3RvIEN1cnJpY3VsYXI6DQoNCkZhY3VsdGFkCVByb3llY3RvIEN1cnJpY3VsYXINCgkNCg0KDQoNCg0KDQoNCg0KTm90YTogRW4gY2FzbyBxdWUgbm8gZXN0w6kgZGUgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhLCB5IG1hbmlmaWVzdGUgYWxndW5hIHJlc3RyaWNjacOzbiBzb2JyZSBsYSBvYnJhLCBqdXN0aWZpcXVlIGxvcyBtb3Rpdm9zIHBvciBsb3MgY3VhbGVzIGVsIGRvY3VtZW50byB5IHN1cyBhbmV4b3Mgbm8gcHVlZGVuIHNlciBwdWJsaWNhZG9zIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgUklVRC4NCg0KDQpTaSByZXF1aWVyZSBtw6FzIGVzcGFjaW8sIHB1ZWRlIGFuZXhhciB1bmEgY29waWEgc2ltaWxhciBhIGVzdGEgaG9qYQ0KDQoNCg== |