Structural evolution analytics of public rest APIS
The use of technology has had an exponential growth curve that has driven different services to be offered through the Internet to solve the needs of multiple customers. Among the different existing services offered through the World Wide Web, there are APIs (Application Programming Interfaces) that...
- Autores:
-
Potes García, Nicolás
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2022
- Institución:
- Universidad de los Andes
- Repositorio:
- Séneca: repositorio Uniandes
- Idioma:
- eng
- OAI Identifier:
- oai:repositorio.uniandes.edu.co:1992/58824
- Acceso en línea:
- http://hdl.handle.net/1992/58824
- Palabra clave:
- API
REST
API evolution
Software evolution
API analysis
Ingeniería
- Rights
- openAccess
- License
- Attribution-NoDerivatives 4.0 Internacional
id |
UNIANDES2_be982dd302abe815827bf3773011fe0a |
---|---|
oai_identifier_str |
oai:repositorio.uniandes.edu.co:1992/58824 |
network_acronym_str |
UNIANDES2 |
network_name_str |
Séneca: repositorio Uniandes |
repository_id_str |
|
dc.title.none.fl_str_mv |
Structural evolution analytics of public rest APIS |
title |
Structural evolution analytics of public rest APIS |
spellingShingle |
Structural evolution analytics of public rest APIS API REST API evolution Software evolution API analysis Ingeniería |
title_short |
Structural evolution analytics of public rest APIS |
title_full |
Structural evolution analytics of public rest APIS |
title_fullStr |
Structural evolution analytics of public rest APIS |
title_full_unstemmed |
Structural evolution analytics of public rest APIS |
title_sort |
Structural evolution analytics of public rest APIS |
dc.creator.fl_str_mv |
Potes García, Nicolás |
dc.contributor.advisor.none.fl_str_mv |
Garcés Pernett, Kelly Johany |
dc.contributor.author.none.fl_str_mv |
Potes García, Nicolás |
dc.subject.keyword.none.fl_str_mv |
API REST API evolution Software evolution API analysis |
topic |
API REST API evolution Software evolution API analysis Ingeniería |
dc.subject.themes.es_CO.fl_str_mv |
Ingeniería |
description |
The use of technology has had an exponential growth curve that has driven different services to be offered through the Internet to solve the needs of multiple customers. Among the different existing services offered through the World Wide Web, there are APIs (Application Programming Interfaces) that allow consumers to access information of a certain nature, functions predefined by providers that are useful for a certain audience, among other functionalities that are consumed by a client¿s software. APIs can be classified as libraries or as remote APIs considering the place where they are hosted. Library APIs run in the same environment as the client software, while remote APIs are hosted in a different environment and are accessed by the client application through remote access protocols. This paper focuses on REST Web APIs (remote APIs) which are the most common type of Web APIs. This is because they are very easy to understand and integrate with client code. It is worth mentioning that REST is a software architectural style that guides the design and development of the architecture of a software or related for the Internet. Therefore, a REST API is an architecture for an API that uses HTTP-like requests to access data and perform interactions. |
publishDate |
2022 |
dc.date.accessioned.none.fl_str_mv |
2022-07-14T13:15:30Z |
dc.date.available.none.fl_str_mv |
2022-07-14T13:15:30Z |
dc.date.issued.none.fl_str_mv |
2022-07-13 |
dc.type.es_CO.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.driver.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.version.none.fl_str_mv |
info:eu-repo/semantics/acceptedVersion |
dc.type.coar.none.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.content.es_CO.fl_str_mv |
Text |
dc.type.redcol.none.fl_str_mv |
http://purl.org/redcol/resource_type/TP |
format |
http://purl.org/coar/resource_type/c_7a1f |
status_str |
acceptedVersion |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/1992/58824 |
dc.identifier.instname.es_CO.fl_str_mv |
instname:Universidad de los Andes |
dc.identifier.reponame.es_CO.fl_str_mv |
reponame:Repositorio Institucional Séneca |
dc.identifier.repourl.es_CO.fl_str_mv |
repourl:https://repositorio.uniandes.edu.co/ |
url |
http://hdl.handle.net/1992/58824 |
identifier_str_mv |
instname:Universidad de los Andes reponame:Repositorio Institucional Séneca repourl:https://repositorio.uniandes.edu.co/ |
dc.language.iso.es_CO.fl_str_mv |
eng |
language |
eng |
dc.relation.references.es_CO.fl_str_mv |
Fabio Di Lauro, Souhaila Serbout, and Cesare Pautasso. "Towards Large-Scale Empirical Assessment of Web APIs Evolution". In: Web Engineering. Ed. by Marco Brambilla et al. Cham: Springer International Publishing, 2021, pp. 124¿138. isbn: 978-3-030-74296-6. D. Dig and R. Johnson. "How do APIs evolve? A story of refactoring". In: J. Softw. Maint. Evol. 18 (2006). Hamza Ed-douibi. "SOM RESEARCH LAB, 'APIComposer" . In: (2019). url: https://modeling-languages.com/rest-api-composer/. Tiago Espinha, Andy Zaidman, and Hans-Gerhard Gross. "Web API growing pains: Stories from client developers and their code". In: 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE). 2014, pp. 84¿ 93. doi: 10.1109/CSMR-WCRE.2014.6747228. Samuel Huppe, Mohamed Aymen Saied, and Houari Sahraoui. "Mining Complex Temporal API Usage Patterns: An Evolutionary Approach". In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). 2017, pp. 274-276. doi: 10.1109/ICSE C.2017.147. Rediana Ko¸ci et al. "A Data-Driven Approach to Measure the Usability of Web APIs". In: 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). 2020, pp. 64¿71. doi: 10.1109/SEAA51224.2020.00021. Rediana Ko¸ci et al. "Improving Web API Usage Logging". In: Research Challenges in Information Science. Ed. by Samira Cherfi, Anna Perini, and Selmin Nurcan. Cham: Springer International Publishing, 2021, pp. 623¿629. isbn: 978-3-030-75018-3. Rediana Ko¸ci et al. "PatternLens: Inferring evolutive patterns from web API usage logs". In: Intelligent Information Systems. Ed. by Selmin Nurcan and Axel Korthaus. Cham: Springer International Publishing, 2021, pp. 146¿153. isbn: 978-3-030-79108-7. Maxime Lamothe. "Bridging the Divide Between API Users and API Developers by Mining Public Code Repositories". In: 2020 IEEE/ACM 42nd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). 2020, pp. 178-181. Maxime Lamothe, Yann-Ga¨el Gu´eh´eneuc, and Weiyi Shang. "A Sy". In: ACM Comput. Surv. 54.8 (Oct. 2021). issn: 0360-0300. doi: 10.1145/3470133. url: https: //doi.org/10.1145/3470133. Jun Li et al. ¿How Does Web Service API Evolution Affect Clients? In: 2013 IEEE 20th International Conference on Web Services. 2013, pp. 300¿307. doi: 10.1109/ICWS.2013.48. M. Pol´ak and I. Holubov´a. "REST API management and evolution using MDA". In: Int. Conf. Proceeding Series 13 (2015), pp. 102-109. N. Robles Vargas. "Rest API changes analysis and impact on client applications". In: (2020). url: https : / / repositorio . uniandes .edu.co/handle/1992/48489. A.A. Sawant, R. Robbes, and A Bacchelli. "To react, or not to react: Patterns of reaction to API deprecation". In: Empiric Software Engineering 24 (2019), pp. 3824-3870. Anand Ashok Sawant and Alberto Bacchelli. "A Dataset for API Usage". In: 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. 2015, pp. 506-509. doi: 10.1109/MSR.2015.75. Chengpeng Wang et al. "Statistical API Completion Based on Code Relevance Mining". In: 2019 IEEE Workshop on Mining and Analyzing Interaction Histories (MAINT). 2019, pp. 7-13. doi: 10.1109/MAINT. 2019.8666939. W. Wu et al. "ACUA: API Change and Usage Auditor". In: Int. Conf. on Source Code Analysis and Manipulation. 2014, pp. 89-94. W. Wu et al. "An exploratory study of api changes and usages based on apache and eclipse ecosystems". In: Emp. Softw. Eng. 21 (2016), pp. 2366-2412. L. Xavier et al. "Historical and impact analysis of API breaking changes: A large-scale study". In: Int. Conf. on Software Analysis, Evolution and Reengineering (2017), pp. 138-147. Jerin Yasmin, Yuan Tian, and Jinqiu Yang. "A First Look at the Deprecation of RESTful APIs: An Empirical Study". In: 2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020). Proceedings-IEEE International Conference on Software Maintenance. 36th IEEE International Conference on Software Maintenance and Evolution (ICSME), ELECTR NETWORK, SEP 27-OCT 03, 2020. IEEE; IEEE Comp Soc. 2020, pp. 151-161. isbn: 978-1-7281-5619-4. doi: 10.1109/ICSME46990.2020.00024. |
dc.rights.license.spa.fl_str_mv |
Attribution-NoDerivatives 4.0 Internacional |
dc.rights.uri.*.fl_str_mv |
http://creativecommons.org/licenses/by-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 |
Attribution-NoDerivatives 4.0 Internacional http://creativecommons.org/licenses/by-nd/4.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.extent.es_CO.fl_str_mv |
33 páginas |
dc.format.mimetype.es_CO.fl_str_mv |
application/pdf |
dc.publisher.es_CO.fl_str_mv |
Universidad de los Andes |
dc.publisher.program.es_CO.fl_str_mv |
Ingeniería de Sistemas y Computación |
dc.publisher.faculty.es_CO.fl_str_mv |
Facultad de Ingeniería |
dc.publisher.department.es_CO.fl_str_mv |
Departamento de Ingeniería Sistemas y Computación |
institution |
Universidad de los Andes |
bitstream.url.fl_str_mv |
https://repositorio.uniandes.edu.co/bitstreams/0f91bb02-0b6b-4721-9f33-2fa92957373b/download https://repositorio.uniandes.edu.co/bitstreams/baf4e919-6eb0-4da0-b1b6-507df2904d7c/download https://repositorio.uniandes.edu.co/bitstreams/ace37bca-3389-4ca7-91ae-802e408b85b0/download https://repositorio.uniandes.edu.co/bitstreams/140fc318-2cbe-4910-aaaa-40e1ef41fbaa/download https://repositorio.uniandes.edu.co/bitstreams/1d2d3888-f639-48a3-82e7-352c402c4ce5/download https://repositorio.uniandes.edu.co/bitstreams/d1b39bab-2dfa-4a64-8c7f-3cf8ee7055dc/download https://repositorio.uniandes.edu.co/bitstreams/6b90e1ec-7470-4a8c-a9d9-af9e0feecad7/download https://repositorio.uniandes.edu.co/bitstreams/0c6a1daa-8f33-4d6f-a1d3-7d539e34490a/download |
bitstream.checksum.fl_str_mv |
ff30df475a4a73860a450ad0ee9571f2 ce699e7a15a2e24a820cf5cfdc0b6e56 51916a5478b84d5378ded2896c301d91 4491fe1afb58beaaef41a73cf7ff2e27 5aa5c691a1ffe97abd12c2966efcb8d6 f7d494f61e544413a13e6ba1da2089cd ec3971633ee788521b162c21e47d727a 5b1a2957c12d8d1b432bc487cef4baaa |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio institucional Séneca |
repository.mail.fl_str_mv |
adminrepositorio@uniandes.edu.co |
_version_ |
1812133974754983936 |
spelling |
Attribution-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Garcés Pernett, Kelly Johanyd8935357-a89a-4c1d-a3c2-c0fa94c2b8a8600Potes García, Nicolás60c7e42d-302e-4abe-ba11-af0b4aa163766002022-07-14T13:15:30Z2022-07-14T13:15:30Z2022-07-13http://hdl.handle.net/1992/58824instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/The use of technology has had an exponential growth curve that has driven different services to be offered through the Internet to solve the needs of multiple customers. Among the different existing services offered through the World Wide Web, there are APIs (Application Programming Interfaces) that allow consumers to access information of a certain nature, functions predefined by providers that are useful for a certain audience, among other functionalities that are consumed by a client¿s software. APIs can be classified as libraries or as remote APIs considering the place where they are hosted. Library APIs run in the same environment as the client software, while remote APIs are hosted in a different environment and are accessed by the client application through remote access protocols. This paper focuses on REST Web APIs (remote APIs) which are the most common type of Web APIs. This is because they are very easy to understand and integrate with client code. It is worth mentioning that REST is a software architectural style that guides the design and development of the architecture of a software or related for the Internet. Therefore, a REST API is an architecture for an API that uses HTTP-like requests to access data and perform interactions.Ingeniero de Sistemas y ComputaciónPregradoAPI evolution33 páginasapplication/pdfengUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería Sistemas y ComputaciónStructural evolution analytics of public rest APISTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPAPIRESTAPI evolutionSoftware evolutionAPI analysisIngenieríaFabio Di Lauro, Souhaila Serbout, and Cesare Pautasso. "Towards Large-Scale Empirical Assessment of Web APIs Evolution". In: Web Engineering. Ed. by Marco Brambilla et al. Cham: Springer International Publishing, 2021, pp. 124¿138. isbn: 978-3-030-74296-6.D. Dig and R. Johnson. "How do APIs evolve? A story of refactoring". In: J. Softw. Maint. Evol. 18 (2006).Hamza Ed-douibi. "SOM RESEARCH LAB, 'APIComposer" . In: (2019). url: https://modeling-languages.com/rest-api-composer/.Tiago Espinha, Andy Zaidman, and Hans-Gerhard Gross. "Web API growing pains: Stories from client developers and their code". In: 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE). 2014, pp. 84¿ 93. doi: 10.1109/CSMR-WCRE.2014.6747228.Samuel Huppe, Mohamed Aymen Saied, and Houari Sahraoui. "Mining Complex Temporal API Usage Patterns: An Evolutionary Approach". In: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). 2017, pp. 274-276. doi: 10.1109/ICSE C.2017.147.Rediana Ko¸ci et al. "A Data-Driven Approach to Measure the Usability of Web APIs". In: 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). 2020, pp. 64¿71. doi: 10.1109/SEAA51224.2020.00021.Rediana Ko¸ci et al. "Improving Web API Usage Logging". In: Research Challenges in Information Science. Ed. by Samira Cherfi, Anna Perini, and Selmin Nurcan. Cham: Springer International Publishing, 2021, pp. 623¿629. isbn: 978-3-030-75018-3.Rediana Ko¸ci et al. "PatternLens: Inferring evolutive patterns from web API usage logs". In: Intelligent Information Systems. Ed. by Selmin Nurcan and Axel Korthaus. Cham: Springer International Publishing, 2021, pp. 146¿153. isbn: 978-3-030-79108-7.Maxime Lamothe. "Bridging the Divide Between API Users and API Developers by Mining Public Code Repositories". In: 2020 IEEE/ACM 42nd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion). 2020, pp. 178-181.Maxime Lamothe, Yann-Ga¨el Gu´eh´eneuc, and Weiyi Shang. "A Sy". In: ACM Comput. Surv. 54.8 (Oct. 2021). issn: 0360-0300. doi: 10.1145/3470133. url: https: //doi.org/10.1145/3470133.Jun Li et al. ¿How Does Web Service API Evolution Affect Clients? In: 2013 IEEE 20th International Conference on Web Services. 2013, pp. 300¿307. doi: 10.1109/ICWS.2013.48.M. Pol´ak and I. Holubov´a. "REST API management and evolution using MDA". In: Int. Conf. Proceeding Series 13 (2015), pp. 102-109.N. Robles Vargas. "Rest API changes analysis and impact on client applications". In: (2020). url: https : / / repositorio . uniandes .edu.co/handle/1992/48489.A.A. Sawant, R. Robbes, and A Bacchelli. "To react, or not to react: Patterns of reaction to API deprecation". In: Empiric Software Engineering 24 (2019), pp. 3824-3870.Anand Ashok Sawant and Alberto Bacchelli. "A Dataset for API Usage". In: 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. 2015, pp. 506-509. doi: 10.1109/MSR.2015.75.Chengpeng Wang et al. "Statistical API Completion Based on Code Relevance Mining". In: 2019 IEEE Workshop on Mining and Analyzing Interaction Histories (MAINT). 2019, pp. 7-13. doi: 10.1109/MAINT. 2019.8666939.W. Wu et al. "ACUA: API Change and Usage Auditor". In: Int. Conf. on Source Code Analysis and Manipulation. 2014, pp. 89-94.W. Wu et al. "An exploratory study of api changes and usages based on apache and eclipse ecosystems". In: Emp. Softw. Eng. 21 (2016), pp. 2366-2412.L. Xavier et al. "Historical and impact analysis of API breaking changes: A large-scale study". In: Int. Conf. on Software Analysis, Evolution and Reengineering (2017), pp. 138-147.Jerin Yasmin, Yuan Tian, and Jinqiu Yang. "A First Look at the Deprecation of RESTful APIs: An Empirical Study". In: 2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020). Proceedings-IEEE International Conference on Software Maintenance. 36th IEEE International Conference on Software Maintenance and Evolution (ICSME), ELECTR NETWORK, SEP 27-OCT 03, 2020. IEEE; IEEE Comp Soc. 2020, pp. 151-161. isbn: 978-1-7281-5619-4. doi: 10.1109/ICSME46990.2020.00024.201814802PublicationORIGINALDOCUMENTO_TESIS_NICOLAS_POTES.pdfDOCUMENTO_TESIS_NICOLAS_POTES.pdfDocumento de gradoapplication/pdf1026927https://repositorio.uniandes.edu.co/bitstreams/0f91bb02-0b6b-4721-9f33-2fa92957373b/downloadff30df475a4a73860a450ad0ee9571f2MD58Formato de autorización Tesis.pdfFormato de autorización Tesis.pdfHIDEapplication/pdf232291https://repositorio.uniandes.edu.co/bitstreams/baf4e919-6eb0-4da0-b1b6-507df2904d7c/downloadce699e7a15a2e24a820cf5cfdc0b6e56MD55TEXTDOCUMENTO_TESIS_NICOLAS_POTES.pdf.txtDOCUMENTO_TESIS_NICOLAS_POTES.pdf.txtExtracted texttext/plain39406https://repositorio.uniandes.edu.co/bitstreams/ace37bca-3389-4ca7-91ae-802e408b85b0/download51916a5478b84d5378ded2896c301d91MD59Formato de autorización Tesis.pdf.txtFormato de autorización Tesis.pdf.txtExtracted texttext/plain1163https://repositorio.uniandes.edu.co/bitstreams/140fc318-2cbe-4910-aaaa-40e1ef41fbaa/download4491fe1afb58beaaef41a73cf7ff2e27MD511LICENSElicense.txtlicense.txttext/plain; charset=utf-81810https://repositorio.uniandes.edu.co/bitstreams/1d2d3888-f639-48a3-82e7-352c402c4ce5/download5aa5c691a1ffe97abd12c2966efcb8d6MD56CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8799https://repositorio.uniandes.edu.co/bitstreams/d1b39bab-2dfa-4a64-8c7f-3cf8ee7055dc/downloadf7d494f61e544413a13e6ba1da2089cdMD57THUMBNAILDOCUMENTO_TESIS_NICOLAS_POTES.pdf.jpgDOCUMENTO_TESIS_NICOLAS_POTES.pdf.jpgIM Thumbnailimage/jpeg5855https://repositorio.uniandes.edu.co/bitstreams/6b90e1ec-7470-4a8c-a9d9-af9e0feecad7/downloadec3971633ee788521b162c21e47d727aMD510Formato de autorización Tesis.pdf.jpgFormato de autorización Tesis.pdf.jpgGenerated Thumbnailimage/jpeg11046https://repositorio.uniandes.edu.co/bitstreams/0c6a1daa-8f33-4d6f-a1d3-7d539e34490a/download5b1a2957c12d8d1b432bc487cef4baaaMD5121992/58824oai:repositorio.uniandes.edu.co:1992/588242023-10-11 03:09:48.154http://creativecommons.org/licenses/by-nd/4.0/open.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coWW8sIGVuIG1pIGNhbGlkYWQgZGUgYXV0b3IgZGVsIHRyYWJham8gZGUgdGVzaXMsIG1vbm9ncmFmw61hIG8gdHJhYmFqbyBkZSBncmFkbywgaGFnbyBlbnRyZWdhIGRlbCBlamVtcGxhciByZXNwZWN0aXZvIHkgZGUgc3VzIGFuZXhvcyBkZSBzZXIgZWwgY2FzbywgZW4gZm9ybWF0byBkaWdpdGFsIHkvbyBlbGVjdHLDs25pY28geSBhdXRvcml6byBhIGxhIFVuaXZlcnNpZGFkIGRlIGxvcyBBbmRlcyBwYXJhIHF1ZSByZWFsaWNlIGxhIHB1YmxpY2FjacOzbiBlbiBlbCBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIG8gZW4gY3VhbHF1aWVyIG90cm8gc2lzdGVtYSBvIGJhc2UgZGUgZGF0b3MgcHJvcGlvIG8gYWplbm8gYSBsYSBVbml2ZXJzaWRhZCB5IHBhcmEgcXVlIGVuIGxvcyB0w6lybWlub3MgZXN0YWJsZWNpZG9zIGVuIGxhIExleSAyMyBkZSAxOTgyLCBMZXkgNDQgZGUgMTk5MywgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgRGVjcmV0byA0NjAgZGUgMTk5NSB5IGRlbcOhcyBub3JtYXMgZ2VuZXJhbGVzIHNvYnJlIGxhIG1hdGVyaWEsIHV0aWxpY2UgZW4gdG9kYXMgc3VzIGZvcm1hcywgbG9zIGRlcmVjaG9zIHBhdHJpbW9uaWFsZXMgZGUgcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSwgdHJhbnNmb3JtYWNpw7NuIHkgZGlzdHJpYnVjacOzbiAoYWxxdWlsZXIsIHByw6lzdGFtbyBww7pibGljbyBlIGltcG9ydGFjacOzbikgcXVlIG1lIGNvcnJlc3BvbmRlbiBjb21vIGNyZWFkb3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50by4gIAoKCkxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgZW1pdGUgZW4gY2FsaWRhZCBkZSBhdXRvciBkZSBsYSBvYnJhIG9iamV0byBkZWwgcHJlc2VudGUgZG9jdW1lbnRvIHkgbm8gY29ycmVzcG9uZGUgYSBjZXNpw7NuIGRlIGRlcmVjaG9zLCBzaW5vIGEgbGEgYXV0b3JpemFjacOzbiBkZSB1c28gYWNhZMOpbWljbyBkZSBjb25mb3JtaWRhZCBjb24gbG8gYW50ZXJpb3JtZW50ZSBzZcOxYWxhZG8uIExhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgaGFjZSBleHRlbnNpdmEgbm8gc29sbyBhIGxhcyBmYWN1bHRhZGVzIHkgZGVyZWNob3MgZGUgdXNvIHNvYnJlIGxhIG9icmEgZW4gZm9ybWF0byBvIHNvcG9ydGUgbWF0ZXJpYWwsIHNpbm8gdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGVsZWN0csOzbmljbywgeSBlbiBnZW5lcmFsIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gCgoKRWwgYXV0b3IsIG1hbmlmaWVzdGEgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsYSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcywgcG9yIGxvIHRhbnRvLCBsYSBvYnJhIGVzIGRlIHN1IGV4Y2x1c2l2YSBhdXRvcsOtYSB5IHRpZW5lIGxhIHRpdHVsYXJpZGFkIHNvYnJlIGxhIG1pc21hLiAKCgpFbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAKCg== |