Detection and removal of dust artifacts in retinal images via sparse-based inpainting

Dust particle artifacts are present in all imaging modalities but have more adverse consequences in medical images like retinal images. They could be mistaken as small lesions, such as microaneurysms. We propose a method for detecting and accurately segmenting dust artifacts in retinal images based...

Full description

Autores:
Barrios, Erik
Sierra, Enrique
Romero, Lenny A.
Millán, María S.
Marrugo Hernández, Andrés Guillermo
Tipo de recurso:
Fecha de publicación:
2021
Institución:
Universidad Tecnológica de Bolívar
Repositorio:
Repositorio Institucional UTB
Idioma:
eng
OAI Identifier:
oai:repositorio.utb.edu.co:20.500.12585/10414
Acceso en línea:
https://hdl.handle.net/20.500.12585/10414
Palabra clave:
Artifact detection
Dust particle
Retinal image
Fundus image
Image restoration
Dictionary learning
Inpainting
Sensor artifact
Sparse representation
LEMB
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
id UTB2_089b23dfb50dd5a8551014f0af3dbdc3
oai_identifier_str oai:repositorio.utb.edu.co:20.500.12585/10414
network_acronym_str UTB2
network_name_str Repositorio Institucional UTB
repository_id_str
dc.title.spa.fl_str_mv Detection and removal of dust artifacts in retinal images via sparse-based inpainting
title Detection and removal of dust artifacts in retinal images via sparse-based inpainting
spellingShingle Detection and removal of dust artifacts in retinal images via sparse-based inpainting
Artifact detection
Dust particle
Retinal image
Fundus image
Image restoration
Dictionary learning
Inpainting
Sensor artifact
Sparse representation
LEMB
title_short Detection and removal of dust artifacts in retinal images via sparse-based inpainting
title_full Detection and removal of dust artifacts in retinal images via sparse-based inpainting
title_fullStr Detection and removal of dust artifacts in retinal images via sparse-based inpainting
title_full_unstemmed Detection and removal of dust artifacts in retinal images via sparse-based inpainting
title_sort Detection and removal of dust artifacts in retinal images via sparse-based inpainting
dc.creator.fl_str_mv Barrios, Erik
Sierra, Enrique
Romero, Lenny A.
Millán, María S.
Marrugo Hernández, Andrés Guillermo
dc.contributor.author.none.fl_str_mv Barrios, Erik
Sierra, Enrique
Romero, Lenny A.
Millán, María S.
Marrugo Hernández, Andrés Guillermo
dc.subject.keywords.spa.fl_str_mv Artifact detection
Dust particle
Retinal image
Fundus image
Image restoration
Dictionary learning
Inpainting
Sensor artifact
Sparse representation
topic Artifact detection
Dust particle
Retinal image
Fundus image
Image restoration
Dictionary learning
Inpainting
Sensor artifact
Sparse representation
LEMB
dc.subject.armarc.none.fl_str_mv LEMB
description Dust particle artifacts are present in all imaging modalities but have more adverse consequences in medical images like retinal images. They could be mistaken as small lesions, such as microaneurysms. We propose a method for detecting and accurately segmenting dust artifacts in retinal images based on multi-scale template-matching on several input images and an iterative segmentation via an inpainting approach. The inpainting is done through dictionary learning and sparse-based representation. The artifact segmentation is refined by comparing the original image to the initial restoration. On average, 90% of the dust artifacts were detected in the test images, with state-of-theart restoration results. All detected artifacts were accurately segmented and removed. Even the most challenging artifacts located on top of blood vessels were removed. Thus, ensuring the continuity of the retinal structures. The proposed method successfully detects and removes dust artifacts in retinal images, which could be used to avoid false-positive lesion detections or as an image quality criterion. An implementation of the proposed algorithm can be accessed and executed through a Code Ocean compute capsule
publishDate 2021
dc.date.issued.none.fl_str_mv 2021-09-06
dc.date.accessioned.none.fl_str_mv 2022-01-27T14:53:16Z
dc.date.available.none.fl_str_mv 2022-01-27T14:53:16Z
dc.date.submitted.none.fl_str_mv 2022-01-26
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.hasversion.spa.fl_str_mv info:eu-repo/semantics/restrictedAccess
dc.type.spa.spa.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.identifier.citation.spa.fl_str_mv Erik Barrios, Enrique Sierra, Lenny A. Romero, María S. Millán, Andres G. Marrugo. Opt. Pura Apl. 54 (3) 1-14 (2021). DOI: 10.7149/OPA.54.3.51060
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/20.500.12585/10414
dc.identifier.doi.none.fl_str_mv 10.7149/OPA.54.3.51060
dc.identifier.instname.spa.fl_str_mv Universidad Tecnológica de Bolívar
dc.identifier.reponame.spa.fl_str_mv Repositorio Universidad Tecnológica de Bolívar
identifier_str_mv Erik Barrios, Enrique Sierra, Lenny A. Romero, María S. Millán, Andres G. Marrugo. Opt. Pura Apl. 54 (3) 1-14 (2021). DOI: 10.7149/OPA.54.3.51060
10.7149/OPA.54.3.51060
Universidad Tecnológica de Bolívar
Repositorio Universidad Tecnológica de Bolívar
url https://hdl.handle.net/20.500.12585/10414
dc.language.iso.spa.fl_str_mv eng
language eng
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.cc.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 14 Páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.place.spa.fl_str_mv Cartagena de Indias
dc.source.spa.fl_str_mv Óptica pura y aplicada - vol. 54 n° 3 (2021)
institution Universidad Tecnológica de Bolívar
bitstream.url.fl_str_mv https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/1/OPA.54.3.51060_Andres%20Guillermo%20Mar.pdf
https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/2/license_rdf
https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/3/license.txt
https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/4/OPA.54.3.51060_Andres%20Guillermo%20Mar.pdf.txt
https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/5/OPA.54.3.51060_Andres%20Guillermo%20Mar.pdf.jpg
bitstream.checksum.fl_str_mv 054926cd297b08b3f9fa5b9682ca6c80
4460e5956bc1d1639be9ae6146a50347
e20ad307a1c5f3f25af9304a7a7c86b6
95acc1ae5c16f21c49074091897da983
946c1e35d09ae3eaf8f0d1ed41abcbd2
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional UTB
repository.mail.fl_str_mv repositorioutb@utb.edu.co
_version_ 1814021557222113280
spelling Barrios, Erikbb277699-e10e-4f85-982c-9a3b98acb515Sierra, Enriqued24332ba-a9f2-4a63-a549-840840da9ba0Romero, Lenny A.4e34aa8a-f981-4e1d-ae32-d45acb6abcf9Millán, María S.9fe60bec-aad5-4e2e-99bd-db4b5e8f4a1bMarrugo Hernández, Andrés Guillermo3d6cd388-d48f-4669-934f-49ca4179f5422022-01-27T14:53:16Z2022-01-27T14:53:16Z2021-09-062022-01-26Erik Barrios, Enrique Sierra, Lenny A. Romero, María S. Millán, Andres G. Marrugo. Opt. Pura Apl. 54 (3) 1-14 (2021). DOI: 10.7149/OPA.54.3.51060https://hdl.handle.net/20.500.12585/1041410.7149/OPA.54.3.51060Universidad Tecnológica de BolívarRepositorio Universidad Tecnológica de BolívarDust particle artifacts are present in all imaging modalities but have more adverse consequences in medical images like retinal images. They could be mistaken as small lesions, such as microaneurysms. We propose a method for detecting and accurately segmenting dust artifacts in retinal images based on multi-scale template-matching on several input images and an iterative segmentation via an inpainting approach. The inpainting is done through dictionary learning and sparse-based representation. The artifact segmentation is refined by comparing the original image to the initial restoration. On average, 90% of the dust artifacts were detected in the test images, with state-of-theart restoration results. All detected artifacts were accurately segmented and removed. Even the most challenging artifacts located on top of blood vessels were removed. Thus, ensuring the continuity of the retinal structures. The proposed method successfully detects and removes dust artifacts in retinal images, which could be used to avoid false-positive lesion detections or as an image quality criterion. An implementation of the proposed algorithm can be accessed and executed through a Code Ocean compute capsule14 Páginasapplication/pdfenghttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://purl.org/coar/access_right/c_abf2Óptica pura y aplicada - vol. 54 n° 3 (2021)Detection and removal of dust artifacts in retinal images via sparse-based inpaintinginfo:eu-repo/semantics/articleinfo:eu-repo/semantics/restrictedAccesshttp://purl.org/coar/resource_type/c_2df8fbb1Artifact detectionDust particleRetinal imageFundus imageImage restorationDictionary learningInpaintingSensor artifactSparse representationLEMBCartagena de IndiasAbràmoff, M. D., Garvin, M. K., & Sonka, M. (2010). Retinal imaging and image analysis. IEEE reviews in biomedical engineering, 3, 169-208.B. J. Fenner, R. L. M. Wong, W.-C. Lam, et al., “Advances in Retinal Imaging and Applications in Diabetic Retinopathy Screening: A Review,” Ophthalmology and Therapy 7, 333–346 (2018)A. G. Marrugo and M. S. Millan, “Retinal image analysis: Image processing and feature extraction oriented to the clinical task,” Opt. Pura Apl 50(1), 49–62 (2017).E. Sierra, A. G. Marrugo, and M. S. Millán, “Dust particle artifact detection and removal in retinal images,” Opt. Pura Apl 50(4), 379–387 (2017)A. G. Marrugo, M. S. Millan, M. Sorel, et al., “Restoration of retinal images with spacevariant blur,” Journal of Biomedical Optics 19(1), 016023 (2014).H. Narasimha-Iyer, A. Can, B. Roysam, et al., “Robust detection and classification of longitudinal changes in color retinal fundus images for monitoring diabetic retinopathy,” IEEE Trans on Biomed Eng 53(6), 1084–1098 (2006).P. F. Ordóñez, C. M. Cepeda, J. Garrido, et al., “Classification of images based on small local features: a case applied to microaneurysms in fundus retina images,” Journal of Medical Imaging 4(4), 041309 (2017).A. Manjaramkar and M. Kokare, “Statistical geometrical features for microaneurysm detection,” Journal of digital imaging 31(2), 224–234 (2018).M. Zamfir, E. Steinberg, Y. Prilutsky, et al., “Image defect map creation using batches of digital images,” (2010). Patent US 2010/0321537 A1.R. G. Willson, M. W. Maimone, A. E. Johnson, et al., “An optical model for image artifacts produced by dust particles on lenses,” 8th International Symposium on Artificial Intelligence, Robotics, and Automation in Space (i-SAIRAS) (2005).C. Li, K. Zhou, and S. Lin, “Removal of dust artifacts in focal stack image sequences. ,” in Proceedings of the 21st International Conference on Pattern Recognition (ICPR2012), 2602–2605, IEEE (2012).H. Altamar-Mercado, A. Patino-Vanegas, and A. G. Marrugo, “Extended Focused Image in White Light Scanning Interference Microscopy,” in Imaging and Applied Optics 2019, ITh1C.3, Optical Society of America, (Munich) (2019).C. Zhou and S. Lin, “Removal of image artifacts due to sensor dust,” in Computer Vision and Pattern Recognition, 2007. CVPR’07. IEEE Conference on, 1–8, IEEE (2007)A. D. Mora, J. Soares, and J. M. Fonseca, “A template matching technique for artifacts detection in retinal images,” in 2013 8th International Symposium on Image and Signal Processing and Analysis (ISPA), 717–722, IEEE (2013). [doi:10.1109/ispa.2013.6703831]M. Niemeijer, M. D. Abramoff, and B. van Ginneken, “Image structure clustering for image quality verification of color retina images in diabetic retinopathy screening,” Medical image analysis 10(6), 888–898 (2006). [doi:10.1016/j.media.2006.09.006].M. S. Millan, A. G. Marrugo, and F. Alba-Bueno, “Quality Changes in Fundus Images of Pseudophakic Eyes,” Opt. Pura Apl. 51(4), 50015:1–8 (2018).T. Köhler, A. Budai, M. F. Kraus, et al., “Automatic no-reference quality assessment for retinal fundus images using vessel segmentation,” in Proceedings of the 26th IEEE International Symposium on Computer-Based Medical Systems, 95–100, IEEE (2013).D. Veiga, C. Pereira, M. Ferreira, et al., “Quality evaluation of digital fundus images through combined measures.,” Journal of Medical Imaging 1(1), 014001 (2014).S. A. A. Shah, A. Laude, I. Faye, et al., “Automated microaneurysm detection in diabetic retinopathy using curvelet transform,” Journal of Biomedical Optics 21(10), 101404 (2016).P. Yang, L. Chen, J. Tian, et al., “Dust particle detection in surveillance video using salient visual descriptors,” Computers & Electrical Engineering 62, 224–231 (2017).L. Chen, D. Zhu, J. Tian, et al., “Dust particle detection in traffic surveillance video using motion singularity analysis,” Digital Signal Processing 58, 127–133 (2016).L. Hu, L. Chen, and J. Cheng, “Gray spot detection in surveillance video using convolutional neural network,” in 2018 13th IEEE Conference on Industrial Electronics and Applications (ICIEA), 2806– 2810, IEEE (2018). [doi:10.1109/ICIEA.2018.8398187].D. A. Forsyth and J. Ponce, Computer vision: A modern approach, Prentice Hall (2011).K. Zeng, G. Erus, A. Sotiras, et al., “Abnormality Detection via Iterative Deformable Registration and Basis-Pursuit Decomposition,” Medical Imaging, IEEE Transactions on 35(8), 1937–1951 (2016).F. Girard, C. Kavalec, and F. Cheriet, “Statistical atlas-based descriptor for an early detection of optic disc abnormalities,” Journal of Medical Imaging 5(01), 1–15 (2019)C. Kou, W. Li, W. Liang, et al., “Microaneurysms segmentation with a U-Net based on recurrent residual convolutional neural network,” Journal of Medical Imaging 6(02), 1–12 (2019).Enrique Sierra, Andres G Marrugo, Erik Barrios (2021) Dust particle artifact detection in retinal images [Source Code].R. C. Gonzalez, R. E. Woods, and S. L. Eddins, “Digital image processing using matlab,” Gatesmark Publishing (2009).J. Lewis, “Fast normalized cross-correlation,” in Vision interface, 10(1), 120–123 (1995).J. Lin, L. Yu, Q. Weng, et al., “Retinal image quality assessment for diabetic retinopathy screening: A survey,” Multimedia Tools and Applications, 1–27 (2019).A. Awati, H. C. Rao, and M. R. Patil, “Image Inpainting for Hemorrhage Detection in Mass Screening of Diabetic Retinopathy,” in Computing, Communication and Signal Processing, 1011–1019, Springer Singapore, Singapore (2018).M. Elad, “From exact to approximate solutions,” in Sparse and Redundant Representations, 79–109, Springer (2010)C. Guillemot and O. Le Meur, “Image inpainting: Overview and recent advances,” IEEE signal processing magazine 31(1), 127–144 (2014).E. M. Barrios, A. G. Marrugo, and M. S. Millán, “Lremoving dust artifacts in retinal images via dictionary learning and sparse-based inpainting,” in 2019 XXII Symposium on Image, Signal Processing and Artificial Vision (STSIVA), 1–5, IEEE (2019).M. Aharon, M. Elad, A. Bruckstein, et al., “K-svd: An algorithm for designing overcomplete dictionaries for sparse representation,” IEEE Transactions on signal processing 54(11), 4311 (2006).K. Engan, S. O. Aase, and J. H. Husoy, “Method of optimal directions for frame design,” in Acoustics, Speech, and Signal Processing, 1999. Proceedings., 1999 IEEE International Conference on, 5, 2443– 2446, IEEE (1999).S. Manat and Z. Zhang, “Matching pursuit in a time-frequency dictionary,” IEEE Trans Signal Processing 12, 3397–3451 (1993).N. Otsu, “A Threshold Selection Method from Gray-Level Histograms,” Systems, Man and Cybernetics, IEEE Transactions on 9(1), 62–66 (1979)E. Sierra, E. Barrios, A. G. Marrugo, et al., “Robust detection and removal of dust artifacts in retinal images via dictionary learning and sparse-based inpainting,” in Pattern Recognition and Tracking XXX, M. S. Alam, Ed., 109950L, SPIE (2019).http://purl.org/coar/resource_type/c_2df8fbb1ORIGINALOPA.54.3.51060_Andres Guillermo Mar.pdfOPA.54.3.51060_Andres Guillermo Mar.pdfapplication/pdf801932https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/1/OPA.54.3.51060_Andres%20Guillermo%20Mar.pdf054926cd297b08b3f9fa5b9682ca6c80MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/2/license_rdf4460e5956bc1d1639be9ae6146a50347MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-83182https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/3/license.txte20ad307a1c5f3f25af9304a7a7c86b6MD53TEXTOPA.54.3.51060_Andres Guillermo Mar.pdf.txtOPA.54.3.51060_Andres Guillermo Mar.pdf.txtExtracted texttext/plain43689https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/4/OPA.54.3.51060_Andres%20Guillermo%20Mar.pdf.txt95acc1ae5c16f21c49074091897da983MD54THUMBNAILOPA.54.3.51060_Andres Guillermo Mar.pdf.jpgOPA.54.3.51060_Andres Guillermo Mar.pdf.jpgGenerated Thumbnailimage/jpeg83003https://repositorio.utb.edu.co/bitstream/20.500.12585/10414/5/OPA.54.3.51060_Andres%20Guillermo%20Mar.pdf.jpg946c1e35d09ae3eaf8f0d1ed41abcbd2MD5520.500.12585/10414oai:repositorio.utb.edu.co:20.500.12585/104142023-05-26 16:23:42.987Repositorio Institucional UTBrepositorioutb@utb.edu.coQXV0b3Jpem8gKGF1dG9yaXphbW9zKSBhIGxhIEJpYmxpb3RlY2EgZGUgbGEgSW5zdGl0dWNpw7NuIHBhcmEgcXVlIGluY2x1eWEgdW5hIGNvcGlhLCBpbmRleGUgeSBkaXZ1bGd1ZSBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsLCBsYSBvYnJhIG1lbmNpb25hZGEgY29uIGVsIGZpbiBkZSBmYWNpbGl0YXIgbG9zIHByb2Nlc29zIGRlIHZpc2liaWxpZGFkIGUgaW1wYWN0byBkZSBsYSBtaXNtYSwgY29uZm9ybWUgYSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBxdWUgbWUobm9zKSBjb3JyZXNwb25kZShuKSB5IHF1ZSBpbmNsdXllbjogbGEgcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSwgZGlzdHJpYnVjacOzbiBhbCBww7pibGljbywgdHJhbnNmb3JtYWNpw7NuLCBkZSBjb25mb3JtaWRhZCBjb24gbGEgbm9ybWF0aXZpZGFkIHZpZ2VudGUgc29icmUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIHJlZmVyaWRvcyBlbiBhcnQuIDIsIDEyLCAzMCAobW9kaWZpY2FkbyBwb3IgZWwgYXJ0IDUgZGUgbGEgbGV5IDE1MjAvMjAxMiksIHkgNzIgZGUgbGEgbGV5IDIzIGRlIGRlIDE5ODIsIExleSA0NCBkZSAxOTkzLCBhcnQuIDQgeSAxMSBEZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzIGFydC4gMTEsIERlY3JldG8gNDYwIGRlIDE5OTUsIENpcmN1bGFyIE5vIDA2LzIwMDIgZGUgbGEgRGlyZWNjacOzbiBOYWNpb25hbCBkZSBEZXJlY2hvcyBkZSBhdXRvciwgYXJ0LiAxNSBMZXkgMTUyMCBkZSAyMDEyLCBsYSBMZXkgMTkxNSBkZSAyMDE4IHkgZGVtw6FzIG5vcm1hcyBzb2JyZSBsYSBtYXRlcmlhLgoKQWwgcmVzcGVjdG8gY29tbyBBdXRvcihlcykgbWFuaWZlc3RhbW9zIGNvbm9jZXIgcXVlOgoKLSBMYSBhdXRvcml6YWNpw7NuIGVzIGRlIGNhcsOhY3RlciBubyBleGNsdXNpdmEgeSBsaW1pdGFkYSwgZXN0byBpbXBsaWNhIHF1ZSBsYSBsaWNlbmNpYSB0aWVuZSB1bmEgdmlnZW5jaWEsIHF1ZSBubyBlcyBwZXJwZXR1YSB5IHF1ZSBlbCBhdXRvciBwdWVkZSBwdWJsaWNhciBvIGRpZnVuZGlyIHN1IG9icmEgZW4gY3VhbHF1aWVyIG90cm8gbWVkaW8sIGFzw60gY29tbyBsbGV2YXIgYSBjYWJvIGN1YWxxdWllciB0aXBvIGRlIGFjY2nDs24gc29icmUgZWwgZG9jdW1lbnRvLgoKLSBMYSBhdXRvcml6YWNpw7NuIHRlbmRyw6EgdW5hIHZpZ2VuY2lhIGRlIGNpbmNvIGHDsW9zIGEgcGFydGlyIGRlbCBtb21lbnRvIGRlIGxhIGluY2x1c2nDs24gZGUgbGEgb2JyYSBlbiBlbCByZXBvc2l0b3JpbywgcHJvcnJvZ2FibGUgaW5kZWZpbmlkYW1lbnRlIHBvciBlbCB0aWVtcG8gZGUgZHVyYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlbCBhdXRvciB5IHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHVuYSB2ZXogZWwgYXV0b3IgbG8gbWFuaWZpZXN0ZSBwb3IgZXNjcml0byBhIGxhIGluc3RpdHVjacOzbiwgY29uIGxhIHNhbHZlZGFkIGRlIHF1ZSBsYSBvYnJhIGVzIGRpZnVuZGlkYSBnbG9iYWxtZW50ZSB5IGNvc2VjaGFkYSBwb3IgZGlmZXJlbnRlcyBidXNjYWRvcmVzIHkvbyByZXBvc2l0b3Jpb3MgZW4gSW50ZXJuZXQgbG8gcXVlIG5vIGdhcmFudGl6YSBxdWUgbGEgb2JyYSBwdWVkYSBzZXIgcmV0aXJhZGEgZGUgbWFuZXJhIGlubWVkaWF0YSBkZSBvdHJvcyBzaXN0ZW1hcyBkZSBpbmZvcm1hY2nDs24gZW4gbG9zIHF1ZSBzZSBoYXlhIGluZGV4YWRvLCBkaWZlcmVudGVzIGFsIHJlcG9zaXRvcmlvIGluc3RpdHVjaW9uYWwgZGUgbGEgSW5zdGl0dWNpw7NuLCBkZSBtYW5lcmEgcXVlIGVsIGF1dG9yKHJlcykgdGVuZHLDoW4gcXVlIHNvbGljaXRhciBsYSByZXRpcmFkYSBkZSBzdSBvYnJhIGRpcmVjdGFtZW50ZSBhIG90cm9zIHNpc3RlbWFzIGRlIGluZm9ybWFjacOzbiBkaXN0aW50b3MgYWwgZGUgbGEgSW5zdGl0dWNpw7NuIHNpIGRlc2VhIHF1ZSBzdSBvYnJhIHNlYSByZXRpcmFkYSBkZSBpbm1lZGlhdG8uCgotIExhIGF1dG9yaXphY2nDs24gZGUgcHVibGljYWNpw7NuIGNvbXByZW5kZSBlbCBmb3JtYXRvIG9yaWdpbmFsIGRlIGxhIG9icmEgeSB0b2RvcyBsb3MgZGVtw6FzIHF1ZSBzZSByZXF1aWVyYSBwYXJhIHN1IHB1YmxpY2FjacOzbiBlbiBlbCByZXBvc2l0b3Jpby4gSWd1YWxtZW50ZSwgbGEgYXV0b3JpemFjacOzbiBwZXJtaXRlIGEgbGEgaW5zdGl0dWNpw7NuIGVsIGNhbWJpbyBkZSBzb3BvcnRlIGRlIGxhIG9icmEgY29uIGZpbmVzIGRlIHByZXNlcnZhY2nDs24gKGltcHJlc28sIGVsZWN0csOzbmljbywgZGlnaXRhbCwgSW50ZXJuZXQsIGludHJhbmV0LCBvIGN1YWxxdWllciBvdHJvIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2NlcikuCgotIExhIGF1dG9yaXphY2nDs24gZXMgZ3JhdHVpdGEgeSBzZSByZW51bmNpYSBhIHJlY2liaXIgY3VhbHF1aWVyIHJlbXVuZXJhY2nDs24gcG9yIGxvcyB1c29zIGRlIGxhIG9icmEsIGRlIGFjdWVyZG8gY29uIGxhIGxpY2VuY2lhIGVzdGFibGVjaWRhIGVuIGVzdGEgYXV0b3JpemFjacOzbi4KCi0gQWwgZmlybWFyIGVzdGEgYXV0b3JpemFjacOzbiwgc2UgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBlcyBvcmlnaW5hbCB5IG5vIGV4aXN0ZSBlbiBlbGxhIG5pbmd1bmEgdmlvbGFjacOzbiBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcy4gRW4gY2FzbyBkZSBxdWUgZWwgdHJhYmFqbyBoYXlhIHNpZG8gZmluYW5jaWFkbyBwb3IgdGVyY2Vyb3MgZWwgbyBsb3MgYXV0b3JlcyBhc3VtZW4gbGEgcmVzcG9uc2FiaWxpZGFkIGRlbCBjdW1wbGltaWVudG8gZGUgbG9zIGFjdWVyZG9zIGVzdGFibGVjaWRvcyBzb2JyZSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBkZSBsYSBvYnJhIGNvbiBkaWNobyB0ZXJjZXJvLgoKLSBGcmVudGUgYSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIHBvciB0ZXJjZXJvcywgZWwgbyBsb3MgYXV0b3JlcyBzZXLDoW4gcmVzcG9uc2FibGVzLCBlbiBuaW5nw7puIGNhc28gbGEgcmVzcG9uc2FiaWxpZGFkIHNlcsOhIGFzdW1pZGEgcG9yIGxhIGluc3RpdHVjacOzbi4KCi0gQ29uIGxhIGF1dG9yaXphY2nDs24sIGxhIGluc3RpdHVjacOzbiBwdWVkZSBkaWZ1bmRpciBsYSBvYnJhIGVuIMOtbmRpY2VzLCBidXNjYWRvcmVzIHkgb3Ryb3Mgc2lzdGVtYXMgZGUgaW5mb3JtYWNpw7NuIHF1ZSBmYXZvcmV6Y2FuIHN1IHZpc2liaWxpZGFkCgo=