U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
The automatic clustering differential evolution (ACDE) is one of the clustering methods that are able to determine the cluster number automatically. However, ACDE still makes use of the manual strategy to determine k activation threshold thereby affecting its performance. In this study, the ACDE pro...
- Autores:
-
Silva, Jesús
Pineda Lezama, Omar Bonerge
Varela, Noel
García Guiliany, Jesús
Steffens Sanabria, Ernesto
Sánchez Otero, Madelin
Álvarez Rojas, Vladimir
- Tipo de recurso:
- http://purl.org/coar/resource_type/c_816b
- Fecha de publicación:
- 2019
- Institución:
- Corporación Universidad de la Costa
- Repositorio:
- REDICUC - Repositorio CUC
- Idioma:
- eng
- OAI Identifier:
- oai:repositorio.cuc.edu.co:11323/5136
- Acceso en línea:
- https://hdl.handle.net/11323/5136
https://repositorio.cuc.edu.co/
- Palabra clave:
- K-means
Automatic clustering
Differential evolution
K activation threshold
U control chart
Academic efficiency (AE)
- Rights
- openAccess
- License
- CC0 1.0 Universal
id |
RCUC2_8fd6c06bd117200ba29526eb17e7015f |
---|---|
oai_identifier_str |
oai:repositorio.cuc.edu.co:11323/5136 |
network_acronym_str |
RCUC2 |
network_name_str |
REDICUC - Repositorio CUC |
repository_id_str |
|
dc.title.spa.fl_str_mv |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means |
title |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means |
spellingShingle |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means K-means Automatic clustering Differential evolution K activation threshold U control chart Academic efficiency (AE) |
title_short |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means |
title_full |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means |
title_fullStr |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means |
title_full_unstemmed |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means |
title_sort |
U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means |
dc.creator.fl_str_mv |
Silva, Jesús Pineda Lezama, Omar Bonerge Varela, Noel García Guiliany, Jesús Steffens Sanabria, Ernesto Sánchez Otero, Madelin Álvarez Rojas, Vladimir |
dc.contributor.author.spa.fl_str_mv |
Silva, Jesús Pineda Lezama, Omar Bonerge Varela, Noel García Guiliany, Jesús Steffens Sanabria, Ernesto Sánchez Otero, Madelin Álvarez Rojas, Vladimir |
dc.subject.spa.fl_str_mv |
K-means Automatic clustering Differential evolution K activation threshold U control chart Academic efficiency (AE) |
topic |
K-means Automatic clustering Differential evolution K activation threshold U control chart Academic efficiency (AE) |
description |
The automatic clustering differential evolution (ACDE) is one of the clustering methods that are able to determine the cluster number automatically. However, ACDE still makes use of the manual strategy to determine k activation threshold thereby affecting its performance. In this study, the ACDE problem will be ameliorated using the u-control chart (UCC) then the cluster number generated from ACDE will be fed to k-means. The performance of the proposed method was tested using six public datasets from the UCI repository about academic efficiency (AE) and evaluated with Davies Bouldin Index (DBI) and Cosine Similarity (CS) measure. The results show that the proposed method yields excellent performance compared to prior researches. |
publishDate |
2019 |
dc.date.accessioned.none.fl_str_mv |
2019-08-08T15:16:10Z |
dc.date.available.none.fl_str_mv |
2019-08-08T15:16:10Z |
dc.date.issued.none.fl_str_mv |
2019-04-27 |
dc.type.spa.fl_str_mv |
Pre-Publicación |
dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_816b |
dc.type.content.spa.fl_str_mv |
Text |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/preprint |
dc.type.redcol.spa.fl_str_mv |
http://purl.org/redcol/resource_type/ARTOTR |
dc.type.version.spa.fl_str_mv |
info:eu-repo/semantics/acceptedVersion |
format |
http://purl.org/coar/resource_type/c_816b |
status_str |
acceptedVersion |
dc.identifier.isbn.spa.fl_str_mv |
978-3-030-19222-8 978-3-030-19223-5 |
dc.identifier.uri.spa.fl_str_mv |
https://hdl.handle.net/11323/5136 |
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 |
978-3-030-19222-8 978-3-030-19223-5 Corporación Universidad de la Costa REDICUC - Repositorio CUC |
url |
https://hdl.handle.net/11323/5136 https://repositorio.cuc.edu.co/ |
dc.language.iso.none.fl_str_mv |
eng |
language |
eng |
dc.relation.ispartof.spa.fl_str_mv |
https://doi.org/10.1007/978-3-030-19223-5_3 |
dc.relation.references.spa.fl_str_mv |
1. Salem, S.B., Naouali, S., Chtourou, Z.: A fast and effective partitional clustering algorithm for large categorical datasets using a k-means based approach. Comput. Electr. Eng. 68, 463–483 (2018). https://doi.org/10.1016/j.compeleceng.2018.04.023 CrossRefGoogle Scholar 2. Chakraborty, S., Das, S.: Simultaneous variable weighting and determining the number of clusters—a weighted Gaussian means algorithm. Stat. Probab. Lett. 137, 148–156 (2018). https://doi.org/10.1016/j.spl.2018.01.015 MathSciNetCrossRefzbMATHGoogle Scholar 3. Masud, M.A, Huang, J.Z., Wei, C., Wang, J., Khan, I., Zhong, M.: I-nice: a new approach for identifying the number of clusters and initial cluster centres. Inf. Sci. (NY) (2018). https://doi.org/10.1016/j.ins.2018.07.034 4. Rahman, M.A., Islam, M.Z., Bossomaier, T.: ModEx and seed-detective: two novel techniques for high quality clustering by using good initial seeds in k-means. J. King Saud Univ. – Comput. Inf. Sci. 27, 113–128 (2015). https://doi.org/10.1016/j.jksuci.2014.04.002 CrossRefGoogle Scholar 5. Rahman, M.A., Islam, M.Z.: A hybrid clustering technique combining a novel genetic algorithm with k-means. Knowl.-Based Syst. 71, 345–365 (2014). https://doi.org/10.1016/j.knosys.2014.08.011 CrossRefGoogle Scholar 6. Ramadas, M., Abraham, A., Kumar, S.: FSDE-forced strategy differential evolution used for data clustering. J. King Saud Univ. - Comput. Inf. Sci. (2016). https://doi.org/10.1016/j.jksuci.2016.12.005 7. Yaqian, Z., Chai, Q.H., Boon, G.W.: Curvature-based method for determining the number of clusters. Inf. Sci. (NY) (2017). https://doi.org/10.1016/j.ins.2017.05.024 8. Tîrnăucă, C., Gómez-Pérez, D., Balcázar, J.L., Montaña, J.L.: Global optimality in k-means clustering. Inf. Sci. (NY) 439–440, 79–94 (2018). https://doi.org/10.1016/j.ins.2018.02.001 MathSciNetCrossRefGoogle Scholar 9. Xiang, W., Zhu, N., Ma, S., Meng, X., An, M.: A dynamic shuffled differential evolution algorithm for data clustering. Neurocomputing (2015). https://doi.org/10.1016/j.neucom.2015.01.058 10. Garcia, A.J., Flores, W.G.: Automatic clustering using nature-inspired metaheuristics: a survey. Appl. Soft Comput. (2016). https://doi.org/10.1016/j.asoc.2015.12.001 11. Das, S., Abraham, A., Konar, A.: Automatic clustering using an improved differential evolution algorithm. IEEE Trans. Syst. Man Cybern. - Part A Syst. Hum. 38, 218–237 (2008). https://doi.org/10.1109/TSMCA.2007.909595 CrossRefGoogle Scholar 12. Omran, M.G.H., Engelbrecht, A.P., Salman, A.: Dynamic clustering using particle swarm optimization with application in image segmentation. Pattern Anal. Appl. 332–344 (2006). https://doi.org/10.1007/s10044-005-0015-5 13. Bandyopadhyay, S., Maulik, U.: Genetic clustering for automatic evolution of clusters and application to image classification. Pattern Recogn. 35, 1197–1208 (2002) CrossRefGoogle Scholar 14. Tam, H., Ng, S., Lui, A.K., Leung, M.: Improved activation schema on automatic clustering using differential evolution algorithm. In: IEEE Congress on Evolutionary Computation (CEC), pp. 1749–1756 (2017). https://doi.org/10.1109/CEC.2017.7969513 15. Kuo, R., Suryani, E., Yasid, A.: Automatic clustering combining differential evolution algorithm and k-means algorithm. In: Proceedings of the Institute of Industrial Engineers Asian Conference 2013, pp. 1207–1215 (2013). https://doi.org/10.1007/978-981-4451-98-7 16. Piotrowski, A.P.: Review of differential evolution population size. Swarm Evol. Comput. 32, 1–24 (2017). https://doi.org/10.1016/j.swevo.2016.05.003 CrossRefGoogle Scholar 17. Kaya, I.: A genetic algorithm approach to determine the sample size for attribute control charts. Inf. Sci. (NY) 179, 1552–1566 (2009). https://doi.org/10.1016/j.ins.2008.09.024 CrossRefGoogle Scholar 18. Dobbie, G., Sing, Y., Riddle, P., Ur, S.: Research on particle swarm optimization based clustering: a systematic review of literature and techniques. Swarm Evol. Comput. 17, 1–13 (2014). https://doi.org/10.1016/j.swevo.2014.02.001 CrossRefGoogle Scholar 19. Departamento Administrativo Nacional de Estadística: Página principal. Recuperado de: DANE (2018). http://www.dane.gov.co/ 20. Torres-Samuel, M., Vásquez, C.L., Viloria, A., Varela, N., Hernández-Fernandez, L., Portillo-Medina, R.: Analysis of patterns in the university world rankings webometrics, Shanghai, QS and SIR-SCimago: case Latin America. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 188–199. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_18 CrossRefGoogle Scholar 21. Vásquez, C., Torres, M., Viloria, A.: Public policies in science and technology in Latin American countries with universities in the top 100 of web ranking. J. Eng. Appl. Sci. 12(11), 2963–2965 (2017) Google Scholar 22. Torres-Samuel, M., et al.: Efficiency analysis of the visibility of Latin American universities and their impact on the ranking web. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 235–243. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_22 CrossRefGoogle Scholar |
dc.rights.spa.fl_str_mv |
CC0 1.0 Universal |
dc.rights.uri.spa.fl_str_mv |
http://creativecommons.org/publicdomain/zero/1.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 |
CC0 1.0 Universal http://creativecommons.org/publicdomain/zero/1.0/ http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.publisher.spa.fl_str_mv |
International Conference on Green, Pervasive, and Cloud Computing |
institution |
Corporación Universidad de la Costa |
bitstream.url.fl_str_mv |
https://repositorio.cuc.edu.co/bitstreams/98d256a9-fb33-4b80-88a7-3557dfc09006/download https://repositorio.cuc.edu.co/bitstreams/45b2ea73-aa82-4af9-804e-ecbdf83c8aca/download https://repositorio.cuc.edu.co/bitstreams/bf6587b3-a61d-4d34-89fc-b5d459333909/download https://repositorio.cuc.edu.co/bitstreams/700352aa-d2ba-4e3e-96e8-c2cf78b13844/download https://repositorio.cuc.edu.co/bitstreams/35614b25-1554-4e04-8377-28822fc04f0c/download |
bitstream.checksum.fl_str_mv |
1259c35981dc13bfe8622a6e708cd589 42fd4ad1e89814f5e4a476b409eb708c 8a4605be74aa9ea9d79846c1fba20a33 c187ff3546a1d30d3dfef4c21b8ca143 0b27d3f5f4a025c09c561f7051b3b691 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 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_ |
1811760758971695104 |
spelling |
Silva, JesúsPineda Lezama, Omar BonergeVarela, NoelGarcía Guiliany, JesúsSteffens Sanabria, ErnestoSánchez Otero, MadelinÁlvarez Rojas, Vladimir2019-08-08T15:16:10Z2019-08-08T15:16:10Z2019-04-27978-3-030-19222-8978-3-030-19223-5https://hdl.handle.net/11323/5136Corporación Universidad de la CostaREDICUC - Repositorio CUChttps://repositorio.cuc.edu.co/The automatic clustering differential evolution (ACDE) is one of the clustering methods that are able to determine the cluster number automatically. However, ACDE still makes use of the manual strategy to determine k activation threshold thereby affecting its performance. In this study, the ACDE problem will be ameliorated using the u-control chart (UCC) then the cluster number generated from ACDE will be fed to k-means. The performance of the proposed method was tested using six public datasets from the UCI repository about academic efficiency (AE) and evaluated with Davies Bouldin Index (DBI) and Cosine Similarity (CS) measure. The results show that the proposed method yields excellent performance compared to prior researches.Silva, JesúsPineda Lezama, Omar BonergeVarela, NoelGarcía Guiliany, JesúsSteffens Sanabria, ErnestoSánchez Otero, MadelinÁlvarez Rojas, VladimirengInternational Conference on Green, Pervasive, and Cloud Computinghttps://doi.org/10.1007/978-3-030-19223-5_31. Salem, S.B., Naouali, S., Chtourou, Z.: A fast and effective partitional clustering algorithm for large categorical datasets using a k-means based approach. Comput. Electr. Eng. 68, 463–483 (2018). https://doi.org/10.1016/j.compeleceng.2018.04.023 CrossRefGoogle Scholar 2. Chakraborty, S., Das, S.: Simultaneous variable weighting and determining the number of clusters—a weighted Gaussian means algorithm. Stat. Probab. Lett. 137, 148–156 (2018). https://doi.org/10.1016/j.spl.2018.01.015 MathSciNetCrossRefzbMATHGoogle Scholar 3. Masud, M.A, Huang, J.Z., Wei, C., Wang, J., Khan, I., Zhong, M.: I-nice: a new approach for identifying the number of clusters and initial cluster centres. Inf. Sci. (NY) (2018). https://doi.org/10.1016/j.ins.2018.07.034 4. Rahman, M.A., Islam, M.Z., Bossomaier, T.: ModEx and seed-detective: two novel techniques for high quality clustering by using good initial seeds in k-means. J. King Saud Univ. – Comput. Inf. Sci. 27, 113–128 (2015). https://doi.org/10.1016/j.jksuci.2014.04.002 CrossRefGoogle Scholar 5. Rahman, M.A., Islam, M.Z.: A hybrid clustering technique combining a novel genetic algorithm with k-means. Knowl.-Based Syst. 71, 345–365 (2014). https://doi.org/10.1016/j.knosys.2014.08.011 CrossRefGoogle Scholar 6. Ramadas, M., Abraham, A., Kumar, S.: FSDE-forced strategy differential evolution used for data clustering. J. King Saud Univ. - Comput. Inf. Sci. (2016). https://doi.org/10.1016/j.jksuci.2016.12.005 7. Yaqian, Z., Chai, Q.H., Boon, G.W.: Curvature-based method for determining the number of clusters. Inf. Sci. (NY) (2017). https://doi.org/10.1016/j.ins.2017.05.024 8. Tîrnăucă, C., Gómez-Pérez, D., Balcázar, J.L., Montaña, J.L.: Global optimality in k-means clustering. Inf. Sci. (NY) 439–440, 79–94 (2018). https://doi.org/10.1016/j.ins.2018.02.001 MathSciNetCrossRefGoogle Scholar 9. Xiang, W., Zhu, N., Ma, S., Meng, X., An, M.: A dynamic shuffled differential evolution algorithm for data clustering. Neurocomputing (2015). https://doi.org/10.1016/j.neucom.2015.01.058 10. Garcia, A.J., Flores, W.G.: Automatic clustering using nature-inspired metaheuristics: a survey. Appl. Soft Comput. (2016). https://doi.org/10.1016/j.asoc.2015.12.001 11. Das, S., Abraham, A., Konar, A.: Automatic clustering using an improved differential evolution algorithm. IEEE Trans. Syst. Man Cybern. - Part A Syst. Hum. 38, 218–237 (2008). https://doi.org/10.1109/TSMCA.2007.909595 CrossRefGoogle Scholar 12. Omran, M.G.H., Engelbrecht, A.P., Salman, A.: Dynamic clustering using particle swarm optimization with application in image segmentation. Pattern Anal. Appl. 332–344 (2006). https://doi.org/10.1007/s10044-005-0015-5 13. Bandyopadhyay, S., Maulik, U.: Genetic clustering for automatic evolution of clusters and application to image classification. Pattern Recogn. 35, 1197–1208 (2002) CrossRefGoogle Scholar 14. Tam, H., Ng, S., Lui, A.K., Leung, M.: Improved activation schema on automatic clustering using differential evolution algorithm. In: IEEE Congress on Evolutionary Computation (CEC), pp. 1749–1756 (2017). https://doi.org/10.1109/CEC.2017.7969513 15. Kuo, R., Suryani, E., Yasid, A.: Automatic clustering combining differential evolution algorithm and k-means algorithm. In: Proceedings of the Institute of Industrial Engineers Asian Conference 2013, pp. 1207–1215 (2013). https://doi.org/10.1007/978-981-4451-98-7 16. Piotrowski, A.P.: Review of differential evolution population size. Swarm Evol. Comput. 32, 1–24 (2017). https://doi.org/10.1016/j.swevo.2016.05.003 CrossRefGoogle Scholar 17. Kaya, I.: A genetic algorithm approach to determine the sample size for attribute control charts. Inf. Sci. (NY) 179, 1552–1566 (2009). https://doi.org/10.1016/j.ins.2008.09.024 CrossRefGoogle Scholar 18. Dobbie, G., Sing, Y., Riddle, P., Ur, S.: Research on particle swarm optimization based clustering: a systematic review of literature and techniques. Swarm Evol. Comput. 17, 1–13 (2014). https://doi.org/10.1016/j.swevo.2014.02.001 CrossRefGoogle Scholar 19. Departamento Administrativo Nacional de Estadística: Página principal. Recuperado de: DANE (2018). http://www.dane.gov.co/ 20. Torres-Samuel, M., Vásquez, C.L., Viloria, A., Varela, N., Hernández-Fernandez, L., Portillo-Medina, R.: Analysis of patterns in the university world rankings webometrics, Shanghai, QS and SIR-SCimago: case Latin America. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 188–199. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_18 CrossRefGoogle Scholar 21. Vásquez, C., Torres, M., Viloria, A.: Public policies in science and technology in Latin American countries with universities in the top 100 of web ranking. J. Eng. Appl. Sci. 12(11), 2963–2965 (2017) Google Scholar 22. Torres-Samuel, M., et al.: Efficiency analysis of the visibility of Latin American universities and their impact on the ranking web. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 235–243. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_22 CrossRefGoogle ScholarCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2K-meansAutomatic clusteringDifferential evolutionK activation thresholdU control chartAcademic efficiency (AE)U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-MeansPre-Publicaciónhttp://purl.org/coar/resource_type/c_816bTextinfo:eu-repo/semantics/preprinthttp://purl.org/redcol/resource_type/ARTOTRinfo:eu-repo/semantics/acceptedVersionPublicationORIGINALU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdfU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdfapplication/pdf473356https://repositorio.cuc.edu.co/bitstreams/98d256a9-fb33-4b80-88a7-3557dfc09006/download1259c35981dc13bfe8622a6e708cd589MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701https://repositorio.cuc.edu.co/bitstreams/45b2ea73-aa82-4af9-804e-ecbdf83c8aca/download42fd4ad1e89814f5e4a476b409eb708cMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.cuc.edu.co/bitstreams/bf6587b3-a61d-4d34-89fc-b5d459333909/download8a4605be74aa9ea9d79846c1fba20a33MD53THUMBNAILU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.jpgU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.jpgimage/jpeg44750https://repositorio.cuc.edu.co/bitstreams/700352aa-d2ba-4e3e-96e8-c2cf78b13844/downloadc187ff3546a1d30d3dfef4c21b8ca143MD55TEXTU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.txtU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.txttext/plain26640https://repositorio.cuc.edu.co/bitstreams/35614b25-1554-4e04-8377-28822fc04f0c/download0b27d3f5f4a025c09c561f7051b3b691MD5611323/5136oai:repositorio.cuc.edu.co:11323/51362024-09-17 11:00:49.636http://creativecommons.org/publicdomain/zero/1.0/CC0 1.0 Universalopen.accesshttps://repositorio.cuc.edu.coRepositorio de la Universidad de la Costa CUCrepdigital@cuc.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo= |