Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución
Este trabajo aborda el problema de planificación en cuanto a la ubicación y dimensionamiento de generadores fotovoltaicos en redes de distribución con topología radial. Este problema se modela matemáticamente mediante un modelo de programación no lineal de enteros mixtos (MINLP), que busca reducir l...
- Autores:
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2023
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/35481
- Acceso en línea:
- http://hdl.handle.net/11349/35481
- Palabra clave:
- Generadores fotovoltaicos
Minimización de los costos operativos anuales totales
Redes de distribución eléctrica
Software GAMS
Interfaz MATLAB-GAMS
Metodología maestro-esclavo
Algoritmo seno-coseno
Ingeniería Eléctrica --Tesis y disertaciones académicas
Ubicación y dimensionamiento óptimo de fuentes fotovoltaicas en redes de distribución
Planificación de redes de distribución eléctrica con energía solar fotovoltaica
Interconexión de MATLAB y GAMS para la resolución de problemas de optimización en redes de distribución
Minimization of total annual operating costs
Electrical distribution networks
GAMS software
MATLAB-GAMS interface
Master–slave methodology
Sine–cosine algorithm
- Rights
- License
- CC0 1.0 Universal
id |
UDISTRITA2_885574c9a2b7bcfdbc475ad63216c2eb |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/35481 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución |
dc.title.titleenglish.spa.fl_str_mv |
Development of a MATLAB-GAMS framework for solving the problem regarding the optimal location and sizing of FV sources in distribution networks |
title |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución |
spellingShingle |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución Generadores fotovoltaicos Minimización de los costos operativos anuales totales Redes de distribución eléctrica Software GAMS Interfaz MATLAB-GAMS Metodología maestro-esclavo Algoritmo seno-coseno Ingeniería Eléctrica --Tesis y disertaciones académicas Ubicación y dimensionamiento óptimo de fuentes fotovoltaicas en redes de distribución Planificación de redes de distribución eléctrica con energía solar fotovoltaica Interconexión de MATLAB y GAMS para la resolución de problemas de optimización en redes de distribución Minimization of total annual operating costs Electrical distribution networks GAMS software MATLAB-GAMS interface Master–slave methodology Sine–cosine algorithm |
title_short |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución |
title_full |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución |
title_fullStr |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución |
title_full_unstemmed |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución |
title_sort |
Desarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribución |
dc.contributor.advisor.none.fl_str_mv |
Montoya Giraldo, Oscar Danilo |
dc.contributor.orcid.spa.fl_str_mv |
Montoya Giraldo, Oscar Danilo [0000-0001-6051-4925] |
dc.subject.spa.fl_str_mv |
Generadores fotovoltaicos Minimización de los costos operativos anuales totales Redes de distribución eléctrica Software GAMS Interfaz MATLAB-GAMS Metodología maestro-esclavo Algoritmo seno-coseno |
topic |
Generadores fotovoltaicos Minimización de los costos operativos anuales totales Redes de distribución eléctrica Software GAMS Interfaz MATLAB-GAMS Metodología maestro-esclavo Algoritmo seno-coseno Ingeniería Eléctrica --Tesis y disertaciones académicas Ubicación y dimensionamiento óptimo de fuentes fotovoltaicas en redes de distribución Planificación de redes de distribución eléctrica con energía solar fotovoltaica Interconexión de MATLAB y GAMS para la resolución de problemas de optimización en redes de distribución Minimization of total annual operating costs Electrical distribution networks GAMS software MATLAB-GAMS interface Master–slave methodology Sine–cosine algorithm |
dc.subject.lemb.spa.fl_str_mv |
Ingeniería Eléctrica --Tesis y disertaciones académicas Ubicación y dimensionamiento óptimo de fuentes fotovoltaicas en redes de distribución Planificación de redes de distribución eléctrica con energía solar fotovoltaica Interconexión de MATLAB y GAMS para la resolución de problemas de optimización en redes de distribución |
dc.subject.keyword.spa.fl_str_mv |
Minimization of total annual operating costs Electrical distribution networks GAMS software MATLAB-GAMS interface Master–slave methodology Sine–cosine algorithm |
description |
Este trabajo aborda el problema de planificación en cuanto a la ubicación y dimensionamiento de generadores fotovoltaicos en redes de distribución con topología radial. Este problema se modela matemáticamente mediante un modelo de programación no lineal de enteros mixtos (MINLP), que busca reducir los costos totales anuales de operación del sistema para un horizonte de planificación de 20 años. La función objetivo utilizada en este documento comprende tres elementos: (i) los costos de compra de energía en el nodo de la subestación (es decir, el nodo de suministro principal), (ii) los costos de inversión para la integración de generadores fotovoltaicos, y (iii) los costos asociados con la operación y el mantenimiento de estos dispositivos. Para solucionar este problema se propone la interconexión del software MATLAB y GAMS, utilizando una metodología maestro-esclavo, con lo cual se logra una solución de alta calidad a este problema. En la etapa maestra, el software MATLAB se utiliza como herramienta para programar una versión discreta del algoritmo seno-coseno (DSCA), que determina las ubicaciones donde se instalarán los generadores fotovoltaicos. En la etapa esclava, utilizando uno de los solucionadores del software GAMS (BONMIN) con las ubicaciones conocidas de los generadores fotovoltaicos, se resuelve el modelo MINLP que representa el problema a estudiar para encontrar el valor de la función objetivo y la nominal. potencia de los generadores fotovoltaicos. Los resultados numéricos alcanzados en los sistemas IEEE de 33 y 69 nodos se comparan con la solución del modelo de programación cónica entera mixta reportada en la literatura especializada, demostrando así la eficiencia y robustez de la metodología de optimización propuesta. que determina las ubicaciones donde se instalarán los generadores fotovoltaicos. |
publishDate |
2023 |
dc.date.created.none.fl_str_mv |
2023-03-03 |
dc.date.accessioned.none.fl_str_mv |
2024-05-23T21:01:37Z |
dc.date.available.none.fl_str_mv |
2024-05-23T21:01:37Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.fl_str_mv |
Producción Académica |
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/35481 |
url |
http://hdl.handle.net/11349/35481 |
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/35481/7/resources-12-00035.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/35481/8/Licencia%20de%20uso%20y%20publicacion.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/35481/5/license_rdf http://repository.udistrital.edu.co/bitstream/11349/35481/1/resources-12-00035.pdf http://repository.udistrital.edu.co/bitstream/11349/35481/4/Licencia%20de%20uso%20y%20publicacion.pdf http://repository.udistrital.edu.co/bitstream/11349/35481/6/license.txt |
bitstream.checksum.fl_str_mv |
eb8b2a0e7ae5c835778fc7e758e24702 c0f44f1b8b06925e11dc96ec1539e946 42fd4ad1e89814f5e4a476b409eb708c 298298edde52c4d25090be6826f53a55 8c5507c97b2d20a1c47e344009d4add1 997daf6c648c962d566d7b082dac908d |
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_ |
1814111287698784256 |
spelling |
Montoya Giraldo, Oscar Danilowill be generated::orcid::0000-0001-6051-4925600Montoya Giraldo, Oscar Danilo [0000-0001-6051-4925]Guzmán Romero, David Steveen2024-05-23T21:01:37Z2024-05-23T21:01:37Z2023-03-03http://hdl.handle.net/11349/35481Este trabajo aborda el problema de planificación en cuanto a la ubicación y dimensionamiento de generadores fotovoltaicos en redes de distribución con topología radial. Este problema se modela matemáticamente mediante un modelo de programación no lineal de enteros mixtos (MINLP), que busca reducir los costos totales anuales de operación del sistema para un horizonte de planificación de 20 años. La función objetivo utilizada en este documento comprende tres elementos: (i) los costos de compra de energía en el nodo de la subestación (es decir, el nodo de suministro principal), (ii) los costos de inversión para la integración de generadores fotovoltaicos, y (iii) los costos asociados con la operación y el mantenimiento de estos dispositivos. Para solucionar este problema se propone la interconexión del software MATLAB y GAMS, utilizando una metodología maestro-esclavo, con lo cual se logra una solución de alta calidad a este problema. En la etapa maestra, el software MATLAB se utiliza como herramienta para programar una versión discreta del algoritmo seno-coseno (DSCA), que determina las ubicaciones donde se instalarán los generadores fotovoltaicos. En la etapa esclava, utilizando uno de los solucionadores del software GAMS (BONMIN) con las ubicaciones conocidas de los generadores fotovoltaicos, se resuelve el modelo MINLP que representa el problema a estudiar para encontrar el valor de la función objetivo y la nominal. potencia de los generadores fotovoltaicos. Los resultados numéricos alcanzados en los sistemas IEEE de 33 y 69 nodos se comparan con la solución del modelo de programación cónica entera mixta reportada en la literatura especializada, demostrando así la eficiencia y robustez de la metodología de optimización propuesta. que determina las ubicaciones donde se instalarán los generadores fotovoltaicos.This paper addresses the planning problem regarding the location and sizing of PV generators in distribution networks with a radial topology. This problem is mathematically modeled using a mixed integer nonlinear programming (MINLP) model, which seeks to reduce the total annual operating costs of the system for a planning horizon of 20 years. The objective function used in this paper comprises three elements: (i) the energy purchase costs at the substation node (i.e., the main supply node), (ii) the investment costs for the integration of PV generators, and (iii) the costs associated with the operation and maintenance of these devices. To solve this problem, the interconnection of MATLAB and GAMS software is proposed, while using a master–slave methodology, with which a high-quality solution to this problem is achieved. In the master stage, the MATLAB software is used as a tool to program a discrete version of the sine–cosine algorithm (DSCA), which determines the locations where the PV generators are to be installed. In the slave stage, using one of the solvers of the GAMS software (BONMIN) with the known locations of the PV generators, the MINLP model representing the problem to be studied is solved in order to find the value of the objective function and the nominal power of the PV generators. The numerical results achieved in the IEEE 33- and 69-node systems are compared with the mixed-integer conic programming model solution reported in the specialized literature, thus demonstrating the efficiency and robustness of the proposed optimization methodology.pdfspaCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Generadores fotovoltaicosMinimización de los costos operativos anuales totalesRedes de distribución eléctricaSoftware GAMSInterfaz MATLAB-GAMSMetodología maestro-esclavoAlgoritmo seno-cosenoIngeniería Eléctrica --Tesis y disertaciones académicasUbicación y dimensionamiento óptimo de fuentes fotovoltaicas en redes de distribuciónPlanificación de redes de distribución eléctrica con energía solar fotovoltaicaInterconexión de MATLAB y GAMS para la resolución de problemas de optimización en redes de distribuciónMinimization of total annual operating costsElectrical distribution networksGAMS softwareMATLAB-GAMS interfaceMaster–slave methodologySine–cosine algorithmDesarrollo de un framework MATLAB-GAMS para la resolución del problema de ubicación y dimensionamiento óptimo de fuentes FV en redes de distribuciónDevelopment of a MATLAB-GAMS framework for solving the problem regarding the optimal location and sizing of FV sources in distribution networksbachelorThesisProducción Académicainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILresources-12-00035.pdf.jpgresources-12-00035.pdf.jpgIM Thumbnailimage/jpeg19509http://repository.udistrital.edu.co/bitstream/11349/35481/7/resources-12-00035.pdf.jpgeb8b2a0e7ae5c835778fc7e758e24702MD57open accessLicencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg13028http://repository.udistrital.edu.co/bitstream/11349/35481/8/Licencia%20de%20uso%20y%20publicacion.pdf.jpgc0f44f1b8b06925e11dc96ec1539e946MD58open accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701http://repository.udistrital.edu.co/bitstream/11349/35481/5/license_rdf42fd4ad1e89814f5e4a476b409eb708cMD55open accessORIGINALresources-12-00035.pdfresources-12-00035.pdfArtículo descargado de revistaapplication/pdf430147http://repository.udistrital.edu.co/bitstream/11349/35481/1/resources-12-00035.pdf298298edde52c4d25090be6826f53a55MD51open accessLicencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y publicaciónapplication/pdf315550http://repository.udistrital.edu.co/bitstream/11349/35481/4/Licencia%20de%20uso%20y%20publicacion.pdf8c5507c97b2d20a1c47e344009d4add1MD54metadata only accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/35481/6/license.txt997daf6c648c962d566d7b082dac908dMD56open access11349/35481oai:repository.udistrital.edu.co:11349/354812024-05-24 01:04:56.815open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |