Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT
Objetivo: El objetivo general de este trabajo es establecer el impacto de la implementación de generación distribuida (GD) en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT. Los objetivos específicos corresponden al análisis de los métodos propuestos en el est...
- Autores:
- 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/31332
- Acceso en línea:
- http://hdl.handle.net/11349/31332
- Palabra clave:
- DIgSILENT
DPL
Generación distribuida
Localización de fallas
Métodos basados en baja impedancia
Python
Ingeniería Eléctrica por Ciclos Propedéuticos - Tesis y disertaciones académicas
Electricidad
Conductores eléctricos
Transformadores eléctricos
DIgSILENT
DPL
Distributed generation
Fault location
Low impedance based methods
Python
- Rights
- License
- CC0 1.0 Universal
id |
UDISTRITA2_74d01483a7b48770091f3b0bbe24c5d1 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/31332 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
dc.title.titleenglish.spa.fl_str_mv |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
title |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
spellingShingle |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT DIgSILENT DPL Generación distribuida Localización de fallas Métodos basados en baja impedancia Python Ingeniería Eléctrica por Ciclos Propedéuticos - Tesis y disertaciones académicas Electricidad Conductores eléctricos Transformadores eléctricos DIgSILENT DPL Distributed generation Fault location Low impedance based methods Python |
title_short |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
title_full |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
title_fullStr |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
title_full_unstemmed |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
title_sort |
Impacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT |
dc.contributor.advisor.none.fl_str_mv |
Giral Ramírez, Diego Armando |
dc.subject.spa.fl_str_mv |
DIgSILENT DPL Generación distribuida Localización de fallas Métodos basados en baja impedancia Python |
topic |
DIgSILENT DPL Generación distribuida Localización de fallas Métodos basados en baja impedancia Python Ingeniería Eléctrica por Ciclos Propedéuticos - Tesis y disertaciones académicas Electricidad Conductores eléctricos Transformadores eléctricos DIgSILENT DPL Distributed generation Fault location Low impedance based methods Python |
dc.subject.lemb.spa.fl_str_mv |
Ingeniería Eléctrica por Ciclos Propedéuticos - Tesis y disertaciones académicas Electricidad Conductores eléctricos Transformadores eléctricos |
dc.subject.keyword.spa.fl_str_mv |
DIgSILENT DPL Distributed generation Fault location Low impedance based methods Python |
description |
Objetivo: El objetivo general de este trabajo es establecer el impacto de la implementación de generación distribuida (GD) en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT. Los objetivos específicos corresponden al análisis de los métodos propuestos en el estándar IEEE C37.114-2014, la implementación de un caso de estudio que permita evaluar la eficiencia de dos métodos para la localización de fallas y la construcción de material audiovisual que muestre la programación de la interfaz entre Python y DIgSILENT. Metodología: Con el uso de nuevas tecnologías para la generación de energía eléctrica se ha desarrollado la GD, esto ha planteado diferentes retos para la localización de fallas en las líneas de distribución, ya que la GD puede llegar a afectar la exactitud de los métodos tradicionales. Para validar la efectivad y exactitud de los métodos de localización al presentarse GD y resistencia de falla, se realiza la selección de dos métodos que cumplan las características para ser estudiados. La metodología implementada en este trabajo se enmarca en cuatro etapas, en la primera etapa se realiza la consulta bibliográfica sobre los métodos propuestos en el estándar IEEE C37.114-2014 y la implementación de un sistema de pruebas, en la segunda la selección de los métodos de Takagi modificado y medición sincronizada en dos nodos para implementación en DIgSILENT Programming Language (DPL), en la tercera el estudio de cortocircuito implementando los métodos en el sistema de pruebas realizando variaciones en los niveles de penetración de GD mediante la interfaz desarrollada en Python, en la cuarta el desarrollo del documento final en conjunto con las ayudas audiovisuales. Resultados: Para el método de Takagi al implementar GD se evidencia que el error aumenta a medida que incrementa el nivel de penetración de GD. El mayor error se obtiene para el nivel de penetración más alto de GD con un 48.39 %, para el sistema sin GD los errores del método no superan el 1.38 %. Para el método de medición sincronizada en dos nodos al implementar GD se evidencia que el error aumenta a medida que incrementa el nivel de penetración de GD. El menor error se obtiene para el nivel de penetración más bajo con un 8.67 %, para el sistema sin GD los errores son del 0 %. Conclusiones: Se implementaron dos métodos de localización de fallas de baja de impedancia utilizando el software DIgSILENT y la herramienta de programación DPL. La integración de GD presenta un impacto negativo en la eficiencia de los métodos seleccionados, entre mayor es el nivel de penetración que se presenta en el sistema, mayor es el error en la localización de la falla. |
publishDate |
2022 |
dc.date.created.none.fl_str_mv |
2022-10-11 |
dc.date.accessioned.none.fl_str_mv |
2023-05-12T18:44:20Z |
dc.date.available.none.fl_str_mv |
2023-05-12T18:44:20Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.fl_str_mv |
Monografía |
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/31332 |
url |
http://hdl.handle.net/11349/31332 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
CC0 1.0 Universal |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/publicdomain/zero/1.0/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
CC0 1.0 Universal http://creativecommons.org/publicdomain/zero/1.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/31332/1/PerillaCabraHelman2022.pdf http://repository.udistrital.edu.co/bitstream/11349/31332/8/PerillaCabraHelman2022Anexo2.zip http://repository.udistrital.edu.co/bitstream/11349/31332/5/Licencia%20de%20uso%20y%20publicacion.pdf http://repository.udistrital.edu.co/bitstream/11349/31332/6/license_rdf http://repository.udistrital.edu.co/bitstream/11349/31332/7/license.txt http://repository.udistrital.edu.co/bitstream/11349/31332/9/PerillaCabraHelman2022.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/31332/10/Licencia%20de%20uso%20y%20publicacion.pdf.jpg |
bitstream.checksum.fl_str_mv |
fa90868431099de9aaf34145031fc379 322c8e84618a03e946f6c3c4f50a29a6 4bdd67b02d6053e478b162dc7c8b83c6 42fd4ad1e89814f5e4a476b409eb708c 997daf6c648c962d566d7b082dac908d 6f769fa8ae1f5e2ee82ca65380e7daf1 fa22a2cad7ef50ea502980e9086c2507 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 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_ |
1814111122468372480 |
spelling |
Giral Ramírez, Diego ArmandoPerilla Cabra, Helman LeonardoOsuna Contreras, Brayan Steven2023-05-12T18:44:20Z2023-05-12T18:44:20Z2022-10-11http://hdl.handle.net/11349/31332Objetivo: El objetivo general de este trabajo es establecer el impacto de la implementación de generación distribuida (GD) en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENT. Los objetivos específicos corresponden al análisis de los métodos propuestos en el estándar IEEE C37.114-2014, la implementación de un caso de estudio que permita evaluar la eficiencia de dos métodos para la localización de fallas y la construcción de material audiovisual que muestre la programación de la interfaz entre Python y DIgSILENT. Metodología: Con el uso de nuevas tecnologías para la generación de energía eléctrica se ha desarrollado la GD, esto ha planteado diferentes retos para la localización de fallas en las líneas de distribución, ya que la GD puede llegar a afectar la exactitud de los métodos tradicionales. Para validar la efectivad y exactitud de los métodos de localización al presentarse GD y resistencia de falla, se realiza la selección de dos métodos que cumplan las características para ser estudiados. La metodología implementada en este trabajo se enmarca en cuatro etapas, en la primera etapa se realiza la consulta bibliográfica sobre los métodos propuestos en el estándar IEEE C37.114-2014 y la implementación de un sistema de pruebas, en la segunda la selección de los métodos de Takagi modificado y medición sincronizada en dos nodos para implementación en DIgSILENT Programming Language (DPL), en la tercera el estudio de cortocircuito implementando los métodos en el sistema de pruebas realizando variaciones en los niveles de penetración de GD mediante la interfaz desarrollada en Python, en la cuarta el desarrollo del documento final en conjunto con las ayudas audiovisuales. Resultados: Para el método de Takagi al implementar GD se evidencia que el error aumenta a medida que incrementa el nivel de penetración de GD. El mayor error se obtiene para el nivel de penetración más alto de GD con un 48.39 %, para el sistema sin GD los errores del método no superan el 1.38 %. Para el método de medición sincronizada en dos nodos al implementar GD se evidencia que el error aumenta a medida que incrementa el nivel de penetración de GD. El menor error se obtiene para el nivel de penetración más bajo con un 8.67 %, para el sistema sin GD los errores son del 0 %. Conclusiones: Se implementaron dos métodos de localización de fallas de baja de impedancia utilizando el software DIgSILENT y la herramienta de programación DPL. La integración de GD presenta un impacto negativo en la eficiencia de los métodos seleccionados, entre mayor es el nivel de penetración que se presenta en el sistema, mayor es el error en la localización de la falla.Objective: The general objective of this work is to establish the impact of the distributed generation (DG) implementation in low impedance fault location methods using Python and DIgSILENT. The specific objectives proposed correspond to the analysis of the methods in the IEEE C37.114-2014 standard, the implementation of a case study that allows evaluating the efficiency of two methods for locating faults and the construction of audiovisual material that shows the programming of the interface between Python and DIgSILENT. Methodology: With the use of new technologies for the generation of electrical energy, DG has been developed, this has posed different challenges for locating faults in distribution lines, since DG can affect the accuracy of traditional methods. To validate the effectiveness and accuracy of the location methods when presenting GD and fault resistance, the selection of two methods that meet the characteristics to be studied is made. The methodology implemented in this work is framed in four stages, in the first stage the bibliographic consultation is carried out on the methods proposed in the IEEE C37.114-2014 standard and the implementation of a test system, in the second the selection of the modified Takagi methods and synchronized measurement in two nodes for implementation in DIgSILENT Programming Language (DPL), in the third the short-circuit study implementing the methods in the test system making variations in the GD penetration levels through the interface developed in Python , in the fourth the development of the final document in conjunction with the audiovisual aids. Results: For the Takagi method when implementing GD, it is evident that the error increases as the level of GD penetration increases. The highest error is obtained for the highest penetration level of DG with 48.39%, for the system without DG the errors of the method do not exceed 1.38%. For the synchronized measurement method in two nodes when implementing GD, it is evident that the error increases as the level of GD penetration increases. The lowest error is obtained for the lowest level of penetration with 8.67%, for the system without DG the errors are 0%. Conclusions: Two low impedance fault location methods were implemented using the DIgSILENT software and the DPL programming tool. The integration of DG presents a negative impact on the efficiency of the selected methods, the higher the level of penetration that occurs in the system, the greater the error in locating the fault.NApdfspaCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2DIgSILENTDPLGeneración distribuidaLocalización de fallasMétodos basados en baja impedanciaPythonIngeniería Eléctrica por Ciclos Propedéuticos - Tesis y disertaciones académicasElectricidadConductores eléctricosTransformadores eléctricosDIgSILENTDPLDistributed generationFault locationLow impedance based methodsPythonImpacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENTImpacto de la implementación de generación distribuida en los métodos de localización de fallas de baja impedancia utilizando Python y DIgSILENTbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALPerillaCabraHelman2022.pdfPerillaCabraHelman2022.pdfTrabajo de gradoapplication/pdf1979711http://repository.udistrital.edu.co/bitstream/11349/31332/1/PerillaCabraHelman2022.pdffa90868431099de9aaf34145031fc379MD51open accessPerillaCabraHelman2022Anexo2.zipPerillaCabraHelman2022Anexo2.zipAnexosapplication/zip352960http://repository.udistrital.edu.co/bitstream/11349/31332/8/PerillaCabraHelman2022Anexo2.zip322c8e84618a03e946f6c3c4f50a29a6MD58open accessLicencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y publicaciónapplication/pdf223157http://repository.udistrital.edu.co/bitstream/11349/31332/5/Licencia%20de%20uso%20y%20publicacion.pdf4bdd67b02d6053e478b162dc7c8b83c6MD55metadata only accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701http://repository.udistrital.edu.co/bitstream/11349/31332/6/license_rdf42fd4ad1e89814f5e4a476b409eb708cMD56open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/31332/7/license.txt997daf6c648c962d566d7b082dac908dMD57open accessTHUMBNAILPerillaCabraHelman2022.pdf.jpgPerillaCabraHelman2022.pdf.jpgIM Thumbnailimage/jpeg7514http://repository.udistrital.edu.co/bitstream/11349/31332/9/PerillaCabraHelman2022.pdf.jpg6f769fa8ae1f5e2ee82ca65380e7daf1MD59open accessLicencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg13051http://repository.udistrital.edu.co/bitstream/11349/31332/10/Licencia%20de%20uso%20y%20publicacion.pdf.jpgfa22a2cad7ef50ea502980e9086c2507MD510open access11349/31332oai:repository.udistrital.edu.co:11349/313322023-06-13 14:55:53.844open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |