Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter

En el complejo y vasto universo del desarrollo de aplicaciones móviles, este documento pretende servir como una guía, más conocida como benchmark, para los desarrolladores de aplicaciones móviles, enfocándose en tres de los frameworks de programación más usados para el desarrollo de aplicaciones híb...

Full description

Autores:
Hernández Facio Lince, Santiago
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/74668
Acceso en línea:
https://hdl.handle.net/1992/74668
Palabra clave:
Benchmark
React native
Kotlin Multiplatform
Flutter
Aplicaciones Móviles
Ingeniería
Rights
openAccess
License
Attribution-NoDerivatives 4.0 International
id UNIANDES2_6ba0f210cebd3bd9d0a7f22869220d39
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/74668
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.spa.fl_str_mv Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
title Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
spellingShingle Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
Benchmark
React native
Kotlin Multiplatform
Flutter
Aplicaciones Móviles
Ingeniería
title_short Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
title_full Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
title_fullStr Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
title_full_unstemmed Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
title_sort Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, Flutter
dc.creator.fl_str_mv Hernández Facio Lince, Santiago
dc.contributor.advisor.none.fl_str_mv Escobar Velasquez, Camilo Andres
dc.contributor.author.none.fl_str_mv Hernández Facio Lince, Santiago
dc.subject.keyword.eng.fl_str_mv Benchmark
React native
Kotlin Multiplatform
Flutter
topic Benchmark
React native
Kotlin Multiplatform
Flutter
Aplicaciones Móviles
Ingeniería
dc.subject.keyword.spa.fl_str_mv Aplicaciones Móviles
dc.subject.themes.spa.fl_str_mv Ingeniería
description En el complejo y vasto universo del desarrollo de aplicaciones móviles, este documento pretende servir como una guía, más conocida como benchmark, para los desarrolladores de aplicaciones móviles, enfocándose en tres de los frameworks de programación más usados para el desarrollo de aplicaciones híbridas. El objetivo es realizar una comparativa exhaustiva y evaluativa de Kotlin Multiplatform, React Native y Flutter, basada en una serie de métricas relevantes que permitan identificar las fortalezas y debilidades inherentes a cada lenguaje. A través de este análisis, buscamos facilitar la selección del framework de programación más adecuado para futuros proyectos, asegurando una decisión informada y estratégica que responda a las necesidades específicas del desarrollador.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-07-23T20:56:33Z
dc.date.available.none.fl_str_mv 2024-07-23T20:56:33Z
dc.date.issued.none.fl_str_mv 2024-07-23
dc.type.none.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.none.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 https://hdl.handle.net/1992/74668
dc.identifier.instname.none.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.none.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.none.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url https://hdl.handle.net/1992/74668
identifier_str_mv instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Amazon Web Services. (2023). ¿Qué es JavaScript (JS)? Obtenido de aws amazon Web site: https://aws.amazon.com/es/what-is/javascript/
Coordinador Comunicaciones UniSabaneta. (4 de 06 de 2024). La ecuación de Mandelbrot describe los fractales. Obtenido de UniSabaneta: https://unisabaneta.edu.co/2024/06/04/la-ecuacion-de-mandelbrot-describe-losfractales/
Onuoha, O. (07 de 04 de 2020). How does JIT and AOT work in Dart. Medium. Retrieved from https://onuoha.medium.com/how-does-jit-and-aot-work-in-dart-cab2f31d9cb5
Dart. (2024). Dart overview. Obtenido de Dart Website: https://dart.dev/overview
JETBRAINS. (4 de 06 de 2024). FAQ. Obtenido de kotlin org web site: https://kotlinlang.org/docs/faq.html
Universidad de Almería. Sucesión de Fibonacci. Obtenido de JARDÍN DE LΦS MATEMÁTICΦS: https://www2.ual.es/jardinmatema/sobre-nosotr%cf%86s/32
Android Developers. User interface. Obtenido de Android Developers Web site: https://developer.android.com/develop/ui
Centro Nacional de Desarrollo Curricular en Sistemas no Propietarios. La criba de Eratóstenes. Obtenido de CNICE: http://descartes.cnice.mec.es/materiales_didacticos/Multiplos_divisores/criba.htm
Android Developers. ExoPlayer. Obtenido de Android Developers Web site: https://developer.android.com/media/media3/exoplayer
npm, Inc. react-native-sensors. Obtenido de npm Web site: https://www.npmjs.com/package/react-native-sensors
GitHub. kibolho/react-native-proximity-sensor. Obtenido de GitHub: https://github.com/kibolho/react-native-proximity-sensor
Dart packages. all_sensors. Obtenido de Dart packages Web site: https://pub.dev/documentation/all_sensors/latest/
Dart packages. sensors_plus. Obtenido de Dart packages Web site: https://pub.dev/packages/sensors_plus
Matplotlib. Home. Obtenido de Matplotlib Web site: https://matplotlib.org/
Corporación Universitaria Comfacauca. (2 de 9 de 2016). https://www.unicomfacauca.edu.co/. Obtenido de PROPUESTA PROYECTO DE GRADO : https://www.unicomfacauca.edu.co/wp-content/uploads/EDO-01PROPUESTA-PROYECTO-GRADO.pdf
Team Asana. (8 de 11 de 2022). 6 pasos para redactar una propuesta de proyecto convincente. Obtenido de asana: https://asana.com/es/resources/project-proposal
Kotlin. Obtenido de Kotlin Web site: https://kotlinlang.org/
Kotlin. Multiplatform. Obtenido de Kotlin Web site: https://kotlinlang.org/docs/multiplatform.html
React Native. React Native. Obtenido de React Native Web site: https://reactnative.dev/
Mozilla Developer Network. JavaScript. Obtenido de Mozilla Developer Network Web site: https://developer.mozilla.org/es/docs/Web/JavaScript
Dart. Obtenido de Dart Web site: https://dart.dev/
Flutter. Obtenido de Flutter Web site: https://flutter.dev/
dc.rights.en.fl_str_mv Attribution-NoDerivatives 4.0 International
dc.rights.uri.none.fl_str_mv http://creativecommons.org/licenses/by-nd/4.0/
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Attribution-NoDerivatives 4.0 International
http://creativecommons.org/licenses/by-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 33 páginas
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de los Andes
dc.publisher.program.none.fl_str_mv Ingeniería de Sistemas y Computación
dc.publisher.faculty.none.fl_str_mv Facultad de Ingeniería
dc.publisher.department.none.fl_str_mv Departamento de Ingeniería de Sistemas y Computación
publisher.none.fl_str_mv Universidad de los Andes
institution Universidad de los Andes
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/d046b204-e36e-4f7b-8669-da0b225444af/download
https://repositorio.uniandes.edu.co/bitstreams/c5d72304-85c4-422a-8d36-02ae53325a59/download
https://repositorio.uniandes.edu.co/bitstreams/31b74c89-6957-4825-8fac-194233d8fd14/download
https://repositorio.uniandes.edu.co/bitstreams/127fbd60-542e-48be-a23f-b5fce3918eb8/download
https://repositorio.uniandes.edu.co/bitstreams/215cc1d9-cd6e-46e1-9dcb-b2128e032550/download
https://repositorio.uniandes.edu.co/bitstreams/5e1f8aad-63e2-4715-a5cc-6f3bac743c0a/download
https://repositorio.uniandes.edu.co/bitstreams/b07f4503-31d7-4eeb-b6a7-f523dbcaaf8c/download
https://repositorio.uniandes.edu.co/bitstreams/670cbda2-12b5-4232-b7fd-0897976da6d9/download
bitstream.checksum.fl_str_mv 24d7a3207cb8780407a441c615173ae5
993b91e7e3de5b08c5dc7fc22f079987
ae9e573a68e7f92501b6913cc846c39f
f7d494f61e544413a13e6ba1da2089cd
ce39728c2f0646faa775162ee7a584db
01d4de3efdb0a0fdc3cb5cea1f95ffea
5b07c91717511ec63f6f18da85e7c0cd
79a32789a6183c543501a49c051ddc62
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_ 1831927644339306496
spelling Escobar Velasquez, Camilo Andresvirtual::19166-1Hernández Facio Lince, Santiago2024-07-23T20:56:33Z2024-07-23T20:56:33Z2024-07-23https://hdl.handle.net/1992/74668instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/En el complejo y vasto universo del desarrollo de aplicaciones móviles, este documento pretende servir como una guía, más conocida como benchmark, para los desarrolladores de aplicaciones móviles, enfocándose en tres de los frameworks de programación más usados para el desarrollo de aplicaciones híbridas. El objetivo es realizar una comparativa exhaustiva y evaluativa de Kotlin Multiplatform, React Native y Flutter, basada en una serie de métricas relevantes que permitan identificar las fortalezas y debilidades inherentes a cada lenguaje. A través de este análisis, buscamos facilitar la selección del framework de programación más adecuado para futuros proyectos, asegurando una decisión informada y estratégica que responda a las necesidades específicas del desarrollador.Pregrado33 páginasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y ComputaciónAttribution-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Minería de repositorios: Benchmark Kotlin Multiplatform, React Native, FlutterTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPBenchmarkReact nativeKotlin MultiplatformFlutterAplicaciones MóvilesIngenieríaAmazon Web Services. (2023). ¿Qué es JavaScript (JS)? Obtenido de aws amazon Web site: https://aws.amazon.com/es/what-is/javascript/Coordinador Comunicaciones UniSabaneta. (4 de 06 de 2024). La ecuación de Mandelbrot describe los fractales. Obtenido de UniSabaneta: https://unisabaneta.edu.co/2024/06/04/la-ecuacion-de-mandelbrot-describe-losfractales/Onuoha, O. (07 de 04 de 2020). How does JIT and AOT work in Dart. Medium. Retrieved from https://onuoha.medium.com/how-does-jit-and-aot-work-in-dart-cab2f31d9cb5Dart. (2024). Dart overview. Obtenido de Dart Website: https://dart.dev/overviewJETBRAINS. (4 de 06 de 2024). FAQ. Obtenido de kotlin org web site: https://kotlinlang.org/docs/faq.htmlUniversidad de Almería. Sucesión de Fibonacci. Obtenido de JARDÍN DE LΦS MATEMÁTICΦS: https://www2.ual.es/jardinmatema/sobre-nosotr%cf%86s/32Android Developers. User interface. Obtenido de Android Developers Web site: https://developer.android.com/develop/uiCentro Nacional de Desarrollo Curricular en Sistemas no Propietarios. La criba de Eratóstenes. Obtenido de CNICE: http://descartes.cnice.mec.es/materiales_didacticos/Multiplos_divisores/criba.htmAndroid Developers. ExoPlayer. Obtenido de Android Developers Web site: https://developer.android.com/media/media3/exoplayernpm, Inc. react-native-sensors. Obtenido de npm Web site: https://www.npmjs.com/package/react-native-sensorsGitHub. kibolho/react-native-proximity-sensor. Obtenido de GitHub: https://github.com/kibolho/react-native-proximity-sensorDart packages. all_sensors. Obtenido de Dart packages Web site: https://pub.dev/documentation/all_sensors/latest/Dart packages. sensors_plus. Obtenido de Dart packages Web site: https://pub.dev/packages/sensors_plusMatplotlib. Home. Obtenido de Matplotlib Web site: https://matplotlib.org/Corporación Universitaria Comfacauca. (2 de 9 de 2016). https://www.unicomfacauca.edu.co/. Obtenido de PROPUESTA PROYECTO DE GRADO : https://www.unicomfacauca.edu.co/wp-content/uploads/EDO-01PROPUESTA-PROYECTO-GRADO.pdfTeam Asana. (8 de 11 de 2022). 6 pasos para redactar una propuesta de proyecto convincente. Obtenido de asana: https://asana.com/es/resources/project-proposalKotlin. Obtenido de Kotlin Web site: https://kotlinlang.org/Kotlin. Multiplatform. Obtenido de Kotlin Web site: https://kotlinlang.org/docs/multiplatform.htmlReact Native. React Native. Obtenido de React Native Web site: https://reactnative.dev/Mozilla Developer Network. JavaScript. Obtenido de Mozilla Developer Network Web site: https://developer.mozilla.org/es/docs/Web/JavaScriptDart. Obtenido de Dart Web site: https://dart.dev/Flutter. Obtenido de Flutter Web site: https://flutter.dev/201922432Publication0000-0001-8414-9301virtual::19166-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=00016890402019118830virtual::19166-190cbaa5a-48e9-458f-949b-4a661bbe3291virtual::19166-190cbaa5a-48e9-458f-949b-4a661bbe3291virtual::19166-1ORIGINALMinería de repositorios Benchmark Kotlin Multiplatform, React Native, Flutter.pdfMinería de repositorios Benchmark Kotlin Multiplatform, React Native, Flutter.pdfapplication/pdf627125https://repositorio.uniandes.edu.co/bitstreams/d046b204-e36e-4f7b-8669-da0b225444af/download24d7a3207cb8780407a441c615173ae5MD51autorizacion tesis.pdfautorizacion tesis.pdfHIDEapplication/pdf307376https://repositorio.uniandes.edu.co/bitstreams/c5d72304-85c4-422a-8d36-02ae53325a59/download993b91e7e3de5b08c5dc7fc22f079987MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/31b74c89-6957-4825-8fac-194233d8fd14/downloadae9e573a68e7f92501b6913cc846c39fMD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8799https://repositorio.uniandes.edu.co/bitstreams/127fbd60-542e-48be-a23f-b5fce3918eb8/downloadf7d494f61e544413a13e6ba1da2089cdMD53TEXTMinería de repositorios Benchmark Kotlin Multiplatform, React Native, Flutter.pdf.txtMinería de repositorios Benchmark Kotlin Multiplatform, React Native, Flutter.pdf.txtExtracted texttext/plain48128https://repositorio.uniandes.edu.co/bitstreams/215cc1d9-cd6e-46e1-9dcb-b2128e032550/downloadce39728c2f0646faa775162ee7a584dbMD54autorizacion tesis.pdf.txtautorizacion tesis.pdf.txtExtracted texttext/plain2072https://repositorio.uniandes.edu.co/bitstreams/5e1f8aad-63e2-4715-a5cc-6f3bac743c0a/download01d4de3efdb0a0fdc3cb5cea1f95ffeaMD56THUMBNAILMinería de repositorios Benchmark Kotlin Multiplatform, React Native, Flutter.pdf.jpgMinería de repositorios Benchmark Kotlin Multiplatform, React Native, Flutter.pdf.jpgGenerated Thumbnailimage/jpeg7220https://repositorio.uniandes.edu.co/bitstreams/b07f4503-31d7-4eeb-b6a7-f523dbcaaf8c/download5b07c91717511ec63f6f18da85e7c0cdMD55autorizacion tesis.pdf.jpgautorizacion tesis.pdf.jpgGenerated Thumbnailimage/jpeg11032https://repositorio.uniandes.edu.co/bitstreams/670cbda2-12b5-4232-b7fd-0897976da6d9/download79a32789a6183c543501a49c051ddc62MD571992/74668oai:repositorio.uniandes.edu.co:1992/746682024-09-12 16:19:37.506http://creativecommons.org/licenses/by-nd/4.0/Attribution-NoDerivatives 4.0 Internationalopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K