On-line method for optimal tuning of PID controllers using standard OPC interface

Introducción— El controlado PID es el algoritmo matemático mayormente utilizado como estrategia de control regulatorio en entornos industriales. Las aplicaciones son variadas; sin embargo, su respuesta depende del cálculo adecuado de sus tres parámetros: el proporcional, el derivativo y el integral....

Full description

Autores:
Riano , Cristhian
Díaz-Rodríguez, Jorge Luis
Mejía Bugallo, Diego Armando
Tipo de recurso:
Article of journal
Fecha de publicación:
2022
Institución:
Corporación Universidad de la Costa
Repositorio:
REDICUC - Repositorio CUC
Idioma:
eng
OAI Identifier:
oai:repositorio.cuc.edu.co:11323/9981
Acceso en línea:
https://hdl.handle.net/11323/9981
https://repositorio.cuc.edu.co/
Palabra clave:
Algoritmos genéticos
Sintonización automática
Optimización
Controlador PID
Genetic algorithms
Automatic tuning
Optimization
PID controller
Rights
openAccess
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
id RCUC2_3cabcb7b0333f60ebbcc7084cdc871e4
oai_identifier_str oai:repositorio.cuc.edu.co:11323/9981
network_acronym_str RCUC2
network_name_str REDICUC - Repositorio CUC
repository_id_str
dc.title.eng.fl_str_mv On-line method for optimal tuning of PID controllers using standard OPC interface
dc.title.translated.none.fl_str_mv Método on-line para sintonización óptima de controladores PID utilizando interface estándar OPC
title On-line method for optimal tuning of PID controllers using standard OPC interface
spellingShingle On-line method for optimal tuning of PID controllers using standard OPC interface
Algoritmos genéticos
Sintonización automática
Optimización
Controlador PID
Genetic algorithms
Automatic tuning
Optimization
PID controller
title_short On-line method for optimal tuning of PID controllers using standard OPC interface
title_full On-line method for optimal tuning of PID controllers using standard OPC interface
title_fullStr On-line method for optimal tuning of PID controllers using standard OPC interface
title_full_unstemmed On-line method for optimal tuning of PID controllers using standard OPC interface
title_sort On-line method for optimal tuning of PID controllers using standard OPC interface
dc.creator.fl_str_mv Riano , Cristhian
Díaz-Rodríguez, Jorge Luis
Mejía Bugallo, Diego Armando
dc.contributor.author.none.fl_str_mv Riano , Cristhian
Díaz-Rodríguez, Jorge Luis
Mejía Bugallo, Diego Armando
dc.subject.proposal.spa.fl_str_mv Algoritmos genéticos
Sintonización automática
Optimización
Controlador PID
topic Algoritmos genéticos
Sintonización automática
Optimización
Controlador PID
Genetic algorithms
Automatic tuning
Optimization
PID controller
dc.subject.proposal.eng.fl_str_mv Genetic algorithms
Automatic tuning
Optimization
PID controller
description Introducción— El controlado PID es el algoritmo matemático mayormente utilizado como estrategia de control regulatorio en entornos industriales. Las aplicaciones son variadas; sin embargo, su respuesta depende del cálculo adecuado de sus tres parámetros: el proporcional, el derivativo y el integral. La sintonización analítica y algunos métodos experimentales resuelven el problema, pero ahora, dentro del contexto digital y de integración de procesos se habilitan nuevas posibilidades de sintonización. Objetivo— Obtener de manera automática y remota los parámetros óptimos del controlador PID aprovechando una conexión online vía el protocolo de comunicación OPC para analizar la respuesta transitoria del sistema. Metodología— El estudio se realiza en tres grandes fases, se inicia con un proceso térmico PD3 SMAR con conexión vía OPC, en esta fase se construye analíticamente el modelo matemático del proceso basado en leyes fundamentales. En la segunda fase utilizando un método analítico de sintonización se crea la arquitectura de control PID sobre la cual se realiza la experimentación online. En la tercera fase se implementan los algoritmos genéticos para sintonización automática, extrayendo medidas de rendimiento del controlador PID a través de la respuesta transitario del proceso y se determinar de manera óptima los valores para los parámetros proporcional, derivativo e integral. Resultados— El método de sintonización automática fue probado con dos procesos industriales correctamente instrumentados y se puedo observar el potencial de aplicación por su buen resultado además de que no se requiere de conocimientos matemáticos específicos en comparación con métodos convencionales de sintonización. Conclusiones— El método de sintonización automática consigue ser empleado de forma remota para calcular los parámetros óptimos de un controlador PID. Los parámetros son calculados a partir de la respuesta transitoria y de la definición de unos criterios de diseño adaptables a cualquier necesidad de control, de respuesta y de proceso.
publishDate 2022
dc.date.issued.none.fl_str_mv 2022
dc.date.accessioned.none.fl_str_mv 2023-04-11T15:55:00Z
dc.date.available.none.fl_str_mv 2023-04-11T15:55:00Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_6501
http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/ART
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.citation.spa.fl_str_mv C. Riaño Jaimes, J. Diaz Rodríguez & D. Mejía Bugallo, “On-line method for optimal tuning of PID controllers using standard OPC interface”, INGECUC, vol. 18, no. 2, pp. 13–26. DOI: http://doi.org/10.17981/ingecuc.18.2.2022.02
dc.identifier.issn.spa.fl_str_mv 2382-4700
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/11323/9981
dc.identifier.doi.none.fl_str_mv 10.17981/ingecuc.18.2.2022.02
dc.identifier.eissn.spa.fl_str_mv 0122-6517
dc.identifier.instname.spa.fl_str_mv Corporación Universidad de la Costa
dc.identifier.reponame.spa.fl_str_mv REDICUC - Repositorio CUC
dc.identifier.repourl.spa.fl_str_mv https://repositorio.cuc.edu.co/
identifier_str_mv C. Riaño Jaimes, J. Diaz Rodríguez & D. Mejía Bugallo, “On-line method for optimal tuning of PID controllers using standard OPC interface”, INGECUC, vol. 18, no. 2, pp. 13–26. DOI: http://doi.org/10.17981/ingecuc.18.2.2022.02
2382-4700
10.17981/ingecuc.18.2.2022.02
0122-6517
Corporación Universidad de la Costa
REDICUC - Repositorio CUC
url https://hdl.handle.net/11323/9981
https://repositorio.cuc.edu.co/
dc.language.iso.spa.fl_str_mv eng
language eng
dc.relation.ispartofjournal.spa.fl_str_mv INGE CUC
dc.relation.references.spa.fl_str_mv [1] R. Borase, D. Maghade, S. Sondkar & S. Pawar, “A review of PID control, tuning methods and applications,” Int. J. Dyn. Control, vol. 9, no. 5, pp. 818–827, Jul. 2020. https://doi.org/10.1007/s40435-020-00665-4
[2] V. Dubey, H. Goud & P. Sharma, “Role of PID Control Techniques in Process Control System: A Review,” in P. Nanda, V. K. Verma, S. Srivastava, R. K. Gupta & A. P. Mazumdar (eds), Data Engineering for Smart Systems. Lectures Notes in Networks and Systems, JAI, IN: Springer, 2021, pp. 659–670. https://doi. org/10.1007/978-981-16-2641-8_62
[3] S. Albatran, I. Smadi & H. Bataineh, “Generalized optimal and explicit PI/PID tuning formulas for underdamped second-order systems,” Int. J. Control Autom. Syst., vol. 18, no. 6, pp. 1023–1032, Nov. 2019. https:// doi.org/10.1007/s12555-019-0178-2
[4] A. Bagis, “Determination of the PID controller parameters by modified genetic algorithm for improved performance,” J. Inf. Sci. Eng., vol. 23, no. 5, pp. 1469–1480, Sep. 2007. https://jise.iis.sinica.edu.tw/JISESearch/pages/View/PaperView.jsf?keyId=50_864
[5] Y. Chen, Y. Ma & W. Yun, “Application of improved genetic algorithm in PID controller parameters optimization,” TELKOMNIKA, vol. 11, no. 3, pp. 1524–1530, Jan. 2013. https://doi.org/10.11591/telkomnika. v11i3.2301
[6] C. Huang & Y. Bai, “PID Tuning of Networked Feedforward-Feedback Control Systems,” in Z. Hou (eds), Lecture Notes in Electrical Engineering. Measuring Technology and Mechatronics Automation in Electrical Engineering, NYC, NY, USA: Springer, 2012, pp. 369–376. https://doi.org/10.1007/978-1-4614-2185-6_45
[7] S. Saxena & Y. Hote, “Internal model control based PID tuning using first-order filter,” Int. J. Control Autom. Syst., vol. 15, no. 1, pp. 149–159, Dec. 2016. https://doi.org/10.1007/s12555-015-0115-y
[8] Y. Mitsukura, T. Yamamoto & M. Kaneda, “A design of self-tuning PID controllers using a genetic algorithm,” presented at 1999 American Control Conference-ACC, SD, CA, USA, 2-4 Jun. 1999. https://doi. org/10.1109/ACC.1999.783590
[9] K. Amuthambigaiyin Sundari & P. Maruthupandi, “Optimal Design of PID Controller for the analysis of Two TANK System Using Metaheuristic Optimization Algorithm,” J. Electr. Eng. Technol., vol. 17, no. 1, pp. 627–640, Sep. 2021. https://doi.org/10.1007/s42835-021-00891-6
[10] E. Jove, H. Alaiz-Moretón, I. García-Rodríguez, C. Benavides-Cuellar, J. Casteleiro-Roca, & J. Calvo-Rolle, “PID-ITS: an intelligent tutoring system for PID tuning learning process,” presented at International Joint Conference SOCO’17-CISIS’17-ICEUTE’17, LEO, ES, 6-8 Sept. 2017. https://doi.org/10.1007/978-3- 319-67180-2_71
[11] Z. Bingul, “A new PID tuning technique using differential evolution for unstable and integrating processes with time delay,” presented at International Conference on Neural Information Processing-ICONIP, CCU, IN, 22-25 Nov. 2004. https://doi.org/10.1007/978-3-540-30499-9_38
[12] M. Gani, M. Islam & M. Ullah, “Optimal PID tuning for controlling the temperature of electric furnace by genetic algorithm,” SN Appl. Sci., vol. 1, no. 8, pp. 1–8, Jul. 2019. https://doi.org/10.1007/s42452-019-0929-y
[13] M. Mavrinac, Z. iCar, M. Šercer & I. Lorencin, “Genetic Algorithm-Based Parametrization of a PI Controller for DC Motor Control,” Tehn. Glas., vol. 16, no. 1, pp. 16–22, Feb. 2022. https://doi.org/10.31803// tg-20201119185015
[14] S. Kodali, R. Mandava & B. Rao, “Development of an Optimal PID Controller for the 4-DOF Manipulator Using Genetic Algorithm,” in R. Agrawal, J. K. Jain, V. S. Yadav, V. K. Manupati, L. Varela (eds), Recent Advances in Industrial Production. Lecture Notes in Mechanical Engineering, GBG, SE: Springer, 2021, pp. 23–32. https://doi.org/10.1007/978-981-16-5281-3_3
[15] D. Shan, C. Li, X. Qiu & W. Wei, “PID Parameters Tuning Based on Self-Adaptive Hybrid Particle Swarm Optimization Algorithm,” in Z. Zhong (eds), Proceedings of the International Conference on Information Engineering and Applications (IEA) 2012. Lecture Notes in Electrical Engineering, CQ, CN: Springer, 2013, pp. 751–757. https://doi.org/10.1007/978-1-4471-4847-0_92
[16] S. Singh & N. Katal, “Optimal tuning of PID controller for coupled tank liquid level control system using particle swarm optimization,” presented at Sixth International Conference on Soft Computing for Problem Solving-SocProS 2016, PTL, IN, 23-24 Dec. 2016. https://doi.org/10.1007/978-981-10-3325-4_8
[17] C. Sravan Bharadwaj, T. Sudhakar Babu & N. Rajasekar, “Tuning PID controller for inverted pendulum using genetic algorithm,” in, A. Konkani, R. Bera & S. Paul (eds), Advances in Systems, Control and Automation, SG: Springer, 2018, p. 395–404. https://doi.org/10.1007/978-981-10-4762-6_38
[18] N. Thomas & D. P. Poongodi, “Position control of DC motor using genetic algorithm based PID controller,” presented at World Congress on Engineering, WCE 2019, LDN, UK, 3-5 Jul. 2019. http://www.iaeng.org/ publication/WCE2019/
[19] J. C. Tudon-Martínez, J. d.-J. Lozoya-Santos, A. Cantu-Perez & A. Cardenas-Romero, “Advanced Temperature Control Applied on An Industrial Box Furnace,” J. Therm. Sci. Eng. Appl., vol. 14, no. 6, pp. 061001- 1–061001-14, Jun. 2022. https://doi.org/10.1115/1.4052020
dc.relation.citationendpage.spa.fl_str_mv 26
dc.relation.citationstartpage.spa.fl_str_mv 13
dc.relation.citationissue.spa.fl_str_mv 2
dc.relation.citationvolume.spa.fl_str_mv 18
dc.rights.spa.fl_str_mv Derechos de autor 2022 INGE CUC
dc.rights.license.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
Derechos de autor 2022 INGE CUC
https://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 14 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Corporación Universidad de la Costa
dc.publisher.place.spa.fl_str_mv Colombia
dc.source.spa.fl_str_mv https://revistascientificas.cuc.edu.co/ingecuc/article/view/4152
institution Corporación Universidad de la Costa
bitstream.url.fl_str_mv https://repositorio.cuc.edu.co/bitstreams/0453c47f-1600-421a-b2e8-8dc076ddb506/download
https://repositorio.cuc.edu.co/bitstreams/b8582f40-9106-4224-a50a-cc19b163d202/download
https://repositorio.cuc.edu.co/bitstreams/7395b2e0-17b9-4ed6-94da-e623bf9bc947/download
https://repositorio.cuc.edu.co/bitstreams/b14ca64b-fdd2-48d9-acbd-2f7c4e19ac30/download
bitstream.checksum.fl_str_mv e44e573a59d48d3ffeeaa3ef7726537b
2f9959eaf5b71fae44bbf9ec84150c7a
2a7871ded11efb9e9ee1a639b53c4d83
478f8a5ba0ce3f60ce0dc5014ff9791d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio de la Universidad de la Costa CUC
repository.mail.fl_str_mv repdigital@cuc.edu.co
_version_ 1811760715815452672
spelling Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)Derechos de autor 2022 INGE CUChttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Riano , Cristhian Díaz-Rodríguez, Jorge LuisMejía Bugallo, Diego Armando2023-04-11T15:55:00Z2023-04-11T15:55:00Z2022C. Riaño Jaimes, J. Diaz Rodríguez & D. Mejía Bugallo, “On-line method for optimal tuning of PID controllers using standard OPC interface”, INGECUC, vol. 18, no. 2, pp. 13–26. DOI: http://doi.org/10.17981/ingecuc.18.2.2022.022382-4700https://hdl.handle.net/11323/998110.17981/ingecuc.18.2.2022.020122-6517Corporación Universidad de la CostaREDICUC - Repositorio CUChttps://repositorio.cuc.edu.co/Introducción— El controlado PID es el algoritmo matemático mayormente utilizado como estrategia de control regulatorio en entornos industriales. Las aplicaciones son variadas; sin embargo, su respuesta depende del cálculo adecuado de sus tres parámetros: el proporcional, el derivativo y el integral. La sintonización analítica y algunos métodos experimentales resuelven el problema, pero ahora, dentro del contexto digital y de integración de procesos se habilitan nuevas posibilidades de sintonización. Objetivo— Obtener de manera automática y remota los parámetros óptimos del controlador PID aprovechando una conexión online vía el protocolo de comunicación OPC para analizar la respuesta transitoria del sistema. Metodología— El estudio se realiza en tres grandes fases, se inicia con un proceso térmico PD3 SMAR con conexión vía OPC, en esta fase se construye analíticamente el modelo matemático del proceso basado en leyes fundamentales. En la segunda fase utilizando un método analítico de sintonización se crea la arquitectura de control PID sobre la cual se realiza la experimentación online. En la tercera fase se implementan los algoritmos genéticos para sintonización automática, extrayendo medidas de rendimiento del controlador PID a través de la respuesta transitario del proceso y se determinar de manera óptima los valores para los parámetros proporcional, derivativo e integral. Resultados— El método de sintonización automática fue probado con dos procesos industriales correctamente instrumentados y se puedo observar el potencial de aplicación por su buen resultado además de que no se requiere de conocimientos matemáticos específicos en comparación con métodos convencionales de sintonización. Conclusiones— El método de sintonización automática consigue ser empleado de forma remota para calcular los parámetros óptimos de un controlador PID. Los parámetros son calculados a partir de la respuesta transitoria y de la definición de unos criterios de diseño adaptables a cualquier necesidad de control, de respuesta y de proceso.Introduction— The controlled PID is the most widely used mathematical algorithm as a regulatory control strategy in industrial environments. The applications are varied; however, its answer depends on the proper calculation of its three parameters: the proportional, the derivative, and the integral. Analytical tuning and experimental methods solve the problem, but new tuning possibilities are now enabled within the digital and process integration context. Objective— Automatically and remotely obtain the optimal parameters of the PID controller, taking advantage of an online connection via the OPC communication protocol to analyze the transient response of the system. Methodology— The study is carried out in three main phases; it begins with a PD3 SMAR thermal process with connection via OPC; in this phase, the mathematical model of the process is built analytically based on fundamental laws. In the second phase, using an analytical tuning method, the PID control architecture is created on which the online experimentation is carried out. In the third phase, the genetic algorithms for automatic tuning are implemented, extracting performance measures from the PID controller through the transient response of the process and optimally determining the values for the proportional, derivative, and integral parameters. Results— The automatic tuning method was tested with two properly instrumented industrial processes. The potential for application can be seen due to its good result and because it does not require specific mathematical knowledge compared to conventional tuning methods. Conclusions— The automatic tuning method can be used remotely to calculate the optimal parameters of a PID controller. The parameters are calculated from the transient response and the definition of design criteria adaptable to any need for control, response, and process.14 páginasapplication/pdfengCorporación Universidad de la CostaColombiahttps://revistascientificas.cuc.edu.co/ingecuc/article/view/4152On-line method for optimal tuning of PID controllers using standard OPC interfaceMétodo on-line para sintonización óptima de controladores PID utilizando interface estándar OPCArtículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1Textinfo:eu-repo/semantics/articlehttp://purl.org/redcol/resource_type/ARTinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85INGE CUC[1] R. Borase, D. Maghade, S. Sondkar & S. Pawar, “A review of PID control, tuning methods and applications,” Int. J. Dyn. Control, vol. 9, no. 5, pp. 818–827, Jul. 2020. https://doi.org/10.1007/s40435-020-00665-4[2] V. Dubey, H. Goud & P. Sharma, “Role of PID Control Techniques in Process Control System: A Review,” in P. Nanda, V. K. Verma, S. Srivastava, R. K. Gupta & A. P. Mazumdar (eds), Data Engineering for Smart Systems. Lectures Notes in Networks and Systems, JAI, IN: Springer, 2021, pp. 659–670. https://doi. org/10.1007/978-981-16-2641-8_62[3] S. Albatran, I. Smadi & H. Bataineh, “Generalized optimal and explicit PI/PID tuning formulas for underdamped second-order systems,” Int. J. Control Autom. Syst., vol. 18, no. 6, pp. 1023–1032, Nov. 2019. https:// doi.org/10.1007/s12555-019-0178-2[4] A. Bagis, “Determination of the PID controller parameters by modified genetic algorithm for improved performance,” J. Inf. Sci. Eng., vol. 23, no. 5, pp. 1469–1480, Sep. 2007. https://jise.iis.sinica.edu.tw/JISESearch/pages/View/PaperView.jsf?keyId=50_864[5] Y. Chen, Y. Ma & W. Yun, “Application of improved genetic algorithm in PID controller parameters optimization,” TELKOMNIKA, vol. 11, no. 3, pp. 1524–1530, Jan. 2013. https://doi.org/10.11591/telkomnika. v11i3.2301[6] C. Huang & Y. Bai, “PID Tuning of Networked Feedforward-Feedback Control Systems,” in Z. Hou (eds), Lecture Notes in Electrical Engineering. Measuring Technology and Mechatronics Automation in Electrical Engineering, NYC, NY, USA: Springer, 2012, pp. 369–376. https://doi.org/10.1007/978-1-4614-2185-6_45[7] S. Saxena & Y. Hote, “Internal model control based PID tuning using first-order filter,” Int. J. Control Autom. Syst., vol. 15, no. 1, pp. 149–159, Dec. 2016. https://doi.org/10.1007/s12555-015-0115-y[8] Y. Mitsukura, T. Yamamoto & M. Kaneda, “A design of self-tuning PID controllers using a genetic algorithm,” presented at 1999 American Control Conference-ACC, SD, CA, USA, 2-4 Jun. 1999. https://doi. org/10.1109/ACC.1999.783590[9] K. Amuthambigaiyin Sundari & P. Maruthupandi, “Optimal Design of PID Controller for the analysis of Two TANK System Using Metaheuristic Optimization Algorithm,” J. Electr. Eng. Technol., vol. 17, no. 1, pp. 627–640, Sep. 2021. https://doi.org/10.1007/s42835-021-00891-6[10] E. Jove, H. Alaiz-Moretón, I. García-Rodríguez, C. Benavides-Cuellar, J. Casteleiro-Roca, & J. Calvo-Rolle, “PID-ITS: an intelligent tutoring system for PID tuning learning process,” presented at International Joint Conference SOCO’17-CISIS’17-ICEUTE’17, LEO, ES, 6-8 Sept. 2017. https://doi.org/10.1007/978-3- 319-67180-2_71[11] Z. Bingul, “A new PID tuning technique using differential evolution for unstable and integrating processes with time delay,” presented at International Conference on Neural Information Processing-ICONIP, CCU, IN, 22-25 Nov. 2004. https://doi.org/10.1007/978-3-540-30499-9_38[12] M. Gani, M. Islam & M. Ullah, “Optimal PID tuning for controlling the temperature of electric furnace by genetic algorithm,” SN Appl. Sci., vol. 1, no. 8, pp. 1–8, Jul. 2019. https://doi.org/10.1007/s42452-019-0929-y[13] M. Mavrinac, Z. iCar, M. Šercer & I. Lorencin, “Genetic Algorithm-Based Parametrization of a PI Controller for DC Motor Control,” Tehn. Glas., vol. 16, no. 1, pp. 16–22, Feb. 2022. https://doi.org/10.31803// tg-20201119185015[14] S. Kodali, R. Mandava & B. Rao, “Development of an Optimal PID Controller for the 4-DOF Manipulator Using Genetic Algorithm,” in R. Agrawal, J. K. Jain, V. S. Yadav, V. K. Manupati, L. Varela (eds), Recent Advances in Industrial Production. Lecture Notes in Mechanical Engineering, GBG, SE: Springer, 2021, pp. 23–32. https://doi.org/10.1007/978-981-16-5281-3_3[15] D. Shan, C. Li, X. Qiu & W. Wei, “PID Parameters Tuning Based on Self-Adaptive Hybrid Particle Swarm Optimization Algorithm,” in Z. Zhong (eds), Proceedings of the International Conference on Information Engineering and Applications (IEA) 2012. Lecture Notes in Electrical Engineering, CQ, CN: Springer, 2013, pp. 751–757. https://doi.org/10.1007/978-1-4471-4847-0_92[16] S. Singh & N. Katal, “Optimal tuning of PID controller for coupled tank liquid level control system using particle swarm optimization,” presented at Sixth International Conference on Soft Computing for Problem Solving-SocProS 2016, PTL, IN, 23-24 Dec. 2016. https://doi.org/10.1007/978-981-10-3325-4_8[17] C. Sravan Bharadwaj, T. Sudhakar Babu & N. Rajasekar, “Tuning PID controller for inverted pendulum using genetic algorithm,” in, A. Konkani, R. Bera & S. Paul (eds), Advances in Systems, Control and Automation, SG: Springer, 2018, p. 395–404. https://doi.org/10.1007/978-981-10-4762-6_38[18] N. Thomas & D. P. Poongodi, “Position control of DC motor using genetic algorithm based PID controller,” presented at World Congress on Engineering, WCE 2019, LDN, UK, 3-5 Jul. 2019. http://www.iaeng.org/ publication/WCE2019/[19] J. C. Tudon-Martínez, J. d.-J. Lozoya-Santos, A. Cantu-Perez & A. Cardenas-Romero, “Advanced Temperature Control Applied on An Industrial Box Furnace,” J. Therm. Sci. Eng. Appl., vol. 14, no. 6, pp. 061001- 1–061001-14, Jun. 2022. https://doi.org/10.1115/1.40520202613218Algoritmos genéticosSintonización automáticaOptimizaciónControlador PIDGenetic algorithmsAutomatic tuningOptimizationPID controllerPublicationORIGINALOn-line method for optimal tuning of PID controllers using standard OPC interface.pdfOn-line method for optimal tuning of PID controllers using standard OPC interface.pdfArtículoapplication/pdf2055020https://repositorio.cuc.edu.co/bitstreams/0453c47f-1600-421a-b2e8-8dc076ddb506/downloade44e573a59d48d3ffeeaa3ef7726537bMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-814828https://repositorio.cuc.edu.co/bitstreams/b8582f40-9106-4224-a50a-cc19b163d202/download2f9959eaf5b71fae44bbf9ec84150c7aMD52TEXTOn-line method for optimal tuning of PID controllers using standard OPC interface.pdf.txtOn-line method for optimal tuning of PID controllers using standard OPC interface.pdf.txtExtracted texttext/plain44441https://repositorio.cuc.edu.co/bitstreams/7395b2e0-17b9-4ed6-94da-e623bf9bc947/download2a7871ded11efb9e9ee1a639b53c4d83MD53THUMBNAILOn-line method for optimal tuning of PID controllers using standard OPC interface.pdf.jpgOn-line method for optimal tuning of PID controllers using standard OPC interface.pdf.jpgGenerated Thumbnailimage/jpeg13546https://repositorio.cuc.edu.co/bitstreams/b14ca64b-fdd2-48d9-acbd-2f7c4e19ac30/download478f8a5ba0ce3f60ce0dc5014ff9791dMD5411323/9981oai:repositorio.cuc.edu.co:11323/99812024-09-17 10:46:37.101https://creativecommons.org/licenses/by-nc-nd/4.0/Derechos de autor 2022 INGE CUCopen.accesshttps://repositorio.cuc.edu.coRepositorio de la Universidad de la Costa CUCrepdigital@cuc.edu.coTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCgpNRURJQU5URSBFTCBFSkVSQ0lDSU8gREUgQ1VBTFFVSUVSQSBERSBMT1MgREVSRUNIT1MgUVVFIFNFIE9UT1JHQU4gRU4gRVNUQSBMSUNFTkNJQSwgVVNURUQgQUNFUFRBIFkgQUNVRVJEQSBRVUVEQVIgT0JMSUdBRE8gRU4gTE9TIFRFUk1JTk9TIFFVRSBTRSBTRcORQUxBTiBFTiBFTExBLiBFTCBMSUNFTkNJQU5URSBDT05DRURFIEEgVVNURUQgTE9TIERFUkVDSE9TIENPTlRFTklET1MgRU4gRVNUQSBMSUNFTkNJQSBDT05ESUNJT05BRE9TIEEgTEEgQUNFUFRBQ0nDk04gREUgU1VTIFRFUk1JTk9TIFkgQ09ORElDSU9ORVMuCjEuIERlZmluaWNpb25lcwoKYS4JT2JyYSBDb2xlY3RpdmEgZXMgdW5hIG9icmEsIHRhbCBjb21vIHVuYSBwdWJsaWNhY2nDs24gcGVyacOzZGljYSwgdW5hIGFudG9sb2fDrWEsIG8gdW5hIGVuY2ljbG9wZWRpYSwgZW4gbGEgcXVlIGxhIG9icmEgZW4gc3UgdG90YWxpZGFkLCBzaW4gbW9kaWZpY2FjacOzbiBhbGd1bmEsIGp1bnRvIGNvbiB1biBncnVwbyBkZSBvdHJhcyBjb250cmlidWNpb25lcyBxdWUgY29uc3RpdHV5ZW4gb2JyYXMgc2VwYXJhZGFzIGUgaW5kZXBlbmRpZW50ZXMgZW4gc8OtIG1pc21hcywgc2UgaW50ZWdyYW4gZW4gdW4gdG9kbyBjb2xlY3Rpdm8uIFVuYSBPYnJhIHF1ZSBjb25zdGl0dXllIHVuYSBvYnJhIGNvbGVjdGl2YSBubyBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgKGNvbW8gc2UgZGVmaW5lIGFiYWpvKSBwYXJhIGxvcyBwcm9ww7NzaXRvcyBkZSBlc3RhIGxpY2VuY2lhLiBhcXVlbGxhIHByb2R1Y2lkYSBwb3IgdW4gZ3J1cG8gZGUgYXV0b3JlcywgZW4gcXVlIGxhIE9icmEgc2UgZW5jdWVudHJhIHNpbiBtb2RpZmljYWNpb25lcywganVudG8gY29uIHVuYSBjaWVydGEgY2FudGlkYWQgZGUgb3RyYXMgY29udHJpYnVjaW9uZXMsIHF1ZSBjb25zdGl0dXllbiBlbiBzw60gbWlzbW9zIHRyYWJham9zIHNlcGFyYWRvcyBlIGluZGVwZW5kaWVudGVzLCBxdWUgc29uIGludGVncmFkb3MgYWwgdG9kbyBjb2xlY3Rpdm8sIHRhbGVzIGNvbW8gcHVibGljYWNpb25lcyBwZXJpw7NkaWNhcywgYW50b2xvZ8OtYXMgbyBlbmNpY2xvcGVkaWFzLgoKYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgoKYy4JTGljZW5jaWFudGUsIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgcXVlIG9mcmVjZSBsYSBPYnJhIGVuIGNvbmZvcm1pZGFkIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4KCmQuCUF1dG9yIG9yaWdpbmFsLCBlcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuCgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCgpmLglVc3RlZCwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCBxdWUgZWplcmNpdGEgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSB5IHF1ZSBjb24gYW50ZXJpb3JpZGFkIG5vIGhhIHZpb2xhZG8gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIG1pc21hIHJlc3BlY3RvIGEgbGEgT2JyYSwgbyBxdWUgaGF5YSBvYnRlbmlkbyBhdXRvcml6YWNpw7NuIGV4cHJlc2EgcG9yIHBhcnRlIGRlbCBMaWNlbmNpYW50ZSBwYXJhIGVqZXJjZXIgbG9zIGRlcmVjaG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHBlc2UgYSB1bmEgdmlvbGFjacOzbiBhbnRlcmlvci4KCjIuIERlcmVjaG9zIGRlIFVzb3MgSG9ucmFkb3MgeSBleGNlcGNpb25lcyBMZWdhbGVzLgpOYWRhIGVuIGVzdGEgTGljZW5jaWEgcG9kcsOhIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bmEgZGlzbWludWNpw7NuLCBsaW1pdGFjacOzbiBvIHJlc3RyaWNjacOzbiBkZSBsb3MgZGVyZWNob3MgZGVyaXZhZG9zIGRlbCB1c28gaG9ucmFkbyB5IG90cmFzIGxpbWl0YWNpb25lcyBvIGV4Y2VwY2lvbmVzIGEgbG9zIGRlcmVjaG9zIGRlbCBhdXRvciBiYWpvIGVsIHLDqWdpbWVuIGxlZ2FsIHZpZ2VudGUgbyBkZXJpdmFkbyBkZSBjdWFscXVpZXIgb3RyYSBub3JtYSBxdWUgc2UgbGUgYXBsaXF1ZS4KCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CgphLglSZXByb2R1Y2lyIGxhIE9icmEsIGluY29ycG9yYXIgbGEgT2JyYSBlbiB1bmEgbyBtw6FzIE9icmFzIENvbGVjdGl2YXMsIHkgcmVwcm9kdWNpciBsYSBPYnJhIGluY29ycG9yYWRhIGVuIGxhcyBPYnJhcyBDb2xlY3RpdmFzLgoKYi4JRGlzdHJpYnVpciBjb3BpYXMgbyBmb25vZ3JhbWFzIGRlIGxhcyBPYnJhcywgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYSwgaW5jbHV5w6luZG9sYXMgY29tbyBpbmNvcnBvcmFkYXMgZW4gT2JyYXMgQ29sZWN0aXZhcywgc2Vnw7puIGNvcnJlc3BvbmRhLgoKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCgo0LiBSZXN0cmljY2lvbmVzLgpMYSBsaWNlbmNpYSBvdG9yZ2FkYSBlbiBsYSBhbnRlcmlvciBTZWNjacOzbiAzIGVzdMOhIGV4cHJlc2FtZW50ZSBzdWpldGEgeSBsaW1pdGFkYSBwb3IgbGFzIHNpZ3VpZW50ZXMgcmVzdHJpY2Npb25lczoKCmEuCVVzdGVkIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIHPDs2xvIGJham8gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIHkgVXN0ZWQgZGViZSBpbmNsdWlyIHVuYSBjb3BpYSBkZSBlc3RhIGxpY2VuY2lhIG8gZGVsIElkZW50aWZpY2Fkb3IgVW5pdmVyc2FsIGRlIFJlY3Vyc29zIGRlIGxhIG1pc21hIGNvbiBjYWRhIGNvcGlhIGRlIGxhIE9icmEgcXVlIGRpc3RyaWJ1eWEsIGV4aGliYSBww7pibGljYW1lbnRlLCBlamVjdXRlIHDDumJsaWNhbWVudGUgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gTm8gZXMgcG9zaWJsZSBvZnJlY2VyIG8gaW1wb25lciBuaW5ndW5hIGNvbmRpY2nDs24gc29icmUgbGEgT2JyYSBxdWUgYWx0ZXJlIG8gbGltaXRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIG8gZWwgZWplcmNpY2lvIGRlIGxvcyBkZXJlY2hvcyBkZSBsb3MgZGVzdGluYXRhcmlvcyBvdG9yZ2Fkb3MgZW4gZXN0ZSBkb2N1bWVudG8uIE5vIGVzIHBvc2libGUgc3VibGljZW5jaWFyIGxhIE9icmEuIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0b3MgdG9kb3MgbG9zIGF2aXNvcyBxdWUgaGFnYW4gcmVmZXJlbmNpYSBhIGVzdGEgTGljZW5jaWEgeSBhIGxhIGNsw6F1c3VsYSBkZSBsaW1pdGFjacOzbiBkZSBnYXJhbnTDrWFzLiBVc3RlZCBubyBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBjb24gYWxndW5hIG1lZGlkYSB0ZWNub2zDs2dpY2EgcXVlIGNvbnRyb2xlIGVsIGFjY2VzbyBvIGxhIHV0aWxpemFjacOzbiBkZSBlbGxhIGRlIHVuYSBmb3JtYSBxdWUgc2VhIGluY29uc2lzdGVudGUgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBMbyBhbnRlcmlvciBzZSBhcGxpY2EgYSBsYSBPYnJhIGluY29ycG9yYWRhIGEgdW5hIE9icmEgQ29sZWN0aXZhLCBwZXJvIGVzdG8gbm8gZXhpZ2UgcXVlIGxhIE9icmEgQ29sZWN0aXZhIGFwYXJ0ZSBkZSBsYSBvYnJhIG1pc21hIHF1ZWRlIHN1amV0YSBhIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBTaSBVc3RlZCBjcmVhIHVuYSBPYnJhIENvbGVjdGl2YSwgcHJldmlvIGF2aXNvIGRlIGN1YWxxdWllciBMaWNlbmNpYW50ZSBkZWJlLCBlbiBsYSBtZWRpZGEgZGUgbG8gcG9zaWJsZSwgZWxpbWluYXIgZGUgbGEgT2JyYSBDb2xlY3RpdmEgY3VhbHF1aWVyIHJlZmVyZW5jaWEgYSBkaWNobyBMaWNlbmNpYW50ZSBvIGFsIEF1dG9yIE9yaWdpbmFsLCBzZWfDum4gbG8gc29saWNpdGFkbyBwb3IgZWwgTGljZW5jaWFudGUgeSBjb25mb3JtZSBsbyBleGlnZSBsYSBjbMOhdXN1bGEgNChjKS4KCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KCmMuCVNpIHVzdGVkIGRpc3RyaWJ1eWUsIGV4aGliZSBww7pibGljYW1lbnRlLCBlamVjdXRhIHDDumJsaWNhbWVudGUgbyBlamVjdXRhIHDDumJsaWNhbWVudGUgZW4gZm9ybWEgZGlnaXRhbCBsYSBPYnJhIG8gY3VhbHF1aWVyIE9icmEgRGVyaXZhZGEgdSBPYnJhIENvbGVjdGl2YSwgVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGRlIGRlcmVjaG8gZGUgYXV0b3IgZGUgbGEgT2JyYSB5IHByb3BvcmNpb25hciwgZGUgZm9ybWEgcmF6b25hYmxlIHNlZ8O6biBlbCBtZWRpbyBvIG1hbmVyYSBxdWUgVXN0ZWQgZXN0w6kgdXRpbGl6YW5kbzogKGkpIGVsIG5vbWJyZSBkZWwgQXV0b3IgT3JpZ2luYWwgc2kgZXN0w6EgcHJvdmlzdG8gKG8gc2V1ZMOzbmltbywgc2kgZnVlcmUgYXBsaWNhYmxlKSwgeS9vIChpaSkgZWwgbm9tYnJlIGRlIGxhIHBhcnRlIG8gbGFzIHBhcnRlcyBxdWUgZWwgQXV0b3IgT3JpZ2luYWwgeS9vIGVsIExpY2VuY2lhbnRlIGh1YmllcmVuIGRlc2lnbmFkbyBwYXJhIGxhIGF0cmlidWNpw7NuICh2LmcuLCB1biBpbnN0aXR1dG8gcGF0cm9jaW5hZG9yLCBlZGl0b3JpYWwsIHB1YmxpY2FjacOzbikgZW4gbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZWwgTGljZW5jaWFudGUsIHTDqXJtaW5vcyBkZSBzZXJ2aWNpb3MgbyBkZSBvdHJhcyBmb3JtYXMgcmF6b25hYmxlczsgZWwgdMOtdHVsbyBkZSBsYSBPYnJhIHNpIGVzdMOhIHByb3Zpc3RvOyBlbiBsYSBtZWRpZGEgZGUgbG8gcmF6b25hYmxlbWVudGUgZmFjdGlibGUgeSwgc2kgZXN0w6EgcHJvdmlzdG8sIGVsIElkZW50aWZpY2Fkb3IgVW5pZm9ybWUgZGUgUmVjdXJzb3MgKFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcikgcXVlIGVsIExpY2VuY2lhbnRlIGVzcGVjaWZpY2EgcGFyYSBzZXIgYXNvY2lhZG8gY29uIGxhIE9icmEsIHNhbHZvIHF1ZSB0YWwgVVJJIG5vIHNlIHJlZmllcmEgYSBsYSBub3RhIHNvYnJlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBvIGEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGxpY2VuY2lhbWllbnRvIGRlIGxhIE9icmE7IHkgZW4gZWwgY2FzbyBkZSB1bmEgT2JyYSBEZXJpdmFkYSwgYXRyaWJ1aXIgZWwgY3LDqWRpdG8gaWRlbnRpZmljYW5kbyBlbCB1c28gZGUgbGEgT2JyYSBlbiBsYSBPYnJhIERlcml2YWRhICh2LmcuLCAiVHJhZHVjY2nDs24gRnJhbmNlc2EgZGUgbGEgT2JyYSBkZWwgQXV0b3IgT3JpZ2luYWwsIiBvICJHdWnDs24gQ2luZW1hdG9ncsOhZmljbyBiYXNhZG8gZW4gbGEgT2JyYSBvcmlnaW5hbCBkZWwgQXV0b3IgT3JpZ2luYWwiKS4gVGFsIGNyw6lkaXRvIHB1ZWRlIHNlciBpbXBsZW1lbnRhZG8gZGUgY3VhbHF1aWVyIGZvcm1hIHJhem9uYWJsZTsgZW4gZWwgY2Fzbywgc2luIGVtYmFyZ28sIGRlIE9icmFzIERlcml2YWRhcyB1IE9icmFzIENvbGVjdGl2YXMsIHRhbCBjcsOpZGl0byBhcGFyZWNlcsOhLCBjb21vIG3DrW5pbW8sIGRvbmRlIGFwYXJlY2UgZWwgY3LDqWRpdG8gZGUgY3VhbHF1aWVyIG90cm8gYXV0b3IgY29tcGFyYWJsZSB5IGRlIHVuYSBtYW5lcmEsIGFsIG1lbm9zLCB0YW4gZGVzdGFjYWRhIGNvbW8gZWwgY3LDqWRpdG8gZGUgb3RybyBhdXRvciBjb21wYXJhYmxlLgoKZC4JUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBlcyB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWw6CgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgoKaWkuCVJlZ2Fsw61hcyBwb3IgRm9ub2dyYW1hcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBsb3MgY29uc2FncmFkb3MgcG9yIGxhIFNBWUNPKSwgdW5hIGFnZW5jaWEgZGUgZGVyZWNob3MgbXVzaWNhbGVzIG8gYWxnw7puIGFnZW50ZSBkZXNpZ25hZG8sIGxhcyByZWdhbMOtYXMgcG9yIGN1YWxxdWllciBmb25vZ3JhbWEgcXVlIFVzdGVkIGNyZWUgYSBwYXJ0aXIgZGUgbGEgb2JyYSAo4oCcdmVyc2nDs24gY292ZXLigJ0pIHkgZGlzdHJpYnV5YSwgZW4gbG9zIHTDqXJtaW5vcyBkZWwgcsOpZ2ltZW4gZGUgZGVyZWNob3MgZGUgYXV0b3IsIHNpIGxhIGNyZWFjacOzbiBvIGRpc3RyaWJ1Y2nDs24gZGUgZXNhIHZlcnNpw7NuIGNvdmVyIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkZXN0aW5hZGEgbyBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgplLglHZXN0acOzbiBkZSBEZXJlY2hvcyBkZSBBdXRvciBzb2JyZSBJbnRlcnByZXRhY2lvbmVzIHkgRWplY3VjaW9uZXMgRGlnaXRhbGVzIChXZWJDYXN0aW5nKS4gUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBzZWEgdW4gZm9ub2dyYW1hLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpIHkgZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgQUNJTlBSTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCksIHN1amV0YSBhIGxhcyBkaXNwb3NpY2lvbmVzIGFwbGljYWJsZXMgZGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IsIHNpIGVzdGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjYuIExpbWl0YWNpw7NuIGRlIHJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTE8gRVhJSkEgRVhQUkVTQU1FTlRFIExBIExFWSBBUExJQ0FCTEUsIEVMIExJQ0VOQ0lBTlRFIE5PIFNFUsOBIFJFU1BPTlNBQkxFIEFOVEUgVVNURUQgUE9SIERBw5FPIEFMR1VOTywgU0VBIFBPUiBSRVNQT05TQUJJTElEQUQgRVhUUkFDT05UUkFDVFVBTCwgUFJFQ09OVFJBQ1RVQUwgTyBDT05UUkFDVFVBTCwgT0JKRVRJVkEgTyBTVUJKRVRJVkEsIFNFIFRSQVRFIERFIERBw5FPUyBNT1JBTEVTIE8gUEFUUklNT05JQUxFUywgRElSRUNUT1MgTyBJTkRJUkVDVE9TLCBQUkVWSVNUT1MgTyBJTVBSRVZJU1RPUyBQUk9EVUNJRE9TIFBPUiBFTCBVU08gREUgRVNUQSBMSUNFTkNJQSBPIERFIExBIE9CUkEsIEFVTiBDVUFORE8gRUwgTElDRU5DSUFOVEUgSEFZQSBTSURPIEFEVkVSVElETyBERSBMQSBQT1NJQklMSURBRCBERSBESUNIT1MgREHDkU9TLiBBTEdVTkFTIExFWUVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgQ0lFUlRBIFJFU1BPTlNBQklMSURBRCwgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjcuIFTDqXJtaW5vLgoKYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCgpiLglTdWpldGEgYSBsYXMgY29uZGljaW9uZXMgeSB0w6lybWlub3MgYW50ZXJpb3JlcywgbGEgbGljZW5jaWEgb3RvcmdhZGEgYXF1w60gZXMgcGVycGV0dWEgKGR1cmFudGUgZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlIGxhIG9icmEpLiBObyBvYnN0YW50ZSBsbyBhbnRlcmlvciwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcHVibGljYXIgeS9vIGVzdHJlbmFyIGxhIE9icmEgYmFqbyBjb25kaWNpb25lcyBkZSBsaWNlbmNpYSBkaWZlcmVudGVzIG8gYSBkZWphciBkZSBkaXN0cmlidWlybGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIExpY2VuY2lhIGVuIGN1YWxxdWllciBtb21lbnRvOyBlbiBlbCBlbnRlbmRpZG8sIHNpbiBlbWJhcmdvLCBxdWUgZXNhIGVsZWNjacOzbiBubyBzZXJ2aXLDoSBwYXJhIHJldm9jYXIgZXN0YSBsaWNlbmNpYSBvIHF1ZSBkZWJhIHNlciBvdG9yZ2FkYSAsIGJham8gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhKSwgeSBlc3RhIGxpY2VuY2lhIGNvbnRpbnVhcsOhIGVuIHBsZW5vIHZpZ29yIHkgZWZlY3RvIGEgbWVub3MgcXVlIHNlYSB0ZXJtaW5hZGEgY29tbyBzZSBleHByZXNhIGF0csOhcy4gTGEgTGljZW5jaWEgcmV2b2NhZGEgY29udGludWFyw6Egc2llbmRvIHBsZW5hbWVudGUgdmlnZW50ZSB5IGVmZWN0aXZhIHNpIG5vIHNlIGxlIGRhIHTDqXJtaW5vIGVuIGxhcyBjb25kaWNpb25lcyBpbmRpY2FkYXMgYW50ZXJpb3JtZW50ZS4KCjguIFZhcmlvcy4KCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCgpiLglTaSBhbGd1bmEgZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgcmVzdWx0YSBpbnZhbGlkYWRhIG8gbm8gZXhpZ2libGUsIHNlZ8O6biBsYSBsZWdpc2xhY2nDs24gdmlnZW50ZSwgZXN0byBubyBhZmVjdGFyw6EgbmkgbGEgdmFsaWRleiBuaSBsYSBhcGxpY2FiaWxpZGFkIGRlbCByZXN0byBkZSBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIHksIHNpbiBhY2Npw7NuIGFkaWNpb25hbCBwb3IgcGFydGUgZGUgbG9zIHN1amV0b3MgZGUgZXN0ZSBhY3VlcmRvLCBhcXXDqWxsYSBzZSBlbnRlbmRlcsOhIHJlZm9ybWFkYSBsbyBtw61uaW1vIG5lY2VzYXJpbyBwYXJhIGhhY2VyIHF1ZSBkaWNoYSBkaXNwb3NpY2nDs24gc2VhIHbDoWxpZGEgeSBleGlnaWJsZS4KCmMuCU5pbmfDum4gdMOpcm1pbm8gbyBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSBzZSBlc3RpbWFyw6EgcmVudW5jaWFkYSB5IG5pbmd1bmEgdmlvbGFjacOzbiBkZSBlbGxhIHNlcsOhIGNvbnNlbnRpZGEgYSBtZW5vcyBxdWUgZXNhIHJlbnVuY2lhIG8gY29uc2VudGltaWVudG8gc2VhIG90b3JnYWRvIHBvciBlc2NyaXRvIHkgZmlybWFkbyBwb3IgbGEgcGFydGUgcXVlIHJlbnVuY2llIG8gY29uc2llbnRhLgoKZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=