GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras

El cierre de minas plantea el desafío crucial de restaurar ecosistemas intervenidos, donde la elección incorrecta de especies arbóreas puede llevar al fracaso de los esfuerzos de revegetalización. GeoReforest, un plugin para QGIS, surge como una solución innovadora para este problema. Integra datos...

Full description

Autores:
Espitia, Mauren Ximena
Alba Becerra, Erika Carolina
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/94256
Acceso en línea:
http://hdl.handle.net/11349/94256
Palabra clave:
Reforestación
Complemento
Restauración
Especie arbórea
Dato geoambiental
Reforestation
Plugin
Restoration
Tree species
Geoenvironmental data
Rights
License
Abierto (Texto Completo)
id UDISTRITA2_9665cc0a8e88cdeb96517be4fc400f56
oai_identifier_str oai:repository.udistrital.edu.co:11349/94256
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
dc.title.titleenglish.none.fl_str_mv GeoReforest: QGIS plugin for the selection of tree species in the reforestation of mining areas
title GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
spellingShingle GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
Reforestación
Complemento
Restauración
Especie arbórea
Dato geoambiental
Reforestation
Plugin
Restoration
Tree species
Geoenvironmental data
title_short GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
title_full GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
title_fullStr GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
title_full_unstemmed GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
title_sort GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
dc.creator.fl_str_mv Espitia, Mauren Ximena
Alba Becerra, Erika Carolina
dc.contributor.advisor.none.fl_str_mv Ramírez Fernández, Salomón Einstein
dc.contributor.author.none.fl_str_mv Espitia, Mauren Ximena
Alba Becerra, Erika Carolina
dc.subject.none.fl_str_mv Reforestación
Complemento
Restauración
Especie arbórea
Dato geoambiental
topic Reforestación
Complemento
Restauración
Especie arbórea
Dato geoambiental
Reforestation
Plugin
Restoration
Tree species
Geoenvironmental data
dc.subject.keyword.none.fl_str_mv Reforestation
Plugin
Restoration
Tree species
Geoenvironmental data
description El cierre de minas plantea el desafío crucial de restaurar ecosistemas intervenidos, donde la elección incorrecta de especies arbóreas puede llevar al fracaso de los esfuerzos de revegetalización. GeoReforest, un plugin para QGIS, surge como una solución innovadora para este problema. Integra datos geoambientales, como altimetría, tipo de suelo, precipitación, temperatura y humedad, con una base de datos de especies arbóreas, permitiendo identificar las más adecuadas para cada área específica. El plugin no solo optimiza recursos y acelera la toma de decisiones, sino que también asegura que las especies seleccionadas tengan mayores tasas de supervivencia. Desarrollado bajo la metodología ágil SCRUM y utilizando herramientas como Python, PyQGIS y PostgreSQL, GeoReforest combina precisión técnica con accesibilidad para profesionales, contribuyendo significativamente a la restauración de paisajes y la sostenibilidad ambiental.
publishDate 2024
dc.date.created.none.fl_str_mv 2024-12-03
dc.date.accessioned.none.fl_str_mv 2025-03-27T20:01:28Z
dc.date.available.none.fl_str_mv 2025-03-27T20:01:28Z
dc.type.none.fl_str_mv bachelorThesis
dc.type.degree.none.fl_str_mv Monografía
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.none.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/94256
url http://hdl.handle.net/11349/94256
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Abud, M. (2012). Calidad en la industria del software. La norma ISO 9126. https://www.nacionmulticultural.unam.mx/empresasindigenas/docs/2094.pdf
Autoridad Nacional de Licencias Ambientales. (2022). Guía para la elaboración del plan de cierre y abandono de proyectos mineros. https://www.anla.gov.co/01_anla/documentos/proyectos/02_transformacionale s/03_nuevo_modelo/Documentos/05-09-2022-anla-guia-de-cierre-abandono-proyectos mineros.pdf
Castejón, M., Sanchez, F., y Rosselló, R. (1998). SIGEFOR: Sistema de Información Geográfica para la reforestación. Fundación del conde del Valle Salazar. https://www.researchgate.net/publication/235735750_SIGREFOR_Sistema_de_Informac ion_Geografica_para_la_Reforestacion
Colmena, G., Colomina, D., Melero, M, Peiteado, C. y Rodríguez, G. (2021). Manual de restauración forestal. WWF España. https://wwfes.awsassets.panda.org/downloads/manual_restauracion_2021_caixabank_mo ntemadrid.pdf
Comisión Nacional Forestal. (2010). Prácticas de reforestación. https://ccmss.org.mx/wp content/uploads/Practicas_de_reforestacion_manual_basico.pdf López-Senespleda, E., Alonso-Ponce, R., Ruiz-Peinado, R., Gómez, V., Serrada, R., y Montero, G. (2023). ModERFoRest: A new software for assessing the environmental performance of forest species. https://doi.org/10.5424/fs/2023321-19406
Ministerio de Ambiente y Desarrollo Sostenible. (2015). Decreto 1076 de 2015 Por medio del cual se expide el Decreto Único Reglamentario del Sector Ambiente y Desarrollo Sostenible. https://www.minambiente.gov.co/wp-content/uploads/2021/06/Decreto-1076-de 35 2015.pdf
Navarro Cadavid, A., Fernández Martínez, J. D., y Morales Vélez, J. (2013). Revisión de metodologías ágiles para el desarrollo de software. PROSPECTIVA, 11(2), 30-39.
Nielsen, J., Landauer, T. (1993). A mathematical model of the finding of usability problems. https://dl.acm.org/doi/10.1145/169059.169166
Tasoulas, E., Varras, G., Tsirogiannis, I., y Myriounis, C. (2013). Development of a GIS Application for Urban Planning. https://doi.org/10.1016/j.protcy.2013.11.011
United States Department of Agriculture. (2006). iTree. https://research.fs.usda.gov/products/dataandtools/tools/i-tree
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.acceso.none.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.none.fl_str_mv pdf
dc.publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
publisher.none.fl_str_mv Universidad Distrital Francisco José de Caldas
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/0acaeb56-d13c-4f19-aa86-16ba9d5e920b/download
https://repository.udistrital.edu.co/bitstreams/4ec27f13-2e2d-4c50-84d8-f0b298d00426/download
https://repository.udistrital.edu.co/bitstreams/94a97f0a-fe0f-4831-ae27-cddd745c7208/download
https://repository.udistrital.edu.co/bitstreams/26e75683-7488-46bc-9ba1-c3d6f8f38e1f/download
bitstream.checksum.fl_str_mv 221d856a1c57ca299537d788d0720486
0864caa9c039d78486f8c41dfd6719f7
4edc7e55ed7445f05069f61d53fd15eb
997daf6c648c962d566d7b082dac908d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1837007239622164480
spelling Ramírez Fernández, Salomón EinsteinEspitia, Mauren XimenaAlba Becerra, Erika Carolina2025-03-27T20:01:28Z2025-03-27T20:01:28Z2024-12-03http://hdl.handle.net/11349/94256El cierre de minas plantea el desafío crucial de restaurar ecosistemas intervenidos, donde la elección incorrecta de especies arbóreas puede llevar al fracaso de los esfuerzos de revegetalización. GeoReforest, un plugin para QGIS, surge como una solución innovadora para este problema. Integra datos geoambientales, como altimetría, tipo de suelo, precipitación, temperatura y humedad, con una base de datos de especies arbóreas, permitiendo identificar las más adecuadas para cada área específica. El plugin no solo optimiza recursos y acelera la toma de decisiones, sino que también asegura que las especies seleccionadas tengan mayores tasas de supervivencia. Desarrollado bajo la metodología ágil SCRUM y utilizando herramientas como Python, PyQGIS y PostgreSQL, GeoReforest combina precisión técnica con accesibilidad para profesionales, contribuyendo significativamente a la restauración de paisajes y la sostenibilidad ambiental.The closure of mines presents the critical challenge of restoring intervened ecosystems, where the wrong choice of tree species can lead to the failure of revegetation efforts. GeoReforest, a QGIS plugin, emerges as an innovative solution to this problem. It integrates geoenvironmental data, such as elevation, soil type, precipitation, temperature, and humidity, with a tree species database, enabling the identification of the most suitable species for each specific area. The plugin not only optimizes resources and accelerates decision-making but also ensures higher survival rates for the selected species. Developed using the agile SCRUM methodology and tools like Python, PyQGIS, and PostgreSQL, GeoReforest combines technical precision with accessibility for professionals, making a significant contribution to landscape restoration and environmental sustainability.pdfspaUniversidad Distrital Francisco José de CaldasReforestaciónComplementoRestauraciónEspecie arbóreaDato geoambientalReforestationPluginRestorationTree speciesGeoenvironmental dataGeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas minerasGeoReforest: QGIS plugin for the selection of tree species in the reforestation of mining areasbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Abud, M. (2012). Calidad en la industria del software. La norma ISO 9126. https://www.nacionmulticultural.unam.mx/empresasindigenas/docs/2094.pdfAutoridad Nacional de Licencias Ambientales. (2022). Guía para la elaboración del plan de cierre y abandono de proyectos mineros. https://www.anla.gov.co/01_anla/documentos/proyectos/02_transformacionale s/03_nuevo_modelo/Documentos/05-09-2022-anla-guia-de-cierre-abandono-proyectos mineros.pdfCastejón, M., Sanchez, F., y Rosselló, R. (1998). SIGEFOR: Sistema de Información Geográfica para la reforestación. Fundación del conde del Valle Salazar. https://www.researchgate.net/publication/235735750_SIGREFOR_Sistema_de_Informac ion_Geografica_para_la_ReforestacionColmena, G., Colomina, D., Melero, M, Peiteado, C. y Rodríguez, G. (2021). Manual de restauración forestal. WWF España. https://wwfes.awsassets.panda.org/downloads/manual_restauracion_2021_caixabank_mo ntemadrid.pdfComisión Nacional Forestal. (2010). Prácticas de reforestación. https://ccmss.org.mx/wp content/uploads/Practicas_de_reforestacion_manual_basico.pdf López-Senespleda, E., Alonso-Ponce, R., Ruiz-Peinado, R., Gómez, V., Serrada, R., y Montero, G. (2023). ModERFoRest: A new software for assessing the environmental performance of forest species. https://doi.org/10.5424/fs/2023321-19406Ministerio de Ambiente y Desarrollo Sostenible. (2015). Decreto 1076 de 2015 Por medio del cual se expide el Decreto Único Reglamentario del Sector Ambiente y Desarrollo Sostenible. https://www.minambiente.gov.co/wp-content/uploads/2021/06/Decreto-1076-de 35 2015.pdfNavarro Cadavid, A., Fernández Martínez, J. D., y Morales Vélez, J. (2013). Revisión de metodologías ágiles para el desarrollo de software. PROSPECTIVA, 11(2), 30-39.Nielsen, J., Landauer, T. (1993). A mathematical model of the finding of usability problems. https://dl.acm.org/doi/10.1145/169059.169166Tasoulas, E., Varras, G., Tsirogiannis, I., y Myriounis, C. (2013). Development of a GIS Application for Urban Planning. https://doi.org/10.1016/j.protcy.2013.11.011United States Department of Agriculture. (2006). iTree. https://research.fs.usda.gov/products/dataandtools/tools/i-treeORIGINALEspitiaMaurenXimena2024.pdfEspitiaMaurenXimena2024.pdfapplication/pdf752290https://repository.udistrital.edu.co/bitstreams/0acaeb56-d13c-4f19-aa86-16ba9d5e920b/download221d856a1c57ca299537d788d0720486MD52EspitiaMaurenXimenaAnexos2024.rarEspitiaMaurenXimenaAnexos2024.rarapplication/octet-stream35066https://repository.udistrital.edu.co/bitstreams/4ec27f13-2e2d-4c50-84d8-f0b298d00426/download0864caa9c039d78486f8c41dfd6719f7MD53Licencia de uso y publicacion RIUD.pdfLicencia de uso y publicacion RIUD.pdfapplication/pdf234241https://repository.udistrital.edu.co/bitstreams/94a97f0a-fe0f-4831-ae27-cddd745c7208/download4edc7e55ed7445f05069f61d53fd15ebMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/26e75683-7488-46bc-9ba1-c3d6f8f38e1f/download997daf6c648c962d566d7b082dac908dMD5111349/94256oai:repository.udistrital.edu.co:11349/942562025-03-27 15:01:30.826open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK