diff --git a/lib/configuration-6.3.1.js b/lib/configuration-6.3.1.js deleted file mode 100644 index 79f95e9..0000000 --- a/lib/configuration-6.3.1.js +++ /dev/null @@ -1,438 +0,0 @@ -/** - * Mapea API - * Version 6.3.1 - * Date 20-01-2023 - */ -(function(M) { - /** - * Pixels width for mobile devices - * - * @private - * @type {Number} - */ - M.config('MOBILE_WIDTH', 768); - - /** - * The Mapea URL - * @const - * @type {string} - * @public - * @api stable - */ - M.config('MAPEA_URL', 'https://mapea4-sigc.juntadeandalucia.es/mapea'); - - /** - * The path to the Mapea proxy to send - * jsonp requests - * @const - * @type {string} - * @public - * @api stable - */ - M.config('PROXY_URL', 'https://mapea4-sigc.juntadeandalucia.es/mapea/api/proxy'); - - /** - * The path to the Mapea proxy to send - * jsonp requests - * @const - * @type {string} - * @public - * @api stable - */ - M.config('PROXY_POST_URL', 'https://mapea4-sigc.juntadeandalucia.es/mapea/proxyPost'); - - /** - * The path to the Mapea templates - * @const - * @type {string} - * @public - * @api stable - */ - M.config('TEMPLATES_PATH', '/files/templates/'); - - /** - * The path to the Mapea theme - * @const - * @type {string} - * @public - * @api stable - */ - M.config('THEME_URL', 'https://mapea4-sigc.juntadeandalucia.es/mapea/assets/'); - - /** - * The Geosearch URL - * @const - * @type {string} - * @public - * @api stable - */ - M.config('GEOSEARCH_URL', 'https://geobusquedas-sigc.juntadeandalucia.es'); - - /** - * The Geosearch core - * @const - * @type {string} - * @public - * @api stable - */ - M.config('GEOSEARCH_CORE', 'sigc'); - - /** - * The Geosearch handler - * @const - * @type {string} - * @public - * @api stable - */ - M.config('GEOSEARCH_HANDLER', '/search?'); - - /** - * The Geosearch distance - * @const - * @type {int} - * @public - * @api stable - */ - M.config('GEOSEARCH_DISTANCE', '600'); - - /** - * The Geosearchbylocation spatial field - * @const - * @type {string} - * @public - * @api stable - */ - M.config('GEOSEARCH_SPATIAL_FIELD', 'geom'); - - /** - * The Geosearch rows - * @const - * @type {string} - * @public - * @api stable - */ - M.config('GEOSEARCH_ROWS', '20'); - - /** - * The Geosearch rows - * @const - * @type {string} - * @public - * @api stable - */ - M.config('GEOSEARCHBYLOCATION_ROWS', '100'); - - /** - * Predefined WMC files. It is composed of URL, - * predefined name and context name. - * @type {object} - * @public - * @api stable - */ - M.config('predefinedWMC', { - /** - * Predefined WMC URLs - * @const - * @type {Array} - * @public - * @api stable - */ - 'urls': 'https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/mapa.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/hibrido.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/satelite.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_callejero.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_hibrido.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/context_cdau_satelite.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextCallejeroCache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextCallejero.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextIDEA.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextOrtofoto2009.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/callejero2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/ortofoto2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/hibrido2011cache.xml,https://mapea4-sigc.juntadeandalucia.es/mapea/files/wmc/contextOrtofoto.xml'.split(',').map(e => e), - - /** - * WMC predefined names - * @const - * @type {Array} - * @public - * @api stable - */ - 'predefinedNames': 'mapa,hibrido,satelite,cdau,cdau_hibrido,cdau_satelite,callejerocacheado,callejero,idea,ortofoto09,callejero2011cache,ortofoto2011cache,hibrido2011cache,ortofoto'.split(','), - - /** - * WMC context names - * @const - * @type {Array} - * @public - * @api stable - */ - 'names': 'Mapa,Hibrido,Satelite,Callejero,Hibrido,Satelite,mapa callejero cache,mapa del callejero,mapa idea,mapa ortofoto09,Callejero,Ortofoto,Híbrido,mapa ortofoto'.split(',') - }); - - /** - * TODO - * @type {object} - * @public - * @api stable - */ - M.config('tileMappgins', { - /** - * Predefined WMC URLs - * @const - * @type {Array} - * @public - * @api stable - */ - 'tiledNames': 'base,SPOT_Andalucia,orto_2010-11_25830,CallejeroCompleto,orto_2010-11_23030'.split(','), - - /** - * WMC predefined names - * @const - * @type {Array} - * @public - * @api stable - */ - 'tiledUrls': 'https://www.callejerodeandalucia.es/servicios/base/gwc/service/wms?,https://www.callejerodeandalucia.es/servicios/base/gwc/service/wms?,https://www.ideandalucia.es/geowebcache/service/wms?,https://www.juntadeandalucia.es/servicios/mapas/callejero/wms-tiled?,https://www.ideandalucia.es/geowebcache/service/wms?'.split(',').map(e => e), - - /** - * WMC context names - * @const - * @type {Array} - * @public - * @api stable - */ - 'names': 'CDAU_base,mosaico_spot_2005,orto_2010-11,CallejeroCompleto,orto_2010-11'.split(','), - - /** - * WMC context names - * @const - * @type {Array} - * @public - * @api stable - */ - 'urls': 'https://www.callejerodeandalucia.es/servicios/base/wms?,https://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_SPOT_Andalucia_2005?,https://www.ideandalucia.es/wms/ortofoto2010?,https://www.juntadeandalucia.es/servicios/mapas/callejero/wms?,https://www.ideandalucia.es/wms/ortofoto2010?'.split(',').map(e => e) - }); - - /** - * Default projection - * @const - * @type {string} - * @public - * @api stable - */ - M.config('DEFAULT_PROJ', 'EPSG:25830*m'); - - /** - * Predefined WMC files. It is composed of URL, - * predefined name and context name. - * @type {object} - * @public - * @api stable - */ - M.config('geoprint', { - /** - * Printer service URL - * @const - * @type {Array} - * @public - * @api stable - */ - 'URL': 'https://geoprint-sigc.juntadeandalucia.es/geoprint/pdf', - - /** - * WMC predefined names - * @const - * @type {Array} - * @public - * @api stable - */ - 'DPI': 120, - - /** - * WMC context names - * @const - * @type {Array} - * @public - * @api stable - */ - 'FORMAT': 'pdf', - - /** - * WMC context names - * @const - * @type {Array} - * @public - * @api stable - */ - 'TEMPLATE': 'A4 landscape (SIGC)', - - /** - * WMC context names - * @const - * @type {Array} - * @public - * @api stable - */ - 'FORCE_SCALE': false, - - /** - * TODO - * @const - * @type {boolean} - * @public - * @api stable - */ - 'LEGEND': true - }); - - /** - * Geoprint configuration. - * @type {object} - * @public - * @api stable - */ - M.config('geoprint2', { - /** - * Printer service URL - * @const - * @type {Array} - * @public - * @api stable - */ - 'URL': 'https://geoprint-sigc.juntadeandalucia.es/geoprint3/print/SIGC', - - /** - * Printer service URL - * @const - * @type {Array} - * @public - * @api stable - */ - 'URL_APPLICATION': 'https://geoprint-sigc.juntadeandalucia.es/geoprint3', - }); - - /** - * Predefined WMC files. It is composed of URL, - * predefined name and context name. - * @type {object} - * @public - * @api stable - */ - M.config('panels', { - /** - * TODO - * @const - * @type {Array} - * @public - * @api stable - */ - 'TOOLS': 'measurebar,measurelength,measureclear,measurearea,getfeatureinfo'.split(','), - - /** - * TODO - * @const - * @type {Array} - * @public - * @api stable - */ - 'EDITION': 'drawfeature,modifyfeature,deletefeature,editattribute,savefeature,clearfeature'.split(',') - }); - - /** - * Searchstreet service URL - * @const - * @type {string} - * @public - * @api stable - */ - M.config('SEARCHSTREET_URL', 'https://ws248.juntadeandalucia.es/EXT_PUB_CallejeroREST/geocoderMunProvSrs'); - - /** - * Autocomplete municipality service URL - * @const - * @type {string} - * @public - * @api stable - */ - M.config('SEARCHSTREET_URLCODINEAUTOCOMPLETE', 'https://ws248.juntadeandalucia.es/EXT_PUB_CallejeroREST/autocompletarDireccionMunicipio'); - - /** - * service URL check code INE - * @const - * @type {string} - * @public - * @api stable - */ - M.config('SEARCHSTREET_URLCOMPROBARINE', 'https://ws248.juntadeandalucia.es/EXT_PUB_CallejeroREST/comprobarCodIne'); - - /** - * Normalizar searchstreet service URL - * @const - * @type {string} - * @public - * @api stable - */ - M.config('SEARCHSTREET_NORMALIZAR', 'https://ws248.juntadeandalucia.es/EXT_PUB_CallejeroREST/normalizar'); - - /** - * Minimum number of characters to start autocomplete - * @const - * @type {number} - * @public - * @api stable - */ - M.config('AUTOCOMPLETE_MINLENGTH', '3'); - - /** - * TODO - * - * @private - * @type {Number} - */ - M.config('AUTOCOMPLETE_DELAYTIME', '750'); - - /** - * Number of results to show - * - * @private - * @type {Number} - */ - M.config('AUTOCOMPLETE_LIMIT', '10'); - - /** - * TODO - * - * @private - * @type {String} - */ - M.config('MAPBOX_URL', 'https://api.mapbox.com/v4/'); - - /** - * TODO - * - * @private - * @type {String} - */ - M.config('MAPBOX_EXTENSION', 'png'); - - /** - * TODO - * - * @private - * @type {String} - */ - M.config('MAPBOX_TOKEN_NAME', 'access_token'); - - /** - * TODO - * - * @private - * @type {String} - */ - M.config('MAPBOX_TOKEN_VALUE', 'pk.eyJ1Ijoic2lnY29ycG9yYXRpdm9qYSIsImEiOiJjaXczZ3hlc2YwMDBrMm9wYnRqd3gyMWQ0In0.wF12VawgDM31l5RcAGb6AA'); - - /** - * Number of pages for the plugin AttributeTable - * - * @private - * @type {String} - */ - M.config('ATTRIBUTETABLE_PAGES', '5'); - - /** - * Zoom levels - * - * @private - * @type {Number} - */ - M.config('ZOOM_LEVELS', '16'); -})(window.M); diff --git a/lib/mapea-6.3.1.ol.min.css b/lib/mapea-6.3.1.ol.min.css deleted file mode 100644 index c9d45dc..0000000 --- a/lib/mapea-6.3.1.ol.min.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:g-cartografia;src:url(data:application/vnd.ms-fontobject;base64,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);src:url(data:application/vnd.ms-fontobject;base64,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#iefix) format("embedded-opentype"),url(data:font/ttf;base64,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) format("truetype"),url(data:application/font-woff;base64,d09GRgABAAAAAHQMAAsAAAAAc8AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIGi2NtYXAAAAFoAAAAVAAAAFQXVtLvZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAbUwAAG1MOgdqw2hlYWQAAG8QAAAANgAAADYXY7svaGhlYQAAb0gAAAAkAAAAJAfCBC5obXR4AABvbAAAAbQAAAG0qQEkd2xvY2EAAHEgAAAA3AAAANxXfXMCbWF4cAAAcfwAAAAgAAAAIACGAZ1uYW1lAAByHAAAAc4AAAHOJDIV+3Bvc3QAAHPsAAAAIAAAACAAAwAAAAMD+QGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6WgDwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOlo//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAABAAA//kEAAOHABUAGQAlADkAACUBLgEjIgYHAQ4BFRQWMyEyNjU0JicFCQEhJSIGFRQWMzI2NTQmAxQWFRceATMyNj8BNDY1NCYjIgYD9f5VCycYGCcL/lUFBjIjA1YjMgYF/GABqwGr/KoBqxghIRgYISFRARwCDwsLDwIcASEYGCF5AuMTGBgT/R0KFQwjMjIjDBUKKwLk/RzHIRgXISEXGCEBAAIFAqYKDg4KpgIFAhghIQAAAAQAZQAlA5sDWwARAC4AcgB+AAABNCYjISIGFREUFjMxITI2NREDFAYHDgEjISImJy4BNRE0Njc+ATMhMhYXHgEVEQEVOAExNSIGBx4BMzI2NT4BNz4BMzIWFx4BFw4BBw4BBw4BBw4BHQEUFjMyNj0BPAE3PgE3PgE3PgE3PgE1OAExLgEjESIGFRQWMzI2NTQmA5teQv4KQl5eQgH2Ql5SDAsLHBD+ChAcCwsMDAsLHBAB9hAcCwsM/rc5UQEBGBARGAEICAgUDAwUCAgIAQEDBQQQCgkUCQkMGBERGAEBBQQECQULFwsKDgFRORQcHBQUHBwCu0JeXkL+CkJeXkIB9v4JEBwKCwwMCwscEAH2EBwLCwwMCwscEP4JAfcQEFE5ERgYEQsVCAcJCQcIFQsGCQYGDggIEgsLHBIwERgYETABAQECBgQDCAUIFQ4NIxU5Uf5qHBQUHBwUFBwAAAACAGD/wAOgA8AAMABKAAABLgEHDgEjIiYnLgEjIgYHLgEjIgYVERQWMzI2NRE+ATMyFhceATMyNjc+ATURNCYnAw4BIyImJy4BIyIGBxE+ATMyFhceATMyNjcDiQsZCx1ANjxEICRcTTZLHAYYDxQcHBQUHB9COTtEISRbTkZXIgwODAtJFzkpPEQgJFxNNEocH0I5O0QhJFtOJjsYA4IHAQYPFRkREyMSDA0RHBT8YBQcHBQBiRAXGRETIx0SBhcNAcANFgb+NQoNGRETIxEMAVYQFxkREyMJCAAABAAA/8AEAAPAABsANwBUAGQAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGJTA3PgE3Njc2Nz4BNzYxMAcOAQcGBwYHDgEHBjETFxYHDgEHBjEwNz4BNzYXAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpWTExwISEhIXBMTFZWTExwISEhIXBMTP67LCtwNTUVFBobLhARLCtwNTUVFBobLhEQwkYHGBg/GxwMCx4ODwcDwCgoi15dampdXosoKCgoi15dampdXosoKPxgISFwTExWVkxMcCEhISFwTExWVkxMcCEhsREQLhsaFBU1NXArLBARLhsaFBU1NXArLAEIRgcODx4LDBwbPxgYBwAAAAEAjwA7A20DMQAmAAAJARYUBw4BIyImJwkBDgEjIiYnJjQ3CQEmNDc2MhcJATYyFxYUBwECaAEFFhYKHQ4NHQr++v76Ch0NDh0KFhYBBf77FhYWPRYBBgEGFj0WFhb++wHB/vsWPRcKDQ0KAQb++goNDQoXPRYBBQEGFj0XFhb++gEGFhYXPRb++gAAAwAA/8AEAAPAADcAUwBvAAABLgEnLgEnIgYPAScuASMOAQcOAQcUFh8BBw4BFR4BFx4BFzI2PwEXHgEzPgE3PgE3NCYvATc+AQMiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAsABBgcHEAkKEwdubgcTCgkQBwcGAQcHbm4HBwEGBwcQCQoTB25uBxMKCRAHBwYBBwdubgcHwGpdXosoKCgoi15dampdXosoKCgoi15dalZMTHEgISEgcUxMVlZMTHEgISEgcUxMAlIJEAcHBgEHB25uBwcBBgcHEAkKEwdubgcTCgkQBwcGAQcHbm4HBwEGBwcQCQoTB25uBxMBeCgoi15dampdXosoKCgoi15dampdXosoKPxgISBxTExWVkxMcSAhISBxTExWVkxMcSAhAAAAAAMAAP/ABAADwAAZACIAJgAAASEiBh0BIyIGFREUFjMhMjY9ATMyNjURNCYBIREzERQWMyElIREhA8D9gBomwBomJhoCgBslwBomJv7G/cCgJhoBYAEA/cACQAPAJRvAJRv9gBomJhrAJhoCgBsl/GACQP6gGyVgAkAAAAAEAD//4gPBA5sAGQAdAEQAawAAEwUeATMyNjclPgE1NCYnJSYiBwUOARUUFhclDQElBScmBgcGFh8BBSU3PgEnLgEPAQ4BFRQWFwUeATMyNjclPgE1NCYnFScmBgcGFh8BBSU3PgEnLgEPAQ4BFRQWFwUeATMyNjclPgE1NCYnTgGlAwcDAwcDAaUHCAgH/lsGDgb+WwcICAcBsgFV/qv+qwMHewohBgUDCz7+s/6zPwsBBgUfCnwHCAgHAaUDBwMDBwMBpQcICAd3CiEGBQMKO/6z/rM6CgQGBiEKdgcICAcBpQMHAwMHAwGlBwgIBwKI4QECAgHhBA0ICA0E4QMD4QQNCAgNBMqxq6vIQQYGCgsdBSOlpSMGHAoKBwVCBA0ICA0E4QECAgHhBA0ICA0E4T8GCAoKHAUhpaUgBhwKCggGPwQNCAgNBOEBAgIB4QQNCAgNBAAAAAMAAP/ABAADwAAbADcAWQAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYTIgYPAScuASMOAQcOAQcUFh8BHgEzMjY3AT4BNS4BJy4BAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpWTExxICEhIHFMTFZWTExxICEhIHFMTHwKEwfefgcTCgkQBwcGAQcHoAcSCQkSBwEABwcBBgcHEAPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/GAhIHFMTFZWTExxICEhIHFMTFZWTExxICECQAcH3n4HBwEGBwcQCQoTB6AHBwcHAQAHEwoJEAcHBgAAAAIAbgBSA5IDdwATACgAAAEhIgcGFREUFxYzITI3NjURNCcmFxEUBwYjISInJjURNDc2MyEyFxYVAu7+JCUbGxsbJQHcJRsbGxt/MDBE/iREMDAwMEQB3EQwMAMuGxsm/iUmGxsbGyYB2yYbG1z+JUQwMTEwRAHbRDEwMDFEAAAAAwBuAFIDkgN3ABsAOABbAAABISIGBw4BFREUFhceATMhMjY3PgE1ETQmJy4BFxEUBgcOASMhIiYnLgE1ETQ2Nz4BMyEyFhceARUHIgYPAScuAQciBgcOAQcUFh8BHgEzMjY/AT4BNS4BJy4BIwLu/iQTIA0ODQ0ODSATAdwTIA0ODQ0ODSCRGBgYOiL+JCI6GBgYGBgYOiIB3CI6GBgYvQkTCN19CBMJCRAHBwYBBwefBxIJCRIH/wcHAQYHBxAJAy4ODQ4gE/4lEyAODQ4ODQ4gEwHbEyAODQ5c/iUiOhgZGBgZGDoiAdsiOhkYGBgYGToiRAYI3X4HBwEHBgcQCQoSCJ8HBwcH/wcTCggRBgcHAAAAAgAA/8AEAAPAABsANwAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYCAGpdXosoKCgoi15dampdXosoKCgoi15dalZMTHEgISEgcUxMVlZMTHEgISEgcUxMA8AoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8YCEgcUxMVlZMTHEgISEgcUxMVlZMTHEgIQAAAAADAAD/wAQAA8AAGwA3AFMAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGExQHDgEHBiMiJy4BJyY1NDc+ATc2MzIXHgEXFgIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qVkxMcSAhISBxTExWVkxMcSAhISBxTEynFBRELy40NC4uRRQUFBRFLi40NC4vRBQUA8AoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8YCEgcUxMVlZMTHEgISEgcUxMVlZMTHEgIQGgNC4vRBQUFBRELy40NC4vRBQUFBRELy4AAAAABAAd//AD4wOQABsANQBHAFoAAAEhIgYVERQWMyEXHgEzMjY3PgE9AT4BNRE0JiMTFAYrASIGHQEnLgEjISImNRE0NjMhMhYVEQMyFhUxFAYjMSEiJjUxNDYzMQUyFhUxFAYjMSEiJjUxNDYzMSEDOv2MRmNjRgGQvwUNBgQGAwoLP1VjRlw7KQgNFIwFDAb+aCk7OykCZCk7nRMaGhP+DhMaGhMB8hMaGhP+DhMaGhMB8gOQZEb+fUZjwAUFAgEEEQqpCF9BAYNGZP3WKToUDXWMBQU6KQF6KTo6Kf6GAUQaEhIaGhISGr4aEhIaGhISGgAAAAIAJP/gA9YDrAAXADUAAAEyFhURFAYjISImNRE0NjMyFh0BITU0NgUnJjQ3NjIfARE0NjMyFhURNzYyFxYUDwEOASMiJgOgFiAfF/y8FiIhFxYgAtgf/k/cEBAQKxGAHxcWIH4QLREQENwHFAsKFAFyHxf+2hYgHxcBJhYgHxfu7hYgetwQKxEQEH4B1BYgHxf+LH4QEBArEdwHCQgAAAAEAAD/wAQAA8AAEAATABgAHAAACQEuASMiBgcBESEBPgE1NCYBNRc3JwEXAQEnNxcD9f72BQ8HBw8F/UsBQAK1BQYG/GacVsABvMD+RAIAwD7AAqsBCgUGBgX9S/7AArUFDwcHD/16nJwywAG8wP5EAgDAPsAAAAADAAD/wAQAA8AAHAAtADIAAAEiBhURIREhMjY1NCYjISIGFREUFjMhMjY1ETQmEycuASMiBgcBFTMBPgE1NCYBIzUBFwOQFBz9AAGQFBwcFP5QGiYmGgNAGiYcUYoFDwcHDwX968ACFQUGBv3GQAHQQAHgHBT+cAMAHBQUHCUb/MAbJSUbAbAUHAFLigUGBgX968ACFQUPBwcP/hpAAdBAAAAAAAMBuAAOAoYDcgBIAFUAYQAAATQmIyIGFRQWFyMVMxUjFTMVIxUzFSMVMxUjFTMVIxUzFQ4BFRQWMzI2NTQmJzUzNSM1MzUjNTM1IzUzNSM1MzUjNTM1Iz4BNSM0NjMyFhUUBiMiJjUTFAYjIiY1NDYzMhYChj0qKzwnHz8/Pz8/Pz8/Pz8/PxUZLiEgLxoURkZGRkZGRkZGRkZGHiiiIhkYIyMYGSJeFQ4PFBQPDhUDCyo9PSoiNQtYJywnLCYsJywmLA8JJxggLy8gGCcJDywmLCcsJiwnLCdZCjUiGCIiGBkiIhn9Uw8UFA8OFRUAAAYAGf/PA/EDpwAkAEAATABYAGQAcAAAJQE2NzYmJyYnJicmIgcGBwYHBhQXFhcWFx4BNzY3ARYyNzY0JwEGBwYiJyYnJicmNDc2NzY3NjIXFhcWFxYUBwYlMxUjNTM1Byc3MxUXFAYjIiY1NDYzMhY1FAYjIiY1NDYzMhYXFSM1MzUHJzczFTMD8f5sJRAQCBkYLDE+PoE+PjExGBkZGDEtNzd1OToxAZQPKQ8PD/4EIissWisrIiMRERERIyIrK1osKyIiEhEREv7jDkUQFwknIHMOCwsODgsLDg4LCw4OCwsOgEUPFgknIA4WAZQxOjl1NzctMRgZGRgxMT4+gT4+MSwYGQgQECX+bA8PDykPAbUiEhEREiIiKyxaKysiIxEREREjIisrWiwrQCIikBIjG7wICw8PCwwPD2QLDw8LDA4OdCIikBIjG7wABQAbAPMD6wKRABAAIAAxAEIAUwAAASEiBhURFBYzITI2NTERNCYDFAYjISImPQE0NjMhMhYVBSMiBh0BFBY7ATI2PQE0JiMzIyIGHQEUFjsBMjY9ATQmIzMjIgYdARQWOwEyNj0BNCYjA8L8ghEYGBEDfRIYGDAQDPzzCxAQCwMNDBD9pIMFBwcFgwUHBwX6ggYHBwaCBgcHBvuDBQcHBYMFBwcFApEYEf60ERgYEQFMERj+wwsQEAvbCxAQCyEHBoIGBwcGggYHBwaCBgcHBoIGBwcGggYHBwaCBgcAAAACAAP/wgPvA7sAIgAzAAAlJzc+AScuAScBJgYHDgEXAR4BFxY2PwEXHgEzMjY/ATY0JwcnLgEjIgYPAQMFBwYUHwEHA++6oQsIAwQUD/yPECEMDAcFAScEFw8PHQumugkWCwsWCbAREc+9ChcNDBgJmvcC5ZQTE71l17qiCh4PDxYFAScFCAsMIRD8jw8UBAMIC6a7CAkJCLASMRGYuwoJCQqZAub4lBM2ErtmAAAAAAEAOwCqA+UCwAAZAAAJASYiBwYUFwEeATMyNjcBPgE1NCYnJiIHAQIF/p4XOhcXFwGWCxkQEBgMAZYMCgoMFzoX/p4BXgFiFxcXPRf+agsKCgsBlgwbDQ4eCxcX/p4AAAMAAP/ABAADwAAbADcAVwAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYTIgYHMQcnMS4BIyIGFRQWFzEXHgEzMjY/ATE+ATU0JgIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qVkxMcSAhISBxTExWVkxMcSAhISBxTExaCxIGjY0GEgsUHAcGsAYTCgoTBrAGBxwDwCgoi15dampdXosoKCgoi15dampdXosoKPxgISBxTExWVkxMcSAhISBxTExWVkxMcSAhAiAICJmZCAgcFAkRBsAICAgIwAYRCRQcAAABACQAwQPOAtcAGQAACQEWMjc2NCcBLgEjIgYHAQ4BFRQWFxYyNwECAwFjFzoXFxf+aQsZEBAYDP5qCwoKCxc6FwFiAiP+nhcXFz0XAZYLCgoL/moMGw0OHgsXFwFiAAADAAD/wAQAA8AAHwA7AFcAAAEnLgEjIgYPATEOARUUFjMyNjcxNxcxHgEzMjY1NCYnAyIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYC07AGEwoKEwawBgccFAsSBo2NBhMKFBwHBtNqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpWTExxICEhIHFMTFZWTExxICEhIHFMTAGQwAgICAjABhEJFBwICJmZCAgcFAkRBgIwKCiLXl1qal1eiygoKCiLXl1qal1eiygo/GAhIHFMTFZWTExxICEhIHFMTFZWTExxICEAAQEE//cDGwOhABkAAAkBBhQXFjI3AT4BNTQmJwEuASMiBgcGFBcBAmf+nRcXFz0XAZcLCgoL/mkLGw4NHgwXFwFjAcH+nhc6FxcXAZYMGBAQGQsBlwsKCgsXOhf+nQAAAwAA/8AEAAPAAB8AOwBXAAABMS4BIyIGFRQWFzEXBzEOARUUFjMyNjcxNz4BNTQmJwMiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAdAGEQkUHAgImZkICBwUCREGwAgICAiQal1eiygoKCiLXl1qal1eiygoKCiLXl1qVkxMcSAhISBxTExWVkxMcSAhISBxTEwCkwYHHBQLEgaNjQYSCxQcBwawBhMKChMGAd0oKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8YCEgcUxMVlZMTHEgISEgcUxMVlZMTHEgIQAAAAMABP/EA/wDvAAcADkAVgAAJRYXFjY3Njc2NzYmJyYnJicmBgcGBwYHBhYXFhcDNjc+ARcWFxYXHgEHBgcGBw4BJyYnJicuATc2NxcxFBY7AQcGFBcWMj8BNjQvASYiBwYUHwEjIgYVAQBcZWW9UlE1NQwMMz08XFxlZb1SUTU1DAwzPTxcYytBQZhRUEpJMTApCgkqK0FBmFFQSkkxMCkKCSp9HhXVOQ8PDyoPkQ8PkQ8qDw8POdUVHgU1DAwzPTxcXGVlvVJRNTUMDDM9PFxcZWW9UlE1AohJMTApCQoqK0FBmFFQSkkxMCkKCSorQUGYUVBKzRUeOg8qDw8PkQ8qD5EPDw8qDzoeFQABAAD/wAQAA8AAVwAAExEUFjMhMjY1NCYrATY3PgE3NjMyFx4BFxYVFAcOAQcGIyInLgEnJicuAScmIgcOAQcGFBcWFx4BFxYzMjc+ATc2NTQnLgEnJiMiBw4BBwYHNTQmIyIGFQAcFAEAFBwcFI4cJiZbMjM2VkxMcSAhISBxTExWPzs7ZScnGQMOCQgTCQoNAwQEHTEwfEhJTmpdXYspKCgpi11daj87PGouLiQcFBQcA3D/ABQcHBQUHC0jJDINDSEgcUxMVlZMTHEgIRISRC8wOgkOAwQEAw4JCBMJSDs6UxcWKCmLXV1qal1diykoDw43KCgyhhQcHBQAAAAAAQDt/+ADBAOKABgAAAkBNjQnJiIHAQ4BFRQWFwEeATMyNjc2NCcBogFiFxcXPRf+agwKCgwBlgwaDg4eCxcXAcABYhc6FxcX/moMGBAQGQv+aQsKCgsXOhcAAAADAAD/wAQAA8AAHwA7AFcAAAEiBgcxBw4BFRQWHwExHgEzMjY1NCYnMSc3MT4BNTQmAyIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYCUAkRBsAICAgIwAYRCRQcCAiZmQgIHGRqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpWTExxICEhIHFMTFZWTExxICEhIHFMTAKgBwawBhMKChMGsAYHHBQKEwaNjQYSCxQcASAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8YCEgcUxMVlZMTHEgISEgcUxMVlZMTHEgIQAAAwAE/8QD/AO8ABsAOABUAAABJicuAQcGBwYHDgEXFhcWFx4BNzY3Njc+AScmAQYHBiYnJicmJyY2NzY3Njc2FhcWFxYXFgYHBgcDIzc2NCcmIg8BBhQfARYyNzY0LwEzMjY1MTQmA7s1UVK9ZWVcXDw9MwwMNTVRUr1lZVxcPD0zDAz+3UpQUZhBQSsqCQopMDFJSlBRmEFBKyoJCikwMUka1TkPDw8qD5EPD5EPKg8PDznVFR4eAsBcPD0zDAw1NVFSvWVlXFw8PTMMDDU1UVK9ZWX9+SoJCikwMUlKUFGYQUErKgoJKTAxSUpQUZhBQSsBljoPKg8PD5EPKg+RDw8PKg86HhUVHgAAAAMAbgBSA5IDdwAbADgAVwAAASEiBgcOARURFBYXHgEzITI2Nz4BNRE0JicuARcRFAYHDgEjISImJy4BNRE0Njc+ATMhMhYXHgEVBxUUBiMiJjUnBwYiJyY0PwEjIiY1NDY7ATIWFx4BFQLu/iQTIA0ODQ0ODSATAdwTIA0ODQ0ODSCRGBgYOiL+JCI6GBgYGBgYOiIB3CI6GBgYnBUQDxUB3gseCgsL3ngPFhUP0QgNBQUGAy4ODQ4gE/4lEyAODQ4ODQ4gEwHbEyAODQ5c/iUiOhgZGBgZGDoiAdsiOhkYGBgYGToiH9EQFBQQed8KCgseC94WDxAUBQUFDgcAAAABACL/6APYA6QAaAAAAScmIgcGFB8BIREXHgEzMjY3NjQvAS4BIyIGDwEGFBcWMj8BESE3NjQnJiIPAQ4BFRQWHwEeATMyNjc2NC8BIREnJgYHBhQfAR4BMzI2PwE2NCcmIg8BESEHBhQXHgEzMjY/AT4BNTQmA8ySDSMMDQ1G/uZGBhEJCQ8GDQ2QBhEJCQ8Gkg0NDSUMRv7mRg0NDSMOkAYICAaQBhEJCQ8GDQ1GARpGDSMODQ2SBg8JCREGkA0NDSUMRgEaRg0NBg8JCQ8GkgYGBgHikg0NDSMOSAEgRgYGBgYNIw6QBggIBpANIw4NDUb+4EgNIw4NDZIGDwkJEQaSBgYIBg0hDkj+5kYNAQwNJQyQBggIBpANJQwNDUYBGkgNIQ4GCAYGkgYRCQkPAAAAAAMAAP/ABAADwAAcADkAUwAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJiMRIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGIxMFDgEXHgEfAh4BFxYyMzI2NxM2JicuAQcCAGpdXYspKCgpi11dampdXYspKCgpi11daldNTXIhIiIhck1NV1dNTXIhIiIhck1NV7f+RAoKAgMQC6QNAQ8LAgMCCRAF7QUDCAgWCgPAKCmLXV1qal1diykoKCmLXV1qal1diyko/FoiIXJNTVdXTU1yIiEhInJNTVdXTU1yISICg+0FFQsKDwEOowsRAgEJCQG9CRYICAMFAAADAAD/wAQAA8AAPABYAGQAAAEjJicuAScmJzU0JiMiBh0BBgcOAQcGByMiBhUUFjsBFhceARcWFxUUFjMyNj0BNjc+ATc2NzMyNjU0JiMBIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAyIGFRQWMzI2NTQmA847CB4eXT09Rh0VFR1GPT1dHh4IOxUdHRU9CR8eXTw8RB0VFR1EPDxdHh8JPRUdHRX+Mj84OFMYGBgYUzg4Pz84OFMYGBgYUzg4P0ZjY0ZGY2MB8kY+PV8fHwg2FR0dFTYIHx9fPT5GHRUVHUQ7O1weHQlCFR0dFUIJHR5cOztEHRUVHf6iGBhTODg/QDc4UxgYGBhTODdAPzg4UxgYAdtjRkZiYkZGYwADAAD/wAQAA8AAHAA5AFYAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYjESInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBiMBFAcOAQcGIyInLgEnJjU0Nz4BNzYzMhceARcWFQIAal1diykoKCmLXV1qal1diykoKCmLXV1qWE1NcyEhISFzTU1YWE1NcyEhISFzTU5XARcWFkszMzo6MzNLFhYWFkszMzo6MzNLFhYDwCgpi11dampdXYspKCgpi11dampdXYspKPxZISFzTU1YWE1NcyEhISFzTU1YWE1NcyEhAac6MzNLFhYWFkszMzo6MzNLFhYWFkszMzoAAAIAAP/ABAADwAAbAFcAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYDNTQmIyIGHQEmJy4BJyYnMzI2NTQmKwE2Nz4BNzY3FRQWMzI2PQEWFx4BFxYXIyIGFRQWOwEGBw4BBwYCAGpdXosoKCgoi15dampdXosoKCgoi15dOB0VFR1GPj5fHx8JcRQdHRRxCR8fXz4+Rh0VFR1GPj5fHx8JcRQdHRRxCR8fXz4+A8AoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj8ZnEUHR0UcQkfH18+PkYdFRUdRj4+Xx8fCXEUHR0UcQkfH18+PkYdFRUdRj4+Xx8fAAQAAP/ABAADwAAjAEAARAB1AAABLgEvAS4BJy4BIyEiBgcOARURFBYXHgEzITI2Nz4BNRE0JiclNDY3PgE7ATIWFx4BHQEUBgcOASsBIiYnLgE9AQEhESETIxE0JicuASMhIgYHDgEVESMRMxEUFhceATMhMjY3PgE1ETIWFx4BHwEeARceARURA/MHEAm7CRoQEB0N/ZUNFwkKCQkKCRcNA4ANFwkKCQcG/bgDAwMIBIAECAMDAwMDAwgEgAQIAwMDAVX+AAIAq1YJCQoWDv3WDhYKCQlWVgkJChYOAYANFwkJCgUNCAgLA7wDBwMDBAKlEBoJuwkQBwYHCQoJFw38gA0XCQoJCQoJFw0Caw0dELAFBwMDBAMEAwcF1QQIAwMDAwMDCATV/MABAP8AARYNFwkJCgoJCRcN/uoDVv7qDRcJCQoKCQkXDQEWBAMDBwO8AwsJCA0E/aoAAAIAAP/AA/0DwABGAHcAAAEuASciJiMiBg8BDgEjIiYvAS4BNTQ2PwE+AScuAScuASMiBgcOAQcUFhcBDgEXHgEfAR4BMzI2NwEeATMyNjc2Nz4BJyYnAw4BIyImJy4BIyIGBwEnAT4BJy4BNT4BNz4BMzIWFwcOARUUFh8BHgEzMjY/ARYGBwPgBRYNAwUDCxQIqwIGAwMGAmACAwMCqwkIAgMRDSVOJkF4Ly4uAQoK/t8LCQEBCQm1CRgMDBgJASEePB5BeC8lFhcPBwgVgR9VMBYtFwcPCBMjDv72iAELEwwICAcBIR8fVTAOGw57EBEREGAQKRYXKBB8DB8pAr4NEQMBCQerAgMDAmACBgMDBgKrChoODRYFEBAuLy51QB8/H/7fChoOCxUItQoJCQoBIQoKLi8lLi5lNTQy/sMfIggHAgMPDf71iAEKFDQaGDAXLlIfHyIDA3oQKRcWKRBgEBEREHs+dCkAAAAFAAD/4gP8A6oAJAAoACwAOgBJAAABIzU0JiMhIgYdASMiBhURFBY7AQcGFjMhMjY9ASczMjY1ETQmJSEVIQMTIRM3IycuASMhIgYPASMRIQUzMjY1NCYrASIGFRQWMwPQ3hEL/lAKEt4SGhoSqBoDFQ4CSA0THKoSGhr9cAFY/qhCLAGELLqMDgETDP4kDBICDowDUP00jBMZGROMExkZEwMKhAoSEQuEGhL+BBIYsA8XFA4IrBgSAfwSGlZW/SoBAP8A2lwMEBAMXAGmmxkSEhkZEhIZAAAEAAD/wAQAA8AACwAZADUAUQAAASIGFRQWMzI2NTQmByIGHQEUFjMyNj0BNCYDIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmAyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgIAGiYmGhomJRsaJiYaGiYlG2pdXYspKCgpi11dampdXYspKCgpi11dalZMTHEgISEgcUxMVlZMTHEgISEgcUxMAsAmGhomJRsbJcAlG8AaJiYawBomAcAoKYtdXWpqXV2LKSgoKYtdXWpqXV2LKSj8YCEgcUxMVlZMTHEgISEgcUxMVlZMTHEgIQABAFwAIgOsA3EAGQAAASYiBw4BFwEmBgcGFBcWMjc+AScBFjY3PgEDrCRlJBoODf35IEcaJCQjZSQaDgwCBiFGGyMBA3EkJBpGIf36DA0aJGUkJCQaRyACBgwOGiNmAAACAAn/9APnA3wAGgA0AAAlJgYHJy4BJyYGBwYWFxY2NxceARcWNjc2JicBLgEHDgEXByYiBw4BFx4BNz4BJzcWNjc+AQKdKFAc8QMxKDZpFBQwNyhQHPEDMCg3aRQUMDcBSiFyMCMeB9QiUiMwFSEhcjAjHgfUIlIjMBX7DhMdWShDDxQxNjdpFA8UHFkoQg8UMDc2ahQCXTAVIRhNJ5IUGSFyLzAVIRhNJ5IVARkgcwAAAAAGAAAAVQQAAysACwAXACMAMQBAAE8AABMiBhUUFjMyNjU0JgMiBhUUFjMyNjU0JgMiBhUUFjMyNjU0JhMhMjY1NCYjISIGFRQWBSEiBhUUFjMhMjY1NCYjESEiBhUUFjMhMjY1NCYjYyk6OikpOjopKTo6KSk6OikpOjopKTo6vgJ0GycnG/2MGycnAo/9jBsnJxsCdBsnJxv9jBsnJxsCdBsnJxsDKzopKTo6KSk6/vg6KSk6OikpOv74OikpOjopKToBaycbHCYmHBsnhCcbGycnGxsn/vgnGxwmJhwbJwAAAAAIAAAAAAQAA4AACAARABoAIwAyAEcAUwBwAAABFw4BByc+ATcHHgEXNy4BJwclHgEXNy4BJwcnFz4BNycOAQcHDgEHFz4BNz4BNycOAQcTFAYHAzAnLgEnJjUuATU0NjMyFhUjNCYjIgYVFBYzMjYXIwczFwceARU3FyE3HgEXNy4BJzczLgEnIwMhAwGiGBIiEQ0OHQ+/EiUTAQ8cDhIB+A4bDR0RIxINhRMPHQ0FESQSZwULBR8GDAYIEAgdCRIKsQkIjxYXNhcWCAheQkJeQDgoKDg4KCg44JYhiUUWEhIGPPyyQAIDASIFCgRAiQoQB5bABADAASo8BgsDPgMJBk0FBQFAAQQEPnADCQc5CQwEPzQ9BQYBQAIHBjADBgM4AwcEBQkEOQUKBgGPFCQR/uksLGosLAEQIhNCXl5CKDg4KCg4OHhAzxkQGAEFtMABAgE2AwcEwBQgDP3AAkAABgAAACAEAANgAA0AGQApAC0AMQA1AAABIgYVFBYXGwE+ATU0JgMiJjU0NjMyFhUUBhMXByc3JwcnBycDBSUFJScBJzcXFwc/ARc1HwEDQEJeCAeRkQcIXkIoODgoKDg4CDqUMQkeEMDAgMABAAEAAQABAGz9VpR7SsWzLoVAhS4DYF5CEiIP/uMBHQ8iEkJe/wA4KCg4OCgoOP7RdEr3CjwQgICA/oCAgICA2P77SvdKklrnWebmWecAAAAIABr/wAPmA8AAdQCJAJwAsADGANkA8wD/AAABDgEPAQ4BBx4BFRQGBw4BBz4BNw4BIyImJy4BJxwBFRQGBw4BIyImJy4BNTQ2Nz4BMzIWFy4BJyYiIyIGBz4BNz4BMzgBMToBMT4BNyImIzgBOQE4ATEiBw4BBwYVFBceARcWMzgBOQE4ATEyNz4BNzY1NCYnJQ4BBw4BBw4BBw4BBzY3PgE3NjcDPgE3DgEVFBYXLgEnLgE1NDY3Ax4BFx4BFx4BFx4BFyYnLgEnJicBOAExIiYnLgEnHgEzMjY3DgEHDgEjNz4BNz4BNz4BNz4BNwYHDgEHBhMyNjc2Nz4BNzY1NCYjIgYVFBceARcWFx4BAzQ2MzIWFRQGIyImA64JFAsGCRIJIyY8NhInFQQFAQIEAgcNBQMRCwcHJlEqKlEmBwcHByZRKhAfDwoTCAYNBiVJIwYOCBk9HwEBBg8KCBEIZFlYhCcmJieEWFlkZFlYhCcmHRv9xQoRCAwUCCA8GhIfDhAZGkEoJy2mEicVBQYGBRUnEjY8PDZaDh8SGjwgCBQMCBEKLScoQRoZEAGNHz0ZCA4GI0klJkgjBg4IGT0fjQoRCAwUCCA8GhIfDhAZGkEoJy4CBAEMHR0+GBhuTU1uGBg9Hh0LAgRjOyopPDwpKjsCiBEiEQkOGwwWMRkfPRkIDgYbOR4BAQYGAxQOBAgEKlEmBwcHByZRKipRJgcHAQEQIhABBgUVJxI2PBEgDwEmJ4RYWWRlWFmEJiYmJoRZWGU9czKrDh8SGjwgCBQMCBEKLScoQRkaEP7oCA4GI0klJkkiBg4IGT0fHz0Z/v4KEQgMFAggPBoSHw4QGRpBKCct/ug8NhInFQYFBQYVJxI2PBgOHxIaPCAIFAwIEQotJyhBGhkBoQECDiYmXTAwIU1ubk0hMDBdJiYOAgEBRio7OyoqOzsACgAA/8AEAAPAAAQAEwAfAE4AVgBaAGIAZgBuAHIAAAEjNTMVAxQGBwsBLgE1NDYzMhYVIzQmIyIGFRQWMzI2BREUBiMhIiY1ETQ2OwEOARUUFhcjFTMXIxEhESM3FSE1NCYrAT4BNTQmJzMyFhUBIxUUFjsBNREjETMRIyIGHQEzNQEhFSElIRUzMjY9AREhESEDgICA4AgHkZEHCF5CQl5AOCgoODgoKDgBoEs1/QA1S0s1owECAgIkdyGYAYAYWAEAJhqjAQICAaM1S/zAgCYaQICAQBomgAHA/oABgAFA/wDAGib/AAEAAUCAgAHgEiIP/uMBHQ8iEkJeXkIoODgoKDg4OP2ANUtLNQKANUsIEAgIEAjAQP8AAQCsbIAaJggQCAgQCEs1/gCAGibAAUD/AAIAJhqAwP3AwMDAJhqAAUD/AAAAAAIANP/AA8wDwAAtAGkAABM0Njc2Fh8BETQ2MzIWHQE+ATMyFhc+ATMyFhc+ATMyFhUXFAYrASImLwEuATUjMRQWHwEUFhceARceATsBMjY3PgE9ATQmIyoBIy4BIyIGIy4BJy4BJzU0JiMiBhURIiYjJgYHDgEVOQGDDw8cSRkfNCUlNAoXDB0sCgsYDSEwBgoWDSQ0AXBPvytbHcILDE8WFcICARQxGx8/Hb80YiUoK2NFAQEBF0QmBAkFBAgFDh8RYkZFYwIFAiE/GRseAW8SIw4YBBwjAZElNDQl0AYGIBgGCCofBgY0JdpHZC4d2g0eEB86F9oBAgETIg0PECQiJF0z2kZiHCEBBAYDCg4DeEVjY0X+/gECFhYYQiQAAAIAR//xA7oDjQByAOYAAAEyBhcWBhcWMjMyNjc+ATc+ATMyFhcWBgcOARc4ATEyNjc+ATMyFjMWBgcOAQcOAQcOASMiJicuAScuAScuAScmNjcwMjEyFhceATM6ATc2JicuAScuATc+ATM6ATMeARceARcwFjMyMDE2JjUuATc2MjM1KgEHDgEHDgEHLgEnKgEjIgYHBhYXHgEXHgEXJiIjKgEjDgEHDgEXHgEXHgEXHgEXHgEXHgEXHgEXHgEzMjY3PgE3PgE3PgE3PgE3PgE3PgE3PgE3PgEnLgEnLgEjIgYHPgEnLgEjIgYHDgEjLgEnLgEjMQIANQECAgEVAQEBGQ0EBQ0QBxAJER8GCBoFBhEhEhUKCh0aAgUCKxoLJDIlBREDDYgPHGoeDSsLJiooECsBAScNARcoDwcrEQEDAREXBhQhEQgWAgIhFAEDASMdDAgUEBAFARADAQg4AwYDBgsGKzsKAQIBEiQOAwYDM0oFAxMLAgMCBAoFBQgFAQIBGDESEBEBAiQVBQoDGB8RCRcOAQMCGywcG1tECTIcOC0OExAFAwYDAQQBEx4ODR0SAQEBDRYYDCkaBQsFCBAHBwEJDkMqFSUPAQMBBAsHESwaA0KBOitpAwF3FSFoCwQEDg0WbRslaAEtGhstAQdeHGSKZA00AQgFBAkEOA80QDETLA8WHAEkDwYzAQdBEDFMKhQ0ERYZA1YcFTUbGQOAGzx8CAFLAQc4LQcOCBANAUIxHDcZBAgEDBcLAQEYExIsFyAwFwULBB4rFw4gEwIEAiYxCAkHAQEDCggLHg4HEQgGCQMzUyclTzECBQIhXSoVGwQBAQICJDgXISgKCgECCBAHEhEAAAUAFABUA+YDsAAtADEANQA5AD0AAAEnLgEjKgEPAScuASMqAQ8BDgEVERQWMzI2PwEXHgEzMjY/ARceATMyNjURNCYBBxE3EycRFxMHETcTJxEXA9DgAwgFBAkD0tIDCAUECQPiCgwVEQQHBdLSAwgFBAkD0tAEBwUQFgv9G5aW4paW4paW4JSUA0ZoAQECYmIBAQJoBBUL/VgPFwICYGABAwICYGABAxcPAqgKFf25RAJURv1mRAJWRv3wRAJURv1mRAJWRgAAAQCCAIgDeAN+AB8AAAEyFhUUBisBFRQGIyImPQEjIiY1NDY7ATU0NjMyFh0BAzgbJSUb+CcbGyf4GycnG/gnGxsnAkQnGxsn+BslJRv4JxsbJ/gbJycb+AAAAAADACX/5QPbA5sAOABUAHAAAAEuASMiBgcOAR0BIyIGBw4BFRQWFx4BOwEVFBYXHgEzMjY3PgE9ATMyNjc+ATU0JicuASsBNTQmJyUGBwYUFxYXFhcWMjc2NzY3NjQnJicmJyYiBwYBBgcGIicmJyYnJjQ3Njc2NzYyFxYXFhcWFAcGAiAGEQkJEQYHCZwKEgcGBwcGBxIKnAkHBhEJCREGBwmcChIHBgcHBgcSCpwJB/52SyYlJSZLS15fxF9eS0smJSUmS0teX8RfXgJFPUxNoE1MPT0eHx8ePT1MTaBNTD09Hh8fHgKvBgcHBgcSCpwJBwYRCQkRBgcJnAoSBwYHBwYHEgqcCQcGEQkJEQYHCZwKEgd7S15fxF9eS0smJSUmS0teX8RfXktLJiUlJv0lPR4fHx49PUxNoE1MPT0eHx8ePT1MTaBNTAAAAAQALP/eA9kDhwADACAAKAAvAAABIREhJTUzFTM1MxUzNTMVMzUzFTM1MxUzNTMVMzUzFSEBMSMnNyEXByc3JyMHFzMD2fxTA638jlg7Ojs7Ozs7Ozo7O1j8yQElGIuLARWKijFaWrRaWrQBP/6fO+t2djs7dnY7O3Z2OzvrAY7w8PDwVJycnJwAAAAAAwAc/94D2QMKABoAHgA7AAABNCYjIgYHIS4BJyIGFRQWMzI2NyEeATMyNjUTIREhJTUzFTM1MxUzNTMVMzUzFTM1MxUzNTMVMzUzFSED2DkoHi8M/bgLMB0pOTkoHjALAkgMLx4oOQH8UwOt/I5YOzo7Ozs7Ozs6OztY/MkCqCg5IBkZIAE5KSg5IBkZIDko/pf+nzvrdnY7O3Z2Ozt2djs76wABAH4BvAN+AkgADQAAASEiJjU0NjMhMhYVFAYDOP2MHigoHgJ0HigoAbwoHh4oKB4eKAAABAAl/+UD2wObAA4AHQA5AFUAAAEzMjY3PgE1NCYnLgErATMhIgYHDgEVFBYXHgEzIQEGBwYUFxYXFhcWMjc2NzY3NjQnJicmJyYiBwYBBgcGIicmJyYnJjQ3Njc2NzYyFxYXFhcWFAcGAjCcChIHBgcHBgcSCpwI/vwKEgcGBwcGBxIKAQT+XksmJSUmS0teX8RfXktLJiUlJktLXl/EX14CRT1MTaBNTD09Hh8fHj09TE2gTUw9PR4fHx4BkAkHBhEJCREGBwkJBwYRCQkRBgcJAZpLXl/EX15LSyYlJSZLS15fxF9eS0smJSUm/SU9Hh8fHj09TE2gTUw9PR4fHx49PUxNoE1MAAAAAAMAVgB+A6YDhgANABsAKQAAEyImNTQ2MyEyFhUUBiMVMhYVFAYjISImNTQ2MwEyFhUUBiMhIiY1NDYznB4oKB4Cwh4qKh4eKioe/T4eKCgeAsIeKioe/T4eKCgeAvgoHh4qKh4eKK4qHh4oKB4eKv7CKB4eKioeHigAAAAHACL/4gPeA54AHQA3AEYAVgBlAIAAjgAAATEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYjAy4BJy4BJy4BJzMOAQcOAQcOAQcOASMiJicDHgEXHgEXJicuAScmJzMnNjc+ATc2Nw4BBw4BBzEjIS4BJy4BJxYXHgEXFhcjKwE+ATc+ATc+ATc+ATMyFhceARceARceARcxEz4BNz4BNzMGBw4BBwYCAGNXV4IlJiYlgldXY2NXV4IlJiYlgldXYxAHDwgIDwcSFwPwAxcSCRUKBQoFBQgDAwgFvwMaFQgQCjYtLkYWFge2tgcWFkYuLTYKEAgVGgO2AlQDGhUIEAo2LS5GFhYHtlfwAxYTCRUKBQoFBQgDAwgFBw8ICA8HEhcDAwoQCBUaA7YHFhZGLi0DniYlgldXY2NXV4IlJiYlgldXY2NXV4IlJvy5BA8LDBwSLnZCQnYuFyQMBggDAwICAwE+SoY3EiEOEh8gVjM0OlY6NDNWIB8SDiESN4ZKSoY3EiEOEh8gVjM0OkJ2LhckDAYIAwMCAgMEDwsMHBIudkL+Yg4hEjeGSjo0M1YgHwAADQAA/8AEAAPAACkAOgBNAF4AagB4AIQAlQCgAK4AuADJANwAAAEmJy4BJyYjIgcOAQcGBxwBHQEcARUWFx4BFxYzMjc+ATc2NzwBNTwBNQEOAQcOAQcOAQc2Nz4BNzY3ATQ2Nz4BNw4BFRQWFy4BJy4BNRceARceARceARcmJy4BJyYnAS4BJy4BJx4BFxUjES4BJy4BNTQ2Nz4BNxURDgEHPgE3PgE3FTEFLgEnLgEnLgEnFhceARcWFwEeARceARcuASc1Ex4BFx4BFRQGBw4BBzURNT4BNw4BBw4BNz4BNz4BNz4BNwYHDgEHBgcTDgEHPgE1NCYnHgEXHgEVFAYHBAABKSiLXV1paV1diygpAQEpKItdXWlpXV2LKCkB/UseLgwVJxMWJRAOFxc+JiYs/v44OwoWCwICAgIMFQo7OBEPJRcSJxUNLh8tJic+FxcNAYEdNxYPGQglTSkBLFUnAwQEAydVLChOJQkYDxc3HQHLDyUXEicVDS4fLSYnPhcXDf5/HTcWDxkIJU0pASxVJwMEBAMnVSwoTiUJGA8XN3MeLg0VJxIXJQ8NFxg+JiYsjwoWCwICAgIMFQo7ODg7AcVpXF2JKCgoKIpcXWkBAQECAQEBaV1ciigoKCiJXVxpAQIBAQQBAYssdEQEDAYIEAgvKypIHR0U/nEPLBQEBgMWLxgYLxYDBwMVLBB2CBAIBgsFRHQsFB0dSCsqL/7GDDksHUMlBQcB6QEzAQgHGjccHDYbBggC+gFDAQYGJUMeKzkM6VEIEQcGCwVEdCwUHR1IKisvAToMOSseQyUGBgHp/s4CBwcbNhwcNxoHCAH6/dPpAQcFJUMdLDkULHREBQsGCBAILyorSB0dFAFABAYDFy4YGC8WAwYEFCwPDy4UAAYAAAAOBAADcgAcACkARgBSAG8AfAAAEzU0JiMiBh0BDgEVFBYXERQWMzI2NRE+ATU0JicHIiY1NDYzMhYVFAYjBRE0JiMiBhURDgEVFBYXFRQWMzI2PQE+ATU0JicHIiY1NDYzMhYVFAYBNTQmIyIGHQEOARUUFhcRFBYzMjY1ET4BNTQmJwciJjU0NjMyFhUUBiPZGxMUGzZGRjYbFBMbNkZGNi4gLi4gIC0tIAGEHBMTHDVHRzUcExMcNUdHNS8gLi4gIC4uAWQbFBMbNkZGNhsTFBs2RkY2LyAtLSAgLi4gAvBUExsbE1QQWjo7Wg/+lBMbGxMBbA9aOzpaEPIuICAtLSAgLiYBbBMbGxP+lA9aOzpaEFQTGxsTVBBaOjtaD/EtICAuLiAgLQIJVBMbGxNUEFo6O1oP/pQTGxsTAWwPWjs6WhDyLiAgLS0gIC4AAAAGAEL/wAO/A8AAIQAlACkANwBFAFMAAAEjNTQmIyEiBh0BIyIGFRQWOwERFBYzITI2NREzMjY1NCYlMxUjASERIQERNDYzMhYVERQGIyImNxE0NjMyFhURFAYjIiYlETQ2MzIWFREUBiMiJgOPziYa/wAbJc8UHBwULyUbAkAaJi4UHBz9/sDAAWD+AAIA/tgWEhEXFxESFp0XEREXFxERF/7FFxERFxcRERcDIGAaJiYaYBwUFBz9QBslJhoCwBwUFBxAQP0AAqD98gFnEhYWEv6ZERcXEQFnEhYWEv6ZERcXEQFnEhYWEv6ZERcXAAADAHH/0QOPA68ARQCCAMkAAAUuAScxLgEnMS4BJzEuAScxLgEnMS4BNTE0NjcxPgEzMTIWFzEeARUxFAYHMQ4BBzEOAQcxDgEHMQ4BBzEOASM5ASImJzEDDgEVMRQWFzEeARcxHgEXMR4BFzEeARcxHgEXMT4BNzE+ATcxPgE3MT4BNzE+ATUxNCYnMS4BIzEiBgcxEyImJzEuATUxNDY3MT4BMzEVIgYHMQ4BFTEUFhcxHgEXMT4BNzE+ATUxNCYnMS4BIzE1MhYXMR4BFTEUBgcxDgEjMTgBOQEB6QYJBAkRCRImFChUIxglDAcHPzY2klJSkjY2PwsKCRoQH0wnGjEWDRgNBxEKBwsFwyoxBwgHFQ0aQyMXLBILEgcBAgEECgcNIhIlTyAWIQkGBTEqKnBAQHAq2jFWICAlJSAgVjEeNRQUFxcUFDUeHjUUFBcXFBQ1HjFWICAlJSAgVjErAgQDBAwHDyUXLXM+KVQpFy4WU5I2Nj8/NjaSUxs5HR07HTtvLx8zEwsRBgMFAwEDJSpxQBApFxcyGTNlKx0wEQoOBAEBAQIHBgohFSlsOSZLIRMiDkBxKioxMSr+OSYgIFYwMVYgICZbFhQUNR8eNRQUFgEBFhQUNR4fNRQUFlsmICBWMTBWICAmAAAFAHH/yAP2A68AGwAzAHAAngC/AAABLgEjIgYHDgEVFBYXHgEzOAExMjY3PgE1NCYnAw4BBy4BJy4BNTQ2Nz4BMzIWFx4BFRQGFz4BNT4BNz4BNTQmJy4BIyIGBw4BFRQWFx4BFx4BFx4BFx4BFx4BFx4BMzI2Nz4BNz4BNx4BMzI2NTQmJwcOAQcOAQcuAScuAScuAScuAScuAScuATU0Njc+ATMyFhceARUUBgcOAQcOAQcFIxUUBiMiJj0BIyImNTQ2OwE1NDYzMhYdATMyFhUUBiMCpyBWMTFWICAlJSAgVjExViAgJSUgQBQ1Hh41FBQXFxQUNR4eNRQUFxfJAQIQGgkKCz82NpJSUpI2Nj8HBwwlGCNUKBQmEgkRCQQJBgULBwoRBw0YDRAhEhRcOktqaEruEiINBwoEAQIBBxILEiwXI0MaDRUHCAcxKipwQEBwKioxBQYJIRYgTyUBNCoSDQ0TKQ0TEw0pEw0NEioNEhINAsYgJiYgIFYxMFYgICYmICBWMDFWIP7yFBYBARYUFDUeHzUUFBYWFBQ1Hx41mQEDAh07HR05G1OSNjY/PzY2klMWLhcpVCk+cy0XJQ8HDAQDBAIBAwUDBhELDSITM0JrS0ppArcVIQoGBwIBAQEEDgoRMB0rZTMZMhcXKRBAcSoqMTEqKnFADiITIUsmOWwpHioNEhINKhMNDRIqDRISDSoSDQ0TAAACAPn/1gMHA6UAHwAsAAABIgcOAQcGFRQXHgEXFhcRMxE2Nz4BNzY1NCcuAScmIwciJjU0NjMyFhUUBiMCADYwMEcVFRIRPSkpL0wvKSk9ERIVFUcwMDZLHywsHx8sLB8DpRQVRzAwNjIsLEUXFgf+OgHGBxYXRSwsMjYwMEcVFOEsHx8sLB8fLAAAAAMAZ//AA5kDwAAbAEIATgAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTQnLgEnJgE0Nz4BNzYzMhceARcWFRQGBzAGLwEuASMiBisBIgYPAQYmMS4BNSUyFhUUBiMiJjU0NgIAVUpKbyAhOjqSQUIQEEJCkTo6ISBvSkr+hhcYTzY2PD02Nk8XGDMrBwEyBRoPCAQFsBEYBTICBiszASgyR0cyM0ZGA8AgIG9LSlVUa2u8QUBAQbxra1RVSktvICD+cz02NVAXFxcXUDU2PT9vKQIDmQ8QAQ8PmAQCKG9A7kcxMkZGMjFHAAACAAD/wAQAA8AAPABmAAAJAS4BIyIGBw4BFwcuASMiBg8BDgEVFBYfAQMOARUUFjMyNjclFx4BMzI2PwE2Nz4BJyYnNxY2Nz4BNTQmByImJyYGDwEOARcWFxYGBwYHAT4BMzIWFxY2PwE+AScuATU0NjcXDgEjA/H+2gYTCQoSBickBmEjSSVQkjkHBwcHB8XsAwQTDQYKBAEnxQcRCgkSBwcqHBsXBAUVYDhrKQcICLgIEQgMGAiJCwUGFAcICRAPG/5WJ180IkUfDh8KiggHAgICCAjVECMSAosBJgcICAcpazhgDQ49OAcHEgkKEQfF/tkECgYNEwQD7MUHBwcHByo0M3A6OjdhBiQnBhIKChEkAgICBwiKCh8OJysqUygnIgGqHyEQEAYFC4kIGAwIEQgSIxDVCAgAAAAAAgAhADYD2wNxAAgADwAAJTEjAxMhEwMhAxMhEwMhAwEoGe7uAd7u7v47lrYBbLa2/pS2NgGeAZ3+Y/5iAZ7+xQE7ATr+xgAABAAA/8MEAAOkAD4AcQCeAMEAAAEOAQcWFx4BFxYXBgcOAQcGIyInLgEnJic2Nz4BNzY3LgEnBgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmJwcuAScxLgEnMSYnLgEnJicxNDc+ATc2MzEyFx4BFxYVMRQGBzEOAQcxDgEHMTUVLgEnMQMUFhcxHgEXMR4BFzEyMDcxPgE3MT4BNzE+AScxNCcuAScmIzEiBw4BBwYVMTM0NjMxFSIGFTEUFjMxMjY3MS4BIzE1MhYVMRQGIzEiJjUxApgRHg1ANDVRHB0PEiQkaEVEU1NERWgkJBIPHRxRNTRADR8QTkJCYBsbKCiLXl1qal1eiygoGxtgQkJOzgoVCxYwFxcVFiELCgEZGFM3OD9ANzhTGBg7JihUIgsVExIVC6ofGho/HA4ZBwEBBhAJEiwVKz8BEhE8KCguLSgoPBESJGxMKDs7KCk6AQE6KU1sbE1MbAEAGCgRBAgIFQsMCgwNDhcHCAgHFw4NDAoMCxUICAQRKBgIDg8pGRkbIh0eLA0MDA0sHh0iGxkZKQ8PBzsHEgsWOSAhIyNIJCQjPzg4UxgYGBhTODg/PX89O2AZBwsBKysBCwcBrRtWLS1UHg8WBQEEDQkTMx47hSguKCg8ERERETwoKC5MbVY6KSk6OikpOlZsTUxtbE0AAAAAAwBJ/8ADbgOuAFgAeQCJAAAlFAcGBwYHBiMiJyYnJicmNTQ3Njc2NzY3NhcWFxYHBgcGBwYHBgcGBwYHFhcWFxYXFhcWMzI3Njc2NzY3NjcmJyYnJicmJyYnJicmNzY3NhcWFxYXFhcWFQMVFAcGKwEVFAcGKwEiJyY9ASMiJyY9ATQ3NjsBMhcWFScUBwYjIicmNTQ3NjMyFxYDbiMkOjtGRktKRkY7OyMjExMhISIjKA8NDAMCCAkPIRwbEBELDAQEAQIODRwcJiU2Nzw9NzYlJRwcDg4CAQQFCwsREBscIQ8JCQMDDA0PKCIjISETE9wLCg8lCwsOkw8KCyUPCwoVFR/bHhYVNyUlNjUlJiYlNTYlJVIkHRwSEQkJCQkREhwdJBwXFhAPCgoHAwkJDw4NDQIGBwgHBwYHBAUCBwgJCgoJCAYGBgYICQoKCQkHAgQEBwcGBwgHBgINDQ4PCQkDBwoKDxAWFxwCANsPCwvbDwsLCwsP2wsLD9sfFRUVFR/cNSYlJSY1NSUmJiUAAAMAgP/AA4ADwAAyAFEAXQAAJRQHDgEHBiMiJy4BJyY1NDc+ATc2NxUOARUUFx4BFxYzMjc+ATc2NTQmJzUWFx4BFxYVASIHDgEHBhUUFx4BFxYXETMRNjc+ATc2NTQnLgEnJgciJjU0NjMyFhUUBgOAIiJtRUVFRUVFbSIiGBdQNDQ5YX8ZGVc6O0JCOzpXGRl/YTk0NFAXGP6ALikpPRESDw8zIyMpQCkjIzMPDxIRPSkpbhslJRsbJSWAMSUkLwwLCwwvJCUxKSAfLw4PBkEMQisbFxcjCgoKCiMXFxsrQgxBBg8OLx8gKQNAEhE9KSkuKiYlOxQTBv59AYMGExQ7JSYqLikpPRESwCUbGyUlGxslAAIAIP/AA+ADwAAlAEgAAAEGBw4BBwYHBgcOAScmJxEjETQ2MzIWFRYXHgEXFhcWFx4BFxYxARUeARUUBiMiJjU0Njc1DgEVFBceARcWMzI3PgE3NjU0JicD4DEsLE8jJCEdJCRRLS0wQBMNDRMbIyRTLi4vSDs7VBcX/cA5R4NdXYNHOVdpFRVNNDVAQDU0TRUVaVcCoBIRESscHCkkGBgTBgYY/qMDYA0TEw0nGBkcBgUBARQUMBMU/ldBCy4dKDg4KB0uC0EPUDgjHh0qDAwMDCodHiM4UA8AAAACASEAIgMEA2kAPQBVAAABFxYGBw4BDwEfARYGBw4BDwEwBiMuATEvARcwFgcOATEHBiYnLgEvAQcGJicuAS8BJjY3PgE/ATYWFx4BFycWBgcOAQcGJicuAScmNjc+ATc2FhceAQKIOgIBBAQLByNQLgICBAQLBxMPBgYOKjg8BAMCCi4HDgcGCQJwIwcOBwYJAjsEBAcHFw7UDhwNDRIEcAcGDQ0mGhowFxcfBwcGDQ0nGRoxFxceAkvTCA0HBwgCCpEoBw4HBwgCBQMBBhVWdQsJCQQNAgEEBAsHywoCAgQECgjTDxsODREEOwQDCAcWD8UaMRcXHgcHBg0NJhoaMBcXHwcHBg0NJwAAAgCjACwDTQN8AAwAcAAAAT4BJy4BBw4BFx4BNwUeATc+ATc+AScuAS8BLgEvAS4BBzAGMScuAS8BJiIHDgEHBhQXHgEfAR4BHwIwFjEXHgEfAR4BNz4BNz4BNTYmLwEuAS8BNxceARcWNjc+AT8BPgEnLgEHDgEPAS8BHgEfAQG+LioSEVouLykRElouAQsKGAsIDAUFBAICCwk6ChwKUwoUDo1tCRcFEwkTCQoPBAQEBA4JEgoeDZBKASoFFQxMCyAPBQgECAkBBwhMAwkBHRFBCRwRCRQJBgwGLRAEDgshEAQIBBM7LQIFAjoCnBFaLi8pERJaLi4pEcMHAwUCCgcJEwoKEQUmBxIGMQYDBTQbAgcCCAQDBA4KCRQKCQ4ECAQJBCOcAZoRJw1SDAgGAgUEBxMLChQIUgQQBWcGaA4SAwECAwMHBCcOLBENCAYBBQMRXl8CAwEmAAAABwAn/8ADswOuAIQAsQDJAOIBAwEbATwAACUUBgcOAQcOAQcOASMiJicuAScuAScuATU0Njc+ATc+ATc+ATc2FhceARcWBgcOAQcOAQcOAQcOAQcOAQcOAQceARceARceARceARceATMyNjc+ATc+ATc+ATc+ATcuAScuAScuAScuAScuAScuAScuATc+ATc+ARceARceARceARceARUDFRQGBw4BKwEVFAYHDgErASImJy4BPQEjIiYnLgE9ATQ2Nz4BOwEyFhceARUnFAYHDgEjIiYnLgE1NDY3PgEzMhYXHgEBNCYnLgEjIgYHDgEVFBYXHgEzMjY3PgE1MxQGDwEOAQcOASMiJicuAS8BLgE1NDY3PgEzMhYXHgEVATQmJy4BIyIGBw4BFRQWFx4BMzI2Nz4BNxQGDwEOAQcOASMiJicuAS8BLgE1NDY3PgEzMhYXHgEVA24SERIvHR1BIyNIJiVIIyNBHR0vEhESCgkJGhERIRESJRQIDQcGBwIBAwQFDAcRHg4NFggJDQYGCAICAgEBCAcHFA4OIRMSLhscOR4fORwbLhITIA4OFQcHCAEBAgICCAYGDggIFg0OHhEHDAUEAwEBCAYGDggUJRESIREQGgoJCtwFBgUNByUFBgUNB5MHDQUGBSUHDQYFBQoLCxoP2w8aCwsKNxITEy0bGi0TExMTExMtGhstExMSASAICAgUCwsUCAgICAgIFAsLFAgICDgEA08CBQMEBwQEBwQDBQJPAwQQERAnFxcnEBEQ/RsICQgTDAsUCAgICAgIFAsMEwgJCDcDBE8CBQMEBwQEBwMEBQFPBAQREBAnFxcnERAQUhIgDw4XCQkNBAUEBAUEDQkJFw4PIBIOGgsLEwgIDAUFCQMCAwUEDAgHDgYGCAEDBgQEBwQDBwMEBQIDAwEDCAQFCQUFCgQEBwMDAwMDAwcEBAoFBQoEBQcEAQMCAgYDAwcDBAcEBAYDAQgGBg4HCAwEBQMCAwkFBQwICBMLCxoOAgDbCAwGBQbbCAwGBQYGBQYMCNsGBQYMCNsPGgsLCgoLCxoP3BstExMSEhMTLRsaLhITExMTEi7+hgwTCAkICAkIEwwLFAgICAgICBQLDBMHqAQFAgICAgICBQSoBxMMFycREBAQEBEnFwEOCxQICAgICAgUCwsUCAgICAgIFAsMEwinBAYCAgICAgIGBKcIEwwXJxAREBARECcXABgAHgAQA+IDhABcAGAAZABqAHAAmACcAKAApgCrAR0BIQEmASoBMAE5AUIBdwF7AX8BiAGRAZUBmgAAEzMyFh0BMzIWHQEzPgE7ATIWFzM1NDY7ATU0NjsBMhYdATMyFhUTMzIWHQEUBiMhIiY9ATQ2OwE1Iw4BKwEiJicjFTMyFh0BFAYjISImPQE0NjsBEzQ2OwE1NDYzFyMVMyUjFTMFIwMzESMhIxEzAyMHLgErASIGBxYGBw4BFREUFhceAQceATsBMjY3PAE3PgE1ETQmJyY0ByMRMxMjETMFIxUhNSEhIxUhNQUiJjUxNTQ2MzEzNSMOASMxIyImJzEjFTMyFhUxFRQGIzEhIiY1MTU0NjMxMxM0NjMxMzU0NjM5ATMyFhUxFTMyFhUxFTM+ATMxMzIWFzEzNTQ2MzEzNTQ2MzEzMhYVMRUzMhYVMRMzMhYVMRUUBiMxITchNSEFITUhFTczESMBMwMjETEnFzUuAScxFTMXNzE1DgEHMRUnOAE5ATQ2NzE2NDUxETwBJzEuATUxOAE5ASM4ATkBFAYHMRQGFTERFBYVMR4BFTE4ATkBMzczESMDMxEjNz4BNzE1ByMVMzUxJxUeARcxNzM1IwUzNSMVtokFCSMGCDkGFQxEDBUGOQgGJAgGiAYIIwYIIhsFCQkF/qIGCAgGGjkGFQxEDBUGORoGCAgG/qIFCQkFGyIIBiMIBnttbQILbGz9eiQh8awCDCTxIaySAwcERAQHAwEBAQEBAQEBAQEDBwREBAcDAQEBAQEBfzMz0TMz/eEbAUP+2AItGwFD/rAMEREMDCQIGA5EDhgIJAwMEREM/qILERELDiERCxURC4kLERUMECQIGA5EDhgIJBAMFREMiAwQFQsRIQ4LEREL/qIcASX+2/3TASX+2yrTtQIN0x617AIBAQEBfgMBAQEcAQEBAQEBRAEBAQEBAUQ8FhbSFxczAQEBAgGCAwEBAZ1QUP30UFADdggGNggGdwoMDAp3Bgg2BggIBjYIBf3WCAbABggIBsAGCFsKDAwKWwgGwAYICAbABggCKgUINgYIHCgoKBz95QIb/eUCG3YEAwMEAQQCAgUD/uUDBQICBAIDBAQDAgQCAgUDARsDBQICBA7+4QEf/uGSpaWlpdARDMAMET0KDAwKPREMwAwREQzADBECGwwPKAsREQsoEAxpCwsLC2kMECgLERELKA8M/eURDMAMETmIiIiIwQH+/gIB/v4CWgQEAgQCCAQECAIEAgQKAQMCAQIBARsBAgECAgICAgIBAgH+5QECAQIDARYBA/79AQMUAgQCBAQICAMDAgQCqQwMDAwAAAAAAgAk/90D8wOsAAMAIAAACQMBJzcXNyc3FzcnNxc3JzcXNyc3FzcnNxc3JzcXAQLp/TsBCgLF/TuxQlksWCwsLCwsWSxYLCwtLS1YLFgsLC0tQ7H9lAOs/Tv+9gLF/ZSxQ1ksWSwsLCwtWSxZLCwsLSxZLVgsLCwtQrH9lAAAAAADAAD/3AQAA6QABgAbADwAABMRIREhESEBIzUzNSM1MzUjNTM1IzUzNSM1MxEBIzUjFSM1IxUjNSMVIzUjFSM1IxUjNSMVIzUjFSM1IRUAAW8CkfwAATL1UVGOjlFRUVH1ApE3PT09PT09PD09PT09PTcDhgOk/DgCWQFv/HU3PT09PT09PTr95AJZUVGOjlFRUVGOjlFRUVH19QAGAEv/wAO1A8AABgA8AFcAZAB/AIsAAAE4ATE4ATEnLgEnISIGHQEUFjMhMhYdARQWOwEyFh0BFAYjIQ4BBw4BByEyNj0BNCYrATU0JiMhNSEiJicFIgYVFBceARcWFx4BMzI2NzY3PgE3NjU0JiMVIiY1NDYzMhYVFAYjASIGFRQXHgEXFhceATMyNjc2Nz4BNzY1NCYjFSImNTQ2MzIWFRQGAzUvBw0G/ZwZJCQZAWYCBCUaogUICAX+pAgSCAIFAwGIITAwIZ0sHv6iAqUPGQf+IjVLDAwjExIOAwkGBQoDDRMTIgwNSzUYIiIYGCEhGAINNUsMDCMTEg4DCQYFCgMNExMiDA1LNRgiIhgYISECKhoKFgskGUgZJAMDZBolCAbkBggOHQ0EBQMwIuQiMF8fLDgODP1KNRUfH0MgHxUFBQUFFSAfQx8fFTVKviEYGCEhGBghAzdLNRQfH0MgHxUFBQUFFR8gQx8fFDVLvyIXGCIiGBciAAAAAAgAJf/lA9sDwAAQACEAMgBDAFQAZQB2AIcAACUUBwYjIicmNTQ3NjMyFxYVBRQHBiMiJyY1NDc2MzIXFhUBFAcGIyInJjU0NzYzMhcWFQEUBwYjIicmNTQ3NjMyFxYVARQHBiMiJyY1NDc2MzIXFhUBFAcGIyInJjU0NzYzMhcWFQEUBwYjIicmNTQ3NjMyFxYVBRQHBiMiJyY1NDc2MzIXFhUBLRYVHx0WFhYVHh8VFgEcFRYeHhYVFRYeHhYV/m4WFR4fFRUVFR8eFRYCrxYWHR8VFhYVHx4VFv3ZGxsmJRsbGxslJhsbApwVFR8eFRYWFR4fFRX+kyAgLi4gICAgLi4gIAEvJiY0NiUlJSU2NCYmox4VFhYWHR8VFhYVH3UfFRUVFR8eFRYWFR4Bkh4WFRUWHh4WFRUWHv7jHRYWFhUeHxUWFhUfAjomGxsbGyYlGxsbGyX+4x4WFRUWHh4WFRUWHgGSLSAgICAtLiAgICAudTYlJSUlNjQmJiYmNAAAAAABAdwCjQIkA1oADwAAATEyFh0BFAYjMSImPQE0NgIADxUVDw8VFQNaHhZmFR4eFWYWHgAAAQLNAZwDmgHkAA8AAAExFAYrASImNTE0NjsBMhYDmh4WZhUeHhVmFh4BwA8VFQ8PFRUAAAECsQDuA2MBXwAPAAAlMQ4BLwEuATcxPgEfAR4BA2MIJBNYEw8HCCQTWBMP8w0DCzMLIQ0MBAszCyEAAAECYQBdAtIBDwAQAAAlMQYmLwEmNjcxNhYfARYGBwLNDSELMwsEDA0hCzMLAw1dBw8TWBMkCAcPE1gTJAgAAAABAdwAJgIkAPMADwAAJTEiJj0BNDYzMTIWHQEUBgIADxUVDw8VFSYeFmYVHh4VZhYeAAAAAQEuAF0BnwEPAA8AACUxLgE/AT4BFzEeAQ8BDgEBMw0DCzMLIQ0MBAszCyFdCCQTWBMPBwgkE1gTDwAAAQCdAO4BTwFfABAAADcxJjY/ATYWFzEWBg8BBiYnnQcPE1gTJAgHDxNYEyQI8w0hCzMLBAwNIQszCwMNAAAAAAEAZgGcATMB5AAQAAATMTQ2OwEyFhUxFAYrASImNWYeFmYVHh4VZhYeAcAPFRUPDxUVDwABAJ0CIQFPApIADwAAEzE+AR8BHgEHMQ4BLwEuAZ0IJBNYEw8HCCQTWBMPAo0NAwszCyENDAQLMwshAAABAS4CcQGfAyMADwAAATE2Fh8BFgYHMQYmLwEmNgEzDSELMwsEDA0hCzMLAwMjBw8TWBMkCAcPE1gTJAACACT/4APWA6wAFwA4AAABMhYVERQGIyEiJjURNDYzMhYdASE1NDYBBiInJjQ/AT4BMzIWHwEWFAcOASMiJi8BERQGIyImNREDoBYgHxf8vBYiIRcWIALYH/2/ECsREBDcBxQLChQI3BAQBxQLChYIfh8XFiABch8X/toWIB8XASYWIB8X7u4WIAECEBAQKxHcBwkICNwQKxEHCQgIfv4sFiAfFwHUAAAEAAD/wQP/A74ADwATADsAZAAAASEiBhURFBYzITI2NRE0JgMhESEBIxEzMjY3NiYvASYiDwEOARceATsBESMiBgcGFh8BFjI/AT4BJy4BAR4BNz4BPQEhFRQWFxY2PwE2NC8BLgEHDgEdASE1NCYnJgYPAQYUHwEC2v1ZFR4eFQKnFR4eSP2/AkEBTzc3AwUBAQECWQMIA1oCAQEBBQQ3NwQFAQEBAloDCANZAgEBAQX8mgIGAwMDAlMDAwMGAlkDA1kCBgMDA/2tAwMDBgJZAwNZAs4eFf1ZFR4eFQKnFR79WQJB/f4CUgQCAwYCWgMDWgIGAwIE/a4EAgMGAloCAloCBgMCBAKVAgEBAQUDNzcDBQEBAQJZAwkCWgIBAQEFBDc3BAUBAQECWgIJA1kAAwEA/8ADAAPAABQAMABFAAABETQmIyIGFREOARUUFjMyNjU0Jic3ETQmIyIGFREOARUUFx4BFxYzMjc+ATc2NTQmAyImNTQ2NxE0NjMyFhURHgEVFAYjAhsQCwsQJC9BLS1BLySYaUpKaSQpFBRGLi81NS8uRhQUKddCXiwkLyEhLyQsXkIBHwExCxAQC/7PCTsmLUBALSY7CVYBmEppaUr+aCJeNTUvLkYUFBQURi4vNTVe/sFeQyxJFQHdIS8vIf4jFUksQ14AAAAABgBJ/8ADtwPAACMALAA5AFUAcQCNAAABHgEXHgEVERQGBw4BIyEiJicuATURNDY3PgEzITIWFx4BHwEnFTMuAS8BLgETESMiJicuAT0BIREhATQ2Nz4BMyEyFhceAR0BFAYHDgEjISImJy4BNQUyFhceAR0BFAYHDgEjISImJy4BPQE0Njc+ATMFMhYXHgEdARQGBw4BIyEiJicuAT0BNDY3PgEzA5AIDgUGBggICBQL/QALFAgICAgICBQLAgALGg0OFgiy+7oCBgOaAwrC3wsUCAgI/lgCvv2qAwMDBwQBxgQHAwMDAwMDBwT+OgQHAwMDAdoEBwMDAwMDAwcE/joEBwMDAwMDAwcEAcYEBwMDAwMDAwcE/joEBwMDAwMDAwcEAucIFg4NGQz9bgwTCAgICAgIEwwDkgwTCAgIBgUGDgiycroHCgObAwX8wQI7CAgIFAvf/K8B2AUHAwMDAwMDBwUpBQcDAwMDAwMHBWcDAwMHBSkECAMDAgIDAwgEKQUHAwMDpQMDAwcEKgQIAgMDAwMCCAQqBAcDAwMAAAADAAD/wAQAA8AAHAAoADwAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYjFTIWFRQGIyImNTQ2EyImJy4BNTQ2OwEyFhUUBgcOASMCAGpdXosoKCgoi15dampdXosoKCgoi15dakZjY0ZGY2NGRn0yDA1kR8ZHZA0MMn1GA8AoKIteXWpqXV6LKCgoKIteXWpqXV6LKCiZY0ZHY2NHRmP9HzAqCh0QR2RkRxAdCiowAAAEAHr/wAOGA8AAJQBCAEsAcQAAASM+ATU0Jy4BJyYjIgcOAQcGFRQWFyMiBhURFBYzITI2NRE0JiMlNDc+ATc2MzIXHgEXFhUUBw4BBwYjIicuAScmNQEHJx4BMzI2NxMjNTQmIyIGHQEhNTQmIyIGHQEjNTQ2OwEXHgEzMjY/ATMyFh0BAsYpO0kXF041NDw8NDVOFxdJOylPcRMNAswNE3FP/lkSET4oKS8vKSg+ERISET4oKS8vKSg+ERIBPl1dFi4ZGS4W6VcTDQ0T/qITDQ0TV0s1L4AFDAYGDAWALzVLAawngEw8NDVPFhcXFk81NDxMgCdwUP70DRMTDQEMUHDzLykpPRESEhE9KSkvLikpPhESEhE+KSku/u9eXggICAj+cpkOEhIOmZkOEhIOmew1S4AEBQUEgEs17AAAAAMAQQABA7kDeQA3AFQAbgAAATY3NjQnJicmJyYiBwYHBgcOARcWFzAWBwYHDgEHBjEOAR8BFjY3MDc+ATc2NzYWMRYXFjY3NjclJicmNDc2NzY3NjIXFhcWFxYUBwYHBgcGIicmJzciJicuATc2Nz4BMzYXHgEHDgEnJgYHDgEjA2U4HBsbHDg3RkeSRkY3LxwbDg0NIAUHEiAhQBcYHQoaBhlJHBgXQCAhEgcMNz09eTk5L/4tKRUUFBUpKTQ0azQ0KSkVFBQVKSk0NGs0NCkYBAcEDwwGFCMkWDExLw8MBgceD0CCGwQUDAEMN0ZGkkdGNzgcGxscOC85OXk9PTcMBxIgIUAXGBxJGQYaCh0YF0AgIRIHBSANDQ4bHC9GKTQ0azQ0KSkVFBQVKSk0NGs0NCkpFRQUFSndAgEGHw8vISIkARQHHg8PDAYcNUALDQAAAAAEABkANwPqA0UAHAA5AGoAtQAAAREUBgcOASMhIiYnLgE1ETQ2Nz4BMyEyFhceARUnISIGBw4BFREUFhceATMhMjY3PgE1ETQmJy4BIwM+ATc+ATU0JicuAScuAScuASMiBgcOAQcOAQcOARUUFhceARceARceATMyNjc+ATc3HgEXHgEVFAYHDgEHDgEHDgEHBiInLgEnBw4BBw4BIyImJy4BJy4BJy4BNTQ2Nz4BPwEuAScuATc+ATc+ATc+ATc+ATMyFhceARcD6gwLDB0R/NIRHQwMDAwMDB0RAy4RHQwLDFv85gMGAgMCAgMCBgMDGgMGAgIDAwICBgP/CxAFBgUFBgUQCwsYDg0cDg4cDg0YCwsQBQYFBQYFEAsLGA0OHA4OHA0OGAsvDxgIBwgIBwgYDw0cDxAfERAhEREfD2EECQUFCwUFCwUFCQQFBgICAgICAgYFXAkOBAQCAgIJCAcWDRAjFBMoFRQoFBQjEALz/ZUQHQwMDAwMDB0QAmsRHQwMDAwMDB0RAQIDAgUE/bMDBQMCAgICAwUDAk0EBQIDAv6KChkNDhsODhwODRkLChAGBQUFBQYQCgsZDQ4cDg4bDg0ZCgsQBgUFBQUGEAv+DyQTFCgUFSgUEyQPDRQIBwoDAgMDCghgBAYCAgICAgIGBAQJBQULBQYKBQUKBF0PIRESIxIRIxARHg0QFwgIBwcICBcQAAMAQQABA7kDeQA3AFMAjAAAATY3NjQnJicmJyYiBwYHBgcOARcWFzAWBwYHDgEHBjEOAR8BFjY3MDc+ATc2NzYWMRYXFjY3NjclJicmNDc2NzY3NjIXFhcWFxYUBwYHBgcGIicmASMwJjU8ATE0JisBIgYVMBQVFAYxIyIGHQEUFjsBMBYVHAExFBY7ATI2NTA0NTQ2MTMyNj0BNCYjA2U4HBsbHDg3RkeSRkY3LxwbDg0NIAUHEiAhQBcYHQoaBhlJHBgXQCAhEgcMNz09eTk5L/4tKRUUFBUpKTQ0azQ0KSkVFBQVKSk0NGs0NAE0VQgSDDMMEghVDBISDFQJEgwzDBIJVAwSEgwBDDdGRpJHRjc4HBsbHDgvOTl5PT03DAcSICFAFxgcSRkGGgodGBdAICESBwUgDQ0OGxwvRik0NGs0NCkpFRQUFSkpNDRrNDQpKRUUFBUBJgMGEEQNEhINRA8HAxIMMgwSAwYQRA0SEg1EEAYDEgwyDBIAAwBBAAEDuQN5ADcAVABkAAABNjc2NCcmJyYnJiIHBgcGBw4BFxYXMBYHBgcOAQcGMQ4BHwEWNjcwNz4BNzY3NhYxFhcWNjc2NyUmJyY0NzY3Njc2MhcWFxYXFhQHBgcGBwYiJyYnJRQGIyEiJj0BNDYzITIWFQNlOBwbGxw4N0ZHkkZGNy8cGw4NDSAFBxIgIUAXGB0KGgYZSRwYF0AgIRIHDDc9PXk5OS/+LSkVFBQVKSk0NGs0NCkpFRQUFSkpNDRrNDQpAXsSDP7XDBISDAEpDBIBDDdGRpJHRjc4HBsbHDgvOTl5PT03DAcSICFAFxgcSRkGGgodGBdAICESBwUgDQ0OGxwvRik0NGs0NCkpFRQUFSkpNDRrNDQpKRUUFBUprQwSEgwyDBISDAAAAAIAZwAlA0IDsABdAHoAAAEuASMiMDE4ATEiBgcOARU4ATEUFhceARceARceARceARceARceARceARceARceARceATMyNjc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATU4ATE0JicBIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGIwLXMoVLAUuGMTI5AQICBQMFDggJEwsQJBMTJhIJEgkJEQgIEAgECAUFCgYFCQMEBwMGDAUGCwYKFgsMFwwRJBERIA8HDQYGCgQFBwIDAjky/v0zLi1EFBQUFEQtLjM0Li1EFBQUFEQtLjQDRTE6OjEyhUwKFQoLFQsTJhMTJhMdNxoaLxUKEwkIDwcGCwUCBAECAgIBAQICAgcEBAgFCRULDBoOFi8ZGTUbDRsODRsNDhoNDRoMTIUy/hkUFEQtLjQzLi1EFBQUFEQtLjM0Li1EFBQAAAADAGcAJQNCA7AAXQB6ALMAAAEuASMiMDE4ATEiBgcOARU4ATEUFhceARceARceARceARceARceARceARceARceARceATMyNjc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATc+ATU4ATE0JicBIicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGIxMuASMiBgcOAR0BIyIGBw4BFRQWFx4BOwEVFBYXHgEzMjY3PgE9ATMyNjc+ATU0JicuASsBNTQmJwLXMoVLAUuGMTI5AQICBQMFDggJEwsQJBMTJhIJEgkJEQgIEAgECAUFCgYFCQMEBwMGDAUGCwYKFgsMFwwRJBERIA8HDQYGCgQFBwIDAjky/v0zLi1EFBQUFEQtLjM0Li1EFBQUFEQtLjQUBAsGBgoEBQVkBgwEBAQEBAQMBmQFBQQKBgYLBAUFZAYMBAQEBAQEDAZkBQUDRTE6OjEyhUwKFQoLFQsTJhMTJhMdNxoaLxUKEwkIDwcGCwUCBAECAgIBAQICAgcEBAgFCRULDBoOFi8ZGTUbDRsODRsNDhoNDRoMTIUy/hkUFEQtLjQzLi1EFBQUFEQtLjM0Li1EFBQBkwQFBQQECwdjBgQFCgYGCwQEBmMHCwUDBQUDBQsHYwYEBAsGBgoFBAZjBwsEAAMAZwAlA0IDsABdAHoAhgAAAS4BIyIwMTgBMSIGBw4BFTgBMRQWFx4BFx4BFx4BFx4BFx4BFx4BFx4BFx4BFx4BFx4BMzI2Nz4BNz4BNz4BNz4BNz4BNz4BNz4BNz4BNz4BNz4BNz4BNTgBMTQmJwEiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYjNxQGIyImNTQ2MzIWAtcyhUsBS4YxMjkBAgIFAwUOCAkTCxAkExMmEgkSCQkRCAgQCAQIBQUKBgUJAwQHAwYMBQYLBgoWCwwXDBEkEREgDwcNBgYKBAUHAgMCOTL+/TMuLUQUFBQURC0uMzQuLUQUFBQURC0uNJtbQD9bWz9AWwNFMTo6MTKFTAoVCgsVCxMmExMmEx03GhovFQoTCQgPBwYLBQIEAQICAgEBAgICBwQECAUJFQsMGg4WLxkZNRsNGw4NGw0OGg0NGgxMhTL+GRQURC0uNDMuLUQUFBQURC0uMzQuLUQUFPtAW1tAP1tbAAAAAAQAIv/iA94DngAcADgAVQBlAAATBgcOARcWFxYXHgE3Njc2Nz4BJyYnJicuAQcGBwEGBwYmJyYnJicmNjc2NzY3NhYXFhcWFxYGBwYFMDc+ATc2NzQnLgEnJjEwBw4BBwYHFBceARcWMQMXMgcOAQcGMTAnLgEnJjOcTCcnBCQkSkleXsRfX01MJycEJCRKSV5exF9fTQKFPk1NoExMPDwdHQMfID4+TU2gTEw8PB0dAx8g/psUFDAUFAESEiwTEhQUMBQUARISLBMSLGQJBwcZDAsLCxYGBwoDMEleXsRfX01MJycEJCRKSV5exF9fTUwnJwQkJEr9ZTwdHQMfID4+TU2gTEw8PB0dAx8gPj5NTaBMTGIpKm84OB0dODlxKiopKm84OB0dODlxKioBRAIbG0IbGxwbQhwbAAABAAAAAQAA9JNHoV8PPPUACwQAAAAAANoiO1kAAAAA2iI7WQAA/8AEAAPAAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAQAAAEAAAAAAAAAAAAAAAAAAABtBAAAAAAAAAAAAAAAAgAAAAQAAAAEAABlBAAAYAQAAAAEAACPBAAAAAQAAAAEAAA/BAAAAAQAAG4EAABuBAAAAAQAAAAEAAAdBAAAJAQAAAAEAAAABAABuAQAABkEAAAbBAAAAwQAADsEAAAABAAAJAQAAAAEAAEEBAAAAAQAAAQEAAAABAAA7QQAAAAEAAAEBAAAbgQAACIEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAFwEAAAJBAAAAAQAAAAEAAAABAAAGgQAAAAEAAA0BAAARwQAABQEAACCBAAAJQQAACwEAAAcBAAAfgQAACUEAABWBAAAIgQAAAAEAAAABAAAQgQAAHEEAABxBAAA+QQAAGcEAAAABAAAIQQAAAAEAABJBAAAgAQAACAEAAEhBAAAowQAACcEAAAeBAAAJAQAAAAEAABLBAAAJQQAAdwEAALNBAACsQQAAmEEAAHcBAABLgQAAJ0EAABmBAAAnQQAAS4EAAAkBAAAAAQAAQAEAABJBAAAAAQAAHoEAABBBAAAGQQAAEEEAABBA6sAZwOrAGcDqwBnBAAAIgAAAAAACgAUAB4AegEqAZgCMAJ2AyADXgQKBJQE1AVeBbYGNgawBwAHPAeOCAYIrAkcCXQJpAokClQK1AsEC4QMCgyKDLgNOA2+Dj4O2A9YD+gQahDoEZYSTBK4EzATYBO6FCwU3BU6Fp4XQhfSGRYZehmoGk4alBrmGwAbhhvEHJ4d8B6aHxIgCCEWIVwh0CJuIpIjlCRcJOYlVCXaJogoUipIKogq1iuULFYscCyKLKgsyCziLQAtIC06LVgtdi3KLmIuyC+YL/IwkjE8MkgzBjOeNE41SDYINqYAAQAAAG0BmwAYAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAA0AAAABAAAAAAACAAcAlgABAAAAAAADAA0ASAABAAAAAAAEAA0AqwABAAAAAAAFAAsAJwABAAAAAAAGAA0AbwABAAAAAAAKABoA0gADAAEECQABABoADQADAAEECQACAA4AnQADAAEECQADABoAVQADAAEECQAEABoAuAADAAEECQAFABYAMgADAAEECQAGABoAfAADAAEECQAKADQA7GctY2FydG9ncmFmaWEAZwAtAGMAYQByAHQAbwBnAHIAYQBmAGkAYVZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGctY2FydG9ncmFmaWEAZwAtAGMAYQByAHQAbwBnAHIAYQBmAGkAYWctY2FydG9ncmFmaWEAZwAtAGMAYQByAHQAbwBnAHIAYQBmAGkAYVJlZ3VsYXIAUgBlAGcAdQBsAGEAcmctY2FydG9ncmFmaWEAZwAtAGMAYQByAHQAbwBnAHIAYQBmAGkAYUZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format("woff"),url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzPjxmb250IGlkPSJnLWNhcnRvZ3JhZmlhIiBob3Jpei1hZHYteD0iMTAyNCI+PGZvbnQtZmFjZSB1bml0cy1wZXItZW09IjEwMjQiIGFzY2VudD0iOTYwIiBkZXNjZW50PSItNjQiLz48Z2x5cGggaG9yaXotYWR2LXg9IjUxMiIvPjxnbHlwaCB1bmljb2RlPSLupIAiIGdseXBoLW5hbWU9ImFsZXJ0YSIgZD0iTTEwMTIuNjUxIDEyMC43NzVMNTg1Ljk4NCA4NjAuMzMxYy0xNC43NjMgMjUuNTQzLTQyLjM4MiA0Mi43OC03My45ODQgNDIuNzhzLTU5LjIyMS0xNy4yMzctNzMuOTg0LTQyLjc4TDExLjM0OSAxMjAuNzc1QTg1LjE0MyA4NS4xNDMgMCAwMTAgNzguMjIyQzAgMzEuMTE4IDM4LjIyOS03LjExMSA4NS4zMzMtNy4xMTFoODUzLjMzM2M0Ny4xMDQgMCA4NS4zMzMgMzguMjI5IDg1LjMzMyA4NS4zMzMgMCAxNS41MDItNC4xMjQgMzAuMDM3LTExLjM0OSA0Mi41NTN6TTg1LjI3NiA3OC4xMzdsNDI2Ljc4IDczOS41NTYgNDI2LjYxLTczOS40Ny04NTMuMzktLjA4NXpNNTEyIDI3Ny4zMzNjLTMxLjQwMyAwLTU2Ljg4OS0yNS40ODYtNTYuODg5LTU2Ljg4OSAwLTMxLjQzMSAyNS40NTgtNTYuODg5IDU2Ljg4OS01Ni44ODlzNTYuODg5IDI1LjQ4NiA1Ni44ODkgNTYuODg5YzAgMzEuNDAzLTI1LjQ1OCA1Ni44ODktNTYuODg5IDU2Ljg4OXptLTU2Ljg4OSAyNTZjMC0zLjI0My4yODQtNi40NTcuNzk2LTkuNTU3bDI4LjAxOC0xNjUuODg4YzIuMzA0LTEzLjQ1NCAxMy45OTUtMjMuNjY2IDI4LjA3NS0yMy42NjZzMjUuNzcxIDEwLjIxMiAyOC4wNDYgMjMuNjY2bDI4LjAxOCAxNjUuODg4Yy41NCAzLjEuODI1IDYuMzE1LjgyNSA5LjU1NyAwIDMxLjQwMy0yNS40NTggNTYuODg5LTU2Ljg4OSA1Ni44ODktMzEuNDAzIDAtNTYuODg5LTI1LjQ4Ni01Ni44ODktNTYuODg5eiIvPjxnbHlwaCB1bmljb2RlPSLupIEiIGdseXBoLW5hbWU9ImF5dWRhIiBkPSJNOTIyLjk5NCA2OTguNzE4QzkyMi45NyA3ODcuMTUyIDg1MS4xMjggODU4Ljk3IDc2Mi43MDQgODU5SDI2MS4yOTZjLTg4LjQzLS4wMzItMTYwLjI2Ni03MS44NTgtMTYwLjI5OC0xNjAuMjk0VjE5Ny4zMDRjLjAzLTg4LjQzIDcxLjg3Mi0xNjAuMjYyIDE2MC4yOTgtMTYwLjI5MnYuMDAyaDUwMS40MDZjODguNDMuMDI2IDE2MC4yNjggNzEuODU4IDE2MC4yOTYgMTYwLjI5MnY1MDEuNGwtLjAwNC4wMTJ6bS04MS45OTgtNTAyLjUzNGMtLjMwMi0yMS4xNjgtOC45ODYtNDAuMjI2LTIyLjk1Ni01NC4yMTgtMTQuMjQtMTQuMjEyLTMzLjcyNC0yMi45NTgtNTUuMzM4LTIyLjk2MkwyNjEuMjk0IDExOWMtMjEuNjE2LjAwOC00MS4wOTYgOC43NTQtNTUuMzM0IDIyLjk2Ni0xNC4yMTIgMTQuMjM2LTIyLjk1OCAzMy43MTgtMjIuOTYyIDU1LjMzNmwtLjAwNCA1MDEuNDAyYy4wMDggMjEuNjE0IDguNzU0IDQxLjA5NCAyMi45NjYgNTUuMzMyIDE0LjIzOCAxNC4yMSAzMy43MiAyMi45NTggNTUuMzM2IDIyLjk2SDc2Mi43YzIxLjYyLS4wMDIgNDEuMS04Ljc1IDU1LjMzNi0yMi45NTggMTQuMjA4LTE0LjIzNCAyMi45NTQtMzMuNzE4IDIyLjk1OC01NS4zMzJWMTk2LjE4NHpNNTEyLjAwOCA2OTkuMTkydi0xNi4wMDRoLS4wMDZ2MTYuMDA2Yy03Ni40MTYtLjAzNC0xMzguNDctNjIuMDk4LTEzOC41MDgtMTM4LjUxOC4wMS0yMi42NCAxOC4zNDYtNDAuOTg0IDQxLjAwMi00MSAyMi42NTIuMDE2IDQwLjk4OCAxOC4zNiA0MSA0MSAuMDA2IDE1LjYxIDYuMzA4IDI5LjY0OCAxNi41NzQgMzkuOTQyIDEwLjI5NCAxMC4yNjggMjQuMzI4IDE2LjU3IDM5LjkzNCAxNi41NzggMTUuNjA2LS4wMDggMjkuNjM2LTYuMzEyIDM5LjkyOC0xNi41NzggMTAuMjcyLTEwLjI5NCAxNi41NjQtMjQuMzMyIDE2LjU3NC0zOS45NDItLjEyNi03LjQ4NC0yLjE3OC0xMi43OTQtOC4yNjQtMjAuNjc0LTYuMDY2LTcuNzA0LTE2LjM2OC0xNi43ODYtMjkuOTM0LTI3LjkyNi0xMi41My0xMC4zNjYtMjYuODMtMjEuOTg2LTM4LjU3NC0zNi45NDQtMTEuNzE0LTE0Ljg1Mi0yMC44MDItMzMuOTE4LTIwLjczNi01Ni43NDJ2LTQ4LjIwOGMuMDE2LTIyLjY1IDE4LjM1Mi00MC45ODYgNDEuMDA4LTQxLjAwNCAyMi42NTIuMDIgNDAuOTg0IDE4LjM2IDQxIDQxLjAwMnY0OC4yMDhjMCAuMTc0LjAzLjk0Mi45NjYgMi43MjIgMS4zNDggMi42MjIgNC44MTYgNi44OTYgOS44NjggMTEuNjY0IDUuMDM2IDQuOCAxMS41NCAxMC4xODQgMTguNjM0IDE2LjAzIDEzLjg1NCAxMS40NTggMzAuNDggMjQuOTg2IDQ0LjA4OCA0Mi45NDQgMTMuNjE0IDE3Ljg3MiAyNC4wMjggNDAuOSAyMy45NTQgNjguOTI2LS4wMDQgMC0uMDA0LjAwOC0uMDA0LjAwOC0uMDMyIDc2LjQyMi02Mi4wOTQgMTM4LjQ3OC0xMzguNTA0IDEzOC41MXptLS4wMDYtNDA2LjIzNGMtMjYuNTUyLS4wMzYtNDguMDQtMjEuNTMtNDguMDcyLTQ4LjA3Mi4wMy0yNi41NDYgMjEuNTE4LTQ4LjAzOCA0OC4wNzItNDguMDcgMjYuNTQ2LjAzIDQ4LjAzOCAyMS41MiA0OC4wNjYgNDguMDctLjAyOCAyNi41NTItMjEuNTIgNDguMDM0LTQ4LjA2NiA0OC4wNzJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kgiIgZ2x5cGgtbmFtZT0iYmFuZGVyYSIgZD0iTTkwNC45MjggODk4LjI3MmMtMTQuMjQgOC43MzYtMzIuMTI4IDkuMzQ0LTQ3LjAwOCAxLjYzMkM4MTkuOTY4IDg4MC4yNTYgNzgyLjYyNCA4NjQgNzEwLjUyOCA4NjRjLTc5LjMyOCAwLTExNi42NzIgMTkuNjgtMTU5Ljk2OCA0Mi40NjRDNTAyLjg4IDkzMS41NTIgNDQ4Ljg2NCA5NjAgMzQ1Ljg4OCA5NjBjLTcxLjI2NCAwLTExOC44OC0xMy42MzItMTU3LjM0NC0zMC4yNzJDMTgxLjQ3MiA5NDcuNDI0IDE2NC4yNTYgOTYwIDE0NCA5NjBjLTI2LjQ5NiAwLTQ4LTIxLjQ3Mi00OC00OFYtMTZjMC0yNi41MjggMjEuNTA0LTQ4IDQ4LTQ4czQ4IDIxLjQ3MiA0OCA0OHYzOTIuNzY4QzIzMi43NjggMzk4LjE0NCAyNzAuMzY4IDQxNiAzNDUuODg4IDQxNmM3OS4yOTYgMCAxMTYuNjcyLTE5LjY4IDE1OS45MzYtNDIuNDY0QzU1My41MDQgMzQ4LjQ0OCA2MDcuNDg4IDMyMCA3MTAuNTI4IDMyMGM5My41MzYgMCAxNDUuOTIgMjMuMDQgMTkxLjUyIDQ2LjYyNEE0Ny45ODcgNDcuOTg3IDAgMDE5MjggNDA5LjI4djQ0OGE0Ny45NjQgNDcuOTY0IDAgMDEtMjMuMDcyIDQwLjk5MnpNODMyIDQzOS4yOTZDODAxLjQwOCA0MjUuNzYgNzY2LjQzMiA0MTYgNzEwLjUyOCA0MTZjLTc5LjMyOCAwLTExNi42NzIgMTkuNjgtMTU5Ljk2OCA0Mi40NjRDNTAyLjg4IDQ4My41NTIgNDQ4Ljg2NCA1MTIgMzQ1Ljg4OCA1MTJjLTY5LjA4OCAwLTExNi0xMi43NjgtMTUzLjg4OC0yOC43MzZ2MzQxLjUwNEMyMzIuNzY4IDg0Ni4xNDQgMjcwLjM2OCA4NjQgMzQ1Ljg4OCA4NjRjNzkuMjk2IDAgMTE2LjY3Mi0xOS42OCAxNTkuOTM2LTQyLjQ2NEM1NTMuNTA0IDc5Ni40NDggNjA3LjQ4OCA3NjggNzEwLjUyOCA3NjhjNTAuNzg0IDAgODkuNDQgNi43ODQgMTIxLjQ3MiAxNi43NjhWNDM5LjI5NnoiLz48Z2x5cGggdW5pY29kZT0i7qSDIiBnbHlwaC1uYW1lPSJicnVqdWxhIiBkPSJNNTEyIDk2MEMyMjkuMjI5IDk2MCAwIDczMC43NjkgMCA0NDhTMjI5LjIzMS02NCA1MTItNjRjMjgyLjc3MSAwIDUxMiAyMjkuMjMxIDUxMiA1MTJTNzk0Ljc3MSA5NjAgNTEyIDk2MHptMC05MjcuNzQyQzI4Mi40MDcgMzIuMjU4IDk2LjI1OCAyMTguNDA3IDk2LjI1OCA0NDhjMCAyMjkuNTk1IDE4Ni4xNDkgNDE1Ljc0NCA0MTUuNzQyIDQxNS43NDQgMjI5LjU5NSAwIDQxNS43NDQtMTg2LjE0OSA0MTUuNzQ0LTQxNS43NDRTNzQxLjU5NSAzMi4yNTggNTEyIDMyLjI1OHptLTIzOC42MSAxNzcuMTdzMjcxLjEyNCA5Ny42NDcgMzI1LjM2MiAxNTEuODJjNTQuMjM3IDU0LjIzNyAxNTEuODIyIDMyNS4zNjQgMTUxLjgyMiAzMjUuMzY0UzQ3OS40NSA1ODguOTY1IDQyNS4yNDEgNTM0Ljc1OSAyNzMuMzkgMjA5LjQyOCAyNzMuMzkgMjA5LjQyOHptMTkzLjM1NSAyNjMuOTU3bDcwLjYzMy03MC42MzNjMTcuNjU4LTE3LjY2LTE1OC45MjctODguMjkxLTE1OC45MjctODguMjkxczcwLjYzNiAxNzYuNTg1IDg4LjI5MyAxNTguOTI1eiIvPjxnbHlwaCB1bmljb2RlPSLupIQiIGdseXBoLW5hbWU9ImNhbmNlbGFyIiBkPSJNNjE1LjUzNiA0NDkuNDlMODc3LjA4IDE4Ny45NDRjMjkuODI2LTI5LjgyNCAyOS44MjYtNzUuNzA4IDAtMTA1LjUzNC0xMy43NjYtMTMuNzY2LTM0LjQxMi0yMi45NDQtNTIuNzY4LTIyLjk0NC0xOC4zNTQgMC0zOS4wMDIgOS4xNzgtNTIuNzY4IDIyLjk0NEw1MTAgMzQzLjk1NiAyNDguNDU0IDgyLjQxMmMtMTMuNzY2LTEzLjc2Ni0zNC40MTQtMjIuOTQ0LTUyLjc2OC0yMi45NDRzLTM5LjAwMiA5LjE3OC01Mi43NjggMjIuOTQ0Yy0yOS44MjYgMjkuODI0LTI5LjgyNiA3NS43MDggMCAxMDUuNTM0bDI2MS41NDYgMjYxLjU0Ni0yNjEuNTQ2IDI2MS41NDRjLTI5LjgyNiAyOS44MjYtMjkuODI2IDc1LjcxIDAgMTA1LjUzNnM3NS43MSAyOS44MjYgMTA1LjUzNiAwTDUxMCA1NTUuMDI4bDI2MS41NDQgMjYxLjU0NGMyOS44MjYgMjkuODI2IDc1LjcxIDI5LjgyNiAxMDUuNTM2IDBzMjkuODI2LTc1LjcxIDAtMTA1LjUzNkw2MTUuNTM2IDQ0OS40OXoiLz48Z2x5cGggdW5pY29kZT0i7qSFIiBnbHlwaC1uYW1lPSJjYW5jZWxhcjIiIGQ9Ik03MDMuNTg0IDU5My45MmMtLjQ4IDExLjYxNi00LjggMjMuMTM2LTEzLjY5NiAzMi04Ljg2NCA4Ljg2NC0yMC4zODQgMTMuMjE2LTMyIDEzLjY5Ni0xMi45MjguNTQ0LTI2LjAxNi0zLjgwOC0zNS44NzItMTMuNjk2TDUxMiA1MTUuODcyIDQwMS45ODQgNjI1LjkyYy05Ljg4OCA5Ljg4OC0yMi45NDQgMTQuMjA4LTM1Ljg3MiAxMy42OTYtMTEuNjE2LS40OC0yMy4xMzYtNC44LTMyLTEzLjY5Ni04Ljg2NC04Ljg2NC0xMy4yMTYtMjAuMzg0LTEzLjY5Ni0zMi0uNTQ0LTEyLjkyOCAzLjgwOC0yNS45ODQgMTMuNjk2LTM1Ljg3Mkw0NDQuMTI4IDQ0OCAzMzQuMTEyIDMzNy45ODRjLTkuODg4LTkuODg4LTE0LjIwOC0yMi45NDQtMTMuNjk2LTM1Ljg3Mi40OC0xMS42MTYgNC44LTIzLjEzNiAxMy42OTYtMzIgOC44NjQtOC44NjQgMjAuMzg0LTEzLjIxNiAzMi0xMy42OTYgMTIuOTI4LS41NDQgMjUuOTg0IDMuODA4IDM1Ljg3MiAxMy42OTZMNTEyIDM4MC4xMjggNjIyLjA0OCAyNzAuMDhjOS44ODgtOS44ODggMjIuOTQ0LTE0LjIwOCAzNS44NzItMTMuNjk2IDExLjYxNi40OCAyMy4xMzYgNC44IDMyIDEzLjY5NiA4Ljg2NCA4Ljg2NCAxMy4yMTYgMjAuMzg0IDEzLjY5NiAzMiAuNTQ0IDEyLjkyOC0zLjgwOCAyNS45ODQtMTMuNjk2IDM1Ljg3Mkw1NzkuODcyIDQ0OGwxMTAuMDE2IDExMC4wMTZjOS44ODggOS44ODggMTQuMjQgMjIuOTQ0IDEzLjY5NiAzNS45MDR6TTUxMiA5NjBDMjI5LjI0OCA5NjAgMCA3MzAuNzUyIDAgNDQ4UzIyOS4yNDgtNjQgNTEyLTY0czUxMiAyMjkuMjQ4IDUxMiA1MTItMjI5LjI0OCA1MTItNTEyIDUxMnptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6khiIgZ2x5cGgtbmFtZT0iY2FwYXMiIGQ9Ik05NjAgOTYwSDMyMGMtMzUuMzI4IDAtNjQtMjguNjQtNjQtNjRWNzA0SDY0Yy0zNS4zMjggMC02NC0yOC42NC02NC02NFYwYzAtMzUuMzI4IDI4LjY3Mi02NCA2NC02NGg2NDBjMzUuMzYgMCA2NCAyOC42NzIgNjQgNjR2MTkyaDE5MmMzNS4zMjggMCA2NCAyOC42NzIgNjQgNjR2NjQwYzAgMzUuMzYtMjguNjcyIDY0LTY0IDY0ek02NzIgMzJIOTZ2NTc2aDE2MFYyNTZjMC0zNS4zNiAyOC42NzItNjQgNjQtNjRoMzUyVjMyem0yNTYgMjU2SDM1MnY1NzZoNTc2VjI4OHoiLz48Z2x5cGggdW5pY29kZT0i7qSHIiBnbHlwaC1uYW1lPSJjYXBhczIiIGQ9Ik03OC4yNDYgNjQ4LjAzOEw0OTguNzA4IDQyMy4yMWM0LjE1LTIuMjIgOC43Mi0zLjMyOCAxMy4yOS0zLjMyOHM5LjE0IDEuMTA4IDEzLjI5MiAzLjMyOGw0MjAuNDYyIDIyNC44MjhhMjguMTkxIDI4LjE5MSAwIDAxMCA0OS43MThMNTI1LjI4OCA5MjIuNTg0YTI4LjE2NyAyOC4xNjcgMCAwMS0yNi41ODIgMEw3OC4yNDYgNjk3Ljc1NmEyOC4xOTQgMjguMTk0IDAgMDEtMTQuODk4LTI0Ljg2IDI4LjE5MyAyOC4xOTMgMCAwMTE0Ljg5OC0yNC44NTh6TTUxMS45OTggODQ5Ljc2bDM0MC42ODYtMTc2Ljg2NC0zNDAuNjg2LTE3MC44NjItMzQwLjY4NiAxNzAuODYyTDUxMS45OTggODQ5Ljc2em00MzMuNzU0LTM3Ni45NzJsLTEyMi41NzIgNjUuNTRjLTEzLjcyOCA3LjM0NC00MS41MDQgMy4wNjQtNDguODQ2LTEwLjY2Mi03LjM0LTEzLjczLTUuNDYyLTM3LjcxIDguMjY4LTQ1LjA1bDYyLjA4Mi0zNC42ODRMNTExLjk5OCAyODMuMDcgMTc5LjMxMiA0NDcuOTNsNjIuOTY2IDM1LjE1NmMxMy43MyA3LjM0MiAxMy4zOTQgMzAuMTg4IDYuMDU0IDQzLjkxNi03LjM0IDEzLjcyNC0zMi45MDggMTkuMTM4LTQ2LjYzNCAxMS43OThMNzguMjQ0IDQ3Mi43OWMtOS4xNy00LjkwNC0xNC44OTgtMTQuNDU4LTE0Ljg5OC0yNC44NThzNS43MjItMTkuOTU0IDE0Ljg5OC0yNC44NThsNDIwLjQ2Mi0yMjQuODI2YzQuMTUtMi4yMjIgOC43Mi0zLjMzMiAxMy4yOS0zLjMzMnM5LjE0IDEuMTEgMTMuMjkyIDMuMzMyTDk0NS43NSA0MjMuMDc0YTI4LjE5MSAyOC4xOTEgMCAwMTE0Ljg5OCAyNC44NTggMjguMTc3IDI4LjE3NyAwIDAxLTE0Ljg5NiAyNC44NTZ6bTAtMjI0LjgyOGwtMTE4LjY4NiA2My40NjJjLTEzLjczMiA3LjM0LTQxLjM5MiAxLjMwMi00OC43MzItMTIuNDI0LTcuMzQtMTMuNzMtNS41NzYtMzUuOTUgOC4xNTQtNDMuMjlsNTguMTk2LTMyLjYwNEw1MTEuOTk4IDU4LjI0MiAxNzkuMzEyIDIyMy4xMDRsNTcuNDE0IDMyLjE4NmMxMy43MyA3LjM0IDE1LjYxMiAyOS45ODQgOC4yNzIgNDMuNzFzLTM1LjEyNiAxOS4zNDgtNDguODUgMTIuMDAyTDc4LjI0NCAyNDcuOTU4Yy05LjE3LTQuOTA0LTE0Ljg5OC0xNC40NTgtMTQuODk4LTI0Ljg1OHM1LjcyMi0xOS45NTQgMTQuODk4LTI0Ljg1OEw0OTguNzA2LTI2LjU4NmM0LjE1LTIuMjIgOC43Mi0zLjMzIDEzLjI5LTMuMzNzOS4xNCAxLjExIDEzLjI5MiAzLjMzTDk0NS43NSAxOTguMjQyYTI4LjE5MSAyOC4xOTEgMCAwMS4wMDIgNDkuNzE4eiIvPjxnbHlwaCB1bmljb2RlPSLupIgiIGdseXBoLW5hbWU9ImNoZWNrIiBkPSJNNTEyIDk2MEMyMjkuMjQ3IDk2MCAwIDczMC43NTEgMCA0NDhTMjI5LjI0OS02NCA1MTItNjRzNTEyIDIyOS4yNDkgNTEyIDUxMi0yMjkuMjQ5IDUxMi01MTIgNTEyem0wLTkyOEMyODIuNjI0IDMyIDk2IDIxOC42MjQgOTYgNDQ4czE4Ni42MjQgNDE2IDQxNiA0MTYgNDE2LTE4Ni42MjQgNDE2LTQxNlM3NDEuMzc2IDMyIDUxMiAzMnptMjA5LjkyIDU3NS42MTVjLTEyLjg5Ni41NDUtMjUuOTg1LTMuODA3LTM1Ljg0LTEzLjY5N0w0NjMuOTk5IDM3MS44NzIgMzM3LjkyIDQ5Ny45MmMtOS44NTcgOS44ODgtMjIuOTQ0IDE0LjIwOS0zNS44NCAxMy42OTctMTEuNjE2LS40NzktMjMuMTY5LTQuODAxLTMyLjAzMy0xMy42OTctOC44NjQtOC44NjQtMTMuMjE2LTIwLjQxNy0xMy42OTctMzIuMDMzLS41NDUtMTIuODk2IDMuODA3LTI1Ljk4NSAxMy42OTctMzUuODRsMTYwLTE2MGM5LjM3Ni05LjM3NiAyMS42NjQtMTQuMDQ3IDMzLjk1Mi0xNC4wNDdzMjQuNTc2IDQuNjcxIDMzLjk1MiAxNC4wNDdsMjU2IDI1NmM5Ljg4OCA5Ljg4OCAxNC4yMDkgMjIuOTQ0IDEzLjY5NyAzNS44NC0uNDc5IDExLjYxNi00LjgwMSAyMy4xNjktMTMuNjk3IDMyLjAzMy04Ljg5NCA4Ljg5Ny0yMC40MTQgMTMuMjQ5LTMyLjAzMSAxMy42OTV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kiSIgZ2x5cGgtbmFtZT0iY2hlY2syIiBkPSJNNzQ5LjcxNCA4MTMuNzE0SDI3NC4yODVxLTM3LjcxNCAwLTY0LjU3MS0yNi44NTd0LTI2Ljg1Ny02NC41NzFWMjQ2Ljg1N3EwLTM3LjcxNCAyNi44NTctNjQuNTcxdDY0LjU3MS0yNi44NTdoNDc1LjQyOXEzNy43MTQgMCA2NC41NzEgMjYuODU3dDI2Ljg1NyA2NC41NzF2NDc1LjQyOXEwIDM3LjcxNC0yNi44NTcgNjQuNTcxdC02NC41NzEgMjYuODU3em0xNjQuNTcyLTkxLjQyOFYyNDYuODU3cTAtNjgtNDguMjg2LTExNi4yODZUNzQ5LjcxNCA4Mi4yODVIMjc0LjI4NXEtNjggMC0xMTYuMjg2IDQ4LjI4NnQtNDguMjg2IDExNi4yODZ2NDc1LjQyOXEwIDY4IDQ4LjI4NiAxMTYuMjg2dDExNi4yODYgNDguMjg2aDQ3NS40MjlxNjggMCAxMTYuMjg2LTQ4LjI4NnQ0OC4yODYtMTE2LjI4NnoiLz48Z2x5cGggdW5pY29kZT0i7qSKIiBnbHlwaC1uYW1lPSJjaGVjazMiIGQ9Ik03NDkuNzE0IDgxMy43MTRIMjc0LjI4NWMtMjUuMTQzIDAtNDYuNjY2LTguOTUyLTY0LjU3MS0yNi44NTdzLTI2Ljg1Ny0zOS40MjktMjYuODU3LTY0LjU3MVYyNDYuODU3YzAtMjUuMTQzIDguOTUzLTQ2LjY2NiAyNi44NTctNjQuNTcxczM5LjQyOS0yNi44NTcgNjQuNTcxLTI2Ljg1N2g0NzUuNDI5YzI1LjE0MyAwIDQ2LjY2NyA4Ljk1MyA2NC41NzEgMjYuODU3czI2Ljg1NyAzOS40MjkgMjYuODU3IDY0LjU3MXY0NzUuNDI5YzAgMjUuMTQzLTguOTUyIDQ2LjY2Ny0yNi44NTcgNjQuNTcxcy0zOS40MjkgMjYuODU3LTY0LjU3MSAyNi44NTd6bTE2NC41NzItOTEuNDI4VjI0Ni44NTdjMC00NS4zMzMtMTYuMDk1LTg0LjA5NS00OC4yODYtMTE2LjI4NnMtNzAuOTUyLTQ4LjI4Ni0xMTYuMjg2LTQ4LjI4NkgyNzQuMjg1Yy00NS4zMzMgMC04NC4wOTUgMTYuMDk1LTExNi4yODYgNDguMjg2cy00OC4yODYgNzAuOTUzLTQ4LjI4NiAxMTYuMjg2djQ3NS40MjljMCA0NS4zMzQgMTYuMDk1IDg0LjA5NSA0OC4yODYgMTE2LjI4NnM3MC45NTMgNDguMjg2IDExNi4yODYgNDguMjg2aDQ3NS40MjljNDUuMzM0IDAgODQuMDk1LTE2LjA5NSAxMTYuMjg2LTQ4LjI4NnM0OC4yODYtNzAuOTUyIDQ4LjI4Ni0xMTYuMjg2em0tMTg5LjExNy02OC4yMTVjLTEyLjg1LjU0Mi0yNS44OTEtMy43OTQtMzUuNzExLTEzLjY0N0w0NjguMTc1IDQxOS4xNzMgMzQyLjU0OCA1NDQuNzY5Yy05LjgyMSA5Ljg1My0yMi44NjIgMTQuMTU3LTM1LjcxMSAxMy42NDctMTEuNTc0LS40NzgtMjMuMDg1LTQuNzgzLTMxLjkxNy0xMy42NDctOC44MzMtOC44MzMtMTMuMTY5LTIwLjM0My0xMy42NDctMzEuOTE3LS41NDItMTIuODUgMy43OTQtMjUuODkxIDEzLjY0Ny0zNS43MTFsMTU5LjQyNi0xNTkuNDI2YzkuMzQyLTkuMzQzIDIxLjU4Ni0xMy45OTggMzMuODMtMTMuOTk4czI0LjQ4OCA0LjY1NSAzMy44MyAxMy45OThsMjU1LjA4MiAyNTUuMDgyYzkuODUzIDkuODUzIDE0LjE1OSAyMi44NjIgMTMuNjQ3IDM1LjcxMS0uNDc4IDExLjU3NC00Ljc4MiAyMy4wODUtMTMuNjQ3IDMxLjkxNy04Ljg2NSA4Ljg2NC0yMC4zNDMgMTMuMjAxLTMxLjkxOCAxMy42NDd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kiyIgZ2x5cGgtbmFtZT0iY2hlY2s0IiBkPSJNNTEyIDk2MEMyMjkuMjQ3IDk2MCAwIDczMC43NTEgMCA0NDhTMjI5LjI0OS02NCA1MTItNjRjMjgyLjc1MyAwIDUxMiAyMjkuMjQ5IDUxMiA1MTJTNzk0Ljc1MSA5NjAgNTEyIDk2MHptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kjCIgZ2x5cGgtbmFtZT0iY2hlY2s1IiBkPSJNNTEyIDk2MEMyMjkuMjQ3IDk2MCAwIDczMC43NTEgMCA0NDhTMjI5LjI0OS02NCA1MTItNjRjMjgyLjc1MyAwIDUxMiAyMjkuMjQ5IDUxMiA1MTJTNzk0Ljc1MSA5NjAgNTEyIDk2MHptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6bTI1Mi45MTIgNDE1Ljk5OGMwLTEzOS42NzQtMTEzLjI0Mi0yNTIuOTQyLTI1Mi45MTQtMjUyLjk0Mi0xMzkuNjM5IDAtMjUyLjkxNCAxMTMuMjA5LTI1Mi45MTQgMjUyLjk0MiAwIDEzOS42NzIgMTEzLjI3NSAyNTIuOTQ0IDI1Mi45MTQgMjUyLjk0NCAxMzkuNjcyLjAwMiAyNTIuOTE0LTExMy4yNzMgMjUyLjkxNC0yNTIuOTQ0eiIvPjxnbHlwaCB1bmljb2RlPSLupI0iIGdseXBoLW5hbWU9ImNvbWVudGFyaW9zIiBkPSJNODI1LjgzNiA5MTEuN0gxOTguMTY0Yy05My40NDYgMC0xNjkuNDY4LTc2LjAyNi0xNjkuNDY4LTE2OS40N1YzNTUuMDgyYzAtOTMuNDQ4IDc2LjAyMi0xNjkuNDcgMTY5LjQ2OC0xNjkuNDdsMzk5Ljc5Mi0uMDAyTDc4OS4zMzItNS43N2EzMy45MDIgMzMuOTAyIDAgMDEyMy45NzYtOS45MjhjNC4zNjggMCA4Ljc3Mi44NDggMTIuOTU4IDIuNTg2YTMzLjg4NiAzMy44ODYgMCAwMTIwLjkyNiAzMS4zMDh2MTY4Ljc2YzgzLjQxIDEwLjUzNCAxNDguMTA2IDgxLjkxMiAxNDguMTA2IDE2OC4xMjh2Mzg3LjE0OGMuMDA2IDkzLjQ0NC03Ni4wMTYgMTY5LjQ2OC0xNjkuNDYyIDE2OS40Njh6bTkxLjgtNTUzLjg0MmMwLTU0LjczNC00NC41MjgtOTkuMjYyLTk5LjI2NC05OS4yNjJoLTguMTY4Yy0xOC4yNjggMC0zMy4wODYtMTQuODE4LTMzLjA4Ni0zMy4wOXYtMTE2LjY0TDYzNy4wODQgMjQ4LjkwNGEzMy4wNiAzMy4wNiAwIDAxLTIzLjM5NCA5LjY5NEgyMDUuNjI2Yy01NC43MzYgMC05OS4yNjQgNDQuNTI4LTk5LjI2NCA5OS4yNjJ2Mzc3Ljk0MmMwIDU0LjczMiA0NC41MjggOTkuMjY0IDk5LjI2NCA5OS4yNjRoNjEyLjc0NmM1NC43MzYgMCA5OS4yNjQtNDQuNTMyIDk5LjI2NC05OS4yNjRWMzU3Ljg1OHptLTE1Ni4xOCAzMjQuMDFjMjQuMzM4LS4wMDggNDQuMDU2LTE5LjcyNCA0NC4wNjQtNDQuMDY0LS4wMDgtMjQuMzM4LTE5LjcyNi00NC4wNTYtNDQuMDY0LTQ0LjA2NGgtNDk4LjkyYy0yNC4zMzQuMDA4LTQ0LjA1NiAxOS43MjYtNDQuMDY0IDQ0LjA2NC4wMDggMjQuMzQ2IDE5LjcyOCA0NC4wNTYgNDQuMDY0IDQ0LjA2NGg0OTguOTJ6bS4wMDQtMTg5LjgwNmMyNC4zMzItLjAwOCA0NC4wNS0xOS43MTYgNDQuMDU4LTQ0LjA2NC0uMDA4LTI0LjMzNC0xOS43MjItNDQuMDUtNDQuMDU4LTQ0LjA1OEgyNjIuNTRjLTI0LjMzNC4wMDgtNDQuMDU2IDE5LjcyMi00NC4wNjQgNDQuMDU4LjAwNCAyNC4zNDYgMTkuNzI4IDQ0LjA1NiA0NC4wNjQgNDQuMDY0aDQ5OC45MnoiLz48Z2x5cGggdW5pY29kZT0i7qSOIiBnbHlwaC1uYW1lPSJkZXNjYXJnYXIiIGQ9Ik05MjggMzcwYzMwIDAgNTQtMjQgNTQtNTRWMjJjMC0zMC0yNC01NC01NC01NEg5MkM2Mi0zMiAzNi04IDM2IDIydjI5NGMwIDMwIDI2IDU0IDU2IDU0czU0LTI0IDU0LTU0Vjc4aDcyOHYyMzhjMCAzMCAyNCA1NCA1NCA1NHpNNDcyIDI0OEwyNTIgNDY4Yy0yMiAyMi0yMiA1NCAwIDc2czU0IDIyIDc2IDBsMTI4LTEyNnY0NjhjMCAzMCAyNCA1NCA1NCA1NHM1NC0yNCA1NC01NFY0MThsMTI2IDEyNmMyMiAyMiA1NiAyMiA3OCAwczIyLTU0IDAtNzZMNTQ4IDI0OGMtMTAtMTAtMjQtMTYtMzgtMTZzLTI4IDYtMzggMTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kjyIgZ2x5cGgtbmFtZT0iZWRpdGFyIiBkPSJNMTAxMi44MzIgNjgzLjE2OEw3NDcuMTM2IDk0OC44NjRDNzM5LjY0OCA5NTYuMzUyIDcyOS44MjQgOTYwIDcyMCA5NjBzLTE5LjY0OC0zLjY0OC0yNy4xMzYtMTEuMTY4TDAgMjU2Vi02NGgzMjBsNjkyLjgzMiA2OTIuODMyYzcuNTIgNy41MiAxMS4xNjggMTcuMzQ0IDExLjE2OCAyNy4xNjggMCA5Ljg1Ni0zLjY0OCAxOS42NDgtMTEuMTY4IDI3LjE2OHpNOTYgMzJ2MTU2LjEyOEwyNTIuMTI4IDMySDk2em0yNDEuOTUyIDQ5LjkybC0xOTIgMTkyTDU5MC4wOCA3MTguMDhsMTkyLTE5MkwzMzcuOTUyIDgxLjkyem01MTIgNTEybC0xOTIgMTkyTDcyMCA4NDhsMTkyLTE5Mi02Mi4wNDgtNjIuMDh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kkCIgZ2x5cGgtbmFtZT0iZWRpdGFyMiIgZD0iTTkxMiA0ODBjLTI2LjUyOCAwLTQ4LTIxLjUwNC00OC00OFYzMkg5NnY3NjhoNDAwYzI2LjUyOCAwIDQ4IDIxLjUwNCA0OCA0OHMtMjEuNDcyIDQ4LTQ4IDQ4SDY0Yy0zNS4zMjggMC02NC0yOC42NC02NC02NFYwYzAtMzUuMzYgMjguNjcyLTY0IDY0LTY0aDgzMmMzNS4zMjggMCA2NCAyOC42NCA2NCA2NHY0MzJjMCAyNi40OTYtMjEuNDcyIDQ4LTQ4IDQ4em0xMDAuODMyIDMzMS4xNjhMODc1LjEzNiA5NDguODY0Qzg2Ny42NDggOTU2LjM1MiA4NTcuODI0IDk2MCA4NDggOTYwcy0xOS42NDgtMy42NDgtMjcuMTM2LTExLjE2OEwyODggNDE2VjIyNGgxOTJsNTMyLjgzMiA1MzIuODMyYzcuNTIgNy41MiAxMS4xNjggMTcuMzQ0IDExLjE2OCAyNy4xNjggMCA5Ljg1Ni0zLjY0OCAxOS42NDgtMTEuMTY4IDI3LjE2OHpNNDQ4IDMyMGgtNjR2NjRsNDY0IDQ2NCA2NC02NC00NjQtNDY0eiIvPjxnbHlwaCB1bmljb2RlPSLupJEiIGdseXBoLW5hbWU9ImVzY2FsYSIgZD0iTTY0NS42OTIgNzc4LjU3OGMwIDU2LjgxNy00Ni4xNzYgMTAzLjAwNi0xMDMuMDA2IDEwMy4wMDYtNTYuNzI0IDAtMTAyLjk2Ni00Ni4xMzYtMTAyLjk2Ni0xMDMuMDA2IDAtNDUuMTkzIDI5LjQ2NC04My4xOTkgNzAuMDA4LTk3LjEyMWgtNjIuNjIydi04OC4yNmg2Mi40NzZ2LTM5LjQwMWgtNjIuNDc2di00NC4xMTdoNjIuNDc2di0zOC4zNzhoLTYyLjQ3NnYtNDQuMTk3aDYyLjQ3NnYtMzguMzEyaC02Mi40NzZ2LTQ0LjE0M2g2Mi40NzZ2LTM4LjM5MWgtNjIuNDc2di00NC4xMTdoNjIuNDc2di0zOC40NDVoLTYyLjQ3NnYtNDQuMTE3aDYyLjQ3NlYxNjQuOThjLTI3LjAzMy0xMi40ODctNDUuOTktMzkuODM5LTQ1Ljk5LTcxLjUzNSAwLTQzLjY2NSAzNS40OTUtNzkuMTIxIDc5LjA1NC03OS4xMjFzNzkuMTIxIDM1LjQwMiA3OS4xMjEgNzkuMTIxYzAgMzEuNjctMTguOTMgNTkuMDM1LTQ2LjAwMyA3MS41MzV2MTQuNTk5aDcwLjcyNXY0NC4yMWgtNzAuNzUydjM4LjQwNWg3MC43MjV2NDQuMTNoLTcwLjcyNXYzOC40MThoNzAuNzI1djQ0LjEzaC03MC43MjV2MzguMzUyaDcwLjcyNXY0NC4xNTdoLTcwLjcyNXYzOC4zNzhoNzAuNzI1djQ0LjExN2gtNzAuNzI1djM5LjQwMWg3MC43MjV2ODguMjg3aC03MC44OThjNDAuNjYzIDEzLjgyOSA3MC4xMjcgNTEuODIyIDcwLjEyNyA5Ny4wMTV6bS0xNjEuODI4IDBjMCAzMi41MDYgMjYuNDM2IDU4Ljg4OSA1OC44ODkgNTguODg5IDMyLjQ2NyAwIDU4Ljg0OS0yNi4zODIgNTguODQ5LTU4Ljg4OSAwLTMyLjQxMy0yNi4zNjktNTguODM2LTU4Ljg0OS01OC44MzYtMzIuNDQgMC01OC44ODkgMjYuNDIyLTU4Ljg4OSA1OC44MzZ6bTkzLjgtNjg0Ljk0OGMwLTE5LjMxNS0xNS42MzYtMzQuOTM3LTM0LjkxMS0zNC45MzdzLTM0LjkzNyAxNS42MjItMzQuOTM3IDM0LjkzN2MwIDE5LjI3NSAxNS42NDkgMzQuOTUxIDM0LjkzNyAzNC45NTEgMTkuMjg5LjAyNyAzNC45MTEtMTUuNjc1IDM0LjkxMS0zNC45NTF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kkiIgZ2x5cGgtbmFtZT0iZXNjYWxhMiIgZD0iTTEwMDkuMjAyIDIyLjIxNkw2MDUuMzMzIDQyNi4wODNjOTYuNTk1IDEzMS4yMDkgODUuOTI0IDMxNy4xNTYtMzIuNzExIDQzNS44MDItMTMwLjgyNiAxMzAuODE4LTM0My42ODkgMTMwLjgxOC00NzQuNTA3IDBzLTEzMC44MTgtMzQzLjY4MSAwLTQ3NC40OTljMTE4LjY2LTExOC42NiAzMDQuNjA1LTEyOS4zMTkgNDM1LjgwOC0zMi43MzhMOTM3Ljc4Mi00OS4yMDZjMTkuNzEzLTE5LjcyNSA1MS42OTMtMTkuNzI1IDcxLjQyMSAwIDE5LjcyNyAxOS43MjkgMTkuNzI3IDUxLjcyIDAgNzEuNDIzek01MDEuMjAxIDQ1OC44MDNjLTkxLjQzOC05MS40MjMtMjQwLjIxOS05MS40MjMtMzMxLjY3IDAtOTEuNDQyIDkxLjQzNi05MS40NDIgMjQwLjIyNiAwIDMzMS42NTcgOTEuNDQ4IDkxLjQ0MiAyNDAuMjMyIDkxLjQ0MiAzMzEuNjcgMCA5MS40My05MS40MzIgOTEuNDMtMjQwLjIyMiAwLTMzMS42NTd6TTI1MC4yOSA1NTYuOTAxaDEzLjQ4MXYtMzMuNTE5aC02OC45OTh2MzMuNTE5aDE2LjAyNXYxNDMuNzkybC0yMi41NTYtMTcuNzk2LTguODIyIDM0LjczOCAzOC44MjMgMjcuNzQyaDMyLjA0N1Y1NTYuOTAxem0xMTUuMTQzLTcuNDI5YzAtMTUuMTkzLTEwLjY0LTI2LjA5Mi0yNS4yODktMjYuMDkyLTE0LjIyOCAwLTI0Ljk1MyAxMS4xMzUtMjQuOTUzIDI1LjkxNCAwIDE1LjE4NyAxMC42NCAyNi4yMjcgMjUuMzAxIDI2LjIyNyAxNC4yNjEuMDAyIDI0LjUxMi0xMC43MTUgMjQuOTQxLTI2LjA0OXptMCAxMTEuODQ1YzAtMTUuMTg3LTEwLjY0LTI2LjA5Mi0yNS4yODktMjYuMDkyLTE0LjIyOCAwLTI0Ljk1MyAxMS4xNDMtMjQuOTUzIDI1LjkxNiAwIDE1LjIwNSAxMC42NCAyNi4yMzEgMjUuMzAxIDI2LjIzMSAxNC4yNjEuMDEyIDI0LjUxMi0xMC43MDIgMjQuOTQxLTI2LjA1NXptMTI3Ljk4NC0xMDQuNDE2di0zMy41MTloLTY4Ljk5OHYzMy41MTloMTQuNjg2djE0My43OTJsLTIyLjU3NC0xNy43OTYtOC44MTYgMzQuNzM4IDM4LjgxOSAyNy43NDJoMzIuMDQ3VjU1Ni44OThoMTQuODM3eiIvPjxnbHlwaCB1bmljb2RlPSLupJMiIGdseXBoLW5hbWU9ImVzY2FsYTMiIGQ9Ik05NjEuNTA0IDY1Ni45ODJINjguNDc5Yy0yMi44ODQgMC00MS40MjMtMTguNTUxLTQxLjQyMy00MS40MTNWMjg0LjNjMC0yMi44ODQgMTguNTQtNDEuNDEzIDQxLjQyMy00MS40MTNoODkzLjAxNGMyMi44NjIgMCA0MS40MjMgMTguNTI5IDQxLjQyMyA0MS40MTNoLjAxMXYzMzEuMjY5YzAgMjIuODYyLTE4LjU1MSA0MS40MTMtNDEuNDIzIDQxLjQxM3ptLTMwLjgzOS0zMTYuODI1YzAtMTUuMTAxLTEyLjI1Ni0yNy4zNTctMjcuMzU3LTI3LjM1N0gxMjIuMzA5Yy0xNS4xMDEgMC0yNy4zNTcgMTIuMjU2LTI3LjM1NyAyNy4zNTd2MjE4Ljg2N2MwIDE1LjEwMSAxMi4yNTYgMjcuMzU3IDI3LjM1NyAyNy4zNTdoNzgwLjk5OWMxNS4xMDEgMCAyNy4zNTctMTIuMjU2IDI3LjM1Ny0yNy4zNTdWMzQwLjE1N3pNMzI2Ljk5IDUyNS44OTlIMTk2LjEyM2MtNi44ODggMC0xMi40Ni01LjU4My0xMi40Ni0xMi40NlYzODIuNTgzYzAtNi44ODggNS41ODMtMTIuNDcxIDEyLjQ2LTEyLjQ3MUgzMjYuOTljNi44NzcgMCAxMi40NzEgNS41OTQgMTIuNDcxIDEyLjQ3MXYxMzAuODU2Yy0uMDExIDYuODY2LTUuNTk0IDEyLjQ2LTEyLjQ3MSAxMi40NnptMjUwLjQzOCAwSDQ0Ni41NzJjLTYuODc3IDAtMTIuNDYtNS41ODMtMTIuNDYtMTIuNDZWMzgyLjU4M2MwLTYuODg4IDUuNTgzLTEyLjQ3MSAxMi40Ni0xMi40NzFoMTMwLjg1NmM2Ljg3NyAwIDEyLjQ2IDUuNTk0IDEyLjQ2IDEyLjQ3MXYxMzAuODU2Yy4wMTEgNi44NjYtNS41NjIgMTIuNDYtMTIuNDYgMTIuNDZ6bTI1MC40NiAwSDY5Ny4wMWMtNi44NzcgMC0xMi40Ni01LjU4My0xMi40Ni0xMi40NlYzODIuNTgzYzAtNi44ODggNS41OTQtMTIuNDcxIDEyLjQ2LTEyLjQ3MWgxMzAuODc4YzYuODY2IDAgMTIuNDcxIDUuNTk0IDEyLjQ3MSAxMi40NzF2MTMwLjg1NmMwIDYuODY2LTUuNTk0IDEyLjQ2LTEyLjQ3MSAxMi40NnoiLz48Z2x5cGggdW5pY29kZT0i7qSUIiBnbHlwaC1uYW1lPSJmbGVjaGEiIGQ9Ik0xMDA2LjcxOSAyMTQuODU2TDgyMC41MDcgNDAxLjA3MiA5ODIuMDggNTYyLjY0N2E1OC45NzUgNTguOTc1IDAgMDExNS43MDQgNTUuMjQ3IDU4Ljk3IDU4Ljk3IDAgMDEtMzguNzI0IDQyLjQyTDc3LjY5MSA5NTQuODIzYTU4Ljk2MSA1OC45NjEgMCAwMS02MC40MS0xNC4yMzYgNTguOTkgNTguOTkgMCAwMS0xNC4yMzgtNjAuNDFMMjk3LjU2Mi0xLjE5NGE1OC45ODcgNTguOTg3IDAgMDE0Mi40Mi0zOC43MjRjMTkuODc0LTQuNjkyIDQwLjc4OCAxLjI0NyA1NS4yNDcgMTUuNzA0bDE2NS44MzMgMTY1LjgzM0w3NDcuMjc4LTQ0LjU5M2MxMS41Mi0xMS41MiAyNi42MTgtMTcuMjgxIDQxLjcxNC0xNy4yODEgMTUuMDk0IDAgMzAuMTk2IDUuNzYxIDQxLjcxMiAxNy4yODFsMTc2LjAxNyAxNzYuMDE3YzIzLjAzNiAyMy4wMzggMjMuMDM2IDYwLjM5My0uMDAyIDgzLjQzMXpNNzk5Ljg1NSA2My4zNTNMNjEwLjcxOCAyNTAuNDM0Yy0xMi41ODcgMTIuNTg3LTI5LjA4NCAxOC44ODMtNDUuNTc4IDE4Ljg4M3MtMzIuOTk1LTYuMjk2LTQ1LjU3Ni0xOC44ODNsLTE1My4wOS0xNTMuMDktMjQ3Ljg0MyA3NDEuNyA3NDEuNjk1LTI0Ny44NDUtMTQ4LjQzNS0xNDguNDMzYy0yNS4xNzQtMjUuMTctMjUuMTc0LTY1Ljk4NyAwLTkxLjE2MWwxODkuMTMxLTE4Ny4wODdMNzk5Ljg1NSA2My4zNTN6Ii8+PGdseXBoIHVuaWNvZGU9Iu6klSIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFiYWpvIiBkPSJNNTE2Ljk2NCAzNDkuOTU4TDE2Mi41MSA3MDQuNDE0Yy0zMC41NTYgMzAuNTU2LTczLjMzNiAzMC41NTYtMTAzLjg5MiAwLTMwLjU1NC0zMC41NTYtMzAuNTU0LTc2LjM5IDAtMTA2Ljk0OGw0MDYuNC00MDYuNDAyYzE1LjI4LTE1LjI4IDMwLjU1Ni0yMS4zOSA1MS45NDgtMjEuMzlzMzYuNjY4IDYuMTEyIDUxLjk0NiAyMS4zOWw0MDYuNCA0MDYuNDAyYzE1LjI4IDE1LjI4IDIxLjM5IDMzLjYxIDIxLjM5IDUxLjk0NiAwIDE4LjMzNC02LjExMiAzOS43MjQtMjEuMzkgNTUuMDAyLTMwLjU1NiAzMC41NTYtNzMuMzM0IDMwLjU1Ni0xMDMuODkgMEw1MTYuOTY0IDM0OS45NTh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kliIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFiYWpvMiIgZD0iTTUxMiA5NjBDMjI5LjI0OCA5NjAgMCA3MzAuNzUyIDAgNDQ4UzIyOS4yNDgtNjQgNTEyLTY0czUxMiAyMjkuMjQ4IDUxMiA1MTItMjI5LjI0OCA1MTItNTEyIDUxMnptMC05MjhDMjgyLjYyNCAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNjI0IDQxNiA0MTYgNDE2IDQxNi0xODYuNjI0IDQxNi00MTZTNzQxLjM3NiAzMiA1MTIgMzJ6bTE3NiA1NDRjLTE0LjAxNiAwLTI2LjQ5Ni02LjA4LTM1LjI2NC0xNS42NDhsLS4xMjguMDk2TDUxMiA0MDcuMDQgMzcxLjM2IDU2MC40NDhsLS4xMjgtLjA5NkMzNjIuNDk2IDU2OS45MiAzNTAuMDE2IDU3NiAzMzYgNTc2Yy0yNi40OTYgMC00OC0yMS41MDQtNDgtNDggMC0xMi41MTIgNC44OTYtMjMuNzc2IDEyLjczNi0zMi4zNTJsLS4xMjgtLjA5NiAxNzYtMTkyQzQ4NS43MjggMjkzLjY2NCA0OTguNTI4IDI4OCA1MTIgMjg4czI2LjI3MiA1LjY2NCAzNS4zNiAxNS41NTJsMTc2IDE5Mi0uMTI4LjA5NkM3MzEuMTA0IDUwNC4yMjQgNzM2IDUxNS40ODggNzM2IDUyOGMwIDI2LjQ5Ni0yMS41MDQgNDgtNDggNDh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6klyIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFycmliYSIgZD0iTTUxNS40MzggNTQ3LjA1bDM1NC40NTYtMzU0LjQ1NmMzMC41NTYtMzAuNTU2IDczLjMzNi0zMC41NTYgMTAzLjg5MiAwIDMwLjU1NCAzMC41NTYgMzAuNTU0IDc2LjM5IDAgMTA2Ljk0OGwtNDA2LjQgNDA2LjQwMmMtMTUuMjggMTUuMjgtMzAuNTU2IDIxLjM5LTUxLjk0OCAyMS4zOXMtMzYuNjY4LTYuMTEyLTUxLjk0Ni0yMS4zOUw1Ny4wOTIgMjk5LjU0Yy0xNS4yOC0xNS4yOC0yMS4zOS0zMy42MS0yMS4zOS01MS45NDYgMC0xOC4zMzQgNi4xMTItMzkuNzI0IDIxLjM5LTU1LjAwMiAzMC41NTYtMzAuNTU2IDczLjMzNC0zMC41NTYgMTAzLjg5IDBMNTE1LjQzOCA1NDcuMDV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kmCIgZ2x5cGgtbmFtZT0iZmxlY2hhLWFycmliYTIiIGQ9Ik03MjMuMzYgNDAwLjQ0OGwtMTc2IDE5MkM1MzguMjcyIDYwMi4zMzYgNTI1LjQ3MiA2MDggNTEyIDYwOHMtMjYuMjcyLTUuNjY0LTM1LjM5Mi0xNS41NTJsLTE3Ni0xOTIgLjEyOC0uMDk2QzI5Mi44OTYgMzkxLjc3NiAyODggMzgwLjUxMiAyODggMzY4YzAtMjYuNDk2IDIxLjUwNC00OCA0OC00OCAxNC4wMTYgMCAyNi40OTYgNi4wOCAzNS4yNjQgMTUuNjQ4bC4xMjgtLjA5Nkw1MTIgNDg4Ljk2bDE0MC42MDgtMTUzLjQwOC4xMjguMDk2QzY2MS41MDQgMzI2LjA4IDY3NC4wMTYgMzIwIDY4OCAzMjBjMjYuNDk2IDAgNDggMjEuNTA0IDQ4IDQ4IDAgMTIuNTEyLTQuODk2IDIzLjc3Ni0xMi43MzYgMzIuMzUybC4wOTYuMDk2ek01MTIgOTYwQzIyOS4yNDggOTYwIDAgNzMwLjc1MiAwIDQ0OFMyMjkuMjQ4LTY0IDUxMi02NHM1MTIgMjI5LjI0OCA1MTIgNTEyLTIyOS4yNDggNTEyLTUxMiA1MTJ6bTAtOTI4QzI4Mi42MjQgMzIgOTYgMjE4LjYyNCA5NiA0NDhzMTg2LjYyNCA0MTYgNDE2IDQxNiA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupJkiIGdseXBoLW5hbWU9ImZsZWNoYS1kZXJlY2hhIiBkPSJNNjE0Ljc0NiA0NDkuMjY0TDI2MC4yOSA5NC44MDhjLTMwLjU1Ni0zMC41NTYtMzAuNTU4LTczLjMzNiAwLTEwMy44OTIgMzAuNTU2LTMwLjU1NCA3Ni4zOS0zMC41NTQgMTA2Ljk0OCAwbDQwNi40MDIgNDA2LjRjMTUuMjggMTUuMjggMjEuMzkgMzAuNTU2IDIxLjM5IDUxLjk0OHMtNi4xMTIgMzYuNjY4LTIxLjM5IDUxLjk0NmwtNDA2LjQgNDA2LjRDMzUxLjk2IDkyMi44OSAzMzMuNjMgOTI5IDMxNS4yOTQgOTI5Yy0xOC4zMzQgMC0zOS43MjQtNi4xMTItNTUuMDAyLTIxLjM5LTMwLjU1Ni0zMC41NTYtMzAuNTU2LTczLjMzNCAwLTEwMy44OWwzNTQuNDU0LTM1NC40NTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kmiIgZ2x5cGgtbmFtZT0iZmxlY2hhLWRlcmVjaGEyIiBkPSJNNDY0LjQ0OCA2NTkuMzZsLS4wOTYtLjEyOEM0NTUuNzc2IDY2Ny4xMDQgNDQ0LjUxMiA2NzIgNDMyIDY3MmMtMjYuNDk2IDAtNDgtMjEuNTA0LTQ4LTQ4IDAtMTQuMDE2IDYuMDgtMjYuNDk2IDE1LjY0OC0zNS4yNjRsLS4wOTYtLjEyOEw1NTIuOTYgNDQ4IDM5OS41NTIgMzA3LjM2bC4wOTYtLjEyOEMzOTAuMDggMjk4LjQ5NiAzODQgMjg2LjAxNiAzODQgMjcyYzAtMjYuNDk2IDIxLjUwNC00OCA0OC00OCAxMi41MTIgMCAyMy43NzYgNC44OTYgMzIuMzUyIDEyLjczNmwuMDk2LS4xMjggMTkyIDE3NkM2NjYuMzM2IDQyMS43MjggNjcyIDQzNC41MjggNjcyIDQ0OHMtNS42NjQgMjYuMjcyLTE1LjU1MiAzNS4zOTJsLTE5MiAxNzUuOTY4ek01MTIgOTYwQzIyOS4yNDggOTYwIDAgNzMwLjc1MiAwIDQ0OFMyMjkuMjQ4LTY0IDUxMi02NHM1MTIgMjI5LjI0OCA1MTIgNTEyLTIyOS4yNDggNTEyLTUxMiA1MTJ6bTAtOTI4QzI4Mi42MjQgMzIgOTYgMjE4LjYyNCA5NiA0NDhzMTg2LjYyNCA0MTYgNDE2IDQxNiA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupJsiIGdseXBoLW5hbWU9ImZsZWNoYS1kZXJlY2hhMyIgZD0iTTI1Ni4wNTkgNC42NjJjMjQ0LjgzLTE0MS4zNTMgNTU3LjkxLTU3LjQ0OSA2OTkuMjU0IDE4Ny4zNjggMTQxLjM4MiAyNDQuODU5IDU3LjQ4OCA1NTcuOTYyLTE4Ny4zNTUgNjk5LjMwMy0yNDQuODI2IDE0MS4zNi01NTcuODkxIDU3LjQ2NS02OTkuMjc2LTE4Ny4zNThDLTcyLjY5NCA0NTkuMTI5IDExLjIxNyAxNDYuMDM5IDI1Ni4wNiA0LjY2M3ptLTk4LjcxMyA2NDguMWMxMTMuMDg1IDE5NS44ODEgMzYzLjU2MiAyNjIuOTk0IDU1OS40MiAxNDkuOTEyQzkxMi42NDMgNjg5LjU5MiA5NzkuNzYgNDM5LjEwNiA4NjYuNjU1IDI0My4yNDggNzUzLjU3NiA0Ny4zNTEgNTAzLjExMy0xOS43MTYgMzA3LjI0MiA5My4zNjkgMTExLjM3OCAyMDYuNDU0IDQ0LjI1OCA0NTYuODg5IDE1Ny4zNDcgNjUyLjc2M3pNMjgxLjY1MyA0NDguMDF2LS4wMjljMC0yOC4yMzUgMjIuOTE0LTUxLjE5MiA1MS4xNzktNTEuMTkyaDIxMy41NTZsLTU3LjQwMy01Ny4zODdjLTE5Ljk2Ny0xOS45NjctMTkuOTY3LTUyLjM5NSAwLTcyLjM4NSAxOS45ODMtMTkuOTggNTIuNDIxLTE5Ljk4IDcyLjQwNSAwbDE0NC43NyAxNDQuNzdjMTkuOTgzIDIwLjAwMyAxOS45ODMgNTIuNDM0IDAgNzIuNDI0TDU2MS4zOSA2MjguOTc1Yy0xOS45ODMgMTkuOTk2LTUyLjQyMSAxOS45OTYtNzIuNDA1IDAtMTkuOTY3LTE5Ljk1Ny0xOS45NjctNTIuMzg5IDAtNzIuMzcybDU3LjM4LTU3LjM5N0gzMzIuODM5Yy0yOC4yNjguMDAzLTUxLjE4Mi0yMi45MDEtNTEuMTg2LTUxLjE5NXoiLz48Z2x5cGggdW5pY29kZT0i7qScIiBnbHlwaC1uYW1lPSJmbGVjaGEtZGVzaGFjZXIiIGQ9Ik0wIDg3OS45OTl2LTI1NkMwIDU5Ny41MDQgMjEuNTA0IDU3NiA0Ny45OTkgNTc2aDI1NkMzMzAuNDk2IDU3NiAzNTIgNTk3LjUwNCAzNTIgNjI0LjAwMXMtMjEuNTA0IDQ4LjAwMS00OC4wMDEgNDguMDAxSDE2MS42M0MyMzcuNzYgNzkxLjI2MyAzNjguNDQ3IDg2NCA1MTIgODY0YzIyOS4zNzYgMCA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyYy0xNjkuMDg5IDAtMzIwLjA5NiAxMDAuOTkzLTM4NC42NzIgMjU3LjMxMy01LjA4NyAxMi4yMjUtMTQuNjU1IDIxLjMxMS0yNS45ODUgMjYuMDE2cy0yNC40NDkgNS4wODctMzYuNjcxLjAzM2E0Ny45MzQgNDcuOTM0IDAgMDEtMjYuMDQ5LTI2LjAxNmMtNC43MDQtMTEuMjk3LTUuMDg3LTI0LjQxNi0uMDMzLTM2LjY3MUMxMTguMDc3IDYwLjMyMSAzMDMuOTAyLTYzLjk5OSA1MTItNjMuOTk5YzI4Mi4zMDUgMCA1MTIgMjI5LjY5NSA1MTIgNTEycy0yMjkuNjk1IDUxMi01MTIgNTEyYy0xNjcuNDI0IDAtMzIwLjcwNS04MC4zMjEtNDE2LTIxMy42Vjg4MGMwIDI2LjQ5Ny0yMS41MDQgNDguMDAxLTQ4LjAwMSA0OC4wMDFTMCA5MDYuNDk3IDAgODgweiIvPjxnbHlwaCB1bmljb2RlPSLupJ0iIGdseXBoLW5hbWU9ImZsZWNoYS1penF1aWVyZGEiIGQ9Ik00MTcuNjU0IDQ0Ny43NEw3NzIuMTEgODAyLjE5NGMzMC41NTYgMzAuNTU2IDMwLjU1NiA3My4zMzYgMCAxMDMuODkyLTMwLjU1NiAzMC41NTQtNzYuMzkgMzAuNTU0LTEwNi45NDggMGwtNDA2LjQwMi00MDYuNGMtMTUuMjgtMTUuMjgtMjEuMzktMzAuNTU2LTIxLjM5LTUxLjk0OHM2LjExMi0zNi42NjggMjEuMzktNTEuOTQ2bDQwNi40MDItNDA2LjRjMTUuMjgtMTUuMjggMzMuNjEtMjEuMzkgNTEuOTQ2LTIxLjM5IDE4LjMzNCAwIDM5LjcyNCA2LjExMiA1NS4wMDIgMjEuMzkgMzAuNTU2IDMwLjU1NiAzMC41NTYgNzMuMzM0IDAgMTAzLjg5TDQxNy42NTQgNDQ3Ljc0eiIvPjxnbHlwaCB1bmljb2RlPSLupJ4iIGdseXBoLW5hbWU9ImZsZWNoYS1penF1aWVyZGEyIiBkPSJNNTkyIDY3MmMtMTIuNTEyIDAtMjMuNzc2LTQuODk2LTMyLjM1Mi0xMi43MzZsLS4wOTYuMTI4LTE5Mi0xNzZDMzU3LjY2NCA0NzQuMjcyIDM1MiA0NjEuNDcyIDM1MiA0NDhzNS42NjQtMjYuMjcyIDE1LjU1Mi0zNS4zOTJsMTkyLTE3NiAuMDk2LjEyOEM1NjguMjI0IDIyOC44OTYgNTc5LjQ4OCAyMjQgNTkyIDIyNGMyNi40OTYgMCA0OCAyMS41MDQgNDggNDggMCAxMy45ODQtNi4wOCAyNi40OTYtMTUuNjQ4IDM1LjI2NGwuMDk2LjEyOEw0NzEuMDQgNDQ4bDE1My40MDggMTQwLjY0LS4wOTYuMTI4QzYzMy45MiA1OTcuNTA0IDY0MCA2MDkuOTg0IDY0MCA2MjRjMCAyNi40OTYtMjEuNTA0IDQ4LTQ4IDQ4em0tODAgMjg4QzIyOS4yNDggOTYwIDAgNzMwLjc1MiAwIDQ0OFMyMjkuMjQ4LTY0IDUxMi02NHM1MTIgMjI5LjI0OCA1MTIgNTEyLTIyOS4yNDggNTEyLTUxMiA1MTJ6bTAtOTI4QzI4Mi42MjQgMzIgOTYgMjE4LjYyNCA5NiA0NDhzMTg2LjYyNCA0MTYgNDE2IDQxNiA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupJ8iIGdseXBoLW5hbWU9ImZsZWNoYS1penF1aWVyZGEzIiBkPSJNOTU1LjMxOSA3MDMuOTc1Yy0xNDEuMzg1IDI0NC44MjItNDU0LjQ1MiAzMjguNzE3LTY5OS4yNzQgMTg3LjM1Ny0yNDQuODQyLTE0MS4zNC0zMjguNzM5LTQ1NC40NDUtMTg3LjM1NC02OTkuM0MyMTAuMDMxLTUyLjc4NCA1MjMuMTEzLTEzNi42OTEgNzY3LjkzOSA0LjY2NWMyNDQuODQ1IDE0MS4zNzYgMzI4Ljc1NiA0NTQuNDY1IDE4Ny4zOCA2OTkuMzF6TTcxNi43NiA5My4zNzFDNTIwLjg5LTE5LjcxNyAyNzAuNDI3IDQ3LjM1MyAxNTcuMzQ4IDI0My4yNSA0NC4yNDQgNDM5LjEwNyAxMTEuMzYgNjg5LjU5MyAzMDcuMjM2IDgwMi42NzVjMTk1Ljg1NyAxMTMuMDgxIDQ0Ni4zMzMgNDUuOTY5IDU1OS40MTgtMTQ5LjkxMUM5NzkuNzQyIDQ1Ni44OSA5MTIuNjIgMjA2LjQ1NyA3MTYuNzU5IDkzLjM3MnpNNjkxLjE2NiA0OTkuMjFINDc3LjYzN2w1Ny4zOCA1Ny4zOTNjMTkuOTY3IDE5Ljk4MyAxOS45NjcgNTIuNDE1IDAgNzIuMzcyLTE5Ljk4MyAxOS45OTYtNTIuNDIxIDE5Ljk5Ni03Mi40MDQgMGwtMTQ0Ljc3LTE0NC43NjNjLTE5Ljk4My0xOS45OS0xOS45ODMtNTIuNDIxIDAtNzIuNDI0bDE0NC43Ny0xNDQuNzdjMTkuOTgzLTE5Ljk4IDUyLjQyMS0xOS45OCA3Mi40MDQgMCAxOS45NjcgMTkuOTkgMTkuOTY3IDUyLjQxOCAwIDcyLjM4NWwtNTcuNDAzIDU3LjM4N2gyMTMuNTU1YzI4LjI2NSAwIDUxLjE3OSAyMi45NTcgNTEuMTc5IDUxLjE5MnYuMDI2Yy0uMDAzIDI4LjI5Ny0yMi45MTggNTEuMjAyLTUxLjE4MiA1MS4yMDJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6koCIgZ2x5cGgtbmFtZT0iZmxlY2hhLWxpbmsiIGQ9Ik03NDkuNzE0IDgxMy43MTRIMjc0LjI4NWMtMjUuMTQzIDAtNDYuNjY2LTguOTUyLTY0LjU3MS0yNi44NTctMTcuOTA0LTE3LjkwNS0yNi44NTctMzkuNDI5LTI2Ljg1Ny02NC41NzFWMjQ2Ljg1N2MwLTI1LjE0MyA4Ljk1My00Ni42NjYgMjYuODU3LTY0LjU3MSAxNy45MDUtMTcuOTA0IDM5LjQyOS0yNi44NTcgNjQuNTcxLTI2Ljg1N2g0NzUuNDI5YzI1LjE0MyAwIDQ2LjY2NyA4Ljk1MyA2NC41NzEgMjYuODU3czI2Ljg1NyAzOS40MjkgMjYuODU3IDY0LjU3MXY0NzUuNDI5YzAgMjUuMTQzLTguOTUyIDQ2LjY2Ny0yNi44NTcgNjQuNTcxcy0zOS40MjkgMjYuODU3LTY0LjU3MSAyNi44NTd6bTE2NC41NzItOTEuNDI4VjI0Ni44NTdjMC00NS4zMzMtMTYuMDk1LTg0LjA5NS00OC4yODYtMTE2LjI4NnMtNzAuOTUyLTQ4LjI4Ni0xMTYuMjg2LTQ4LjI4NkgyNzQuMjg1Yy00NS4zMzMgMC04NC4wOTUgMTYuMDk2LTExNi4yODYgNDguMjg2LTMyLjE5IDMyLjE5MS00OC4yODYgNzAuOTUzLTQ4LjI4NiAxMTYuMjg2djQ3NS40MjljMCA0NS4zMzQgMTYuMDk1IDg0LjA5NSA0OC4yODYgMTE2LjI4NnM3MC45NTMgNDguMjg2IDExNi4yODYgNDguMjg2aDQ3NS40MjljNDUuMzM0IDAgODQuMDk2LTE2LjA5NSAxMTYuMjg2LTQ4LjI4NiAzMi4xOTEtMzIuMTkgNDguMjg2LTcwLjk1MiA0OC4yODYtMTE2LjI4NnptLTE1Ni43MzItMzEuMDg3VjQ4Mi4wMzNjMC0yMC45MTctMTUuMjEyLTM2LjEzMS0zNi4xMjctMzYuMTMxLTIwLjkxNyAwLTM2LjEyOSAxNS4yMTQtMzYuMTI5IDM2LjEzMWwtLjk1IDEyMC43NDUtMjIyLjQ3Ny0yMjIuNDc5Yy0xNC4yNjEtMTQuMjYxLTM3LjA3OS0xNC4yNjEtNTEuMzQxIDAtMTQuMjYzIDE0LjI2My0xNC4yNjMgMzcuMDgtLjAwMiA1MS4zNDFsMjIyLjQ3NyAyMjIuNDgxSDUxMy4yMTFjLTIwLjkxNyAwLTM3LjA3OSAxNi4xNjItMzcuMDc5IDM3LjA3OSAwIDIwLjkxNSAxNS4yMTEgMzYuMTI5IDM2LjEyOCAzNi4xMjloMjA5LjE2N2M5LjUwNyAwIDE5LjAxNC0zLjgwNCAyNS42Ny0xMC40NTggNi42NTUtNi42NTYgMTAuNDU3LTE2LjE2NCAxMC40NTctMjUuNjcxeiIvPjxnbHlwaCB1bmljb2RlPSLupKEiIGdseXBoLW5hbWU9ImZsZWNoYXMtbW92ZXIiIGQ9Ik05NzIgNDgyTDgyNiA2MjhjLTE4IDE4LTQ0IDE4LTYwIDAtMTgtMTgtMTgtNDQgMC02Mmw3MC03Mkg1NTR2Mjg4bDcwLTcwYzgtOCAyMC0xMiAzMi0xMnMyMiA0IDMwIDEyYzE4IDE4IDE4IDQ0IDAgNjJMNTQyIDkxOGMtOCA4LTIwIDE0LTMyIDE0cy0yMi02LTMwLTE0TDMzNCA3NzRjLTE4LTE4LTE4LTQ0IDAtNjJzNDYtMTggNjIgMGw3MCA3MFY0OTRIMTg0bDcwIDcyYzE4IDE4IDE4IDQ0IDAgNjJzLTQ0IDE4LTYyIDBMNDggNDgyYy04LTgtMTQtMTgtMTQtMzBzNi0yNCAxNC0zMmwxNDQtMTQ2YzgtOCAyMC0xMiAzMi0xMnMyMiA2IDMwIDE0YzE4IDE4IDE4IDQyIDAgNjBsLTcwIDcyaDI4MlYxMjZsLTcwIDcwYy0xOCAxOC00NCAxNi02MiAwLTE4LTE4LTE4LTQ2IDAtNjJMNDgwLTEwYzgtOCAxOC0xNCAzMC0xNHMyNCA2IDMyIDE0bDE0NCAxNDRjMTggMTggMTggNDYgMCA2Mi0xOCAxOC00NiAxOC02MiAwbC03MC03MHYyODJoMjgybC03MC03MmMtMTgtMTgtMTgtNDIgMC02MCA4LTggMTgtMTQgMzAtMTRzMjIgNCAzMCAxMmwxNDYgMTQ2YzggOCAxMiAyMCAxMiAzMnMtNCAyMi0xMiAzMHoiLz48Z2x5cGggdW5pY29kZT0i7qSiIiBnbHlwaC1uYW1lPSJncHMiIGQ9Ik01MTEuOTY4IDk2MEMyMjkuNjU4IDk2MCAuMDA4IDczMC4zMTcuMDA4IDQ0OC4wMDkuMDA4IDE2NS42ODYgMjI5LjY1OC02NCA1MTEuOTY4LTY0YzI4Mi4zNDQgMCA1MTIuMDI1IDIyOS42ODYgNTEyLjAyNSA1MTIuMDA5QzEwMjMuOTkzIDczMC4zMTcgNzk0LjMxIDk2MCA1MTEuOTY4IDk2MHptMC05MzMuNjkxYy0yMzIuNDg5IDAtNDIxLjY1NCAxODkuMTgtNDIxLjY1NCA0MjEuNyAwIDIzMi41MjMgMTg5LjE2NSA0MjEuNjg3IDQyMS42NTQgNDIxLjY4NyAyMzIuNTU0IDAgNDIxLjcxNi0xODkuMTYyIDQyMS43MTYtNDIxLjY4NyAwLTIzMi41MjMtMTg5LjE2Mi00MjEuNy00MjEuNzE2LTQyMS43ek02OTUuNDU2IDY2OS4xNEwyNTAuNTE4IDQzMS44MzNjLTEzLjExOC03LjAwMi0yMC4wNjYtMjEuODA0LTE3LjA4Ny0zNi4zODEgMy4wMi0xNC41NjcgMTUuMjQ4LTI1LjQ0MSAzMC4wNjgtMjYuNzA0bDE2My4xNTctMTMuODM3IDEzLjgzNy0xNjMuMTcyYzEuMjQzLTE0LjgyIDEyLjEzLTI3LjA1IDI2LjY5Mi0zMC4wNTJhMzQuMDQgMzQuMDQgMCAwMTYuNzg2LS42ODZjMTIuMTk3IDAgMjMuNjc3IDYuNjkgMjkuNjA2IDE3Ljc3M0w3NDAuODY5IDYyMy43MWM2Ljk1MSAxMy4wNTMgNC41ODggMjkuMS01Ljg2NSAzOS41NDMtMTAuNDY2IDEwLjQ2MS0yNi41MDEgMTIuODU0LTM5LjU0NiA1Ljg4OHoiLz48Z2x5cGggdW5pY29kZT0i7qSjIiBnbHlwaC1uYW1lPSJncHMyIiBkPSJNOTczLjg1NSA0OTguMTUzaC01OC44OWMtMjAuMTg5IDE4Ni40MjUtMTY3LjI2IDMzNS4wNjMtMzUyLjc5NSAzNTguMDk1djUzLjU4YzAgMjcuNzI4LTIyLjQzMiA1MC4xNy01MC4xNyA1MC4xNy0yNy42NzMgMC01MC4xMzUtMjIuNDQyLTUwLjEzNS01MC4xN3YtNTMuNThjLTE4NS41NDEtMjMuMDMyLTMzMi42MTItMTcxLjY2Ny0zNTIuNzY2LTM1OC4wOTVoLTU4Ljg5QzIyLjQ2NSA0OTguMTUzIDAgNDc1LjcxMSAwIDQ0OC4wMThjMC0yNy43MjIgMjIuNDY1LTUwLjE2NiA1MC4yMTEtNTAuMTY2aDYwLjc2QzEzNi4zMTUgMjE3LjM3OCAyODAuNDk4IDc0LjgwNyA0NjEuODY3IDUyLjI5NXYtNjYuMTE0YzAtMjcuNzI0IDIyLjQ2NS01MC4xNzIgNTAuMTM1LTUwLjE3MiAyNy43MzggMCA1MC4xNyAyMi40NDggNTAuMTcgNTAuMTcydjY2LjExNGMxODEuMzMgMjIuNTEyIDMyNS41NTYgMTY1LjA4MyAzNTAuODUxIDM0NS41NTdoNjAuODM0YzI3LjcwOSAwIDUwLjE0NSAyMi40NDQgNTAuMTQ1IDUwLjE2Ni0uMDAyIDI3LjY5My0yMi40MzYgNTAuMTM1LTUwLjE0NyA1MC4xMzV6TTUxMiAxNDguMTYxYy0xNjguNzQ5IDAtMzA2LjA4OCAxMzcuMzI5LTMwNi4wODggMzA2LjEwNiAwIDE2OC43ODQgMTM3LjMzOSAzMDYuMTAyIDMwNi4wODggMzA2LjEwMiAxNjguODA4IDAgMzA2LjEyMy0xMzcuMzIgMzA2LjEyMy0zMDYuMTAyIDAtMTY4Ljc3Ni0xMzcuMzEyLTMwNi4xMDYtMzA2LjEyMy0zMDYuMTA2em0wIDQ3NC43NTVjLTkzLjEwMiAwLTE2OC42MjQtNzUuNTAyLTE2OC42MjQtMTY4LjY0NyAwLTkzLjEyMSA3NS41MTgtMTY4LjY0OSAxNjguNjI0LTE2OC42NDkgOTMuMTggMCAxNjguNjI0IDc1LjUyNiAxNjguNjI0IDE2OC42NDkgMCA5My4xNDMtNzUuNDQgMTY4LjY0Ny0xNjguNjI0IDE2OC42NDd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kpCIgZ2x5cGgtbmFtZT0iZ3BzMyIgZD0iTTUxMS45NjUgOTYwQzIyOS42MjcgOTYwIDAgNzMwLjMwMyAwIDQ0OFMyMjkuNjI3LTY0IDUxMS45NjUtNjQgMTAyNCAxNjUuNjk3IDEwMjQgNDQ4IDc5NC4zMDMgOTYwIDUxMS45NjUgOTYwem0wLTkzNS4yNjNDMjc4LjUzMyAyNC43MzcgODguNzAyIDIxNC42MDMgODguNzAyIDQ0OHMxODkuODMxIDQyMy4yNjMgNDIzLjI2MyA0MjMuMjYzUzkzNS4yNjMgNjgxLjM5NyA5MzUuMjYzIDQ0OGMwLTIzMy4zOTctMTg5LjkzNi00MjMuMjYzLTQyMy4yOTgtNDIzLjI2M3pNNzkxLjIzMSA0NDhjMC0xNTQuMjI1LTEyNS4wNDItMjc5LjMwMS0yNzkuMjY2LTI3OS4zMDEtMTU0LjE5IDAtMjc5LjI2NiAxMjUuMDA3LTI3OS4yNjYgMjc5LjMwMSAwIDE1NC4yMjUgMTI1LjA3NiAyNzkuMzAxIDI3OS4yNjYgMjc5LjMwMSAxNTQuMjI1IDAgMjc5LjI2Ni0xMjUuMDc2IDI3OS4yNjYtMjc5LjMwMXoiLz48Z2x5cGggdW5pY29kZT0i7qSlIiBnbHlwaC1uYW1lPSJncHM0IiBkPSJNNTEyIDk2MEMyMjkuMjQ0IDk2MCAwIDczMC43NTYgMCA0NDhTMjI5LjI0NC02NCA1MTItNjRzNTEyIDIyOS4yNDQgNTEyIDUxMi0yMjkuMjQ0IDUxMi01MTIgNTEyem00OS41NDgtOTIxLjYzM1YxNTAuNzFjMCAyNy4zNTEtMjIuMTY1IDQ5LjU0OC00OS41NDggNDkuNTQ4cy00OS41NDgtMjIuMTk4LTQ5LjU0OC00OS41NDhWMzguMzY3QzI3NC4zNjYgNjAuOTk0IDEyNC45OTQgMjEwLjM5OSAxMDIuMzY3IDM5OC40NTJIMjE0LjcxYzI3LjM4NCAwIDQ5LjU0OCAyMi4xOTggNDkuNTQ4IDQ5LjU0OHMtMjIuMTY1IDQ5LjU0OC00OS41NDggNDkuNTQ4SDEwMi4zNjdjMjIuNjI3IDE4OC4wNTMgMTcxLjk5OSAzMzcuNDU4IDM2MC4wODUgMzYwLjA4NVY3NDUuMjljMC0yNy4zNTEgMjIuMTY1LTQ5LjU0OCA0OS41NDgtNDkuNTQ4czQ5LjU0OCAyMi4xOTggNDkuNTQ4IDQ5LjU0OHYxMTIuMzQzYzE4OC4wODYtMjIuNjI3IDMzNy40NTgtMTcyLjAzMiAzNjAuMDg1LTM2MC4wODVIODA5LjI5Yy0yNy4zODQgMC00OS41NDgtMjIuMTk4LTQ5LjU0OC00OS41NDhzMjIuMTY1LTQ5LjU0OCA0OS41NDgtNDkuNTQ4aDExMi4zNDNDODk5LjAwNiAyMTAuMzk5IDc0OS42MzQgNjAuOTk0IDU2MS41NDggMzguMzY3eiIvPjxnbHlwaCB1bmljb2RlPSLupKYiIGdseXBoLW5hbWU9Imd1YXJkYXIiIGQ9Ik0xMDEwLjY2NyA2NzcuMzQ0Yy04Ljg4NyAyMS4zMjQtMTkuNTYxIDM4LjIxOC0zMi4wMTEgNTAuNjU5TDc5MS45ODkgOTE0LjY3MmMtMTIuNDM0IDEyLjQzNC0yOS4zMjggMjMuMTA1LTUwLjY2MSAzMi0yMS4zMjEgOC44ODUtNDAuODgyIDEzLjMyOS01OC42NTcgMTMuMzI5SDY0LjAwMmMtMTcuNzcyIDAtMzIuODg3LTYuMjE4LTQ1LjMzMy0xOC42NjRDNi4yMjMgOTI4Ljg5OC4wMDcgOTEzLjc4Ni4wMDcgODk2LjAwNFYtLjAwMmMwLTE3Ljc4NiA2LjIxNi0zMi44OTkgMTguNjYyLTQ1LjM0QzMxLjExNS01Ny43NzYgNDYuMjMtNjQuMDAxIDY0LjAwMi02NC4wMDFoODk2LjAwNGMxNy43ODggMCAzMi44OTkgNi4yMjUgNDUuMzQgMTguNjU5IDEyLjQzNCAxMi40NDEgMTguNjUgMjcuNTU0IDE4LjY1IDQ1LjM0djYxOC42NjljMCAxNy43ODQtNC40NDEgMzcuMzM4LTEzLjMyOSA1OC42Nzh6TTQyNi42NzMgODUzLjM0MmMwIDUuNzc3IDIuMTEzIDEwLjc2NyA2LjMzNyAxNC45OTggNC4yMTkgNC4yMTIgOS4yMjEgNi4zMjMgMTQuOTk4IDYuMzIzaDEyOC4wMDZjNS43NjMgMCAxMC43NjItMi4xMDYgMTQuOTg0LTYuMzIzIDQuMjMzLTQuMjMxIDYuMzQ0LTkuMjIxIDYuMzQ0LTE0Ljk5OFY2NDAuMDA2YzAtNS43ODYtMi4xMjUtMTAuNzgzLTYuMzQ0LTE1LjAwNy00LjIyMi00LjIxLTkuMjIxLTYuMzIzLTE0Ljk4NC02LjMyM0g0NDguMDA4Yy01Ljc3NyAwLTEwLjc4MSAyLjEwNi0xNC45OTggNi4zMjMtNC4yMjQgNC4yMzEtNi4zMzcgOS4yMjEtNi4zMzcgMTUuMDA3djIxMy4zMzZ6TTc2OC4wMTUgMjEuMzI4SDI1NnYyNTYuMDA2aDUxMi4wMTVWMjEuMzI4em0xNzAuNjc4IDBoLTg1LjM2N1YyOTguNjdjMCAxNy43ODYtNi4yMTggMzIuODg5LTE4LjY1OSA0NS4zNC0xMi40NDEgMTIuNDQxLTI3LjU1NCAxOC42NjYtNDUuMzIzIDE4LjY2NkgyMzQuNjdjLTE3Ljc3OSAwLTMyLjg5NC02LjIyNS00NS4zNC0xOC42NjYtMTIuNDM5LTEyLjQ0MS0xOC42NjItMjcuNTU0LTE4LjY2Mi00NS4zNFYyMS4zMjhIODUuMzMzdjg1My4zNDVoODUuMzMyVjU5Ny4zMzZjMC0xNy43ODEgNi4yMTYtMzIuODg3IDE4LjY2Mi00NS4zMzMgMTIuNDQ2LTEyLjQzOSAyNy41NjEtMTguNjY0IDQ1LjM0LTE4LjY2NGgzODQuMDE0YzE3Ljc3IDAgMzIuODk5IDYuMjI1IDQ1LjMyMyAxOC42NjQgMTIuNDM0IDEyLjQzOSAxOC42NjYgMjcuNTUxIDE4LjY2NiA0NS4zMzN2Mjc3LjMzN2M2LjY2NCAwIDE1LjMyNS0yLjIxOCAyNi4wMDMtNi42NjIgMTAuNjc2LTQuNDQxIDE4LjIyNy04Ljg4NSAyMi42NzEtMTMuMzI5TDkxOC42OSA2NjcuMzRjNC40NDEtNC40NDQgOC44ODctMTIuMTE5IDEzLjMyOS0yMy4wMDMgNC40NTgtMTAuODkzIDYuNjcxLTE5LjQ1MSA2LjY3MS0yNS42NzJWMjEuMzI3eiIvPjxnbHlwaCB1bmljb2RlPSLupKciIGdseXBoLW5hbWU9ImhlcnJhbWllbnRhIiBkPSJNOTkxLjk5NyA3MDIuMTUyYTU1LjM0NiA1NS4zNDYgMCAwMS00MC4yOTIgMzIuNTQ3IDU1LjE4MiA1NS4xODIgMCAwMS0xMC40NjUuOTkyIDU1LjE5IDU1LjE5IDAgMDEtMzkuMDQ0LTE2LjE2MmwtMTcwLjgtMTcwLjhhMTUuOTQgMTUuOTQgMCAwMC0xMS4yOTctNC42NzJjLTQuNDQ4IDAtOC40NDkgMS44MjQtMTEuMzI5IDQuNjcybC05Ni4wMDkgOTYuMDA5YTE1LjkzOCAxNS45MzggMCAwMC00LjY3MiAxMS4zMjljMCA0LjQ0OCAxLjc5MiA4LjQ0OSA0LjY3MiAxMS4zMjlsMTcwLjggMTcwLjhhNTUuMjIgNTUuMjIgMCAwMTE1LjE2OSA0OS41NDFjLTMuNDU2IDE3Ljk4Ni0xNS42NDkgMzMuMDI3LTMyLjQ4MyA0MC4yNkM3MTYuNDUgOTQ5LjI0NyA2NjQuMTg5IDk2MCA2MTMuMDE3IDk2MGMtODYuMzc2IDAtMTY5LjQ4OC0zMC42MjctMjMxLjg2Mi05Mi45NjktNjEuMTI2LTYxLjE1OC05MS45NDUtMTQyLjMxNy05My4wNjUtMjI2Ljk2NS0uNTc2LTQxLjQ0NCA2LjE3Ny04My42ODggMTkuNjUtMTI0LjgxMkwxOC43ODUgMjI2LjI5OUM0Ljk5MiAyMTIuNTM4LTEuMTg1IDE5NC4wNzIuMjIzIDE3Ni4wODZjMS4xNTItMTQuNjU3IDcuMzI5LTI5LjAyNyAxOC41NjItNDAuMjkyTDE5OS43OTQtNDUuMjE1YzEyLjUxMy0xMi41MTMgMjguODY3LTE4Ljc1NCA0NS4yNTItMTguNzU0czMyLjczOSA2LjI0MSA0NS4yNTIgMTguNzU0TDU3OS4yODUgMjQzLjc0YzM5LjU1Ni0xMi45MjkgODAuMTM2LTE5LjQ1OCAxMjAuMDQzLTE5LjQ1OCA4Ni4zMTIgMCAxNjkuMzkyIDMwLjU2MyAyMzEuNzM0IDkyLjkwNSA5OS4yNDEgOTkuMjQxIDExOC4wOTEgMjUxLjE2IDYwLjkzNCAzODQuOTY0ek04NjMuMTg1IDM4NS4wMzRjLTQxLjc5Ni00MS43OTYtOTkuOTc3LTY0Ljc3NC0xNjMuODU1LTY0Ljc3NC0zMC4wMTkgMC02MC4zNTggNC45Ni05MC4xODQgMTQuNzIxYTk1LjkzNCA5NS45MzQgMCAwMS0yOS44NTkgNC43MzZjLTI1LjA1OCAwLTQ5LjYwNS05LjgyNS02Ny44NzgtMjguMTMxTDI0NS4wNDggNDUuMjU3IDEwOS4yOTEgMTgxLjAxNCAzNzUuNjIgNDQ3LjM0M2MyNS41NyAyNS41NyAzNC41OTUgNjMuMzAyIDIzLjM2MiA5Ny43MDUtMTAuNDAxIDMxLjg0My0xNS41MjEgNjQuMDA2LTE0LjkxMyA5NS4wMTcgMS4yNDggNjEuMjU0IDIzLjg3NCAxMTcuOTMxIDY0LjkzNCAxNTkuMDU1IDQxLjg2IDQxLjgyOCAxMDAuMDczIDY0Ljg3IDE2NC4wMTUgNjQuODcgMTguMTQ2IDAgMzYuNjc1LTEuODg4IDU1LjA3Ny01LjUzN0w1NDUuMjk5IDczNS42MjVjLTIxLjQxLTIxLjE1NC0zMy4xODctNDkuNDEzLTMzLjE4Ny03OS41NTkgMC0yOS45MjMgMTEuNjQ5LTU4LjAyMSAzMi44MDMtNzkuMjA3bDk2LjAwOS05Ni4wMDljMjEuMTU0LTIxLjE1NCA0OS4yODUtMzIuODAzIDc5LjIwNy0zMi44MDNzNTguMDIxIDExLjY0OSA3OS4yMDcgMzIuODAzbDEyMy4xOCAxMjMuMThjMTYuMzU0LTgyLjY5Ni00LjY0LTE2NC4yNzEtNTkuMzM0LTIxOC45OTd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kqCIgZ2x5cGgtbmFtZT0iaW1wcmVzb3JhIiBkPSJNOTc2IDc3OEg3NTR2MTMyYzAgMTQtMTQgMjgtMjggMjhIMjk0Yy0xNCAwLTI4LTE0LTI4LTI4Vjc3OEg0NGMtMjQgMC00NC0yMC00NC00NFYyMjZjMC0yNCAyMC00MiA0NC00MmgxNjhMMTg2IDhjLTQtMjAgMTQtMzggMzItMzhoNTg0YzE4IDAgMzIgMTYgMzIgMzR2OGwtMjggMTcyaDE3MGMyNCAwIDQ0IDE4IDQ0IDQydjUwOGMwIDI0LTIwIDQ0LTQ0IDQ0em0tNjM4IDg2aDM0NHYtODZIMzM4djg2ek0yNzIgNTJsNDQgMjU2aDM4OGw0NC0yNTZIMjcyem02NjIgMjE4SDc5NGwtMTQgOTJjLTIgMTYtMTYgMjgtMzIgMjhIMjcyYy0xNiAwLTMwLTEyLTMyLTI4bC0xNC05Mkg4NnY0MjJoODQ4VjI3MHpNMjE3LjY0NiA1MzYuNzA0aDE0MC43MDhjMjQuMzU0IDAgNDMuMjk0IDE4Ljk0IDQzLjI5NCA0My4yOTQgMCAyNC4zNTItMTguOTQyIDQzLjI5NC00My4yOTQgNDMuMjk0SDIxNy42NDZjLTI0LjM1NCAwLTQzLjI5NC0xOC45NDItNDMuMjk0LTQzLjI5NC0uMDAyLTI0LjM1MiAxOC45NC00My4yOTQgNDMuMjk0LTQzLjI5NHoiLz48Z2x5cGggdW5pY29kZT0i7qSpIiBnbHlwaC1uYW1lPSJpbmZvIiBkPSJNNTEyIDcwNGMtMzUuMzI4IDAtNjQtMjguNjcyLTY0LTY0czI4LjY3Mi02NCA2NC02NCA2NCAyOC42NCA2NCA2NC0yOC42NCA2NC02NCA2NHptMC0xOTJjLTM1LjMyOCAwLTY0LTI4LjY0LTY0LTY0VjI1NmMwLTM1LjMyOCAyOC42NzItNjQgNjQtNjRzNjQgMjguNjcyIDY0IDY0djE5MmMwIDM1LjMyOC0yOC42NCA2NC02NCA2NHptMCA0NDhDMjI5LjY5NiA5NjAgMCA3MzAuMzA0IDAgNDQ4UzIyOS42OTYtNjQgNTEyLTY0czUxMiAyMjkuNjk2IDUxMiA1MTItMjI5LjY5NiA1MTItNTEyIDUxMnptMC05MjhDMjgyLjU5MiAzMiA5NiAyMTguNjI0IDk2IDQ0OHMxODYuNTkyIDQxNiA0MTYgNDE2YzIyOS4zNzYgMCA0MTYtMTg2LjYyNCA0MTYtNDE2Uzc0MS4zNzYgMzIgNTEyIDMyeiIvPjxnbHlwaCB1bmljb2RlPSLupKoiIGdseXBoLW5hbWU9ImxpbmVhIiBkPSJNOTM5Ljg1MyA4ODEuMzA1Yy00Ny41NSA0Ny43MTYtMTI0LjgxNSA0Ny43NzMtMTcyLjQ4OS4xNjItMzUuMDUzLTM0Ljk0Mi00NC4xNDEtODUuODI3LTI3Ljc2NS0xMjkuMzMzbC01MTguNDQ1LTUxOC4xYy00My40NDcgMTYuNDQ4LTk0LjM3MSA3LjQ1LTEyOS40MDMtMjcuNS00Ny42OTItNDcuNTk4LTQ3Ljc3Ni0xMjQuODIxLS4xOTUtMTcyLjUwMSA0Ny42MTMtNDcuNzA0IDEyNC44MzYtNDcuNzk3IDE3Mi41MS0uMTc3IDM1LjA2NSAzNC45NDggNDQuMTY4IDg1Ljg0OCAyNy43OTIgMTI5LjMzM2w1MTguNDMzIDUxOC4xMDljNDMuNDUtMTYuNDY2IDk0LjM2Mi03LjQ3MSAxMjkuMzkxIDI3LjUwNiA0Ny43MjUgNDcuNTggNDcuNzg4IDEyNC44MjcuMTcxIDE3Mi41MDF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kqyIgZ2x5cGgtbmFtZT0ibGluZWFzIiBkPSJNNjY5LjE2OCAyNTAuNjMyYy01My4zMTIgMTkuNjY4LTExMC43MjkgNC42MDYtMTQ4LjE0Ni0zMy40M2wtMjQxLjUxMyA4OC45OTdjLTMuNzgyIDUzLjE5OC0zNy42OTkgMTAxLjkwOC05MS4wMTUgMTIxLjU1Ny03Mi41OTMgMjYuNzU2LTE1My4wODYtMTAuMzg5LTE3OS44MTEtODIuOTY1LTI2Ljc1OC03Mi41OTMgMTAuMzg3LTE1My4xMDIgODIuOTgxLTE3OS44MTMgNTMuMzMxLTE5LjY2NiAxMTAuNzE0LTQuNjIxIDE0OC4xMyAzMy40MTVsMjQxLjUxMy04OS4wMTRjMy43OTgtNTMuMjE0IDM3LjczMi0xMDEuOTA2IDkxLjA0Ni0xMjEuNTM4IDcyLjU2MS0yNi43NzUgMTUzLjA2OSAxMC40MDUgMTc5Ljc5NiA4Mi45ODEgMjYuNzczIDcyLjU3Ni0xMC40MDUgMTUzLjA2OS04Mi45ODEgMTc5LjgwOXptMzMwLjA1NCA2MDUuNjRjLTQzLjg1IDYzLjcwMS0xMzEuMDgyIDc5LjcxOC0xOTQuNzUxIDM1LjgtNDYuNzk0LTMyLjIyMi02Ny41NjgtODcuODA0LTU4LjA1Ni0xNDAuMzE1TDUzNC40ODggNjA1LjY4MmMtNDUuNjY4IDI3LjU0Ny0xMDUuMDM0IDI3Ljg5OS0xNTEuODA3LTQuMzM4LTYzLjY4Ni00My45MDItNzkuNzIzLTEzMS4wODYtMzUuODM3LTE5NC43NTQgNDMuOTE5LTYzLjcwMyAxMzEuMTAyLTc5Ljc1NCAxOTQuNzcyLTM1LjgxOCA0Ni44MDkgMzIuMjIyIDY3LjU5NyA4Ny44MjMgNTguMDg1IDE0MC4zMTNsMjExLjkxNiAxNDYuMDc5YzQ1LjY2OC0yNy41NjYgMTA1LjAxNy0yNy45MiAxNTEuNzkzIDQuMzUyIDYzLjcxNiA0My44NzEgNzkuNzM1IDEzMS4wODggMzUuODEyIDE5NC43NTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6krCIgZ2x5cGgtbmFtZT0ibGlzdGEiIGQ9Ik05OS4wOTcgODExLjM1NEM0NC4zNjIgODExLjM1NCAwIDc2Ni45OTIgMCA3MTIuMjU5czQ0LjM2Mi05OS4wOTcgOTkuMDk3LTk5LjA5NyA5OS4wOTcgNDQuMzYzIDk5LjA5NyA5OS4wOTctNDQuMzYzIDk5LjA5NS05OS4wOTcgOTkuMDk1em0wLTI2NC4yNTdDNDQuMzYyIDU0Ny4wOTcgMCA1MDIuNzM0IDAgNDQ4YzAtNTQuNzM1IDQ0LjM2Mi05OS4wOTcgOTkuMDk3LTk5LjA5N3M5OS4wOTcgNDQuMzYyIDk5LjA5NyA5OS4wOTdjMCA1NC43MzQtNDQuMzYzIDk5LjA5Ny05OS4wOTcgOTkuMDk3em0wLTI2NC4yNTlDNDQuMzYyIDI4Mi44MzggMCAyMzguNDc2IDAgMTgzLjc0MXM0NC4zNjItOTkuMDk3IDk5LjA5Ny05OS4wOTcgOTkuMDk3IDQ0LjM2MyA5OS4wOTcgOTkuMDk3YzAgNTQuNzM1LTQ0LjM2MyA5OS4wOTctOTkuMDk3IDk5LjA5N3ptMjMxLjIyNSAzNjMuMzU2aDYyNy42MTJjMzYuNTAxIDAgNjYuMDY1IDI5LjU2NCA2Ni4wNjUgNjYuMDY1cy0yOS41NjQgNjYuMDY1LTY2LjA2NSA2Ni4wNjVIMzMwLjMyMmMtMzYuNTAxIDAtNjYuMDY1LTI5LjU2NC02Ni4wNjUtNjYuMDY1czI5LjU2NC02Ni4wNjUgNjYuMDY1LTY2LjA2NXptNjI3LjYxMy0xMzIuMTI5SDMzMC4zMjJjLTM2LjUwMSAwLTY2LjA2NS0yOS41NjQtNjYuMDY1LTY2LjA2NSAwLTM2LjQ5OSAyOS41NjQtNjYuMDY1IDY2LjA2NS02Ni4wNjVoNjI3LjYxMmMzNi41MDEgMCA2Ni4wNjUgMjkuNTY1IDY2LjA2NSA2Ni4wNjUuMDAyIDM2LjUwMS0yOS41NjIgNjYuMDY1LTY2LjA2MyA2Ni4wNjV6bTAtMjY0LjI1OEgzMzAuMzIyYy0zNi41MDEgMC02Ni4wNjUtMjkuNTY1LTY2LjA2NS02Ni4wNjVzMjkuNTY0LTY2LjA2MyA2Ni4wNjUtNjYuMDYzaDYyNy42MTJjMzYuNTAxIDAgNjYuMDY1IDI5LjU2NCA2Ni4wNjUgNjYuMDYzcy0yOS41NjIgNjYuMDY1LTY2LjA2MyA2Ni4wNjV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6krSIgZ2x5cGgtbmFtZT0ibG9jYWxpemFjaW9uIiBkPSJNNDE3Ljg4MSAyOTcuODE4bDIzLjc0Ny01OS4zODNjLTIyLjk5Ny05LjE4OS00NS45MzMtMTYuMTkxLTY4LjMxLTIwLjg3MmwtMTMuMDY2IDYyLjYxNGMxOC43NTMgMy45NTMgMzguMTI3IDkuODgxIDU3LjYyOSAxNy42NDF6bS0xOTAuNDQtNzYuNjk3YzIzLjQzNi02Ljc0NyA0OC4xMy0xMC4zNzMgNzMuMzc1LTEwLjc0NmwxLjAwNSA2My45OTJjLTE5LjYyOS4zMjMtMzguNjkgMy4wNjItNTYuNjg4IDguMjQzbC0xNy42OTItNjEuNDg5em01MDMuOTMyIDExMS42OTRjMTguNDQ3LTMuNjM2IDM2LjQ0My05Ljk0OSA1My41MDQtMTguNzU1bDI5LjM5MiA1Ni44NzJjLTIyLjUwOCAxMS41NjMtNDYuMTk1IDE5Ljg3Ni03MC41MTQgMjQuNjMzbC0xMi4zODItNjIuNzQ5em0tMTMzLjUwMiA1Mi40OTdsMTkuMTM3LTYwLjk5OGMxOS41NTEgNi4xMjcgMzguODc2IDkuOTk3IDU3LjQ5IDExLjQ5NWwtNS4xMTEgNjMuNzU0Yy0yMy4zODEtMS44OC00Ny40NDQtNi42OTYtNzEuNTE2LTE0LjI1MnptLTEwMi43NDItNDguMTI2Yy03LjE4NC00LjUwMi0xNC4yNTItOC42MTctMjEuMTkxLTEyLjQ5OGwzMS4xMjktNTUuODg2YzcuODExIDQuMzk0IDE1LjgwOSA5LjAwMyAyMy44MDYgMTQuMDA3IDExLjAwNCA2LjgxNSAyMS43NTggMTIuODgyIDMyLjMxNyAxOC4yNjJsLTI5LjA2NyA1Ni45OWE1MTkgNTE5IDAgMDEtMzYuOTk0LTIwLjg3NHptMTc2Ljg3OSAzOTguODEzYzAtMjYuMTI1LTYuMjY0LTUwLjg3Ni0xNy4zODQtNzIuNjNMNTEyLjAwMyAzODQuMDAzUzM2OC4yNTMgNjY1LjY5IDM2Ny42OTIgNjY2Ljg3Yy0xMC4wNjcgMjAuODc2LTE1LjY4NSA0NC4zNzgtMTUuNjg1IDY5LjEyOSAwIDg4LjM3NCA3MS42MjIgMTYwIDE1OS45OTYgMTYwIDg4LjM2OCAwIDE2MC4wMDQtNzEuNjI2IDE2MC4wMDQtMTYwem0tNjQgMGMwIDUzLjAwMS00My4wMDQgOTYuMDAzLTk2LjAwMyA5Ni4wMDMtNTMuMDAxIDAtOTYuMDAzLTQzLjAwMi05Ni4wMDMtOTYuMDAzIDAtNTIuOTk1IDQzLjAwMi05NS45OTcgOTYuMDAzLTk1Ljk5NyA1Mi45OTkgMCA5Ni4wMDMgNDMuMDAyIDk2LjAwMyA5NS45OTd6bTIyMy45OTYtMTYwSDY4MS44ODdsLTMyLjcwMS02NC4wMDNoMTM2LjY5Mmw2OS4wNjYtMjA3LjI1NC0yMi4wNjItMjQuMzc4YzIzLjUwMi0yMS4yMzUgMzUuNjg1LTQwLjgwNyAzNS43NTMtNDAuODc1bDYuNzQ3IDQuMDU4TDkzNS4xOTggNjRIODguNzVsNjQuMTMgMTkyLjE4MmMyLjI1LTEuNTY0IDMuOTk1LTMuMDYyIDYuNDk2LTQuNjE4bDM0LjAwNSA1NC4xMjRjLTcuNjI3IDQuODE2LTEzLjg3OCA5LjU2NC0xOS4zOCAxMy45OTZsNjQuMTMyIDE5Mi4zMTNoMTM2Ljc0NUEzNTQ5Ny44NCAzNTQ5Ny44NCAwIDAwMzQyLjE5MiA1NzZIMTkyLjAwNEwuMDAyLS4wMDNoMTAyNC4wMDJMODMyLjAwNiA1NzUuOTk4eiIvPjxnbHlwaCB1bmljb2RlPSLupK4iIGdseXBoLW5hbWU9ImxvY2FsaXphY2lvbjIiIGQ9Ik04MzIgODY0Yy04OC4zNzYgMC0xNjAtNzEuNjI2LTE2MC0xNjAgMC0yMy44NzYgNS4yNS00Ni41NjIgMTQuNjI0LTY2Ljg3Nkw4MzIgMzUybDE0NS4zNzYgMjg1LjEyNkM5ODYuNzUgNjU3LjQzOCA5OTIgNjgwLjEyNCA5OTIgNzA0YzAgODguMzc0LTcxLjYyNCAxNjAtMTYwIDE2MHptMC0yNTZjLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTYgOTYtNDMgOTYtOTYtNDMtOTYtOTYtOTZ6bTQ3Ljg3Ni0zMDIuOTM4bDU4LjI1LTExNi40MzgtMTQ3LjY4OC03My44MTItNDkuNSAyNDcuNjI0IDkuMTg4IDkuMTg4LTMwLjUgNjBMNzA0IDQxNiA1MTIgNTQ0IDMyMCA0MTYgMTkyIDU0NCAwIDE2MCAyNTYgMzJsMjU2IDEyOEw3NjggMzJsMjU2IDEyOC0xMDggMjE1LjkzOC0zNi4xMjQtNzAuODc2ek0yMzMuNSAxMTQuODEyTDg1Ljg3NCAxODguNjI0IDIwOS41IDQzNmw3My41NjItNzMuNTYyTDIzMy41IDExNC44MTJ6TTQ4MCAyMTUuNTYybC0xNzktODkuNSA0Ni4yNSAyMzEuMTg4TDQ4MCA0NDUuNzVWMjE1LjU2MnptNjQgMFY0NDUuNzVsMTMyLjY4OC04OC41IDQ2LjI1LTIzMS4xODhMNTQ0IDIxNS41NjJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kryIgZ2x5cGgtbmFtZT0ibG9jYWxpemFjaW9uMyIgZD0iTTk0MS45MDUgNjQ4LjIzOWMtMTEuNzg2LTIyLjc2Ny0yNS40MTEtNDUuODQzLTM5Ljc3My02OC4zMDVsLTUuNzAzLTguODM0Yy0xMi4wOTItMTguNTM5LTI0LjU4My0zNi41NjEtMzYuODQtNTMuNTQgNDcuMTI2LTI5LjA2NSA3My4zODgtNjIuNzcgNzMuMzg4LTk1LjYyOSAwLTQxLjMyMi00MS40OTEtODMuOTkyLTExMy44MzktMTE3LjA3MS0yMy43NTUtMTAuODYxLTQ5LjkwOS0yMC4yNTMtNzcuODUtMjguMTc4IDUuNDUgMzYuNjY4IDguODI0IDc0Ljg3NSAxMC4wMTYgMTEzLjk1Ni0yLjc1Ny0uNzUtNS42MDktMS4xODUtOC41MjYtMS4xODVhMzIuNDc2IDMyLjQ3NiAwIDAwLTI0LjUxMSAxMS4xNzJjLTQuNDY5IDUuMTQxLTE2LjAyNSAxOC41ODEtMzEuNTgyIDM3Ljc0OS4wOTEtNS40NjkuMTc1LTEwLjk0Mi4xNzUtMTYuNDQ0IDAtNTYuMTQ4LTQuODA3LTExMC41Mi0xMy45MS0xNjAuOTQ5LTUwLjQyNi05LjEtMTA0Ljc5Ny0xMy45MS0xNjAuOTQyLTEzLjkxLTU2LjE1NSAwLTExMC41MyA0LjgwNy0xNjAuOTY1IDEzLjkxLTkuMSA1MC40MjktMTMuOTA3IDEwNC44LTEzLjkwNyAxNjAuOTQ5czQuODA3IDExMC41MiAxMy45MDcgMTYwLjk0OWM1MC40MzIgOS4xIDEwNC44MSAxMy45MSAxNjAuOTY1IDEzLjkxIDIwLjk4MSAwIDQxLjcxMi0uNjcyIDYyLjA4Mi0xLjk4OC0xMy42MjUgMjIuMDk4LTI2LjMxNyA0NC41ODMtMzcuMDY0IDY2LjYwMy04LjMwOC4yMDUtMTYuNjM5LjM0MS0yNS4wMTguMzQxLTUwLjAwMyAwLTk4Ljg1Ny0zLjYzOC0xNDUuMjY1LTEwLjUzMyA3LjkyMSAyNy45NDQgMTcuMzE3IDU0LjA5OSAyOC4xNzggNzcuODUzQzQyOCA4MDEuNDA3IDQ3MC42NyA4NDIuOTAxIDUxMS45OTIgODQyLjkwNGguMDFjLjc5NiAwIDEuNTk1LS4wNDUgMi4zOTQtLjA3NWEyMzguMDA0IDIzOC4wMDQgMCAwMDMwLjUzMyA2My44OTFjLTEwLjg4My43MzEtMjEuODU1IDEuMTQtMzIuOTIzIDEuMTRINTExLjk4N2MtMjY3LjkzNS0uMDEtNDg1LjkxOC0yMTcuOTkzLTQ4NS45MTgtNDg1LjkzMVMyNDQuMDQ5LTYzLjk5MyA1MTEuOTkxLTY0LjAwMkg1MTIuMDFjMjY3LjkzOCAwIDQ4NS45MjIgMjE3Ljk4NyA0ODUuOTIyIDQ4NS45MzEuMDAzIDgxLjY3LTIwLjI4MyAxNTguNjgyLTU2LjAyNSAyMjYuMzA4ek0zNzAuODE5IDgxOC41MjJjLTEyLjU2Ni0xOC4yMjctMjQuMjgxLTM5LjA2NS0zNC45NzItNjIuNDQ2LTE2LjE4MS0zNS4zOTUtMjkuNDQ4LTc1LjMyMy0zOS42NDYtMTE4LjM1NC00My4wMjQtMTAuMTk4LTgyLjk1Mi0yMy40NjItMTE4LjM0Ny0zOS42NDMtMjMuMzgxLTEwLjY5Mi00NC4yMjUtMjIuNDA3LTYyLjQ1Mi0zNC45NzYgNDIuMzk3IDExOC43NCAxMzYuNjc4IDIxMy4wMjEgMjU1LjQxOCAyNTUuNDE4ek0yMDQuODY2IDUzOS4wMDVjMjMuNzU1IDEwLjg2MSA0OS45MDYgMjAuMjUgNzcuODQ3IDI4LjE3NS02Ljg5NS00Ni40MDItMTAuNTI5LTk1LjI0OS0xMC41MjktMTQ1LjI0OXMzLjYzNC05OC44NDQgMTAuNTI5LTE0NS4yNDVjLTI3Ljk0MSA3LjkyMS01NC4wOTIgMTcuMzE0LTc3Ljg0NCAyOC4xNzUtNzIuMzQ4IDMzLjA4Mi0xMTMuODQyIDc1Ljc1Mi0xMTMuODQyIDExNy4wNzEtLjAwMyA0MS4zMjIgNDEuNDkxIDgzLjk5NSAxMTMuODM5IDExNy4wNzR6bS04OS40NjUtMjU4LjI0M2MxOC4yMjctMTIuNTY2IDM5LjA3MS0yNC4yODQgNjIuNDUyLTM0Ljk3NiAzNS4zOTEtMTYuMTgxIDc1LjMyLTI5LjQ0OCAxMTguMzQ3LTM5LjY0NiAxMC4xOTgtNDMuMDI3IDIzLjQ2NS04Mi45NTkgMzkuNjQ2LTExOC4zNTQgMTAuNjkyLTIzLjM4MSAyMi40MDctNDQuMjE5IDM0Ljk3Mi02Mi40NDZDMjUyLjA3OCA2Ny43MzcgMTU3Ljc5NCAxNjIuMDIxIDExNS40IDI4MC43NjF6TTUxMi4wMDIuOTU2aC0uMDFDNDcwLjY3Ljk1OSA0MjggNDIuNDUzIDM5NC45MjEgMTE0Ljc5NWMtMTAuODYxIDIzLjc1NS0yMC4yNTMgNDkuOTA5LTI4LjE3OCA3Ny44NTMgNDYuNDA4LTYuODk1IDk1LjI1OC0xMC41MzMgMTQ1LjI2NS0xMC41MzMgNDkuOTk3IDAgOTguODQxIDMuNjM0IDE0NS4yMzkgMTAuNTI5LTcuOTIxLTI3Ljk0NC0xNy4zMTctNTQuMDk2LTI4LjE3OC03Ny44NUM1OTUuOTkzIDQyLjQ0OSA1NTMuMzIuOTU1IDUxMi4wMDIuOTU1em0xNDEuMTY2IDI0LjM3NWMxMi41NjYgMTguMjI3IDI0LjI4NyAzOS4wNzEgMzQuOTc5IDYyLjQ1NSAxNi4xODQgMzUuMzk1IDI5LjQ1MSA3NS4zMjMgMzkuNjQ5IDExOC4zNTQgNDMuMDI3IDEwLjE5NSA4Mi45NTkgMjMuNDY1IDExOC4zNTQgMzkuNjQ2IDIzLjM4MSAxMC42OTIgNDQuMjIyIDIyLjQwNyA2Mi40NDkgMzQuOTc2LTQyLjM5Ny0xMTguNzUtMTM2LjY4NC0yMTMuMDM3LTI1NS40MzEtMjU1LjQzMXptOTAuNjkyIDQzMi4yMjZhOS43NCA5Ljc0IDAgMDE3LjUzMiAzLjU2M2MyOS45MzggMzYuNDczIDE3OS4yNzkgMjIyLjkzIDE3OS4yNzkgMzEyLjA3NiAwIDEwMy4wMDQtODMuODAzIDE4Ni44MDUtMTg2LjgwOCAxODYuODA1cy0xODYuODA1LTgzLjgtMTg2LjgwNS0xODYuODA1YzAtODkuMTgyIDE0OS4zMzQtMjc1LjYxMyAxNzkuMjctMzEyLjA3NmE5Ljc0IDkuNzQgMCAwMTcuNTMyLTMuNTYzek02NDMuMTgxIDc4NC4wNjljMCA1NS41MTUgNDUuMTY3IDEwMC42ODIgMTAwLjY4MiAxMDAuNjgyczEwMC42ODItNDUuMTY3IDEwMC42ODItMTAwLjY4Mi00NS4xNjctMTAwLjY4Mi0xMDAuNjgyLTEwMC42ODItMTAwLjY4MiA0NS4xNjQtMTAwLjY4MiAxMDAuNjgyeiIvPjxnbHlwaCB1bmljb2RlPSLupLAiIGdseXBoLW5hbWU9ImxvY2FsaXphY2lvbjQiIGQ9Ik04OTYuMDAzIDMyMC4wMDFINzY4VjQ0OGgxMjguMDAzVjMyMC4wMDF6TTY3Mi4wMDggNzk5Ljk5N2MwLTIzLjg3NS01LjI1OS00Ni41NjQtMTQuNjI3LTY2Ljg3N0w1MTIuMDAzIDQ0OC4wMDMgMzY2LjYyNSA3MzMuMTI5Yy05LjM3MiAyMC4zMDQtMTQuNjE3IDQyLjk5My0xNC42MTcgNjYuODY5IDAgODguMzc4IDcxLjYyMSAxNjAuMDAzIDE1OS45OTUgMTYwLjAwMyA4OC4zNyAwIDE2MC4wMDYtNzEuNjMgMTYwLjAwNi0xNjAuMDAzem0tNjQuMDAxIDBjMCA1Mi45OTktNDMuMDA0IDk2LjAwMy05Ni4wMDMgOTYuMDAzLTUzLjAwMSAwLTk2LjAwMy00My4wMDItOTYuMDAzLTk2LjAwM3M0My4wMDItOTUuOTk5IDk2LjAwMy05NS45OTljNTIuOTk5IDAgOTYuMDAzIDQyLjk5OCA5Ni4wMDMgOTUuOTk5ek0xMDI0IDcwMy45OThWNjQuMDAzQzEwMjQtNi42OTYgOTY2LjY4NS02NCA4OTYuMDA1LTY0SDEyOC4wMDFDNTcuMzE3LTY0IC4wMDItNi42OTYuMDAyIDY0LjAwM3Y2MzkuOTk1YzAgNzAuNjg0IDU3LjMxNSAxMjguMDAzIDEyNy45OTkgMTI4LjAwM0gyOTEuMjVjLTEuNDk2LTEwLjQ5OS0zLjI1LTIxLjAwNS0zLjI1LTMyLjAwNyAwLTEwLjgxIDEuOTk5LTIxLjM3MiAzLjUwOC0zMS45OTZoLTM1LjUwNFY1NzUuOTk2aDExOC44NzRsMzIuNjI1LTY0LjAwM0gyNTYuMDAydi0yNTZoMzgzLjk5M3YyNTYuMDAyaC0yMy41NWw4Ny41NjEgMTcxLjc1NFY1NzUuOTk1aDI1Ni4wMDJ2MTI3Ljk5OWMwIDM1LjMwOS0yOC42OTMgNjQuMDAzLTY0LjAwMyA2NC4wMDNINzMyLjU2NGMxLjU2NiAxMC42MjQgMy40MzggMjEuMTIzIDMuNDM4IDMxLjk5NiAwIDExLjAwMi0xLjY4NCAyMS41MDUtMy4yNSAzMi4wMDdoMTYzLjI1M0M5NjYuNjg1IDgzMiAxMDI0IDc3NC42ODEgMTAyNCA3MDMuOTk3ek0xOTIuMDA0IDE5Mi4wMDZINjQuMDA1VjY0LjAwM0M2NC4wMDUgMjguNjgzIDkyLjc1NSAwIDEyOC4wMDEgMGg2NC4wMDN2MTkyLjAwNnptMCAzMTkuOTlINjQuMDA1di0yNTZoMTI3Ljk5OXYyNTZ6bTAgMjU2LjAwMmgtNjQuMDAzYy0zNS4yNDYgMC02My45OTYtMjguNjkxLTYzLjk5Ni02NC4wMDNWNTc1Ljk5NmgxMjcuOTk5djE5Mi4wMDJ6bTQ0Ny45OTMtNTc1Ljk5MkgyNTYuMDA0VjBoMzgzLjk5M3YxOTIuMDA2em0zMjAuMDExIDBoLTI1NlYwaDE5MS45OTdjMzUuMzA5IDAgNjQuMDAzIDI4LjY4MyA2NC4wMDMgNjQuMDAzdjEyOC4wMDN6bTAgMzE5Ljk5aC0yNTZ2LTI1NmgyNTZ2MjU2eiIvPjxnbHlwaCB1bmljb2RlPSLupLEiIGdseXBoLW5hbWU9Im1hbm8iIGQ9Ik0xMzEuNDE3IDM2Ni45ODZjLjAwMyAyNC41MjIgMTAuMDk4IDQ4Ljk0NiAyOS44NzUgNjYuNTE2IDM2LjcxMyAzMi41OTcgOTIuOTE1IDI5LjI4MiAxMjUuNDk2LTcuNDM0bDMxLjQ4Ny0zNS40MzJ2NDAxLjE3MWMwIDQ5LjEwNyAzOS43ODkgODguOTEzIDg4LjkwNiA4OC45MTMgNDkuMDg4IDAgODguOTA2LTM5LjgwNSA4OC45MDYtODguOTEzVjU4My44MzRjMTMuMjgyIDcuODc1IDI4LjcwOCAxMi40OCA0NS4yNiAxMi40OCAzNy43MTggMCA2OS44OS0yMy41MiA4Mi44MDQtNTYuNzEzIDEzLjgyMSA4Ljg1MiAzMC4xOTYgMTQuMDQ3IDQ3LjgyMyAxNC4wNDcgNDMuNDUzIDAgNzkuNTY5LTMxLjE1NyA4Ny4zMjEtNzIuMzQyIDEzLjA1NCA3LjUxMyAyOC4xNTMgMTEuODg3IDQ0LjI4MyAxMS44ODcgNDkuMDg4IDAgODguOTA2LTM5LjgyMSA4OC45MDYtODguOTE2bC4wODItMjE3Ljk0MWMwLTk0LjQ2OS04NS41NTEtMTcxLjAzOC0xOTEuMDU3LTE3MS4wMzhINTEwLjUxM2MtNTcuMTgyIDAtMTIzLjcxMyAzNi4xMzMtMTYyLjcxIDc0LjMwMkwxNTMuODUxIDMwNy45NzNjLTE1LjAzNiAxNi45MzktMjIuNDM1IDM4LjAxLTIyLjQzNSA1OS4wMTV6bS03OS4yODcuMDA2Yy0uMDAzLTQxLjE5OCAxNS4wNzQtODAuODYgNDIuNDU3LTExMS42NzhMMjg4LjUzIDM2Ljk0NGE3OS41OTUgNzkuNTk1IDAgMDEzLjgyMi00LjAxNWMyNi4xOS0yNS42MzUgNjAuMTM1LTQ5LjE1NSA5NS41ODUtNjYuMjMzIDQxLjY4My0yMC4wODIgODQuMDc2LTMwLjY5NCAxMjIuNTg0LTMwLjY5NGgxOTAuOTk2YzcwLjU3MiAwIDEzNy4zMzggMjQuOTY5IDE4Ny45NzcgNzAuMzA2IDUzLjExIDQ3LjU1MyA4Mi4zNjcgMTExLjQ4MSA4Mi4zNjcgMTgwLjAyM2wtLjA3OSAyMTcuOTczYzAgOTIuNzEyLTc1LjQ1IDE2OC4xNjUtMTY4LjE5IDE2OC4xNjUtLjgxOCAwLTEuNjQtLjAwNi0yLjQ0OC0uMDE5LTMxLjEyMiAzNy4yNDktNzcuODYzIDYwLjQ2MS0xMjkuMTYyIDYwLjQ2MS01LjkzMSAwLTExLjgzMy0uMzE0LTE3LjY5NC0uOTM5YTE2Ni4zNzIgMTY2LjM3MiAwIDAxLTE2Ljg2IDEzLjQyOGMtMTguODM1IDEzLjE0OS0zOS44NzIgMjIuMTY5LTYyLjA0NCAyNi43Mjl2MTE5LjY2YzAgOTIuNzQ0LTc1LjQ1MyAxNjguMTk3LTE2OC4xOSAxNjguMTk3LTkyLjc0MSAwLTE2OC4xOTctNzUuNDUzLTE2OC4xOTctMTY4LjE5N1Y1MzQuMTY2Yy0yLjg4My4zMjctNS43OTEuNTcxLTguNzE1LjczNi00NC44MzggMi42NTgtODguMDMxLTEyLjMxMi0xMjEuNjE3LTQyLjEyNy0zNS45MzMtMzEuODk2LTU2LjUyOS03Ny43MzktNTYuNTM1LTEyNS43ODR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6ksiIgZ2x5cGgtbmFtZT0ibWFubzIiIGQ9Ik01MTEuODU3IDgzNC4yODRjNzEuMzA0IDAgNTEuMDI1LTEwOS45NTggNTQuNDIyLTE4Ny4xNTIgMi41MjQtNTcuMzY1LTYuMDMzLTE0Ni40OTMgMjIuMTAyLTE1MS41MDlhMTUuMTcgMTUuMTcgMCAwMTIuNjg5LS4yNDNjMzIuNjM5IDAgMzcuMzI2IDExMS4zNjIgNDEuNTExIDEzOS4xMjQgNi42NTYgNDQuNDIyIDEyLjQ2MyAxMzMuNjA3IDM0LjcyMyAxNDguMzgzIDguMzM1IDUuNTMyIDE5LjgyOCA4LjIxNyAzMS43NDggOC4yMTcgMjIuMzAyIDAgNDYuMDk4LTkuNDAyIDUzLjQ2My0yNy4xNTcgMTEuOTY2LTI4Ljg1OC0xNi4xMDEtMTIyLjI0My0yMi4wOTgtMTU3Ljg1Ny04LjMwMy00OS41NjctMzMuODQ5LTE0MS40MDUgOS40NzQtMTQyLjAzOS4xMjIgMCAuMjQzLS4wMDQuMzY5LS4wMDQgMjMuOTA2IDAgMzQuOTYzIDM1LjY4NiA0OC43NjIgNzEuMzc5IDEzLjc5OSAzNS42ODYgMzAuMzQ0IDcxLjM3OSA2NS4yMDMgNzEuMzc5IDIuODExIDAgNS43MzYtLjIyOSA4Ljc5LS43MTMgNTcuNjItOS4wOTEgMjAuMDUtOTIuMjgyIDYuMzE5LTEyOS40MTEtNDguOTczLTEzMi4zNzUtNzMuNDctMjAzLjc2Mi0xMjMuMTMxLTMzNy43NzctNi4yOC0xNi45MjEtMjEuNTk0LTY0LjE1LTI1LjI1Ni02Ni4yOTktMTcuNjE5LTEwLjMzLTE0NC4xNTgtMTIuNjI4LTE2NC4xMzctMTIuNjI4LTM2LjgxNyAwLTEyNC4yNjYuNjk1LTE2NC4xMzcgMTIuNjI4LTE3LjUyMyA1LjIzOC01MS43NzMgNTUuODgtNjYuMzAyIDc1Ljc2OS01MC42NDEgNjkuMzI4LTY2LjczOSA5OS40MTQtMTE5Ljk2OSAxNjQuMTM3LTIxLjgxNSAyNi41NDktNTkuMDM4IDU4LjU2NS01OS45NTQgNzguOTI3LTEuMzI4IDI5LjE0MSAzMi44NjUgNDkuODUgNTAuNDggNTAuNTA5LjUyMy4wMTggMS4wNDUuMDI5IDEuNTY4LjAyOSAzMC4wMjkgMCA1Ny44Ny0zMS4wNTMgNzcuMzU5LTUwLjUzOCA5LjIyMy05LjIyMyA0NC40OTctNTcuOTM4IDY3LjE0NC01Ny45MzggMS45MjMgMCAzLjc1Mi4zNTQgNS40NzEgMS4xMSAyMi40MTMgOS44ODktMy45MjEgNjYuNzE4LTEyLjYyOCA4OC40MDEtMjYuMDc2IDY0Ljk0Mi00Ni42OTYgMTEwLjQzOC02OS40NTcgMTY3LjI5NS0xMC41NzcgMjYuNDU2LTMwLjU1OSA2NS42MDQtMjguNDE0IDg4LjM5NyAyLjg2NCAzMC4zMDUgMjguODgzIDQ3LjU5NSA1NC43MzcgNDcuNTk1YTU3LjA5IDU3LjA5IDAgMDA1LjI0OS0uMjRjNDYuNzI0LTQuMzI1IDYwLjIwNS03OS41NjEgNzUuNzY5LTExNi44MTEgMTEuNTU4LTI3LjcyIDIzLjU1Mi02NC44NDkgNDQuMi0xMDAuOTk2LS4wMzIgMCAxMy44MS0yNS4zMDYgMjEuNDkzLTI1LjMwNi4xOTcgMCAuMzg3LjAxOC41NzYuMDUgMjEuNzE5IDMuODUzIDEzLjAwOCAxMjEuOTYgMTIuNjI4IDE1Ny44MjUtLjgyIDc5LjY4Ni0yNy44NDkgMTgxLjYzMSA0Ny4zNTUgMTkyLjU1MSA0LjIxNC42MTIgOC4xNzguOTEzIDExLjg4LjkxM3ptMCA3NS4xODljLTcuMzQ3IDAtMTQuOTkxLS41NzMtMjIuNzIxLTEuNzAxLTU4LjExNC04LjQzOS05OC45MjctNDcuNjQxLTExMS45MzUtMTA3LjU0OS0yLjA0OC05LjQ0Mi0zLjM4LTE5LjA3My00LjE3NS0yOC44MTUtMjMuNjg4IDIwLjY1NS00OC42ODcgMjcuNzItNjguMTQzIDI5LjUyMS00LjA1Ny4zNzItOC4xMzguNTU5LTEyLjE3Ny41NTktNjcuNjQ1LS4wMDQtMTIzLjM1Ni00OS43NS0xMjkuNTktMTE1LjcwOC0zLjUwNS0zNy4yMzMgMTIuNTQyLTc0LjUwOSAyNi43MDYtMTA3LjM5OCAyLjUzMS01Ljg3NSA0LjkyMy0xMS40MjUgNi43NDYtMTUuOTg3IDYuNTE2LTE2LjI4NCAxMi43ODItMzEuNDYxIDE5LjA1MS00Ni40MzhhMTIyLjAyNSAxMjIuMDI1IDAgMDEtMjEuNDIyIDEuMTMyYy0zMS45NDgtMS4xOTktNjYuNzA3LTE4LjIwNi05MC43OTktNDQuMzktMjIuMDctMjMuOTgyLTMzLjQ1NS01NC4wNTQtMzIuMDYzLTg0LjY4MSAxLjg5LTQyLjEyNyAzMC43MzQtNzMuMDIzIDU4LjYyOS0xMDIuOTAxIDYuOTc1LTcuNDY5IDEzLjU1OS0xNC41MjYgMTguMzQyLTIwLjM0NCAzMi4xNDUtMzkuMDg3IDQ5LjYwMy02NC4zMDggNzEuNzA1LTk2LjIzOCAxMi41OTktMTguMjAzIDI2Ljg3OC0zOC44MzMgNDUuNjM2LTY0LjUxMiAxLjcxOS0yLjM1MiAzLjczMS01LjE2NyA1Ljk3Ni04LjI5OSAzNS45ODMtNTAuMjY5IDYyLjM0OS04NC4wNSA5OS41MDctOTUuMTU3IDM1Ljk2Mi0xMC43NjMgOTQuOTcxLTE1Ljc3OSAxODUuNjczLTE1Ljc3OSAxMS43MDQgMCA0OS44MDQuNjQxIDg2LjgxMSAyLjU0MiA3NC42MTIgMy44MzEgOTcuMzg0IDkuODgyIDExNS4zNSAyMC40MTIgMjQuNzMgMTQuNTAxIDMzLjE5IDM2Ljk2OCAzOS45ODYgNTUuMDI3IDMuNzY3IDEwLjAxMSA3LjkxNiAyMS45NTkgMTEuNTc1IDMyLjQ5OSAyLjQzNSA3LjAwNyA0LjczIDEzLjYyNyA2LjE1OCAxNy40NjkgMjUuNDM1IDY4LjYzMyA0NC41OTEgMTIxLjczNCA2My4xMTkgMTczLjA4NSAxNy43NTkgNDkuMjI3IDM2LjEyNiAxMDAuMTM0IDYwLjA0IDE2NC43NzEgMS4wNjcgMi44ODIgMi4yODggNi4wNTQgMy41OTUgOS40NjcgMTcuMDYxIDQ0LjQ0IDQyLjgzNiAxMTEuNTk4IDEwLjQwMSAxNjcuNzM2LTE2LjQzNCAyOC40NDMtNDQuNTMgNDcuMTExLTc5LjExNyA1Mi41NjhhMTMxLjg5MyAxMzEuODkzIDAgMDEtMjAuNTA5IDEuNjMzYy0xMC43NDggMC0yMS4yMzktMS4zOTMtMzEuMzIyLTQuMTAzIDkuMjQ4IDQ3LjcyNyAxMS43MDEgODQuNDA1LS45MzEgMTE0Ljg2LTE4LjUzNiA0NC42OC02Ni43NzggNzMuNTQ5LTEyMi45MTYgNzMuNTQ5LTI3LjUwOCAwLTUyLjg2MS03LjE3OS03My4zMjMtMjAuNzU2YTk2LjI1MSA5Ni4yNTEgMCAwMS00LjI3OS0zLjAwOGMtNS43ODIgMTEuNDc1LTEzLjE2OSAyMi4xNjMtMjIuNTkyIDMxLjc1MS0yMi42MjggMjMuMDE1LTUyLjcxNSAzNS4xODUtODYuOTk3IDM1LjE4NXoiLz48Z2x5cGggdW5pY29kZT0i7qSzIiBnbHlwaC1uYW1lPSJtYXBhIiBkPSJNOTc2IDgzOEw3NTIgOTQyYy00IDItMTAgMi0xNiAycy0xMiAwLTE2LTJsLTIxMC05OC0yMTAgOThjLTQgMi0xMCAyLTE2IDJzLTEyIDAtMTYtMkw0MiA4MzhjLTE0LTYtMjItMjItMjItMzZWMTIyYzAtMjAgMTYtMzggMzgtMzggNiAwIDEwIDIgMTYgNGwyMTAgOTYgMjEwLTk2YzQtMiAxMC00IDE2LTRzMTIgMiAxNiA0bDIxMCA5NiAyMDgtOTZjNi0yIDEwLTQgMTYtNCAyMiAwIDM4IDE4IDM4IDM4djY4MGMwIDE0LTggMzAtMjIgMzZ6TTI0NiAyNTBMOTYgMTgydjU5NmwxNTAgNzBWMjUwem0yMjYtNjhsLTE1MCA2OHY1OThsMTUwLTcwVjE4MnptMjI2IDY4bC0xNTAtNjh2NTk2bDE1MCA3MFYyNTB6bTIyNC02OGwtMTQ4IDY4djU5OGwxNDgtNzBWMTgyeiIvPjxnbHlwaCB1bmljb2RlPSLupLQiIGdseXBoLW5hbWU9Im1hcyIgZD0iTTgyNCA1ODBjMzYgMCA2NC0zMCA2NC02NnMtMjgtNjYtNjQtNjZINTc2VjIwMGMwLTM2LTMwLTY0LTY2LTY0cy02NiAyOC02NiA2NHYyNDhIMTk2Yy0zNiAwLTY2IDMwLTY2IDY2czMwIDY2IDY2IDY2aDI0OHYyNDhjMCAzNiAzMCA2NiA2NiA2NnM2Ni0zMCA2Ni02NlY1ODBoMjQ4eiIvPjxnbHlwaCB1bmljb2RlPSLupLUiIGdseXBoLW5hbWU9Im1hczIiIGQ9Ik01NDQuMjg5IDY4Ni42NTFjLTguNTU0IDcuODc1LTE5Ljc1NSAxMi45NjYtMzIuMzEzIDEyLjk0My0xMi41MzYgMC0yMy43NTktNS4wNjktMzIuMzExLTEyLjk0My05LjUyNS04Ljc1Ny0xNS43MDItMjEuMDg4LTE1LjY3OS0zNS4wNDlsLjAyMy0xNTUuNjA3LTE1NS42MDkuMDIzYy0xMy45ODQgMC0yNi4yNy02LjE3Ny0zNS4wNDktMTUuNjgyLTcuODc1LTguNTUyLTEyLjk2Ni0xOS43NTMtMTIuOTQzLTMyLjMxMSAwLTEyLjUzOCA1LjA2OS0yMy43NTkgMTIuOTQzLTMyLjMxMyA4Ljc1NS05LjUyNSAyMS4wNjYtMTUuNjc5IDM1LjA0OS0xNS42NzlsMTU1LjYwNy0uMDIzVjI0NC40MjNjMC0xMy45ODQgNi4xNzktMjYuMjcyIDE1LjY4Mi0zNS4wNDkgOC41NTItNy44NzcgMTkuNzU1LTEyLjk2NiAzMi4zMTEtMTIuOTQzIDEyLjUzNiAwIDIzLjc1OSA1LjA2OSAzMi4zMTEgMTIuOTQzIDkuNTI1IDguNzU1IDE1LjY3OSAyMS4wNjYgMTUuNjc5IDM1LjA0OVY0MDAuMDFoMTU1LjYzMmMxMy45ODQgMCAyNi4yNyA2LjE3NyAzNS4wNDkgMTUuNjc5IDcuODc1IDguNTU0IDEyLjk2NiAxOS43NTUgMTIuOTQxIDMyLjMxMSAwIDEyLjUzNi01LjA2OSAyMy43NTktMTIuOTQxIDMyLjMxMS04Ljc1NSA5LjUyNS0yMS4wNjYgMTUuNjgyLTM1LjA0OSAxNS42ODJINTU5Ljk5VjY1MS41OGMuMDAyIDEzLjk4NC02LjE1MiAyNi4yOTItMTUuNyAzNS4wNzJ6TTE0OS45NjEgODEwLjAzOWMtMTk5LjkzNi0xOTkuOTM2LTE5OS45MzYtNTI0LjE0MSAwLTcyNC4wNzdzNTI0LjE0MS0xOTkuOTM2IDcyNC4wNzcgMCAxOTkuOTM2IDUyNC4xNDEgMCA3MjQuMDc3Yy0xOTkuOTM2IDE5OS45MzQtNTI0LjE0MSAxOTkuOTM0LTcyNC4wNzcgMHptNjU2LjE5NS02NTYuMTk1Yy0xNjIuMTkxLTE2Mi4xOTMtNDI2LjExOS0xNjIuMTkzLTU4OC4zMTMgMC0xNjIuMTkzIDE2Mi4xOTEtMTYyLjE5MyA0MjYuMTE5IDAgNTg4LjMxM3M0MjYuMTE5IDE2Mi4xOTMgNTg4LjMxMyAwYzE2Mi4xOTMtMTYyLjE5MyAxNjIuMTkzLTQyNi4xMjEgMC01ODguMzEzeiIvPjxnbHlwaCB1bmljb2RlPSLupLYiIGdseXBoLW5hbWU9Im1lZGlyLWFyZWEiIGQ9Ik05ODUuMTU5IDMxOC44NjZINDMuNzJWLTM0LjE3OGg5NDEuNDM5djM1My4wNDR6TTEwMi41NiAyNC42NjZ2MjM1LjM2aDg4LjI2di0xMTcuNjhoNTguODR2MTE3LjY4aDU4Ljg0di01OC44NGg1OC44NHY1OC44NGg1OC44NHYtMTE3LjY4aDU4Ljg0djExNy42OGg1OC44NHYtNTguODRoNTguODR2NTguODRoNTguODR2LTExNy42OGg1OC44NHYxMTcuNjhoNTguODR2LTU4Ljg0aDU4Ljg0djU4Ljg0aDg4LjI2M1YyNC42NjZIMTAyLjU1OHptMjkzLjMyIDM5OC4yMzVoLTI0LjI4NkwyMzMuMDkyIDY2Mi43OTggMzcxLjYgOTAyLjY5NWgyNzYuOTk5bDEzOC41MTQtMjM5Ljg5Ny0xMzguNTA4LTIzOS44OTdIMzk1Ljg4em0yMDQuMTU2IDg0LjEyMWw4OS45NCAxNTUuNzc2LTg5Ljk0IDE1NS43ODJINDIwLjE2bC04OS45NC0xNTUuNzgyIDg5Ljk0LTE1NS43NzZoMTc5Ljg3NnoiLz48Z2x5cGggdW5pY29kZT0i7qS3IiBnbHlwaC1uYW1lPSJtZWRpci1saW5lYSIgZD0iTTk4My45MDMgNjc5LjgzOGMuMDk5IDUzLjY4OC00My40MiA5Ny4yNy05Ny4xMTQgOTcuMzA2LTM5LjQ1NC4wNi03My4yNjMtMjMuNDk2LTg4LjU0OS01Ny4yNDJsLTU4NC4xOTIuMTg5Yy0xNS4yMTMgMzMuNzYxLTQ4Ljk4MyA1Ny4zOTItODguNDI1IDU3LjQzNC01My43MDYuMDU3LTk3LjI3Ni00My40Mi05Ny4zMy05Ny4xMDgtLjA1MS01My43MjEgNDMuNDItOTcuMjk3IDk3LjEyOS05Ny4zMjQgMzkuNDU3LS4wNjYgNzMuMjgxIDIzLjQ4NCA4OC41NjEgNTcuMjNsNTg0LjE5Mi0uMTg5YzE1LjIwNC0zMy43NjEgNDguOTY1LTU3LjM5MiA4OC40MjUtNTcuNDEzIDUzLjcwMy0uMDg3IDk3LjI2NyA0My40MTQgOTcuMzAzIDk3LjExN3ptMS4yNTYtMzYwLjk3Mkg0My43MlYtMzQuMTc1aDk0MS40Mzl2MzUzLjA0MXpNMTAyLjU2IDI0LjY2NnYyMzUuMzZoODguMjZ2LTExNy42OGg1OC44NHYxMTcuNjhoNTguODR2LTU4Ljg0aDU4Ljg0djU4Ljg0aDU4Ljg0di0xMTcuNjhoNTguODR2MTE3LjY4aDU4Ljg0di01OC44NGg1OC44NHY1OC44NGg1OC44NHYtMTE3LjY4aDU4Ljg0djExNy42OGg1OC44NHYtNTguODRoNTguODR2NTguODRoODguMjZWMjQuNjY2SDEwMi41NTh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kuCIgZ2x5cGgtbmFtZT0ibWVub3MiIGQ9Ik04MjQgNDQ0SDE5NmMtNDAgMC03MCAzMC03MCA3MHMzMCA3MCA3MCA3MGg2MjhjNDAgMCA3MC0zMCA3MC03MHMtMzAtNzAtNzAtNzB6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kuSIgZ2x5cGgtbmFtZT0ibWVub3MyIiBkPSJNNTU5Ljk5MSA0MDAuMDA3aDE1NS42MzJjMTMuOTg0IDAgMjYuMjcgNi4xNzcgMzUuMDQ5IDE1LjY3OSA3Ljg3NSA4LjU1NCAxMi45NjYgMTkuNzU1IDEyLjk0MSAzMi4zMTEgMCAxMi41MzYtNS4wNjkgMjMuNzU5LTEyLjk0MSAzMi4zMTEtOC43NTUgOS41MjUtMjEuMDY2IDE1LjY4Mi0zNS4wNDkgMTUuNjgySDU1OS45OTF6bTguNDY0IDk1Ljk4NmwtMjYwLjA1Ny4wMjNjLTEzLjk4NCAwLTI2LjI3LTYuMTc3LTM1LjA0OS0xNS42ODItNy44NzUtOC41NTItMTIuOTY2LTE5Ljc1My0xMi45NDMtMzIuMzExIDAtMTIuNTM4IDUuMDY5LTIzLjc1OSAxMi45NDMtMzIuMzEzIDguNzU1LTkuNTI1IDIxLjA2Ni0xNS42NzkgMzUuMDQ5LTE1LjY3OWwyNjAuMDU3LS4wMjN6TTE0OS45NjEgODEwLjAzOWMtMTk5LjkzNi0xOTkuOTM2LTE5OS45MzYtNTI0LjE0MSAwLTcyNC4wNzdzNTI0LjE0MS0xOTkuOTM2IDcyNC4wNzcgMCAxOTkuOTM2IDUyNC4xNDEgMCA3MjQuMDc3Yy0xOTkuOTM2IDE5OS45MzQtNTI0LjE0MSAxOTkuOTM0LTcyNC4wNzcgMHptNjU2LjE5NS02NTYuMTk1Yy0xNjIuMTkxLTE2Mi4xOTMtNDI2LjExOS0xNjIuMTkzLTU4OC4zMTMgMC0xNjIuMTkzIDE2Mi4xOTEtMTYyLjE5MyA0MjYuMTE5IDAgNTg4LjMxM3M0MjYuMTE5IDE2Mi4xOTMgNTg4LjMxMyAwYzE2Mi4xOTMtMTYyLjE5MyAxNjIuMTkzLTQyNi4xMjEgMC01ODguMzEzeiIvPjxnbHlwaCB1bmljb2RlPSLupLoiIGdseXBoLW5hbWU9Im1lbnUiIGQ9Ik0xNTYgNzYwYy00MCAwLTcwIDMwLTcwIDcwczMwIDcyIDcwIDcyaDcwNmM0MCAwIDcyLTMyIDcyLTcycy0zMi03MC03Mi03MEgxNTZ6bTcwNi0xNzRjNDAgMCA3Mi0zMiA3Mi03MnMtMzItNzAtNzItNzBIMTU2Yy00MCAwLTcwIDMwLTcwIDcwczMwIDcyIDcwIDcyaDcwNnptMC0zMThjNDAgMCA3Mi0zMCA3Mi03MHMtMzItNzItNzItNzJIMTU2Yy00MCAwLTcwIDMyLTcwIDcyczMwIDcwIDcwIDcwaDcwNnoiLz48Z2x5cGggdW5pY29kZT0i7qS7IiBnbHlwaC1uYW1lPSJtdW5kbyIgZD0iTTUxMiA5MjUuOTk4Yy0yNjMuNjEyLS4wMjItNDc3Ljk3OC0yMTQuMzg0LTQ3OC00NzggLjAyMi0yNjMuNjAyIDIxNC4zOTQtNDc3Ljk2OCA0NzgtNDc4IDI2My42MTQuMDMyIDQ3Ny45NzIgMjE0LjM5OCA0NzguMDAyIDQ3OC0uMDMgMjYzLjYxMi0yMTQuMzk0IDQ3Ny45NzYtNDc4LjAwMiA0Nzh6bS0xNS45NS04MzguOTZjLTkuMTM4IDUuMzA4LTE5LjczNiAxNS41OC0zMC4xMDQgMzAuNDUtMTAuNDAyIDE0Ljg1Mi0yMC42MzggMzQuMTgtMjkuODggNTcuMjE0LTI0LjczOCA2MS41MTYtNDAuMjYgMTQyLjIwOC00NC4wODQgMjI5Ljg0MmgyNDAuMDQ0Yy0zLjgyNi04Ny42MzItMTkuMzQ2LTE2OC4zMjYtNDQuMDktMjI5Ljg0Mi0xMi4zMS0zMC43MDgtMjYuNDYtNTQuODQtNDAuMjY4LTcwLjUzOC02Ljg4Mi03Ljg1OC0xMy42NDYtMTMuNTY4LTE5LjcyOC0xNy4xMjYtNi4xMTgtMy41NzItMTEuMzc4LTQuOTg0LTE1Ljk0Mi00Ljk4NC00LjU2NiAwLTkuODI2IDEuNDEyLTE1Ljk0OCA0Ljk4NHpNMzA1LjAxMiA0MDQuNTVjMy45OTQtOTguMjMgMjEuMzQtMTg5Ljc4MiA1MC40MDItMjYyLjIyOCA5LjkyNi0yNC42ODQgMjEuMDE4LTQ2LjU1NiAzMy4yMzYtNjUuNDQ4LTE0Mi4xMyA0Ny4zNTQtMjQ4LjMyOCAxNzQuMzItMjY1LjMzMiAzMjcuNjc2aDE4MS42OTR6bS0xODEuNjk2IDg2LjkxMmMxNy4wMDQgMTUzLjM1NCAxMjMuMTk4IDI4MC4zMjIgMjY1LjMzIDMyNy42NzgtMTIuMjE4LTE4Ljg5OC0yMy4zMTYtNDAuNzY2LTMzLjIzOC02NS40NDgtMjkuMDYyLTcyLjQ0NC00Ni40MDQtMTY0LTUwLjQwMi0yNjIuMjMydi4wMDJoLTE4MS42OXptNTk1LjY2Ni0uMDA4Yy0zLjk4NCA5OC4yMzYtMjEuMzM2IDE4OS43OTItNTAuMzk4IDI2Mi4yMzgtOS45MiAyNC42OC0yMS4wMTQgNDYuNTQ2LTMzLjIzIDY1LjQ0MiAxNDIuMTM4LTQ3LjM1NiAyNDguMzIyLTE3NC4zMjQgMjY1LjMzMi0zMjcuNjc4SDcxOC45ODJ6bS04Ni45NjItLjAwMkgzOTEuOTcyYzMuODI0IDg3LjYzOCAxOS4zNCAxNjguMzI0IDQ0LjA4NCAyMjkuODQ4IDEyLjMwNCAzMC43MDggMjYuNDYyIDU0Ljg0MiA0MC4yNjggNzAuNTMyIDYuODc4IDcuODY0IDEzLjYzOCAxMy41NzYgMTkuNzIyIDE3LjEyOCA2LjEyNiAzLjU3NCAxMS4zODYgNC45ODQgMTUuOTQ4IDQuOTkgNC41NjItLjAwNCA5LjgzLTEuNDE2IDE1Ljk0NC00Ljk5IDkuMTQ4LTUuMzA4IDE5Ljc0LTE1LjU3OCAzMC4xMS0zMC40NDggMTAuMzk4LTE0Ljg0MiAyMC42MzYtMzQuMTc2IDI5Ljg4LTU3LjIwOCAyNC43NS02MS41MjggNDAuMjY0LTE0Mi4yMTYgNDQuMDkyLTIyOS44NTJ6bTMuMzQyLTQxNC41ODJjMTIuMjE4IDE4Ljg5NCAyMy4zMSA0MC43NjYgMzMuMjI2IDY1LjQ0NiAyOS4wNjYgNzIuNDQ4IDQ2LjQwOCAxNjMuOTkyIDUwLjQwMiAyNjIuMjIyaDE4MS42OThDODgzLjY4MiAyNTEuMjA0IDc3Ny40NzggMTI0LjI0IDYzNS4zNjIgNzYuODd6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kvCIgZ2x5cGgtbmFtZT0ibXVuZG8yIiBkPSJNMTAyNCA0NTIuOUMxMDIxLjU0OSA3MzIuNzg0IDc5My4xMDkgOTYwIDUxMS45OTkgOTYwIDIzMS41MDMgOTYwIDIuNDUxIDczMi43ODUgMCA0NTIuMjg3di00Ljg5Ny0zLjY3NEMyLjQ1MSAxNjMuMjE4IDIzMC44ODktNjMuOTk3IDUxMS45OTktNjMuOTk3YzI4MC40OTggMCA1MDkuNTUgMjI3LjIxNSA1MTEuOTk5IDUwNy4xdjQuMjg4Yy4wMDIgMS4yMjMuMDAyIDQuMjg2LjAwMiA1LjUxMXpNMzMxLjMzIDg0Ny45MjRjLTQwLjQyMi01OC43OTQtNzEuNjU1LTEzNy4xODctODguODAzLTIyNy44MjctMjcuNTU5LTYuMTI1LTUzLjg5NC0xMy40NzUtNzguMzkzLTIyLjA0OC0yOS4zOTgtMTAuNDEyLTU0LjUwOC0yMC44MjMtNzQuNzE3LTMxLjg0NyAzNS41MiAxMjUuNTQ5IDEyNC45MzcgMjI4LjQzOSAyNDEuOTEzIDI4MS43MjF6TTczLjQ5NCA0NDguNjEzYzAgMjAuMjExIDM1LjUyIDUyLjY2OSAxMTQuNTI3IDc5LjYxNiAxMy40NzUgNC44OTkgMjguMTczIDkuMTg3IDQyLjg3IDEyLjg2MS0zLjA2Mi0zMC4wMS00LjI4OC02MS4yNDQtNC4yODgtOTMuMDkxczEuODM3LTYzLjA4MSA0LjI4OC05My4wOTFjLTE1LjMxMiA0LjI4OC0yOS4zOTggOC41NzMtNDIuODcgMTIuODYxLTc5LjAwNyAyOC4xNzUtMTE0LjUyNyA2MC42MzMtMTE0LjUyNyA4MC44NDR6bTE2LjUzNS0xMTcuNTg4YzIwLjIxMS0xMS4wMjQgNDQuNzA3LTIyLjA0OCA3NC43MTctMzEuODQ3IDIzLjg4NS03Ljk2MiA1MC4yMi0xNS4zMTIgNzguMzkzLTIyLjA0OCAxNy43Ni05MC42NCA0OC4zODMtMTY5LjY0NSA4OS40MTctMjI3LjgyNy0xMTguMjAxIDUzLjI4MS0yMDcuNjE4IDE1Ni4xNy0yNDIuNTI3IDI4MS43MjF6bTM4NS4yMjQtMzEzLjU3QzQzNi42NyAzMi43NjcgMzk4LjY5OSA3MS45NjMgMzY4LjY5IDEyOS41MzFjLTIwLjIxMSAzOS4xOTctMzYuNzQ2IDgzLjkwNC00Ny43NyAxMzMuNTEzIDQ4Ljk5NS03LjM1IDEwMS4wNTMtMTEuNjM2IDE1NC45NDctMTIuODYxVjE3LjQ1N2gtLjYxNHptMCAzMDYuMjJjLTU5LjQwNyAxLjgzNy0xMTYuMzY0IDYuNzM2LTE2OC40MjIgMTUuOTIzLTQuMjg4IDM1LjUyMy02LjczNiA3MS42NTUtNi43MzYgMTA5LjAxNHMyLjQ1MSA3NC4xMDUgNi43MzYgMTA5LjAxNGM1Mi4wNTcgOC41NzMgMTA5LjAxNCAxNC4wODYgMTY4LjQyMiAxNS45MjNWMzIzLjY3NHptMCAzMjMuMzY5Yy01My44OTQtMS4yMjUtMTA1Ljk1Mi01LjUxMS0xNTQuOTQ3LTEyLjg2MSAxMS42MzYgNDguOTk1IDI3LjU1OSA5NC4zMTYgNDcuNzcgMTMzLjUxMyAzMC4wMSA1Ny41NjggNjcuOTgxIDk2Ljc2NSAxMDYuNTYzIDExMi4wNzZWNjQ3LjA0NmguNjE0em00NTguNzE2LTgwLjg0MmMtMjAuMjExIDExLjAyNC00NC43MDcgMjIuMDQ4LTc0LjcxNyAzMS44NDctMjMuODg1IDcuOTYyLTUwLjIyIDE1LjMxMi03OC4zOTMgMjIuMDQ4LTE3Ljc2IDkwLjY0LTQ4LjM4MyAxNjkuNjQ1LTg5LjQxNyAyMjcuODI3IDExOC4yMDMtNTMuMjgzIDIwNy42MTgtMTU2LjE3MiAyNDIuNTI3LTI4MS43MjF6TTU0OC43NDcgODc5Ljc3YzM4LjU4My0xNS4zMTIgNzYuNTU0LTU0LjUwOCAxMDYuNTYzLTExMi4wNzYgMjAuMjExLTM5LjE5NyAzNi43NDYtODMuOTA0IDQ3Ljc3LTEzMy41MTMtNDguOTk1IDcuMzUtMTAxLjA1MyAxMS42MzYtMTU0Ljk0NyAxMi44NjFWODc5Ljc3aC42MTR6bTAtMzA2LjIyYzU5LjQwNy0xLjgzNyAxMTYuMzY0LTYuNzM2IDE2OC40MjItMTUuOTIzIDQuMjg4LTM1LjUyMyA2LjczNi03MS42NTUgNi43MzYtMTA5LjAxNHMtMi40NTEtNzQuMTA1LTYuNzM2LTEwOS4wMTRjLTUyLjA1Ny04LjU3My0xMDkuMDE0LTE0LjA4Ni0xNjguNDIyLTE1LjkyM3YyNDkuODc1em0wLTU1Ni4wOTV2MjMyLjcyNmM1My44OTQgMS4yMjUgMTA1Ljk1MiA1LjUxMSAxNTQuOTQ3IDEyLjg2MS0xMS42MzYtNDguOTk1LTI3LjU1OS05NC4zMTYtNDcuNzctMTMzLjUxMy0zMC42MjMtNTcuNTY2LTY4LjU5NC05Ni43NjMtMTA3LjE3Ny0xMTIuMDc0ek02OTIuNjcgNDkuMzAyYzQwLjQyMiA1OC43OTQgNzEuNjU1IDEzNy4xODcgODkuNDE3IDIyNy44MjcgMjcuNTU5IDYuMTI1IDUzLjg5NCAxMy40NzUgNzguMzkzIDIyLjA0OCAyOS4zOTggMTAuNDEyIDU0LjUwOCAyMC44MjMgNzQuNzE3IDMxLjg0N0M4OTkuMDYxIDIwNS40NzUgODA5LjY0NiAxMDIuNTg1IDY5Mi42NyA0OS4zMDN6bTE0My4zMDkgMzE5LjY5NGMtMTMuNDc1LTQuODk5LTI4LjE3My05LjE4Ny00Mi44Ny0xMi44NjEgMy4wNjIgMzAuMDEgNC4yODggNjEuMjQ0IDQuMjg4IDkzLjA5MXMtMS44MzcgNjMuMDgxLTQuMjg4IDkzLjA5MWMxNS4zMTItNC4yODggMjkuMzk4LTguNTczIDQyLjg3LTEyLjg2MSA3OS4wMDUtMjYuOTQ3IDExNC41MjctNTkuNDA3IDExNC41MjctNzkuNjE2IDAtMjAuMjEzLTM1LjUyMy01My44OTctMTE0LjUyNy04MC44NDR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6kvSIgZ2x5cGgtbmFtZT0ib3BjaW9uZXMiIGQ9Ik0yMTcuMjEyIDc1MS42OTR2ODQuMTg1YzAgMjUuNzI0LTIwLjgyMSA0Ni41NDUtNDYuNTQ1IDQ2LjU0NXMtNDYuNTQ1LTIwLjgyMS00Ni41NDUtNDYuNTQ1di04NC4xODVDNTIuNTk3IDczMS4zNjkuMDAxIDY2NS41ODUuMDAxIDU4Ny42MzdTNTIuNTk3IDQ0My45MDUgMTI0LjEyMiA0MjMuNThWNjAuMTIyYzAtMjUuNjkzIDIwLjgyMS00Ni41NDUgNDYuNTQ1LTQ2LjU0NXM0Ni41NDUgMjAuODUyIDQ2LjU0NSA0Ni41NDVWNDIzLjU4YzcxLjUyNSAyMC4zMjUgMTI0LjEyMSA4Ni4wNzggMTI0LjEyMSAxNjQuMDU3IDAgNzcuOTQ4LTUyLjU5NiAxNDMuNzMyLTEyNC4xMjEgMTY0LjA1N3ptLTQ2LjU0NS0yNDEuNjMzYy00Mi43NiAwLTc3LjU3NiAzNC44MTYtNzcuNTc2IDc3LjU3NnMzNC44MTYgNzcuNTc2IDc3LjU3NiA3Ny41NzZjNDIuNzYgMCA3Ny41NzYtMzQuODE2IDc3LjU3Ni03Ny41NzZzLTM0LjgxNi03Ny41NzYtNzcuNTc2LTc3LjU3NnptMzg3Ljg3OC0zNy42NHYzNjMuNDU4YzAgMjUuNzI0LTIwLjgyMSA0Ni41NDUtNDYuNTQ1IDQ2LjU0NXMtNDYuNTQ1LTIwLjgyMS00Ni41NDUtNDYuNTQ1VjQ3Mi40MjFjLTcxLjUyNS0yMC4zMjUtMTI0LjEyMS04Ni4xMDktMTI0LjEyMS0xNjQuMDU3czUyLjU5Ni0xNDMuNzMyIDEyNC4xMjEtMTY0LjA1N1Y2MC4xMjJjMC0yNS42OTMgMjAuODIxLTQ2LjU0NSA0Ni41NDUtNDYuNTQ1czQ2LjU0NSAyMC44NTIgNDYuNTQ1IDQ2LjU0NXY4NC4xODVjNzEuNTI1IDIwLjMyNSAxMjQuMTIxIDg2LjEwOSAxMjQuMTIxIDE2NC4wNTdTNjMwLjA3IDQ1Mi4wOTYgNTU4LjU0NSA0NzIuNDIxek01MTIgMjMwLjc4OGMtNDIuNzYgMC03Ny41NzYgMzQuNzg1LTc3LjU3NiA3Ny41NzZTNDY5LjI0IDM4NS45NCA1MTIgMzg1Ljk0czc3LjU3Ni0zNC43ODUgNzcuNTc2LTc3LjU3NlM1NTQuNzYgMjMwLjc4OCA1MTIgMjMwLjc4OHptMzg3Ljg3OSA1MjAuOTA2djg0LjE4NWMwIDI1LjcyNC0yMC44MjEgNDYuNTQ1LTQ2LjU0NSA0Ni41NDVzLTQ2LjU0NS0yMC44MjEtNDYuNTQ1LTQ2LjU0NXYtODQuMTg1Yy03MS41MjUtMjAuMzI1LTEyNC4xMjEtODYuMDc4LTEyNC4xMjEtMTY0LjA1NyAwLTc3Ljk0OCA1Mi41OTYtMTQzLjczMiAxMjQuMTIxLTE2NC4wNTdWNjAuMTIyYzAtMjUuNjkzIDIwLjgyMS00Ni41NDUgNDYuNTQ1LTQ2LjU0NXM0Ni41NDUgMjAuODUyIDQ2LjU0NSA0Ni41NDVWNDIzLjU4Qzk3MS40MDQgNDQzLjkwNSAxMDI0IDUwOS42NTggMTAyNCA1ODcuNjM3YzAgNzcuOTQ4LTUyLjU5NiAxNDMuNzMyLTEyNC4xMjEgMTY0LjA1N3ptLTQ2LjU0Ni0yNDEuNjMzYy00Mi43NiAwLTc3LjU3NiAzNC44MTYtNzcuNTc2IDc3LjU3NnMzNC44MTYgNzcuNTc2IDc3LjU3NiA3Ny41NzZjNDIuNzYgMCA3Ny41NzYtMzQuODE2IDc3LjU3Ni03Ny41NzZzLTM0LjgxNi03Ny41NzYtNzcuNTc2LTc3LjU3NnoiLz48Z2x5cGggdW5pY29kZT0i7qS+IiBnbHlwaC1uYW1lPSJwYXBlbGVyYSIgZD0iTTkxMS4yODggODAwSDcwNC41Njd2OTZjMCAzNS4zMjgtMjguNjcyIDY0LTY0IDY0SDM4NC41NjljLTM1LjMyOCAwLTY0LTI4LjY3Mi02NC02NHYtOTZIMTEzLjg1Yy0yNi40OTcgMC00OC4wMDEtMjEuNDcxLTQ4LjAwMS00OC4wMDFTODcuMzUzIDcwNCAxMTMuODUgNzA0aDQ2LjcyMVYwYzAtMzUuMzYxIDI4LjY3Mi02NCA2NC02NGg1NzUuOTk4YzM1LjMyOCAwIDY0IDI4LjY3MiA2NCA2NHY3MDRoNDYuNzIxYzI2LjQ5NyAwIDQ4LjAwMSAyMS40NzEgNDguMDAxIDQ4LjAwMVM5MzcuNzgzIDgwMCA5MTEuMjg4IDgwMHptLTQ5NC43MTkgNjRoMTkxLjk5OHYtNjRINDE2LjU2OXY2NHpNNzY4LjU2NyAzMkgyNTYuNTY5djY3Mmg1MTEuOTk4VjMyem0tMjk2LjA1IDE0Ni4xMTl2MzU5LjMwN2MwIDIyLjg4NiAxNy4xNjQgNDAuMDUxIDQwLjA1MSA0MC4wNTEgMjIuODg4IDAgNDAuMDUzLTE3LjE2NCA0MC4wNTMtNDAuMDUxVjE3OC4xMTljMC0yMi44ODYtMTcuMTY0LTQwLjA1MS00MC4wNTMtNDAuMDUxLTIyLjg4Ni4wMDItNDAuMDUxIDE3LjE2Ni00MC4wNTEgNDAuMDUxem0xNTcuNjk2IDB2MzU5LjMwN2MwIDIyLjg4NiAxNy4xNjQgNDAuMDUxIDQwLjA1MSA0MC4wNTFzNDAuMDUzLTE3LjE2NCA0MC4wNTMtNDAuMDUxVjE3OC4xMTljMC0yMi44ODYtMTcuMTY0LTQwLjA1MS00MC4wNTMtNDAuMDUxLTIyLjg4Ni4wMDItNDAuMDUxIDE3LjE2Ni00MC4wNTEgNDAuMDUxem0tMzE1LjM5MiAwdjM1OS4zMDdjMCAyMi44ODYgMTcuMTY0IDQwLjA1MSA0MC4wNTEgNDAuMDUxczQwLjA1My0xNy4xNjQgNDAuMDUzLTQwLjA1MVYxNzguMTE5YzAtMjIuODg2LTE3LjE2NC00MC4wNTEtNDAuMDUzLTQwLjA1MS0yMi44ODYuMDAyLTQwLjA1MSAxNy4xNjYtNDAuMDUxIDQwLjA1MXoiLz48Z2x5cGggdW5pY29kZT0i7qS/IiBnbHlwaC1uYW1lPSJwaW4iIGQ9Ik00ODguNTQ0LTQyLjY3NGMtNi43NjIgMi4yMzItMTIuODIgNS4wMjgtMTguNzI1IDguMTk2LTExLjc0OSA2LjM1OS0yMi45OTcgMTQuMzA3LTM0LjgyNiAyMy43ODgtMjMuNTA1IDE4LjkzMi00OS4wOTEgNDQuMTQzLTc2LjA0MiA3NC4yMTctNTMuNzM3IDYwLjEwNy0xMTIuMzMxIDEzOS4zODctMTU5LjI2MyAyMjIuMDU2LTMxLjI0MiA1NS4xNzEtNTcuMzI4IDExMS42ODQtNzIuNzM3IDE2Ni4xODUtOC43NjMgMzEuMTgzLTE0LjA5NiA2MS43OTItMTQuMTI1IDkxLjcwMy0uMDE2IDEwOS45ODIgNDQuODQ3IDIxMC4wMzMgMTE3LjAzMyAyODIuMTQ1IDcyLjExIDcyLjE4NiAxNzIuMTYxIDExNy4wNDkgMjgyLjE0MyAxMTcuMDMzIDEwOS45NzYuMDE2IDIxMC4wMjQtNDQuODQ3IDI4Mi4xMzktMTE3LjAzMyA3Mi4xOC03Mi4xMTIgMTE3LjA0OS0xNzIuMTYzIDExNy4wMzMtMjgyLjE0NS0uMDU5LTM2LjgwMy04LjA1My03NC42NzYtMjAuNzUyLTExMy4zNC0xMi43NTctMzguNjM2LTMwLjQxNy03OC4wNjYtNTEuMDczLTExNy4xMjEtNDEuMzQxLTc4LjA1My05NC42NjctMTU0LjYwNC0xNDYuMTE3LTIxNi43MjMtMzQuMzg2LTQxLjQzNy02Ny42NzgtNzYuMjktOTcuNDQ2LTEwMS4zOTZDNTc4LjU2NC0xOS40NyA1NjMtMzAuNzcyIDU0NS41NzktMzguNzMxYy05LjQzNS00LjEtMTkuNjM2LTcuNzU0LTMzLjU3OS03LjkyMi05LjE1Ny4wNDMtMTYuNjkxIDEuNzktMjMuNDU2IDMuOTc5ek0yOTMuNTc3IDc2MS45MDFjLTU2LjA2Ni01Ni4xMzItOTAuNjI0LTEzMy4xNC05MC42NDItMjE4LjQyOS0uMDUxLTIyLjE3NCA0Ljk4MS01MC4wNDEgMTQuNzYyLTgwLjYzNCA5LjczNi0zMC42MTQgMjQuMDQ4LTYzLjk0NSA0MS40MzctOTcuNzg4IDM0Ljc0OC02Ny43MjkgODEuNzczLTEzNy40NjYgMTI3LjY2Ni0xOTQuODYxIDMwLjU1Mi0zOC4yNjcgNjAuNzIxLTcxLjE2NCA4NS42MjctOTQuMTQgMTQuMTQ4LTEzLjExMSAyNi43MjItMjIuOTcyIDM1LjMxOC0yOC4zNjFhNzQuNzkzIDc0Ljc5MyAwIDAxNC4yNTgtMi41MzFjNC43MjUgMi41OTUgMTIuMDU5IDcuNTM1IDIwLjU0MyAxNC4zODUgMTcuODA1IDE0LjI3NSA0MC44MzMgMzYuNjQ5IDY1LjM1NCA2NC4wOCA0OS4xOTMgNTQuOTA5IDEwNC45MTkgMTMwLjMzMyAxNDguMDI1IDIwNi40MTggMjguNzg1IDUwLjY3IDUxLjkyOSAxMDEuNzk4IDY0LjM5MSAxNDYuMTc0IDcuMTYgMjUuMzIxIDEwLjc3NSA0OC4zNTkgMTAuNzQ0IDY3LjI1Ni0uMDE4IDg1LjI4OS0zNC41NzYgMTYyLjI5OC05MC42NDIgMjE4LjQyMy01Ni4xMjUgNTYuMDY2LTEzMy4xMzQgOTAuNjI0LTIxOC40MTcgOTAuNjQyLTg1LjI4Ny0uMDE2LTE2Mi4yOTYtMzQuNTc0LTIxOC40MjMtOTAuNjM0em0yMTguNDI1LTQ1NC41MTljLTY1LjAxOC0uMDE4LTEyNC4yOTcgMjYuNTYzLTE2Ni44ODMgNjkuMjE2LTQyLjY1IDQyLjU4Mi02OS4yMzMgMTAxLjg2My02OS4yMTIgMTY2Ljg3OS0uMDIgNjUuMDE2IDI2LjU2MyAxMjQuMjk3IDY5LjIxMiAxNjYuODgzIDQyLjU4NiA0Mi42NTIgMTAxLjg2OCA2OS4yMzEgMTY2Ljg4MyA2OS4yMTJWNjg5LjQ2Yy00MC4zMjMtLjAxOC03Ni41NjItMTYuMjktMTAzLjE2NC00Mi44Mi0yNi41MzItMjYuNTk5LTQyLjgwMS02Mi44NDEtNDIuODItMTAzLjE2NC4wMTYtNDAuMzIzIDE2LjI4OC03Ni41NjIgNDIuODItMTAzLjE2IDI2LjYwMS0yNi41MzYgNjIuODQxLTQyLjgwMSAxMDMuMTY0LTQyLjgyIDQwLjMxOS4wMTggNzYuNTU4IDE2LjI4NCAxMDMuMTU4IDQyLjgyIDI2LjUzMiAyNi41OTUgNDIuODAxIDYyLjgzNyA0Mi44MiAxMDMuMTYtLjAxOCA0MC4zMjMtMTYuMjg4IDc2LjU2Mi00Mi44MiAxMDMuMTY0LTI2LjU5OSAyNi41MzItNjIuODQxIDQyLjgwMS0xMDMuMTU4IDQyLjgydjkwLjExMmM2NS4wMTIuMDE4IDEyNC4yOTEtMjYuNTYxIDE2Ni44NzctNjkuMjEyIDQyLjY1LTQyLjU4NCA2OS4yMzEtMTAxLjg2OCA2OS4yMTItMTY2Ljg4My4wMTgtNjUuMDE2LTI2LjU2My0xMjQuMjkzLTY5LjIxMi0xNjYuODc5LTQyLjU3Mi00Mi42NDEtMTAxLjgyNy02OS4yMTgtMTY2LjgxNi02OS4yMTZoLS4wNjF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lgCIgZ2x5cGgtbmFtZT0icGluLW51ZXZvIiBkPSJNNjc4Ljg3OSA3MTAuMzYxYy00Mi41ODYgNDIuNjUyLTEwMS44NjUgNjkuMjMxLTE2Ni44NzcgNjkuMjEyLTY1LjAxNi4wMTgtMTI0LjI5NS0yNi41NjEtMTY2Ljg4MS02OS4yMTItNDIuNjUtNDIuNTg2LTY5LjIzMS0xMDEuODY4LTY5LjIxMi0xNjYuODgzLS4wMTgtNjUuMDE2IDI2LjU2My0xMjQuMjk1IDY5LjIxNi0xNjYuODc3IDQyLjU4Mi00Mi42NTQgMTAxLjg1OS02OS4yMzcgMTY2Ljg3Ny02OS4yMThoLjA2MWM2NC45ODktLjAwMiAxMjQuMjQ4IDI2LjU3NyAxNjYuODE2IDY5LjIxOCA0Mi42NSA0Mi41ODYgNjkuMjMxIDEwMS44NjEgNjkuMjEyIDE2Ni44NzcuMDE4IDY1LjAxNi0yNi41NjMgMTI0LjI5OS02OS4yMTIgMTY2Ljg4M3pNNjE1LjE2IDQ0MC4zMThjLTI2LjU5OS0yNi41MzYtNjIuODM3LTQyLjc5OS0xMDMuMTU4LTQyLjgyLTQwLjMyMS4wMi03Ni41NjIgMTYuMjg0LTEwMy4xNjQgNDIuODItMjYuNTMyIDI2LjYwMS00Mi44MDEgNjIuODM5LTQyLjgxOCAxMDMuMTYuMDE4IDQwLjMyMyAxNi4yODYgNzYuNTY0IDQyLjgxOCAxMDMuMTY0IDI2LjYwMSAyNi41MyA2Mi44NDMgNDIuODAxIDEwMy4xNjQgNDIuODIgNDAuMzE5LS4wMTggNzYuNTU4LTE2LjI4OCAxMDMuMTU4LTQyLjgyIDI2LjUzMi0yNi42MDEgNDIuODAxLTYyLjg0MSA0Mi44Mi0xMDMuMTY0LS4wMTgtNDAuMzIzLTE2LjI4OC03Ni41Ni00Mi44Mi0xMDMuMTZ6TTgzNiAzMDYuNzk3YzEuMTE2IDIuMDczIDIuMjU3IDQuMTM5IDMuMzU1IDYuMjEyIDIwLjY1NiAzOS4wNTUgMzguMzE2IDc4LjQ4MSA1MS4wNzMgMTE3LjEyMSAxMi43IDM4LjY2NCAyMC42OTMgNzYuNTM4IDIwLjc1MiAxMTMuMzQuMDE4IDEwOS45NzgtNDQuODQ3IDIxMC4wMjktMTE3LjAzMyAyODIuMTQ1LTcyLjExNCA3Mi4xODQtMTcyLjE2NyAxMTcuMDUxLTI4Mi4xNDMgMTE3LjAzNS0xMDkuOTgyLjAxNi0yMTAuMDMzLTQ0Ljg1MS0yODIuMTQ1LTExNy4wMzUtNzIuMTg2LTcyLjExNi0xMTcuMDQ5LTE3Mi4xNjEtMTE3LjAzNS0yODIuMTQ1LjAzMS0yOS45MTcgNS4zNjItNjAuNTIgMTQuMTI1LTkxLjcwMyAxNS40MDktNTQuNTAzIDQxLjQ5NS0xMTEuMDE0IDcyLjczNy0xNjYuMTg1IDQ2LjkzMi04Mi42NyAxMDUuNTI1LTE2MS45NSAxNTkuMjY1LTIyMi4wNTYgMjYuOTUyLTMwLjA3NyA1Mi41MzUtNTUuMjg2IDc2LjA0Mi03NC4yMTcgMTEuODI3LTkuNDggMjMuMDc3LTE3LjQyOCAzNC44MjYtMjMuNzg4IDUuOTA0LTMuMTcyIDExLjk2Mi01Ljk2MiAxOC43MjUtOC4xOTYgNi43NjctMi4xODcgMTQuMjk5LTMuOTM2IDIzLjQ2LTMuOTc3IDEzLjk0NS4xNjggMjQuMTQ0IDMuODIyIDMzLjU3OSA3LjkyMiAxNy40MiA3Ljk1OSAzMi45ODMgMTkuMjU5IDUwLjIwNyAzMy42MjIgMjEuMDA0IDE3LjcxMyA0My43NjYgNDAuMjk4IDY3LjQyNCA2Ni42MDVDNjg5LjExNS02LjkxNiA3NTUuMjM1LTU1LjU3MSA4MzIuNzI3LTU1LjU3MWMxMDAuMDY1IDAgMTgxLjIwMyA4MS4xMzYgMTgxLjIwMyAxODEuMjA1LS4wMDIgOTguOTc4LTc5LjM2MiAxNzkuNDE3LTE3Ny45MyAxODEuMTY0ek01OTcuODk5IDEyMy42MjFjLTI0LjUyMS0yNy40MzEtNDcuNTQ4LTQ5LjgwMy02NS4zNTQtNjQuMDgtOC40ODUtNi44NTEtMTUuODE5LTExLjc5LTIwLjU0My0xNC4zODNhNzcuMjAyIDc3LjIwMiAwIDAwLTQuMjU4IDIuNTI5Yy04LjU5MyA1LjM4OC0yMS4xNyAxNS4yNDktMzUuMzE2IDI4LjM2My0yNC45MDYgMjIuOTc3LTU1LjA3NyA1NS44NzEtODUuNjI5IDk0LjEzNC00NS44OTQgNTcuMzk5LTkyLjkxOCAxMjcuMTM4LTEyNy42NjYgMTk0Ljg2NS0xNy4zOSAzMy44MzktMzEuNzAxIDY3LjE3NC00MS40MzcgOTcuNzg4LTkuNzc5IDMwLjU5My0xNC44MTEgNTguNDU0LTE0Ljc2MiA4MC42MzQuMDIgODUuMjkxIDM0LjU3OCAxNjIuMjk0IDkwLjY0NCAyMTguNDIzIDU2LjEyNSA1Ni4wNjIgMTMzLjEzNCA5MC42MjQgMjE4LjQyMSA5MC42NCA4NS4yODUtLjAxOCAxNjIuMjkyLTM0LjU4IDIxOC40MTctOTAuNjQyIDU2LjA2Ni01Ni4xMyA5MC42MjQtMTMzLjEzOCA5MC42NDItMjE4LjQyMy4wMzMtMTguODk3LTMuNTg0LTQxLjkzNS0xMC43NDQtNjcuMjU2LTEyLjQ2Mi00NC4zOC0zNS42MDctOTUuNTA4LTY0LjM4OS0xNDYuMTc0LTQzLjEwNi03Ni4wODUtOTguODMyLTE1MS41MDktMTQ4LjAyNy0yMDYuNDE4em0zMDcuOTU0LTI5LjUxM2gtNDEuODAyVjUyLjQwM2MwLTE3LjQwNC0xMy45MTQtMzEuNTE3LTMxLjMxOC0zMS41MTctMTcuMzk4IDAtMzEuMzE2IDE0LjExMy0zMS4zMTYgMzEuNTE3djQxLjcyMmgtNDEuNzg1Yy0xNy40MDQgMC0zMS41ODggMTQuMTExLTMxLjU4OCAzMS41MjMgMCAxNy40MDQgMTQuMTYgMzEuNTEzIDMxLjU2NiAzMS41MTNoNDEuODA4djQxLjcwMWMwIDE3LjQxMiAxMy45MTggMzEuNTIxIDMxLjMxNiAzMS41MjEgMTcuNDEgMCAzMS4zMTgtMTQuMTA5IDMxLjMxOC0zMS41MjF2LTQxLjcxNmg0MS44MDJjMTcuNDA0IDAgMzEuNTI3LTE0LjEyMSAzMS41MjctMzEuNTI1cy0xNC4xMjMtMzEuNTEzLTMxLjUyNy0zMS41MTN6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lgSIgZ2x5cGgtbmFtZT0icGluMiIgZD0iTTUxMS45OTcgOTMzLjJjLTE0NS4wMjEgMC0yNjIuNjMzLTExNy42MTUtMjYyLjYzMy0yNjIuNjM5IDAtMTMyLjE5NCA5OC4wMTItMjQwLjUwNSAyMjUuMTExLTI1OC44MjNWLTQyLjMxM2g3NS4wNDJ2NDU0LjA0OWMxMjcuMDY2IDE4LjMxOCAyMjUuMTI0IDEyNi42MjkgMjI1LjEyNCAyNTguODIzIDAgMTQ1LjAyNS0xMTcuNjIyIDI2Mi42NDEtMjYyLjY0NSAyNjIuNjQxem0tNzUuMDQyLTIyNS4xMmMtNDEuNDc2IDAtNzUuMDM0IDMzLjU2Ni03NS4wMzQgNzUuMDQyczMzLjU1OCA3NS4wMzYgNzUuMDM0IDc1LjAzNmM0MS40ODIgMCA3NS4wNDItMzMuNTYgNzUuMDQyLTc1LjAzNnMtMzMuNTYtNzUuMDQyLTc1LjA0Mi03NS4wNDJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lgiIgZ2x5cGgtbmFtZT0icGluMyIgZD0iTTUxMi4wMDQgOTYwYy0yMjUuNjQyIDAtNDA4LjU0OS0xODIuOTE1LTQwOC41NDktNDA4LjU0OVM0NjkuODcxLTY0IDUxMi4wMDQtNjRjNDMuNzE1IDAgNDA4LjUzOSAzODkuODE4IDQwOC41MzkgNjE1LjQ1M0M5MjAuNTQ1IDc3Ny4wODUgNzM3LjYzMiA5NjAgNTEyLjAwNCA5NjB6TTIxOS4zNTEgNTYzLjMzNWMwIDE2Mi40MzMgMTMxLjY4IDI5NC4xMTMgMjk0LjExMSAyOTQuMTEzIDE2Mi40MzkgMCAyOTQuMTE1LTEzMS42OCAyOTQuMTE1LTI5NC4xMTMgMC04NC43ODctMzUuODgzLTE2MS4xODgtOTMuMjgyLTIxNC44Ni0uNDY5LS40NC03LjA2Mi0zLjcyOS04LjU3MSAxLjAyMmwtNDkuNTIzIDE1Mi44MTZjLTcuMTgyIDE5LjM0MS0yNi41ODEgMzAuMjU5LTQ2LjMyNiAzMC4yNTktOS44NTkgMC0xMC43NzctLjI2Mi0xNi42NDItLjI2Mkg0MTcuMDE3Yy0yMi41MyAwLTM5LjExMS0xMC42NTYtNDYuMjk1LTI5Ljk5N2wtNDkuOTY3LTE1MS45MzdjLTIuMjQ3LTYuMjEyLTcuNDY3LTIuNDc2LTcuNjMxLTIuMzIyLTU3Ljk0NiA1My43MTUtOTMuNzc0IDEzMC4wMzYtOTMuNzc0IDIxNS4yODJ6TTUxNC41OCA4MDAuNjY0YzY2Ljg1MSAwIDEyMS4wNDUtNTMuNjM1IDEyMS4wNDUtMTE5LjhzLTU0LjE5NC0xMTkuOC0xMjEuMDQ1LTExOS44Yy02Ni44NTMgMC0xMjEuMDQ1IDUzLjYzNS0xMjEuMDQ1IDExOS44czU0LjE5NCAxMTkuOCAxMjEuMDQ1IDExOS44eiIvPjxnbHlwaCB1bmljb2RlPSLupYMiIGdseXBoLW5hbWU9InBpbjQiIGQ9Ik0xMDA5LjQwOCA2NTEuMzI4bC0yOTQuMDE2IDI5NC4wOGMtOS4xNTIgOS4xODQtMjIuMjQgMTQuMDE2LTM0LjUyOCAxNC41OTItMTIuOTI4LS4xNi0yNS4yNDgtNi4wMTYtMzQuMTQ0LTE1LjM5Mi01Mi4wNjQtNTQuNTYtNzYuOTkyLTEyOC45MjgtNjkuMjE2LTIwMy4yMzJsLTk2LjczNi05Ni43NjhjLTQ2LjA4IDE3Ljg1Ni05NS42NDggMjcuMTY4LTE0NS4xODQgMjcuMTY4LTEwNi42ODggMC0yMDcuMDA4LTQxLjUzNi0yODIuMzM2LTExNi44NjRsLTcuMTY4LTcuMDcyYTQ3Ljk3NSA0Ny45NzUgMCAwMS0xNC4xMTItMzMuOTg0YzAtMTIuNzM2IDUuMDI0LTI0Ljk2IDE0LjA4LTMzLjk4NGwxOTYuNTc2LTE5Ni41NzZMNi45NzYtMTIuMDY0QzIuNTkyLTE3LjUzNiAwLTI0LjQ0OCAwLTMyYzAtMTcuNjk2IDE0LjMwNC0zMiAzMi0zMiA3LjU1MiAwIDE0LjQ5NiAyLjU5MiAxOS45MzYgNi45NzZsMjk1LjMyOCAyMzUuNjQ4TDU0My44NC0xNy45NTJhNDguMDYgNDguMDYgMCAwMTMzLjk1Mi0xNC4wOCA0Ny45MDcgNDcuOTA3IDAgMDEzMy45MiAxNC4wOGw3LjEzNiA3LjEzNmMxMTIuOCAxMTIuOCAxNDYuOTQ0IDI4MC44IDg5LjgyNCA0MjcuNjE2bDk2LjczNiA5Ni43MzZjNzQuNzItNy42OCAxNDguOTkyIDE3LjUwNCAyMDMuMiA2OS4xNTIgOS4zNDQgOC45MjggMTUuMjY0IDIxLjI0OCAxNS4zOTIgMzQuMTQ0LjE2IDEyLjkyOC01LjQ0IDI1LjM3Ni0xNC41OTIgMzQuNDk2ek04MzIgNjA4LjE5MmMtMTEuMTY4IDAtMjIuMzM2IDEuMTItMzMuMzQ0IDMuNDU2LTE1Ljg3MiAzLjM5Mi0zMi40MTYtMS41MzYtNDMuOTA0LTEzLjAyNEw2MTcuNiA0NjEuNDcyYy0xNC41MjgtMTQuNTI4LTE4LjIwOC0zNi43MzYtOS4xMi01NS4xNjggNTEuOTM2LTEwNS40MDggMzguMjcyLTIyOS44ODgtMzIuMzg0LTMyMC43NjhsLTQyNi41NiA0MjYuNTkyYzUyLjk2IDQxLjI4IDExNy43OTIgNjMuNjQ4IDE4Ni4wMTYgNjMuNjQ4IDQ2LjU5MiAwIDkzLjE4NC0xMC44MTYgMTM0Ljc1Mi0zMS4zMjggMTguMzY4LTkuMDU2IDQwLjU3Ni01LjQ0IDU1LjE2OCA5LjEyTDY2Mi42MjQgNjkwLjcyYzExLjQ4OCAxMS40ODggMTYuNDE2IDI4LjAzMiAxMi45OTIgNDMuOTA0LTIuMzM2IDExLjEzNi0zLjQ4OCAyMi4yNzItMy40ODggMzMuMzc2IDAgMjQuMDY0IDUuMzc2IDQ3Ljc0NCAxNS42NDggNjkuMjQ4bDIxMy40NzItMjEzLjUwNGMtMjEuMzEyLTEwLjIwOC00NS4xODQtMTUuNTUyLTY5LjI0OC0xNS41NTJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lhCIgZ2x5cGgtbmFtZT0icG9saWdvbm8iIGQ9Ik0yOTUuNzYgNTQuMjE4aC0yNC4yODNMMzIuODUxIDQ2Ny41MjMgMjcxLjQ4IDg4MC44MzdoNDc3LjIzNGwyMzguNjM1LTQxMy4zMTRMNzQ4LjcxNCA1NC4yMjFsLTQ1Mi45NTQtLjAwM3pNMTQ2LjQxOCA0NjcuNTIzbDE4MS44NDctMzE0Ljk1MSAzNjMuNjcuMDA2IDE4MS44NDEgMzE0Ljk0NS0xODEuODQxIDMxNC45NkgzMjguMjYybC0xODEuODQ0LTMxNC45NnoiLz48Z2x5cGggdW5pY29kZT0i7qWFIiBnbHlwaC1uYW1lPSJwb3NpY2lvbiIgZD0iTTY2My42NDYgMjU2LjIwN2MtMjEuODYxLTMxLjY0Ni00Mi4zNzMtNTkuMTM4LTU5LjQ1OS04MS4yMTMgMTY5LjQ5My0xMC4yMzUgMjgwLjU3NS00Ni44MjcgMzIxLjg3OC03NC4wMTktNDguMzktMzEuOTAzLTE5Mi4yNTMtNzYuNzgxLTQxNC4wMTEtNzYuNzgxcy0zNjUuNjY0IDQ0LjktNDE0LjA3NSA3Ni43ODFjNDEuMzI0IDI3LjIxNCAxNTIuMzIxIDYzLjc4NSAzMjEuNjQyIDczLjk3Ni0xNy4xMjkgMjIuMTE4LTM3LjY2MyA0OS41NjctNTkuNTQ1IDgxLjIxM0MxNTEuNDg2IDIzNS42My4wMDEgMTczLjkyMy4wMDEgMTAxLjAxN2MwLTg5LjcxNCAyMjkuMjUyLTE2Mi40NyA1MTIuMDExLTE2Mi40NyAyODIuNzggMCA1MTEuOTg5IDcyLjcxMyA1MTEuOTg5IDE2Mi40Ny4wNDMgNzIuOTQ5LTE1MS41OTMgMTM0LjY1Ni0zNjAuMzU0IDE1NS4xOXptLTIwNS40NDItNTguOTg4Yy0xMy42NiA5LjUyOC0yNy40NzEgMjEuNjI2LTQyLjI0NSAzNi4xMjEtMjkuMjY5IDI4LjkwNS02MS43NzIgNjcuNDI0LTkyLjg2MSAxMTAuODI1LTYxLjQ1MSA4Ny42MTUtMTE5LjA5IDE4OS42ODQtMTIwLjY3NSAyODEuODE3LjA4NiAxNjguODkzIDEzNy4xODMgMzA1LjkyNiAzMDYuMDEyIDMwNi4wMTIgMTY4Ljc4Ni0uMDg2IDMwNS45MjYtMTM3LjExOSAzMDYuMDEyLTMwNi4wMTItMS4xOTktODAuOTU2LTQ2LjA3Ny0xNjguNDQzLTk3LjgyOS0yNDguNTQzLTUzLjAxNS03OS43MzYtMTExLjg3NS0xNDcuNTAzLTE1Ny45OTUtMTgwLjIyLTE0LjIzOS04Ljk5My0yNS45MjktMTcuOTQzLTUwLjE2Ny0xOS4wOTl2NDIuODAxLTQyLjgyM2MtMjQuMjgxIDEuMTk5LTM1Ljk1IDEwLjEwNi01MC4yNTMgMTkuMTJ6TTI4OC4xMTIgNjI1Ljk4MmMtLjcwNy0zNi42MzUgMjIuMTM5LTk4LjUxNCA1Ni44OS0xNTcuOTczIDM0LjM0NC01OS44MjMgNzkuMjg2LTExOS4wMDUgMTE2LjY3MS0xNTguODMgMTguNTg1LTIwLjI3NyAzNi45NTYtMzUuNzc4IDQ2Ljc0MS00Mi41NDQuNDUuMy44OTkuNiAxLjM3Ljk0MiA3LjYyMiA1LjI0NiAxOC42NDkgMTQuNjAzIDMwLjkzOSAyNi43NjQgMjQuNzczIDI0LjM0NSA1NC45MiA1OS44ODggODMuMzMzIDk5LjY0OSA1Ny41OTcgNzguNjQ0IDEwNi4zMjkgMTc5LjA4NSAxMDQuNzQ1IDIzMS45OTItLjI1NyAxMjEuNDAzLTk5LjAwNiAyMjAuMTMxLTIyMC4zNjYgMjIwLjM0NS0xMjEuMzgxLS4yMTQtMjIwLjEwOS05OC45NDItMjIwLjMyMy0yMjAuMzQ1em0zNS41MjEgMGMuMDg2IDEwMi4wMDQgODIuNzc2IDE4NC43MTYgMTg0LjgwMiAxODQuODAydi04NS42NDZjLTU0LjUzNS0uMTI4LTk5LjAyOC00NC42MjEtOTkuMTEzLTk5LjE3OC4wODYtNTQuNDkyIDQ0LjU3OS05OS4wMjggOTkuMTEzLTk5LjExMyA1NC41MzUuMDg2IDk4Ljk4NSA0NC41NzkgOTkuMTEzIDk5LjExMy0uMTUgNTQuNTk5LTQ0LjU3OSA5OS4wMjgtOTkuMTEzIDk5LjExM3Y4NS43MzFjMTAxLjk4Mi0uMDg2IDE4NC42NzMtODIuNzU1IDE4NC43MzgtMTg0LjgwMi0uMDg2LTEwMS45ODItODIuNzU1LTE4NC42NzMtMTg0LjczOC0xODQuNzM4LTEwMi4wMjUuMDY0LTE4NC42OTUgODIuNzM0LTE4NC44MDIgMTg0LjcxNnoiLz48Z2x5cGggdW5pY29kZT0i7qWGIiBnbHlwaC1uYW1lPSJwb3NpY2lvbjIiIGQ9Ik04NzcuNzE0IDgyLjI4NnEwLTM2LTM1LjE0My02NC44NTd0LTkzLjcxNC00Ni4yODYtMTI4LjU3MS0yNi4yODZUNDc1LjQyOS02NHQtMTQ0Ljg1NyA4Ljg1Ny0xMjguNTcxIDI2LjI4Ni05My43MTQgNDYuMjg2LTM1LjE0MyA2NC44NTdxMCAyOCAxOC44NTcgNTAuNTcxdDUyIDM4IDY3LjQyOSAyNS40MjkgNzQuODU3IDE2Ljg1N3ExNC44NTcgMi44NTcgMjcuNDI5LTZ0MTQuODU3LTIzLjcxNHEyLjg1Ny0xNC44NTctNi0yNy40Mjl0LTIzLjcxNC0xNC44NTdxLTMzLjE0My01LjcxNC02MC41NzEtMTMuNDI5dC00My43MTQtMTQuNTcxLTI3LjcxNC0xMy40MjktMTUuNzE0LTExLjE0My00Ljg1Ny02Ljg1N3ExLjcxNC02LjI4NiAxNS40MjktMTUuMTQzdDQxLjcxNC0xOC44NTcgNjUuMTQzLTE4LjU3MSA5MS43MTQtMTQuMjg2IDExNS4xNDMtNS43MTQgMTE1LjE0MyA1LjcxNCA5MS43MTQgMTQuMjg2VDc0Ny40MzIgNDh0NDEuNzE0IDE5LjE0MyAxNS40MjkgMTUuNzE0cS0uNTcxIDIuMjg2LTQuODU3IDYuMjg2VDc4NC4wMDQgMTAwdC0yNy43MTQgMTMuNDI5LTQzLjcxNCAxNC4yODYtNjAuNTcxIDEzLjQyOXEtMTQuODU3IDIuMjg2LTIzLjcxNCAxNC44NTd0LTYgMjcuNDI5cTIuMjg2IDE0Ljg1NyAxNC44NTcgMjMuNzE0dDI3LjQyOSA2cTQwLjU3MS02Ljg1NyA3NC44NTctMTYuODU3dDY3LjQyOS0yNS40MjkgNTItMzggMTguODU3LTUwLjU3MXptLTIxOS40MjggNTEyVjM3NC44NTdxMC0xNC44NTctMTAuODU3LTI1LjcxNHQtMjUuNzE0LTEwLjg1N2gtMzYuNTcxVjExOC44NTdxMC0xNC44NTctMTAuODU3LTI1LjcxNHQtMjUuNzE0LTEwLjg1N0g0MDIuMjg3cS0xNC44NTcgMC0yNS43MTQgMTAuODU3dC0xMC44NTcgMjUuNzE0djIxOS40MjloLTM2LjU3MXEtMTQuODU3IDAtMjUuNzE0IDEwLjg1N3QtMTAuODU3IDI1LjcxNHYyMTkuNDI5cTAgMzAuMjg2IDIxLjQyOSA1MS43MTR0NTEuNzE0IDIxLjQyOWgyMTkuNDI5cTMwLjI4NiAwIDUxLjcxNC0yMS40Mjl0MjEuNDI5LTUxLjcxNHptLTU0Ljg1NyAyMTkuNDI4cTAtNTMuMTQzLTM3LjQyOS05MC41NzF0LTkwLjU3MS0zNy40MjktOTAuNTcxIDM3LjQyOS0zNy40MjkgOTAuNTcxIDM3LjQyOSA5MC41NzEgOTAuNTcxIDM3LjQyOVQ1NjYgOTA0LjI4NXQzNy40MjktOTAuNTcxeiIvPjxnbHlwaCB1bmljb2RlPSLupYciIGdseXBoLW5hbWU9InBvc2ljaW9uMyIgZD0iTTg5Ni4wMDMgMTI3Ljk5NWMwLTEzMS45MzUtMTk5LjA1Ny0xOTEuOTk3LTM4NC4wMDEtMTkxLjk5Ny0xODQuOTM0IDAtMzg0LjAwMyA2MC4wNjItMzg0LjAwMyAxOTEuOTk3IDAgMTA5LjEzMiAxMzYuMjUzIDE2OC45MzcgMjg3Ljk5OCAxODYuNDQxdi02NC45NGMtMTI5LjUyNy0xNi4zNjgtMjIzLjk5OC02NC4yNDctMjIzLjk5OC0xMjEuNTAxQzE5MS45OTkgNTcuMzE1IDMzNS4yMiAwIDUxMiAwYzE3Ni43NSAwIDMxOS45OTggNTcuMzE1IDMxOS45OTggMTI3Ljk5NSAwIDU3LjI1NC05NC40OTQgMTA1LjEzMy0yMjMuOTk4IDEyMS41MDF2NjQuOTRjMTUxLjc0My0xNy41MDQgMjg4LjAwMi03Ny4zMDkgMjg4LjAwMi0xODYuNDQxek01MTIgOTYwYy0xMjMuNjg5IDAtMjIzLjk5OC0xMDAuMzEyLTIyMy45OTgtMjI0LjAwMiAwLTExMi43NDcgODMuNTk0LTIwNS4xMjQgMTkxLjk5Ny0yMjAuNzQ1VjEyNy45OTZoNjQuMDAzdjM4Ny4yNTdjMTA4LjM3NCAxNS42MjEgMTkyLjAwNiAxMDcuOTk5IDE5Mi4wMDYgMjIwLjc0NUM3MzYuMDA4IDg1OS42ODcgNjM1LjY4OSA5NjAgNTEyIDk2MHptLTY0LjAwMy0xOTIuMDAyYy0zNS4zNzUgMC02My45OTYgMjguNjI4LTYzLjk5NiA2NC4wMDNzMjguNjIxIDYzLjk5NiA2My45OTYgNjMuOTk2YzM1LjM3OSAwIDY0LjAwMy0yOC42MjEgNjQuMDAzLTYzLjk5NnMtMjguNjI0LTY0LjAwMy02NC4wMDMtNjQuMDAzeiIvPjxnbHlwaCB1bmljb2RlPSLupYgiIGdseXBoLW5hbWU9InBvc2ljaW9uNCIgZD0iTTk5Mi4wMDYgNjcxLjk5OGMtMTMxLjU3LTQ4LjQ0LTIzMS44MDgtODIuOTM3LTMyMC4wMDEtMTkyLjAwMi03OC41NjktOTcuMTg1LTE5Mi4wMDYtMTMwLjg2OS0zMTkuOTk4LTY2LjgwOVY2NC4wMDRIMjg4djg2My45OTdjLS4wMDIgMTcuNjkgMTQuMzExIDMyIDMxLjk5OCAzMiAxNy42ODUgMCAzMi4wMDctMTQuMzExIDMyLjAwNy0zMiA3MS4wNTgtMTAzLjMxMSAxOTQuNTU3LTEyNi4xOTIgMzE5Ljk5OC0xMjguMDAzQzg2NCA3OTcuMTkxIDk5Mi4wMDYgNjcxLjk5OSA5OTIuMDA2IDY3MS45OTl6bS01NzYuMDA5LTQyNC41di02NS4xMTVDNDkxLjQ5NyAxNjYuOTM5IDU0NCAxMzQuMTc5IDU0NCA5NS45OTEgNTQ0IDQyLjk5MiA0NDMuNjgzLS4wMTIgMzE5Ljk5OC0uMDEyIDE5Ni4zMDktLjAxMiA5NiA0Mi45OTIgOTYgOTYuMDAxYzAgMzguMTc3IDUyLjQ5NyA3MC45MzUgMTI3Ljk5NSA4Ni4zODJ2NjUuMTE1QzEwNy43NTEgMjI3LjM3NSAzMS45OTMgMTcwLjk5NyAzMS45OTMgOTYuMDA0YzAtOTQuMTkgMTE4LjQzOS0xNjAuMDAzIDI4OC4wMDItMTYwLjAwMyAxNjkuNTU5IDAgMjg4LjAwNCA2NS44MTUgMjg4LjAwNCAxNjAuMDAzLjAwNCA3NC45OTQtNzUuNzYgMTMxLjM3MS0xOTIuMDA0IDE1MS40OTR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6liSIgZ2x5cGgtbmFtZT0icG9zaWNpb241IiBkPSJNNjQ3LjU5NiA1ODcuMDQ5bDU4LjgzMy0yMTEuMzk0YzIuNjU2LTkuNTQyIDEuNDY3LTE4Ljc3LTMuNTY1LTI3LjY4NHMtMTIuMzE5LTE0LjY5OC0yMS44NjItMTcuMzU0bC0zNS4yMzMtOS44MDUgNzkuODc3LTE0NS4xNjIgNDUuOTY5LTM5Ljk4NWMyLjY1NS05LjU0MiAxLjQ2Ni0xOC43Ny0zLjU2Ni0yNy42ODNzLTEyLjMxOS0xNC42OTgtMjEuODYyLTE3LjM1NGwtMTkuMzMyLTQuOTQ2cy0xMi42NjYtMy4xMS0yMS4wNDctMi4zNDktMTkuOTU5IDYuNTU1LTE5Ljk1OSA2LjU1NWwtNDEuNTUxIDIxLjE3NC01Ni41ODQgODYuMzY2TDY0Ny45NTYgODAuMzFzNS4yODEtOC40MDcgMS40NzEtMjAuNTk4Yy0zLjA0Ny0xMS4wNDgtMTIuMTktMTIuOTUzLTEyLjE5LTEyLjk1M2wtNDYuMTk5LTEzLjA3Yy05LjU0Mi0yLjY1NS0xOC43Ny0xLjQ2Ny0yNy42ODMgMy41NjUtOC45MTMgNS4wMzQtMTQuNjk5IDEyLjMyMS0xNy4zNTQgMjEuODYyTDQzNC4zNzUgMjYxLjk3OGwtMzUuMjMzLTkuODA1Yy05LjU0Mi0yLjY1NS0xOC43Ny0xLjQ2Ny0yNy42ODMgMy41NjVzLTE0LjY5OSAxMi4zMjEtMTcuMzU0IDIxLjg2MmwtNTguODMzIDIxMS4zOTRjLTUuNDE0IDE5LjQ1MS0zLjE1NCAzNy45NzMgNi43NzggNTUuNTY2czI0LjYyNSAyOS4wOTYgNDQuMDc1IDM0LjUxbDIxMS4zOTQgNTguODMzYzE5LjQ1MSA1LjQxNCAzNy45NzQgMy4xNTQgNTUuNTY2LTYuNzc5czI5LjA5NS0yNC42MjQgMzQuNTA5LTQ0LjA3NXpNNTM1LjkxNSA3ODMuNzM1YzkuNDk5LTM0LjEzMSA1LjU3My02Ni41NjEtMTEuNzc0LTk3LjI5LTE3LjM0OS0zMC43MjktNDMuMDg5LTUwLjg0My03Ny4yMjEtNjAuMzQycy02Ni41NjItNS41NzQtOTcuMjkgMTEuNzc0Yy0zMC43MjkgMTcuMzQ5LTUwLjg0MyA0My4wODktNjAuMzQyIDc3LjIycy01LjU3NCA2Ni41NjIgMTEuNzc0IDk3LjI5YzE3LjM0OSAzMC43MjkgNDMuMDg5IDUwLjg0MyA3Ny4yMiA2MC4zNDJzNjYuNTYyIDUuNTc0IDk3LjI5MS0xMS43NzQgNTAuODQzLTQzLjA4OSA2MC4zNDItNzcuMjJ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6liiIgZ2x5cGgtbmFtZT0icG9zaWNpb242IiBkPSJNNDQ2LjAzMiA2NjcuNzcxYzYxLjcyMSAyMy4wMDcgOTMuMjIzIDkxLjk0NyA3MC4yMSAxNTMuNjc0LTIzLjAwNyA2MS43MjUtOTEuOTQ5IDkzLjIyMy0xNTMuNjcyIDcwLjIxMi02MS43MDYtMjMuMDAzLTkzLjE4Ni05MS45MzMtNzAuMTc3LTE1My42NTkgMjMuMDExLTYxLjcyNyA5MS45MzMtOTMuMjI5IDE1My42MzktNzAuMjI2ek03MTIuNzcgNDcyLjY1YzEzLjQwOC04LjgwNiAzMC40MDEtMTAuNzE1IDQ1LjQ0OS01LjEwNiAxMC4xMTkgMy43NzIgMTguNjEyIDEwLjU1MSAyNC41NiAxOS42MDMgNy40MTIgMTEuMjg0IDkuOTg2IDI0Ljc4MyA3LjI0OCAzOC4wMDctMi43MzYgMTMuMjI0LTEwLjQ1OSAyNC41OTItMjEuNzQ4IDMyLjAwNmwtNTcuOTg5IDM4LjA4OWMtMTMuMjA4IDguNjczLTM0LjkwOCAyMi4yODItNDguMzcyIDMwLjMzM2wtODMuMTU3IDQ5LjcyM2MtMTMuMjUzIDcuOTI0LTI1Ljc2NiAxMC42MzUtNDMuNjM3IDMuOTczLS40NDYtLjE2OC0xNDAuNjg3LTUyLjQ0NS0xNDAuNjg3LTUyLjQ0NWwtMTA5LjEzNiAyNi43MmMtMTMuMDQ2IDMuMTg5LTMwLjYzNCA4Ljg3NC0zNy42MzggMTEuODI3bC0xOC41MjIgNy43OTVjLTExLjkxMyA1LjAxNC0yNS4xNDcgNS4yODgtMzcuMjU3Ljc3NC0xMy4wMTUtNC44NTItMjMuNTY2LTE0Ljk3MS0yOC45NTEtMjcuNzY1LTUuMjM3LTEyLjQ0OC01LjMxMy0yNi4xODgtLjIxNS0zOC42OTMgNS4xLTEyLjUwNSAxNC43Ni0yMi4yNzQgMjcuMjA4LTI3LjUxM2wxOC41MTYtNy43ODljMTIuNjQyLTUuMzI1IDM1LjM0Ni0xMi41NjcgNTIuODEtMTYuODQ3bDE0My40NzMtMzUuMTIxIDc0LjY0OC0xNTYuMDhjLjEwNC0uNDIyLjE2Ni0uODQ0LjI4NS0xLjI2Mmw0Mi4zMTItMTU0LjExYzYuMTk5LTIyLjU5NiAyMi4yMjktNTEuNTAxIDM4LjEyMS02OC43MzFsNzUuOTE1LTgyLjM0YzE0Ljc0NC0xNS45OTMgMzcuNDQ0LTIxLjQyIDU3LjgyNy0xMy44MjJhNTIuOTU3IDUyLjk1NyAwIDAxMTcuNDg4IDEwLjc2OGMxMC40NjcgOS42NDYgMTYuNTUyIDIyLjc5NiAxNy4xMjcgMzcuMDI0LjU4IDE0LjIyMy00LjQxOCAyNy44MjYtMTQuMDcgMzguMjg5bC03NS45MjMgODIuMzQ4Yy00LjQxMSA0Ljc4OC0xMS45NjQgMTguMzk3LTEzLjY4OSAyNC42ODdsLTI4LjI5NSAxMDMuMDY0IDE2LjIwMiA2LjA0MiA2NS42MTItMTAzLjYzOWMxMi4xMzQtMTkuMTY1IDMxLjY4Ny0zMi4wNDUgNTMuNjMxLTM1LjM0NCAxMi42NTUtMS45MDUgMjUuNzY0LS41MTQgMzcuOTEzIDQuMDE0IDguNjY1IDMuMjMgMTYuNjUyIDcuOTQyIDIzLjc0IDE0LjAxMmw0NS4xNDYgMzguNjU4YzIyLjMyMyAxOS4xMTYgMjQuOTQxIDUyLjgzIDUuODI1IDc1LjE1My0xNC40OSAxNi45MjUtMzguMjQ2IDIzLjA3My01OS4xMTMgMTUuMjkyYTUzLjExNiA1My4xMTYgMCAwMS0xNi4wNDQtOS40NjhsLTE5LjI1NS0xNi40OS01OS4xOTEgOTMuNDg3LTQ1LjQxIDk0Ljk2YTk1MS4xNjMgOTUxLjE2MyAwIDAwOS4yNTctNS45OWw1Ny45ODktMzguMDk1eiIvPjxnbHlwaCB1bmljb2RlPSLupYsiIGdseXBoLW5hbWU9InBvc2ljaW9uNyIgZD0iTTg3Ny43MTQgODIuMjg2YzAtMjQtMTEuNzE0LTQ1LjYxOS0zNS4xNDMtNjQuODU3cy01NC42NjYtMzQuNjY2LTkzLjcxNC00Ni4yODZjLTM5LjA0Ny0xMS42MTktODEuOTA1LTIwLjM4MS0xMjguNTcxLTI2LjI4NlM1MjUuMzM0LTY0IDQ3NS40MjktNjRzLTk4LjE5IDIuOTUzLTE0NC44NTcgOC44NTctODkuNTIzIDE0LjY2Ny0xMjguNTcxIDI2LjI4NmMtMzkuMDQ3IDExLjYxOS03MC4yODYgMjcuMDQ4LTkzLjcxNCA0Ni4yODZTNzMuMTQ0IDU4LjI4NiA3My4xNDQgODIuMjg2YzAgMTguNjY3IDYuMjg2IDM1LjUyNCAxOC44NTcgNTAuNTcxczI5LjkwNSAyNy43MTQgNTIgMzhjMjIuMDk1IDEwLjI4NiA0NC41NzEgMTguNzYyIDY3LjQyOSAyNS40MjlzNDcuODEgMTIuMjg2IDc0Ljg1NyAxNi44NTdjOS45MDUgMS45MDUgMTkuMDQ4LS4wOTUgMjcuNDI5LTZzMTMuMzM0LTEzLjgwOSAxNC44NTctMjMuNzE0YzEuOTA1LTkuOTA1LS4wOTUtMTkuMDQ3LTYtMjcuNDI5cy0xMy44MDktMTMuMzMzLTIzLjcxNC0xNC44NTdjLTIyLjA5NS0zLjgwOS00Mi4yODYtOC4yODYtNjAuNTcxLTEzLjQyOXMtMzIuODU3LTEwLTQzLjcxNC0xNC41NzEtMjAuMDk1LTkuMDQ3LTI3LjcxNC0xMy40MjljLTcuNjE5LTQuMzgxLTEyLjg1Ny04LjA5NS0xNS43MTQtMTEuMTQzcy00LjQ3Ni01LjMzMy00Ljg1Ny02Ljg1N2MxLjE0My00LjE5IDYuMjg2LTkuMjM4IDE1LjQyOS0xNS4xNDNzMjMuMDQ4LTEyLjE5IDQxLjcxNC0xOC44NTdjMTguNjY3LTYuNjY2IDQwLjM4MS0xMi44NTcgNjUuMTQzLTE4LjU3MXM1NS4zMzQtMTAuNDc2IDkxLjcxNC0xNC4yODZjMzYuMzgxLTMuODA5IDc0Ljc2Mi01LjcxNCAxMTUuMTQzLTUuNzE0czc4Ljc2MiAxLjkwNSAxMTUuMTQzIDUuNzE0YzM2LjM4MSAzLjgxIDY2Ljk1MyA4LjU3MSA5MS43MTQgMTQuMjg2czQ2LjQ3NyAxMiA2NS4xNDMgMTguODU3YzE4LjY2NyA2Ljg1NyAzMi41NzEgMTMuMjM4IDQxLjcxNCAxOS4xNDNzMTQuMjg2IDExLjE0MyAxNS40MjkgMTUuNzE0Yy0uMzgxIDEuNTI0LTIgMy42MTktNC44NTcgNi4yODZzLTguMDk1IDYuMjg2LTE1LjcxNCAxMC44NTctMTYuODU3IDkuMDQ4LTI3LjcxNCAxMy40MjktMjUuNDI5IDkuMTQzLTQzLjcxNCAxNC4yODYtMzguNDc2IDkuNjE5LTYwLjU3MSAxMy40MjljLTkuOTA1IDEuNTI0LTE3LjgwOSA2LjQ3Ny0yMy43MTQgMTQuODU3cy03LjkwNSAxNy41MjQtNiAyNy40MjljMS41MjQgOS45MDUgNi40NzcgMTcuODEgMTQuODU3IDIzLjcxNHMxNy41MjQgNy45MDUgMjcuNDI5IDZjMjcuMDQ4LTQuNTcxIDUyLTEwLjE5IDc0Ljg1Ny0xNi44NTdzNDUuMzM0LTE1LjE0MyA2Ny40MjktMjUuNDI5YzIyLjA5NS0xMC4yODYgMzkuNDI5LTIyLjk1MiA1Mi0zOHMxOC44NTctMzEuOTA1IDE4Ljg1Ny01MC41NzF6bS0yMTkuNDI4IDUxMlYzNzQuODU3YzAtOS45MDUtMy42MTktMTguNDc2LTEwLjg1Ny0yNS43MTRzLTE1LjgwOS0xMC44NTctMjUuNzE0LTEwLjg1N2gtMzYuNTcxVjExOC44NTdjMC05LjkwNS0zLjYxOS0xOC40NzYtMTAuODU3LTI1LjcxNHMtMTUuODA5LTEwLjg1Ny0yNS43MTQtMTAuODU3SDQwMi4yODdjLTkuOTA1IDAtMTguNDc2IDMuNjE5LTI1LjcxNCAxMC44NTdzLTEwLjg1NyAxNS44MS0xMC44NTcgMjUuNzE0djIxOS40MjloLTM2LjU3MWMtOS45MDUgMC0xOC40NzYgMy42MTktMjUuNzE0IDEwLjg1N3MtMTAuODU3IDE1LjgxLTEwLjg1NyAyNS43MTR2MjE5LjQyOWMwIDIwLjE5MSA3LjE0MyAzNy40MjkgMjEuNDI5IDUxLjcxNHMzMS41MjQgMjEuNDI5IDUxLjcxNCAyMS40MjloMjE5LjQyOWMyMC4xOTEgMCAzNy40MjktNy4xNDMgNTEuNzE0LTIxLjQyOXMyMS40MjktMzEuNTIzIDIxLjQyOS01MS43MTR6bS01NC44NTcgMjE5LjQyOGMwLTM1LjQyOS0xMi40NzYtNjUuNjE5LTM3LjQyOS05MC41NzFzLTU1LjE0My0zNy40MjktOTAuNTcxLTM3LjQyOS02NS42MTkgMTIuNDc3LTkwLjU3MSAzNy40MjljLTI0Ljk1MiAyNC45NTMtMzcuNDI5IDU1LjE0My0zNy40MjkgOTAuNTcxczEyLjQ3NyA2NS42MTkgMzcuNDI5IDkwLjU3MWMyNC45NTMgMjQuOTUzIDU1LjE0MyAzNy40MjkgOTAuNTcxIDM3LjQyOXM2NS42MTktMTIuNDc2IDkwLjU3MS0zNy40MjljMjQuOTUzLTI0Ljk1MiAzNy40MjktNTUuMTQzIDM3LjQyOS05MC41NzF6bTI4OC0zNTEuNDI4YzAgMTUuMzAxLTUuNDEzIDI4LjM2NC0xNi4yMzkgMzkuMTlzLTIzLjg4OSAxNi4yMzktMzkuMTkgMTYuMjM5Yy0xNS4zIDAtMjguMzY0LTUuNDEzLTM5LjE5LTE2LjIzOXMtMTYuMjM5LTIzLjg4OS0xNi4yMzktMzkuMTljMC0xNS4zIDUuNDEzLTI4LjM2NCAxNi4yMzktMzkuMTlzMjMuODg5LTE2LjIzOSAzOS4xOS0xNi4yMzljMTUuMzAxIDAgMjguMzY0IDUuNDEzIDM5LjE5IDE2LjIzOXMxNi4yMzkgMjMuODg5IDE2LjIzOSAzOS4xOXptNTUuNDI4IDBjMC0xNS43MzMtMi4zODItMjguNjUzLTcuMTQ1LTM4Ljc1N2wtNzguODEzLTE2Ny41ODVjLTIuMzA5LTQuNzYzLTUuNzM4LTguNTE2LTEwLjI4NS0xMS4yNTlzLTkuNDE4LTQuMTE0LTE0LjYxNS00LjExNC0xMC4wNjggMS4zNzEtMTQuNjE1IDQuMTE0Yy00LjU0NyAyLjc0My03LjkwMyA2LjQ5NS0xMC4wNjggMTEuMjU5bC03OS4wMjkgMTY3LjU4NWMtNC43NjMgMTAuMTA0LTcuMTQ1IDIzLjAyMy03LjE0NSAzOC43NTcgMCAzMC42MDIgMTAuODI2IDU2LjcyNyAzMi40NzggNzguMzc5czQ3Ljc3OCAzMi40NzggNzguMzc5IDMyLjQ3OGMzMC42MDIgMCA1Ni43MjctMTAuODI2IDc4LjM3OS0zMi40NzhzMzIuNDc4LTQ3Ljc3OCAzMi40NzgtNzguMzc5ek0yMDUuNzE0IDczMmMwIDE1LjMwMS01LjQxMyAyOC4zNjQtMTYuMjM5IDM5LjE5cy0yMy44ODkgMTYuMjM5LTM5LjE5IDE2LjIzOWMtMTUuMyAwLTI4LjM2NC01LjQxMy0zOS4xOS0xNi4yMzlTOTQuODU2IDc0Ny4zMDEgOTQuODU2IDczMmMwLTE1LjMgNS40MTMtMjguMzY0IDE2LjIzOS0zOS4xOXMyMy44ODktMTYuMjM5IDM5LjE5LTE2LjIzOWMxNS4zMDEgMCAyOC4zNjQgNS40MTMgMzkuMTkgMTYuMjM5czE2LjIzOSAyMy44ODkgMTYuMjM5IDM5LjE5em01NS40MjkgMGMwLTE1LjczMy0yLjM4Mi0yOC42NTMtNy4xNDUtMzguNzU3bC03OC44MTMtMTY3LjU4NWMtMi4zMDktNC43NjMtNS43MzgtOC41MTYtMTAuMjg1LTExLjI1OXMtOS40MTgtNC4xMTQtMTQuNjE1LTQuMTE0LTEwLjA2OCAxLjM3MS0xNC42MTUgNC4xMTRjLTQuNTQ3IDIuNzQzLTcuOTAzIDYuNDk1LTEwLjA2OCAxMS4yNTlMNDYuNTczIDY5My4yNDNjLTQuNzYzIDEwLjEwNC03LjE0NSAyMy4wMjMtNy4xNDUgMzguNzU3IDAgMzAuNjAyIDEwLjgyNiA1Ni43MjcgMzIuNDc4IDc4LjM3OXM0Ny43NzggMzIuNDc4IDc4LjM3OSAzMi40NzhjMzAuNjAyIDAgNTYuNzI3LTEwLjgyNiA3OC4zNzktMzIuNDc4czMyLjQ3OC00Ny43NzggMzIuNDc4LTc4LjM3OXoiLz48Z2x5cGggdW5pY29kZT0i7qWMIiBnbHlwaC1uYW1lPSJwcmlzbWF0aWNvcyIgZD0iTTE4Mi4yMzcgODg1LjY4MmgxMzYuMzk3YzcuNjg0IDAgMTMuOTEyLTYuMjMgMTMuOTEyLTEzLjkxMnYtNTMuOTg5aDM1LjUzNWM3LjY4NCAwIDEzLjkxMi02LjIyOCAxMy45MTItMTMuOTE0VjY4NC45NjhoNTcuMzczYzcuOTgxIDEzLjU3NiAyMi41NzcgMjIuMTY2IDM4LjkzOSAyMi4xNjZoNjcuNjg0YzE2LjM1NyAwIDMwLjk1My04LjU4MyAzOC45MzktMjIuMTY2aDU3LjA4OHYxMTguODk3YzAgNy42ODYgNi4yMyAxMy45MTQgMTMuOTE0IDEzLjkxNGgzNS44MTV2NTMuOTkxYzAgNy42ODQgNi4yMjYgMTMuOTEyIDEzLjkxMiAxMy45MTJoMTM2LjM5OWM3LjY4NCAwIDEzLjkxMi02LjIyOCAxMy45MTItMTMuOTEydi01My45ODloMzUuMjQ4YzcuMzk1IDAgMTMuNTAyLTUuNzg4IDEzLjg5Ni0xMy4xNzVsMzMuMzk5LTU1My4yMThoMjcuMTU2YzcuNjg2IDAgMTMuOTE0LTYuMjI2IDEzLjkxNC0xMy45MTJWNDQuNzEyYzAtNy42ODQtNi4yMjgtMTMuOTEyLTEzLjkxNC0xMy45MTJINjE1LjU4MmMtNy42ODggMC0xMy45MTYgNi4yMjgtMTMuOTE2IDEzLjkxMnYxOTIuNzY0YzAgNy42ODYgNi4yMjggMTMuOTEyIDEzLjkxNiAxMy45MTJoMjYuNDM2djkwLjM0NUg1ODQuOTNjLTcuOTgxLTEzLjU3Ni0yMi41NzctMjIuMTYzLTM4LjkzOS0yMi4xNjNoLTY3LjY4NGMtMTYuMzU3IDAtMzAuOTU2IDguNTc5LTM4LjkzOSAyMi4xNjNoLTU3LjM4MXYtOTAuMzQ1aDI2LjQzOGM3LjY4NCAwIDEzLjkxMi02LjIyNiAxMy45MTItMTMuOTEyVjQ0LjcxMmMwLTcuNjg0LTYuMjI4LTEzLjkxMi0xMy45MTItMTMuOTEySDU4LjM0Yy03LjY4NCAwLTEzLjkxIDYuMjI4LTEzLjkxIDEzLjkxMnYxOTIuNzY0YzAgNy42ODYgNi4yMjggMTMuOTEyIDEzLjkxIDEzLjkxMmgyNy4xNTZsMzMuMzk1IDU1My4yMThjLjM5NSA3LjM4NSA2LjQ5NiAxMy4xNzcgMTMuODk2IDEzLjE3N2gzNS41MzN2NTMuOTg3Yy4wMDYgNy42ODQgNi4yMzIgMTMuOTEyIDEzLjkxOCAxMy45MTJ6bTEyMi40NzktMjcuODI0SDE5Ni4xNDN2LTQwLjA3N2gxMDguNTczdjQwLjA3N3ptNTIzLjQyNCAwSDcxOS41NjV2LTQwLjA3N0g4MjguMTR2NDAuMDc3em0tNjQ1LjkwMy02Ny45MDNoLTM2LjI1bC0zMi42MjMtNTM4LjU3M2gyNDAuODAydjUzOC41NzNoLTE3MS45M3ptNTIzLjQxNiAwaC0zNS44MTVWMjUxLjM4Nkg5MTAuNjRsLTMyLjYyMyA1MzguNTczLTE3Mi4zNjQtLjAwNHpNNTU5LjgxNyA2NzIuNDQyYy0zLjI0IDQuMjIxLTguMzM5IDYuODY5LTEzLjgzMiA2Ljg2OWgtNjcuNjg0Yy01LjQ5MSAwLTEwLjU5NC0yLjY1NC0xMy44MzItNi44NjlhMTMuOTIzIDEzLjkyMyAwIDAwLTEuMjQxLTcuMjcyYy0xLjUzNi0zLjI4NS0yLjMxMi02Ljc1Ni0yLjMxMi0xMC4zMDhWMzcxLjg0MWMwLTMuNTQ3Ljc3Ni03LjAxNCAyLjMxOC0xMC4zMDNhMTMuOTM5IDEzLjkzOSAwIDAwMS4yMzktNy4yNzRjMy4yNC00LjIxOSA4LjM0Mi02Ljg2OSAxMy44MzQtNi44NjloNjcuNjc4YzUuNDkzIDAgMTAuNTk0IDIuNjU0IDEzLjgzMiA2Ljg2OWExMy45MTggMTMuOTE4IDAgMDAxLjI0MSA3LjI3NGMxLjUzNCAzLjI4OSAyLjMxOCA2Ljc1NiAyLjMxOCAxMC4zMDN2MjgzLjAyMWMwIDMuNTQ5LS43OCA3LjAyMS0yLjMxNCAxMC4zMDhhMTMuODggMTMuODggMCAwMC0xLjI0NSA3LjI3MnptLTEyNi43MjgtMTUuMjk4aC01MS4xMDR2LTI4Ny41OWg1MS4xMDR2Mjg3LjU5em0yMDguOTIyIDBoLTUwLjgxNXYtMjg3LjU5aDUwLjgxNXYyODcuNTl6TTk4LjY4OSAyMjMuNTY2SDcyLjI1MVY1OC42MjRIMzk0LjUxdjE2NC45NDJIOTguNjg5em01NTcuMjM2IDBoLTI2LjQzOFY1OC42MjRoMzIyLjI1OXYxNjQuOTQySDY1NS45MjV6TTYxNS41NzQgMTYuNDY4Yy0xNS42MDYuMDA0LTI4LjI0NCAxMi42MzgtMjguMjU0IDI4LjI0NHYxOTIuNzY0Yy4wMSAxNS42MSAxMi42NTMgMjguMjQ0IDI4LjI1NCAyOC4yNDhsMTIuMDk1LjAwNHY2MS42NzFoLTM1LjI1OGMtMTEuMDUxLTEzLjc2My0yNy45OC0yMi4xODItNDYuNDI4LTIyLjE2NmgtNjcuNjg0Yy0xOC40NDItLjAxNi0zNS4zNzcgOC4zOTMtNDYuNDI4IDIyLjE2NmgtMzUuNTUzdi02MS42NzFoMTIuMTAyYzE1LjYwNi0uMDA4IDI4LjI0LTEyLjY0MiAyOC4yNDgtMjguMjUyVjQ0LjcxMmMtLjAwOC0xNS42MDYtMTIuNjQyLTI4LjIzNi0yOC4yNDgtMjguMjVINTguMzQzYy0xNS42MS4wMTQtMjguMjQgMTIuNjQ4LTI4LjI0OCAyOC4yNXYxOTIuNzY0Yy4wMDggMTUuNjEgMTIuNjQyIDI4LjI0NCAyOC4yNDggMjguMjQ4bDEzLjY1Ni4wMDQgMzIuNTc1IDUzOS42NDhjLjgxMSAxNC45ODkgMTMuMTg1IDI2LjczNyAyOC4yMTMgMjYuNzQ1aDIxLjE5N3YzOS42NjZjLjAyMyAxNS41OTMgMTIuNjQyIDI4LjIyMyAyOC4yNTIgMjguMjM2aDEzNi4zOTljMTUuNjA2LS4wMTIgMjguMjM2LTEyLjY0OCAyOC4yNDgtMjguMjUybC0uMDA0LTM5LjY1MWgyMS4yMDFjMTUuNjA2LS4wMDggMjguMjQtMTIuNjQyIDI4LjI0OC0yOC4yNDhWNjk5LjMwN2gzNS41NDljMTEuMDQ3IDEzLjc2NSAyNy45NzQgMjIuMTgyIDQ2LjQyMiAyMi4xNjhoNjcuNjg0YzE4LjQ0NC4wMTggMzUuMzczLTguMzk3IDQ2LjQyNi0yMi4xNjhoMzUuMjY1VjgwMy44N2MuMDEgMTUuNjEgMTIuNjQ0IDI4LjI0IDI4LjI1NCAyOC4yNDhoMjEuNDczdjM5LjY1MWMuMDA4IDE1LjYwNiAxMi42NDIgMjguMjQ0IDI4LjI1MiAyOC4yNTJoMTM2LjM5OWMxNS42MDYtLjAxMiAyOC4yMzYtMTIuNjQyIDI4LjI0NC0yOC4yNTJ2LTM5LjY1MWgyMC45MTZjMTUuMDItLjAwOCAyNy4zOTgtMTEuNzQxIDI4LjIwMy0yNi42NDdsMzIuNTgyLTUzOS43NDJoMTMuNjY0YzE1LjYwMi0uMDA4IDI4LjI0NC0xMi42NDIgMjguMjUtMjguMjUyVjQ0LjcxM2MtLjAwNi0xNS42MDYtMTIuNjQ0LTI4LjI0LTI4LjI1LTI4LjI1bC0zNTAuMDg3LjAwNnptMjguMjQ4IDU2LjQ5NmgyOTMuNTg3djEzNi4yNjhINjQzLjgyMlY3Mi45NjR6bS01NTcuMjM3IDBoMjkzLjU4N3YxMzYuMjY4SDg2LjU4NVY3Mi45NjR6bTQyLjAxMyAxOTIuNzZoMjExLjIzM3Y1MDkuODk1SDE1OS40NzhsLTMwLjg4LTUwOS44OTV6bTU1NS41NzEuMDA0aDIxMS4yMzlsLTMwLjg4NiA1MDkuODk3LTE4MC4zNTEtLjAwNFYyNjUuNzI4aC0uMDAyem0tMjM2LjYwMyA5MC4zNDVsMi4zMDYtMy45MjQuMzI4IDMuNDE2YTM4Ljc2IDM4Ljc2IDAgMDAtMi43NzMgOC4yNTV2LTcuNzQ4aC4xMzl6bTEyNi44NjUtMy44OTFsMi4yODYgMy44ODdoLjE0MXY3Ljc2OGEzOS4xNiAzOS4xNiAwIDAwLTIuNzY5LTguMjY2bC4zNDItMy4zODl6bS0yOC40NDYgOS41NTJoLjA4NGEyNy41NzcgMjcuNTc3IDAgMDAxLjk5OSA1Ljg2M2MuNjg2IDEuNDk1Ljk2NyAyLjgxMi45NzMgNC4yNDF2MjgzLjAyM2MtLjAwNiAxLjQ0Ni0uMjg3IDIuNzY3LS45NSA0LjIwNWEyOC4wOTcgMjguMDk3IDAgMDAtMi4wMTMgNS45MDhINDc4LjIxYTI4LjQ0IDI4LjQ0IDAgMDAtMS45OTMtNS44NzRjLS42NzItMS40NjQtLjk1Mi0yLjc3NS0uOTYzLTQuMjM5VjM3MS44NGMuMDA4LTEuNDUyLjI4Ny0yLjc1My45NzktNC4yNTRhMjguMjY1IDI4LjI2NSAwIDAwMS45ODItNS44NTFoLjA5Nmw2Ny42NzQtLjAwMnptNTkuNTQ1IDIyLjE1N2gyMi4xNDV2MjU4LjkxNkg2MDUuNTNWMzgzLjg5MXptLTIwOS4yMTEgMGgyMi40MzZ2MjU4LjkxOGwtMjIuNDM2LjAwMnYtMjU4Ljkyem0yNDUuNjkgMjczLjI1M3ptLTIwOC45MTggMHptMTQuMzM2IDUuNzQ0YTM4LjU5NiAzOC41OTYgMCAwMDIuNzY3IDguMjUxbC0uMzM4IDMuMzk4LTIuMjk2LTMuOTA2aC0uMTM1di03Ljc0M2guMDAyem0xMjkuNDMzLjAwMnY3Ljc0MWgtLjE0M2wtMi4yNjkgMy44NjctLjM1NC0zLjM0OGEzOC45NTEgMzguOTUxIDAgMDAyLjc2Ny04LjI2em0tMTcuMDQzIDkuNTUyem0xNDUuODM2IDExNy41MTV6bTI4LjI0NCA0Mi4xNkg4MTMuOHYxMS40MDVsLTc5LjkwMy4wMDJ2LTExLjQwN3ptLTUyMy40MTggMGg3OS44OTl2MTEuNDA3aC03OS44OTl2LTExLjQwN3ptNjE3LjY2MSAyNS43Mzl6bS01MjMuNDI2IDB6Ii8+PGdseXBoIHVuaWNvZGU9Iu6ljSIgZ2x5cGgtbmFtZT0icmVnbGEiIGQ9Ik03NDQuODYyIDkzOS42MzJMMzYuMzI2IDIzMS4wODcgMzAyLjAyOS0zNC42MTZsNzA4LjUzNiA3MDguNTQ1LTI2NS43MDMgMjY1LjcwM3pNMzAyLjAyNiA1My45NTRMMTI0Ljg5MyAyMzEuMDg3bDY2LjQyMyA2Ni40MjYgODguNTY3LTg4LjU3IDQ0LjI4NSA0NC4yODUtODguNTY0IDg4LjU3IDQ0LjI4MiA0NC4yODIgNDQuMjg1LTQ0LjI4MiA0NC4yODIgNDQuMjgyLTQ0LjI4MiA0NC4yODIgNDQuMjg1IDQ0LjI5NCA4OC41NjctODguNTc2IDQ0LjI4NSA0NC4yODItODguNTY3IDg4LjU3NiA0NC4yODIgNDQuMjg1IDQ0LjI4NS00NC4yODUgNDQuMjg1IDQ0LjI4NS00NC4yODUgNDQuMjg1IDQ0LjI4NSA0NC4yODUgODguNTY0LTg4LjU3IDQ0LjI4NSA0NC4yODUtODguNTY3IDg4LjU2NyA0NC4yODIgNDQuMjg1IDQ0LjI4NS00NC4yODUgNDQuMjgyIDQ0LjI4NS00NC4yODIgNDQuMjg1IDY2LjQyNiA2Ni40MjYgMTc3LjEzMy0xNzcuMTMzTDMwMi4wMjkgNTMuOTU3eiIvPjxnbHlwaCB1bmljb2RlPSLupY4iIGdseXBoLW5hbWU9InJlZ2xhcyIgZD0iTTAgOTMxLjk3MVYtMzUuOTc0aDM2Ni42NTV2NjAxLjIwM2g2NTcuMzQ3djM2Ni43NDJILS4wMDF6bTMwNS43ODYtOTA3LjA2SDYwLjg2M1Y4MC40NWg4MC44NTF2NjAuODY0SDYwLjg2M3Y2MC44NTNoMTQxLjcwNHY2MC44NThINjAuODYzdjYwLjg3N2g4MC44NTF2NjAuODkzSDYwLjg2M3Y2MC44NjFoODAuODUxdjYwLjg1M0g2MC44NjN2NTguNzJoMjQ0LjkyM1YyNC45MTF6TTk2My4xNSA2MjYuMTI2aC01NS40NnY4MC44NjFoLTYwLjg1OHYtODAuODYxaC02MC44ODN2MTQxLjczNmgtNjAuOTQ3VjYyNi4xMjNoLTYwLjg1M3Y4MC44NjRoLTYwLjg3NXYtODAuODYxaC02MC44NTN2ODAuODYxaC02MC44NTN2LTgwLjg2MWgtNjAuODUzdjE0MS43MzZoLTYwLjg1OFY2MjYuMTIzaC02MC44NjR2ODAuODY0aC02MC44NTh2LTgwLjg2MWgtNjAuOTM3djgwLjg2MWgtNjAuODkxdi04MC44NjFINjAuODYzdjI0NC45NWg5MDIuMjg2di0yNDQuOTV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6ljyIgZ2x5cGgtbmFtZT0icnV0YSIgZD0iTTgyMC43OTkgNTU0LjM5MmMuMDMzIDAgLjA2LjAyMS4wOTMuMDIxLS4wMzMgMC0uMDkzLS4wMjEtLjE2NS0uMDIxaC4wNzJ6bS00Ny4xMDIgMjUuOTY5Yy04LjUwNiAxMy40NC0xNy4yMDUgMjcuNzY4LTI1Ljk0OCA0Mi4zNGgtNjExLjg5Yy0zMy4zMjEgMC02MC40MjktMjcuMTExLTYwLjQyOS02MC40MzN2LTcyLjU3NWMwLTMzLjMxOSAyNy4xMDktNjAuNDIxIDYwLjQyOS02MC40MjFoMzU3LjcwN2MzLjQ3NSAwIDYuMzA1LTIuODM0IDYuMzA1LTYuMzAxVjMyMi44NDZjMC0zNC43MDggMjguMjUzLTYyLjk0MiA2Mi45NC02Mi45NDJoMTYxLjc5MWM3LjQwNyAwIDEzLjQ0Mi02LjAxNCAxMy40NDItMTMuNDIxVjE3LjczNGMwLTcuNDA3LTYuMDM3LTEzLjQzLTEzLjQ0Mi0xMy40M2gtMzQ3LjRjLTExLjQzNy0xOS41NTktMjMuMDc3LTM4Ljc1OC0zNC4zMTgtNTYuNTM0LTIuODQtNC40ODEtNi4zMzYtOC4zNTMtMTAuMTcxLTExLjc3MWgzOTEuODljNDUuMDY2IDAgODEuNzUxIDM2LjY3MiA4MS43NTEgODEuNzMydjIyOC43NTFjMCA0NS4wNi0zNi42ODQgODEuNzI4LTgxLjc1MSA4MS43MjhINTY4LjE4MXY5NC43NmMwIDQxLjE0LTMzLjQ4NSA3NC42MDctNzQuNjExIDc0LjYwN0gxNDMuNzM4djU2LjgxNGg2NzYuOTkxYy0xOS4yNDIuMDU0LTM2LjgxNiA5Ljc3OC00Ny4wMzEgMjUuOTY5ek0yOTUuNzkgMzI3LjM5M2MtNzAuNTQxIDAtMTI3Ljc3MS01Ny4yMDItMTI3Ljc3MS0xMjcuNzcxIDAtNTMuNzk5IDc0LjI3My0xNzcuNzcyIDEwOS41NTYtMjMzLjYzNiAzLjk0MS02LjIzNSAxMC44NDEtMTAuMDIzIDE4LjIxNS0xMC4wMjNhMjEuNTQxIDIxLjU0MSAwIDAxMTguMjEzIDEwLjAzOWMzNS4zMTggNTUuODg1IDEwOS41NTggMTc5LjgyIDEwOS41NTggMjMzLjYyMSAwIDcwLjU3LTU3LjIwMiAxMjcuNzY5LTEyNy43NzEgMTI3Ljc2OXptMC0xOTAuODQxYy0zMS42NTUgMC01Ny4zMDUgMjUuNjYyLTU3LjMwNSA1Ny4zMTkgMCAzMS42NjQgMjUuNjQ3IDU3LjMxNSA1Ny4zMDUgNTcuMzE1IDMxLjY1MyAwIDU3LjMwMy0yNS42NDkgNTcuMzAzLTU3LjMxNS0uMDAyLTMxLjY1Ny0yNS42NDktNTcuMzE5LTU3LjMwMy01Ny4zMTl6TTgyMC43OTkgOTYwYy03MC41NDkgMC0xMjcuNzgyLTU3LjIwMi0xMjcuNzgyLTEyNy43NzEgMC01My44MDUgNzQuMjQyLTE3Ny43MzkgMTA5LjU2OC0yMzMuNjI2IDMuOTM5LTYuMjUxIDEwLjgwOC0xMC4wMzUgMTguMjEzLTEwLjA1NiA3LjM2MiAwIDE0LjI3NSAzLjgwNSAxOC4yMDMgMTAuMDQzIDM1LjI5NSA1NS44NjIgMTA5LjU2OCAxNzkuODMzIDEwOS41NjggMjMzLjYzNiAwIDcwLjU3Mi01Ny4yMDIgMTI3Ljc3My0xMjcuNzcxIDEyNy43NzN6bTAtMTkwLjg0N2MtMzEuNjU1IDAtNTcuMzA1IDI1LjY2Ni01Ny4zMDUgNTcuMzE5IDAgMzEuNjY4IDI1LjY0NyA1Ny4zMTUgNTcuMzA1IDU3LjMxNSAzMS42NDUgMCA1Ny4yOTQtMjUuNjQ1IDU3LjI5NC01Ny4zMTUgMC0zMS42NTMtMjUuNjQ5LTU3LjMxOS01Ny4yOTQtNTcuMzE5eiIvPjxnbHlwaCB1bmljb2RlPSLupZAiIGdseXBoLW5hbWU9InNwaW5uZXIiIGQ9Ik0zMDAuNTcxIDE2My40MjlxMC0zMC4yODYtMjEuNDI5LTUxLjcxNHQtNTEuNzE0LTIxLjQyOXEtMjkuNzE0IDAtNTEuNDI5IDIxLjcxNHQtMjEuNzE0IDUxLjQyOXEwIDMwLjI4NiAyMS40MjkgNTEuNzE0dDUxLjcxNCAyMS40MjkgNTEuNzE0LTIxLjQyOSAyMS40MjktNTEuNzE0ek01ODUuMTQzIDQ1LjcxNHEwLTMwLjI4Ni0yMS40MjktNTEuNzE0VDUxMi0yNy40MjkgNDYwLjI4Ni02dC0yMS40MjkgNTEuNzE0IDIxLjQyOSA1MS43MTRUNTEyIDExOC44NTd0NTEuNzE0LTIxLjQyOSAyMS40MjktNTEuNzE0ek0xODIuODU3IDQ0OHEwLTMwLjI4Ni0yMS40MjktNTEuNzE0dC01MS43MTQtMjEuNDI5VDU4IDM5Ni4yODYgMzYuNTcxIDQ0OCA1OCA0OTkuNzE0dDUxLjcxNCAyMS40MjkgNTEuNzE0LTIxLjQyOVQxODIuODU3IDQ0OHptNjg2Ljg1Ny0yODQuNTcxcTAtMjkuNzE0LTIxLjcxNC01MS40Mjl0LTUxLjQyOS0yMS43MTRxLTMwLjI4NiAwLTUxLjcxNCAyMS40Mjl0LTIxLjQyOSA1MS43MTQgMjEuNDI5IDUxLjcxNCA1MS43MTQgMjEuNDI5IDUxLjcxNC0yMS40MjkgMjEuNDI5LTUxLjcxNHpNMzE4Ljg1NyA3MzIuNTcxcTAtMzcuNzE0LTI2Ljg1Ny02NC41NzF0LTY0LjU3MS0yNi44NTdUMTYyLjg1OCA2Njh0LTI2Ljg1NyA2NC41NzEgMjYuODU3IDY0LjU3MSA2NC41NzEgMjYuODU3VDI5MiA3OTcuMTQydDI2Ljg1Ny02NC41NzF6TTk4Ny40MjkgNDQ4cTAtMzAuMjg2LTIxLjQyOS01MS43MTR0LTUxLjcxNC0yMS40MjktNTEuNzE0IDIxLjQyOVQ4NDEuMTQzIDQ0OHQyMS40MjkgNTEuNzE0IDUxLjcxNCAyMS40MjlUOTY2IDQ5OS43MTQgOTg3LjQyOSA0NDh6TTYyMS43MTQgODUwLjI4NnEwLTQ1LjcxNC0zMi03Ny43MTR0LTc3LjcxNC0zMi03Ny43MTQgMzItMzIgNzcuNzE0IDMyIDc3LjcxNFQ1MTIgOTYwdDc3LjcxNC0zMiAzMi03Ny43MTR6bTMwMi44NTctMTE3LjcxNXEwLTUzLjE0My0zNy43MTQtOTAuNTcxdC05MC4yODYtMzcuNDI5cS01My4xNDMgMC05MC41NzEgMzcuNDI5dC0zNy40MjkgOTAuNTcxcTAgNTIuNTcxIDM3LjQyOSA5MC4yODZ0OTAuNTcxIDM3LjcxNHE1Mi41NzEgMCA5MC4yODYtMzcuNzE0dDM3LjcxNC05MC4yODZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lkSIgZD0iTTUxMiA4NTcuNmMxOS44MDQgMCAzNS44NC0yMi45MjcgMzUuODQtNTEuMlY3MDRjMC0yOC4yNzMtMTYuMDM2LTUxLjItMzUuODQtNTEuMi0xOS43OTQgMC0zNS44NCAyMi45MjctMzUuODQgNTEuMnYxMDIuNGMwIDI4LjI3MyAxNi4wNDYgNTEuMiAzNS44NCA1MS4yeiIvPjxnbHlwaCB1bmljb2RlPSLupZIiIGQ9Ik05MjEuNiA0NDhjMC0xOS44MDQtMjIuOTE3LTM1Ljg0LTUxLjItMzUuODRINzY4Yy0yOC4yODMgMC01MS4yIDE2LjAzNi01MS4yIDM1Ljg0IDAgMTkuNzk0IDIyLjkxNyAzNS44NCA1MS4yIDM1Ljg0aDEwMi40YzI4LjI4MyAwIDUxLjItMTYuMDQ2IDUxLjItMzUuODR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lkyIgZD0iTTg2Ni43MjQgMjQzLjJjLTkuOTAyLTE3LjE0Mi0zNy43NjUtMTkuNTc5LTYyLjI1OS01LjQzN2wtODguNjc4IDUxLjJjLTI0LjQ4NCAxNC4xNDEtMzYuMzIxIDM5LjQ5Ni0yNi40MjkgNTYuNjM3IDkuOTAyIDE3LjE0MiAzNy43NzUgMTkuNTc5IDYyLjI1OSA1LjQzN2w4OC42NzgtNTEuMmMyNC40OTQtMTQuMTQxIDM2LjMyMS0zOS40OTYgMjYuNDI5LTU2LjYzN3oiLz48Z2x5cGggdW5pY29kZT0i7qWUIiBkPSJNNzE2LjggOTMuMjc2Yy0xNy4xNDItOS45MDItNDIuNDk2IDEuOTI1LTU2LjYzNyAyNi40MTlsLTUxLjIgODguNjc4Yy0xNC4xNDEgMjQuNDg0LTExLjcwNCA1Mi4zNTcgNS40MzcgNjIuMjU5IDE3LjE0MiA5LjkwMiA0Mi40OTYtMS45MzUgNTYuNjM3LTI2LjQxOWw1MS4yLTg4LjY3OGMxNC4xNDEtMjQuNDk0IDExLjcwNC01Mi4zNTctNS40MzctNjIuMjU5eiIvPjxnbHlwaCB1bmljb2RlPSLupZUiIGQ9Ik01MTIgMzguNGMtMTkuNzk0IDAtMzUuODQgMjIuOTE3LTM1Ljg0IDUxLjJWMTkyYzAgMjguMjgzIDE2LjA0NiA1MS4yIDM1Ljg0IDUxLjIgMTkuODA0IDAgMzUuODQtMjIuOTE3IDM1Ljg0LTUxLjJWODkuNmMwLTI4LjI4My0xNi4wMzYtNTEuMi0zNS44NC01MS4yeiIvPjxnbHlwaCB1bmljb2RlPSLupZYiIGQ9Ik0zMDcuMiA5My4yNzZjLTE3LjE0MiA5LjkwMi0xOS41NzkgMzcuNzY1LTUuNDM3IDYyLjI1OWw1MS4yIDg4LjY3OGMxNC4xNDEgMjQuNDg0IDM5LjQ5NiAzNi4zMjEgNTYuNjM3IDI2LjQxOSAxNy4xNDItOS45MDIgMTkuNTc5LTM3Ljc3NSA1LjQzNy02Mi4yNTlsLTUxLjItODguNjc4Yy0xNC4xNDEtMjQuNDk0LTM5LjQ5Ni0zNi4zMTEtNTYuNjM3LTI2LjQxOXoiLz48Z2x5cGggdW5pY29kZT0i7qWXIiBkPSJNMTU3LjI3NiAyNDMuMmMtOS44OTIgMTcuMTQyIDEuOTM1IDQyLjQ5NiAyNi40MTkgNTYuNjM3bDg4LjY3OCA1MS4yYzI0LjQ5NCAxNC4xNDEgNTIuMzY3IDExLjcwNCA2Mi4yNjktNS40MzcgOS44OTItMTcuMTQyLTEuOTM1LTQyLjQ5Ni0yNi40MjktNTYuNjM3bC04OC42NzgtNTEuMmMtMjQuNDg0LTE0LjE0MS01Mi4zNTctMTEuNzA0LTYyLjI1OSA1LjQzN3oiLz48Z2x5cGggdW5pY29kZT0i7qWYIiBkPSJNMTAyLjQgNDQ4YzAgMTkuNzk0IDIyLjkyNyAzNS44NCA1MS4yIDM1Ljg0SDI1NmMyOC4yNzMgMCA1MS4yLTE2LjA0NiA1MS4yLTM1Ljg0IDAtMTkuODA0LTIyLjkyNy0zNS44NC01MS4yLTM1Ljg0SDE1My42Yy0yOC4yNzMgMC01MS4yIDE2LjAzNi01MS4yIDM1Ljg0eiIvPjxnbHlwaCB1bmljb2RlPSLupZkiIGQ9Ik0xNTcuMjc2IDY1Mi44YzkuOTAyIDE3LjE0MiAzNy43NzUgMTkuNTc5IDYyLjI1OSA1LjQzN2w4OC42ODktNTEuMmMyNC40ODQtMTQuMTQxIDM2LjMxMS0zOS40OTYgMjYuNDE5LTU2LjYzNy05LjkwMi0xNy4xNDItMzcuNzc1LTE5LjU3OS02Mi4yNTktNS40MzdsLTg4LjY4OSA1MS4yYy0yNC40ODQgMTQuMTQxLTM2LjMxMSAzOS40OTYtMjYuNDE5IDU2LjYzN3oiLz48Z2x5cGggdW5pY29kZT0i7qWaIiBkPSJNMzA3LjIgODAyLjcyNGMxNy4xNDIgOS44OTIgNDIuNDk2LTEuOTI1IDU2LjYzNy0yNi40MTlsNTEuMi04OC42NzhjMTQuMTMxLTI0LjQ5NCAxMS43MDQtNTIuMzY3LTUuNDM3LTYyLjI2OS0xNy4xNDItOS44OTItNDIuNDk2IDEuOTM1LTU2LjYzNyAyNi40MjlsLTUxLjIgODguNjc4Yy0xNC4xNDEgMjQuNDk0LTExLjcwNCA1Mi4zNTcgNS40MzcgNjIuMjU5eiIvPjxnbHlwaCB1bmljb2RlPSLupZsiIGdseXBoLW5hbWU9InN1YmlyIiBkPSJNOTI4IDM3MGMzMCAwIDU0LTI0IDU0LTU0VjIyYzAtMzAtMjQtNTQtNTQtNTRIOTJDNjItMzIgMzYtOCAzNiAyMnYyOTRjMCAzMCAyNiA1NCA1NiA1NHM1NC0yNCA1NC01NFY3OGg3Mjh2MjM4YzAgMzAgMjQgNTQgNTQgNTR6TTMyOCA2MjhjLTIyLTIyLTU0LTIyLTc2IDBzLTIyIDU0IDAgNzZsMjIwIDIyMGMxMCAxMCAyNCAxNiAzOCAxNnMyOC02IDM4LTE2bDIyMC0yMjBjMjItMjIgMjItNTQgMC03Ni0xMC0xMC0yNC0xNi0zOC0xNnMtMzAgNi00MCAxNkw1NjQgNzU0VjI4NmMwLTMwLTI0LTU0LTU0LTU0cy01NCAyNC01NCA1NHY0NjhMMzI4IDYyOHoiLz48Z2x5cGggdW5pY29kZT0i7qWcIiBnbHlwaC1uYW1lPSJ0YW1hbm8iIGQ9Ik03MjkuOTEzIDcxOC4yNDRINTAuOTI1QzIyLjc5NSA3MTguMjQ0IDAgNjk1LjQ1MyAwIDY2Ny4zMjFWLTExLjY2N2MwLTI4LjEzIDIyLjc5NS01MC45MjUgNTAuOTI1LTUwLjkyNWg2NzguOTg4YzI4LjEzIDAgNTAuOTIzIDIyLjc5NSA1MC45MjMgNTAuOTI1djY3OC45ODhjMCAyOC4xMzItMjIuNzkzIDUwLjkyMy01MC45MjMgNTAuOTIzek02NzguOTg4IDM5LjI1OGgtNTc3LjE0djU3Ny4xNGg1NzcuMTRWMzkuMjU4em0zMzQuOTE3IDYyLjYyN2gtNTUuMjMzdjU5NC4zMTRoNTUuMjMzYzQuMDc5IDAgNy43NTggMi40NTQgOS4zMTYgNi4yMzFhMTAuMDYgMTAuMDYgMCAwMS0yLjE4NyAxMS4wMDZsLTg5LjE2NyA4OS4xNjdjLTMuOTQ2IDMuOTQ2LTEwLjM0MyAzLjk0Ni0xNC4yODcgMGwtODkuMTY5LTg5LjE2N2ExMC4wNTggMTAuMDU4IDAgMDEtMi4xODctMTEuMDA2IDEwLjA3NyAxMC4wNzcgMCAwMTkuMzE4LTYuMjMxaDU1LjIzM1YxMDEuODg1aC01NS4yMzNhMTAuMDc0IDEwLjA3NCAwIDAxLTkuMzE4LTYuMjMxIDEwLjA3IDEwLjA3IDAgMDEyLjE4Ny0xMS4wMUw5MTcuNTgtNC41MjNjMy45NDQtMy45NDYgMTAuMzQzLTMuOTQ2IDE0LjI4NyAwbDg5LjE2NyA4OS4xNjdhMTAuMDU2IDEwLjA1NiAwIDAxMi4xODcgMTEuMDEgMTAuMDY3IDEwLjA2NyAwIDAxLTkuMzE2IDYuMjMxem0tODY2LjY3IDY2MS4xMTdhMTAuMDYgMTAuMDYgMCAwMTExLjAwOC0yLjE4NyAxMC4wNjkgMTAuMDY5IDAgMDE2LjIzMyA5LjMxNnY1NS4yMzNINzU4Ljc5di01NS4yMzNjMC00LjA3OSAyLjQ1Mi03Ljc2IDYuMjMxLTkuMzE2YTEwLjA2NCAxMC4wNjQgMCAwMTExLjAwOCAyLjE4N2w4OS4xNjcgODkuMTY3YzMuOTQ2IDMuOTQ4IDMuOTQ2IDEwLjM0NyAwIDE0LjI5MWwtODkuMTY3IDg5LjE2NWExMC4wNTkgMTAuMDU5IDAgMDEtMTEuMDA4IDIuMTg5IDEwLjA2OSAxMC4wNjkgMCAwMS02LjIzMS05LjMxNnYtNTUuMjM3SDE2NC40NzZ2NTUuMjM3YTEwLjA3IDEwLjA3IDAgMDEtNi4yMzMgOS4zMTYgMTAuMDYgMTAuMDYgMCAwMS0xMS4wMDgtMi4xODlMNTguMDcgODY2LjQ2Yy0zLjk0Ni0zLjk0NC0zLjk0Ni0xMC4zNDMgMC0xNC4yOTFsODkuMTY1LTg5LjE2N3oiLz48Z2x5cGggdW5pY29kZT0i7qWdIiBnbHlwaC1uYW1lPSJ0ZW1wZXJhdHVyYSIgZD0iTTUzOS4zODQgMjg2Ljk0NXYzMDUuMTAzYzAgMTUuMDYxLTEyLjMyNSAyNy4zODQtMjcuMzg0IDI3LjM4NC0xNS4wNjEgMC0yNy4zODQtMTIuMzIzLTI3LjM4NC0yNy4zODRWMjg2Ljk0NWMtNDcuMS0xMi4yNjgtODIuMTQ5LTU0Ljc2Ni04Mi4xNDktMTA1LjY0NiAwLTYwLjQwNiA0OS4wNzItMTA5LjUzMSAxMDkuNTMzLTEwOS41MzEgNjAuNDYzIDAgMTA5LjUzMSA0OS4xMjUgMTA5LjUzMSAxMDkuNTMxIDAgNTAuODgxLTM1LjA0OSA5My4zNzktODIuMTQ3IDEwNS42NDZ6TTY5MS4yIDM3My4yOTlWNzgwLjhjMCA5OC44MTYtODAuMzg0IDE3OS4yLTE3OS4yIDE3OS4ycy0xNzkuMi04MC4zODQtMTc5LjItMTc5LjJWMzczLjI5OUMyODUuNTk0IDMyNy4xMTcgMjU2IDI2My4xNjggMjU2IDE5MiAyNTYgNTAuODQyIDM3MC44NDItNjQgNTEyLTY0YzE0MS4xNiAwIDI1NiAxMTQuODQyIDI1NiAyNTYgMCA3MS4xNjgtMjkuNTkyIDEzNS4xMTctNzYuOCAxODEuMjk5ek01MTIgMjAuMTA3Yy04OC40NjUgMC0xNjAuNDU5IDcxLjk5My0xNjAuNDU5IDE2MC40NjEgMCA1OS4xMDEgMzIuNDY1IDExMC4yODkgODAuMjI4IDEzOC4xNTZ2NDc2LjkzOGMwIDQ0LjIzMyAzNS45OTggODAuMjMgODAuMjMgODAuMjNzODAuMjMtMzUuOTk4IDgwLjIzLTgwLjIzVjMxOC43MjRjNDcuNzYzLTI3Ljg2NyA4MC4yMy03OS4wNTUgODAuMjMtMTM4LjE1Ni0uMDAyLTg4LjQ2Ny03MS45OTMtMTYwLjQ2MS0xNjAuNDYxLTE2MC40NjF6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lniIgZ2x5cGgtbmFtZT0idGV4dG8iIGQ9Ik05MTIgNzQyLjg1N2MxMC42NjctMTAuNjY2IDE5LjgxLTI1LjE0MyAyNy40MjktNDMuNDI5czExLjQyOS0zNS4wNDcgMTEuNDI5LTUwLjI4NlYtOS4xNDRjMC0xNS4yMzgtNS4zMzMtMjguMTktMTYtMzguODU3cy0yMy42MTktMTYtMzguODU3LTE2aC03NjhjLTE1LjIzOCAwLTI4LjE5IDUuMzM0LTM4Ljg1NyAxNnMtMTYgMjMuNjE5LTE2IDM4Ljg1N3Y5MTQuMjg2YzAgMTUuMjM4IDUuMzM0IDI4LjE5MSAxNiAzOC44NTdzMjMuNjE5IDE2IDM4Ljg1NyAxNmg1MTJjMTUuMjM4IDAgMzItMy44MDkgNTAuMjg2LTExLjQyOXMzMi43NjItMTYuNzYyIDQzLjQyOS0yNy40MjlsMTc4LjI4Ni0xNzguMjg2ek02NjEuMzkgODU2Ljg5NVY2NzEuMTA0aDE4NS43OTFjLTMuMjk0IDkuNTU0LTYuOTE3IDE2LjMwNi0xMC44NyAyMC4yNTlMNjgxLjY0OSA4NDYuMDI1Yy0zLjk1MyAzLjk1My0xMC43MDYgNy41NzctMjAuMjU5IDEwLjg3ek04NjMuNDI5IDIzLjQyOXY1NzAuODU3SDY0MGMtMTUuMjM4IDAtMjguMTkgNS4zMzQtMzguODU3IDE2cy0xNiAyMy42MTktMTYgMzguODU3Vjg3MkgxNjAuNTcyVjIzLjQyOWg3MDIuODU3ek0yNjQuODI1IDQ5NS4wOTZjMCA2LjAwOCAxLjkzMSAxMC45NDIgNS43OTMgMTQuODA1czguNzk4IDUuNzkzIDE0LjgwNSA1Ljc5M2g0NTMuMTU1YzYuMDA5IDAgMTAuOTQyLTEuOTMxIDE0LjgwNS01Ljc5M3M1Ljc5NC04Ljc5NyA1Ljc5NC0xNC44MDVWNDUzLjljMC02LjAwNy0xLjkzMS0xMC45NDItNS43OTQtMTQuODA1cy04Ljc5Ny01Ljc5My0xNC44MDUtNS43OTNIMjg1LjQyM2MtNi4wMDcgMC0xMC45NDMgMS45MzEtMTQuODA1IDUuNzkzLTMuODYyIDMuODYzLTUuNzkzIDguNzk4LTUuNzkzIDE0LjgwNXY0MS4xOTZ6TTczOC41NzcgMzUwLjkxYzYuMDA5IDAgMTAuOTQyLTEuOTMxIDE0LjgwNS01Ljc5M3M1Ljc5NC04Ljc5NyA1Ljc5NC0xNC44MDV2LTQxLjE5N2MwLTYuMDA3LTEuOTMxLTEwLjk0Mi01Ljc5NC0xNC44MDVzLTguNzk3LTUuNzkzLTE0LjgwNS01Ljc5M0gyODUuNDIyYy02LjAwNyAwLTEwLjk0MyAxLjkzMS0xNC44MDUgNS43OTNzLTUuNzkzIDguNzk4LTUuNzkzIDE0LjgwNXY0MS4xOTdjMCA2LjAwOCAxLjkzMSAxMC45NDIgNS43OTMgMTQuODA1czguNzk4IDUuNzkzIDE0LjgwNSA1Ljc5M2g0NTMuMTU1em0wLTE2NC43ODRjNi4wMDkgMCAxMC45NDItMS45MzEgMTQuODA1LTUuNzk0czUuNzk0LTguNzk3IDUuNzk0LTE0LjgwNXYtNDEuMTk2YzAtNi4wMDgtMS45MzEtMTAuOTQyLTUuNzk0LTE0LjgwNXMtOC43OTctNS43OTQtMTQuODA1LTUuNzk0SDI4NS40MjJjLTYuMDA3IDAtMTAuOTQzIDEuOTMxLTE0LjgwNSA1Ljc5NHMtNS43OTMgOC43OTctNS43OTMgMTQuODA1djQxLjE5NmMwIDYuMDA5IDEuOTMxIDEwLjk0MiA1Ljc5MyAxNC44MDVzOC43OTggNS43OTQgMTQuODA1IDUuNzk0aDQ1My4xNTV6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lnyIgZ2x5cGgtbmFtZT0idXN1YXJpbyIgZD0iTTUxMiA5NTkuOTc4QzIyOS4yNiA5NTkuOTc4IDAgNzMwLjc2MyAwIDQ0OFMyMjkuMjM3LTYzLjk3OCA1MTItNjMuOTc4YzI4Mi43ODUgMCA1MTIgMjI5LjIxNSA1MTIgNTExLjk3OFM3OTQuNzg1IDk1OS45NzggNTEyIDk1OS45Nzh6bTAtMTUzLjA4OGM5My41NTcgMCAxNjkuMzctNzUuODM1IDE2OS4zNy0xNjkuMzQ3IDAtOTMuNTM1LTc1LjgxMy0xNjkuMzQ3LTE2OS4zNy0xNjkuMzQ3LTkzLjUxMiAwLTE2OS4zMjUgNzUuODEzLTE2OS4zMjUgMTY5LjM0NyAwIDkzLjUxMiA3NS44MTMgMTY5LjM0NyAxNjkuMzI1IDE2OS4zNDd6bS0uMTEyLTczNy4wMDljLTkzLjMxIDAtMTc4Ljc3IDMzLjk4Mi0yNDQuNjg4IDkwLjIyOS0xNi4wNTggMTMuNjk2LTI1LjMyMyAzMy43NzktMjUuMzIzIDU0Ljg1MiAwIDk0LjgzOSA3Ni43NTcgMTcwLjc0MiAxNzEuNjE5IDE3MC43NDJoMTk3LjA1NWM5NC44ODQgMCAxNzEuMzQ5LTc1LjkwMyAxNzEuMzQ5LTE3MC43NDJhNzEuOTg4IDcxLjk4OCAwIDAwLTI1LjMwMS01NC44M2MtNjUuODk1LTU2LjI2OS0xNTEuMzc4LTkwLjI1MS0yNDQuNzEtOTAuMjUxeiIvPjxnbHlwaCB1bmljb2RlPSLupaAiIGdseXBoLW5hbWU9InVzdWFyaW8yIiBkPSJNNzA5LjczMiA0MjguMzA5SDY2OC41MmM3OS42MTIgNTEuNTEgMTMyLjQxNSAxNDEuMDggMTMyLjQxNSAyNDIuNzU2IDAgMTU5LjMyMS0xMjkuNjE0IDI4OC45MzQtMjg4LjkzNCAyODguOTM0UzIyMy4wNjcgODMwLjM4NSAyMjMuMDY3IDY3MS4wNjVjMC0xMDEuNjc2IDUyLjc5OC0xOTEuMjQ2IDEzMi40MTUtMjQyLjc1NkgzMTQuMjdjLTEwNS45MDkgMC0xOTIuMDcyLTg2LjE1OC0xOTIuMDcyLTE5Mi4wNjdWLTMyLjA1MmMwLTE3LjY0NyAxNC4zMDYtMzEuOTUxIDMxLjk1MS0zMS45NTFoNzE1LjcwM2MxNy42NDUgMCAzMS45NTEgMTQuMzA0IDMxLjk1MSAzMS45NTF2MjY4LjI5N2MwIDEwNS45MDYtODYuMTYzIDE5Mi4wNjQtMTkyLjA3MiAxOTIuMDY0ek0yODYuOTY5IDY3MS4wNjZjMCAxMjQuMDgyIDEwMC45NDcgMjI1LjAzMiAyMjUuMDMyIDIyNS4wMzIgMTI0LjA4MiAwIDIyNS4wMzItMTAwLjk1IDIyNS4wMzItMjI1LjAzMiAwLTEyNC4wOC0xMDAuOTUtMjI1LjAyNy0yMjUuMDMyLTIyNS4wMjctMTI0LjA4NSAwLTIyNS4wMzIgMTAwLjk0Ny0yMjUuMDMyIDIyNS4wMjd6bTMxOC41MTYtMjczLjM5OWwtOTMuNDg0LTkzLjQ4Ni05My40ODQgOTMuNDg0YzI5LjMzNi0xMC4wNTggNjAuNzgxLTE1LjUyOCA5My40ODQtMTUuNTI4czY0LjE1IDUuNDcgOTMuNDg0IDE1LjUzMXpNODM3LjkwMi0uMDk4aC04Ni45MDd2MTUzLjUxNmMwIDE3LjY0Ny0xNC4zMDYgMzEuOTUxLTMxLjk1MSAzMS45NTFzLTMxLjk1MS0xNC4zMDQtMzEuOTUxLTMxLjk1MVYtLjA5OEgzMzYuOTF2MTUzLjUxNmMwIDE3LjY0Ny0xNC4zMDYgMzEuOTUxLTMxLjk1MSAzMS45NTFzLTMxLjk1MS0xNC4zMDQtMzEuOTUxLTMxLjk1MVYtLjA5OGgtODYuOTA3djIzNi4zNDNjMCA3MC42NjggNTcuNDk3IDEyOC4xNjUgMTI4LjE3IDEyOC4xNjVoNDcuMTMybDEyOC4wMDYtMTI4LjAwNGM2LjIzOS02LjIzOSAxNC40MTYtOS4zNTggMjIuNTkzLTkuMzU4czE2LjM0OSAzLjExOCAyMi41OTMgOS4zNThMNjYyLjYwMSAzNjQuNDFoNDcuMTMyYzcwLjY3MSAwIDEyOC4xNy01Ny40OTEgMTI4LjE3LTEyOC4xNjVWLS4wOTh6Ii8+PGdseXBoIHVuaWNvZGU9Iu6loSIgZ2x5cGgtbmFtZT0iem9vbSIgZD0iTTg2OS4yNjIgMjY3LjY2YzE0OC4yMSAxNDguMjE2IDE0OC4yMDggMzg5LjM4NCAwIDUzNy41OTgtMTQ4LjIxNiAxNDguMjE2LTM4OS4zOCAxNDguMjE2LTUzNy41OTggMC0xMjUuNzM4LTEyNS43NDItMTQ0Ljc4LTMxMi43NS01Ny4xNzgtNDU4Ljc4IDAgMCA2LjI5NC0xMC41NTYtMi4yMDYtMTkuMDU0QzIyMy43OTQgMjc4Ljk0MiA3OC4zMzYgMTMzLjQ4IDc4LjMzNiAxMzMuNDggMzkuNzM0IDk0Ljg4IDMwLjU0NCA0MC45MDQgNjQuNzc2IDYuNjdMNzAuNjcuNzhjMzQuMjMyLTM0LjIzNiA4OC4yMS0yNS4wNDggMTI2LjgxMiAxMy41NTJMMzkxLjAyIDIwNy44N2M4LjkwNiA4LjkwNCAxOS40NiAyLjYxMiAxOS40NiAyLjYxMiAxNDYuMDI4LTg3LjYwNCAzMzMuMDQtNjguNTYyIDQ1OC43ODIgNTcuMTc4em0tNDY3LjQxNiA3MC4xODRjLTEwOS41MTYgMTA5LjUxNi0xMDkuNTE0IDI4Ny43MDguMDAyIDM5Ny4yMjYgMTA5LjUxNiAxMDkuNTE0IDI4Ny43MTIgMTA5LjUxNiAzOTcuMjIyIDAgMTA5LjUxOC0xMDkuNTE0IDEwOS41MTgtMjg3LjcxIDAtMzk3LjIyNi0xMDkuNTEyLTEwOS41MTItMjg3LjcwOC0xMDkuNTEyLTM5Ny4yMjQgMHptMjQuMjU4IDIyMS4xNzRhMzkuMTc0IDM5LjE3NCAwIDAwLTE1LjI3NCAzLjExMmMtMTkuOTUyIDguNDQ0LTI5LjI4NiAzMS40NjQtMjAuODQyIDUxLjQyIDUzLjA3NCAxMjUuNDIyIDE5OC4yOSAxODQuMjgyIDMyMy43MTQgMTMxLjIwOCAxOS45NS04LjQ0NCAyOS4yODQtMzEuNDY0IDIwLjg0LTUxLjQyLTguNDQ4LTE5Ljk1NC0zMS40Ni0yOS4yODQtNTEuNDI0LTIwLjg0LTg1LjU3MiAzNi4yMDgtMTg0LjY1Ni0zLjk1NC0yMjAuODY0LTg5LjUyNC02LjMzMi0xNC45NjQtMjAuODU4LTIzLjk1Ni0zNi4xNS0yMy45NTZ6Ii8+PGdseXBoIHVuaWNvZGU9Iu6loiIgZ2x5cGgtbmFtZT0iem9vbS1leHRlbnNpb24iIGQ9Ik0xMDAyLjQzNCA3NTUuMzM5VjEzNi40NjhjMC0yMi4zOTMtNy45NzMtNDEuNTYzLTIzLjkyLTU3LjUxMS0xNS45NDYtMTUuOTQ2LTM1LjExNi0yMy45MTktNTcuNTEtMjMuOTE5SDEwNi42OThjLTIyLjM5MyAwLTQxLjU2MyA3Ljk3My01Ny41MTEgMjMuOTE5LTE1Ljk0NiAxNS45NDYtMjMuOTE5IDM1LjExNy0yMy45MTkgNTcuNTExdjYxOC44NzFjMCAyMi4zOTMgNy45NzMgNDEuNTYzIDIzLjkxOSA1Ny41MTFzMzUuMTE3IDIzLjkyIDU3LjUxMSAyMy45Mmg4MTQuMzA2YzIyLjM5MyAwIDQxLjU2My03Ljk3MyA1Ny41MS0yMy45MnMyMy45Mi0zNS4xMTggMjMuOTItNTcuNTExem0tOTEuNDc2LjY0OUgxMTYuNzQyYy00LjMwMiAwLTguMDI1LTEuNTM0LTExLjE2OS00LjYwM3MtNC43MTYtNi43MDItNC43MTYtMTAuOTAxVjE1MS4zMjFjMC00LjE5OCAxLjU3Mi03LjgzMiA0LjcxNi0xMC45MDFzNi44NjYtNC42MDMgMTEuMTY5LTQuNjAzaDc5NC4yMTdjNC4zMDIgMCA4LjAyNCAxLjUzNCAxMS4xNjkgNC42MDNzNC43MTcgNi43MDIgNC43MTcgMTAuOTAxdjU4OS4xNjVjMCA0LjE5OC0xLjU3MyA3LjgzMy00LjcxNyAxMC45MDItMy4xNDUgMy4wNjctNi44NjcgNC42MDEtMTEuMTY5IDQuNjAxek02NTUuOTEyIDM4MS41MjVjMTQuMzM3IDE0LjMzOCAyNS4wOTIgMzAuNTMgMzIuMjYxIDQ4LjU2NyA3LjE2NSAxOC4wMzYgMTAuNzQ5IDM2LjQyMiAxMC43NDkgNTUuMTUzIDAgMTguNzMzLTMuNTgyIDM3LjIzNC0xMC43NDkgNTUuNTAyLTcuMTY5IDE4LjI2Ny0xNy45MjYgMzQuNTcxLTMyLjI2MSA0OC45MTEtMTQuMzM3IDE0LjMzNy0zMC41MjkgMjQuOTc3LTQ4LjU2NCAzMS45MTMtMTguMDM4IDYuOTM4LTM2LjUzOCAxMC40MDgtNTUuNTAyIDEwLjQwOHMtMzcuNDctMy40Ny01NS41MDMtMTAuNDA4Yy0xOC4wMzgtNi45MzctMzQuMjI0LTE3LjU3OC00OC41NjMtMzEuOTEzLTE0LjM0LTE0LjMzOS0yNS4wOTItMzAuNjQyLTMyLjI2LTQ4LjkxMXMtMTAuNzU1LTM2Ljc3My0xMC43NTUtNTUuNTAyYzAtMTguNzMxIDMuNTg2LTM3LjExNyAxMC43NTUtNTUuMTUzIDcuMTY4LTE4LjAzOCAxNy45Mi0zNC4yMjYgMzIuMjYtNDguNTY3IDE0LjM0LTE0LjMzOSAzMC41MjUtMjUuMDkzIDQ4LjU2My0zMi4yNjIgMTguMDM5LTcuMTY1IDM2LjU0MS0xMC43NDkgNTUuNTAzLTEwLjc0OSAxOC45NjQgMCAzNy40NjUgMy41ODMgNTUuNTAyIDEwLjc0OSAxOC4wMzkgNy4xNzEgMzQuMjI3IDE3LjkyMyA0OC41NjQgMzIuMjYyem00Ni43OTYgMjU0Ljg2MmMyMC44NjQtMjAuODU5IDM2LjUwNi00NC40MjIgNDYuOTM3LTcwLjY4MiAxMC40MzEtMjYuMjYyIDE1LjY0Ni01Mi45ODggMTUuNjQ2LTgwLjE4MXMtNS4yMTUtNTMuOTE4LTE1LjY0Ni04MC4xNzljLTEwLjQzMS0yNi4yNjItMjYuMDc1LTQ5LjgyMi00Ni45MzctNzAuNjgyLTE2Ljc1OS0xNi43NjMtMzUuMzg3LTMwLjE3My01NS44NzUtNDAuMjMxLTIwLjQ4Ni0xMC4wNTYtNDEuNzE3LTE2Ljc1OC02My42OTktMjAuMTExLTIxLjk3NS0zLjM1NS00NC4wNDgtMy4xNy02Ni4yMS41NTUtMjIuMTY0IDMuNzI1LTQzLjMwOCAxMC44MDMtNjMuNDE5IDIxLjIzM2wtOTYuMTA2LTk2LjEwNmMtNS41ODktNS41ODYtMTEuNzMzLTkuNjgxLTE4LjQ0MS0xMi4yOTItNi43MDMtMi42MDYtMTMuNjg5LTMuOTExLTIwLjk1MS0zLjkxMXMtMTQuMjQ5IDEuMzA1LTIwLjk1MiAzLjkxMWMtNi43MDcgMi42MDgtMTIuODUzIDYuNzA1LTE4LjQ0IDEyLjI5Mi01LjU4NiA1LjU4OS05LjY4NiAxMS43MzUtMTIuMjk0IDE4LjQzOS0yLjYwNiA2LjcwNi0zLjkxMSAxMy42OS0zLjkxMSAyMC45NTNzMS4zMDUgMTQuMjQ2IDMuOTExIDIwLjk0OWMyLjYwNyA2LjcwNyA2LjcwNSAxMi44NTEgMTIuMjk0IDE4LjQzOWw5Mi43NTIgOTIuNzU0Yy0xMy4wMzggMjAuNDg3LTIyLjE2NCA0Mi40NjYtMjcuMzc4IDY1LjkzNS01LjIxNSAyMy40NjYtNi42MTQgNDYuOTM0LTQuMTkyIDcwLjM5OSAyLjQyMiAyMy40NjcgOC43NTQgNDYuMjg1IDE4Ljk5OCA2OC40NDcgMTAuMjQ0IDIyLjE2NCAyNC4zMDUgNDIuMTg2IDQyLjE4NiA2MC4wNjYgMjAuODYxIDIwLjQ4OSA0NC40MiAzNS45NDcgNzAuNjgzIDQ2LjM3OCAyNi4yNjEgMTAuNDMyIDUyLjk4OSAxNS42NDYgODAuMTgyIDE1LjY0NiAyNy4xOSAwIDUzLjkyLTUuMjE0IDgwLjE3OS0xNS42NDQgMjYuMjY1LTEwLjQzIDQ5LjgyNC0yNS44ODkgNzAuNjgzLTQ2LjM3N3oiLz48Z2x5cGggdW5pY29kZT0i7qWjIiBnbHlwaC1uYW1lPSJ6b29tLW1hcyIgZD0iTTg2OS4yNjIgMjY3LjY2YzE0OC4yMSAxNDguMjE2IDE0OC4yMSAzODkuMzg0IDAgNTM3LjU5OC0xNDguMjE0IDE0OC4yMTYtMzg5LjM4MiAxNDguMjE2LTUzNy41OTggMC0xMjUuNzM4LTEyNS43NDItMTQ0Ljc4LTMxMi43NS01Ny4xNzgtNDU4Ljc4IDAgMCA2LjI5NC0xMC41NTQtMi4yMDYtMTkuMDU0QzIyMy43OTQgMjc4Ljk0MiA3OC4zMzYgMTMzLjQ4IDc4LjMzNiAxMzMuNDggMzkuNzM0IDk0Ljg4IDMwLjU0NCA0MC45MDQgNjQuNzc2IDYuNjdMNzAuNjcuNzhjMzQuMjMyLTM0LjIzNiA4OC4yMS0yNS4wNDggMTI2LjgxMiAxMy41NTIgMCAwIDE0NS4xNTIgMTQ1LjE1MiAxOTMuNTM2IDE5My41MzggOC45MDggOC45MDQgMTkuNDYgMi42MTIgMTkuNDYgMi42MTIgMTQ2LjAyOC04Ny42MDQgMzMzLjA0Mi02OC41NjIgNDU4Ljc4NCA1Ny4xNzh6bS00NjcuNDE2IDcwLjE4NGMtMTA5LjUxNiAxMDkuNTE2LTEwOS41MTQgMjg3LjcwOC4wMDIgMzk3LjIyNiAxMDkuNTE2IDEwOS41MTQgMjg3LjcxNiAxMDkuNTE2IDM5Ny4yMjQgMCAxMDkuNTE4LTEwOS41MTQgMTA5LjUxOC0yODcuNzEgMC0zOTcuMjI2LTEwOS41MTQtMTA5LjUxNC0yODcuNzEtMTA5LjUxNC0zOTcuMjI2IDB6TTc1MC44ODggNTkxLjJoLTg1LjA1NHMtOC4xMzYuNjQtOC4xMzYgOC45NDJ2ODQuMjVjMCAxNi41OTgtMTMuNTgyIDMwLjE4LTMwLjE4MiAzMC4xOGgtNTAuMDI0Yy0xNi41OTggMC0zMC4xOC0xMy41ODItMzAuMTgtMzAuMTh2LTgzLjY4NGMwLTguODY2LTguNjA4LTkuNTA0LTguNjA4LTkuNTA0aC04NC41ODJjLTE2LjU5OCAwLTMwLjE4LTEzLjU4Mi0zMC4xOC0zMC4xOFY1MTFjMC0xNi41OTggMTMuNTgyLTMwLjE4IDMwLjE4LTMwLjE4aDgzLjk1MnM5LjIzNi0uMjYyIDkuMjM2LTkuMDY2di04NC4xMjZjMC0xNi41OTggMTMuNTgyLTMwLjE4IDMwLjE4LTMwLjE4aDUwLjAyNGMxNi42IDAgMzAuMTgyIDEzLjU4MiAzMC4xODIgMzAuMTh2ODQuNjNjMCA4LjExNCA5LjI3MiA4LjU2MiA5LjI3MiA4LjU2Mmg4My45MjJjMTYuNiAwIDMwLjE4IDEzLjU4MiAzMC4xOCAzMC4xOHY1MC4wMjRjLS4wMDIgMTYuNTk0LTEzLjU4NCAzMC4xNzYtMzAuMTgyIDMwLjE3NnoiLz48Z2x5cGggdW5pY29kZT0i7qWkIiBnbHlwaC1uYW1lPSJ6b29tLW1lbm9zIiBkPSJNODY5LjI2MiAyNjcuNjZjMTQ4LjIxIDE0OC4yMTYgMTQ4LjIxIDM4OS4zODQgMCA1MzcuNTk4LTE0OC4yMTQgMTQ4LjIxNi0zODkuMzggMTQ4LjIxNi01MzcuNTk4IDAtMTI1LjczOC0xMjUuNzQyLTE0NC43ODItMzEyLjc1LTU3LjE4LTQ1OC43OCAwIDAgNi4yOTQtMTAuNTU0LTIuMjA2LTE5LjA1NEMyMjMuNzk0IDI3OC45NDIgNzguMzM0IDEzMy40OCA3OC4zMzQgMTMzLjQ4IDM5LjczMiA5NC44OCAzMC41NCA0MC45MDQgNjQuNzc0IDYuNjdMNzAuNjY4Ljc4QzEwNC45LTMzLjQ1NiAxNTguODgtMjQuMjY4IDE5Ny40OCAxNC4zMzJMMzkxLjAxOCAyMDcuODdjOC45MDYgOC45MDQgMTkuNDYgMi42MTIgMTkuNDYgMi42MTIgMTQ2LjAyOC04Ny42MDQgMzMzLjA0Mi02OC41NjIgNDU4Ljc4NCA1Ny4xNzh6bS00NjcuNDE2IDcwLjE4NGMtMTA5LjUxNiAxMDkuNTE2LTEwOS41MTQgMjg3LjcwOCAwIDM5Ny4yMjYgMTA5LjUxNiAxMDkuNTE0IDI4Ny43MTYgMTA5LjUxNiAzOTcuMjI0IDAgMTA5LjUxNi0xMDkuNTE0IDEwOS41MTYtMjg3LjcxIDAtMzk3LjIyNi0xMDkuNTEyLTEwOS41MTQtMjg3LjcwOC0xMDkuNTE0LTM5Ny4yMjQgMHptMzc5LjIyMiAxNzMuMTUyYzAtMTYuNTk4LTEzLjU4LTMwLjE4LTMwLjE4LTMwLjE4SDQ1NC4xMmMtMTYuNTk4IDAtMzAuMTggMTMuNTgyLTMwLjE4IDMwLjE4djUwLjAyNGMwIDE2LjU5OCAxMy41ODIgMzAuMTggMzAuMTggMzAuMThoMjk2Ljc2OGMxNi42IDAgMzAuMTgtMTMuNTgyIDMwLjE4LTMwLjE4di01MC4wMjR6Ii8+PGdseXBoIHVuaWNvZGU9Iu6lpSIgZ2x5cGgtbmFtZT0icGluNSIgaG9yaXotYWR2LXg9IjkzOSIgZD0iTTcyNy4wNTUgODM2LjgxNGMtNjYuMDc5IDY2LjE1Mi0xNTcuNzU4IDEwNy4yNzMtMjU4LjUzMiAxMDcuMjczSDQ2OC4zOGMtMTAwLjc3NCAwLTE5Mi40NTItNDEuMTIxLTI1OC41MzItMTA3LjI3My02Ni4xNTItNjYuMDc3LTEwNy4yNzMtMTU3Ljc1OC0xMDcuMjczLTI1OC41M3YtLjA2OWMuMDE5LTEzLjcxMSAxLjI0MS0yNy41NzYgMy40NzMtNDEuNTk4IDIuMjM4LTE0LjAwNCA1LjQ2My0yOC4xNTggOS40OC00Mi40NjIgNy4wNTQtMjQuOTY2IDE2LjU1Ny01MC40MTkgMjcuODk1LTc1LjkzMiAxMS4zMTktMjUuNTExIDI0LjQzNy01MS4xMSAzOC43NTYtNzYuMzk5IDIxLjUyLTM3Ljg4MyA0NS42OTgtNzQuOTkzIDcwLjY2NC0xMDkuNTE2IDI0Ljk2Ni0zNC41MjEgNTAuNzAzLTY2LjQ2OSA3NS4zMzEtOTQuMDA5IDEyLjM1Mi0xMy43OTIgMjQuMzg1LTI2LjQ0OSAzNi4wNDItMzcuODQyIDExLjY0LTExLjM5NCAyMi44NzktMjEuNTEyIDMzLjY1OC0zMC4xODUgMTAuODMzLTguNjkxIDIxLjE1OC0xNS45NzcgMzEuOTEyLTIxLjgxMyA1LjQyMS0yLjg5MSAxMC45NzgtNS40NTcgMTcuMTc2LTcuNTA5IDYuMTk1LTIuMDAxIDEzLjA5OS0zLjU5OSAyMS40ODYtMy42MzhhNjkuNTk0IDY5LjU5NCAwIDAxMTYuOTUzIDIuMjY2YzUuMDEyIDEuMzMzIDkuNSAzLjExNiAxMy44MzUgNC45OTMgNy45NzggMy42MzggMTUuNTI2IDguMDUzIDIzLjA3MSAxMy4xODkgNy41MjcgNS4xNDMgMTUuMDU3IDExLjAxOSAyMi45MzkgMTcuNjA4IDEzLjY0OSAxMS41MTEgMjguMTA3IDI1LjI1MiA0My4wODEgNDAuODY4IDE0Ljk2OSAxNS41OTYgMzAuNDcgMzMuMDc2IDQ2LjIzOSA1Mi4wNzMgMjMuNTc5IDI4LjQ3NyA0Ny41ODggNjAuMjU5IDcwLjQzNCA5My44NTkgMjIuODY2IDMzLjU5NiA0NC41NjQgNjkuMDIgNjMuNTA1IDEwNC44MDMgOS40NjEgMTcuODg0IDE4LjI0NiAzNS44NjUgMjYuMTEyIDUzLjgxOSA3Ljg4MiAxNy45MjcgMTQuODY3IDM1LjgxNyAyMC42OTggNTMuNTE4IDUuODI3IDE3LjcyMiAxMC41NzYgMzUuMjc0IDEzLjg2MSA1Mi42IDMuMjg1IDE3LjMyMyA1LjEyMyAzNC40NDYgNS4xNjIgNTEuMzAzdi4wNjljLjAwNCAxMDAuNzc2LTQxLjEyOSAxOTIuNDU4LTEwNy4yODEgMjU4LjUzNHpNNDY4LjQ0OCAzNTAuNDI4Yy0xMzguMTE5IDAtMjUwLjA5MyAxMTEuOTctMjUwLjA5MyAyNTAuMDk0IDAgMTM4LjEyMSAxMTEuOTcgMjUwLjA5MyAyNTAuMDkzIDI1MC4wOTMgMTM4LjEyNSAwIDI1MC4wOTQtMTExLjk2OCAyNTAuMDk0LTI1MC4wOTMtLjAwMi0xMzguMTI1LTExMS45Ny0yNTAuMDk0LTI1MC4wOTQtMjUwLjA5NHoiLz48Z2x5cGggdW5pY29kZT0i7qWmIiBnbHlwaC1uYW1lPSJwaW4tbnVldm8yIiBob3Jpei1hZHYteD0iOTM5IiBkPSJNNzI3LjA1MyA4MzYuODE2Yy02Ni4wNzcgNjYuMTUyLTE1Ny43NTggMTA3LjI3Ny0yNTguNTI5IDEwNy4yNzdoLS4xNDZjLTEwMC43NzEgMC0xOTIuNDUtNDEuMTI1LTI1OC41MjktMTA3LjI3Ny02Ni4xNTItNjYuMDc3LTEwNy4yNzctMTU3Ljc1OC0xMDcuMjc3LTI1OC41Mjd2LS4wNzNjLjAxOS0xMy43MDcgMS4yMzktMjcuNTc2IDMuNDczLTQxLjU5OCAyLjIzNi0xNC4wMDQgNS40NjMtMjguMTU4IDkuNDgtNDIuNDYyIDcuMDU2LTI0Ljk2NiAxNi41NTctNTAuNDE5IDI3Ljg5NS03NS45MzIgMTEuMzE5LTI1LjUxMSAyNC40MzktNTEuMTEyIDM4Ljc2LTc2LjM5OSAyMS41MTYtMzcuODgzIDQ1LjY5NC03NC45OTMgNzAuNjYxLTEwOS41MTYgMjQuOTY2LTM0LjUyMSA1MC43MDMtNjYuNDY5IDc1LjMzMS05NC4wMDkgMTIuMzUyLTEzLjc5MyAyNC4zODUtMjYuNDQ5IDM2LjA0Mi0zNy44NDIgMTEuNjQtMTEuMzk0IDIyLjg4MS0yMS41MTIgMzMuNjU4LTMwLjE4NSAxMC44MzMtOC42OTEgMjEuMTU4LTE1Ljk3NyAzMS45MTItMjEuODEzIDUuNDIzLTIuODkxIDEwLjk4LTUuNDU5IDE3LjE3Ni03LjUwOSA2LjE5NS0yLjAwNSAxMy4xMDEtMy42IDIxLjQ5LTMuNjM4IDYuNDAxLjA3NSAxMS45Mi45NTkgMTYuOTUxIDIuMjY2IDUuMDEyIDEuMzMzIDkuNDk5IDMuMTE2IDEzLjgzNSA0Ljk5MyA3Ljk3OCAzLjYzOCAxNS41MjIgOC4wNTMgMjMuMDcxIDEzLjE5MyA3LjUyNyA1LjE0MyAxNS4wNTUgMTEuMDE5IDIyLjkzOSAxNy42MDggMTMuNjQ3IDExLjUxMSAyOC4xMDUgMjUuMjUyIDQzLjA4MSA0MC44NjggMTQuOTY1IDE1LjU5NyAzMC40NjggMzMuMDc2IDQ2LjIzNSA1Mi4wNzMgMjMuNTgxIDI4LjQ3NyA0Ny41OSA2MC4yNTkgNzAuNDM0IDkzLjg1OSAyMi44NjYgMzMuNiA0NC41NjQgNjkuMDIyIDYzLjUwNSAxMDQuODAzIDkuNDYxIDE3Ljg4OCAxOC4yNDYgMzUuODY5IDI2LjExMiA1My44MTkgNy44ODIgMTcuOTI3IDE0Ljg2NyAzNS44MTcgMjAuNzAyIDUzLjUxOCA1LjgyMyAxNy43MjIgMTAuNTcyIDM1LjI3NCAxMy44NTcgNTIuNiAzLjI4NSAxNy4zMjQgNS4xMjMgMzQuNDQ2IDUuMTYyIDUxLjMwM3YuMDczYy4wMDQgMTAwLjc2OS00MS4xMjcgMTkyLjQ1LTEwNy4yNzkgMjU4LjUyN3ptLTI1OC42MDUtNDg2LjM5Yy0xMzguMTIzIDAtMjUwLjA5NCAxMTEuOTctMjUwLjA5NCAyNTAuMDk0czExMS45NyAyNTAuMDk0IDI1MC4wOTQgMjUwLjA5NCAyNTAuMDk0LTExMS45NyAyNTAuMDk0LTI1MC4wOTRjMC0xMzguMTI1LTExMS45Ny0yNTAuMDk0LTI1MC4wOTQtMjUwLjA5NHpNNDg4LjA1MyA3NTMuNGMtNS40NjggNS4wMzYtMTIuNjI2IDguMjg2LTIwLjY0OSA4LjI3MS04LjAxMiAwLTE1LjE4My0zLjIzOC0yMC42NDktOC4yNzEtNi4wODYtNS41OTItMTAuMDM0LTEzLjQ3Ni0xMC4wMTgtMjIuMzk3bC4wMTMtOTkuNDM2LTk5LjQzNi4wMTNjLTguOTM1IDAtMTYuNzg4LTMuOTUtMjIuMzk3LTEwLjAyLTUuMDM2LTUuNDY2LTguMjg0LTEyLjYyNi04LjI3MS0yMC42NDcgMC04LjAxNiAzLjIzOC0xNS4xODMgOC4yNzEtMjAuNjQ5IDUuNTkyLTYuMDg4IDEzLjQ2MS0xMC4wMTggMjIuMzk3LTEwLjAxOGw5OS40MzYtLjAxOXYtOTkuNDE5YzAtOC45MzcgMy45NS0xNi43ODQgMTAuMDItMjIuMzk3IDUuNDY0LTUuMDM1IDEyLjYyOC04LjI4OCAyMC42NDctOC4yNzEgOC4wMTQgMCAxNS4xODMgMy4yNDQgMjAuNjQ5IDguMjcxIDYuMDg4IDUuNTkyIDEwLjAyIDEzLjQ1OSAxMC4wMiAyMi4zOTd2OTkuNDE5aDk5LjQ1MWM4LjkzNyAwIDE2Ljc4NiAzLjk1IDIyLjM5NyAxMC4wMjQgNS4wMzYgNS40NjMgOC4yODQgMTIuNjI0IDguMjcxIDIwLjY0OSAwIDguMDEtMy4yNCAxNS4xODEtOC4yNzEgMjAuNjQ3LTUuNTkyIDYuMDg0LTEzLjQ1OSAxMC4wMi0yMi4zOTcgMTAuMDJoLTk5LjQ1MXY5OS40MjFjLjAwMiA4LjkzNS0zLjkzMyAxNi44MDMtMTAuMDM0IDIyLjQxMnoiLz48Z2x5cGggdW5pY29kZT0i7qWnIiBnbHlwaC1uYW1lPSJwaW4tc2VsZWNjaW9uYWRvIiBob3Jpei1hZHYteD0iOTM5IiBkPSJNNzI3LjA1NSA4MzYuODE0Yy02Ni4wNzkgNjYuMTUyLTE1Ny43NTggMTA3LjI3NS0yNTguNTMgMTA3LjI3NUg0NjguMzgxYy0xMDAuNzcyIDAtMTkyLjQ1Mi00MS4xMjMtMjU4LjUzLTEwNy4yNzUtNjYuMTUyLTY2LjA3Ny0xMDcuMjc1LTE1Ny43NTgtMTA3LjI3NS0yNTguNTI5di0uMDcxYy4wMTktMTMuNzA5IDEuMjQxLTI3LjU3NiAzLjQ3My00MS41OTggMi4yMzgtMTQuMDA0IDUuNDYzLTI4LjE1OCA5LjQ4LTQyLjQ2MiA3LjA1NC0yNC45NjYgMTYuNTU3LTUwLjQxOSAyNy44OTUtNzUuOTMyIDExLjMxOS0yNS41MTEgMjQuNDM3LTUxLjExIDM4Ljc1OC03Ni4zOTkgMjEuNTE4LTM3Ljg4MyA0NS42OTYtNzQuOTkzIDcwLjY2My0xMDkuNTE2IDI0Ljk2Ni0zNC41MjEgNTAuNzAzLTY2LjQ2OSA3NS4zMzEtOTQuMDA5IDEyLjM1Mi0xMy43OTIgMjQuMzg1LTI2LjQ0OSAzNi4wNDItMzcuODQyIDExLjY0LTExLjM5NCAyMi44ODEtMjEuNTEyIDMzLjY1OC0zMC4xODUgMTAuODMzLTguNjkxIDIxLjE1OC0xNS45NzcgMzEuOTEyLTIxLjgxMyA1LjQyMS0yLjg5MSAxMC45NzgtNS40NTcgMTcuMTc2LTcuNTA5IDYuMTk1LTIuMDAzIDEzLjA5OS0zLjU5OSAyMS40ODgtMy42MzggNi40MDEuMDc1IDExLjkyLjk1OSAxNi45NTMgMi4yNjYgNS4wMTIgMS4zMzMgOS40OTkgMy4xMTYgMTMuODM1IDQuOTkzIDcuOTc4IDMuNjM4IDE1LjUyNCA4LjA1MyAyMy4wNzEgMTMuMTkxIDcuNTI3IDUuMTQzIDE1LjA1NyAxMS4wMTkgMjIuOTM5IDE3LjYwOCAxMy42NDcgMTEuNTA5IDI4LjEwNSAyNS4yNTIgNDMuMDgxIDQwLjg2OCAxNC45NjcgMTUuNTk2IDMwLjQ3IDMzLjA3NiA0Ni4yMzcgNTIuMDczIDIzLjU3OSAyOC40NzcgNDcuNTg4IDYwLjI1OSA3MC40MzQgOTMuODU5IDIyLjg2NiAzMy41OTggNDQuNTY0IDY5LjAyIDYzLjUwNSAxMDQuODAzIDkuNDYxIDE3Ljg4NiAxOC4yNDYgMzUuODY3IDI2LjExMiA1My44MTkgNy44ODIgMTcuOTI3IDE0Ljg2NyAzNS44MTcgMjAuNyA1My41MTggNS44MjUgMTcuNzIyIDEwLjU3NCAzNS4yNzQgMTMuODU5IDUyLjYgMy4yODUgMTcuMzIzIDUuMTIzIDM0LjQ0NiA1LjE2MiA1MS4zMDN2LjA3MWMuMDAyIDEwMC43NzItNDEuMTI5IDE5Mi40NTQtMTA3LjI4MSAyNTguNTN6TTQ2OC40NDggMzUwLjQyOGMtMTM4LjEyMSAwLTI1MC4wOTMgMTExLjk3LTI1MC4wOTMgMjUwLjA5NCAwIDEzOC4xMjEgMTExLjk3IDI1MC4wOTMgMjUwLjA5MyAyNTAuMDkzczI1MC4wOTQtMTExLjk3IDI1MC4wOTQtMjUwLjA5M2MtLjAwMi0xMzguMTI1LTExMS45NzItMjUwLjA5NC0yNTAuMDk0LTI1MC4wOTR6bTE1NC4zNTYgMjUwLjA5M2MwLTg1LjI0OS02OS4xMDgtMTU0LjM1Ny0xNTQuMzU3LTE1NC4zNTdTMzE0LjA5IDUxNS4yNzIgMzE0LjA5IDYwMC41MjFzNjkuMTA4IDE1NC4zNTcgMTU0LjM1NyAxNTQuMzU3IDE1NC4zNTctNjkuMTA4IDE1NC4zNTctMTU0LjM1N3oiLz48Z2x5cGggdW5pY29kZT0i7qWoIiBnbHlwaC1uYW1lPSJicnVqdWxhLW5vcnRlIiBkPSJNMTU2LjMzNSA4MTYuMzAyQy00Ny4wNzQgNjE5Ljg3Mi01Mi43MyAyOTUuNzQyIDE0My42OTggOTIuMzM1czUyMC41Ni0yMDkuMDY1IDcyMy45NjctMTIuNjM3YzIwMy40MDkgMTk2LjQzIDIwOS4wNjUgNTIwLjU2IDEyLjYzNyA3MjMuOTY3cy01MjAuNTU4IDIwOS4wNjYtNzIzLjk2NyAxMi42Mzd6TTgwMC43OTkgMTQ4Ljk0QzYzNS42NDQtMTAuNTQ5IDM3Mi40MjktNS45NTQgMjEyLjk0MSAxNTkuMjAxYy0xNTkuNDkgMTY1LjE1Ny0xNTQuODk2IDQyOC4zNzEgMTAuMjYgNTg3Ljg2IDE2NS4xNTcgMTU5LjQ5IDQyOC4zNzEgMTU0Ljg5NiA1ODcuODYxLTEwLjI2MXMxNTQuODk0LTQyOC4zNy0xMC4yNjMtNTg3Ljg2em0tMjk0LjcxNS0zOC4zMDdzMTI3LjIgMjU4LjU4IDEyOC41ODIgMzM1LjIyNmMxLjMzOSA3Ni42OTEtMTE2LjgwNSAzMzkuNTEyLTExNi44MDUgMzM5LjUxMnMtMTI3LjItMjU4LjU4LTEyOC41MzktMzM1LjIyOWMtMS4zMzktNzYuNjQ5IDExNi43NjEtMzM5LjUwOCAxMTYuNzYxLTMzOS41MDh6bS00NC4yNzEgMzI0LjE5MWw5OS44NzYtMS43NDNjMjQuOTctLjQzNy01Mi45OS0xNzMuOTExLTUyLjk5LTE3My45MTFzLTcxLjg1NSAxNzYuMDkyLTQ2Ljg4NiAxNzUuNjU1eiIvPjwvZm9udD48L2RlZnM+PC9zdmc+) format("svg");font-weight:400;font-style:normal;font-display:block}[class*=" g-cartografia-"],[class^=g-cartografia-]{font-family:g-cartografia!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.g-cartografia-alerta:before{content:"\e900"}.g-cartografia-ayuda:before{content:"\e901"}.g-cartografia-bandera:before{content:"\e902"}.g-cartografia-brujula:before{content:"\e903"}.g-cartografia-cancelar:before{content:"\e904"}.g-cartografia-cancelar2:before{content:"\e905"}.g-cartografia-capas:before{content:"\e906"}.g-cartografia-capas2:before{content:"\e907"}.g-cartografia-check:before{content:"\e908"}.g-cartografia-check2:before{content:"\e909"}.g-cartografia-check3:before{content:"\e90a"}.g-cartografia-check4:before{content:"\e90b"}.g-cartografia-check5:before{content:"\e90c"}.g-cartografia-comentarios:before{content:"\e90d"}.g-cartografia-descargar:before{content:"\e90e"}.g-cartografia-editar:before{content:"\e90f"}.g-cartografia-editar2:before{content:"\e910"}.g-cartografia-escala:before{content:"\e911"}.g-cartografia-escala2:before{content:"\e912"}.g-cartografia-escala3:before{content:"\e913"}.g-cartografia-flecha:before{content:"\e914"}.g-cartografia-flecha-abajo:before{content:"\e915"}.g-cartografia-flecha-abajo2:before{content:"\e916"}.g-cartografia-flecha-arriba:before{content:"\e917"}.g-cartografia-flecha-arriba2:before{content:"\e918"}.g-cartografia-flecha-derecha:before{content:"\e919"}.g-cartografia-flecha-derecha2:before{content:"\e91a"}.g-cartografia-flecha-derecha3:before{content:"\e91b"}.g-cartografia-flecha-deshacer:before{content:"\e91c"}.g-cartografia-flecha-izquierda:before{content:"\e91d"}.g-cartografia-flecha-izquierda2:before{content:"\e91e"}.g-cartografia-flecha-izquierda3:before{content:"\e91f"}.g-cartografia-flecha-link:before{content:"\e920"}.g-cartografia-flechas-mover:before{content:"\e921"}.g-cartografia-gps:before{content:"\e922"}.g-cartografia-gps2:before{content:"\e923"}.g-cartografia-gps3:before{content:"\e924"}.g-cartografia-gps4:before{content:"\e925"}.g-cartografia-guardar:before{content:"\e926"}.g-cartografia-herramienta:before{content:"\e927"}.g-cartografia-impresora:before{content:"\e928"}.g-cartografia-info:before{content:"\e929"}.g-cartografia-linea:before{content:"\e92a"}.g-cartografia-lineas:before{content:"\e92b"}.g-cartografia-lista:before{content:"\e92c"}.g-cartografia-localizacion:before{content:"\e92d"}.g-cartografia-localizacion2:before{content:"\e92e"}.g-cartografia-localizacion3:before{content:"\e92f"}.g-cartografia-localizacion4:before{content:"\e930"}.g-cartografia-mano:before{content:"\e931"}.g-cartografia-mano2:before{content:"\e932"}.g-cartografia-mapa:before{content:"\e933"}.g-cartografia-mas:before{content:"\e934"}.g-cartografia-mas2:before{content:"\e935"}.g-cartografia-medir-area:before{content:"\e936"}.g-cartografia-medir-linea:before{content:"\e937"}.g-cartografia-menos:before{content:"\e938"}.g-cartografia-menos2:before{content:"\e939"}.g-cartografia-menu:before{content:"\e93a"}.g-cartografia-mundo:before{content:"\e93b"}.g-cartografia-mundo2:before{content:"\e93c"}.g-cartografia-opciones:before{content:"\e93d"}.g-cartografia-papelera:before{content:"\e93e"}.g-cartografia-pin:before{content:"\e93f"}.g-cartografia-pin-nuevo:before{content:"\e940"}.g-cartografia-pin2:before{content:"\e941"}.g-cartografia-pin3:before{content:"\e942"}.g-cartografia-pin4:before{content:"\e943"}.g-cartografia-poligono:before{content:"\e944"}.g-cartografia-posicion:before{content:"\e945"}.g-cartografia-posicion2:before{content:"\e946"}.g-cartografia-posicion3:before{content:"\e947"}.g-cartografia-posicion4:before{content:"\e948"}.g-cartografia-posicion5:before{content:"\e949"}.g-cartografia-posicion6:before{content:"\e94a"}.g-cartografia-posicion7:before{content:"\e94b"}.g-cartografia-prismaticos:before{content:"\e94c"}.g-cartografia-regla:before{content:"\e94d"}.g-cartografia-reglas:before{content:"\e94e"}.g-cartografia-ruta:before{content:"\e94f"}.g-cartografia-spinner:before{content:"\e950"}.g-cartografia-spinner2 .path1:before{content:"\e951";color:#6b6b6b}.g-cartografia-spinner2 .path2:before{content:"\e952";margin-left:-1em;color:#6b6b6b;opacity:.1}.g-cartografia-spinner2 .path3:before{content:"\e953";margin-left:-1em;color:#6b6b6b;opacity:.2}.g-cartografia-spinner2 .path4:before{content:"\e954";margin-left:-1em;color:#6b6b6b;opacity:.3}.g-cartografia-spinner2 .path5:before{content:"\e955";margin-left:-1em;color:#6b6b6b;opacity:.4}.g-cartografia-spinner2 .path6:before{content:"\e956";margin-left:-1em;color:#6b6b6b;opacity:.5}.g-cartografia-spinner2 .path7:before{content:"\e957";margin-left:-1em;color:#6b6b6b;opacity:.6}.g-cartografia-spinner2 .path8:before{content:"\e958";margin-left:-1em;color:#6b6b6b;opacity:.7}.g-cartografia-spinner2 .path9:before{content:"\e959";margin-left:-1em;color:#6b6b6b;opacity:.8}.g-cartografia-spinner2 .path10:before{content:"\e95a";margin-left:-1em;color:#6b6b6b;opacity:.9}.g-cartografia-subir:before{content:"\e95b"}.g-cartografia-tamano:before{content:"\e95c"}.g-cartografia-temperatura:before{content:"\e95d"}.g-cartografia-texto:before{content:"\e95e"}.g-cartografia-usuario:before{content:"\e95f"}.g-cartografia-usuario2:before{content:"\e960"}.g-cartografia-zoom:before{content:"\e961"}.g-cartografia-zoom-extension:before{content:"\e962"}.g-cartografia-zoom-mas:before{content:"\e963"}.g-cartografia-zoom-menos:before{content:"\e964"}.g-cartografia-pin5:before{content:"\e965"}.g-cartografia-pin-nuevo2:before{content:"\e966"}.g-cartografia-pin-seleccionado:before{content:"\e967"}.g-cartografia-brujula-norte:before{content:"\e968"}.m-position-top{top:0}.m-position-bottom{bottom:0}.m-position-right{right:0}.m-position-left{left:0}.m-mapea-container{width:100%;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlMICLCRzwIAAAAVSURBVBjTY2CEAwYEGNKCw8QbCEEApbQAyTWv+7EAAAAASUVORK5CYII=);font-family:Muli,"sans-serif"!important;font-size:13px;color:#6c6c6c;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-shadow:none;-webkit-rtl-ordering:logical;-webkit-user-select:text;-moz-user-select:text;user-select:text;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased}.m-control{position:absolute;margin:0;z-index:990;overflow-y:hidden;background-color:hsla(0,0%,100%,.4);border-radius:4px;padding:2px}.m-control>button{color:#404040}div.m-control button[class*=" g-cartografia-"],div.m-control button[class^=g-cartografia-]{font-size:28px;padding:8px;font-size:24px;background:none;border:none;cursor:pointer;opacity:.75;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s;color:#404040;margin:0}.ol-overviewmap>button{opacity:.75;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:hover,.ol-overviewmap>button:hover,div.m-control.activated button[class^=g-cartografia-],div.m-control button[class*=" g-cartografia-"]:hover,div.m-control button[class^=g-cartografia-]:hover{opacity:1!important}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:focus,div.m-control button[class*=" g-cartografia-"]:focus,div.m-control button[class^=g-cartografia-]:focus{outline:none}.m-clear-btn,.m-help-btn{opacity:.4!important;font-size:18px!important}.m-search-btn{order:3;padding-right:14px}.m-help-btn{order:2}.m-clear-btn{order:1}.m-results-btn{display:none}.m-label-content{white-space:nowrap}.m-mapea-container input[type=text],.m-mapea-container textarea{margin:5px;padding:5px;background-color:transparent;cursor:auto;border-radius:4px;border:1px solid rgba(0,0,0,.5);-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#6c6c6c;font-family:Muli,"sans-serif"!important;font-size:13px}.m-mapea-container input[type=text]:focus{outline:none}@media only screen and (max-width:768px){.m-wordbreak{word-break:break-all;white-space:none}}button::-moz-focus-inner{border:0}@-moz-keyframes mloading{to{-moz-transform:rotate(1turn)}}@-webkit-keyframes mloading{to{-webkit-transform:rotate(1turn)}}@keyframes mloading{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.m-area.m-top.m-right,.m-areas,.ol-overlaycontainer-stopevent,.ol-viewport{height:inherit!important}.m-panel.m-layerswitcher.opened{height:calc(100% - 30px)}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{height:100%!important;max-height:100%}.m-attribution{left:3px!important;right:inherit!important;z-index:999999}@media print{.ol-control{display:none}}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{opacity:1;-webkit-transition:max-width .75s ease 0s,max-height .5s ease 0s,opacity 1s ease .2s;transition:max-width .75s ease 0s,max-height .5s ease 0s,opacity 1s ease .2s}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>div.m-panel-controls{opacity:0;max-width:0;max-height:0;-webkit-transition:max-width .5s ease 0s,max-height 2s ease 0s,opacity .3s ease 0s;transition:max-width .5s ease 0s,max-height 2s ease 0s,opacity .3s ease 0s}.m-location-container.m-locating>button#m-location-button:before{-webkit-animation:mloading 1s linear infinite;-moz-animation:mloading 1s linear infinite}.ol-box{box-sizing:border-box;border-radius:2px;border:2px solid #00f}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:rgba(0,60,136,.3);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-step-marker{width:1px;height:15px;background-color:#000;float:right;z-Index:10}.ol-scale-step-text{bottom:-5px;font-size:12px;z-Index:11}.ol-scale-step-text,.ol-scale-text{position:absolute;color:#000;text-shadow:-2px 0 #fff,0 2px #fff,2px 0 #fff,0 -2px #fff}.ol-scale-text{font-size:14px;text-align:center;bottom:25px}.ol-scale-singlebar{position:relative;height:10px;z-Index:9;border:1px solid #000}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.ol-overlaycontainer,.ol-overlaycontainer-stopevent{pointer-events:none}.ol-overlaycontainer-stopevent>*,.ol-overlaycontainer>*{pointer-events:auto}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:hsla(0,0%,100%,.4);border-radius:4px;padding:2px}.ol-control:hover{background-color:hsla(0,0%,100%,.6)}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:#fff;font-size:1.14em;font-weight:700;text-decoration:none;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:rgba(0,60,136,.5);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-control button span{pointer-events:none}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;font-size:1.2em;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;background-color:rgba(0,60,136,.7)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em)}.ol-attribution ul{margin:0;padding:0 .5em;color:#000;text-shadow:0 0 2px #fff}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button,.ol-attribution ul{display:inline-block}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:hsla(0,0%,100%,.8)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:inline-block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #7b98bc;height:150px;margin:2px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:1px;left:2px;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:hsla(0,0%,100%,.8)}.ol-overviewmap-box{border:2px dotted rgba(0,60,136,.7)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-viewport>div.ol-unselectable>div img{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-o-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;-ms-perspective:1000;perspective:1000}.ol-box{border:1px solid #337ceb!important;background-color:rgba(51,124,235,.33)!important}.ol-zoom>button{background-color:#fff!important;margin:0!important;padding:0;color:#404040!important;opacity:.75;font-size:18px!important;text-align:center;cursor:pointer;width:30px!important;height:30px!important;box-shadow:0 1px 3px 0 #cacaca}.ol-zoom>button:focus,.ol-zoom>button:hover{background-color:transparent;outline:none!important}.ol-zoom>button:hover{opacity:1}.ol-zoomslider{height:198px!important;overflow:auto!important}.ol-zoomslider>button.ol-zoomslider-thumb{background-color:#f0f0f0;border:1px solid rgba(64,64,64,.4);border-radius:20px;padding:0;margin:-5px;height:20px!important;width:20px!important}@-moz-document url-prefix(){.ol-zoomslider>button.ol-zoomslider-thumb{position:relative!important}}.ol-scale-line .ol-scale-line-inner{color:#404040;border-color:#404040}@media only screen and (max-width:768px){.ol-scale-line-up{margin-bottom:30px;margin-left:-15px}}.ol-overviewmap{background-color:#fff!important;border-radius:4px!important;display:block;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important;transition:border-radius .33s ease 0s;order:1!important;margin-left:10px!important;display:relative!important}.ol-overviewmap:not(.ol-collapsed) button{position:static!important;position:absolute!important;right:0!important;background-color:#fff!important;border-radius:15px;left:auto!important;right:4px;padding:0 2px 2px;font-size:6px}.ol-overviewmap:not(.ol-collapsed) .ol-overviewmap-map{margin:4px!important}.ol-overviewmap:not(.ol-collapsed)>button:before{font-size:11px!important}.ol-overviewmap.ol-collapsed{border-radius:20px!important}.ol-overviewmap .ol-overviewmap-map{border:0!important;transition:width .33s ease 0s,height .33s ease 0s}.ol-overviewmap.ol-collapsed .ol-overviewmap-map{display:inline-block!important;height:0;width:0;margin:0;padding:0}.ol-overviewmap>button{bottom:4px!important}.ol-overviewmap.ol-collapsed>button,.ol-overviewmap>button{width:20px!important;height:20px!important;border-radius:20px;margin:0!important;padding:0;background-color:transparent!important;color:#404040!important;opacity:.75!important;font-size:15px!important;background:none;border:none;cursor:pointer;font-family:g-cartografia!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center}.ol-overviewmap.ol-collapsed>button:hover{opacity:1}.ol-overviewmap.ol-collapsed>button{height:40px!important;width:40px!important}.ol-overviewmap>button:active,.ol-overviewmap>button:focus,.ol-overviewmap>button:hover{background-color:transparent;outline:none}.ol-overviewmap>button>span{display:none}@media only screen and (max-width:768px){.ol-overviewmap{display:none!important}}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-scale-container,.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-wmcselector-container{border-radius:20px!important}.m-panel.m-map-info>div.m-panel-controls>div.ol-overviewmap{order:1}.m-wmcselector-container{bottom:8px;right:60px;display:block;padding:0;margin:0}.m-wmcselector-container:before{font-family:g-cartografia!important}.m-wmcselector-select{border:none;background-color:#fefefe;color:#6c6c6c;font-weight:400;text-decoration:none;outline:none;margin:0;-webkit-appearance:none}.m-layerswitcher-container{position:absolute;top:.5em;right:.5em;text-align:left;overflow-y:auto!important;width:100%}@media only screen and (min-width:769px){.m-layerswitcher-container{min-width:440px!important}}.m-layerswitcher-container .m-layersiwtcher-panel{margin:0;top:0;right:0;max-height:100%;text-align:left;background-color:#f4f4f4}.m-layerswitcher-container li.group{padding-top:5px;padding-bottom:8px;text-align:center}.m-layerswitcher-container li.group>div{line-height:normal;margin:0;color:#404040;font-family:Muli,"sans-serif"!important;line-height:40px;text-align:center;border-bottom:1px solid rgba(0,0,0,.08);font-size:15px}.m-layerswitcher-container li div{font-family:sans-serif;font-size:.8em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;line-height:1.4em;line-height:40px;text-align:center;font-size:15px}.m-layerswitcher-container ul>li{overflow:hidden}.m-layerswitcher-container ul>li.group>ul>li{margin:10px;background-color:#fff}.m-layerswitcher-container li span.m-check{color:#6abe47;margin:0 1% 0 0}.m-layerswitcher-container li input.m-layerswitcher-transparency{margin-right:3%;width:74%}@-moz-document url-prefix(){.m-layerswitcher-container li input.m-layerswitcher-transparency{width:81%;margin-top:16px}.m-layerswitcher-container .tools span{display:block;margin-top:-12px;margin-left:143px}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.m-layerswitcher-container li input.m-layerswitcher-transparency{display:block;margin-top:1px}.m-layerswitcher-container .tools span{display:block;margin-top:-52px;float:right;margin-right:13%}}.m-layerswitcher-container li span.m-layerswitcher-remove{font-size:11px;color:rgba(0,0,0,.53);cursor:pointer}@media only screen and (max-width:768px){.m-layerswitcher-container li span.m-check{font-size:2em;margin-right:5%}.m-layerswitcher-container li input.m-layerswitcher-transparency{width:77%;display:none}@-moz-document url-prefix(){.m-layerswitcher-container li input.m-layerswitcher-transparency{width:66%}}.m-layerswitcher-container li span.m-layerswitcher-remove{font-size:13px}.m-layerswitcher-container li.visible input.m-layerswitcher-transparency{display:initial}.m-layerswitcher-container li.visible span.m-layerswitcher-remove{font-size:11px}}.m-layersiwtcher-panel li>div.layer,.m-layersiwtcher-panel li>div.layer-base{padding:0 5px;text-align:left;margin:0;border-bottom:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.m-layersiwtcher-panel li.visible>div.tools{width:40%;height:auto}.m-layersiwtcher-panel div.tools{float:right;text-align:left}.m-layersiwtcher-panel li.visible>div.layer{margin-bottom:4px}.m-layersiwtcher-panel div.layer{margin-bottom:4px;float:left;width:55%}@media only screen and (max-width:768px){.m-layersiwtcher-panel li>div.layer,.m-layersiwtcher-panel li>div.layer-base{width:90%;padding-right:0}}.m-layersiwtcher-panel li.visible>div.layer-base{margin:0;border:0}.m-layersiwtcher-panel li>div.legend{width:100%;text-align:left;height:0}.m-layersiwtcher-panel li.visible>div.legend{width:90%;height:auto;margin:0 auto}@media only screen and (max-width:768px){.m-layersiwtcher-panel li.visible>div.tools{width:90%;float:none}.m-layersiwtcher-panel div.tools{width:calc(10% - 5px);float:right;text-align:left;margin:0 auto}}.m-layerswitcher-container li.disabled span{color:#666}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed{color:#fda823;height:40px}.m-areas>div.m-area>div.m-panel.m-layerswitcher>button.m-panel-btn{position:absolute;left:-40px;background-color:#fda823;color:#fff;z-index:999999;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-layerswitcher>button.m-panel-btn{background-color:transparent;position:absolute;left:auto;right:0;color:#fda823;z-index:999999;box-shadow:none}}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>button.m-panel-btn{position:inherit;color:#fda823;left:0;box-shadow:none}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed>div.m-panel-controls{padding:0}.m-areas>div.m-area>div.m-panel.m-layerswitcher.opened{border-top-left-radius:0}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{max-width:61vw}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-layerswitcher.opened{width:100vw;height:100vh;position:fixed;top:0;left:0;margin:0;z-index:10000}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{max-width:100vw;max-height:100vh;width:100%}}input[type=range].m-layerswitcher-transparency{-webkit-appearance:none;width:30%;height:8px}@media (-ms-high-contrast:active),(-ms-high-contrast:none){input[type=range].m-layerswitcher-transparency{height:auto}}input[type=range].m-layerswitcher-transparency:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:2px;cursor:pointer;background:rgba(0,0,0,.31);border-radius:12px}input[type=range]::-webkit-slider-thumb{height:10px;width:10px;cursor:pointer;border-radius:15px;background:#fff;-webkit-appearance:none;margin-top:-4px;background-color:#fda823}@media only screen and (max-width:768px){input[type=range]::-webkit-slider-thumb{height:12px;width:12px}}input[type=range]::-moz-range-track{width:100%;height:2px;cursor:pointer;background:rgba(0,0,0,.31);border-radius:12px}input[type=range]::-moz-range-thumb{height:10px;width:10px;cursor:pointer;border:none;background:#fff;-webkit-appearance:none;margin-top:20px;background-color:#fda823}input[type=range]::-ms-track{cursor:pointer;width:100%;height:2px;background:transparent;border-color:transparent;border-width:12px;color:transparent;margin-top:-8px}input[type=range]::-ms-thumb{border:none;height:10px;cursor:pointer;width:10px;border-radius:15px;background-color:#fda823;-webkit-appearance:none}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#ddd;border-radius:10px}input[type=range]:disabled::-moz-range-thumb,input[type=range]:disabled::-ms-thumb,input[type=range]:disabled::-webkit-slider-thumb{background-color:#848484}input[type=range]:disabled{opacity:.5}.m-areas>div.m-area>div.m-panel.m-layerswitcher{background-color:#f4f4f4}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{overflow:hidden;overflow-y:auto;padding-right:0}.m-layersiwtcher-panel>ul{margin:0;padding:0}.m-layerswitcher-container ul.m-base-layers,.m-layerswitcher-container ul.m-groups,.m-layerswitcher-container ul.m-layers,ul.m-groups>li.m-group>ul.m-layers{list-style:none;padding:10px}ul.m-groups>li.m-group{background:#eaeaea}ul.m-base-layers>li.m-layer,ul.m-groups>li.m-group,ul.m-layers>li.m-layer{box-shadow:0 1px 2px rgba(0,0,0,.3)}ul.m-groups>li.m-group>.m-title{cursor:pointer}ul.m-base-layers>li.m-layer>.m-visible-control,ul.m-groups>li.m-group>.m-visible-control,ul.m-groups>li.m-group>ul.m-layers>li>.m-visible-control,ul.m-layers>li.m-layer>.m-visible-control{float:left;width:24px}ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{text-align:left;display:inline-block;width:59%}@-moz-document url-prefix(){ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{text-align:left;display:inline-block;width:59%}@media only screen and (max-width:768px){ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{width:57%}}}ul.m-groups>li.m-group>.m-title{float:left;width:calc(96% - 48px)}@media only screen and (max-width:768px){ul.m-base-layers>li.m-layer>.m-visible-control,ul.m-groups>li.m-group>.m-visible-control,ul.m-groups>li.m-group>ul.m-layers>li>.m-visible-control,ul.m-layers>li.m-layer>.m-visible-control{width:38px}ul.m-base-layers>li.m-layer>.m-title,ul.m-groups>li.m-group>.m-title,ul.m-groups>li.m-group>ul.m-layers>li>.m-title,ul.m-layers>li.m-layer>.m-title{width:53%}ul.m-groups>li.m-group>.m-title{width:calc(94% - 48px)}}ul.m-groups>li.m-group>.m-collapsed-icon{width:24px;cursor:pointer}ul.m-base-layers,ul.m-layers{background-color:#f9f9f9}ul.m-base-layers>li,ul.m-layers>li{background-color:#fff;margin-bottom:5px;border:1px solid rgba(0,0,0,.1)}ul.m-base-layers>li>div.m-legend,ul.m-layers>li>div.m-legend{padding-top:12.5px;padding-bottom:12.5px}ul.m-base-layers>li>div.m-legend{max-width:50vw}ul.m-base-layers>li>div.m-legend>img,ul.m-layers>li>div.m-legend>img{max-width:45vw;margin:auto!important}.m-popup{position:absolute;background-color:#fff;border:1px solid #ccc;bottom:12px;left:-50px;border-radius:5px;box-shadow:2px 2px 8px -4px rgba(0,0,0,.53)}.m-popup:after,.m-popup:before{top:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}.m-popup:after{border-top-color:#fff;border-width:10px;left:48px;margin-left:-10px}.m-popup:before{border-top-color:#ccc;border-width:11px;left:48px;margin-left:-11px}.m-popup-content{min-width:170px;width:auto;overflow-x:auto;max-width:50vw;max-height:70vh}.m-popup>div.m-content>div.m-header{cursor:pointer}.m-popup>div.m-content>div.m-header>div.m-subtitle,.m-popup>div.m-content>div.m-header>div.m-title{display:none}.m-popup-closer{position:absolute;top:2px;right:2px;font-size:100%;padding:0 4px;color:grey;text-decoration:none}.m-popup-closer:after{content:"\2716"}.m-popup div.infoResult{min-width:130px}.m-popup div.infoResult p{padding:.1em;margin:0}.m-popup-content h3{margin:.25em 0}.m-popup.marker{margin-bottom:30px}.m-popup .m-content{margin:0;padding:15px 27px 15px 15px}.m-popup .m-footer{margin:0;padding:5px 0;display:flex}.m-popup .m-footer>a>button{border:none;background-color:transparent;cursor:pointer;font-size:18px;color:#337ceb;transition:color .3s}.m-popup .m-footer>a>button:hover{color:#d9534f}.m-popup>div.m-content>div.m-body{overflow-y:auto;overflow-x:hidden;max-height:50vh;width:calc(100% + 15px)}@media only screen and (max-width:768px){.m-popup>div.m-content>div.m-body{width:calc(100% - 30px);margin-left:15px;margin-top:15px}}.m-popup>div.m-popup-content>div.m-content+div.m-content{margin-top:10px}.m-popup>div.m-popup-content>div.m-content>p.m-title{text-align:center;line-height:30px;font-size:15px;color:#404040;background-color:#dedede;margin-top:0;font-weight:700}.m-popup>div.m-popup-content>div.m-content:last-child{border-bottom:0}.m-popup div.m-editattribute-content button.save{display:table;margin:10px 0;padding:5px;background-color:#fff;font-family:Muli,"sans-serif"!important;width:97%;border-radius:4px;border:1px solid rgba(0,0,0,.4);font-size:15px;line-height:25px;cursor:pointer;opacity:.75;-webkit-transition:opacity .25s ease 0s;transition:opacity .25s ease 0s;color:#404040}.m-popup div.m-editattribute-content button.save:hover{opacity:1}.m-popup.m-has-tabs{border-top-left-radius:0;min-width:150px}.m-popup>div.m-tabs{position:absolute;display:inline-flex;left:-1px;top:-29px;margin:0}.m-popup>div.m-tabs>div.m-tab{height:17px;width:30px;background-color:#f2f2f2;cursor:pointer;font-size:18px;padding:5px;text-align:center;border:1px solid #ccc;margin:0;border-right:0}.m-popup>div.m-tabs>div.m-tab:first-child{border-top-left-radius:4px}.m-popup>div.m-tabs>div.m-tab:last-child{border-top-right-radius:4px;border-right:1px solid #ccc}.m-popup>div.m-tabs>div.m-tab.m-activated{border-bottom:0;height:18px;background-color:#fff}@media only screen and (max-width:768px){.m-popup{width:100vw;height:100vh;position:fixed;left:0;margin:0;padding:0;z-index:1500;border-bottom-left-radius:0;border-bottom-right-radius:0}.m-popup .m-footer{position:relative;display:flex;padding:15px 5px}.m-popup>div.m-content>div.m-header,.m-popup>div.m-tabs{text-align:center;padding-top:5px;display:flex;align-items:center;flex-flow:column;flex-wrap:nowrap;justify-content:center}.m-popup:not(.m-has-tabs)>div.m-content>div.m-header{padding-top:0;position:relative;box-shadow:0 0 7px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02);flex-flow:row;justify-content:flex-end;height:10vh}.m-popup.m-has-tabs>div.m-content>div.m-header{height:0;margin:0;padding:0}.m-popup>div.m-tabs{flex-flow:row;position:relative;top:0;left:0;width:100%;align-items:stretch;margin:0;padding:0;height:10vh}.m-popup>div.m-tabs>div.m-tab,.m-popup>div.m-tabs>div.m-tab.m-activated{height:100%;width:100%;margin:0;font-size:24px;display:flex;justify-content:center;align-items:center;padding:0;border-top:0;border-radius:0}.m-popup>div.m-tabs>div.m-tab:first-child{border-left:0}.m-popup>div.m-content{padding:0}.m-popup>div.m-content>div.m-header>div.m-title{display:initial;font-size:1.2em;font-weight:700;width:100%}.m-popup>div.m-content>div.m-header>div.m-subtitle{display:initial;font-size:1em;font-style:italic}.m-popup.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{position:absolute;right:0;height:40px}.m-popup>div.m-content>div.m-body{overflow-y:auto;max-height:100vh}.m-popup.m-collapsed>div.m-tabs,.m-popup:not(.m-has-tabs).m-collapsed>div.m-content>div.m-header{height:7vh}.m-popup.m-collapsed>div.m-content>div.m-body{height:0}.m-popup.m-collapsed{top:92%}.m-popup.m-collapsed.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{display:none}.m-popup.m-default>div.m-tabs,.m-popup:not(.m-has-tabs).m-default>div.m-content>div.m-header{height:7vh}.m-popup.m-default>div.m-content>div.m-body{height:48vh}.m-popup.m-default{top:45vh}.m-popup.m-default.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{top:7vh}.m-popup.m-full>div.m-tabs,.m-popup:not(.m-has-tabs).m-full>div.m-content>div.m-header{height:7vh}.m-popup.m-full>div.m-content>div.m-body{height:93vh}.m-popup.m-full{top:0}.m-popup>div.m-content>div.m-header>a.m-popup-closer{height:100%;width:40px;margin:0;padding:0;font-family:g-cartografia;position:inherit;display:flex;align-items:center;justify-content:flex-end;font-size:22px}.m-popup>div.m-content>div.m-header>a.m-popup-closer:after{content:"\e919"}.m-popup.m-full.m-has-tabs>div.m-content>div.m-header>a.m-popup-closer{top:7vh}.m-popup:not(.m-no-animation){-webkit-transition:top .5s ease 0s;transition:top .5s ease 0s}.m-popup>div.m-content>div.m-header,.m-popup>div.m-tabs{-webkit-transition:height .5s ease 0s,background-color .5s ease 0s;transition:height .5s ease 0s,background-color .5s ease 0s}.m-popup>div.m-content>div.m-header>div.m-title,.m-popup>div.m-tabs>div.m-tab{-webkit-transition:font-size .5s ease 0s;transition:font-size .5s ease 0s}}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result{border-top:1px solid rgba(0,0,0,.13)}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result:first-child{border:0}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table{width:100%;border-top:1px dashed rgba(0,0,0,.09)}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table:first-child{border:0}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.value{text-align:right}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.key{font-weight:700}.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.key,.m-popup>div.m-content>div.m-body>div.m-geojson-content>div.result>table td.value{white-space:nowrap}@supports (overflow:-webkit-marquee) and (justify-content:inherit){@media only screen and (max-width:768px){.m-popup.m-collapsed{top:87vh}}}.unsetTransform{transform:unset!important}.m-dialog{position:absolute;top:0;left:0;z-index:99999;width:100%;height:100%}.m-dialog>div.m-modal{width:100%;height:100%;background-color:hsla(0,0%,100%,.5);display:flex;align-items:center}.m-dialog>div.m-modal>div.m-content{position:relative;max-height:70vh;max-width:70vw;min-width:30vw;margin:0 auto;background-color:#fff;padding:10px;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}.m-dialog div.m-title{line-height:40px;text-align:center;font-weight:700}.m-dialog div.m-message{padding:10px 5px;border-bottom:1px solid rgba(0,0,0,.2);font-size:15px}.m-dialog div.m-button>button{background-color:transparent;border:none;box-shadow:none;cursor:pointer;margin-top:10px;padding:5px;width:50px;font-weight:700}.m-dialog div.m-button{text-align:right}.m-dialog.info div.m-button>button,.m-dialog.info div.m-title{background-color:#337ceb;color:#fff}.m-dialog.error div.m-button>button,.m-dialog.error div.m-title{background-color:#d9534f;color:#fff}.m-dialog.success div.m-button>button,.m-dialog.success div.m-title{background-color:#67af13;color:#fff}.m-location-container{top:20px;left:600px}.m-location-container.m-locating>button#m-location-button:before{animation:mloading 1s linear infinite;position:absolute;left:11px;top:11px}.m-location-container.m-locating>button#m-location-button{padding:8px}@supports (-ms-ime-align:auto){.m-location-container.m-locating>button#m-location-button{height:36px}}.m-scale-container{margin:0;box-shadow:0 1px 2px rgba(0,0,0,.3);padding:5px;right:0;font-weight:700;bottom:2em;display:block;font-size:smaller;background-color:rgba(0,60,136,.5);font-weight:400;border-top-left-radius:2px;border-bottom-left-radius:2px}.m-scale-container>.m-unit{font-family:Muli!important;line-height:normal}.m-scale-container>.m-scale{line-height:normal}.m-scale-container>.m-unit:before{font-family:g-cartografia!important;color:#a35d38;font-size:12px!important;margin-right:5px}.m-areas>div.m-area>div.m-panel>div.m-panel-controls>div.m-control.m-rotate-container button[class^=g-cartografia-]#m-rotate-button{background-color:#fff;color:#337ceb;cursor:pointer;position:absolute;z-index:200;padding:0;left:19%;top:23%;font-size:1.5rem;border-radius:50%}.m-rotate-slider{border-radius:50%;height:30px;width:30px;cursor:pointer;position:absolute}#m-rotate-slider-container{width:40px;height:40px}#m-rotate-marker{width:45px;position:absolute;height:45px}#m-rotate-marker-circle{stroke:#337ceb;fill:#fff;cursor:pointer}.m-mouse-position{white-space:pre}.m-mouse-position:before{color:#a35d38;margin-right:5px;font-family:g-cartografia!important}@media only screen and (max-width:768px){.m-mouse-position{display:none!important}}.m-panel.m-map-info>div.m-panel-controls>.m-mouse-position{border-radius:20px!important;order:4}.m-panel.m-map-info.m-with-scale>div.m-panel-controls>.m-mouse-position,.m-panel.m-map-info.m-with-wmcselector>div.m-panel-controls>.m-mouse-position{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.m-getfeatureinfo-container{top:20px;left:300px}.m-popup table.mapea-table td.header{text-align:center;padding-top:10px;border-bottom:1px ridge #6c6c6c}.m-getfeatureinfo-content-info{min-width:250px;margin-bottom:.7rem}.m-getfeatureinfo-content-info-body.m-content-collapsed,span.m-content-collapsed{display:none}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header{display:flex;align-items:center;font-size:12px;background-color:#eee;margin-bottom:5px;color:#000;padding:5px}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header .m-arrow-right{border:7px solid transparent;border-left-color:#000;cursor:pointer}.m-getfeatureinfo-content-info .m-getfeatureinfo-content-info-header .m-arrow-down{border:7px solid transparent;border-top-color:#000;cursor:pointer;margin-right:5px}.m-areas{top:0;left:0;width:0;height:0;max-height:0}.m-areas>div.m-area{-webkit-display:flex;display:flex;position:absolute;-webkit-flex-flow:column nowrap;flex-flow:column nowrap}.m-areas>div.m-area.m-top{top:0}.m-areas>div.m-area.m-bottom{bottom:0;width:0;max-width:0}.m-areas>div.m-area.m-bottom.m-right{z-index:10}.m-areas>div.m-area.m-left{left:0;-webkit-align-items:flex-start;align-items:flex-start}.m-areas>div.m-area.m-right{right:0;-webkit-align-items:flex-end;align-items:flex-end}@media only screen and (max-width:768px){.m-areas>div.m-area.m-top.top-extra{top:65px}.m-areas>div.m-area.m-top.top-extra.top-extra-search{top:75px}.m-areas>div.m-area.m-top.top-extra.top-extra-searchs{top:135px}}.m-areas>div.m-area>div.m-panel{z-index:999;position:relative;background:#fff;box-sizing:border-box;border-radius:4px}.m-areas>div.m-area>div.m-panel,div.m-panel>button{box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}.m-areas>div.m-area.m-top>div.m-panel{margin-top:10px}.m-areas>div.m-area.m-bottom>div.m-panel{margin-bottom:10px}.m-areas>div.m-area.m-left>div.m-panel{margin-left:10px}.m-areas>div.m-area.m-right>div.m-panel{margin-right:10px}.m-areas>div.m-area>div.m-panel.no-collapsible{border-radius:20px}.m-areas>div.m-area>div.m-panel>button.m-panel-btn{color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)}.m-areas>div.m-area>div.m-panel.no-collapsible>div.m-panel-controls>div.m-control>button,.m-areas>div.m-area>div.m-panel>button.m-panel-btn{-webkit-transition:opacity .25s ease 0s,color .25s ease 0s;transition:opacity .25s ease 0s,color .25s ease 0s;padding:0;font-size:19px;background:none;cursor:pointer;width:40px;height:40px;box-sizing:border-box;border:0;font-family:g-cartografia!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center}.m-areas>div.m-area>div.m-panel.opened>button.m-panel-btn{font-size:15px}.m-areas>div.m-area.m-left>div.m-panel>button.m-panel-btn{border-top-right-radius:4px;border-bottom-right-radius:4px;float:right}.m-areas>div.m-area.m-left>div.m-panel.collapsed>button.m-panel-btn{position:inherit;right:0;box-shadow:none}.m-areas>div.m-area.m-right>div.m-panel>button.m-panel-btn{border-top-left-radius:4px;border-bottom-left-radius:4px;float:left}.m-areas>div.m-area>div.m-panel.m-tools>button.m-panel-btn{background-color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition>button.m-panel-btn{background-color:#67af13}.m-areas>div.m-area>div.m-panel.m-tools.collapsed>button.m-panel-btn{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition.collapsed>button.m-panel-btn{color:#67af13}.m-areas>div.m-area>div.m-panel.collapsed>button.m-panel-btn{border-radius:20px;background-color:#fff!important}.m-areas>div.m-area>div.m-panel>button.m-panel-btn:focus{outline:none}.m-areas>div.m-area>div.m-panel.no-collapsible>button.m-panel-btn{display:none}.m-areas>div.m-area.m-left>div.m-panel,.m-areas>div.m-area.m-left>div.m-panel>div.m-panel-controls{-webkit-flex-direction:row-reverse;flex-direction:row-reverse;align-items:flex-end}.m-areas>div.m-area>div.m-panel.m-tools{order:-90}.m-areas>div.m-area>div.m-panel.m-edition{order:-80}.m-areas>div.m-area>div.m-panel.m-panzoombar{order:-69;margin-top:8px;border-radius:20px;margin-left:25px;width:10px}@media only screen and (max-width:768px){.m-areas>div.m-area>div.m-panel.m-panzoombar{display:none}}.m-areas>div.m-area>div.m-panel.m-panzoom{order:-70;width:30px;height:60px;border-radius:4px;margin-left:15px}.m-areas>div.m-area>div.m-panel.m-scaleline{background-color:transparent;box-shadow:none;left:20px}.m-areas>div.m-area>div.m-panel.m-location>div.m-panel-controls>div.m-control.activated>button{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-mouse{border-radius:4px;padding:5px}.m-areas>div.m-area>div.m-panel.m-mouse>div.m-panel-controls{width:auto}.m-areas>div.m-area>div.m-panel.m-mouse>div.m-panel-controls:before{font-size:15px;background:none}.m-areas>div.m-area>div.m-panel.m-overviewmap{box-shadow:none}.m-areas>div.m-area>div.m-panel>div.m-panel-controls{display:flex}@-moz-document url-prefix(){.m-areas>div.m-area>div.m-panel>div.m-panel-controls{display:inline-flex}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.m-areas>div.m-area>div.m-panel.collapsed{height:auto!important}.m-areas>div.m-area>div.m-panel.m-layerswitcher.collapsed{width:40px!important}.m-areas>div.m-area>div.m-panel.m-layerswitcher>div.m-panel-controls{width:100%!important}.m-areas>div.m-area>div.m-panel.m-panzoom{height:auto!important}.m-printer.opened .m-printer-container .form{min-height:176px}.m-printer-container>div.button>button.print{width:57%!important}}@supports (overflow:-webkit-marquee) and (justify-content:inherit){.m-areas>div.m-area.m-top{top:0}}.m-areas>div.m-area.m-bottom,.m-areas>div.m-area.m-top,.m-areas>div.m-area>div.m-panel.m-map-info,.m-areas>div.m-area>div.m-panel.m-map-info>div.m-panel-controls{visibility:hidden}.m-areas>div.m-area>div.m-panel{visibility:visible}.m-areas>div.m-area>div.m-panel.m-map-info>div.m-panel-controls>div{visibility:visible!important}.m-areas>div.m-area>div.m-panel{-webkit-transition:border-radius .5s ease 0s;transition:border-radius .5s ease 0s}.m-areas>div.m-area>div.m-panel.collapsed{border-radius:20px}.m-areas>div.m-area>div.m-panel>div.m-panel-controls{opacity:1;border-radius:10px;-webkit-transition:max-width 1s ease 0s,opacity .75s ease .1s;transition:max-width 1s ease 0s,opacity .75s ease .1s}.m-areas>div.m-area>div.m-panel.collapsed>div.m-panel-controls{opacity:0;max-width:0;-webkit-transition:max-width .4s ease 0s,opacity .3s ease 0s;transition:max-width .4s ease 0s,opacity .3s ease 0s}.m-areas>div.m-area>div.m-panel>div.m-panel-controls>div{position:inherit!important;overflow:hidden;background-color:transparent;border-radius:0;padding:0;box-shadow:none;display:table}.m-areas>div.m-area>div.m-panel.m-tools>div.m-panel-controls>div.m-control.activated>button{color:#337ceb}.m-areas>div.m-area>div.m-panel.m-edition>div.m-panel-controls>div.m-control.activated>button{color:#67af13}@media only screen and (min-width:769px){.m-geosearch.collapsed .m-panel-controls,.m-searchstreet.collapsed .m-panel-controls,.m-searchstreetgeosearch.collapsed .m-panel-controls{display:none!important}}.m-edition.collapsed .m-panel-controls,.m-tools.collapsed .m-panel-controls{display:none!important}.m-map-info>div.m-panel-controls{flex-direction:row-reverse;align-items:flex-end}.m-map-info{background:transparent!important;border-radius:0!important;box-shadow:none!important;right:0;order:4}.m-location{order:1;z-index:97}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-scale-container{order:3}.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-scale-container{border-top-left-radius:0!important;border-bottom-left-radius:0!important}@media only screen and (max-width:768px){.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-scale-container{border-top-left-radius:20px!important;border-bottom-left-radius:20px!important}}.m-panel.m-map-info.m-with-wmcselector>div.m-panel-controls>div.m-control.m-scale-container{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.m-panel.m-map-info>div.m-panel-controls>div.m-control.m-wmcselector-container{order:2}.m-panel.m-map-info.m-with-mouse>div.m-panel-controls>div.m-control.m-wmcselector-container,.m-panel.m-map-info.m-with-scale>div.m-panel-controls>div.m-control.m-wmcselector-container{border-top-left-radius:0!important;border-bottom-left-radius:0!important}@media only screen and (max-width:768px){.m-panel.m-map-info.m-with-mouse:not(.m-with-scale)>div.m-panel-controls>div.m-control.m-wmcselector-container{border-top-left-radius:20px!important;border-bottom-left-radius:20px!important}}.m-areas>div.m-area>div.m-panel>div.m-panel-controls .m-mouse-position{display:inline;height:15px!important}.m-areas>div.m-area>div.m-panel>div.m-panel-controls .m-mouse-position,.m-scale-container{background-color:#fff!important;padding:6px 12px 3px!important;font-family:Muli,"sans-serif"!important;font-size:12px!important;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important}.m-scale-container{display:flex!important;height:15px;white-space:pre}.m-scale-container:before{color:#a35d38;margin-right:5px}.m-wmcselector-container{background-color:#fff!important;padding:4px 10px 3px 12px!important;font-family:Muli,"sans-serif"!important;font-size:12px!important;box-shadow:0 2px 4px rgba(0,0,0,.2),0 -1px 0 rgba(0,0,0,.02)!important;display:flex!important;height:17px}.m-wmcselector-container:before{color:#a35d38;margin-right:5px;margin-top:3px}@media only screen and (max-width:768px){.m-scale-container{border-top-left-radius:20px!important;border-bottom-left-radius:20px!important;padding:6px 12px 3px!important}}@media only screen and (min-width:769px){.m-geosearch.collapsed div.results-panel,.m-geosearch.collapsed div.search-panel{display:none!important}}.m-kml-desc>table{width:100%} \ No newline at end of file diff --git a/lib/mapea-6.3.1.ol.min.js b/lib/mapea-6.3.1.ol.min.js deleted file mode 100644 index 27da7d5..0000000 --- a/lib/mapea-6.3.1.ol.min.js +++ /dev/null @@ -1,99 +0,0 @@ -!function(t){function e(e){for(var r,i,o=e[0],a=e[1],s=0,u=[];so&&(u|=n.a.RIGHT),la&&(u|=n.a.ABOVE),u===n.a.UNKNOWN&&(u=n.a.INTERSECTING),u}function p(){return[1/0,1/0,-1/0,-1/0]}function d(t,e,r,n,i){return i?(i[0]=t,i[1]=e,i[2]=r,i[3]=n,i):[t,e,r,n]}function g(t){return d(1/0,1/0,-1/0,-1/0,t)}function y(t,e){var r=t[0],n=t[1];return d(r,n,r,n,e)}function m(t,e,r,n,i){return w(g(i),t,e,r,n)}function _(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function v(t,e,r){return Math.abs(t[0]-e[0])t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function x(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function w(t,e,r,n,i){for(;re[0]?n[0]=t[0]:n[0]=e[0],t[1]>e[1]?n[1]=t[1]:n[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function G(t){return t[2]=s&&m<=u),i||!(a&n.a.RIGHT)||o&n.a.RIGHT||(i=(_=g-(d-u)*y)>=l&&_<=c),i||!(a&n.a.BELOW)||o&n.a.BELOW||(i=(m=d-(g-l)/y)>=s&&m<=u),i||!(a&n.a.LEFT)||o&n.a.LEFT||(i=(_=g-(d-s)*y)>=l&&_<=c)}return i}function V(t,e,r,n){var i=[];if(n>1)for(var o=t[2]-t[0],a=t[3]-t[1],s=0;s=r[2])){var i=F(r),o=Math.floor((n[0]-r[0])/i)*i;t[0]-=o,t[2]-=o}return t}function Y(t,e){if(e.canWrapX()){var r=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[r[0],t[1],r[2],t[3]]];q(t,e);var n=F(r);if(F(t)>n)return[[r[0],t[1],r[2],t[3]]];if(t[0]r[2])return[[t[0],t[1],r[2],t[3]],[r[0],t[1],t[2]-n,t[3]]]}return[t]}},function(t,e,r){"use strict";var n,i=r(37),o=r(17),a=r(3),s=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),l=6378137,u=Math.PI*l,c=[-u,-u,u,u],h=[-180,-85,180,85],f=l*Math.log(Math.tan(Math.PI/2)),p=function(t){function e(e){return t.call(this,{code:e,units:o.b.METERS,extent:c,global:!0,worldExtent:h,getPointResolution:function(t,e){return t/Object(a.c)(e[1]/l)}})||this}return s(e,t),e}(i.a),d=[new p("EPSG:3857"),new p("EPSG:102100"),new p("EPSG:102113"),new p("EPSG:900913"),new p("http://www.opengis.net/def/crs/EPSG/0/3857"),new p("http://www.opengis.net/gml/srs/epsg.xml#3857")];function g(t,e,r){var n=t.length,i=r>1?r:2,o=e;void 0===o&&(o=i>2?t.slice():new Array(n));for(var a=0;af?s=f:s<-f&&(s=-f),o[a+1]=s}return o}function y(t,e,r){var n=t.length,i=r>1?r:2,o=e;void 0===o&&(o=i>2?t.slice():new Array(n));for(var a=0;a=u?e[s+c]:l[c];return a}}function F(t,e,r,n){var i=M(t),o=M(e);Object(E.a)(i,o,j(r)),Object(E.a)(o,i,j(n))}function D(t,e){return T(),V(t,"EPSG:4326",void 0!==e?e:"EPSG:3857")}function G(t,e){var r=V(t,void 0!==e?e:"EPSG:3857","EPSG:4326"),n=r[0];return(n<-180||n>180)&&(r[0]=Object(a.g)(n+180,360)-180),r}function U(t,e){if(t===e)return!0;var r=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||B(t,e)===P)&&r}function B(t,e){var r=t.getCode(),n=e.getCode(),i=Object(E.c)(r,n);return i||(i=R),i}function z(t,e){return B(M(t),M(e))}function V(t,e,r){return z(e,r)(t,void 0,t.length)}function q(t,e,r,n){var i=z(e,r);return Object(S.a)(t,i,void 0,n)}var Y,W,X,H=null;function Z(t){H=M(t)}function K(){H=null}function J(){return H}function Q(){Z("EPSG:4326")}function $(t,e){return H?V(t,e,H):t}function tt(t,e){return H?V(t,H,e):(C&&!Object(O.g)(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(C=!1,console.warn("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t)}function et(t,e){return H?q(t,e,H):t}function rt(t,e){return H?q(t,H,e):t}function nt(t,e){if(!H)return t;var r=M(e).getUnits(),n=H.getUnits();return r&&n?t*o.a[r]/o.a[n]:t}function it(t,e){if(!H)return t;var r=M(e).getUnits(),n=H.getUnits();return r&&n?t*o.a[n]/o.a[r]:t}function ot(t,e,r){return function(n){var i,o;if(t.canWrapX()){var s=t.getExtent(),l=Object(S.G)(s);n=n.slice(0),(o=Object(O.i)(n,t,l))&&(n[0]=n[0]-o*l),n[0]=Object(a.b)(n[0],s[0],s[2]),n[1]=Object(a.b)(n[1],s[1],s[3]),i=r(n)}else i=r(n);return o&&e.canWrapX()&&(i[0]+=o*Object(S.G)(e.getExtent())),i}}N(d),N(x),Y=d,W=g,X=y,x.forEach((function(t){Y.forEach((function(e){Object(E.a)(t,e,W),Object(E.a)(e,t,X)}))}))},function(t,e,r){"use strict";function n(){return function(){throw new Error("Unimplemented abstract method.")}()}r.d(e,"b",(function(){return n})),r.d(e,"c",(function(){return o})),r.d(e,"a",(function(){return a}));var i=0;function o(t){return t.ol_uid||(t.ol_uid=String(++i))}var a="6.15.1"},function(t,e,r){"use strict";function n(t,e,r){return Math.min(Math.max(t,e),r)}r.d(e,"b",(function(){return n})),r.d(e,"c",(function(){return i})),r.d(e,"f",(function(){return o})),r.d(e,"k",(function(){return a})),r.d(e,"j",(function(){return s})),r.d(e,"i",(function(){return l})),r.d(e,"l",(function(){return u})),r.d(e,"n",(function(){return c})),r.d(e,"g",(function(){return h})),r.d(e,"e",(function(){return f})),r.d(e,"m",(function(){return p})),r.d(e,"h",(function(){return d})),r.d(e,"d",(function(){return g})),r.d(e,"a",(function(){return y}));var i="cosh"in Math?Math.cosh:function(t){var e=Math.exp(t);return(e+1/e)/2},o="log2"in Math?Math.log2:function(t){return Math.log(t)*Math.LOG2E};function a(t,e,r,n,i,o){var a=i-r,l=o-n;if(0!==a||0!==l){var u=((t-r)*a+(e-n)*l)/(a*a+l*l);u>1?(r=i,n=o):u>0&&(r+=a*u,n+=l*u)}return s(t,e,r,n)}function s(t,e,r,n){var i=r-t,o=n-e;return i*i+o*o}function l(t){for(var e=t.length,r=0;ri&&(i=a,n=o)}if(0===i)return null;var s=t[n];t[n]=t[r],t[r]=s;for(var l=r+1;l=0;f--){h[f]=t[f][e]/t[f][f];for(var p=f-1;p>=0;p--)t[p][e]-=t[p][f]*h[f]}return h}function u(t){return 180*t/Math.PI}function c(t){return t*Math.PI/180}function h(t,e){var r=t%e;return r*e<0?r+e:r}function f(t,e,r){return t+r*(e-t)}function p(t,e){var r=Math.pow(10,e);return Math.round(t*r)/r}function d(t,e){return Math.round(p(t,e))}function g(t,e){return Math.floor(p(t,e))}function y(t,e){return Math.ceil(p(t,e))}},function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i})),r.d(e,"c",(function(){return o})),r.d(e,"d",(function(){return a}));var n="function"==typeof Object.assign?Object.assign:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var r=Object(t),n=1,i=arguments.length;n>1)],e))<0?s=n+1:(l=n,u=!o);return u?s:~s}function i(t,e){return t>e?1:t=0}function a(t,e,r){var n=t.length;if(t[0]<=e)return 0;if(e<=t[n-1])return n-1;var i=void 0;if(r>0){for(i=1;i0?i-1:i:t[i-1]-e>>0,i=0;i0||r&&0===o)}))}r.d(e,"a",(function(){return n})),r.d(e,"i",(function(){return i})),r.d(e,"f",(function(){return o})),r.d(e,"h",(function(){return a})),r.d(e,"j",(function(){return s})),r.d(e,"c",(function(){return l})),r.d(e,"d",(function(){return u})),r.d(e,"b",(function(){return c})),r.d(e,"k",(function(){return h})),r.d(e,"e",(function(){return f})),r.d(e,"g",(function(){return p}))},function(t,e,r){"use strict";e.a={CHANGE:"change",ERROR:"error",BLUR:"blur",CLEAR:"clear",CONTEXTMENU:"contextmenu",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",FOCUS:"focus",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",RESIZE:"resize",TOUCHMOVE:"touchmove",WHEEL:"wheel"}},function(t,e,r){"use strict";r.d(e,"d",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"g",(function(){return u})),r.d(e,"k",(function(){return h})),r.d(e,"a",(function(){return f})),r.d(e,"i",(function(){return p})),r.d(e,"j",(function(){return d})),r.d(e,"f",(function(){return g})),r.d(e,"m",(function(){return y})),r.d(e,"b",(function(){return m})),r.d(e,"c",(function(){return _})),r.d(e,"e",(function(){return v})),r.d(e,"l",(function(){return b}));var n,i=r(24),o=r(10),a=new Array(6);function s(){return[1,0,0,1,0,0]}function l(t){return c(t,1,0,0,1,0,0)}function u(t,e){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],l=e[0],u=e[1],c=e[2],h=e[3],f=e[4],p=e[5];return t[0]=r*l+i*u,t[1]=n*l+o*u,t[2]=r*c+i*h,t[3]=n*c+o*h,t[4]=r*f+i*p+a,t[5]=n*f+o*p+s,t}function c(t,e,r,n,i,o,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=a,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function f(t,e){var r=e[0],n=e[1];return e[0]=t[0]*r+t[2]*n+t[4],e[1]=t[1]*r+t[3]*n+t[5],e}function p(t,e){var r=Math.cos(e),n=Math.sin(e);return u(t,c(a,r,n,-n,r,0,0))}function d(t,e,r){return u(t,c(a,e,0,0,r,0,0))}function g(t,e,r){return c(t,e,0,0,r,0,0)}function y(t,e,r){return u(t,c(a,1,0,0,1,e,r))}function m(t,e,r,n,i,o,a,s){var l=Math.sin(o),u=Math.cos(o);return t[0]=n*u,t[1]=i*l,t[2]=-n*l,t[3]=i*u,t[4]=a*n*u-s*n*l+e,t[5]=a*i*l+s*i*u+r,t}function _(t,e,r,n,i,o,a){return b(m([1,0,0,1,0,0],t,e,r,n,i,o,a))}function v(t,e){var r,n=(r=e)[0]*r[3]-r[1]*r[2];Object(o.a)(0!==n,32);var i=e[0],a=e[1],s=e[2],l=e[3],u=e[4],c=e[5];return t[0]=l/n,t[1]=-a/n,t[2]=-s/n,t[3]=i/n,t[4]=(s*c-l*u)/n,t[5]=-(i*c-a*u)/n,t}function b(t){var e="matrix("+t.join(", ")+")";if(i.h)return e;var r=n||(n=document.createElement("div"));return r.style.transform=e,r.style.transform}},function(t,e,r){"use strict";r.d(e,"a",(function(){return i})),r.d(e,"b",(function(){return o})),r.d(e,"c",(function(){return a}));var n=r(4);function i(t,e,r,n,i){if(n&&n!==t&&(r=r.bind(n)),i){var o=r;r=function(){t.removeEventListener(e,r),o.apply(this,arguments)}}var a={target:t,type:e,listener:r};return t.addEventListener(e,r),a}function o(t,e,r,n){return i(t,e,r,n,!0)}function a(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),Object(n.b)(t))}},function(t,e,r){"use strict";e.a={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4}},function(t,e,r){"use strict";r.d(e,"a",(function(){return i}));var n=r(65);function i(t,e){if(!t)throw new n.a(e)}},function(t,e,r){"use strict";r.d(e,"e",(function(){return n})),r.d(e,"f",(function(){return o})),r.d(e,"d",(function(){return a})),r.d(e,"g",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"j",(function(){return u})),r.d(e,"a",(function(){return c})),r.d(e,"c",(function(){return h})),r.d(e,"b",(function(){return f})),r.d(e,"i",(function(){return p}));const n={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},i={};for(const t in n)n.hasOwnProperty(t)&&(i[n[t]]=parseInt(t,10));const o={256:"SHORT",257:"SHORT",258:"SHORT",259:"SHORT",262:"SHORT",273:"LONG",274:"SHORT",277:"SHORT",278:"LONG",279:"LONG",282:"RATIONAL",283:"RATIONAL",284:"SHORT",286:"SHORT",287:"RATIONAL",296:"SHORT",297:"SHORT",305:"ASCII",306:"ASCII",338:"SHORT",339:"SHORT",513:"LONG",514:"LONG",1024:"SHORT",1025:"SHORT",2048:"SHORT",2049:"ASCII",3072:"SHORT",3073:"ASCII",33550:"DOUBLE",33922:"DOUBLE",34665:"LONG",34735:"SHORT",34737:"ASCII",42113:"ASCII"},a=[i.BitsPerSample,i.ExtraSamples,i.SampleFormat,i.StripByteCounts,i.StripOffsets,i.StripRowCounts,i.TileByteCounts,i.TileOffsets,i.SubIFDs],s={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},l={};for(const t in s)s.hasOwnProperty(t)&&(l[s[t]]=parseInt(t,10));const u={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},c={Unspecified:0,Assocalpha:1,Unassalpha:2},h={Version:0,AddCompression:1},f={None:0,Deflate:1},p={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},d={};for(const t in p)p.hasOwnProperty(t)&&(d[p[t]]=parseInt(t,10))},function(t,e,r){"use strict";r.d(e,"a",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return l})),r.d(e,"d",(function(){return u})),r.d(e,"e",(function(){return c})),r.d(e,"h",(function(){return h})),r.d(e,"g",(function(){return f})),r.d(e,"j",(function(){return p})),r.d(e,"k",(function(){return d})),r.d(e,"l",(function(){return g})),r.d(e,"f",(function(){return y})),r.d(e,"m",(function(){return m})),r.d(e,"n",(function(){return _})),r.d(e,"o",(function(){return v})),r.d(e,"p",(function(){return b})),r.d(e,"i",(function(){return x}));var n=r(0),i=r(3),o=r(46);function a(t,e){return t[0]+=+e[0],t[1]+=+e[1],t}function s(t,e){var r=e.getRadius(),n=e.getCenter(),i=n[0],o=n[1],a=t[0]-i,s=t[1]-o;0===a&&0===s&&(a=1);var l=Math.sqrt(a*a+s*s);return[i+r*a/l,o+r*s/l]}function l(t,e){var r,n,i=t[0],o=t[1],a=e[0],s=e[1],l=a[0],u=a[1],c=s[0],h=s[1],f=c-l,p=h-u,d=0===f&&0===p?0:(f*(i-l)+p*(o-u))/(f*f+p*p||0);return d<=0?(r=l,n=u):d>=1?(r=c,n=h):(r=l+d*f,n=u+d*p),[r,n]}function u(t){return function(e){return v(e,t)}}function c(t,e,r){var n=Object(i.g)(e+180,360)-180,a=Math.abs(3600*n),s=r||0,l=Math.pow(10,s),u=Math.floor(a/3600),c=Math.floor((a-3600*u)/60),h=a-3600*u-60*c;return(h=Math.ceil(h*l)/l)>=60&&(h=0,c+=1),c>=60&&(c=0,u+=1),u+"° "+Object(o.b)(c,2)+"′ "+Object(o.b)(h,2,s)+"″"+(0==n?"":" "+t.charAt(n<0?1:0))}function h(t,e,r){return t?e.replace("{x}",t[0].toFixed(r)).replace("{y}",t[1].toFixed(r)):""}function f(t,e){for(var r=!0,n=t.length-1;n>=0;--n)if(t[n]!=e[n]){r=!1;break}return r}function p(t,e){var r=Math.cos(e),n=Math.sin(e),i=t[0]*r-t[1]*n,o=t[1]*r+t[0]*n;return t[0]=i,t[1]=o,t}function d(t,e){return t[0]*=e,t[1]*=e,t}function g(t,e){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n}function y(t,e){return Math.sqrt(g(t,e))}function m(t,e){return g(t,l(t,e))}function _(t,e){return t?c("NS",t[1],e)+" "+c("EW",t[0],e):""}function v(t,e){return h(t,"{x}, {y}",e)}function b(t,e){if(e.canWrapX()){var r=Object(n.G)(e.getExtent()),i=x(t,e,r);i&&(t[0]-=i*r)}return t}function x(t,e,r){var i=e.getExtent(),o=0;if(e.canWrapX()&&(t[0]i[2])){var a=r||Object(n.G)(i);o=Math.floor((t[0]-i[0])/a)}return o}},function(t,e,r){"use strict";e.a={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4}},function(t,e,r){"use strict";r.d(e,"a",(function(){return i})),r.d(e,"d",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"f",(function(){return u})),r.d(e,"e",(function(){return c})),r.d(e,"g",(function(){return h}));var n=r(24);function i(t,e,r,i){var o;return o=r&&r.length?r.shift():n.h?new OffscreenCanvas(t||300,e||300):document.createElement("canvas"),t&&(o.width=t),e&&(o.height=e),o.getContext("2d",i)}function o(t){var e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function a(t){var e=t.offsetWidth,r=getComputedStyle(t);return e+=parseInt(r.marginLeft,10)+parseInt(r.marginRight,10)}function s(t){var e=t.offsetHeight,r=getComputedStyle(t);return e+=parseInt(r.marginTop,10)+parseInt(r.marginBottom,10)}function l(t,e){var r=e.parentNode;r&&r.replaceChild(t,e)}function u(t){return t&&t.parentNode?t.parentNode.removeChild(t):null}function c(t){for(;t.lastChild;)t.removeChild(t.lastChild)}function h(t,e){for(var r=t.childNodes,n=0;;++n){var i=r[n],o=e[n];if(!i&&!o)break;i!==o&&(i?o?t.insertBefore(o,i):(t.removeChild(i),--n):t.appendChild(o))}}},function(t,e,r){"use strict";function n(t,e,r){return void 0===r&&(r=[0,0]),r[0]=t[0]+2*e,r[1]=t[1]+2*e,r}function i(t){return t[0]>0&&t[1]>0}function o(t,e,r){return void 0===r&&(r=[0,0]),r[0]=t[0]*e+.5|0,r[1]=t[1]*e+.5|0,r}function a(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i})),r.d(e,"c",(function(){return o})),r.d(e,"d",(function(){return a}))},function(t,e,r){"use strict";r.d(e,"b",(function(){return i})),r.d(e,"a",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"d",(function(){return s})),r.d(e,"e",(function(){return l}));var n=r(5);function i(){return!0}function o(){return!1}function a(){}function s(t){var e,r,i,o=!1;return function(){var a=Array.prototype.slice.call(arguments);return o&&this===i&&Object(n.b)(a,r)||(o=!0,i=this,r=a,e=t.apply(this,arguments)),e}}function l(t){return function(){var e;try{e=t()}catch(t){return Promise.reject(t)}return e instanceof Promise?e:Promise.resolve(e)}()}},function(t,e,r){"use strict";r.d(e,"c",(function(){return o})),r.d(e,"a",(function(){return a}));var n={RADIANS:"radians",DEGREES:"degrees",FEET:"ft",METERS:"m",PIXELS:"pixels",TILE_PIXELS:"tile-pixels",USFEET:"us-ft"},i={9001:n.METERS,9002:n.FEET,9003:n.USFEET,9101:n.RADIANS,9102:n.DEGREES};function o(t){return i[t]}var a={};a[n.RADIANS]=6370997/(2*Math.PI),a[n.DEGREES]=2*Math.PI*6370997/360,a[n.FEET]=.3048,a[n.METERS]=1,a[n.USFEET]=1200/3937,e.b=n},function(t,e,r){"use strict";r.d(e,"b",(function(){return i}));var n=function(){function t(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}return t.prototype.preventDefault=function(){this.defaultPrevented=!0},t.prototype.stopPropagation=function(){this.propagationStopped=!0},t}();function i(t){t.stopPropagation()}e.a=n},function(t,e,r){"use strict";function n(t,e,r,n){return void 0!==n?(n[0]=t,n[1]=e,n[2]=r,n):[t,e,r]}function i(t,e,r){return t+"/"+e+"/"+r}function o(t){return i(t[0],t[1],t[2])}function a(t){var e=t.substring(t.lastIndexOf("/")+1,t.length).split(",").map(Number);return i(e[0],e[1],e[2])}function s(t){return t.split("/").map(Number)}function l(t){return(t[1]<r||r>e.getMaxZoom())return!1;var o=e.getFullTileRange(r);return!o||o.containsXY(n,i)}r.d(e,"a",(function(){return n})),r.d(e,"e",(function(){return i})),r.d(e,"d",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"f",(function(){return l})),r.d(e,"g",(function(){return u}))},function(t,e,r){"use strict";function n(t,e){for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r])}function i(t,e){if(t.lengthsetTimeout(e,t))}function u(t,e){const r=Array.isArray(t)?t:Array.from(t),n=Array.isArray(e)?e:Array.from(e);return r.map((t,e)=>[t,n[e]])}r.d(e,"c",(function(){return n})),r.d(e,"d",(function(){return i})),r.d(e,"e",(function(){return o})),r.d(e,"f",(function(){return a})),r.d(e,"g",(function(){return s})),r.d(e,"h",(function(){return l})),r.d(e,"i",(function(){return u})),r.d(e,"a",(function(){return c})),r.d(e,"b",(function(){return f}));class c extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,c),this.name="AbortError"}}class h extends Error{constructor(t,e){super(e),this.errors=t,this.message=e,this.name="AggregateError"}}const f=h},function(t,e,r){"use strict";r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return h})),r.d(e,"a",(function(){return f})),r.d(e,"e",(function(){return d})),r.d(e,"d",(function(){return g}));var n=r(10),i=r(3),o=/^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i,a=/^([a-z]*)$|^hsla?\(.*\)$/i;function s(t){return"string"==typeof t?t:d(t)}function l(t){var e=document.createElement("div");if(e.style.color=t,""!==e.style.color){document.body.appendChild(e);var r=getComputedStyle(e).color;return document.body.removeChild(e),r}return""}var u,c,h=(u={},c=0,function(t){var e;if(u.hasOwnProperty(t))e=u[t];else{if(c>=1024){var r=0;for(var i in u)0==(3&r++)&&(delete u[i],--c)}e=function(t){var e,r,i,s,u;if(a.exec(t)&&(t=l(t)),o.exec(t)){var c=t.length-1,h=void 0;h=c<=4?1:2;var f=4===c||8===c;e=parseInt(t.substr(1+0*h,h),16),r=parseInt(t.substr(1+1*h,h),16),i=parseInt(t.substr(1+2*h,h),16),s=f?parseInt(t.substr(1+3*h,h),16):255,1==h&&(e=(e<<4)+e,r=(r<<4)+r,i=(i<<4)+i,f&&(s=(s<<4)+s)),u=[e,r,i,s/255]}else 0==t.indexOf("rgba(")?p(u=t.slice(5,-1).split(",").map(Number)):0==t.indexOf("rgb(")?((u=t.slice(4,-1).split(",").map(Number)).push(1),p(u)):Object(n.a)(!1,14);return u}(t),u[t]=e,++c}return e});function f(t){return Array.isArray(t)?t:h(t)}function p(t){return t[0]=Object(i.b)(t[0]+.5|0,0,255),t[1]=Object(i.b)(t[1]+.5|0,0,255),t[2]=Object(i.b)(t[2]+.5|0,0,255),t[3]=Object(i.b)(t[3],0,1),t}function d(t){var e=t[0];e!=(0|e)&&(e=e+.5|0);var r=t[1];r!=(0|r)&&(r=r+.5|0);var n=t[2];return n!=(0|n)&&(n=n+.5|0),"rgba("+e+","+r+","+n+","+(void 0===t[3]?1:Math.round(100*t[3])/100)+")"}function g(t){return a.test(t)&&(t=l(t)),o.test(t)||0===t.indexOf("rgba(")||0===t.indexOf("rgb(")}},function(t,e,r){"use strict";e.a={ANIMATING:0,INTERACTING:1}},function(t,e,r){"use strict";e.a={OPACITY:"opacity",VISIBLE:"visible",EXTENT:"extent",Z_INDEX:"zIndex",MAX_RESOLUTION:"maxResolution",MIN_RESOLUTION:"minResolution",MAX_ZOOM:"maxZoom",MIN_ZOOM:"minZoom",SOURCE:"source",MAP:"map"}},function(t,e,r){"use strict";r.d(e,"b",(function(){return i})),r.d(e,"f",(function(){return o})),r.d(e,"g",(function(){return a})),r.d(e,"d",(function(){return s})),r.d(e,"a",(function(){return l})),r.d(e,"h",(function(){return u})),r.d(e,"c",(function(){return c})),r.d(e,"e",(function(){return h}));var n="undefined"!=typeof navigator&&void 0!==navigator.userAgent?navigator.userAgent.toLowerCase():"",i=-1!==n.indexOf("firefox"),o=-1!==n.indexOf("safari")&&-1==n.indexOf("chrom")&&!!(n.indexOf("version/15.4")>=0||n.match(/cpu (os|iphone os) 15_4 like mac os x/)),a=-1!==n.indexOf("webkit")&&-1==n.indexOf("edge"),s=-1!==n.indexOf("macintosh"),l="undefined"!=typeof devicePixelRatio?devicePixelRatio:1,u="undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&self instanceof WorkerGlobalScope,c="undefined"!=typeof Image&&Image.prototype.decode,h=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("_",null,e),window.removeEventListener("_",null,e)}catch(t){}return t}()},function(t,e,r){"use strict";function n(t){return Math.pow(t,3)}function i(t){return 1-n(1-t)}function o(t){return 3*t*t-2*t*t*t}function a(t){return t}function s(t){return t<.5?o(2*t):1-o(2*(t-.5))}r.r(e),r.d(e,"easeIn",(function(){return n})),r.d(e,"easeOut",(function(){return i})),r.d(e,"inAndOut",(function(){return o})),r.d(e,"linear",(function(){return a})),r.d(e,"upAndDown",(function(){return s}))},function(t,e,r){"use strict";var n,i=r(18),o=r(45),a=r(34),s=r(4),l=r(2),u=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),c=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.key=r,i.oldValue=n,i}return u(e,t),e}(i.a),h=function(t){function e(e){var r=t.call(this)||this;return r.on,r.once,r.un,Object(l.c)(r),r.values_=null,void 0!==e&&r.setProperties(e),r}return u(e,t),e.prototype.get=function(t){var e;return this.values_&&this.values_.hasOwnProperty(t)&&(e=this.values_[t]),e},e.prototype.getKeys=function(){return this.values_&&Object.keys(this.values_)||[]},e.prototype.getProperties=function(){return this.values_&&Object(s.a)({},this.values_)||{}},e.prototype.hasProperties=function(){return!!this.values_},e.prototype.notify=function(t,e){var r;r="change:".concat(t),this.hasListener(r)&&this.dispatchEvent(new c(r,t,e)),r=o.a.PROPERTYCHANGE,this.hasListener(r)&&this.dispatchEvent(new c(r,t,e))},e.prototype.addChangeListener=function(t,e){this.addEventListener("change:".concat(t),e)},e.prototype.removeChangeListener=function(t,e){this.removeEventListener("change:".concat(t),e)},e.prototype.set=function(t,e,r){var n=this.values_||(this.values_={});if(r)n[t]=e;else{var i=n[t];n[t]=e,i!==e&&this.notify(t,i)}},e.prototype.setProperties=function(t,e){for(var r in t)this.set(r,t[r],e)},e.prototype.applyProperties=function(t){t.values_&&Object(s.a)(this.values_||(this.values_={}),t.values_)},e.prototype.unset=function(t,e){if(this.values_&&t in this.values_){var r=this.values_[t];delete this.values_[t],Object(s.d)(this.values_)&&(this.values_=null),e||this.notify(t,r)}},e}(a.a);e.a=h},function(t,e,r){"use strict";r.d(e,"c",(function(){return u})),r.d(e,"d",(function(){return c})),r.d(e,"a",(function(){return h})),r.d(e,"b",(function(){return p}));var n=r(31),i=r(17),o=r(41),a=r(1),s=r(0),l=r(15);function u(t){var e=t.getDefaultTileGrid();return e||(e=function(t,e,r,i){return function(t,e,r,i){var o=void 0!==i?i:"top-left",a=f(t,e,r);return new n.a({extent:t,origin:Object(s.y)(t,o),resolutions:a,tileSize:r})}(p(t),e,r,i)}(t),t.setDefaultTileGrid(e)),e}function c(t,e,r){var n=e[0],i=t.getTileCoordCenter(e),o=p(r);if(Object(s.g)(o,i))return e;var a=Object(s.G)(o),l=Math.ceil((o[0]-i[0])/a);return i[0]+=a*l,t.getTileCoordForCoordAndZ(i,n)}function h(t){var e=t||{},r=e.extent||Object(a.o)("EPSG:3857").getExtent(),i={extent:r,minZoom:e.minZoom,tileSize:e.tileSize,resolutions:f(r,e.maxZoom,e.tileSize,e.maxResolution)};return new n.a(i)}function f(t,e,r,n){for(var i=void 0!==e?e:o.a,a=Object(s.A)(t),u=Object(s.G)(t),c=Object(l.d)(void 0!==r?r:o.b),h=n>0?n:Math.max(u/c[0],a/c[1]),f=i+1,p=new Array(f),d=0;dr&&(t=r),t},Ot=function(t){return t.length>=3?Array.prototype.slice.call(t):t[0]},E=function(t){var e,r;for(t._clipped=!1,t._unclipped=t.slice(0),e=r=0;r<3;e=++r)e<3?((t[e]<0||t[e]>255)&&(t._clipped=!0),t[e]<0&&(t[e]=0),t[e]>255&&(t[e]=255)):3===e&&(t[e]<0&&(t[e]=0),t[e]>1&&(t[e]=1));return t._clipped||delete t._unclipped,t},a=Math.PI,vt=Math.round,O=Math.cos,R=Math.floor,nt=Math.pow,K=Math.log,xt=Math.sin,wt=Math.sqrt,y=Math.atan2,$=Math.max,g=Math.abs,u=2*a,s=a/3,i=a/180,l=180/a,(w=function(){return arguments[0]instanceof n?arguments[0]:function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,arguments,(function(){}))}).default=w,d=[],null!==t&&null!=t.exports&&(t.exports=w),void 0===(r=function(){return w}.apply(e,[]))||(t.exports=r),w.version="1.4.0",p={},h=[],f=!1,n=function(){function t(){var t,e,r,n,i,o,a,s,l;for(o=this,e=[],s=0,n=arguments.length;s1&&(a=e[e.length-1]),null!=p[a])o._rgb=E(p[a](Ot(e.slice(0,-1))));else{for(f||(h=h.sort((function(t,e){return e.p-t.p})),f=!0),l=0,i=h.length;l3?e[3]:1]},Tt=function(t){return 255*(t<=.00304?12.92*t:1.055*nt(t,1/2.4)-.055)},Y=function(t){return t>o.t1?t*t*t:o.t2*(t-o.t0)},o={Kn:18,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452},ht=function(){var t,e,r,n,i,o,a;return r=(n=Ot(arguments))[0],e=n[1],t=n[2],o=(i=yt(r,e,t))[0],[116*(a=i[1])-16,500*(o-a),200*(a-i[2])]},mt=function(t){return(t/=255)<=.04045?t/12.92:nt((t+.055)/1.055,2.4)},Ct=function(t){return t>o.t3?nt(t,1/3):t/o.t2+o.t0},yt=function(){var t,e,r,n;return r=(n=Ot(arguments))[0],e=n[1],t=n[2],r=mt(r),e=mt(e),t=mt(t),[Ct((.4124564*r+.3575761*e+.1804375*t)/o.Xn),Ct((.2126729*r+.7151522*e+.072175*t)/o.Yn),Ct((.0193339*r+.119192*e+.9503041*t)/o.Zn)]},w.lab=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["lab"]),(function(){}))},p.lab=q,n.prototype.lab=function(){return ht(this._rgb)},m=function(t){var e,r,n,i,o,a,s,l,u,c,h;return 2===(t=function(){var e,r,n;for(n=[],r=0,e=t.length;r=0&&e[3]<=1?"rgb":void 0}}),p.lrgb=p.rgb,U=function(t,e,r,i){var o,a;return o=t._rgb,a=e._rgb,new n(wt(nt(o[0],2)*(1-r)+nt(a[0],2)*r),wt(nt(o[1],2)*(1-r)+nt(a[1],2)*r),wt(nt(o[2],2)*(1-r)+nt(a[2],2)*r),i)},c=function(t){var e,r,i,o,a;for(e=1/t.length,a=[0,0,0,0],i=0,r=t.length;i1&&(a[3]=1),new n(E(a))},d.push(["lrgb",U]),w.average=function(t,e){var r,n,i,o,s,l,u,h,f,p,d,g,m;if(null==e&&(e="rgb"),f=t.length,u=(t=t.map((function(t){return w(t)}))).splice(0,1)[0],"lrgb"===e)return c(t);for(h in o=[],s=0,l=0,g=u.get(e))g[h]=g[h]||0,o.push(isNaN(g[h])?0:1),"h"!==e.charAt(h)||isNaN(g[h])||(r=g[h]/180*a,s+=O(r),l+=xt(r));for(n=u.alpha(),d=0,p=t.length;d=360;)r-=360;g[h]=r}else g[h]=g[h]/o[h];return w(g,e).alpha(n/f)},M=function(t){var e,r;if(t.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))return 4!==t.length&&7!==t.length||(t=t.substr(1)),3===t.length&&(t=(t=t.split(""))[0]+t[0]+t[1]+t[1]+t[2]+t[2]),[(r=parseInt(t,16))>>16,r>>8&255,255&r,1];if(t.match(/^#?([A-Fa-f0-9]{8})$/))return 9===t.length&&(t=t.substr(1)),[(r=parseInt(t,16))>>24&255,r>>16&255,r>>8&255,vt((255&r)/255*100)/100];if(null!=p.css&&(e=p.css(t)))return e;throw"unknown color: "+t},st=function(t,e){var r,n,i,o,a,s;return null==e&&(e="auto"),a=t[0],i=t[1],n=t[2],r=t[3],"auto"===e&&(e=r<1?"rgba":"rgb"),a=Math.round(a),i=Math.round(i),n=Math.round(n),s=(s="000000"+(a<<16|i<<8|n).toString(16)).substr(s.length-6),o=(o="0"+vt(255*r).toString(16)).substr(o.length-2),"#"+function(){switch(e.toLowerCase()){case"rgba":return s+o;case"argb":return o+s;default:return s}}()},p.hex=function(t){return M(t)},w.hex=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hex"]),(function(){}))},n.prototype.hex=function(t){return null==t&&(t="auto"),st(this._rgb,t)},h.push({p:4,test:function(t){if(1===arguments.length&&"string"===St(t))return"hex"}}),k=function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p;if(i=(t=Ot(arguments))[0],c=t[1],a=t[2],0===c)l=n=e=255*a;else{for(r=[0,0,0],h=2*a-(f=a<.5?a*(1+c):a+c-a*c),(p=[0,0,0])[0]=(i/=360)+1/3,p[1]=i,p[2]=i-1/3,o=s=0;s<=2;o=++s)p[o]<0&&(p[o]+=1),p[o]>1&&(p[o]-=1),6*p[o]<1?r[o]=h+6*(f-h)*p[o]:2*p[o]<1?r[o]=f:3*p[o]<2?r[o]=h+(f-h)*(2/3-p[o])*6:r[o]=h;l=(u=[vt(255*r[0]),vt(255*r[1]),vt(255*r[2])])[0],n=u[1],e=u[2]}return t.length>3?[l,n,e,t[3]]:[l,n,e]},ut=function(t,e,r){var n,i,o,a,s;return void 0!==t&&t.length>=3&&(t=(a=t)[0],e=a[1],r=a[2]),t/=255,e/=255,r/=255,o=Math.min(t,e,r),i=(($=Math.max(t,e,r))+o)/2,$===o?(s=0,n=Number.NaN):s=i<.5?($-o)/($+o):($-o)/(2-$-o),t===$?n=(e-r)/($-o):e===$?n=2+(r-t)/($-o):r===$&&(n=4+(t-e)/($-o)),(n*=60)<0&&(n+=360),[n,s,i]},w.hsl=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hsl"]),(function(){}))},p.hsl=k,n.prototype.hsl=function(){return ut(this._rgb)},j=function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m;if(i=(t=Ot(arguments))[0],g=t[1],m=t[2],m*=255,0===g)l=n=e=m;else switch(360===i&&(i=0),i>360&&(i-=360),i<0&&(i+=360),a=m*(1-g),s=m*(1-g*(r=(i/=60)-(o=R(i)))),y=m*(1-g*(1-r)),o){case 0:l=(u=[m,y,a])[0],n=u[1],e=u[2];break;case 1:l=(c=[s,m,a])[0],n=c[1],e=c[2];break;case 2:l=(h=[a,m,y])[0],n=h[1],e=h[2];break;case 3:l=(f=[a,s,m])[0],n=f[1],e=f[2];break;case 4:l=(p=[y,a,m])[0],n=p[1],e=p[2];break;case 5:l=(d=[m,a,s])[0],n=d[1],e=d[2]}return[l,n,e,t.length>3?t[3]:1]},ct=function(){var t,e,r,n,i,o,a,s,l;return o=(a=Ot(arguments))[0],r=a[1],t=a[2],i=Math.min(o,r,t),e=($=Math.max(o,r,t))-i,l=$/255,0===$?(n=Number.NaN,s=0):(s=e/$,o===$&&(n=(r-t)/e),r===$&&(n=2+(t-o)/e),t===$&&(n=4+(o-r)/e),(n*=60)<0&&(n+=360)),[n,s,l]},w.hsv=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hsv"]),(function(){}))},p.hsv=j,n.prototype.hsv=function(){return ct(this._rgb)},et=function(t){return"number"===St(t)&&t>=0&&t<=16777215?[t>>16,t>>8&255,255&t,1]:(console.warn("unknown num color: "+t),[0,0,0,1])},dt=function(){var t;return((t=Ot(arguments))[0]<<16)+(t[1]<<8)+t[2]},w.num=function(t){return new n(t,"num")},n.prototype.num=function(t){return null==t&&(t="rgb"),dt(this._rgb,t)},p.num=et,h.push({p:1,test:function(t){if(1===arguments.length&&"number"===St(t)&&t>=0&&t<=16777215)return"num"}}),L=function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v;if(s=(r=Ot(arguments))[0],i=r[1],e=r[2],a=a/100*255,t=255*(i/=100),0===i)h=a=n=e;else switch(360===s&&(s=0),s>360&&(s-=360),s<0&&(s+=360),c=(u=e*(1-i))+t*(1-(o=(s/=60)-(l=R(s)))),_=u+t*o,v=u+t,l){case 0:h=(f=[v,_,u])[0],a=f[1],n=f[2];break;case 1:h=(p=[c,v,u])[0],a=p[1],n=p[2];break;case 2:h=(d=[u,v,_])[0],a=d[1],n=d[2];break;case 3:h=(g=[u,c,v])[0],a=g[1],n=g[2];break;case 4:h=(y=[_,u,v])[0],a=y[1],n=y[2];break;case 5:h=(m=[v,u,c])[0],a=m[1],n=m[2]}return[h,a,n,r.length>3?r[3]:1]},at=function(){var t,e,r,n,i,o,a,s,l;return s=(l=Ot(arguments))[0],i=l[1],e=l[2],a=Math.min(s,i,e),r=100*(n=($=Math.max(s,i,e))-a)/255,t=a/(255-n)*100,0===n?o=Number.NaN:(s===$&&(o=(i-e)/n),i===$&&(o=2+(e-s)/n),e===$&&(o=4+(s-i)/n),(o*=60)<0&&(o+=360)),[o,r,t]},w.hcg=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hcg"]),(function(){}))},p.hcg=L,n.prototype.hcg=function(){return at(this._rgb)},I=function(t){var e,r,n,i,o,a,s,l;if(t=t.toLowerCase(),null!=w.colors&&w.colors[t])return M(w.colors[t]);if(o=t.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){for(s=o.slice(1,4),i=a=0;a<=2;i=++a)s[i]=+s[i];s[3]=1}else if(o=t.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/))for(s=o.slice(1,5),i=l=0;l<=3;i=++l)s[i]=+s[i];else if(o=t.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){for(s=o.slice(1,4),i=e=0;e<=2;i=++e)s[i]=vt(2.55*s[i]);s[3]=1}else if(o=t.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){for(s=o.slice(1,5),i=r=0;r<=2;i=++r)s[i]=vt(2.55*s[i]);s[3]=+s[3]}else(o=t.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/))?((n=o.slice(1,4))[1]*=.01,n[2]*=.01,(s=k(n))[3]=1):(o=t.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/))&&((n=o.slice(1,4))[1]*=.01,n[2]*=.01,(s=k(n))[3]=+o[4]);return s},ot=function(t){var e;return"rgb"===(e=t[3]<1?"rgba":"rgb")?e+"("+t.slice(0,3).map(vt).join(",")+")":"rgba"===e?e+"("+t.slice(0,3).map(vt).join(",")+","+t[3]+")":void 0},_t=function(t){return vt(100*t)/100},N=function(t,e){var r;return r=e<1?"hsla":"hsl",t[0]=_t(t[0]||0),t[1]=_t(100*t[1])+"%",t[2]=_t(100*t[2])+"%","hsla"===r&&(t[3]=e),r+"("+t.join(",")+")"},p.css=function(t){return I(t)},w.css=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["css"]),(function(){}))},n.prototype.css=function(t){return null==t&&(t="rgb"),"rgb"===t.slice(0,3)?ot(this._rgb):"hsl"===t.slice(0,3)?N(this.hsl(),this.alpha()):void 0},p.named=function(t){return M(It[t])},h.push({p:5,test:function(t){if(1===arguments.length&&null!=It[t])return"named"}}),n.prototype.name=function(t){var e,r;for(r in arguments.length&&(It[t]&&(this._rgb=M(It[t])),this._rgb[3]=1),e=this.hex("rgb"),It)if(e===It[r])return r;return e},W=function(){var t,e,r,n;return r=(n=Ot(arguments))[0],t=n[1],e=n[2],[r,O(e*=i)*t,xt(e)*t]},X=function(){var t,e,r,n,i,o,a,s,l;return a=(r=Ot(arguments))[0],i=r[1],o=r[2],t=(s=W(a,i,o))[0],e=s[1],n=s[2],[(l=q(t,e,n))[0],l[1],n=l[2],r.length>3?r[3]:1]},V=function(){var t,e,r,n,i,o;return i=(o=Ot(arguments))[0],t=o[1],e=o[2],r=wt(t*t+e*e),n=(y(e,t)*l+360)%360,0===vt(1e4*r)&&(n=Number.NaN),[i,r,n]},ft=function(){var t,e,r,n,i,o,a;return i=(o=Ot(arguments))[0],r=o[1],e=o[2],n=(a=ht(i,r,e))[0],t=a[1],e=a[2],V(n,t,e)},w.lch=function(){var t;return t=Ot(arguments),new n(t,"lch")},w.hcl=function(){var t;return t=Ot(arguments),new n(t,"hcl")},p.lch=X,p.hcl=function(){var t,e,r,n;return e=(n=Ot(arguments))[0],t=n[1],r=n[2],X([r,t,e])},n.prototype.lch=function(){return ft(this._rgb)},n.prototype.hcl=function(){return ft(this._rgb).reverse()},it=function(t){var e,r,n,i,o,a;return null==t&&(t="rgb"),o=(a=Ot(arguments))[0],n=a[1],e=a[2],n/=255,e/=255,[(1-(o/=255)-(i=1-Math.max(o,Math.max(n,e))))*(r=i<1?1/(1-i):0),(1-n-i)*r,(1-e-i)*r,i]},S=function(){var t,e,r,n,i,o;return r=(e=Ot(arguments))[0],i=e[1],o=e[2],n=e[3],t=e.length>4?e[4]:1,1===n?[0,0,0,t]:[r>=1?0:255*(1-r)*(1-n),i>=1?0:255*(1-i)*(1-n),o>=1?0:255*(1-o)*(1-n),t]},p.cmyk=function(){return S(Ot(arguments))},w.cmyk=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["cmyk"]),(function(){}))},n.prototype.cmyk=function(){return it(this._rgb)},p.gl=function(){var t,e,r,n,i;for(n=function(){var t,r;for(e in r=[],t=Ot(arguments))i=t[e],r.push(i);return r}.apply(this,arguments),t=r=0;r<=2;t=++r)n[t]*=255;return n},w.gl=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["gl"]),(function(){}))},n.prototype.gl=function(){var t;return[(t=this._rgb)[0]/255,t[1]/255,t[2]/255,t[3]]},pt=function(t,e,r){var n;return t=(n=Ot(arguments))[0],e=n[1],r=n[2],.2126*(t=J(t))+.7152*(e=J(e))+.0722*(r=J(r))},J=function(t){return(t/=255)<=.03928?t/12.92:nt((t+.055)/1.055,2.4)},z=function(t,e,r,i){var o,a;return o=t._rgb,a=e._rgb,new n(o[0]+r*(a[0]-o[0]),o[1]+r*(a[1]-o[1]),o[2]+r*(a[2]-o[2]),i)},d.push(["rgb",z]),n.prototype.luminance=function(t,e){var r,n,i,o,a;return null==e&&(e="rgb"),arguments.length?(o=this._rgb,0===t?o=[0,0,0,this._rgb[3]]:1===t?o=[255,255,255,this[3]]:(r=pt(this._rgb),n=1e-7,i=20,a=function(r,o){var s,l;return s=(l=r.interpolate(o,.5,e)).luminance(),Math.abs(t-s)t?a(r,l):a(l,o)},o=r>t?a(w("black"),this).rgba():a(this,w("white")).rgba()),w(o).alpha(this.alpha())):pt(this._rgb)},Et=function(t){var e,r,n,i;return(i=t/100)<66?(n=255,r=-155.25485562709179-.44596950469579133*(r=i-2)+104.49216199393888*K(r),e=i<20?0:.8274096064007395*(e=i-10)-254.76935184120902+115.67994401066147*K(e)):(n=351.97690566805693+.114206453784165*(n=i-55)-40.25366309332127*K(n),r=325.4494125711974+.07943456536662342*(r=i-50)-28.0852963507957*K(r),e=255),[n,r,e]},gt=function(){var t,e,r,n,i,o,a,s;for(i=(o=Ot(arguments))[0],o[1],t=o[2],n=1e3,r=4e4,e=.4;r-n>e;)(a=Et(s=.5*(r+n)))[2]/a[0]>=t/i?r=s:n=s;return vt(s)},w.temperature=w.kelvin=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["temperature"]),(function(){}))},p.temperature=p.kelvin=p.K=Et,n.prototype.temperature=function(){return gt(this._rgb)},n.prototype.kelvin=n.prototype.temperature,w.contrast=function(t,e){var r,i,o,a;return"string"!==(o=St(t))&&"number"!==o||(t=new n(t)),"string"!==(a=St(e))&&"number"!==a||(e=new n(e)),(r=t.luminance())>(i=e.luminance())?(r+.05)/(i+.05):(i+.05)/(r+.05)},w.distance=function(t,e,r){var i,o,a,s,l,u,c;for(o in null==r&&(r="lab"),"string"!==(l=St(t))&&"number"!==l||(t=new n(t)),"string"!==(u=St(e))&&"number"!==u||(e=new n(e)),a=t.get(r),s=e.get(r),c=0,a)c+=(i=(a[o]||0)-(s[o]||0))*i;return Math.sqrt(c)},w.deltaE=function(t,e,r,i){var o,s,l,u,c,h,f,p,d,m,_,v,b,x,w,E,S,I,C,T,P,R,L,M;for(null==r&&(r=1),null==i&&(i=1),"string"!==(w=St(t))&&"number"!==w||(t=new n(t)),"string"!==(E=St(e))&&"number"!==E||(e=new n(e)),o=(S=t.lab())[0],l=S[1],c=S[2],s=(I=e.lab())[0],u=I[1],h=I[2],f=wt(l*l+c*c),p=wt(u*u+h*h),T=o<16?.511:.040975*o/(1+.01765*o),C=.0638*f/(1+.0131*f)+.638,x=f<1e-6?0:180*y(c,l)/a;x<0;)x+=360;for(;x>=360;)x-=360;return P=x>=164&&x<=345?.56+g(.2*O(a*(x+168)/180)):.36+g(.4*O(a*(x+35)/180)),b=wt((d=f*f*f*f)/(d+1900)),wt((R=(o-s)/(r*T))*R+(L=(v=f-p)/(i*C))*L+((m=l-u)*m+(_=c-h)*_-v*v)/((M=C*(b*P+1-b))*M))},n.prototype.get=function(t){var e,r,n,i,o;return this,n=(i=t.split("."))[0],e=i[1],o=this[n](),e?(r=n.indexOf(e))>-1?o[r]:console.warn("unknown channel "+e+" in mode "+n):o},n.prototype.set=function(t,e){var r,n,i,o,a;if(this,i=(o=t.split("."))[0],r=o[1])if(a=this[i](),(n=i.indexOf(r))>-1)if("string"===St(e))switch(e.charAt(0)){case"+":case"-":a[n]+=+e;break;case"*":a[n]*=+e.substr(1);break;case"/":a[n]/=+e.substr(1);break;default:a[n]=+e}else a[n]=e;else console.warn("unknown channel "+r+" in mode "+i);else a=e;return w(a,i).alpha(this.alpha())},n.prototype.clipped=function(){return this._rgb._clipped||!1},n.prototype.alpha=function(t){return arguments.length?w.rgb([this._rgb[0],this._rgb[1],this._rgb[2],t]):this._rgb[3]},n.prototype.darken=function(t){var e;return null==t&&(t=1),this,(e=this.lab())[0]-=o.Kn*t,w.lab(e).alpha(this.alpha())},n.prototype.brighten=function(t){return null==t&&(t=1),this.darken(-t)},n.prototype.darker=n.prototype.darken,n.prototype.brighter=n.prototype.brighten,n.prototype.saturate=function(t){var e;return null==t&&(t=1),this,(e=this.lch())[1]+=t*o.Kn,e[1]<0&&(e[1]=0),w.lch(e).alpha(this.alpha())},n.prototype.desaturate=function(t){return null==t&&(t=1),this.saturate(-t)},n.prototype.premultiply=function(){var t,e;return e=this.rgb(),t=this.alpha(),w(e[0]*t,e[1]*t,e[2]*t,t)},tt=function(t,e){return t*e/255},C=function(t,e){return t>e?e:t},H=function(t,e){return t>e?t:e},bt=function(t,e){return 255*(1-(1-t/255)*(1-e/255))},rt=function(t,e){return e<128?2*t*e/255:255*(1-2*(1-t/255)*(1-e/255))},x=function(t,e){return 255*(1-(1-e/255)/(t/255))},T=function(t,e){return 255===t||(t=e/255*255/(1-t/255))>255?255:t},(_=function(t,e,r){if(!_[r])throw"unknown blend mode "+r;return _[r](t,e)}).normal=(v=function(t){return function(e,r){var n,i;return n=w(r).rgb(),i=w(e).rgb(),w(t(n,i),"rgb")}})((P=function(t){return function(e,r){var n,i,o;for(o=[],n=i=0;i<=3;n=++i)o[n]=t(e[n],r[n]);return o}})((function(t,e){return t}))),_.multiply=v(P(tt)),_.screen=v(P(bt)),_.overlay=v(P(rt)),_.darken=v(P(C)),_.lighten=v(P(H)),_.dodge=v(P(T)),_.burn=v(P(x)),w.blend=_,w.analyze=function(t){var e,r,n,i;for(n={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},r=0,e=t.length;rn.max&&(n.max=i),n.count+=1);return n.domain=[n.min,n.max],n.limits=function(t,e){return w.limits(n,t,e)},n},w.scale=function(t,e){var r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v,b,x,E;return c="rgb",h=w("#ccc"),g=0,!1,a=[0,1],d=[],p=[0,0],r=!1,i=[],f=!1,u=0,l=1,o=!1,n={},y=!0,s=1,x=function(t){var e,r,n,o,a,s;if(null==t&&(t=["#fff","#000"]),null!=t&&"string"===St(t)&&null!=w.brewer&&(t=w.brewer[t]||w.brewer[t.toLowerCase()]||t),"array"===St(t)){for(1===t.length&&(t=[t[0],t[0]]),e=n=0,o=(t=t.slice(0)).length-1;0<=o?n<=o:n>=o;e=0<=o?++n:--n)r=t[e],"string"===St(r)&&(t[e]=w(r));for(d.length=0,e=s=0,a=t.length-1;0<=a?s<=a:s>=a;e=0<=a?++s:--s)d.push(e/(t.length-1))}return b(),i=t},_=function(t){var e,n;if(null!=r){for(n=r.length-1,e=0;e=r[e];)e++;return e-1}return 0},E=function(t){return t},function(t){var e,n,i,o,a;return a=t,r.length>2&&(o=r.length-1,e=_(t),i=r[0]+(r[1]-r[0])*(0+.5*g),n=r[o-1]+(r[o]-r[o-1])*(1-.5*g),a=u+(r[e]+.5*(r[e+1]-r[e])-i)/(n-i)*(l-u)),a},v=function(t,e){var o,a,f,g,m,v,b;if(null==e&&(e=!1),isNaN(t))return h;if(b=e?t:r&&r.length>2?_(t)/(r.length-2):l!==u?(t-u)/(l-u):1,e||(b=E(b)),1!==s&&(b=nt(b,s)),b=p[0]+b*(1-p[0]-p[1]),b=Math.min(1,Math.max(0,b)),f=Math.floor(1e4*b),y&&n[f])o=n[f];else{if("array"===St(i))for(a=g=0,v=d.length-1;0<=v?g<=v:g>=v;a=0<=v?++g:--g){if(b<=(m=d[a])){o=i[a];break}if(b>=m&&a===d.length-1){o=i[a];break}if(b>m&&b=c;e=0<=c?++h:--h)d.push(e/(n-1));return a=[u,l],m},m.mode=function(t){return arguments.length?(c=t,b(),m):c},m.range=function(t,e){return x(t),m},m.out=function(t){return f=t,m},m.spread=function(t){return arguments.length?(g=t,m):g},m.correctLightness=function(t){return null==t&&(t=!0),o=t,b(),E=o?function(t){var e,r,n,i,o,a,s,l,u;for(e=v(0,!0).lab()[0],r=v(1,!0).lab()[0],s=e>r,n=v(t,!0).lab()[0],i=n-(o=e+(r-e)*t),l=0,u=1,a=20;Math.abs(i)>.01&&a-- >0;)s&&(i*=-1),i<0?(l=t,t+=.5*(u-t)):(u=t,t+=.5*(l-t)),n=v(t,!0).lab()[0],i=n-o;return t}:function(t){return t},m},m.padding=function(t){return null!=t?("number"===St(t)&&(t=[t,t]),p=t,m):p},m.colors=function(e,n){var o,s,l,u,c,h,f,p;if(arguments.length<2&&(n="hex"),c=[],0===arguments.length)c=i.slice(0);else if(1===e)c=[m(.5)];else if(e>1)s=a[0],o=a[1]-s,c=function(){h=[];for(var t=0;0<=e?te;0<=e?t++:t--)h.push(t);return h}.apply(this).map((function(t){return m(s+t/(e-1)*o)}));else{if(t=[],f=[],r&&r.length>2)for(l=p=1,u=r.length;1<=u?pu;l=1<=u?++p:--p)f.push(.5*(r[l-1]+r[l]));else f=a;c=f.map((function(t){return m(t)}))}return w[n]&&(c=c.map((function(t){return t[n]()}))),c},m.cache=function(t){return null!=t?(y=t,m):y},m.gamma=function(t){return null!=t?(s=t,m):s},m},null==w.scales&&(w.scales={}),w.scales.cool=function(){return w.scale([w.hsl(180,1,.9),w.hsl(250,.7,.4)])},w.scales.hot=function(){return w.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")},w.analyze=function(t,e,r){var n,i,o,a,s,l;if(s={min:Number.MAX_VALUE,max:-1*Number.MAX_VALUE,sum:0,values:[],count:0},null==r&&(r=function(){return!0}),n=function(t){null==t||isNaN(t)||(s.values.push(t),s.sum+=t,ts.max&&(s.max=t),s.count+=1)},l=function(t,i){if(r(t,i))return null!=e&&"function"===St(e)?n(e(t)):null!=e&&"string"===St(e)||"number"===St(e)?n(t[e]):n(t)},"array"===St(t))for(a=0,o=t.length;a=U;S=1<=U?++j:--j)C.push(P+S/r*($-P));C.push($)}else if("l"===e.substr(0,1)){if(P<=0)throw"Logarithmic scales are only possible for values > 0";for(L=Math.LOG10E*K(P),T=Math.LOG10E*K($),C.push(P),S=ut=1,B=r-1;1<=B?ut<=B:ut>=B;S=1<=B?++ut:--ut)C.push(nt(10,L+S/r*(T-L)));C.push($)}else if("q"===e.substr(0,1)){for(C.push(P),S=n=1,X=r-1;1<=X?n<=X:n>=X;S=1<=X?++n:--n)F=(lt.length-1)*S/r,(D=R(F))===F?C.push(lt[D]):(G=F-D,C.push(lt[D]*(1-G)+lt[D+1]*G));C.push($)}else if("k"===e.substr(0,1)){for(A=lt.length,m=new Array(A),x=new Array(r),it=!0,N=0,v=null,(v=[]).push(P),S=i=1,H=r-1;1<=H?i<=H:i>=H;S=1<=H?++i:--i)v.push(P+S/r*($-P));for(v.push($);it;){for(O=o=0,Z=r-1;0<=Z?o<=Z:o>=Z;O=0<=Z?++o:--o)x[O]=0;for(S=a=0,J=A-1;0<=J?a<=J:a>=J;S=0<=J?++a:--a){for(st=lt[S],M=Number.MAX_VALUE,O=s=0,Q=r-1;0<=Q?s<=Q:s>=Q;O=0<=Q?++s:--s)(E=g(v[O]-st))=tt;O=0<=tt?++l:--l)k[O]=null;for(S=u=0,et=A-1;0<=et?u<=et:u>=et;S=0<=et?++u:--u)null===k[b=m[S]]?k[b]=lt[S]:k[b]+=lt[S];for(O=c=0,rt=r-1;0<=rt?c<=rt:c>=rt;O=0<=rt?++c:--c)k[O]*=1/x[O];for(it=!1,O=h=0,z=r-1;0<=z?h<=z:h>=z;O=0<=z?++h:--h)if(k[O]!==v[S]){it=!0;break}v=k,++N>200&&(it=!1)}for(I={},O=f=0,V=r-1;0<=V?f<=V:f>=V;O=0<=V?++f:--f)I[O]=[];for(S=p=0,q=A-1;0<=q?p<=q:p>=q;S=0<=q?++p:--p)I[b=m[S]].push(lt[S]);for(ot=[],O=d=0,Y=r-1;0<=Y?d<=Y:d>=Y;O=0<=Y?++d:--d)ot.push(I[O][0]),ot.push(I[O][I[O].length-1]);for(ot=ot.sort((function(t,e){return t-e})),C.push(ot[0]),S=y=1,W=ot.length-1;y<=W;S=y+=2)at=ot[S],isNaN(at)||-1!==C.indexOf(at)||C.push(at)}return C},A=function(t,e,r){var n,i,o,a;return t=(n=Ot(arguments))[0],e=n[1],r=n[2],isNaN(t)&&(t=0),(t/=360)<1/3?o=1-((i=(1-e)/3)+(a=(1+e*O(u*t)/O(s-u*t))/3)):t<2/3?i=1-((a=(1-e)/3)+(o=(1+e*O(u*(t-=1/3))/O(s-u*t))/3)):a=1-((o=(1-e)/3)+(i=(1+e*O(u*(t-=2/3))/O(s-u*t))/3)),[255*(a=Z(r*a*3)),255*(o=Z(r*o*3)),255*(i=Z(r*i*3)),n.length>3?n[3]:1]},lt=function(){var t,e,r,n,i,o,a;return i=(o=Ot(arguments))[0],e=o[1],t=o[2],u=2*Math.PI,i/=255,e/=255,t/=255,0===(a=1-Math.min(i,e,t)/(n=(i+e+t)/3))?r=0:(r=(i-e+(i-t))/2,r/=Math.sqrt((i-e)*(i-e)+(i-t)*(e-t)),r=Math.acos(r),t>e&&(r=u-r),r/=u),[360*r,a,n]},w.hsi=function(){return function(t,e,r){r.prototype=t.prototype;var n=new r,i=t.apply(n,e);return Object(i)===i?i:n}(n,Pt.call(arguments).concat(["hsi"]),(function(){}))},p.hsi=A,n.prototype.hsi=function(){return lt(this._rgb)},D=function(t,e,r,n){var i,o,a,s,l,u,c,h,f,p;return"hsl"===n?(f=t.hsl(),p=e.hsl()):"hsv"===n?(f=t.hsv(),p=e.hsv()):"hcg"===n?(f=t.hcg(),p=e.hcg()):"hsi"===n?(f=t.hsi(),p=e.hsi()):"lch"!==n&&"hcl"!==n||(n="hcl",f=t.hcl(),p=e.hcl()),"h"===n.substr(0,1)&&(o=f[0],c=f[1],s=f[2],a=p[0],h=p[1],l=p[2]),isNaN(o)||isNaN(a)?isNaN(o)?isNaN(a)?i=Number.NaN:(i=a,1!==s&&0!==s||"hsv"===n||(u=h)):(i=o,1!==l&&0!==l||"hsv"===n||(u=c)):i=o+r*(a>o&&a-o>180?a-(o+360):a180?a+360-o:a-o),null==u&&(u=c+r*(h-c)),w[n](i,u,s+r*(l-s))},B=function(t,e,r,n){var i,o;return i=t.num(),o=e.num(),w.num(i+(o-i)*r,"num")},(d=d.concat(function(){var t,e,r,n;for(n=[],e=0,t=(r=["hsv","hsl","hsi","hcl","lch","hcg"]).length;e=this.minZoom;){if(2===this.zoomFactor_?(a=Math.floor(a/2),s=Math.floor(s/2),o=Object(n.a)(a,a,s,s,r)):o=this.getTileRangeForExtentAndZ(l,u,r),e(u,o))return!0;--u}return!1},t.prototype.getExtent=function(){return this.extent_},t.prototype.getMaxZoom=function(){return this.maxZoom},t.prototype.getMinZoom=function(){return this.minZoom},t.prototype.getOrigin=function(t){return this.origin_?this.origin_:this.origins_[t]},t.prototype.getResolution=function(t){return this.resolutions_[t]},t.prototype.getResolutions=function(){return this.resolutions_},t.prototype.getTileCoordChildTileRange=function(t,e,r){if(t[0]this.maxZoom||et.maxResolution)return!1;var n=e.zoom;return n>t.minZoom&&n<=t.maxZoom}e.a=f},function(t,e,r){"use strict";r.d(e,"b",(function(){return n})),r.d(e,"a",(function(){return i}));var n=.5,i=!0},function(t,e,r){"use strict";var n=r(17),i=function(){function t(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}return t.prototype.canWrapX=function(){return this.canWrapX_},t.prototype.getCode=function(){return this.code_},t.prototype.getExtent=function(){return this.extent_},t.prototype.getUnits=function(){return this.units_},t.prototype.getMetersPerUnit=function(){return this.metersPerUnit_||n.a[this.units_]},t.prototype.getWorldExtent=function(){return this.worldExtent_},t.prototype.getAxisOrientation=function(){return this.axisOrientation_},t.prototype.isGlobal=function(){return this.global_},t.prototype.setGlobal=function(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)},t.prototype.getDefaultTileGrid=function(){return this.defaultTileGrid_},t.prototype.setDefaultTileGrid=function(t){this.defaultTileGrid_=t},t.prototype.setExtent=function(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)},t.prototype.setWorldExtent=function(t){this.worldExtent_=t},t.prototype.setGetPointResolution=function(t){this.getPointResolutionFunc_=t},t.prototype.getPointResolutionFunc=function(){return this.getPointResolutionFunc_},t}();e.a=i},function(t,e,r){"use strict";var n,i=r(52),o=r(18),a=r(16),s=r(4),l=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),u=function(t){function e(e){var r=t.call(this)||this;return r.eventTarget_=e,r.pendingRemovals_=null,r.dispatching_=null,r.listeners_=null,r}return l(e,t),e.prototype.addEventListener=function(t,e){if(t&&e){var r=this.listeners_||(this.listeners_={}),n=r[t]||(r[t]=[]);-1===n.indexOf(e)&&n.push(e)}},e.prototype.dispatchEvent=function(t){var e="string"==typeof t,r=e?t:t.type,n=this.listeners_&&this.listeners_[r];if(n){var i=e?new o.a(t):t;i.target||(i.target=this.eventTarget_||this);var s,l=this.dispatching_||(this.dispatching_={}),u=this.pendingRemovals_||(this.pendingRemovals_={});r in l||(l[r]=0,u[r]=0),++l[r];for(var c=0,h=n.length;c0)},e.prototype.removeEventListener=function(t,e){var r=this.listeners_&&this.listeners_[t];if(r){var n=r.indexOf(e);-1!==n&&(this.pendingRemovals_&&t in this.pendingRemovals_?(r[n]=a.c,++this.pendingRemovals_[t]):(r.splice(n,1),0===r.length&&delete this.listeners_[t]))}},e}(i.a);e.a=u},function(t,e,r){"use strict";r.d(e,"a",(function(){return y}));var n,i=r(18),o=r(44),a=r(67),s=r(9),l=r(2),u=r(10),c=r(1),h=r(19),f=r(27),p=r(15),d=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),g=function(t){function e(e){var r=t.call(this,{attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:e.projection,state:e.state,wrapX:e.wrapX,interpolate:e.interpolate})||this;r.on,r.once,r.un,r.opaque_=void 0!==e.opaque&&e.opaque,r.tilePixelRatio_=void 0!==e.tilePixelRatio?e.tilePixelRatio:1,r.tileGrid=void 0!==e.tileGrid?e.tileGrid:null;return r.tileGrid&&Object(p.d)(r.tileGrid.getTileSize(r.tileGrid.getMinZoom()),[256,256]),r.tileCache=new a.a(e.cacheSize||0),r.tmpSize=[0,0],r.key_=e.key||"",r.tileOptions={transition:e.transition,interpolate:e.interpolate},r.zDirection=e.zDirection?e.zDirection:0,r}return d(e,t),e.prototype.canExpireCache=function(){return this.tileCache.canExpireCache()},e.prototype.expireCache=function(t,e){var r=this.getTileCacheForProjection(t);r&&r.expireCache(e)},e.prototype.forEachLoadedTile=function(t,e,r,n){var i=this.getTileCacheForProjection(t);if(!i)return!1;for(var o,a,l,u=!0,c=r.minX;c<=r.maxX;++c)for(var f=r.minY;f<=r.maxY;++f)a=Object(h.e)(e,c,f),l=!1,i.containsKey(a)&&(l=(o=i.get(a)).getState()===s.a.LOADED)&&(l=!1!==n(o)),l||(u=!1);return u},e.prototype.getGutterForProjection=function(t){return 0},e.prototype.getKey=function(){return this.key_},e.prototype.setKey=function(t){this.key_!==t&&(this.key_=t,this.changed())},e.prototype.getOpaque=function(t){return this.opaque_},e.prototype.getResolutions=function(){return this.tileGrid?this.tileGrid.getResolutions():null},e.prototype.getTile=function(t,e,r,n,i){return Object(l.b)()},e.prototype.getTileGrid=function(){return this.tileGrid},e.prototype.getTileGridForProjection=function(t){return this.tileGrid?this.tileGrid:Object(f.c)(t)},e.prototype.getTileCacheForProjection=function(t){var e=this.getProjection();return Object(u.a)(null===e||Object(c.j)(e,t),68),this.tileCache},e.prototype.getTilePixelRatio=function(t){return this.tilePixelRatio_},e.prototype.getTilePixelSize=function(t,e,r){var n=this.getTileGridForProjection(r),i=this.getTilePixelRatio(e),o=Object(p.d)(n.getTileSize(t),this.tmpSize);return 1==i?o:Object(p.c)(o,i,this.tmpSize)},e.prototype.getTileCoordForTileUrlFunction=function(t,e){var r=void 0!==e?e:this.getProjection(),n=this.getTileGridForProjection(r);return this.getWrapX()&&r.isGlobal()&&(t=Object(f.d)(n,t,r)),Object(h.g)(t,n)?t:null},e.prototype.clear=function(){this.tileCache.clear()},e.prototype.refresh=function(){this.clear(),t.prototype.refresh.call(this)},e.prototype.updateCacheSize=function(t,e){var r=this.getTileCacheForProjection(e);t>r.highWaterMark&&(r.highWaterMark=t)},e.prototype.useTile=function(t,e,r,n){},e}(o.a),y=function(t){function e(e,r){var n=t.call(this,e)||this;return n.tile=r,n}return d(e,t),e}(i.a);e.b=g},function(t,e,r){"use strict";function n(t,e){let r=t.length-e,n=0;do{for(let r=e;r>0;r--)t[n+e]+=t[n],n++;r-=e}while(r>0)}function i(t,e,r){let n=0,i=t.length;const o=i/r;for(;i>e;){for(let r=e;r>0;--r)t[n+e]+=t[n],++n;i-=e}const a=t.slice();for(let e=0;e=t.byteLength);++s){let o;if(2===e){switch(a[0]){case 8:o=new Uint8Array(t,s*u*r*l,u*r*l);break;case 16:o=new Uint16Array(t,s*u*r*l,u*r*l/2);break;case 32:o=new Uint32Array(t,s*u*r*l,u*r*l/4);break;default:throw new Error(`Predictor 2 not allowed with ${a[0]} bits per sample.`)}n(o,u)}else 3===e&&(o=new Uint8Array(t,s*u*r*l,u*r*l),i(o,u,l))}return t}(r,o,e?t.TileWidth:t.ImageWidth,e?t.TileLength:t.RowsPerStrip||t.ImageLength,t.BitsPerSample,t.PlanarConfiguration)}return r}}},function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n=42,i=256},function(t,e,r){"use strict";r.d(e,"b",(function(){return f}));var n,i=r(6),o=r(66),a=r(13),s=r(24),l=r(0),u=r(8),c=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),h=function(t){function e(e,r,n,i,o,s){var l=t.call(this,e,r,n,a.a.IDLE)||this;return l.src_=i,l.image_=new Image,null!==o&&(l.image_.crossOrigin=o),l.unlisten_=null,l.state=a.a.IDLE,l.imageLoadFunction_=s,l}return c(e,t),e.prototype.getImage=function(){return this.image_},e.prototype.handleImageError_=function(){this.state=a.a.ERROR,this.unlistenImage_(),this.changed()},e.prototype.handleImageLoad_=function(){void 0===this.resolution&&(this.resolution=Object(l.A)(this.extent)/this.image_.height),this.state=a.a.LOADED,this.unlistenImage_(),this.changed()},e.prototype.load=function(){this.state!=a.a.IDLE&&this.state!=a.a.ERROR||(this.state=a.a.LOADING,this.changed(),this.imageLoadFunction_(this,this.src_),this.unlisten_=f(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))},e.prototype.setImage=function(t){this.image_=t,this.resolution=Object(l.A)(this.extent)/this.image_.height},e.prototype.unlistenImage_=function(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)},e}(o.a);function f(t,e,r){var n=t,o=!0,a=!1,l=!1,c=[Object(u.b)(n,i.a.LOAD,(function(){l=!0,a||e()}))];return n.src&&s.c?(a=!0,n.decode().then((function(){o&&e()})).catch((function(t){o&&(l?e():r())}))):c.push(Object(u.b)(n,i.a.ERROR,r)),function(){o=!1,c.forEach(u.c)}}e.a=h},function(t,e,r){"use strict";var n,i=r(38),o=r(6),a=r(9),s=r(2),l=r(25),u=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),c=function(t){function e(e,r,n){var i=t.call(this)||this,o=n||{};return i.tileCoord=e,i.state=r,i.interimTile=null,i.key="",i.transition_=void 0===o.transition?250:o.transition,i.transitionStarts_={},i.interpolate=!!o.interpolate,i}return u(e,t),e.prototype.changed=function(){this.dispatchEvent(o.a.CHANGE)},e.prototype.release=function(){},e.prototype.getKey=function(){return this.key+"/"+this.tileCoord},e.prototype.getInterimTile=function(){if(!this.interimTile)return this;var t=this.interimTile;do{if(t.getState()==a.a.LOADED)return this.transition_=0,t;t=t.interimTile}while(t);return this},e.prototype.refreshInterimChain=function(){if(this.interimTile){var t=this.interimTile,e=this;do{if(t.getState()==a.a.LOADED){t.interimTile=null;break}t.getState()==a.a.LOADING?e=t:t.getState()==a.a.IDLE?e.interimTile=t.interimTile:e=t,t=e.interimTile}while(t)}},e.prototype.getTileCoord=function(){return this.tileCoord},e.prototype.getState=function(){return this.state},e.prototype.setState=function(t){if(this.state!==a.a.ERROR&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()},e.prototype.load=function(){Object(s.b)()},e.prototype.getAlpha=function(t,e){if(!this.transition_)return 1;var r=this.transitionStarts_[t];if(r){if(-1===r)return 1}else r=e,this.transitionStarts_[t]=r;var n=e-r+1e3/60;return n>=this.transition_?1:Object(l.easeIn)(n/this.transition_)},e.prototype.inTransition=function(t){return!!this.transition_&&-1!==this.transitionStarts_[t]},e.prototype.endTransition=function(t){this.transition_&&(this.transitionStarts_[t]=-1)},e}(i.a);e.a=c},function(t,e,r){"use strict";var n,i=r(26),o=r(2),a=r(1),s=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),l=function(t){function e(e){var r=t.call(this)||this;r.projection=Object(a.o)(e.projection),r.attributions_=u(e.attributions),r.attributionsCollapsible_=void 0===e.attributionsCollapsible||e.attributionsCollapsible,r.loading=!1,r.state_=void 0!==e.state?e.state:"ready",r.wrapX_=void 0!==e.wrapX&&e.wrapX,r.interpolate_=!!e.interpolate,r.viewResolver=null,r.viewRejector=null;var n=r;return r.viewPromise_=new Promise((function(t,e){n.viewResolver=t,n.viewRejector=e})),r}return s(e,t),e.prototype.getAttributions=function(){return this.attributions_},e.prototype.getAttributionsCollapsible=function(){return this.attributionsCollapsible_},e.prototype.getProjection=function(){return this.projection},e.prototype.getResolutions=function(){return Object(o.b)()},e.prototype.getView=function(){return this.viewPromise_},e.prototype.getState=function(){return this.state_},e.prototype.getWrapX=function(){return this.wrapX_},e.prototype.getInterpolate=function(){return this.interpolate_},e.prototype.refresh=function(){this.changed()},e.prototype.setAttributions=function(t){this.attributions_=u(t),this.changed()},e.prototype.setState=function(t){this.state_=t,this.changed()},e}(i.a);function u(t){return t?Array.isArray(t)?function(e){return t}:"function"==typeof t?t:function(e){return[t]}:null}e.a=l},function(t,e,r){"use strict";e.a={PROPERTYCHANGE:"propertychange"}},function(t,e,r){"use strict";function n(t,e,r){var n=void 0!==r?t.toFixed(r):""+t,i=n.indexOf(".");return(i=-1===i?n.length:i)>e?n:new Array(1+e-i).join("0")+n}function i(t,e){for(var r=(""+t).split("."),n=(""+e).split("."),i=0;ia)return 1;if(a>o)return-1}return 0}r.d(e,"b",(function(){return n})),r.d(e,"a",(function(){return i}))},function(t,e,r){"use strict";r.d(e,"a",(function(){return i})),r.d(e,"b",(function(){return o})),r.d(e,"c",(function(){return a})),r.d(e,"d",(function(){return s}));var n=r(0);function i(t,e,r,i,a){return!Object(n.t)(a,(function(n){return!o(t,e,r,i,n[0],n[1])}))}function o(t,e,r,n,i,o){for(var a=0,s=t[r-n],l=t[r-n+1];eo&&(u-s)*(o-l)-(i-s)*(c-l)>0&&a++:c<=o&&(u-s)*(o-l)-(i-s)*(c-l)<0&&a--,s=u,l=c}return 0!==a}function a(t,e,r,n,i,a){if(0===r.length)return!1;if(!o(t,e,r[0],n,i,a))return!1;for(var s=1,l=r.length;sthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)},t.prototype.getHeight=function(){return this.maxY-this.minY+1},t.prototype.getSize=function(){return[this.getWidth(),this.getHeight()]},t.prototype.getWidth=function(){return this.maxX-this.minX+1},t.prototype.intersects=function(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY},t}();function i(t,e,r,i,o){return void 0!==o?(o.minX=t,o.maxX=e,o.minY=r,o.maxY=i,o):new n(t,e,r,i)}e.b=n},function(t,e,r){"use strict";r.d(e,"c",(function(){return c})),r.d(e,"b",(function(){return p})),r.d(e,"a",(function(){return d})),r.d(e,"d",(function(){return g}));var n,i=r(50),o=r(4),a=r(0),s=r(14),l=r(1),u=r(3),c=[];function h(t,e,r,n,i){t.beginPath(),t.moveTo(0,0),t.lineTo(e,r),t.lineTo(n,i),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,n)+1,Math.max(r,i)),t.restore()}function f(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function p(t,e,r,n){var i=Object(l.z)(r,e,t),o=Object(l.p)(e,n,r),s=e.getMetersPerUnit();void 0!==s&&(o*=s);var u=t.getMetersPerUnit();void 0!==u&&(o/=u);var c=t.getExtent();if(!c||Object(a.g)(c,i)){var h=Object(l.p)(t,o,i)/o;isFinite(h)&&h>0&&(o/=h)}return o}function d(t,e,r,n){var i=Object(a.x)(r),o=p(t,e,i,n);return(!isFinite(o)||o<=0)&&Object(a.t)(r,(function(r){return o=p(t,e,r,n),isFinite(o)&&o>0})),o}function g(t,e,r,l,p,d,g,y,m,_,v,b){var x=Object(s.a)(Math.round(r*t),Math.round(r*e),c);if(b||Object(o.a)(x,i.a),0===m.length)return x.canvas;function w(t){return Math.round(t*r)/r}x.scale(r,r),x.globalCompositeOperation="lighter";var E=Object(a.k)();m.forEach((function(t,e,r){Object(a.q)(E,t.extent)}));var S=Object(a.G)(E),O=Object(a.A)(E),I=Object(s.a)(Math.round(r*S/l),Math.round(r*O/l));b||Object(o.a)(I,i.a);var C=r/l;m.forEach((function(t,e,r){var n=t.extent[0]-E[0],i=-(t.extent[3]-E[3]),o=Object(a.G)(t.extent),s=Object(a.A)(t.extent);t.image.width>0&&t.image.height>0&&I.drawImage(t.image,_,_,t.image.width-2*_,t.image.height-2*_,n*C,i*C,o*C,s*C)}));var T=Object(a.E)(g);return y.getTriangles().forEach((function(t,e,i){var o=t.source,a=t.target,s=o[0][0],c=o[0][1],p=o[1][0],g=o[1][1],y=o[2][0],m=o[2][1],_=w((a[0][0]-T[0])/d),v=w(-(a[0][1]-T[1])/d),S=w((a[1][0]-T[0])/d),O=w(-(a[1][1]-T[1])/d),C=w((a[2][0]-T[0])/d),P=w(-(a[2][1]-T[1])/d),R=s,L=c;s=0,c=0;var M=[[p-=R,g-=L,0,0,S-_],[y-=R,m-=L,0,0,C-_],[0,0,p,g,O-v],[0,0,y,m,P-v]],A=Object(u.i)(M);if(A){if(x.save(),x.beginPath(),function(){if(void 0===n){var t=document.createElement("canvas").getContext("2d");t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",h(t,4,5,4,0),h(t,4,5,0,5);var e=t.getImageData(0,0,3,3).data;n=f(e,0)||f(e,4)||f(e,8)}return n}()||!b){x.moveTo(S,O);for(var N=_-S,k=v-O,j=0;j<4;j++)x.lineTo(S+w((j+1)*N/4),O+w(j*k/3)),3!=j&&x.lineTo(S+w((j+1)*N/4),O+w((j+1)*k/3));x.lineTo(C,P)}else x.moveTo(S,O),x.lineTo(_,v),x.lineTo(C,P);x.clip(),x.transform(A[0],A[2],A[1],A[3],_,v),x.translate(E[0]-R,E[3]-L),x.scale(l/r,-l/r),x.drawImage(I.canvas,0,0),x.restore()}})),v&&(x.save(),x.globalCompositeOperation="source-over",x.strokeStyle="black",x.lineWidth=1,y.getTriangles().forEach((function(t,e,r){var n=t.target,i=(n[0][0]-T[0])/d,o=-(n[0][1]-T[1])/d,a=(n[1][0]-T[0])/d,s=-(n[1][1]-T[1])/d,l=(n[2][0]-T[0])/d,u=-(n[2][1]-T[1])/d;x.beginPath(),x.moveTo(a,s),x.lineTo(i,o),x.lineTo(l,u),x.closePath(),x.stroke()})),x.restore()),x.canvas}},function(t,e,r){"use strict";r.d(e,"a",(function(){return n})),r.d(e,"b",(function(){return i}));var n={imageSmoothingEnabled:!1,msImageSmoothingEnabled:!1},i={imageSmoothingEnabled:!0,msImageSmoothingEnabled:!0}},function(t,e,r){"use strict";r.d(e,"b",(function(){return i})),r.d(e,"a",(function(){return o})),r.d(e,"c",(function(){return a}));r(4);var n={};function i(){n={}}function o(t,e,r){var i=t.getCode(),o=e.getCode();i in n||(n[i]={}),n[i][o]=r}function a(t,e){var r;return t in n&&e in n[t]&&(r=n[t][e]),r}},function(t,e,r){"use strict";var n=function(){function t(){this.disposed=!1}return t.prototype.dispose=function(){this.disposed||(this.disposed=!0,this.disposeInternal())},t.prototype.disposeInternal=function(){},t}();e.a=n},function(t,e,r){"use strict";r.d(e,"a",(function(){return a})),r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return l})),r.d(e,"d",(function(){return u})),r.d(e,"e",(function(){return c}));var n=r(0),i=r(78),o=r(47);function a(t,e,r,o,a){var s=Object(n.s)(Object(n.k)(),t,e,r,o);return!!Object(n.H)(a,s)&&(!!Object(n.h)(a,s)||(s[0]>=a[0]&&s[2]<=a[2]||(s[1]>=a[1]&&s[3]<=a[3]||Object(i.a)(t,e,r,o,(function(t,e){return Object(n.I)(a,t,e)})))))}function s(t,e,r,n,i){for(var o=0,s=r.length;othis.fetchSlice(t,e)))}async fetchSlice(t){throw new Error(`fetching of slice ${t} not possible, not implemented`)}get fileSize(){return null}async close(){}}},function(t,e,r){"use strict";e.a={PRELOAD:"preload",USE_INTERIM_TILES_ON_ERROR:"useInterimTilesOnError"}},function(t,e,r){"use strict";var n,i=r(18),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(t){function e(e,r,n,i){var o=t.call(this,e)||this;return o.inversePixelTransform=r,o.frameState=n,o.context=i,o}return o(e,t),e}(i.a);e.a=a},function(t,e,r){"use strict";var n,i=r(81),o=r(72),a=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=function(t){function e(e){return t.call(this,e)||this}return a(e,t),e.prototype.createRenderer=function(){return new o.a(this)},e.prototype.getData=function(e){return t.prototype.getData.call(this,e)},e}(i.a);e.a=s},function(t,e,r){"use strict";r.d(e,"b",(function(){return o})),r.d(e,"c",(function(){return s})),r.d(e,"a",(function(){return u})),r.d(e,"d",(function(){return c}));var n=r(3),i=6371008.8;function o(t,e,r){var o=r||i,a=Object(n.n)(t[1]),s=Object(n.n)(e[1]),l=(s-a)/2,u=Object(n.n)(e[0]-t[0])/2,c=Math.sin(l)*Math.sin(l)+Math.sin(u)*Math.sin(u)*Math.cos(a)*Math.cos(s);return 2*o*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))}function a(t,e){for(var r=0,n=0,i=t.length;n= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};e.REVISION_CHANGES=p;var d="[object Object]";n.prototype={constructor:n,logger:u.default,log:u.default.log,registerHelper:function(t,e){if(o.toString.call(t)===d){if(e)throw new a.default("Arg not supported with multiple helpers");o.extend(this.helpers,t)}else this.helpers[t]=e},unregisterHelper:function(t){delete this.helpers[t]},registerPartial:function(t,e){if(o.toString.call(t)===d)o.extend(this.partials,t);else{if(void 0===e)throw new a.default('Attempting to register a partial called "'+t+'" as undefined');this.partials[t]=e}},unregisterPartial:function(t){delete this.partials[t]},registerDecorator:function(t,e){if(o.toString.call(t)===d){if(e)throw new a.default("Arg not supported with multiple decorators");o.extend(this.decorators,t)}else this.decorators[t]=e},unregisterDecorator:function(t){delete this.decorators[t]}};var g=u.default.log;e.log=g,e.createFrame=o.createFrame,e.logger=u.default},function(t,e){"use strict";function r(t){return c[t]}function n(t){for(var e=1;e":">",'"':""","'":"'","`":"`","=":"="},h=/[&<>"'`=]/g,f=/[&<>"'`=]/,p=Object.prototype.toString;e.toString=p;var d=function(t){return"function"==typeof t};d(/x/)&&(e.isFunction=d=function(t){return"function"==typeof t&&"[object Function]"===p.call(t)}),e.isFunction=d;var g=Array.isArray||function(t){return!(!t||"object"!=typeof t)&&"[object Array]"===p.call(t)};e.isArray=g},function(t,e,r){"use strict";function n(t,e){var r=e&&e.loc,a=void 0,s=void 0,l=void 0,u=void 0;r&&(a=r.start.line,s=r.end.line,l=r.start.column,u=r.end.column,t+=" - "+a+":"+l);for(var c=Error.prototype.constructor.call(this,t),h=0;h0?(r.ids&&(r.ids=[r.name]),t.helpers.each(e,r)):i(this);if(r.data&&r.ids){var a=n.createFrame(r.data);a.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:a}}return o(e,r)}))},t.exports=e.default},function(t,e,r){(function(n){"use strict";var i=r(1).default;e.__esModule=!0;var o=r(5),a=i(r(6));e.default=function(t){t.registerHelper("each",(function(t,e){function r(e,r,n){c&&(c.key=e,c.index=r,c.first=0===r,c.last=!!n,h&&(c.contextPath=h+e)),u+=i(t[e],{data:c,blockParams:o.blockParams([t[e],e],[h+e,null])})}if(!e)throw new a.default("Must pass iterator to #each");var i=e.fn,s=e.inverse,l=0,u="",c=void 0,h=void 0;if(e.data&&e.ids&&(h=o.appendContextPath(e.data.contextPath,e.ids[0])+"."),o.isFunction(t)&&(t=t.call(this)),e.data&&(c=o.createFrame(e.data)),t&&"object"==typeof t)if(o.isArray(t))for(var f=t.length;l=0?e:parseInt(t,10)}return t},log:function(t){if(t=i.lookupLevel(t),"undefined"!=typeof console&&i.lookupLevel(i.level)<=t){var e=i.methodMap[t];console[e]||(e="log");for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o=y.LAST_COMPATIBLE_COMPILER_REVISION&&e<=y.COMPILER_REVISION)){if(e2&&x.push("'"+this.terminals_[_]+"'");E=this.lexer.showPosition?"Parse error on line "+(l+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[p]||p)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(E,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:h,expected:x})}}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+g+", token: "+p);switch(y[0]){case 1:n.push(p),i.push(this.lexer.yytext),o.push(this.lexer.yylloc),n.push(y[1]),p=null,d?(p=d,d=null):(u=this.lexer.yyleng,s=this.lexer.yytext,l=this.lexer.yylineno,h=this.lexer.yylloc,c>0&&c--);break;case 2:if(v=this.productions_[y[1]][1],w.$=i[i.length-v],w._$={first_line:o[o.length-(v||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(v||1)].first_column,last_column:o[o.length-1].last_column},f&&(w._$.range=[o[o.length-(v||1)].range[0],o[o.length-1].range[1]]),void 0!==(m=this.performAction.call(w,s,u,l,this.yy,y[1],i,o)))return m;v&&(n=n.slice(0,-1*v*2),i=i.slice(0,-1*v),o=o.slice(0,-1*v)),n.push(this.productions_[y[1]][0]),i.push(w.$),o.push(w._$),b=a[n[n.length-2]][n[n.length-1]],n.push(b);break;case 3:return!0}}return!0}},r=function(){var t={EOF:1,parseError:function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},setInput:function(t){return this._input=t,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},unput:function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e-1),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),r.length-1&&(this.yylineno-=r.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:r?(r.length===n.length?this.yylloc.first_column:0)+n[n.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this},more:function(){return this._more=!0,this},less:function(t){this.unput(this.match.slice(t))},pastInput:function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},next:function(){if(this.done)return this.EOF;var t,e,r,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var o=this._currentRules(),a=0;ae[0].length)||(e=r,n=a,this.options.flex));a++);return e?((i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],t=this.performAction.call(this,this.yy,this,o[n],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),t||void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return void 0!==t?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)},options:{},performAction:function(t,e,r,n){function i(t,r){return e.yytext=e.yytext.substring(t,e.yyleng-r+t)}switch(r){case 0:if("\\\\"===e.yytext.slice(-2)?(i(0,1),this.begin("mu")):"\\"===e.yytext.slice(-1)?(i(0,1),this.begin("emu")):this.begin("mu"),e.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(i(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(e.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return e.yytext=i(1,2).replace(/\\"/g,'"'),80;case 32:return e.yytext=i(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return e.yytext=e.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return t}();return e.lexer=r,t.prototype=e,e.Parser=t,new t}();e.default=r,t.exports=e.default},function(t,e,r){"use strict";function n(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=t}function i(t,e,r){void 0===e&&(e=t.length);var n=t[e-1],i=t[e-2];return n?"ContentStatement"===n.type?(i||!r?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(n.original):void 0:r}function o(t,e,r){void 0===e&&(e=-1);var n=t[e+1],i=t[e+2];return n?"ContentStatement"===n.type?(i||!r?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(n.original):void 0:r}function a(t,e,r){var n=t[null==e?0:e+1];if(n&&"ContentStatement"===n.type&&(r||!n.rightStripped)){var i=n.value;n.value=n.value.replace(r?/^\s+/:/^[ \t]*\r?\n?/,""),n.rightStripped=n.value!==i}}function s(t,e,r){var n=t[null==e?t.length-1:e-1];if(n&&"ContentStatement"===n.type&&(r||!n.leftStripped)){var i=n.value;return n.value=n.value.replace(r?/\s+$/:/[ \t]+$/,""),n.leftStripped=n.value!==i,n.leftStripped}}var l=r(1).default;e.__esModule=!0;var u=l(r(39));n.prototype=new u.default,n.prototype.Program=function(t){var e=!this.options.ignoreStandalone,r=!this.isRootSeen;this.isRootSeen=!0;for(var n=t.body,l=0,u=n.length;l0)throw new g.default("Invalid path: "+n,{loc:r});".."===l&&o++}}return{type:"PathExpression",data:t,depth:o,parts:i,original:n,loc:r}}function u(t,e,r,n,i,o){var a=n.charAt(3)||n.charAt(2),s="{"!==a&&"&"!==a;return{type:/\*/.test(n)?"Decorator":"MustacheStatement",path:t,params:e,hash:r,escaped:s,strip:i,loc:this.locInfo(o)}}function c(t,e,r,i){n(t,r);var o={type:"Program",body:e,strip:{},loc:i=this.locInfo(i)};return{type:"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:o,openStrip:{},inverseStrip:{},closeStrip:{},loc:i}}function h(t,e,r,i,o,a){i&&i.path&&n(t,i);var s=/\*/.test(t.open);e.blockParams=t.blockParams;var l=void 0,u=void 0;if(r){if(s)throw new g.default("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=i.strip),u=r.strip,l=r.program}return o&&(o=l,l=e,e=o),{type:s?"DecoratorBlock":"BlockStatement",path:t.path,params:t.params,hash:t.hash,program:e,inverse:l,openStrip:t.strip,inverseStrip:u,closeStrip:i&&i.strip,loc:this.locInfo(a)}}function f(t,e){if(!e&&t.length){var r=t[0].loc,n=t[t.length-1].loc;r&&n&&(e={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:t,strip:{},loc:e}}function p(t,e,r,i){return n(t,r),{type:"PartialBlockStatement",name:t.path,params:t.params,hash:t.hash,program:e,openStrip:t.strip,closeStrip:r&&r.strip,loc:this.locInfo(i)}}var d=r(1).default;e.__esModule=!0,e.SourceLocation=i,e.id=o,e.stripFlags=a,e.stripComment=s,e.preparePath=l,e.prepareMustache=u,e.prepareRawBlock=c,e.prepareBlock=h,e.prepareProgram=f,e.preparePartialBlock=p;var g=d(r(6))},function(t,e,r){"use strict";function n(){}function i(t,e,r){if(null==t||"string"!=typeof t&&"Program"!==t.type)throw new u.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+t);"data"in(e=e||{})||(e.data=!0),e.compat&&(e.useDepths=!0);var n=r.parse(t,e),i=(new r.Compiler).compile(n,e);return(new r.JavaScriptCompiler).compile(i,e)}function o(t,e,r){function n(){var n=r.parse(t,e),i=(new r.Compiler).compile(n,e),o=(new r.JavaScriptCompiler).compile(i,e,void 0,!0);return r.template(o)}function i(t,e){return o||(o=n()),o.call(this,t,e)}if(void 0===e&&(e={}),null==t||"string"!=typeof t&&"Program"!==t.type)throw new u.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+t);"data"in(e=c.extend({},e))||(e.data=!0),e.compat&&(e.useDepths=!0);var o=void 0;return i._setup=function(t){return o||(o=n()),o._setup(t)},i._child=function(t,e,r,i){return o||(o=n()),o._child(t,e,r,i)},i}function a(t,e){if(t===e)return!0;if(c.isArray(t)&&c.isArray(e)&&t.length===e.length){for(var r=0;r1)throw new u.default("Unsupported number of partial arguments: "+r.length,t);r.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):r.push({type:"PathExpression",parts:[],depth:0}));var n=t.name.original,i="SubExpression"===t.name.type;i&&this.accept(t.name),this.setupFullMustacheParams(t,e,void 0,!0);var o=t.indent||"";this.options.preventIndent&&o&&(this.opcode("appendContent",o),o=""),this.opcode("invokePartial",i,n,o),this.opcode("append")},PartialBlockStatement:function(t){this.PartialStatement(t)},MustacheStatement:function(t){this.SubExpression(t),t.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(t){this.DecoratorBlock(t)},ContentStatement:function(t){t.value&&this.opcode("appendContent",t.value)},CommentStatement:function(){},SubExpression:function(t){s(t);var e=this.classifySexpr(t);"simple"===e?this.simpleSexpr(t):"helper"===e?this.helperSexpr(t):this.ambiguousSexpr(t)},ambiguousSexpr:function(t,e,r){var n=t.path,i=n.parts[0],o=null!=e||null!=r;this.opcode("getContext",n.depth),this.opcode("pushProgram",e),this.opcode("pushProgram",r),n.strict=!0,this.accept(n),this.opcode("invokeAmbiguous",i,o)},simpleSexpr:function(t){var e=t.path;e.strict=!0,this.accept(e),this.opcode("resolvePossibleLambda")},helperSexpr:function(t,e,r){var n=this.setupFullMustacheParams(t,e,r),i=t.path,o=i.parts[0];if(this.options.knownHelpers[o])this.opcode("invokeKnownHelper",n.length,o);else{if(this.options.knownHelpersOnly)throw new u.default("You specified knownHelpersOnly, but used the unknown helper "+o,t);i.strict=!0,i.falsy=!0,this.accept(i),this.opcode("invokeHelper",n.length,i.original,h.default.helpers.simpleId(i))}},PathExpression:function(t){this.addDepth(t.depth),this.opcode("getContext",t.depth);var e=t.parts[0],r=h.default.helpers.scopedId(t),n=!t.depth&&!r&&this.blockParamIndex(e);n?this.opcode("lookupBlockParam",n,t.parts):e?t.data?(this.options.data=!0,this.opcode("lookupData",t.depth,t.parts,t.strict)):this.opcode("lookupOnContext",t.parts,t.falsy,t.strict,r):this.opcode("pushContext")},StringLiteral:function(t){this.opcode("pushString",t.value)},NumberLiteral:function(t){this.opcode("pushLiteral",t.value)},BooleanLiteral:function(t){this.opcode("pushLiteral",t.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(t){var e=t.pairs,r=0,n=e.length;for(this.opcode("pushHash");r=0)return[e,i]}}}},function(t,e,r){"use strict";function n(t){this.value=t}function i(){}function o(t,e,r,n){var i=e.popStack(),o=0,a=r.length;for(t&&a--;o0&&(e+=", "+r.join(", "));var n=0;for(var i in this.aliases){var o=this.aliases[i];this.aliases.hasOwnProperty(i)&&o.children&&o.referenceCount>1&&(e+=", alias"+ ++n+"="+i,o.children[0]="alias"+n)}var a=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var s=this.mergeSource(e);return t?(a.push(s),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),") {\n ",s,"}"])},mergeSource:function(t){var e=this.environment.isSimple,r=!this.forceBuffer,n=void 0,i=void 0,o=void 0,a=void 0;return this.source.each((function(t){t.appendToBuffer?(o?t.prepend(" + "):o=t,a=t):(o&&(i?o.prepend("buffer += "):n=!0,a.add(";"),o=a=void 0),i=!0,e||(r=!1))})),r?o?(o.prepend("return "),a.add(";")):i||this.source.push('return "";'):(t+=", buffer = "+(n?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),t&&this.source.prepend("var "+t.substring(2)+(n?"":";\n")),this.source.merge()},blockValue:function(t){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs(t,0,r);var n=this.popStack();r.splice(1,0,n),this.push(this.source.functionCall(e,"call",r))},ambiguousBlockValue:function(){var t=this.aliasable("container.hooks.blockHelperMissing"),e=[this.contextName(0)];this.setupHelperArgs("",0,e,!0),this.flushInline();var r=this.topStack();e.splice(1,0,r),this.pushSource(["if (!",this.lastHelper,") { ",r," = ",this.source.functionCall(t,"call",e),"}"])},appendContent:function(t){this.pendingContent?t=this.pendingContent+t:this.pendingLocation=this.source.currentLocation,this.pendingContent=t},append:function(){if(this.isInline())this.replaceStack((function(t){return[" != null ? ",t,' : ""']})),this.pushSource(this.appendToBuffer(this.popStack()));else{var t=this.popStack();this.pushSource(["if (",t," != null) { ",this.appendToBuffer(t,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(t){this.lastContext=t},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(t,e,r,n){var i=0;n||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(t[i++])),this.resolvePath("context",t,i,e,r)},lookupBlockParam:function(t,e){this.useBlockParams=!0,this.push(["blockParams[",t[0],"][",t[1],"]"]),this.resolvePath("context",e,1)},lookupData:function(t,e,r){t?this.pushStackLiteral("container.data(data, "+t+")"):this.pushStackLiteral("data"),this.resolvePath("data",e,0,!0,r)},resolvePath:function(t,e,r,n,i){var a=this;if(this.options.strict||this.options.assumeObjects)this.push(o(this.options.strict&&i,this,e,t));else for(var s=e.length;rthis.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var t=this.inlineStack;this.inlineStack=[];for(var e=0,r=t.length;e=200&&this.status<=299}get status(){throw new Error("not implemented")}getHeader(t){throw new Error("not implemented")}async getData(){throw new Error("not implemented")}}class i{constructor(t){this.url=t}async request({headers:t,credentials:e,signal:r}={}){throw new Error("request is not implemented")}}},function(t,e,r){"use strict";r.d(e,"a",(function(){return p}));var n,i=r(80),o=r(57),a=r(30),s=r(7),l=r(21),u=r(0),c=r(14),h=r(5),f=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),p=[],d=null;var g=function(t){function e(e){var r=t.call(this,e)||this;return r.container=null,r.renderedResolution,r.tempTransform=Object(s.d)(),r.pixelTransform=Object(s.d)(),r.inversePixelTransform=Object(s.d)(),r.context=null,r.containerReused=!1,r.pixelContext_=null,r.frameState=null,r}return f(e,t),e.prototype.getImageData=function(t,e,r){var n,i;d||((n=document.createElement("canvas")).width=1,n.height=1,d=n.getContext("2d")),d.clearRect(0,0,1,1);try{d.drawImage(t,e,r,1,1,0,0,1,1),i=d.getImageData(0,0,1,1).data}catch(t){return d=null,null}return i},e.prototype.getBackground=function(t){var e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0},e.prototype.useContainer=function(t,e,r){var n,i,o=this.getLayer().getClassName();t&&t.className===o&&(!r||t&&t.style.backgroundColor&&Object(h.b)(Object(l.a)(t.style.backgroundColor),Object(l.a)(r)))&&((s=t.firstElementChild)instanceof HTMLCanvasElement&&(i=s.getContext("2d")));if(i&&i.canvas.style.transform===e?(this.container=t,this.context=i,this.containerReused=!0):this.containerReused&&(this.container=null,this.context=null,this.containerReused=!1),!this.container){(n=document.createElement("div")).className=o;var a=n.style;a.position="absolute",a.width="100%",a.height="100%";var s=(i=Object(c.a)()).canvas;n.appendChild(s),(a=s.style).position="absolute",a.left="0",a.transformOrigin="top left",this.container=n,this.context=i}this.containerReused||!r||this.container.style.backgroundColor||(this.container.style.backgroundColor=r)},e.prototype.clipUnrotated=function(t,e,r){var n=Object(u.E)(r),i=Object(u.F)(r),o=Object(u.w)(r),a=Object(u.v)(r);Object(s.a)(e.coordinateToPixelTransform,n),Object(s.a)(e.coordinateToPixelTransform,i),Object(s.a)(e.coordinateToPixelTransform,o),Object(s.a)(e.coordinateToPixelTransform,a);var l=this.inversePixelTransform;Object(s.a)(l,n),Object(s.a)(l,i),Object(s.a)(l,o),Object(s.a)(l,a),t.save(),t.beginPath(),t.moveTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.lineTo(Math.round(a[0]),Math.round(a[1])),t.clip()},e.prototype.dispatchRenderEvent_=function(t,e,r){var n=this.getLayer();if(n.hasListener(t)){var i=new o.a(t,this.inversePixelTransform,r,e);n.dispatchEvent(i)}},e.prototype.preRender=function(t,e){this.frameState=e,this.dispatchRenderEvent_(a.a.PRERENDER,t,e)},e.prototype.postRender=function(t,e){this.dispatchRenderEvent_(a.a.POSTRENDER,t,e)},e.prototype.getRenderTransform=function(t,e,r,n,i,o,a){var l=i/2,u=o/2,c=n/e,h=-c,f=-t[0]+a,p=-t[1];return Object(s.b)(this.tempTransform,l,u,c,h,-r,f,p)},e.prototype.getDataAtPixel=function(t,e,r){var n=Object(s.a)(this.inversePixelTransform,t.slice()),i=this.context,o=this.getLayer().getExtent();if(o){var a=Object(s.a)(e.pixelToCoordinateTransform,t.slice());if(!Object(u.g)(o,a))return null}var l,c=Math.round(n[0]),h=Math.round(n[1]),f=this.pixelContext_;if(!f){var p=document.createElement("canvas");p.width=1,p.height=1,f=p.getContext("2d"),this.pixelContext_=f}f.clearRect(0,0,1,1);try{f.drawImage(i.canvas,c,h,1,1,0,0,1,1),l=f.getImageData(0,0,1,1).data}catch(t){return"SecurityError"===t.name?(this.pixelContext_=null,new Uint8Array):l}return 0===l[3]?null:l},e.prototype.disposeInternal=function(){delete this.frameState,t.prototype.disposeInternal.call(this)},e}(i.a);e.b=g},function(t,e,r){"use strict";var n=r(10),i=function(){function t(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}return t.prototype.canExpireCache=function(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark},t.prototype.expireCache=function(t){for(;this.canExpireCache();)this.pop()},t.prototype.clear=function(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null},t.prototype.containsKey=function(t){return this.entries_.hasOwnProperty(t)},t.prototype.forEach=function(t){for(var e=this.oldest_;e;)t(e.value_,e.key_,this),e=e.newer},t.prototype.get=function(t,e){var r=this.entries_[t];return Object(n.a)(void 0!==r,15),r===this.newest_||(r===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(r.newer.older=r.older,r.older.newer=r.newer),r.newer=null,r.older=this.newest_,this.newest_.newer=r,this.newest_=r),r.value_},t.prototype.remove=function(t){var e=this.entries_[t];return Object(n.a)(void 0!==e,15),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_},t.prototype.getCount=function(){return this.count_},t.prototype.getKeys=function(){var t,e=new Array(this.count_),r=0;for(t=this.newest_;t;t=t.older)e[r++]=t.key_;return e},t.prototype.getValues=function(){var t,e=new Array(this.count_),r=0;for(t=this.newest_;t;t=t.older)e[r++]=t.value_;return e},t.prototype.peekLast=function(){return this.oldest_.value_},t.prototype.peekLastKey=function(){return this.oldest_.key_},t.prototype.peekFirstKey=function(){return this.newest_.key_},t.prototype.peek=function(t){if(this.containsKey(t))return this.entries_[t].value_},t.prototype.pop=function(){var t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_},t.prototype.replace=function(t,e){this.get(t),this.entries_[t].value_=e},t.prototype.set=function(t,e){Object(n.a)(!(t in this.entries_),16);var r={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=r:this.oldest_=r,this.newest_=r,this.entries_[t]=r,++this.count_},t.prototype.setSize=function(t){this.highWaterMark=t},t}();e.a=i},function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return a}));var n,i=r(2),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});function a(t,e,r,n){var o=document.createElement("script"),a="olc_"+Object(i.c)(e);function s(){delete window[a],o.parentNode.removeChild(o)}o.async=!0,o.src=t+(-1==t.indexOf("?")?"?":"&")+(n||"callback")+"="+a;var l=setTimeout((function(){s(),r&&r()}),1e4);window[a]=function(t){clearTimeout(l),s(),e(t)},document.head.appendChild(o)}(function(t){function e(e){var r=this,n="Unexpected response status: "+e.status;return(r=t.call(this,n)||this).name="ResponseError",r.response=e,r}o(e,t)})(Error),function(t){function e(e){var r=t.call(this,"Failed to issue request")||this;return r.name="ClientError",r.client=e,r}o(e,t)}(Error)}).call(this,r(90))},function(t,e,r){"use strict";var n,i=r(2),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(t){function e(e){var r=this,n="Assertion failed. See https://openlayers.org/en/"+("latest"===i.a?i.a:"v"+i.a.split("-")[0])+"/doc/errors/#"+e+" for details.";return(r=t.call(this,n)||this).code=e,r.name="AssertionError",r.message=n,r}return o(e,t),e}(Error);e.a=a},function(t,e,r){"use strict";var n,i=r(38),o=r(6),a=r(2),s=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),l=function(t){function e(e,r,n,i){var o=t.call(this)||this;return o.extent=e,o.pixelRatio_=n,o.resolution=r,o.state=i,o}return s(e,t),e.prototype.changed=function(){this.dispatchEvent(o.a.CHANGE)},e.prototype.getExtent=function(){return this.extent},e.prototype.getImage=function(){return Object(a.b)()},e.prototype.getPixelRatio=function(){return this.pixelRatio_},e.prototype.getResolution=function(){return this.resolution},e.prototype.getState=function(){return this.state},e.prototype.load=function(){Object(a.b)()},e}(i.a);e.a=l},function(t,e,r){"use strict";var n,i=r(63),o=r(19),a=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return a(e,t),e.prototype.expireCache=function(t){for(;this.canExpireCache();){if(this.peekLast().getKey()in t)break;this.pop().release()}},e.prototype.pruneExceptNewestZ=function(){if(0!==this.getCount()){var t=this.peekFirstKey(),e=Object(o.b)(t)[0];this.forEach(function(t){t.tileCoord[0]!==e&&(this.remove(Object(o.d)(t.tileCoord)),t.release())}.bind(this))}},e}(i.a);e.a=s},function(t,e,r){"use strict";var n,i=r(36),o=r(6),a=r(43),s=r(9),l=r(79),u=r(49),c=r(3),h=r(0),f=r(8),p=r(14),d=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),g=function(t){function e(e,r,n,o,a,f,p,d,g,y,m,_){var v=t.call(this,a,s.a.IDLE,{interpolate:!!_})||this;v.renderEdges_=void 0!==m&&m,v.pixelRatio_=p,v.gutter_=d,v.canvas_=null,v.sourceTileGrid_=r,v.targetTileGrid_=o,v.wrappedTileCoord_=f||a,v.sourceTiles_=[],v.sourcesListenerKeys_=null,v.sourceZ_=0;var b=o.getTileCoordExtent(v.wrappedTileCoord_),x=v.targetTileGrid_.getExtent(),w=v.sourceTileGrid_.getExtent(),E=x?Object(h.B)(b,x):b;if(0===Object(h.u)(E))return v.state=s.a.EMPTY,v;var S=e.getExtent();S&&(w=w?Object(h.B)(w,S):S);var O=o.getResolution(v.wrappedTileCoord_[0]),I=Object(u.a)(e,n,E,O);if(!isFinite(I)||I<=0)return v.state=s.a.EMPTY,v;var C=void 0!==y?y:i.b;if(v.triangulation_=new l.a(e,n,E,w,I*C,O),0===v.triangulation_.getTriangles().length)return v.state=s.a.EMPTY,v;v.sourceZ_=r.getZForResolution(I);var T=v.triangulation_.calculateSourceExtent();if(w&&(e.canWrapX()?(T[1]=Object(c.b)(T[1],w[1],w[3]),T[3]=Object(c.b)(T[3],w[1],w[3])):T=Object(h.B)(T,w)),Object(h.u)(T)){for(var P=r.getTileRangeForExtentAndZ(T,v.sourceZ_),R=P.minX;R<=P.maxX;R++)for(var L=P.minY;L<=P.maxY;L++){var M=g(v.sourceZ_,R,L,p);M&&v.sourceTiles_.push(M)}0===v.sourceTiles_.length&&(v.state=s.a.EMPTY)}else v.state=s.a.EMPTY;return v}return d(e,t),e.prototype.getImage=function(){return this.canvas_},e.prototype.reproject_=function(){var t=[];if(this.sourceTiles_.forEach(function(e,r,n){e&&e.getState()==s.a.LOADED&&t.push({extent:this.sourceTileGrid_.getTileCoordExtent(e.tileCoord),image:e.getImage()})}.bind(this)),this.sourceTiles_.length=0,0===t.length)this.state=s.a.ERROR;else{var e=this.wrappedTileCoord_[0],r=this.targetTileGrid_.getTileSize(e),n="number"==typeof r?r:r[0],i="number"==typeof r?r:r[1],o=this.targetTileGrid_.getResolution(e),a=this.sourceTileGrid_.getResolution(this.sourceZ_),l=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=Object(u.d)(n,i,this.pixelRatio_,a,this.sourceTileGrid_.getExtent(),o,l,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=s.a.LOADED}this.changed()},e.prototype.load=function(){if(this.state==s.a.IDLE){this.state=s.a.LOADING,this.changed();var t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(function(e,r,n){var i=e.getState();if(i==s.a.IDLE||i==s.a.LOADING){t++;var a=Object(f.a)(e,o.a.CHANGE,(function(r){var n=e.getState();n!=s.a.LOADED&&n!=s.a.ERROR&&n!=s.a.EMPTY||(Object(f.c)(a),0===--t&&(this.unlistenSources_(),this.reproject_()))}),this);this.sourcesListenerKeys_.push(a)}}.bind(this)),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach((function(t,e,r){t.getState()==s.a.IDLE&&t.load()}))}},e.prototype.unlistenSources_=function(){this.sourcesListenerKeys_.forEach(f.c),this.sourcesListenerKeys_=null},e.prototype.release=function(){this.canvas_&&(Object(p.d)(this.canvas_.getContext("2d")),u.c.push(this.canvas_),this.canvas_=null),t.prototype.release.call(this)},e}(a.a);e.a=g},function(t,e,r){"use strict";var n,i=r(62),o=r(54),a=r(68),s=r(48),l=r(9),u=r(50),c=r(7),h=r(4),f=r(0),p=r(1),d=r(2),g=r(5),y=r(15),m=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),_=function(t){function e(e){var r=t.call(this,e)||this;return r.extentChanged=!0,r.renderedExtent_=null,r.renderedPixelRatio,r.renderedProjection=null,r.renderedRevision,r.renderedTiles=[],r.newTiles_=!1,r.tmpExtent=Object(f.k)(),r.tmpTileRange_=new s.b(0,0,0,0),r}return m(e,t),e.prototype.isDrawableTile=function(t){var e=this.getLayer(),r=t.getState(),n=e.getUseInterimTilesOnError();return r==l.a.LOADED||r==l.a.EMPTY||r==l.a.ERROR&&!n},e.prototype.getTile=function(t,e,r,n){var i=n.pixelRatio,o=n.viewState.projection,a=this.getLayer(),s=a.getSource().getTile(t,e,r,i,o);return s.getState()==l.a.ERROR&&(a.getUseInterimTilesOnError()?a.getPreload()>0&&(this.newTiles_=!0):s.setState(l.a.LOADED)),this.isDrawableTile(s)||(s=s.getInterimTile()),s},e.prototype.getData=function(t){var e=this.frameState;if(!e)return null;var r=this.getLayer(),n=Object(c.a)(e.pixelToCoordinateTransform,t.slice()),i=r.getExtent();if(i&&!Object(f.g)(i,n))return null;for(var s=e.pixelRatio,u=e.viewState.projection,h=e.viewState,p=r.getRenderSource(),d=p.getTileGridForProjection(h.projection),g=p.getTilePixelRatio(e.pixelRatio),m=d.getZForResolution(h.resolution);m>=d.getMinZoom();--m){var _=d.getTileCoordForCoordAndZ(n,m),v=p.getTile(m,_[1],_[2],s,u);if(!(v instanceof o.a||v instanceof a.a))return null;if(v.getState()===l.a.LOADED){var b=d.getOrigin(m),x=Object(y.d)(d.getTileSize(m)),w=d.getResolution(m),E=Math.floor(g*((n[0]-b[0])/w-_[1]*x[0])),S=Math.floor(g*((b[1]-n[1])/w-_[2]*x[1])),O=Math.round(g*p.getGutterForProjection(h.projection));return this.getImageData(v.getImage(),E+O,S+O)}}return null},e.prototype.loadedTileCallback=function(e,r,n){return!!this.isDrawableTile(n)&&t.prototype.loadedTileCallback.call(this,e,r,n)},e.prototype.prepareFrame=function(t){return!!this.getLayer().getSource()},e.prototype.renderFrame=function(t,e){var r=t.layerStatesArray[t.layerIndex],n=t.viewState,i=n.projection,o=n.resolution,a=n.center,s=n.rotation,y=t.pixelRatio,m=this.getLayer(),_=m.getSource(),v=_.getRevision(),b=_.getTileGridForProjection(i),x=b.getZForResolution(o,_.zDirection),w=b.getResolution(x),E=t.extent,S=t.viewState.resolution,O=_.getTilePixelRatio(y),I=Math.round(Object(f.G)(E)/S*y),C=Math.round(Object(f.A)(E)/S*y),T=r.extent&&Object(p.m)(r.extent,i);T&&(E=Object(f.B)(E,Object(p.m)(r.extent,i)));var P=w*I/2/O,R=w*C/2/O,L=[a[0]-P,a[1]-R,a[0]+P,a[1]+R],M=b.getTileRangeForExtentAndZ(E,x),A={};A[x]={};var N=this.createLoadedTileFinder(_,i,A),k=this.tmpExtent,j=this.tmpTileRange_;this.newTiles_=!1;for(var F=s?Object(f.C)(n.center,S,s,t.size):void 0,D=M.minX;D<=M.maxX;++D)for(var G=M.minY;G<=M.maxY;++G)if(!s||b.tileCoordIntersectsViewport([x,D,G],F)){var U=this.getTile(x,D,G,t);if(this.isDrawableTile(U)){var B=Object(d.c)(this);if(U.getState()==l.a.LOADED)A[x][U.tileCoord.toString()]=U,(ct=U.inTransition(B))&&1!==r.opacity&&(U.endTransition(B),ct=!1),this.newTiles_||!ct&&-1!==this.renderedTiles.indexOf(U)||(this.newTiles_=!0);if(1===U.getAlpha(B,t.time))continue}var z=b.getTileCoordChildTileRange(U.tileCoord,j,k),V=!1;z&&(V=N(x+1,z)),V||b.forEachTileCoordParentTileRange(U.tileCoord,N,j,k)}var q=w/o*y/O;Object(c.b)(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/y,1/y,s,-I/2,-C/2);var Y=Object(c.l)(this.pixelTransform);this.useContainer(e,Y,this.getBackground(t));var W=this.context,X=W.canvas;Object(c.e)(this.inversePixelTransform,this.pixelTransform),Object(c.b)(this.tempTransform,I/2,C/2,q,q,0,-I/2,-C/2),X.width!=I||X.height!=C?(X.width=I,X.height=C):this.containerReused||W.clearRect(0,0,I,C),T&&this.clipUnrotated(W,t,T),_.getInterpolate()||Object(h.a)(W,u.a),this.preRender(W,t),this.renderedTiles.length=0;var H,Z,K,J=Object.keys(A).map(Number);J.sort(g.i),1!==r.opacity||this.containerReused&&!_.getOpaque(t.viewState.projection)?(H=[],Z=[]):J=J.reverse();for(var Q=J.length-1;Q>=0;--Q){var $=J[Q],tt=_.getTilePixelSize($,y,i),et=b.getResolution($)/w,rt=tt[0]*et*q,nt=tt[1]*et*q,it=b.getTileCoordForCoordAndZ(Object(f.E)(L),$),ot=b.getTileCoordExtent(it),at=Object(c.a)(this.tempTransform,[O*(ot[0]-L[0])/w,O*(L[3]-ot[3])/w]),st=O*_.getGutterForProjection(i),lt=A[$];for(var ut in lt){var ct,ht=(U=lt[ut]).tileCoord,ft=it[1]-ht[1],pt=Math.round(at[0]-(ft-1)*rt),dt=it[2]-ht[2],gt=Math.round(at[1]-(dt-1)*nt),yt=pt-(D=Math.round(at[0]-ft*rt)),mt=gt-(G=Math.round(at[1]-dt*nt)),_t=x===$,vt=!1;if(!(ct=_t&&1!==U.getAlpha(Object(d.c)(this),t.time)))if(H){K=[D,G,D+yt,G,D+yt,G+mt,D,G+mt];for(var bt=0,xt=H.length;bt=a.width)return null;var c=Object(h.A)(o),f=Math.floor(a.height*((o[3]-n[1])/c));return f<0||f>=a.height?null:this.getImageData(a,l,f)},e.prototype.renderFrame=function(t,e){var r=this.image_,n=r.getExtent(),i=r.getResolution(),o=r.getPixelRatio(),a=t.layerStatesArray[t.layerIndex],s=t.pixelRatio,p=t.viewState,d=p.center,g=s*i/(p.resolution*o),y=t.extent,m=p.resolution,_=p.rotation,v=Math.round(Object(h.G)(y)/m*s),b=Math.round(Object(h.A)(y)/m*s);Object(u.b)(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,_,-v/2,-b/2),Object(u.e)(this.inversePixelTransform,this.pixelTransform);var x=Object(u.l)(this.pixelTransform);this.useContainer(e,x,this.getBackground(t));var w=this.context,E=w.canvas;E.width!=v||E.height!=b?(E.width=v,E.height=b):this.containerReused||w.clearRect(0,0,v,b);var S=!1,O=!0;if(a.extent){var I=Object(f.m)(a.extent,p.projection);(S=(O=Object(h.H)(I,t.extent))&&!Object(h.h)(I,t.extent))&&this.clipUnrotated(w,t,I)}var C=r.getImage(),T=Object(u.b)(this.tempTransform,v/2,b/2,g,g,0,o*(n[0]-d[0])/i,o*(d[1]-n[3])/i);this.renderedResolution=i*s/o;var P=C.width*T[0],R=C.height*T[3];if(this.getLayer().getSource().getInterpolate()||Object(c.a)(w,l.a),this.preRender(w,t),O&&P>=.5&&R>=.5){var L=T[4],M=T[5],A=a.opacity,N=void 0;1!==A&&(N=w.globalAlpha,w.globalAlpha=A),w.drawImage(C,0,0,+C.width,+C.height,L,M,P,R),1!==A&&(w.globalAlpha=N)}return this.postRender(w,t),S&&w.restore(),Object(c.a)(w,l.b),x!==E.style.transform&&(E.style.transform=x),this.container},e}(i.b);e.a=d},function(t,e,r){t.exports=function(){"use strict";function t(t,n,i,o,a){!function t(r,n,i,o,a){for(;o>i;){if(o-i>600){var s=o-i+1,l=n-i+1,u=Math.log(s),c=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*c*(s-c)/s)*(l-s/2<0?-1:1);t(r,n,Math.max(i,Math.floor(n-l*c/s+h)),Math.min(o,Math.floor(n+(s-l)*c/s+h)),a)}var f=r[n],p=i,d=o;for(e(r,i,n),a(r[o],f)>0&&e(r,i,o);p0;)d--}0===a(r[i],f)?e(r,i,d):e(r,++d,o),d<=n&&(i=d+1),n<=d&&(o=d-1)}}(t,n,i||0,o||t.length-1,a||r)}function e(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function r(t,e){return te?1:0}var n=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function i(t,e,r){if(!r)return e.indexOf(t);for(var n=0;n=t.minX&&e.maxY>=t.minY}function d(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function g(e,r,n,i,o){for(var a=[r,n];a.length;)if(!((n=a.pop())-(r=a.pop())<=i)){var s=r+Math.ceil((n-r)/i/2)*i;t(e,s,r,n,o),a.push(r,s,s,n)}}return n.prototype.all=function(){return this._all(this.data,[])},n.prototype.search=function(t){var e=this.data,r=[];if(!p(t,e))return r;for(var n=this.toBBox,i=[];e;){for(var o=0;o=0&&i[e].children.length>this._maxEntries;)this._split(i,e),e--;this._adjustParentBBoxes(n,i,e)},n.prototype._split=function(t,e){var r=t[e],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);var a=this._chooseSplitIndex(r,i,n),s=d(r.children.splice(a,r.children.length-a));s.height=r.height,s.leaf=r.leaf,o(r,this.toBBox),o(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(r,s)},n.prototype._splitRoot=function(t,e){this.data=d([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},n.prototype._chooseSplitIndex=function(t,e,r){for(var n,i,o,s,l,u,h,f=1/0,p=1/0,d=e;d<=r-e;d++){var g=a(t,0,d,this.toBBox),y=a(t,d,r,this.toBBox),m=(i=g,o=y,s=void 0,l=void 0,u=void 0,h=void 0,s=Math.max(i.minX,o.minX),l=Math.max(i.minY,o.minY),u=Math.min(i.maxX,o.maxX),h=Math.min(i.maxY,o.maxY),Math.max(0,u-s)*Math.max(0,h-l)),_=c(g)+c(y);m=e;p--){var d=t.children[p];s(l,t.leaf?i(d):d),u+=h(l)}return u},n.prototype._adjustParentBBoxes=function(t,e,r){for(var n=r;n>=0;n--)s(e[n],t)},n.prototype._condense=function(t){for(var e=t.length-1,r=void 0;e>=0;e--)0===t[e].children.length?e>0?(r=t[e-1].children).splice(r.indexOf(t[e]),1):this.clear():o(t[e],this.toBBox)},n}()},function(t,e,r){"use strict";var n,i=r(66),o=r(13),a=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),s=function(t){function e(e,r,n,i,a){var s=this,l=void 0!==a?o.a.IDLE:o.a.LOADED;return(s=t.call(this,e,r,n,l)||this).loader_=void 0!==a?a:null,s.canvas_=i,s.error_=null,s}return a(e,t),e.prototype.getError=function(){return this.error_},e.prototype.handleLoad_=function(t){t?(this.error_=t,this.state=o.a.ERROR):this.state=o.a.LOADED,this.changed()},e.prototype.load=function(){this.state==o.a.IDLE&&(this.state=o.a.LOADING,this.changed(),this.loader_(this.handleLoad_.bind(this)))},e.prototype.getImage=function(){return this.canvas_},e}(i.a);e.a=s},function(t,e,r){"use strict";(function(t){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var n=r(155),i=r(89),o=r(156);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function d(t,e){if(l.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return B(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(t).length;default:if(n)return B(t).length;e=(""+e).toLowerCase(),n=!0}}function g(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return T(this,e,r);case"latin1":case"binary":return P(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function y(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function m(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=l.from(e,n)),l.isBuffer(e))return 0===e.length?-1:_(t,e,r,n,i);if("number"==typeof e)return e&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):_(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function _(t,e,r,n,i){var o,a=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,s/=2,l/=2,r/=2}function u(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=r;os&&(r=s-l),o=r;o>=0;o--){for(var h=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var a=0;a>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:u>223?3:u>191?2:1;if(i+h<=r)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(o=t[i+1]))&&(l=(31&u)<<6|63&o)>127&&(c=l);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},l.prototype.compare=function(t,e,r,n,i){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(n>>>=0),a=(r>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(n,i),c=t.slice(e,r),h=0;hi)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return w(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function T(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function A(t,e,r,n,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function k(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function j(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function F(t,e,r,n,o){return o||j(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function D(t,e,r,n,o){return o||j(t,0,r,8),i.write(t,e,r,n,52,8),r+8}l.prototype.slice=function(t,e){var r,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e0&&(i*=256);)n+=this[t+--e]*i;return n},l.prototype.readUInt8=function(t,e){return e||M(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,e){return e||M(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,e){return e||M(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,e){return e||M(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUInt32BE=function(t,e){return e||M(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||M(t,e,this.length);for(var n=this[t],i=1,o=0;++o=(i*=128)&&(n-=Math.pow(2,8*e)),n},l.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||M(t,e,this.length);for(var n=e,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return e||M(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){e||M(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(t,e){e||M(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(t,e){return e||M(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return e||M(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return e||M(t,4,this.length),i.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return e||M(t,4,this.length),i.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return e||M(t,8,this.length),i.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return e||M(t,8,this.length),i.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e|=0,r|=0,n)||A(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+r},l.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,1,255,0),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},l.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):N(this,t,e,!0),e+2},l.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):N(this,t,e,!1),e+2},l.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):k(this,t,e,!0),e+4},l.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):k(this,t,e,!1),e+4},l.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);A(this,t,e,r,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},l.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e|=0,!n){var i=Math.pow(2,8*r-1);A(this,t,e,r,i-1,-i)}var o=r-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+r},l.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,1,127,-128),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):N(this,t,e,!0),e+2},l.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):N(this,t,e,!1),e+2},l.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):k(this,t,e,!0),e+4},l.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):k(this,t,e,!1),e+4},l.prototype.writeFloatLE=function(t,e,r){return F(this,t,e,!0,r)},l.prototype.writeFloatBE=function(t,e,r){return F(this,t,e,!1,r)},l.prototype.writeDoubleLE=function(t,e,r){return D(this,t,e,!0,r)},l.prototype.writeDoubleBE=function(t,e,r){return D(this,t,e,!1,r)},l.prototype.copy=function(t,e,r,n){if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+r];else if(o<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function z(t){return n.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(G,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(90))},function(t,e,r){"use strict";(function(t){var n,i,o=r(52),a=r(18),s=r(6),l=r(74),u=r(58),c=r(28),h=r(44),f=r(32),p=r(77),d=r(39),g=r(4),y=r(14),m=r(7),_=r(0),v=r(2),b=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),x=!0;try{new ImageData(10,10)}catch(t){x=!1}function w(t){var e=!0;try{new ImageData(10,10)}catch(t){e=!1}function r(t,r,n){return e?new ImageData(t,r,n):{data:t,width:r,height:n}}return function(e){var n=e.buffers,i=e.meta,o=e.imageOps,a=e.width,s=e.height,l=n.length,u=n[0].byteLength;if(o){for(var c=new Array(l),h=0;hthis._maxQueueLength;)this._queue.shift().callback(null,null)},e.prototype._dispatch=function(){if(!this._running&&0!==this._queue.length){var t=this._queue.shift();this._job=t;var e=t.inputs[0].width,r=t.inputs[0].height,n=t.inputs.map((function(t){return t.data.buffer})),i=this._workers.length;if(this._running=i,1!==i)for(var o=t.inputs[0].data.length,a=4*Math.ceil(o/4/i),s=0;s>1},t.prototype.heapify_=function(){var t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)},t.prototype.isEmpty=function(){return 0===this.elements_.length},t.prototype.isKeyQueued=function(t){return t in this.queuedElements_},t.prototype.isQueued=function(t){return this.isKeyQueued(this.keyFunction_(t))},t.prototype.siftUp_=function(t){for(var e=this.elements_,r=this.priorities_,n=e.length,i=e[t],o=r[t],a=t;t>1;){var s=this.getLeftChildIndex_(t),l=this.getRightChildIndex_(t),u=lt;){var a=this.getParentIndex_(e);if(!(n[a]>o))break;r[e]=r[a],n[e]=n[a],e=a}r[e]=i,n[e]=o},t.prototype.reprioritize=function(){var t,e,r,n=this.priorityFunction_,i=this.elements_,o=this.priorities_,s=0,l=i.length;for(e=0;e0;)n=(r=this.dequeue()[0]).getKey(),r.getState()!==l.a.IDLE||n in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[n]=!0,++this.tilesLoading_,++i,r.load())},e}(s);e.a=h;function f(t,e,r,n,i){if(!t||!(r in t.wantedTiles))return a;if(!t.wantedTiles[r][e.getKey()])return a;var o=t.viewState.center,s=n[0]-o[0],l=n[1]-o[1];return 65536*Math.log(i)+Math.sqrt(s*s+l*l)/i}},function(t,e,r){"use strict";function n(t,e,r,n,i){var o;for(e+=n;ethis.sourceWorldWidth_/2){var e=[[t.source[0][0],t.source[0][1]],[t.source[1][0],t.source[1][1]],[t.source[2][0],t.source[2][1]]];e[0][0]-b>this.sourceWorldWidth_/2&&(e[0][0]-=this.sourceWorldWidth_),e[1][0]-b>this.sourceWorldWidth_/2&&(e[1][0]-=this.sourceWorldWidth_),e[2][0]-b>this.sourceWorldWidth_/2&&(e[2][0]-=this.sourceWorldWidth_);var r=Math.min(e[0][0],e[1][0],e[2][0]);Math.max(e[0][0],e[1][0],e[2][0])-r.5&&f<1,g=!1;if(c>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){var y=Object(n.c)([t,e,r,i]);g=Object(n.G)(y)/this.targetWorldWidth_>.25||g}!d&&this.sourceProj_.isGlobal()&&f&&(g=f>.25||g)}if(!(!g&&this.maxSourceExtent_&&isFinite(h[0])&&isFinite(h[1])&&isFinite(h[2])&&isFinite(h[3]))||Object(n.H)(h,this.maxSourceExtent_)){var m=0;if(!(g||isFinite(a[0])&&isFinite(a[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(l[0])&&isFinite(l[1])&&isFinite(u[0])&&isFinite(u[1])))if(c>0)g=!0;else if(1!=(m=(isFinite(a[0])&&isFinite(a[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(l[0])&&isFinite(l[1])?0:2)+(isFinite(u[0])&&isFinite(u[1])?0:1))&&2!=m&&4!=m&&8!=m)return;if(c>0){if(!g){var _=[(t[0]+r[0])/2,(t[1]+r[1])/2],v=this.transformInv_(_),b=void 0;if(d)b=(Object(o.g)(a[0],p)+Object(o.g)(l[0],p))/2-Object(o.g)(v[0],p);else b=(a[0]+l[0])/2-v[0];var x=(a[1]+l[1])/2-v[1];g=b*b+x*x>this.errorThresholdSquared_}if(g){if(Math.abs(t[0]-r[0])<=Math.abs(t[1]-r[1])){var w=[(e[0]+r[0])/2,(e[1]+r[1])/2],E=this.transformInv_(w),S=[(i[0]+t[0])/2,(i[1]+t[1])/2],O=this.transformInv_(S);this.addQuad_(t,e,w,S,a,s,E,O,c-1),this.addQuad_(S,w,r,i,O,E,l,u,c-1)}else{var I=[(t[0]+e[0])/2,(t[1]+e[1])/2],C=this.transformInv_(I),T=[(r[0]+i[0])/2,(r[1]+i[1])/2],P=this.transformInv_(T);this.addQuad_(t,I,T,i,a,C,P,u,c-1),this.addQuad_(I,e,r,T,C,s,l,P,c-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}0==(11&m)&&this.addTriangle_(t,r,i,a,l,u),0==(14&m)&&this.addTriangle_(t,r,e,a,l,s),m&&(0==(13&m)&&this.addTriangle_(e,i,t,s,u,a),0==(7&m)&&this.addTriangle_(e,i,r,s,u,l))}},t.prototype.calculateSourceExtent=function(){var t=Object(n.k)();return this.triangles_.forEach((function(e,r,i){var o=e.source;Object(n.r)(t,o[0]),Object(n.r)(t,o[1]),Object(n.r)(t,o[2])})),t},t.prototype.getTriangles=function(){return this.triangles_},t}();e.a=a},function(t,e,r){"use strict";var n,i=r(6),o=r(13),a=r(34),s=r(2),l=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),u=function(t){function e(e){var r=t.call(this)||this;return r.ready=!0,r.boundHandleImageChange_=r.handleImageChange_.bind(r),r.layer_=e,r.declutterExecutorGroup=null,r}return l(e,t),e.prototype.getFeatures=function(t){return Object(s.b)()},e.prototype.getData=function(t){return null},e.prototype.prepareFrame=function(t){return Object(s.b)()},e.prototype.renderFrame=function(t,e){return Object(s.b)()},e.prototype.loadedTileCallback=function(t,e,r){t[e]||(t[e]={}),t[e][r.tileCoord.toString()]=r},e.prototype.createLoadedTileFinder=function(t,e,r){return function(n,i){var o=this.loadedTileCallback.bind(this,r,n);return t.forEachLoadedTile(e,n,i,o)}.bind(this)},e.prototype.forEachFeatureAtCoordinate=function(t,e,r,n,i){},e.prototype.getDataAtPixel=function(t,e,r){return null},e.prototype.getLayer=function(){return this.layer_},e.prototype.handleFontsChanged=function(){},e.prototype.handleImageChange_=function(t){t.target.getState()===o.a.LOADED&&this.renderIfReadyAndVisible()},e.prototype.loadImage=function(t){var e=t.getState();return e!=o.a.LOADED&&e!=o.a.ERROR&&t.addEventListener(i.a.CHANGE,this.boundHandleImageChange_),e==o.a.IDLE&&(t.load(),e=t.getState()),e==o.a.LOADED},e.prototype.renderIfReadyAndVisible=function(){var t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()},e.prototype.disposeInternal=function(){delete this.layer_,t.prototype.disposeInternal.call(this)},e}(a.a);e.a=u},function(t,e,r){"use strict";var n,i=r(35),o=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),a=function(t){function e(e){var r=e||{};return t.call(this,r)||this}return o(e,t),e}(i.a);e.a=a},function(t,e){t.exports='{{#*inline "layerswitcherLayer"}}\n {{#each layers}}\n
  • \n
    \n \n
    \n
    \n {{title}}\n
    \n {{#if visible}}\n {{#unless base}}\n
    \n \n \n
    \n {{/unless}}\n
    \n \n
    \n {{/if}}\n
  • \n {{/each}}\n {{/inline}}\n {{#*inline "layerswitcherGroup"}}\n {{#each layerGroups}}\n
  • \n
    \n \n
    \n
    \n {{title}}\n
    \n
    \n \n
    \n {{#unless collapsed}}\n {{#gt layerGroups.length 0}}\n
      \n {{> layerswitcherGroup}}\n
    \n {{/gt}}\n {{#gt layers.length 0}}\n
      \n {{> layerswitcherLayer group=id}}\n
    \n {{/gt}}\n {{/unless}}\n
  • \n {{/each}}\n {{/inline}}\n
    \n
    \n
      \n {{#gt baseLayers.length 0}}\n
    • \n
      Capas base
      \n
        \n {{> layerswitcherLayer layers=baseLayers}}\n
      \n
    • \n {{/gt}}\n {{#gt layerGroups.length 0}}\n
    • \n
      Grupos de capas
      \n
        \n {{> layerswitcherGroup }}\n
      \n
    • \n {{/gt}}\n {{#gt overlayLayers.length 0}}\n
    • \n
      Otras capas
      \n
        \n {{> layerswitcherLayer layers=overlayLayers}}\n
      \n
    • \n {{/gt}}\n
    \n
    \n
    '},function(t,e){ -/*! @petamoriken/float16 v3.7.1 | MIT License - https://github.com/petamoriken/float16 */ -!function(t){"use strict";const e="This constructor is not a subclass of Float16Array",r="The constructor property value is not an object",n="Attempting to access detached ArrayBuffer",i="Cannot convert undefined or null to object",o="Cannot mix BigInt and other types, use explicit conversions",a="@@iterator property is not callable",s="Reduce of empty array with no initial value",l="Offset is out of bounds";function u(t){return(e,...r)=>h(t,e,r)}function c(t,e){return u(g(t,e).get)}const{apply:h,construct:f,defineProperty:p,get:d,getOwnPropertyDescriptor:g,getPrototypeOf:y,has:m,ownKeys:_,set:v,setPrototypeOf:b}=Reflect,x=Proxy,{MAX_SAFE_INTEGER:w,isFinite:E,isNaN:S}=Number,{iterator:O,species:I,toStringTag:C,for:T}=Symbol,P=Object,{create:R,defineProperty:L,freeze:M,is:A}=P,N=P.prototype,k=N.__lookupGetter__?u(N.__lookupGetter__):(t,e)=>{if(null==t)throw Tt(i);let r=P(t);do{const t=g(r,e);if(void 0!==t)return j(t,"get")?t.get:void 0}while(null!==(r=y(r)))},j=P.hasOwn||u(N.hasOwnProperty),F=Array,D=F.isArray,G=F.prototype,U=u(G.join),B=u(G.push),z=u(G.toLocaleString),V=G[O],q=u(V),Y=Math.trunc,W=ArrayBuffer,X=W.isView,H=W.prototype,Z=u(H.slice),K=c(H,"byteLength"),J="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:null,Q=J&&c(J.prototype,"byteLength"),$=y(Uint8Array),tt=$.from,et=$.prototype,rt=et[O],nt=u(et.keys),it=u(et.values),ot=u(et.entries),at=u(et.set),st=u(et.reverse),lt=u(et.fill),ut=u(et.copyWithin),ct=u(et.sort),ht=u(et.slice),ft=u(et.subarray),pt=c(et,"buffer"),dt=c(et,"byteOffset"),gt=c(et,"length"),yt=c(et,C),mt=Uint16Array,_t=(...t)=>h(tt,mt,t),vt=Uint32Array,bt=Float32Array,xt=y([][O]()),wt=u(xt.next),Et=u(function*(){}().next),St=y(xt),Ot=DataView.prototype,It=u(Ot.getUint16),Ct=u(Ot.setUint16),Tt=TypeError,Pt=RangeError,Rt=WeakSet,Lt=Rt.prototype,Mt=u(Lt.add),At=u(Lt.has),Nt=WeakMap,kt=Nt.prototype,jt=u(kt.get),Ft=u(kt.has),Dt=u(kt.set),Gt=new Nt,Ut=R(null,{next:{value:function(){const t=jt(Gt,this);return wt(t)}},[O]:{value:function(){return this}}});function Bt(t){if(t[O]===V&&xt.next===wt)return t;const e=R(Ut);return Dt(Gt,e,q(t)),e}const zt=new Nt,Vt=R(St,{next:{value:function(){const t=jt(zt,this);return Et(t)},writable:!0,configurable:!0}});for(const t of _(xt))"next"!==t&&L(Vt,t,g(xt,t));function qt(t){const e=R(Vt);return Dt(zt,e,t),e}function Yt(t){return null!==t&&"object"==typeof t||"function"==typeof t}function Wt(t){return null!==t&&"object"==typeof t}function Xt(t){return void 0!==yt(t)}function Ht(t){const e=yt(t);return"BigInt64Array"===e||"BigUint64Array"===e}function Zt(t){return!!D(t)&&(t[O]===V&&xt.next===wt)}function Kt(t){if("string"!=typeof t)return!1;const e=+t;return t===e+""&&(!!E(e)&&e===Y(e))}const Jt=T("__Float16Array__");const Qt=new W(4),$t=new bt(Qt),te=new vt(Qt),ee=new vt(512),re=new vt(512);for(let t=0;t<256;++t){const e=t-127;e<-27?(ee[t]=0,ee[256|t]=32768,re[t]=24,re[256|t]=24):e<-14?(ee[t]=1024>>-e-14,ee[256|t]=1024>>-e-14|32768,re[t]=-e-1,re[256|t]=-e-1):e<=15?(ee[t]=e+15<<10,ee[256|t]=e+15<<10|32768,re[t]=13,re[256|t]=13):e<128?(ee[t]=31744,ee[256|t]=64512,re[t]=24,re[256|t]=24):(ee[t]=31744,ee[256|t]=64512,re[t]=13,re[256|t]=13)}function ne(t){$t[0]=t;const e=te[0],r=e>>23&511;return ee[r]+((8388607&e)>>re[r])}const ie=new vt(2048),oe=new vt(64),ae=new vt(64);for(let t=1;t<1024;++t){let e=t<<13,r=0;for(;0==(8388608&e);)e<<=1,r-=8388608;e&=-8388609,r+=947912704,ie[t]=e|r}for(let t=1024;t<2048;++t)ie[t]=939524096+(t-1024<<13);for(let t=1;t<31;++t)oe[t]=t<<23;oe[31]=1199570944,oe[32]=2147483648;for(let t=33;t<63;++t)oe[t]=2147483648+(t-32<<23);oe[63]=3347054592;for(let t=1;t<64;++t)32!==t&&(ae[t]=1024);function se(t){const e=t>>10;return te[0]=ie[ae[e]+(1023&t)]+oe[e],$t[0]}function le(t){const e=+t;return S(e)||0===e?0:Y(e)}function ue(t){const e=le(t);return e<0?0:ee)return 1;if(0===t&&0===e){const r=A(t,0),n=A(e,0);if(!r&&n)return-1;if(r&&!n)return 1}return 0}const pe=new Nt;function de(t){return Ft(pe,t)||!X(t)&&function(t){if(!Wt(t))return!1;const e=y(t);if(!Wt(e))return!1;const n=e.constructor;if(void 0===n)return!1;if(!Yt(n))throw Tt(r);return m(n,Jt)}(t)}function ge(t){if(!de(t))throw Tt("This is not a Float16Array object")}function ye(t,e){const r=de(t),n=Xt(t);if(!r&&!n)throw Tt("Species constructor didn't return TypedArray object");if("number"==typeof e){let n;if(r){const e=me(t);n=gt(e)}else n=gt(t);if(nKt(e)&&j(t,e)?se(d(t,e)):At(ve,k(t,e))?d(t,e):d(t,e,r),set:(t,e,r,n)=>Kt(e)&&j(t,e)?v(t,e,ne(r)):v(t,e,r,n),getOwnPropertyDescriptor(t,e){if(Kt(e)&&j(t,e)){const r=g(t,e);return r.value=se(r.value),r}return g(t,e)},defineProperty:(t,e,r)=>Kt(e)&&j(t,e)&&j(r,"value")?(r.value=ne(r.value),p(t,e,r)):p(t,e,r)});class xe{constructor(t,e,r){let i;if(de(t))i=f(mt,[me(t)],new.target);else if(Yt(t)&&!function(t){try{return K(t),!0}catch(t){return!1}}(t)){let e,r;if(Xt(t)){e=t,r=gt(t);if(he(pt(t)))throw Tt(n);if(Ht(t))throw Tt(o);const a=new W(2*r);i=f(mt,[a],new.target)}else{const n=t[O];if(null!=n&&"function"!=typeof n)throw Tt(a);null!=n?Zt(t)?(e=t,r=t.length):(e=[...t],r=e.length):(e=t,r=ue(e.length)),i=f(mt,[r],new.target)}for(let t=0;t=0?n:r+n;if(!(i<0||i>=r))return se(e[i])}with(t,e){ge(this);const r=me(this),n=gt(r),i=le(t),o=i>=0?i:n+i,a=+e;if(o<0||o>=n)throw Pt(l);const s=new mt(pt(r),dt(r),gt(r)),u=new xe(pt(ht(s)));return me(u)[o]=ne(a),u}map(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0],o=ce(r,xe);if(o===xe){const e=new xe(n),o=me(e);for(let e=0;e=0;--e)i=t(i,se(r[e]),e,this);return i}forEach(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0];for(let e=0;e=0;--e){const n=se(r[e]);if(h(t,i,[n,e,this]))return n}}findLastIndex(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0];for(let e=n-1;e>=0;--e){const n=se(r[e]);if(h(t,i,[n,e,this]))return e}return-1}every(t,...e){ge(this);const r=me(this),n=gt(r),i=e[0];for(let e=0;es)throw Pt(l);for(let t=0;tr(se(t),se(e))),this}toSorted(t){ge(this);const e=me(this);if(void 0!==t&&"function"!=typeof t)throw new Tt("The comparison function must be either a function or undefined");const r=void 0!==t?t:fe,n=new mt(pt(e),dt(e),gt(e)),i=new xe(pt(ht(n))),o=me(i);return ct(o,(t,e)=>r(se(t),se(e))),i}slice(t,e){ge(this);const r=me(this),i=ce(r,xe);if(i===xe){const n=new mt(pt(r),dt(r),gt(r));return new xe(pt(ht(n,t,e)))}const o=gt(r),a=le(t),s=void 0===e?o:le(e);let l,u;l=a===-1/0?0:a<0?o+a>0?o+a:0:o0?o+s:0:o0?u-l:0,h=new i(c);if(ye(h,c),0===c)return h;if(he(pt(r)))throw Tt(n);let f=0;for(;l=1?le(e[0]):n-1;if(i===-1/0)return-1;i>=0?i=i=0;--e)if(j(r,e)&&se(r[e])===t)return e;return-1}includes(t,...e){ge(this);const r=me(this),n=gt(r);let i=le(e[0]);if(i===1/0)return!1;i<0&&(i+=n,i<0&&(i=0));const o=S(t);for(let e=i;e=0;)t[e]=0}const i=256,o=286,a=30,s=15,l=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),u=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),c=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=new Array(576);n(f);const p=new Array(60);n(p);const d=new Array(512);n(d);const g=new Array(256);n(g);const y=new Array(29);n(y);const m=new Array(a);function _(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}let v,b,x;function w(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}n(m);const E=t=>t<256?d[t]:d[256+(t>>>7)],S=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},O=(t,e,r)=>{t.bi_valid>16-r?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<{O(t,r[2*e],r[2*e+1])},C=(t,e)=>{let r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1},T=(t,e,r)=>{const n=new Array(16);let i,o,a=0;for(i=1;i<=s;i++)a=a+r[i-1]<<1,n[i]=a;for(o=0;o<=e;o++){let e=t[2*o+1];0!==e&&(t[2*o]=C(n[e]++,e))}},P=t=>{let e;for(e=0;e{t.bi_valid>8?S(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},L=(t,e,r,n)=>{const i=2*e,o=2*r;return t[i]{const n=t.heap[r];let i=r<<1;for(;i<=t.heap_len&&(i{let n,o,a,s,c=0;if(0!==t.sym_next)do{n=255&t.pending_buf[t.sym_buf+c++],n+=(255&t.pending_buf[t.sym_buf+c++])<<8,o=t.pending_buf[t.sym_buf+c++],0===n?I(t,o,e):(a=g[o],I(t,a+i+1,e),s=l[a],0!==s&&(o-=y[a],O(t,o,s)),n--,a=E(n),I(t,a,r),s=u[a],0!==s&&(n-=m[a],O(t,n,s)))}while(c{const r=e.dyn_tree,n=e.stat_desc.static_tree,i=e.stat_desc.has_stree,o=e.stat_desc.elems;let a,l,u,c=-1;for(t.heap_len=0,t.heap_max=573,a=0;a>1;a>=1;a--)M(t,r,a);u=o;do{a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],M(t,r,1),l=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=l,r[2*u]=r[2*a]+r[2*l],t.depth[u]=(t.depth[a]>=t.depth[l]?t.depth[a]:t.depth[l])+1,r[2*a+1]=r[2*l+1]=u,t.heap[1]=u++,M(t,r,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const r=e.dyn_tree,n=e.max_code,i=e.stat_desc.static_tree,o=e.stat_desc.has_stree,a=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,u=e.stat_desc.max_length;let c,h,f,p,d,g,y=0;for(p=0;p<=s;p++)t.bl_count[p]=0;for(r[2*t.heap[t.heap_max]+1]=0,c=t.heap_max+1;c<573;c++)h=t.heap[c],p=r[2*r[2*h+1]+1]+1,p>u&&(p=u,y++),r[2*h+1]=p,h>n||(t.bl_count[p]++,d=0,h>=l&&(d=a[h-l]),g=r[2*h],t.opt_len+=g*(p+d),o&&(t.static_len+=g*(i[2*h+1]+d)));if(0!==y){do{for(p=u-1;0===t.bl_count[p];)p--;t.bl_count[p]--,t.bl_count[p+1]+=2,t.bl_count[u]--,y-=2}while(y>0);for(p=u;0!==p;p--)for(h=t.bl_count[p];0!==h;)f=t.heap[--c],f>n||(r[2*f+1]!==p&&(t.opt_len+=(p-r[2*f+1])*r[2*f],r[2*f+1]=p),h--)}})(t,e),T(r,c,t.bl_count)},k=(t,e,r)=>{let n,i,o=-1,a=e[1],s=0,l=7,u=4;for(0===a&&(l=138,u=3),e[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=e[2*(n+1)+1],++s{let n,i,o=-1,a=e[1],s=0,l=7,u=4;for(0===a&&(l=138,u=3),n=0;n<=r;n++)if(i=a,a=e[2*(n+1)+1],!(++s{O(t,0+(n?1:0),3),R(t),S(t,r),S(t,~r),r&&t.pending_buf.set(t.window.subarray(e,e+r),t.pending),t.pending+=r};var G={_tr_init:t=>{F||((()=>{let t,e,r,n,i;const h=new Array(16);for(r=0,n=0;n<28;n++)for(y[n]=r,t=0;t<1<>=7;n{let o,a,s=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e{let e;for(k(t,t.dyn_ltree,t.l_desc.max_code),k(t,t.dyn_dtree,t.d_desc.max_code),N(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*h[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=o&&(o=a)):o=a=r+5,r+4<=o&&-1!==e?D(t,e,r,n):4===t.strategy||a===o?(O(t,2+(n?1:0),3),A(t,f,p)):(O(t,4+(n?1:0),3),((t,e,r,n)=>{let i;for(O(t,e-257,5),O(t,r-1,5),O(t,n-4,4),i=0;i(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=r,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(g[r]+i+1)]++,t.dyn_dtree[2*E(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{O(t,2,3),I(t,256,f),(t=>{16===t.bi_valid?(S(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var U=(t,e,r,n)=>{let i=65535&t|0,o=t>>>16&65535|0,a=0;for(;0!==r;){a=r>2e3?2e3:r,r-=a;do{i=i+e[n++]|0,o=o+i|0}while(--a);i%=65521,o%=65521}return i|o<<16|0};const B=new Uint32Array((()=>{let t,e=[];for(var r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e})());var z=(t,e,r,n)=>{const i=B,o=n+r;t^=-1;for(let r=n;r>>8^i[255&(t^e[r])];return-1^t},V={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},q={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Y,_tr_stored_block:W,_tr_flush_block:X,_tr_tally:H,_tr_align:Z}=G,{Z_NO_FLUSH:K,Z_PARTIAL_FLUSH:J,Z_FULL_FLUSH:Q,Z_FINISH:$,Z_BLOCK:tt,Z_OK:et,Z_STREAM_END:rt,Z_STREAM_ERROR:nt,Z_DATA_ERROR:it,Z_BUF_ERROR:ot,Z_DEFAULT_COMPRESSION:at,Z_FILTERED:st,Z_HUFFMAN_ONLY:lt,Z_RLE:ut,Z_FIXED:ct,Z_DEFAULT_STRATEGY:ht,Z_UNKNOWN:ft,Z_DEFLATED:pt}=q,dt=258,gt=262,yt=42,mt=113,_t=666,vt=(t,e)=>(t.msg=V[e],e),bt=t=>2*t-(t>4?9:0),xt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},wt=t=>{let e,r,n,i=t.w_size;e=t.hash_size,n=e;do{r=t.head[--n],t.head[n]=r>=i?r-i:0}while(--e);e=i,n=e;do{r=t.prev[--n],t.prev[n]=r>=i?r-i:0}while(--e)};let Et=(t,e,r)=>(e<{const e=t.state;let r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+r),t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))},Ot=(t,e)=>{X(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,St(t.strm)},It=(t,e)=>{t.pending_buf[t.pending++]=e},Ct=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},Tt=(t,e,r,n)=>{let i=t.avail_in;return i>n&&(i=n),0===i?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),r),1===t.state.wrap?t.adler=U(t.adler,e,i,r):2===t.state.wrap&&(t.adler=z(t.adler,e,i,r)),t.next_in+=i,t.total_in+=i,i)},Pt=(t,e)=>{let r,n,i=t.max_chain_length,o=t.strstart,a=t.prev_length,s=t.nice_match;const l=t.strstart>t.w_size-gt?t.strstart-(t.w_size-gt):0,u=t.window,c=t.w_mask,h=t.prev,f=t.strstart+dt;let p=u[o+a-1],d=u[o+a];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(r=e,u[r+a]===d&&u[r+a-1]===p&&u[r]===u[o]&&u[++r]===u[o+1]){o+=2,r++;do{}while(u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&u[++o]===u[++r]&&oa){if(t.match_start=e,a=n,n>=s)break;p=u[o+a-1],d=u[o+a]}}}while((e=h[e&c])>l&&0!=--i);return a<=t.lookahead?a:t.lookahead},Rt=t=>{const e=t.w_size;let r,n,i;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-gt)&&(t.window.set(t.window.subarray(e,e+e-n),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),wt(t),n+=e),0===t.strm.avail_in)break;if(r=Tt(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=r,t.lookahead+t.insert>=3)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=Et(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=Et(t,t.ins_h,t.window[i+3-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let r,n,i,o=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,a=0,s=t.strm.avail_in;do{if(r=65535,i=t.bi_valid+42>>3,t.strm.avail_outn+t.strm.avail_in&&(r=n+t.strm.avail_in),r>i&&(r=i),r>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,St(t.strm),n&&(n>r&&(n=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+n),t.strm.next_out),t.strm.next_out+=n,t.strm.avail_out-=n,t.strm.total_out+=n,t.block_start+=n,r-=n),r&&(Tt(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(0===a);return s-=t.strm.avail_in,s&&(s>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=s&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-s,t.strm.next_in),t.strstart),t.strstart+=s,t.insert+=s>t.w_size-t.insert?t.w_size-t.insert:s),t.block_start=t.strstart),t.high_wateri&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,i+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),i>t.strm.avail_in&&(i=t.strm.avail_in),i&&(Tt(t.strm,t.window,t.strstart,i),t.strstart+=i,t.insert+=i>t.w_size-t.insert?t.w_size-t.insert:i),t.high_water>3,i=t.pending_buf_size-i>65535?65535:t.pending_buf_size-i,o=i>t.w_size?t.w_size:i,n=t.strstart-t.block_start,(n>=o||(n||e===$)&&e!==K&&0===t.strm.avail_in&&n<=i)&&(r=n>i?i:n,a=e===$&&0===t.strm.avail_in&&r===n?1:0,W(t,t.block_start,r,a),t.block_start+=r,St(t.strm)),a?3:1)},Mt=(t,e)=>{let r,n;for(;;){if(t.lookahead=3&&(t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-gt&&(t.match_length=Pt(t,r)),t.match_length>=3)if(n=H(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=Et(t,t.ins_h,t.window[t.strstart+1]);else n=H(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(Ot(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2},At=(t,e)=>{let r,n,i;for(;;){if(t.lookahead=3&&(t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-3,n=H(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=i&&(t.ins_h=Et(t,t.ins_h,t.window[t.strstart+3-1]),r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(Ot(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=H(t,0,t.window[t.strstart-1]),n&&Ot(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=H(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2};function Nt(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}const kt=[new Nt(0,0,0,0,Lt),new Nt(4,4,8,4,Mt),new Nt(4,5,16,8,Mt),new Nt(4,6,32,32,Mt),new Nt(4,4,16,16,At),new Nt(8,16,32,32,At),new Nt(8,16,128,128,At),new Nt(8,32,128,256,At),new Nt(32,128,258,1024,At),new Nt(32,258,258,4096,At)];function jt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=pt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),xt(this.dyn_ltree),xt(this.dyn_dtree),xt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),xt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),xt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Ft=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==yt&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==mt&&e.status!==_t?1:0},Dt=t=>{if(Ft(t))return vt(t,nt);t.total_in=t.total_out=0,t.data_type=ft;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?yt:mt,t.adler=2===e.wrap?0:1,e.last_flush=-2,Y(e),et},Gt=t=>{const e=Dt(t);var r;return e===et&&((r=t.state).window_size=2*r.w_size,xt(r.head),r.max_lazy_match=kt[r.level].max_lazy,r.good_match=kt[r.level].good_length,r.nice_match=kt[r.level].nice_length,r.max_chain_length=kt[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0),e},Ut=(t,e,r,n,i,o)=>{if(!t)return nt;let a=1;if(e===at&&(e=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),i<1||i>9||r!==pt||n<8||n>15||e<0||e>9||o<0||o>ct||8===n&&1!==a)return vt(t,nt);8===n&&(n=9);const s=new jt;return t.state=s,s.strm=t,s.status=yt,s.wrap=a,s.gzhead=null,s.w_bits=n,s.w_size=1<Ut(t,e,pt,15,8,ht),deflateInit2:Ut,deflateReset:Gt,deflateResetKeep:Dt,deflateSetHeader:(t,e)=>Ft(t)||2!==t.state.wrap?nt:(t.state.gzhead=e,et),deflate:(t,e)=>{if(Ft(t)||e>tt||e<0)return t?vt(t,nt):nt;const r=t.state;if(!t.output||0!==t.avail_in&&!t.input||r.status===_t&&e!==$)return vt(t,0===t.avail_out?ot:nt);const n=r.last_flush;if(r.last_flush=e,0!==r.pending){if(St(t),0===t.avail_out)return r.last_flush=-1,et}else if(0===t.avail_in&&bt(e)<=bt(n)&&e!==$)return vt(t,ot);if(r.status===_t&&0!==t.avail_in)return vt(t,ot);if(r.status===yt&&0===r.wrap&&(r.status=mt),r.status===yt){let e=pt+(r.w_bits-8<<4)<<8,n=-1;if(n=r.strategy>=lt||r.level<2?0:r.level<6?1:6===r.level?2:3,e|=n<<6,0!==r.strstart&&(e|=32),e+=31-e%31,Ct(r,e),0!==r.strstart&&(Ct(r,t.adler>>>16),Ct(r,65535&t.adler)),t.adler=1,r.status=mt,St(t),0!==r.pending)return r.last_flush=-1,et}if(57===r.status)if(t.adler=0,It(r,31),It(r,139),It(r,8),r.gzhead)It(r,(r.gzhead.text?1:0)+(r.gzhead.hcrc?2:0)+(r.gzhead.extra?4:0)+(r.gzhead.name?8:0)+(r.gzhead.comment?16:0)),It(r,255&r.gzhead.time),It(r,r.gzhead.time>>8&255),It(r,r.gzhead.time>>16&255),It(r,r.gzhead.time>>24&255),It(r,9===r.level?2:r.strategy>=lt||r.level<2?4:0),It(r,255&r.gzhead.os),r.gzhead.extra&&r.gzhead.extra.length&&(It(r,255&r.gzhead.extra.length),It(r,r.gzhead.extra.length>>8&255)),r.gzhead.hcrc&&(t.adler=z(t.adler,r.pending_buf,r.pending,0)),r.gzindex=0,r.status=69;else if(It(r,0),It(r,0),It(r,0),It(r,0),It(r,0),It(r,9===r.level?2:r.strategy>=lt||r.level<2?4:0),It(r,3),r.status=mt,St(t),0!==r.pending)return r.last_flush=-1,et;if(69===r.status){if(r.gzhead.extra){let e=r.pending,n=(65535&r.gzhead.extra.length)-r.gzindex;for(;r.pending+n>r.pending_buf_size;){let i=r.pending_buf_size-r.pending;if(r.pending_buf.set(r.gzhead.extra.subarray(r.gzindex,r.gzindex+i),r.pending),r.pending=r.pending_buf_size,r.gzhead.hcrc&&r.pending>e&&(t.adler=z(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex+=i,St(t),0!==r.pending)return r.last_flush=-1,et;e=0,n-=i}let i=new Uint8Array(r.gzhead.extra);r.pending_buf.set(i.subarray(r.gzindex,r.gzindex+n),r.pending),r.pending+=n,r.gzhead.hcrc&&r.pending>e&&(t.adler=z(t.adler,r.pending_buf,r.pending-e,e)),r.gzindex=0}r.status=73}if(73===r.status){if(r.gzhead.name){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n)),St(t),0!==r.pending)return r.last_flush=-1,et;n=0}e=r.gzindexn&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n)),r.gzindex=0}r.status=91}if(91===r.status){if(r.gzhead.comment){let e,n=r.pending;do{if(r.pending===r.pending_buf_size){if(r.gzhead.hcrc&&r.pending>n&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n)),St(t),0!==r.pending)return r.last_flush=-1,et;n=0}e=r.gzindexn&&(t.adler=z(t.adler,r.pending_buf,r.pending-n,n))}r.status=103}if(103===r.status){if(r.gzhead.hcrc){if(r.pending+2>r.pending_buf_size&&(St(t),0!==r.pending))return r.last_flush=-1,et;It(r,255&t.adler),It(r,t.adler>>8&255),t.adler=0}if(r.status=mt,St(t),0!==r.pending)return r.last_flush=-1,et}if(0!==t.avail_in||0!==r.lookahead||e!==K&&r.status!==_t){let n=0===r.level?Lt(r,e):r.strategy===lt?((t,e)=>{let r;for(;;){if(0===t.lookahead&&(Rt(t),0===t.lookahead)){if(e===K)return 1;break}if(t.match_length=0,r=H(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(Ot(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2})(r,e):r.strategy===ut?((t,e)=>{let r,n,i,o;const a=t.window;for(;;){if(t.lookahead<=dt){if(Rt(t),t.lookahead<=dt&&e===K)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=t.strstart-1,n=a[i],n===a[++i]&&n===a[++i]&&n===a[++i])){o=t.strstart+dt;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=H(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=H(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(Ot(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===$?(Ot(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(Ot(t,!1),0===t.strm.avail_out)?1:2})(r,e):kt[r.level].func(r,e);if(3!==n&&4!==n||(r.status=_t),1===n||3===n)return 0===t.avail_out&&(r.last_flush=-1),et;if(2===n&&(e===J?Z(r):e!==tt&&(W(r,0,0,!1),e===Q&&(xt(r.head),0===r.lookahead&&(r.strstart=0,r.block_start=0,r.insert=0))),St(t),0===t.avail_out))return r.last_flush=-1,et}return e!==$?et:r.wrap<=0?rt:(2===r.wrap?(It(r,255&t.adler),It(r,t.adler>>8&255),It(r,t.adler>>16&255),It(r,t.adler>>24&255),It(r,255&t.total_in),It(r,t.total_in>>8&255),It(r,t.total_in>>16&255),It(r,t.total_in>>24&255)):(Ct(r,t.adler>>>16),Ct(r,65535&t.adler)),St(t),r.wrap>0&&(r.wrap=-r.wrap),0!==r.pending?et:rt)},deflateEnd:t=>{if(Ft(t))return nt;const e=t.state.status;return t.state=null,e===mt?vt(t,it):et},deflateSetDictionary:(t,e)=>{let r=e.length;if(Ft(t))return nt;const n=t.state,i=n.wrap;if(2===i||1===i&&n.status!==yt||n.lookahead)return nt;if(1===i&&(t.adler=U(t.adler,e,r,0)),n.wrap=0,r>=n.w_size){0===i&&(xt(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(r-n.w_size,r),0),e=t,r=n.w_size}const o=t.avail_in,a=t.next_in,s=t.input;for(t.avail_in=r,t.next_in=0,t.input=e,Rt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=Et(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,Rt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=a,t.input=s,t.avail_in=o,n.wrap=i,et},deflateInfo:"pako deflate (from Nodeca project)"};const zt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Vt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(const e in r)zt(r,e)&&(t[e]=r[e])}}return t},qt=t=>{let e=0;for(let r=0,n=t.length;r=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Wt[254]=Wt[254]=1;var Xt=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,r,n,i,o,a=t.length,s=0;for(i=0;i>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},Ht=(t,e)=>{const r=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let n,i;const o=new Array(2*r);for(i=0,n=0;n4)o[i++]=65533,n+=a-1;else{for(e&=2===a?31:3===a?15:7;a>1&&n1?o[i++]=65533:e<65536?o[i++]=e:(e-=65536,o[i++]=55296|e>>10&1023,o[i++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Yt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let r="";for(let n=0;n{(e=e||t.length)>t.length&&(e=t.length);let r=e-1;for(;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+Wt[t[r]]>e?r:e};var Kt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Jt=Object.prototype.toString,{Z_NO_FLUSH:Qt,Z_SYNC_FLUSH:$t,Z_FULL_FLUSH:te,Z_FINISH:ee,Z_OK:re,Z_STREAM_END:ne,Z_DEFAULT_COMPRESSION:ie,Z_DEFAULT_STRATEGY:oe,Z_DEFLATED:ae}=q;function se(t){this.options=Vt({level:ie,method:ae,chunkSize:16384,windowBits:15,memLevel:8,strategy:oe},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Kt,this.strm.avail_out=0;let r=Bt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==re)throw new Error(V[r]);if(e.header&&Bt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Xt(e.dictionary):"[object ArrayBuffer]"===Jt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=Bt.deflateSetDictionary(this.strm,t),r!==re)throw new Error(V[r]);this._dict_set=!0}}function le(t,e){const r=new se(e);if(r.push(t,!0),r.err)throw r.msg||V[r.err];return r.result}se.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize;let i,o;if(this.ended)return!1;for(o=e===~~e?e:!0===e?ee:Qt,"string"==typeof t?r.input=Xt(t):"[object ArrayBuffer]"===Jt.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;)if(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),(o===$t||o===te)&&r.avail_out<=6)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else{if(i=Bt.deflate(r,o),i===ne)return r.next_out>0&&this.onData(r.output.subarray(0,r.next_out)),i=Bt.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===re;if(0!==r.avail_out){if(o>0&&r.next_out>0)this.onData(r.output.subarray(0,r.next_out)),r.avail_out=0;else if(0===r.avail_in)break}else this.onData(r.output)}return!0},se.prototype.onData=function(t){this.chunks.push(t)},se.prototype.onEnd=function(t){t===re&&(this.result=qt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ue={Deflate:se,deflate:le,deflateRaw:function(t,e){return(e=e||{}).raw=!0,le(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,le(t,e)},constants:q};const ce=16209;var he=function(t,e){let r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v,b,x,w,E,S,O;const I=t.state;r=t.next_in,S=t.input,n=r+(t.avail_in-5),i=t.next_out,O=t.output,o=i-(e-t.avail_out),a=i+(t.avail_out-257),s=I.dmax,l=I.wsize,u=I.whave,c=I.wnext,h=I.window,f=I.hold,p=I.bits,d=I.lencode,g=I.distcode,y=(1<>>24,f>>>=v,p-=v,v=_>>>16&255,0===v)O[i++]=65535&_;else{if(!(16&v)){if(0==(64&v)){_=d[(65535&_)+(f&(1<>>=v,p-=v),p<15&&(f+=S[r++]<>>24,f>>>=v,p-=v,v=_>>>16&255,!(16&v)){if(0==(64&v)){_=g[(65535&_)+(f&(1<s){t.msg="invalid distance too far back",I.mode=ce;break t}if(f>>>=v,p-=v,v=i-o,x>v){if(v=x-v,v>u&&I.sane){t.msg="invalid distance too far back",I.mode=ce;break t}if(w=0,E=h,0===c){if(w+=l-v,v2;)O[i++]=E[w++],O[i++]=E[w++],O[i++]=E[w++],b-=3;b&&(O[i++]=E[w++],b>1&&(O[i++]=E[w++]))}else{w=i-x;do{O[i++]=O[w++],O[i++]=O[w++],O[i++]=O[w++],b-=3}while(b>2);b&&(O[i++]=O[w++],b>1&&(O[i++]=O[w++]))}break}}break}}while(r>3,r-=b,p-=b<<3,f&=(1<{const l=s.bits;let u,c,h,f,p,d,g=0,y=0,m=0,_=0,v=0,b=0,x=0,w=0,E=0,S=0,O=null;const I=new Uint16Array(16),C=new Uint16Array(16);let T,P,R,L=null;for(g=0;g<=fe;g++)I[g]=0;for(y=0;y=1&&0===I[_];_--);if(v>_&&(v=_),0===_)return i[o++]=20971520,i[o++]=20971520,s.bits=1,0;for(m=1;m<_&&0===I[m];m++);for(v0&&(0===t||1!==_))return-1;for(C[1]=0,g=1;g852||2===t&&E>592)return 1;for(;;){T=g-x,a[y]+1=d?(P=L[a[y]-d],R=O[a[y]-d]):(P=96,R=0),u=1<>x)+c]=T<<24|P<<16|R|0}while(0!==c);for(u=1<>=1;if(0!==u?(S&=u-1,S+=u):S=0,y++,0==--I[g]){if(g===_)break;g=e[r+a[y]]}if(g>v&&(S&f)!==h){for(0===x&&(x=v),p+=m,b=g-x,w=1<852||2===t&&E>592)return 1;h=S&f,i[h]=v<<24|b<<16|p-o|0}}return 0!==S&&(i[p+S]=g-x<<24|64<<16|0),s.bits=v,0};const{Z_FINISH:_e,Z_BLOCK:ve,Z_TREES:be,Z_OK:xe,Z_STREAM_END:we,Z_NEED_DICT:Ee,Z_STREAM_ERROR:Se,Z_DATA_ERROR:Oe,Z_MEM_ERROR:Ie,Z_BUF_ERROR:Ce,Z_DEFLATED:Te}=q,Pe=16180,Re=16190,Le=16191,Me=16192,Ae=16194,Ne=16199,ke=16200,je=16206,Fe=16209,De=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function Ge(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Ue=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode16211?1:0},Be=t=>{if(Ue(t))return Se;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Pe,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,xe},ze=t=>{if(Ue(t))return Se;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Be(t)},Ve=(t,e)=>{let r;if(Ue(t))return Se;const n=t.state;return e<0?(r=0,e=-e):(r=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?Se:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,ze(t))},qe=(t,e)=>{if(!t)return Se;const r=new Ge;t.state=r,r.strm=t,r.window=null,r.mode=Pe;const n=Ve(t,e);return n!==xe&&(t.state=null),n};let Ye,We,Xe=!0;const He=t=>{if(Xe){Ye=new Int32Array(512),We=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(me(1,t.lens,0,288,Ye,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;me(2,t.lens,0,32,We,0,t.work,{bits:5}),Xe=!1}t.lencode=Ye,t.lenbits=9,t.distcode=We,t.distbits=5},Ze=(t,e,r,n)=>{let i;const o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?(o.window.set(e.subarray(r-o.wsize,r),0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>n&&(i=n),o.window.set(e.subarray(r-n,r-n+i),o.wnext),(n-=i)?(o.window.set(e.subarray(r-n,r),0),o.wnext=n,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whaveqe(t,15),inflateInit2:qe,inflate:(t,e)=>{let r,n,i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v,b,x,w,E,S=0;const O=new Uint8Array(4);let I,C;const T=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ue(t)||!t.output||!t.input&&0!==t.avail_in)return Se;r=t.state,r.mode===Le&&(r.mode=Me),a=t.next_out,i=t.output,l=t.avail_out,o=t.next_in,n=t.input,s=t.avail_in,u=r.hold,c=r.bits,h=s,f=l,E=xe;t:for(;;)switch(r.mode){case Pe:if(0===r.wrap){r.mode=Me;break}for(;c<16;){if(0===s)break t;s--,u+=n[o++]<>>8&255,r.check=z(r.check,O,2,0),u=0,c=0,r.mode=16181;break}if(r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=Fe;break}if((15&u)!==Te){t.msg="unknown compression method",r.mode=Fe;break}if(u>>>=4,c-=4,w=8+(15&u),0===r.wbits&&(r.wbits=w),w>15||w>r.wbits){t.msg="invalid window size",r.mode=Fe;break}r.dmax=1<>8&1),512&r.flags&&4&r.wrap&&(O[0]=255&u,O[1]=u>>>8&255,r.check=z(r.check,O,2,0)),u=0,c=0,r.mode=16182;case 16182:for(;c<32;){if(0===s)break t;s--,u+=n[o++]<>>8&255,O[2]=u>>>16&255,O[3]=u>>>24&255,r.check=z(r.check,O,4,0)),u=0,c=0,r.mode=16183;case 16183:for(;c<16;){if(0===s)break t;s--,u+=n[o++]<>8),512&r.flags&&4&r.wrap&&(O[0]=255&u,O[1]=u>>>8&255,r.check=z(r.check,O,2,0)),u=0,c=0,r.mode=16184;case 16184:if(1024&r.flags){for(;c<16;){if(0===s)break t;s--,u+=n[o++]<>>8&255,r.check=z(r.check,O,2,0)),u=0,c=0}else r.head&&(r.head.extra=null);r.mode=16185;case 16185:if(1024&r.flags&&(p=r.length,p>s&&(p=s),p&&(r.head&&(w=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(o,o+p),w)),512&r.flags&&4&r.wrap&&(r.check=z(r.check,n,p,o)),s-=p,o+=p,r.length-=p),r.length))break t;r.length=0,r.mode=16186;case 16186:if(2048&r.flags){if(0===s)break t;p=0;do{w=n[o+p++],r.head&&w&&r.length<65536&&(r.head.name+=String.fromCharCode(w))}while(w&&p>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=Le;break;case 16189:for(;c<32;){if(0===s)break t;s--,u+=n[o++]<>>=7&c,c-=7&c,r.mode=je;break}for(;c<3;){if(0===s)break t;s--,u+=n[o++]<>>=1,c-=1,3&u){case 0:r.mode=16193;break;case 1:if(He(r),r.mode=Ne,e===be){u>>>=2,c-=2;break t}break;case 2:r.mode=16196;break;case 3:t.msg="invalid block type",r.mode=Fe}u>>>=2,c-=2;break;case 16193:for(u>>>=7&c,c-=7&c;c<32;){if(0===s)break t;s--,u+=n[o++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=Fe;break}if(r.length=65535&u,u=0,c=0,r.mode=Ae,e===be)break t;case Ae:r.mode=16195;case 16195:if(p=r.length,p){if(p>s&&(p=s),p>l&&(p=l),0===p)break t;i.set(n.subarray(o,o+p),a),s-=p,o+=p,l-=p,a+=p,r.length-=p;break}r.mode=Le;break;case 16196:for(;c<14;){if(0===s)break t;s--,u+=n[o++]<>>=5,c-=5,r.ndist=1+(31&u),u>>>=5,c-=5,r.ncode=4+(15&u),u>>>=4,c-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=Fe;break}r.have=0,r.mode=16197;case 16197:for(;r.have>>=3,c-=3}for(;r.have<19;)r.lens[T[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,I={bits:r.lenbits},E=me(0,r.lens,0,19,r.lencode,0,r.work,I),r.lenbits=I.bits,E){t.msg="invalid code lengths set",r.mode=Fe;break}r.have=0,r.mode=16198;case 16198:for(;r.have>>24,m=S>>>16&255,_=65535&S,!(y<=c);){if(0===s)break t;s--,u+=n[o++]<>>=y,c-=y,r.lens[r.have++]=_;else{if(16===_){for(C=y+2;c>>=y,c-=y,0===r.have){t.msg="invalid bit length repeat",r.mode=Fe;break}w=r.lens[r.have-1],p=3+(3&u),u>>>=2,c-=2}else if(17===_){for(C=y+3;c>>=y,c-=y,w=0,p=3+(7&u),u>>>=3,c-=3}else{for(C=y+7;c>>=y,c-=y,w=0,p=11+(127&u),u>>>=7,c-=7}if(r.have+p>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=Fe;break}for(;p--;)r.lens[r.have++]=w}}if(r.mode===Fe)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=Fe;break}if(r.lenbits=9,I={bits:r.lenbits},E=me(1,r.lens,0,r.nlen,r.lencode,0,r.work,I),r.lenbits=I.bits,E){t.msg="invalid literal/lengths set",r.mode=Fe;break}if(r.distbits=6,r.distcode=r.distdyn,I={bits:r.distbits},E=me(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,I),r.distbits=I.bits,E){t.msg="invalid distances set",r.mode=Fe;break}if(r.mode=Ne,e===be)break t;case Ne:r.mode=ke;case ke:if(s>=6&&l>=258){t.next_out=a,t.avail_out=l,t.next_in=o,t.avail_in=s,r.hold=u,r.bits=c,he(t,f),a=t.next_out,i=t.output,l=t.avail_out,o=t.next_in,n=t.input,s=t.avail_in,u=r.hold,c=r.bits,r.mode===Le&&(r.back=-1);break}for(r.back=0;S=r.lencode[u&(1<>>24,m=S>>>16&255,_=65535&S,!(y<=c);){if(0===s)break t;s--,u+=n[o++]<>v)],y=S>>>24,m=S>>>16&255,_=65535&S,!(v+y<=c);){if(0===s)break t;s--,u+=n[o++]<>>=v,c-=v,r.back+=v}if(u>>>=y,c-=y,r.back+=y,r.length=_,0===m){r.mode=16205;break}if(32&m){r.back=-1,r.mode=Le;break}if(64&m){t.msg="invalid literal/length code",r.mode=Fe;break}r.extra=15&m,r.mode=16201;case 16201:if(r.extra){for(C=r.extra;c>>=r.extra,c-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=16202;case 16202:for(;S=r.distcode[u&(1<>>24,m=S>>>16&255,_=65535&S,!(y<=c);){if(0===s)break t;s--,u+=n[o++]<>v)],y=S>>>24,m=S>>>16&255,_=65535&S,!(v+y<=c);){if(0===s)break t;s--,u+=n[o++]<>>=v,c-=v,r.back+=v}if(u>>>=y,c-=y,r.back+=y,64&m){t.msg="invalid distance code",r.mode=Fe;break}r.offset=_,r.extra=15&m,r.mode=16203;case 16203:if(r.extra){for(C=r.extra;c>>=r.extra,c-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=Fe;break}r.mode=16204;case 16204:if(0===l)break t;if(p=f-l,r.offset>p){if(p=r.offset-p,p>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=Fe;break}p>r.wnext?(p-=r.wnext,d=r.wsize-p):d=r.wnext-p,p>r.length&&(p=r.length),g=r.window}else g=i,d=a-r.offset,p=r.length;p>l&&(p=l),l-=p,r.length-=p;do{i[a++]=g[d++]}while(--p);0===r.length&&(r.mode=ke);break;case 16205:if(0===l)break t;i[a++]=r.length,l--,r.mode=ke;break;case je:if(r.wrap){for(;c<32;){if(0===s)break t;s--,u|=n[o++]<{if(Ue(t))return Se;let e=t.state;return e.window&&(e.window=null),t.state=null,xe},inflateGetHeader:(t,e)=>{if(Ue(t))return Se;const r=t.state;return 0==(2&r.wrap)?Se:(r.head=e,e.done=!1,xe)},inflateSetDictionary:(t,e)=>{const r=e.length;let n,i,o;return Ue(t)?Se:(n=t.state,0!==n.wrap&&n.mode!==Re?Se:n.mode===Re&&(i=1,i=U(i,e,r,0),i!==n.check)?Oe:(o=Ze(t,e,r,r),o?(n.mode=16210,Ie):(n.havedict=1,xe)))},inflateInfo:"pako inflate (from Nodeca project)"};var Je=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Qe=Object.prototype.toString,{Z_NO_FLUSH:$e,Z_FINISH:tr,Z_OK:er,Z_STREAM_END:rr,Z_NEED_DICT:nr,Z_STREAM_ERROR:ir,Z_DATA_ERROR:or,Z_MEM_ERROR:ar}=q;function sr(t){this.options=Vt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Kt,this.strm.avail_out=0;let r=Ke.inflateInit2(this.strm,e.windowBits);if(r!==er)throw new Error(V[r]);if(this.header=new Je,Ke.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Xt(e.dictionary):"[object ArrayBuffer]"===Qe.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=Ke.inflateSetDictionary(this.strm,e.dictionary),r!==er)))throw new Error(V[r])}function lr(t,e){const r=new sr(e);if(r.push(t),r.err)throw r.msg||V[r.err];return r.result}sr.prototype.push=function(t,e){const r=this.strm,n=this.options.chunkSize,i=this.options.dictionary;let o,a,s;if(this.ended)return!1;for(a=e===~~e?e:!0===e?tr:$e,"[object ArrayBuffer]"===Qe.call(t)?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;;){for(0===r.avail_out&&(r.output=new Uint8Array(n),r.next_out=0,r.avail_out=n),o=Ke.inflate(r,a),o===nr&&i&&(o=Ke.inflateSetDictionary(r,i),o===er?o=Ke.inflate(r,a):o===or&&(o=nr));r.avail_in>0&&o===rr&&r.state.wrap>0&&0!==t[r.next_in];)Ke.inflateReset(r),o=Ke.inflate(r,a);switch(o){case ir:case or:case nr:case ar:return this.onEnd(o),this.ended=!0,!1}if(s=r.avail_out,r.next_out&&(0===r.avail_out||o===rr))if("string"===this.options.to){let t=Zt(r.output,r.next_out),e=r.next_out-t,i=Ht(r.output,t);r.next_out=e,r.avail_out=n-e,e&&r.output.set(r.output.subarray(t,t+e),0),this.onData(i)}else this.onData(r.output.length===r.next_out?r.output:r.output.subarray(0,r.next_out));if(o!==er||0!==s){if(o===rr)return o=Ke.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===r.avail_in)break}}return!0},sr.prototype.onData=function(t){this.chunks.push(t)},sr.prototype.onEnd=function(t){t===er&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=qt(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ur={Inflate:sr,inflate:lr,inflateRaw:function(t,e){return(e=e||{}).raw=!0,lr(t,e)},ungzip:lr,constants:q};const{Deflate:cr,deflate:hr,deflateRaw:fr,gzip:pr}=ue,{Inflate:dr,inflate:gr,inflateRaw:yr,ungzip:mr}=ur;var _r=gr},function(t,e){function r(t,e,r){const n=r&&r.debug||!1;n&&console.log("getting "+e+" in "+t);const i="object"==typeof t?t.outer:t,o=e+'\\="([^"]*)"';n&&console.log("pattern:",o);const a=new RegExp(o).exec(i);if(n&&console.log("match:",a),a)return a[1]}t.exports=r,t.exports.default=r},function(t,e){},function(t,e){t.exports='
    \n {{#gt tabs.length 1}}\n
    \n {{#each tabs}}\n
    \n \n
    \n {{/each}}\n
    \n {{/gt}}\n
    \n \n {{#if options.takeMeThere}}\n {{#if options.textMode}}\n \n {{else}}\n \n {{/if}}\n {{/if}}\n
    {{{tabs.0.content}}}
    \n
    \n
    '},function(t,e,r){},function(t,e){e.read=function(t,e,r,n,i){var o,a,s=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=f,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),o-=u}return(p?-1:1)*a*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var a,s,l,u=8*o-i-1,c=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*l-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[r+p]=255&a,p+=d,a/=256,u-=8);t[r+p-d]|=128*g}},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t){t.exports=JSON.parse('{"name":"mapea","version":"6.3.1","description":"Herramienta para desarrollo de mapas interactivos de forma sencilla","keywords":["map","mapping","tool","sigcorporativo-ja"],"homepage":"http://mapea4-sigc.juntadeandalucia.es/","repository":{"type":"git","url":"https://github.com/sigcorporativo-ja/Mapea4"},"license":"EUPL","bugs":{"url":"https://github.com/sigcorporativo-ja/Mapea4/issues"},"devDependencies":{"@babel/core":"^7.6.4","@babel/plugin-proposal-export-default-from":"^7.0.0-beta.51","@babel/preset-env":"^7.4.4","babel-loader":"^8.0.0-beta.4","chromedriver":"^2.46.0","copy-webpack-plugin":"^6.1.0","cross-env":"^5.2.0","css-loader":"^2.1.1","eslint":"^4.19.1","eslint-config-airbnb":"^16.1.0","eslint-loader":"^2.0.0","eslint-plugin-import":"^2.9.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.7.0","expect.js":"^0.3.1","expose-loader":"^0.7.5","file-loader":"^1.1.11","fs-extra":"2.0.0","get-image-colors":"^2.0.0","html-loader":"^0.5.5","jsdoc-plugin-typescript":"^2.0.5","karma":"^5.2.2","karma-chrome-launcher":"^2.2.0","karma-firefox-launcher":"^1.1.0","karma-mocha":"^2.0.1","karma-webpack":"^3.0.5","mini-css-extract-plugin":"^0.4.1","mocha":"^8.1.3","nightwatch":"^1.4.2","optimize-css-assets-webpack-plugin":"^5.0.1","style-loader":"^0.21.0","terser-webpack-plugin":"^4.2.1","uglify-js":"^2.6.1","uglifycss":"0.0.29","url-loader":"^1.0.1","walk":"^2.3.14","webpack":"^4.41.2","webpack-cli":"^3.3.12","webpack-dev-server":"^3.11.0","yargs":"^16.0.3"},"dependencies":{"chroma-js":"^1.3.7","draggabilly":"^2.2.0","handlebars":"4.5.2","jsdoc":"^3.6.4","jsts":"^2.0.2","ol":"6.15.1","proj4":"^2.8.0"},"scripts":{"build":"cross-env NODE_OPTIONS=--max_old_space_size=2048 ./node/npm run build:core && ./node/npm run build:plugins && ./node/npm run build:plugins-extern","build:sourcemap":"npm run prebuild && npm run build:core -- --source-map && npm run build:plugins","build:core":"webpack --config=webpack-config/webpack.production-core.config.js","build:plugins":"webpack --config=webpack-config/webpack.production-plugins.config.js","build:plugins-extern":"./node/node tasks/build-extern-plugins.js","debug:build":"webpack-dev-server --config=webpack-config/webpack.test-production.config.js","debug:prebuild":"node --inspect-brk tasks/generate-index.js","generate-doc":"jsdoc config/jsdoc/api/index.md -c config/jsdoc/api/conf.json","generate-test":"node tasks/test-generator","karma":"karma start ./karma.conf.js","nightwatch":"nightwatch --config=./nightwatch.conf.js","prebuild":"node tasks/clean-build.js --path=dist && node tasks/generate-index.js && node tasks/generate-plugins-entrypoints.js","postbuild":"npm run generate-doc && node tasks/copy-legacy.js","publish_npm":"node tasks/prepare-package/prepare.js","start":"webpack-dev-server --config=webpack-config/webpack.development.config.js","start:build":"npm run build && npm run debug:build","test":"npm run karma && npm run nightwatch"}}')},function(t,e){t.exports='
    '},function(t){t.exports=JSON.parse('{"location":{"title":"Get current location"},"layerswitcher":{"title":"Layer selector","unsupported_param":"Unsupported parameter","no_base_layer":"Without base layer"},"scale":{"title":"Scale","scale":"Scale"},"getfeatureinfo":{"info":"Information","title":"Consult layer","no_info":"No associated info","info_of":"Information about","unsupported_format":"Unsupported format"},"wmcselector":{"title":"Context selector"},"dialog":{"info":"INFORMATION","error":"ERROR","success":"SUCCESS","id_feature":"An ID has not been indicated to obtain the feature","invalid_type_layer":"A valid type was not specified for the layer","vector_filter":"The indicated filter is not correct","unauthorized_user":"An error occurred while loading the layer: Unauthorized user.","only_one_filter":"FeatureID and CQL are mutually exclusive, indicate only one type of filtering.","getfeatureinfo_type":"The requested format for the information is not available. Try it using gml, plain or html."},"feature":{"incorrect_attributes":"The attributes were not specified correctly."},"exception":{"addto_method":"The used implementation does not have the addTo method","no_get_rotation_method":"The used implementation does not have the getRotation method","no_set_rotation_method":"The used implementation does not have the setRotation method","getelement_method":"The used implementation does not have the getElement method","getfeatureinfo_method":"The used implementation can not create GetFeatureInfo controls","mouse_method":"The used implementation can not create Mouse controls","navtoolbar_method":"The used implementation can not create navtoolbar controls","overviewmap_method":"The used implementation can not create OverviewMap controls","panzoom_method":"The used implementation can not create Panzoom controls","panzoombar_method":"The used implementation can not create Panzoombar controls","scale_method":"The used implementation can not create Scale controls","scaleline_method":"The used implementation can not create ScaleLine controls","wmcselector_method":"The used implementation can not create WMCSelector controls","geojson_method":"The used implementation can not create objects M.impl.format.GeoJSON","wkt_method":"The used implementation can not creat objects M.impl.format.WKT","getfeaturesbylayer_method":"The used implementation does not have the getFeaturesByLayer method","geojsonlayer_method":"The used implementation can not create GeoJSON layers","no_param":"No parameters specified","no_name":"You have not specified any name","kmllayer_method":"The used implementation can not create KML layers","isvisible_method":"The used implementation does not have the isVisible method","isqueryable_methd":"The used implementation does not have the isQueryable method","visibility_param":"You have not specified any visibility parameters","setvisible_method":"The used implementation does not have the setVisible method","inrange_method":"The used implementation does not have the inRange method","mapbox_method":"The used implementation can not create Mapbox layers","osm_method":"The used implementation can not create OSM layers","vectorlayer_method":"The used implementation can not create Vector layers","wfslayer_method":"The used implementation can not create WFS layers","wmclayer_method":"The used implementation can not create WMC layers","select_method":"The used implementation does not have the select method","unselect_method":"The used implementation does not have the unselect method","constructor_impl":"The used implementation does not have a constructor.","getlayers_method":"The used implementation does not have the getLayers method.","getbaselayers_method":"The used implementation does not have the getBaseLayers method.","addlayers_method":"The used implementation does not have the addLayers method.","removelayers_method":"The used implementation does not have the removeLayers method.","getwmc_method":"The implementation used does not have the getWMC method.","addwmc_method":"The used implementation does not have the addWMC method.","removewmc_method":"The used implementation does not have the removeWMC method.","getkml_method":"The used implementation does not have the getKML method.","addkml_method":"The implementation used does not have the addKML method.","removekml_method":"The implementation used does not have the removeKML method.","getwms_method":"The used implementation does not have the getWMS method.","addwms_method":"The used implementation does not have the addWMS method.","removewms_method":"The used implementation does not have the removeWMS method.","getwfs_method":"The implementation used does not have the getWFS method.","getgeojson_method":"The used implementation does not have the getGeoJSON method.","addwfs_method":"The used implementation does not have the addWFS method.","removewfs_method":"The used implementation does not have the removeWFS method.","getwmts_method":"The implementation used does not have the getWMTS method.","addwmts_method":"The used implementation does not have the addWMTS method.","removewmts_method":"The used implementation does not have the removeWMTS method.","getmbtiles_method":"The used implementation does not have the getMBtiles method.","getcontrols_method":"The used implementation does not have the getControls method.","addcontrols_method":"The used implementation does not have the addControls method.","remove_control":"You have not specified any control to delete.","removecontrol_method":"The used implementation does not have the removeControls method.","setmaxextent_method":"The used implementation does not have the setMaxExtent method.","getbbox_method":"The used implementation does not have the getBbox method.","no_bbox":"You have not specified any bbox.","setbbox_method":"The used implementation does not have the setBbox method.","incorrect_bbox_format":"The format of the bbox parameter is not correct.","getzoom_method":"The used implementation does not have the getZoom method.","no_zoom":"You have not specified any zoom.","setzoom_method":"The implementation used does not have the setZoom method.","getcenter_method":"The used implementation does not have the getCenter method.","setcenter_method":"The used implementation does not have the setCenter method.","getresolutions_method":"The used implementation does not have the getResolutions method.","no_resolutions":"You have not specified any resolution.","setresolutions_method":"The used implementation does not have the setResolutions method.","getscale_method":"The used implementation does not have the getScale method.","getprojection_method":"The implementation used does not have the getProjection method.","no_projection":"You have not specified any projection.","setprojection_method":"The used implementation does not have the setProjection method.","no_plugins":"You have not specified any plugins.","no_add_plugin_to_map":"The plugin can not be added to the map.","no_plugin_to_remove":"You have not specified any plugins to delete.","destroy_method":"The used implementation does not have the destroy method.","addlabel_method":"The used implementation does not have the addLabel method.","no_point":"You have not specified any points.","remove_control_from_panel":"You must remove the controls from the panel previously.","getcontainer_method":"The used implementation does not have the getContainer method.","getmapimpl_method":"The used implementation does not have the getMapImpl method.","removepopup_method":"The used implementation does not have the removePopup method.","no_popup":"You have not specified any popup.","invalid_popup":"The specified popup is not valid.","no_maxextent":"You have not specified any maxExtent","must_be_document":"doc.nodeType must be DOCUMENT type","no_service_response":"There was no reply from the service","no_kml_response":"There was no response from the KML","no_getfeature_response":"There was no response in the GetFeature operation","no_map":"You have not specified any map","layerswitcher_method":"The used implementation can not create LayerSwitcher controls","location_method":"The used implementation can not create Location controls","wms_method":"The used implementation can not create WMS layers","wmts_method":"The used implementation can not create WMTS layers","no_impl":"No implementation specified","no_container":"You have not specified any container parameters","no_id_container":"There is no container with the specified id","no_center":"You have not specified any center parameters","no_attr_name":"The name of the attribute was not specified","no_empty":"The attribute name can not be null. Specify string or function","invalid_center_param":"The format of the center parameter is not correct","invalid_maxextent_param":"The format of the maxExtent parameter is not correct","invalid_resolutions_param":"The format of the resolutions parameter is not correct","invalid_zoom_param":"The format of the zoom parameter is not correct","min_gt_max":"A minimum radius greater than the maximum can not be established.","max_lt_min":"A maximum radius of less than the minimum can not be established.","no_geojson":"No GeoJSON has been specified","unsupported_lang":"A language without support has been established","generate_image":"An error occurred while generating the image","id_exists":"ID already exists"}}')},function(t){t.exports=JSON.parse('{"location":{"title":"Obtener ubicación actual"},"layerswitcher":{"title":"Selector de capas","unsupported_param":"Parámetro no soportado","no_base_layer":"Sin capa base"},"scale":{"title":"Escala","scale":"Escala"},"getfeatureinfo":{"info":"Información","title":"Consultar capa","no_info":"No existe información asociada","info_of":"Información de","unsupported_format":"Formato no soportado"},"wmcselector":{"title":"Selector de contextos"},"dialog":{"info":"INFORMACIÓN","error":"ERROR","success":"ÉXITO","id_feature":"No se ha indicado un ID para obtener el feature","invalid_type_layer":"No se ha especificado un tipo válido para la capa","vector_filter":"El filtro indicado no es correcto","unauthorized_user":"Ha ocurrido un error al cargar la capa: Usuario no autorizado.","only_one_filter":"FeatureID y CQL son mutuamente excluyentes. Indicar sólo un tipo de filtrado.","getfeatureinfo_type":"El formato solicitado para la información no está disponible. Inténtelo utilizando gml, plain o html."},"feature":{"incorrect_attributes":"No se han especificado correctamente los atributos."},"exception":{"addto_method":"La implementación usada no posee el método addTo","no_get_rotation_method":"La implementación usada no posee el método getRotation","no_set_rotation_method":"La implementación usada no posee el método setRotation","getelement_method":"La implementación usada no posee el método getElement","getfeatureinfo_method":"La implementación usada no puede crear controles GetFeatureInfo","mouse_method":"La implementación usada no puede crear controles Mouse","navtoolbar_method":"La implementación usada no puede crear controles Navtoolbar","overviewmap_method":"La implementación usada no puede crear controles OverviewMap","panzoom_method":"La implementación usada no puede crear controles Panzoom","panzoombar_method":"La implementación usada no puede crear controles Panzoombar","scale_method":"La implementación usada no puede crear controles Scale","scaleline_method":"La implementación usada no puede crear controles ScaleLine","wmcselector_method":"La implementación usada no puede crear controles WMCSelector","geojson_method":"La implementación usada no puede crear objetos M.impl.format.GeoJSON","wkt_method":"La implementación usada no puede creat objetos M.impl.format.WKT","getfeaturesbylayer_method":"La implementación usada no posee el método getFeaturesByLayer","geojsonlayer_method":"La implementación usada no puede crear capas GeoJSON","no_param":"No se ha especificado ningun parámetro","no_name":"No ha especificado ningún nombre","kmllayer_method":"La implementación usada no puede crear capas KML","isvisible_method":"La implementación usada no posee el método isVisible","isqueryable_methd":"La implementación usada no posee el método isQueryable","visibility_param":"No ha especificado ningún parámetro de visibilidad","setvisible_method":"La implementación usada no posee el método setVisible","inrange_method":"La implementación usada no posee el método inRange","mapbox_method":"La implementación usada no puede crear capas Mapbox","osm_method":"La implementación usada no puede crear capas OSM","vectorlayer_method":"La implementación usada no puede crear capas Vector","wfslayer_method":"La implementación usada no puede crear capas WFS","wmclayer_method":"La implementación usada no puede crear capas WMC","select_method":"La implementación usada no posee el método select","unselect_method":"La implementación usada no posee el método unselect","constructor_impl":"La implementación usada no posee un constructor.","getlayers_method":"La implementación usada no posee el método getLayers.","getbaselayers_method":"La implementación usada no posee el método getBaseLayers.","addlayers_method":"La implementación usada no posee el método addLayers.","removelayers_method":"La implementación usada no posee el método removeLayers.","getwmc_method":"La implementación usada no posee el método getWMC.","addwmc_method":"La implementación usada no posee el método addWMC.","removewmc_method":"La implementación usada no posee el método removeWMC.","getkml_method":"La implementación usada no posee el método getKML.","addkml_method":"La implementación usada no posee el método addKML.","removekml_method":"La implementación usada no posee el método removeKML.","getwms_method":"La implementación usada no posee el método getWMS.","addwms_method":"La implementación usada no posee el método addWMS.","removewms_method":"La implementación usada no posee el método removeWMS.","getwfs_method":"La implementación usada no posee el método getWFS.","getgeojson_method":"La implementación usada no posee el método getGeoJSON.","addwfs_method":"La implementación usada no posee el método addWFS.","removewfs_method":"La implementación usada no posee el método removeWFS.","getwmts_method":"La implementación usada no posee el método getWMTS.","addwmts_method":"La implementación usada no posee el método addWMTS.","removewmts_method":"La implementación usada no posee el método removeWMTS.","getmbtiles_method":"La implementación usada no posee el método getMBtiles.","getcontrols_method":"La implementación usada no posee el método getControls.","addcontrols_method":"La implementación usada no posee el método addControls.","remove_control":"No ha especificado ningún control a eliminar.","removecontrol_method":"La implementación usada no posee el método removeControls.","setmaxextent_method":"La implementación usada no posee el método setMaxExtent.","getbbox_method":"La implementación usada no posee el método getBbox.","no_bbox":"No ha especificado ningún bbox.","setbbox_method":"La implementación usada no posee el método setBbox.","incorrect_bbox_format":"El formato del parámetro bbox no es el correcto.","getzoom_method":"La implementación usada no posee el método getZoom.","no_zoom":"No ha especificado ningún zoom.","setzoom_method":"La implementación usada no posee el método setZoom.","getcenter_method":"La implementación usada no posee el método getCenter.","setcenter_method":"La implementación usada no posee el método setCenter.","getresolutions_method":"La implementación usada no posee el método getResolutions.","no_resolutions":"No ha especificado ninguna resolución.","setresolutions_method":"La implementación usada no posee el método setResolutions.","getscale_method":"La implementación usada no posee el método getScale.","getprojection_method":"La implementación usada no posee el método getProjection.","no_projection":"No ha especificado ninguna proyección.","setprojection_method":"La implementación usada no posee el método setProjection.","no_plugins":"No ha especificado ningún plugin.","no_add_plugin_to_map":"El plugin no puede añadirse al mapa.","no_plugin_to_remove":"No ha especificado ningún plugin a eliminar.","destroy_method":"La implementación usada no posee el método destroy.","addlabel_method":"La implementación usada no posee el método addLabel.","no_point":"No ha especificado ningún punto.","remove_control_from_panel":"Debe eliminar los controles del panel previamente.","getcontainer_method":"La implementación usada no posee el método getContainer.","getmapimpl_method":"La implementación usada no posee el método getMapImpl.","removepopup_method":"La implementación usada no posee el método removePopup.","no_popup":"No ha especificado ningún popup.","invalid_popup":"El popup especificado no es válido.","no_maxextent":"No ha especificado ningún maxExtent","must_be_document":"doc.nodeType debe ser de tipo DOCUMENT","no_service_response":"No hubo respuesta del servicio","no_kml_response":"No hubo respuesta del KML","no_getfeature_response":"No hubo respuesta en la operación GetFeature","no_map":"No ha especificado ningun mapa","layerswitcher_method":"La implementación usada no puede crear controles LayerSwitcher","location_method":"La implementación usada no puede crear controles Location","wms_method":"La implementación usada no puede crear capas WMS","wmts_method":"La implementación usada no puede crear capas WMTS","no_impl":"No se ha especificado ninguna implementación","no_container":"No ha especificado ningún parámetro contenedor","no_id_container":"No existe ningún contenedor con el id especificado","no_center":"No ha especificado ningún parámetro center","no_attr_name":"No se ha especificado el nombre del atributo","no_empty":"El nombre de atributo no puede ser nulo. Especifique cadena o función","invalid_center_param":"El formato del parámetro center no es correcto","invalid_maxextent_param":"El formato del parámetro maxExtent no es correcto","invalid_resolutions_param":"El formato del parámetro resolutions no es correcto","invalid_zoom_param":"El formato del parámetro zoom no es correcto","min_gt_max":"No puede establecerse un radio mínimo mayor que el máximo.","max_lt_min":"No puede establecerse un radio máximo menor que el mínimo.","no_geojson":"No se ha especificado ningun GeoJSON","unsupported_lang":"Se ha establecido un idioma sin soporte","generate_image":"Se ha producido un error al generar la imagen","id_exists":"El ID indicado ya existe"}}')},function(t,e){t.exports='
    \n \n
    '},function(t,e){t.exports='
    \n {{#each features}}\n
    \n {{#each attributes}}\n \n \n \n \n \n
    {{key}}{{{value}}}
    \n {{/each}}\n
    \n
    \n {{/each}}\n
    '},function(t,e){t.exports='
    \n
    \n
    \n
    \n \n {{{title}}}\n
    \n
    {{{message}}}
    \n
    \n \n
    \n
    \n
    \n
    '},function(t,e){t.exports='
    \n \n
    '},function(t,e){t.exports='
    \n
    {{scale}} = 1 :
    \n
    \n
    '},function(t,e){t.exports='
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    '},function(t,e){t.exports='
    \n {{{info}}}\n
    '},function(t,e){t.exports=" {{#each layers}}\n \n {{/each}}"},function(t,e){t.exports='
    \n \n
    '},function(t,e){t.exports='
    \n \n
    \n
    '},function(t,e){t.exports='
    \n {{{info}}}\n
    '},function(t,e){t.exports='
    \n

    {{{name}}}

    \n
    {{{desc}}}
    \n
    '},function(t,e,r){"use strict";t.exports=i;var n=r(89);function i(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}i.Varint=0,i.Fixed64=1,i.Bytes=2,i.Fixed32=5;var o=4294967296,a=1/o,s="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function l(t){return t.type===i.Bytes?t.readVarint()+t.pos:t.pos+1}function u(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function c(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function h(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function w(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}i.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,o=this.pos;this.type=7&n,t(i,e,this),this.pos===o&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=b(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=w(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=b(this.buf,this.pos)+b(this.buf,this.pos+4)*o;return this.pos+=8,t},readSFixed64:function(){var t=b(this.buf,this.pos)+w(this.buf,this.pos+4)*o;return this.pos+=8,t},readFloat:function(){var t=n.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=n.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,o=r.buf;if(i=o[r.pos++],n=(112&i)>>4,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<3,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<10,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<17,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(127&i)<<24,i<128)return u(t,n,e);if(i=o[r.pos++],n|=(1&i)<<31,i<128)return u(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&s?function(t,e,r){return s.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){var n="",i=e;for(;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)<=127&&(u=null):3===c?(o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&((u=(15&l)<<12|(63&o)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&((u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==i.Bytes)return t.push(this.readVarint(e));var r=l(this);for(t=t||[];this.pos127;);else if(e===i.Bytes)this.pos=this.readVarint()+this.pos;else if(e===i.Fixed32)this.pos+=4;else{if(e!==i.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0));if(t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;if(e.buf[e.pos++]|=r|((t>>>=3)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;if(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),!t)return;e.buf[e.pos++]=127&t}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,o=0;o55295&&n<57344){if(!i){n>56319||o+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&c(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),n.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),n.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&c(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,i.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,h,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,f,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,g,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,p,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,d,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,y,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,m,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,_,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,v,e)},writeBytesField:function(t,e){this.writeTag(t,i.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,i.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,i.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,i.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,i.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,i.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,i.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,i.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,i.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,i.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}}},function(t,e,r){"use strict";(function(t){function n(){var e='const e="function"==typeof Object.assign?Object.assign:function(e,n){if(null==e)throw new TypeError("Cannot convert undefined or null to object");const t=Object(e);for(let e=1,n=arguments.length;e=0||n.match(/cpu (os|iphone os) 15_4 like mac os x/)),-1!==n.indexOf("webkit")&&n.indexOf("edge"),n.indexOf("macintosh"),"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&(self,WorkerGlobalScope),function(){let e=!1;try{const n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("_",null,n),window.removeEventListener("_",null,n)}catch(e){}}(),new Array(6);const t="GENERATE_BUFFERS",o=[],r={vertexPosition:0,indexPosition:0};function i(e,n,t,o,r){e[n+0]=t,e[n+1]=o,e[n+2]=r}function s(e,n,t,s,f,c){const l=3+f,a=e[n+0],u=e[n+1],d=o;d.length=f;for(let t=0;t{const o=n.data;if(o.type===t){const n=3,t=2,r=o.customAttributesCount,i=t+r,c=new Float32Array(o.renderInstructions),l=c.length/i,a=4*l*(r+n),u=new Uint32Array(6*l),d=new Float32Array(a);let g;for(let e=0;e1;const g=(t,e,r)=>{const n=t[f].get(e);if(n){const e=n.value;if(y(t,e)){if(_(t,n),!t[s])return}else r&&(t[p]&&(n.value.now=Date.now()),t[h].unshiftNode(n));return e.value}},y=(t,e)=>{if(!e||!e.maxAge&&!t[l])return!1;const r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[l]&&r>t[l]},m=t=>{if(t[o]>t[i])for(let e=t[h].tail;t[o]>t[i]&&null!==e;){const r=e.prev;_(t,e),e=r}},_=(t,e)=>{if(e){const r=e.value;t[u]&&t[u](r.key,r.value),t[o]-=r.length,t[f].delete(r.key),t[h].removeNode(e)}};class v{constructor(t,e,r,n,i){this.key=t,this.value=e,this.length=r,this.now=n,this.maxAge=i||0}}const b=(t,e,r,n)=>{let i=r.value;y(t,i)&&(_(t,r),t[s]||(i=void 0)),i&&e.call(n,i.value,i.key,t)};t.exports=class{constructor(t){if("number"==typeof t&&(t={max:t}),t||(t={}),t.max&&("number"!=typeof t.max||t.max<0))throw new TypeError("max must be a non-negative number");this[i]=t.max||1/0;const e=t.length||d;if(this[a]="function"!=typeof e?d:e,this[s]=t.stale||!1,t.maxAge&&"number"!=typeof t.maxAge)throw new TypeError("maxAge must be a number");this[l]=t.maxAge||0,this[u]=t.dispose,this[c]=t.noDisposeOnSet||!1,this[p]=t.updateAgeOnGet||!1,this.reset()}set max(t){if("number"!=typeof t||t<0)throw new TypeError("max must be a non-negative number");this[i]=t||1/0,m(this)}get max(){return this[i]}set allowStale(t){this[s]=!!t}get allowStale(){return this[s]}set maxAge(t){if("number"!=typeof t)throw new TypeError("maxAge must be a non-negative number");this[l]=t,m(this)}get maxAge(){return this[l]}set lengthCalculator(t){"function"!=typeof t&&(t=d),t!==this[a]&&(this[a]=t,this[o]=0,this[h].forEach(t=>{t.length=this[a](t.value,t.key),this[o]+=t.length})),m(this)}get lengthCalculator(){return this[a]}get length(){return this[o]}get itemCount(){return this[h].length}rforEach(t,e){e=e||this;for(let r=this[h].tail;null!==r;){const n=r.prev;b(this,t,r,e),r=n}}forEach(t,e){e=e||this;for(let r=this[h].head;null!==r;){const n=r.next;b(this,t,r,e),r=n}}keys(){return this[h].toArray().map(t=>t.key)}values(){return this[h].toArray().map(t=>t.value)}reset(){this[u]&&this[h]&&this[h].length&&this[h].forEach(t=>this[u](t.key,t.value)),this[f]=new Map,this[h]=new n,this[o]=0}dump(){return this[h].map(t=>!y(this,t)&&{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[h]}set(t,e,r){if((r=r||this[l])&&"number"!=typeof r)throw new TypeError("maxAge must be a number");const n=r?Date.now():0,s=this[a](e,t);if(this[f].has(t)){if(s>this[i])return _(this,this[f].get(t)),!1;const a=this[f].get(t).value;return this[u]&&(this[c]||this[u](t,a.value)),a.now=n,a.maxAge=r,a.value=e,this[o]+=s-a.length,a.length=s,this.get(t),m(this),!0}const p=new v(t,e,s,n,r);return p.length>this[i]?(this[u]&&this[u](t,e),!1):(this[o]+=p.length,this[h].unshift(p),this[f].set(t,this[h].head),m(this),!0)}has(t){if(!this[f].has(t))return!1;const e=this[f].get(t).value;return!y(this,e)}get(t){return g(this,t,!0)}peek(t){return g(this,t,!1)}pop(){const t=this[h].tail;return t?(_(this,t),t.value):null}del(t){_(this,this[f].get(t))}load(t){this.reset();const e=Date.now();for(let r=t.length-1;r>=0;r--){const n=t[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{const t=i-e;t>0&&this.set(n.k,n.v,t)}}}prune(){this[f].forEach((t,e)=>g(this,e,!1))}}},function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return f}));var n=r(117),i=r.n(n),o=r(118),a=r.n(o),s=r(119),l=r.n(s),u=r(61),c=r(20);class h extends u.b{constructor(t,e){super(),this.response=t,this.dataPromise=e}get status(){return this.response.statusCode}getHeader(t){return this.response.headers[t]}async getData(){return await this.dataPromise}}class f extends u.a{constructor(t){super(t),this.parsedUrl=l.a.parse(this.url),this.httpApi="http:"===this.parsedUrl.protocol?i.a:a.a}constructRequest(e,r){return new Promise((n,i)=>{const o=this.httpApi.get({...this.parsedUrl,headers:e},e=>{const r=new Promise(r=>{const n=[];e.on("data",t=>{n.push(t)}),e.on("end",()=>{const e=t.concat(n).buffer;r(e)}),e.on("error",i)});n(new h(e,r))});o.on("error",i),r&&(r.aborted&&o.destroy(new c.a("Request aborted")),r.addEventListener("abort",()=>o.destroy(new c.a("Request aborted"))))})}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}}}).call(this,r(75).Buffer)},function(t,e){},function(t,e){},function(t,e){},function(t,e,r){"use strict";(function(t){r.d(e,"a",(function(){return s}));var n=r(86),i=r.n(n),o=r(55);class a extends o.a{constructor(t){super(),this.path=t,this.openRequest=function(t,e,r){return new Promise((n,o)=>{i.a.open(t,e,r,(t,e)=>{t?o(t):n(e)})})}(t,"r")}async fetchSlice(e){const r=await this.openRequest,{buffer:n}=await function(...t){return new Promise((e,r)=>{i.a.read(...t,(t,n,i)=>{t?r(t):e({bytesRead:n,buffer:i})})})}(r,t.alloc(e.length),0,e.length,e.offset);return n.buffer}async close(){const t=await this.openRequest;await function(t){return new Promise((e,r)=>{i.a.close(t,t=>{t?r(t):e()})})}(t)}}function s(t){return new a(t)}}).call(this,r(75).Buffer)},function(t,e){t.exports=Worker},function(t,e,r){var n,i,o,a,s,l,u,c,h,f,p,d,g; -/* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */i={defaultNoDataValue:-34027999387901484e22,decode:function(t,e){var r=(e=e||{}).encodedMaskData||null===e.encodedMaskData,n=l(t,e.inputOffset||0,r),u=null!==e.noDataValue?e.noDataValue:i.defaultNoDataValue,c=o(n,e.pixelType||Float32Array,e.encodedMaskData,u,e.returnMask),h={width:n.width,height:n.height,pixelData:c.resultPixels,minValue:c.minValue,maxValue:n.pixels.maxValue,noDataValue:u};return c.resultMask&&(h.maskData=c.resultMask),e.returnEncodedMask&&n.mask&&(h.encodedMaskData=n.mask.bitset?n.mask.bitset:null),e.returnFileInfo&&(h.fileInfo=a(n),e.computeUsedBitDepths&&(h.fileInfo.bitDepths=s(n))),h}},o=function(t,e,r,n,i){var o,a,s,l=0,c=t.pixels.numBlocksX,h=t.pixels.numBlocksY,f=Math.floor(t.width/c),p=Math.floor(t.height/h),d=2*t.maxZError,g=Number.MAX_VALUE;r=r||(t.mask?t.mask.bitset:null),a=new e(t.width*t.height),i&&r&&(s=new Uint8Array(t.width*t.height));for(var y,m,_=new Float32Array(f*p),v=0;v<=h;v++){var b=v!==h?p:t.height%h;if(0!==b)for(var x=0;x<=c;x++){var w=x!==c?f:t.width%c;if(0!==w){var E,S,O,I,C=v*t.width*p+x*f,T=t.width-w,P=t.pixels.blocks[l];if(P.encoding<2?(0===P.encoding?E=P.rawData:(u(P.stuffedData,P.bitsPerPixel,P.numValidPixels,P.offset,d,_,t.pixels.maxValue),E=_),S=0):O=2===P.encoding?0:P.offset,r)for(m=0;m>3],I<<=7&C),y=0;y>3]),128&I?(s&&(s[C]=1),g=g>(o=P.encoding<2?E[S++]:O)?o:g,a[C++]=o):(s&&(s[C]=0),a[C++]=n),I<<=1;C+=T}else if(P.encoding<2)for(m=0;m(o=E[S++])?o:g,a[C++]=o;C+=T}else for(g=g>O?O:g,m=0;m0){var a=new Uint8Array(Math.ceil(n.width*n.height/8)),s=(o=new DataView(t,e,n.mask.numBytes)).getInt16(0,!0),l=2,u=0;do{if(s>0)for(;s--;)a[u++]=o.getUint8(l++);else{var c=o.getUint8(l++);for(s=-s;s--;)a[u++]=c}s=o.getInt16(l,!0),l+=2}while(l0?1:0),d=f+(n.height%f>0?1:0);n.pixels.blocks=new Array(p*d);for(var g=0,y=0;y3)throw"Invalid block encoding ("+b.encoding+")";if(2!==b.encoding){if(0!==x&&2!==x){if(x>>=6,b.offsetType=x,2===x)b.offset=o.getInt8(1),_++;else if(1===x)b.offset=o.getInt16(1,!0),_+=2;else{if(0!==x)throw"Invalid block offset type";b.offset=o.getFloat32(1,!0),_+=4}if(1===b.encoding)if(x=o.getUint8(_),_++,b.bitsPerPixel=63&x,x>>=6,b.numValidPixelsType=x,2===x)b.numValidPixels=o.getUint8(_),_++;else if(1===x)b.numValidPixels=o.getUint16(_,!0),_+=2;else{if(0!==x)throw"Invalid valid pixel count type";b.numValidPixels=o.getUint32(_,!0),_+=4}}var w;if(e+=_,3!==b.encoding)if(0===b.encoding){var E=(n.pixels.numBytes-1)/4;if(E!==Math.floor(E))throw"uncompressed block has invalid length";w=new ArrayBuffer(4*E),new Uint8Array(w).set(new Uint8Array(t,e,4*E));var S=new Float32Array(w);b.rawData=S,e+=4*E}else if(1===b.encoding){var O=Math.ceil(b.numValidPixels*b.bitsPerPixel/8),I=Math.ceil(O/4);w=new ArrayBuffer(4*I),new Uint8Array(w).set(new Uint8Array(t,e,O)),b.stuffedData=new Uint32Array(w),e+=O}}else e++}return n.eofOffset=e,n},u=function(t,e,r,n,i,o,a){var s,l,u,c=(1<=e)l=u>>>f-e&c,f-=e;else{var g=e-f;l=(u&c)<>>(f=32-g)}o[s]=l=r?(u=c>>>g-r&p,g-=r):(u=(c&p)<<(h=r-g)&p,u+=(c=t[d++])>>>(g=32-h)),e[l]=i[u];else for(f=Math.ceil((s-o)/a),l=0;l=r?(u=c>>>g-r&p,g-=r):(u=(c&p)<<(h=r-g)&p,u+=(c=t[d++])>>>(g=32-h)),e[l]=u=e?(f=a>>>h-e&s,h-=e):(f=(a&s)<<(c=e-h)&s,f+=(a=t[l++])>>>(h=32-c)),p[u]=f=r?(u=c>>>g&f,d-=r,g+=r):(u=c>>>g&f,d=32-(h=r-d),u|=((c=t[p++])&(1<=r?(u=c>>>g&f,d-=r,g+=r):(u=c>>>g&f,d=32-(h=r-d),u|=((c=t[p++])&(1<=e?(f=a>>>p&s,h-=e,p+=e):(f=a>>>p&s,h=32-(c=e-h),f|=((a=t[l++])&(1<=r?(o=a>>>c-r&l,c-=r):(o=(a&l)<<(s=r-c)&l,o+=(a=t[u++])>>>(c=32-s)),e[i]=o;return e},o=function(t,e,r,n){var i,o,a,s,l=(1<=r?(o=a>>>h&l,c-=r,h+=r):(o=a>>>h&l,c=32-(s=r-c),o|=((a=t[u++])&(1<=359?359:i;i-=a;do{e+=t[o++]<<8,r+=e+=t[o++]}while(--a);e=(65535&e)+(e>>>16),r=(65535&r)+(r>>>16)}return 1&n&&(r+=e+=t[o]<<8),((r=(65535&r)+(r>>>16))<<16|(e=(65535&e)+(e>>>16)))>>>0},readHeaderInfo:function(t,e){var r=e.ptr,n=new Uint8Array(t,r,6),i={};if(i.fileIdentifierString=String.fromCharCode.apply(null,n),0!==i.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+i.fileIdentifierString;r+=6;var o,a=new DataView(t,r,8),s=a.getInt32(0,!0);if(i.fileVersion=s,r+=4,s>=3&&(i.checksum=a.getUint32(4,!0),r+=4),a=new DataView(t,r,12),i.height=a.getUint32(0,!0),i.width=a.getUint32(4,!0),r+=8,s>=4?(i.numDims=a.getUint32(8,!0),r+=4):i.numDims=1,a=new DataView(t,r,40),i.numValidPixel=a.getUint32(0,!0),i.microBlockSize=a.getInt32(4,!0),i.blobSize=a.getInt32(8,!0),i.imageType=a.getInt32(12,!0),i.maxZError=a.getFloat64(16,!0),i.zMin=a.getFloat64(24,!0),i.zMax=a.getFloat64(32,!0),r+=40,e.headerInfo=i,e.ptr=r,s>=3&&(o=s>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(t,r-o,i.blobSize-14))!==i.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(t,e){var r=e.headerInfo,n=this.getDataTypeArray(r.imageType),i=r.numDims*this.getDataTypeSize(r.imageType),o=this.readSubArray(t,e.ptr,n,i),a=this.readSubArray(t,e.ptr+i,n,i);e.ptr+=2*i;var s,l=!0;for(s=0;s0){r=new Uint8Array(Math.ceil(a/8));var c=(l=new DataView(t,i,u.numBytes)).getInt16(0,!0),h=2,f=0,p=0;do{if(c>0)for(;c--;)r[f++]=l.getUint8(h++);else for(p=l.getUint8(h++),c=-c;c--;)r[f++]=p;c=l.getInt16(h,!0),h+=2}while(h>3],d<<=7&g):d=r[g>>3],128&d&&(n[g]=1);e.pixels.resultMask=n,u.bitset=r,i+=u.numBytes}return e.ptr=i,e.mask=u,!0},readDataOneSweep:function(t,e,r,n){var i,o=e.ptr,s=e.headerInfo,l=s.numDims,u=s.width*s.height,c=s.imageType,h=s.numValidPixel*a.getDataTypeSize(c)*l,f=e.pixels.resultMask;if(r===Uint8Array)i=new Uint8Array(t,o,h);else{var p=new ArrayBuffer(h);new Uint8Array(p).set(new Uint8Array(t,o,h)),i=new r(p)}if(i.length===u*l)e.pixels.resultPixels=n?a.swapDimensionOrder(i,u,l,r,!0):i;else{e.pixels.resultPixels=new r(u*l);var d=0,g=0,y=0,m=0;if(l>1){if(n){for(g=0;g=l)return!1;var u=new Uint32Array(l-o);a.decodeBits(t,e,u);var c,h,f,p,d=[];for(c=o;c0&&(d[h].second=_<>>32-p,32-b>=p?32===(b+=p)&&(b=0,_=v[++x]):(b+=p-32,_=v[++x],d[h].second|=_>>>32-b));var w=0,E=0,S=new s;for(c=0;c=r?r:w;var O,I,C,T,P,R=[];for(c=o;c0)if(O=[p,h],p<=E)for(I=d[h].second<=0;T--)I>>>T&1?(P.right||(P.right=new s),P=P.right):(P.left||(P.left=new s),P=P.left),0!==T||P.val||(P.val=O[1]);return{decodeLut:R,numBitsLUTQick:E,numBitsLUT:w,tree:S,stuffedData:v,srcPtr:x,bitPos:b}},readHuffman:function(t,e,r,n){var i,o,s,l,u,c,h,f,p,d=e.headerInfo.numDims,g=e.headerInfo.height,y=e.headerInfo.width,m=y*g,_=this.readHuffmanTree(t,e),v=_.decodeLut,b=_.tree,x=_.stuffedData,w=_.srcPtr,E=_.bitPos,S=_.numBitsLUTQick,O=_.numBitsLUT,I=0===e.headerInfo.imageType?128:0,C=e.pixels.resultMask,T=0;E>0&&(w++,E=0);var P,R=x[w],L=1===e.encodeMode,M=new r(m*d),A=M;if(d<2||L){for(P=0;P1&&(A=new r(M.buffer,m*P,m),T=0),e.headerInfo.numValidPixel===y*g)for(f=0,c=0;c>>32-S,32-E>>64-E-S),v[u])o=v[u][1],E+=v[u][0];else for(u=l=R<>>32-O,32-E>>64-E-O),i=b,p=0;p>>O-p-1&1?i.right:i.left).left&&!i.right){o=i.val,E=E+p+1;break}E>=32&&(E-=32,R=x[++w]),s=o-I,L?(s+=h>0?T:c>0?A[f-y]:T,s&=255,A[f]=s,T=s):A[f]=s}else for(f=0,c=0;c>>32-S,32-E>>64-E-S),v[u])o=v[u][1],E+=v[u][0];else for(u=l=R<>>32-O,32-E>>64-E-O),i=b,p=0;p>>O-p-1&1?i.right:i.left).left&&!i.right){o=i.val,E=E+p+1;break}E>=32&&(E-=32,R=x[++w]),s=o-I,L?(h>0&&C[f-1]?s+=T:c>0&&C[f-y]?s+=A[f-y]:s+=T,s&=255,A[f]=s,T=s):A[f]=s}}else for(f=0,c=0;c>>32-S,32-E>>64-E-S),v[u])o=v[u][1],E+=v[u][0];else for(u=l=R<>>32-O,32-E>>64-E-O),i=b,p=0;p>>O-p-1&1?i.right:i.left).left&&!i.right){o=i.val,E=E+p+1;break}E>=32&&(E-=32,R=x[++w]),s=o-I,A[f]=s}e.ptr=e.ptr+4*(w+1)+(E>0?4:0),e.pixels.resultPixels=M,d>1&&!n&&(e.pixels.resultPixels=a.swapDimensionOrder(M,m,d,r))},decodeBits:function(a,s,l,u,c){var h=s.headerInfo,f=h.fileVersion,p=0,d=a.byteLength-s.ptr>=5?5:a.byteLength-s.ptr,g=new DataView(a,s.ptr,d),y=g.getUint8(0);p++;var m=y>>6,_=0===m?4:3-m,v=(32&y)>0,b=31&y,x=0;if(1===_)x=g.getUint8(p),p++;else if(2===_)x=g.getUint16(p,!0),p+=2;else{if(4!==_)throw"Invalid valid pixel count type";x=g.getUint32(p,!0),p+=4}var w,E,S,O,I,C,T,P,R,L=2*h.maxZError,M=h.numDims>1?h.maxValues[c]:h.zMax;if(v){for(s.counter.lut++,P=g.getUint8(p),p++,O=Math.ceil((P-1)*b/8),I=Math.ceil(O/4),E=new ArrayBuffer(4*I),S=new Uint8Array(E),s.ptr+=p,S.set(new Uint8Array(a,s.ptr,O)),T=new Uint32Array(E),s.ptr+=O,R=0;P-1>>>R;)R++;O=Math.ceil(x*R/8),I=Math.ceil(O/4),E=new ArrayBuffer(4*I),(S=new Uint8Array(E)).set(new Uint8Array(a,s.ptr,O)),w=new Uint32Array(E),s.ptr+=O,C=f>=3?n(T,b,P-1,u,L,M):e(T,b,P-1,u,L,M),f>=3?r(w,l,R,x,C):t(w,l,R,x,C)}else s.counter.bitstuffer++,R=b,s.ptr+=p,R>0&&(O=Math.ceil(x*R/8),I=Math.ceil(O/4),E=new ArrayBuffer(4*I),(S=new Uint8Array(E)).set(new Uint8Array(a,s.ptr,O)),w=new Uint32Array(E),s.ptr+=O,f>=3?null==u?o(w,l,R,x):r(w,l,R,x,!1,u,L,M):null==u?i(w,l,R,x):t(w,l,R,x,!1,u,L,M))},readTiles:function(t,e,r,n){var i=e.headerInfo,o=i.width,s=i.height,l=o*s,u=i.microBlockSize,c=i.imageType,h=a.getDataTypeSize(c),f=Math.ceil(o/u),p=Math.ceil(s/u);e.pixels.numBlocksY=p,e.pixels.numBlocksX=f,e.pixels.ptr=0;var d,g,y,m,_,v,b,x,w,E,S=0,O=0,I=0,C=0,T=0,P=0,R=0,L=0,M=0,A=0,N=0,k=0,j=0,F=0,D=0,G=new r(u*u),U=s%u||u,B=o%u||u,z=i.numDims,V=e.pixels.resultMask,q=e.pixels.resultPixels,Y=i.fileVersion>=5?14:15,W=i.zMax;for(I=0;I1?(E=q,A=I*o*u+C*u,q=new r(e.pixels.resultPixels.buffer,l*x*h,l),W=i.maxValues[x]):E=null,R=t.byteLength-e.ptr,g={},D=0,L=(d=new DataView(t,e.ptr,Math.min(10,R))).getUint8(0),D++,w=i.fileVersion>=5?4&L:0,M=L>>6&255,(L>>2&Y)!=(C*u>>3&Y))throw"integrity issue";if(w&&0===x)throw"integrity issue";if((_=3&L)>3)throw e.ptr+=D,"Invalid block encoding ("+_+")";if(2!==_)if(0===_){if(w)throw"integrity issue";if(e.counter.uncompressed++,e.ptr+=D,k=(k=T*P*h)<(j=t.byteLength-e.ptr)?k:j,y=new ArrayBuffer(k%h==0?k:k+h-k%h),new Uint8Array(y).set(new Uint8Array(t,e.ptr,k)),m=new r(y),F=0,V)for(S=0;S1&&!n&&(e.pixels.resultPixels=a.swapDimensionOrder(e.pixels.resultPixels,l,z,r))},formatFileInfo:function(t){return{fileIdentifierString:t.headerInfo.fileIdentifierString,fileVersion:t.headerInfo.fileVersion,imageType:t.headerInfo.imageType,height:t.headerInfo.height,width:t.headerInfo.width,numValidPixel:t.headerInfo.numValidPixel,microBlockSize:t.headerInfo.microBlockSize,blobSize:t.headerInfo.blobSize,maxZError:t.headerInfo.maxZError,pixelType:a.getPixelType(t.headerInfo.imageType),eofOffset:t.eofOffset,mask:t.mask?{numBytes:t.mask.numBytes}:null,pixels:{numBlocksX:t.pixels.numBlocksX,numBlocksY:t.pixels.numBlocksY,maxValue:t.headerInfo.zMax,minValue:t.headerInfo.zMin,noDataValue:t.noDataValue}}},constructConstantSurface:function(t,e){var r=t.headerInfo.zMax,n=t.headerInfo.zMin,i=t.headerInfo.maxValues,o=t.headerInfo.numDims,a=t.headerInfo.height*t.headerInfo.width,s=0,l=0,u=0,c=t.pixels.resultMask,h=t.pixels.resultPixels;if(c)if(o>1){if(e)for(s=0;s1&&n!==r)if(e)for(s=0;s=-128&&e<=127;break;case 1:r=e>=0&&e<=255;break;case 2:r=e>=-32768&&e<=32767;break;case 3:r=e>=0&&e<=65536;break;case 4:r=e>=-2147483648&&e<=2147483647;break;case 5:r=e>=0&&e<=4294967296;break;case 6:r=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:r=e>=-17976931348623157e292&&e<=17976931348623157e292;break;default:r=!1}return r},getDataTypeSize:function(t){var e=0;switch(t){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=t}return e},getDataTypeUsed:function(t,e){var r=t;switch(t){case 2:case 4:r=t-e;break;case 3:case 5:r=t-2*e;break;case 6:r=0===e?t:1===e?2:1;break;case 7:r=0===e?t:t-2*e+1;break;default:r=t}return r},getOnePixel:function(t,e,r,n){var i=0;switch(r){case 0:i=n.getInt8(e);break;case 1:i=n.getUint8(e);break;case 2:i=n.getInt16(e,!0);break;case 3:i=n.getUint16(e,!0);break;case 4:i=n.getInt32(e,!0);break;case 5:i=n.getUInt32(e,!0);break;case 6:i=n.getFloat32(e,!0);break;case 7:i=n.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return i},swapDimensionOrder:function(t,e,r,n,i){var o=0,a=0,s=0,l=0,u=t;if(r>1)if(u=new n(e*r),i)for(o=0;o5)throw"unsupported lerc version 2."+s;a.readMask(t,i),o.numValidPixel===o.width*o.height||i.pixels.resultMask||(i.pixels.resultMask=e.maskData);var u=o.width*o.height;i.pixels.resultPixels=new l(u*o.numDims),i.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var c,h=!e.returnPixelInterleavedDims;if(0!==o.numValidPixel)if(o.zMax===o.zMin)a.constructConstantSurface(i,h);else if(s>=4&&a.checkMinMaxRanges(t,i))a.constructConstantSurface(i,h);else{var f=new DataView(t,i.ptr,2),p=f.getUint8(0);if(i.ptr++,p)a.readDataOneSweep(t,i,l,h);else if(s>1&&o.imageType<=1&&Math.abs(o.maxZError-.5)<1e-5){var d=f.getUint8(1);if(i.ptr++,i.encodeMode=d,d>2||s<4&&d>1)throw"Invalid Huffman flag "+d;d?a.readHuffman(t,i,l,h):a.readTiles(t,i,l,h)}else a.readTiles(t,i,l,h)}i.eofOffset=i.ptr,e.inputOffset?(c=i.headerInfo.blobSize+e.inputOffset-i.ptr,Math.abs(c)>=1&&(i.eofOffset=e.inputOffset+i.headerInfo.blobSize)):(c=i.headerInfo.blobSize-i.ptr,Math.abs(c)>=1&&(i.eofOffset=i.headerInfo.blobSize));var g={width:o.width,height:o.height,pixelData:i.pixels.resultPixels,minValue:o.zMin,maxValue:o.zMax,validPixelCount:o.numValidPixel,dimCount:o.numDims,dimStats:{minValues:o.minValues,maxValues:o.maxValues},maskData:i.pixels.resultMask};if(i.pixels.resultMask&&a.isValidPixelValue(o.imageType,r)){var y=i.pixels.resultMask;for(n=0;n1&&(u&&_.push(u),x.fileInfo.mask&&x.fileInfo.mask.numBytes>0&&b++),y++,v.pixels.push(x.pixelData),v.statistics.push({minValue:x.minValue,maxValue:x.maxValue,noDataValue:x.noDataValue,dimStats:x.dimStats})}if(n>1&&b>1){for(g=v.width*v.height,v.bandMasks=_,(u=new Uint8Array(g)).set(_[0]),c=1;c<_.length;c++)for(l=_[c],h=0;h=0?n=o:(n=r+o)<0&&(n=0);n=0?n=i:(n=r+i)<0&&(n=0);for(var o,a=[];n-1||o.indexOf(e)>-1)return!1;for(n in e){if(e.hasOwnProperty(n)!==t.hasOwnProperty(n))return!1;if(r(e[n])!==r(t[n]))return!1}for(n in t){if(e.hasOwnProperty(n)!==t.hasOwnProperty(n))return!1;if(r(e[n])!==r(t[n]))return!1;switch(r(t[n])){case"object":case"function":if(i.push(t),o.push(e),!Object.equals(t[n],e[n]))return!1;i.pop(),o.pop();break;default:if(t[n]!==e[n])return!1}}return!0})},function(t,e,r){"use strict";e.byteLength=function(t){var e=u(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,n=u(t),a=n[0],s=n[1],l=new o(function(t,e,r){return 3*(e+r)/4-r}(0,a,s)),c=0,h=s>0?a-4:a;for(r=0;r>16&255,l[c++]=e>>8&255,l[c++]=255&e;2===s&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[c++]=255&e);1===s&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e);return l},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,s=0,l=r-i;sl?l:s+a));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==r.call(t)}},function(t,e,r){const n=r(158),i=r(159),o=r(160);function a(t,e,r){const a=r&&r.debug||!1,s=!(r&&!1===typeof r.nested),l=r&&r.startIndex||0;a&&console.log("[xml-utils] starting findTagByName with",e," and ",r);const u=n(t,`<${e}[ >/]`,l);if(a&&console.log("[xml-utils] start:",u),-1===u)return;const c=t.slice(u+e.length);let h=i(c,"^[^<]*[ /]>",0);const f=-1!==h&&"/"===c[h-1];if(a&&console.log("[xml-utils] selfClosing:",f),!1===f)if(s){let t=0,r=1,n=0;for(;-1!==(h=i(c,"[ /]"+e+">",t));){const i=c.substring(t,h+1);if(r+=o(i,"<"+e),n+=o(i,"/"+e+">"),n>=r)break;t=h}}else h=i(c,"[ /]"+e+">",0);const p=u+e.length+h+1;if(a&&console.log("[xml-utils] end:",p),-1===p)return;const d=t.slice(u,p);let g;return g=f?null:d.slice(d.indexOf(">")+1,d.lastIndexOf("<")),{inner:g,outer:d,start:u,end:p}}t.exports=a,t.exports.default=a},function(t,e){function r(t,e,r){const n=new RegExp(e).exec(t.slice(r));return n?r+n.index:-1}t.exports=r,t.exports.default=r},function(t,e){function r(t,e,r){const n=new RegExp(e).exec(t.slice(r));return n?r+n.index+n[0].length-1:-1}t.exports=r,t.exports.default=r},function(t,e){function r(t,e){const r=new RegExp(e,"g"),n=t.match(r);return n?n.length:0}t.exports=r,t.exports.default=r},function(t,e,r){"use strict";function n(t){var e=this;if(e instanceof n||(e=new n),e.tail=null,e.head=null,e.length=0,t&&"function"==typeof t.forEach)t.forEach((function(t){e.push(t)}));else if(arguments.length>0)for(var r=0,i=arguments.length;r1)r=e;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");n=this.head.next,r=this.head.value}for(var i=0;null!==n;i++)r=t(r,n.value,i),n=n.next;return r},n.prototype.reduceReverse=function(t,e){var r,n=this.tail;if(arguments.length>1)r=e;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");n=this.tail.prev,r=this.tail.value}for(var i=this.length-1;null!==n;i--)r=t(r,n.value,i),n=n.prev;return r},n.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;null!==r;e++)t[e]=r.value,r=r.next;return t},n.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;null!==r;e++)t[e]=r.value,r=r.prev;return t},n.prototype.slice=function(t,e){(e=e||this.length)<0&&(e+=this.length),(t=t||0)<0&&(t+=this.length);var r=new n;if(ethis.length&&(e=this.length);for(var i=0,o=this.head;null!==o&&ithis.length&&(e=this.length);for(var i=this.length,o=this.tail;null!==o&&i>e;i--)o=o.prev;for(;null!==o&&i>t;i--,o=o.prev)r.push(o.value);return r},n.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var n=0,o=this.head;null!==o&&n0;r>>>=1)e+=(t.high&r)===r?"1":"0";for(r=2147483648;r>0;r>>>=1)e+=(t.low&r)===r?"1":"0";return e},i.isNaN=t=>Number.isNaN(t),i.isInfinite=t=>!Number.isFinite(t),i.MAX_VALUE=Number.MAX_VALUE,"function"==typeof Float64Array&&"function"==typeof Int32Array?(u=new Float64Array(1),c=new Int32Array(u.buffer),i.doubleToLongBits=function(t){u[0]=t;var e=0|c[0],r=0|c[1];return 2146435072==(2146435072&r)&&0!=(1048575&r)&&0!==e&&(e=0,r=2146959360),new n(r,e)},i.longBitsToDouble=function(t){return c[0]=t.low,c[1]=t.high,u[0]}):(o=Math.log2,a=Math.floor,s=Math.pow,l=function(){for(var t=53;t>0;t--){var e=s(2,t)-1;if(a(o(e))+1===t)return e}return 0}(),i.doubleToLongBits=function(t){var e,r,i,u,c,h,f,p,d;if(t<0||1/t===Number.NEGATIVE_INFINITY?(h=1<<31,t=-t):h=0,0===t)return new n(p=h,d=0);if(t===1/0)return new n(p=2146435072|h,d=0);if(t!=t)return new n(p=2146959360,d=0);if(u=0,d=0,(e=a(t))>1)if(e<=l)(u=a(o(e)))<=20?(d=0,p=e<<20-u&1048575):(d=e%(r=s(2,i=u-20))<<32-i,p=e/r&1048575);else for(i=e,d=0;0!==(i=a(r=i/2));)u++,d>>>=1,d|=(1&p)<<31,p>>>=1,r!==i&&(p|=524288);if(f=u+1023,c=0===e,e=t-e,u<52&&0!==e)for(i=0;;){if((r=2*e)>=1?(e=r-1,c?(f--,c=!1):(i<<=1,i|=1,u++)):(e=r,c?0==--f&&(u++,c=!1):(i<<=1,u++)),20===u)p|=i,i=0;else if(52===u){d|=i;break}if(1===r){u<20?p|=i<<20-u:u<52&&(d|=i<<52-u);break}}return p|=f<<20,new n(p|=h,d)},i.longBitsToDouble=function(t){var e,r,n,i,o=t.high,a=t.low;r=o&1<<31?-1:1,n=((2146435072&o)>>20)-1023,i=0,e=1<<19;for(var l=1;l<=20;l++)o&e&&(i+=s(2,-l)),e>>>=1;for(e=1<<31,l=21;l<=52;l++)a&e&&(i+=s(2,-l)),e>>>=1;if(-1023===n){if(0===i)return 0*r;n=-1022}else{if(1024===n)return 0===i?r/0:NaN;i+=1}return r*i*s(2,n)}),g.prototype=Object.create(Error.prototype),g.prototype.constructor=Error;class y extends g{constructor(){super(),y.constructor_.apply(this,arguments)}getClass(){return y}get interfaces_(){return[]}}y.constructor_=function(){if(0===arguments.length)g.constructor_.call(this);else if(1===arguments.length){let t=arguments[0];g.constructor_.call(this,t)}};class m{constructor(){m.constructor_.apply(this,arguments)}static shouldNeverReachHere(){if(0===arguments.length)m.shouldNeverReachHere(null);else if(1===arguments.length){let t=arguments[0];throw new y("Should never reach here"+(null!==t?": "+t:""))}}static isTrue(){if(1===arguments.length){let t=arguments[0];m.isTrue(t,null)}else if(2===arguments.length){let t=arguments[1];if(!arguments[0])throw null===t?new y:new y(t)}}static equals(){if(2===arguments.length){let t=arguments[0],e=arguments[1];m.equals(t,e,null)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];if(!e.equals(t))throw new y("Expected "+t+" but encountered "+e+(null!==r?": "+r:""))}}getClass(){return m}get interfaces_(){return[]}}m.constructor_=function(){};class _{constructor(){_.constructor_.apply(this,arguments)}static hashCode(){if(1===arguments.length&&"number"==typeof arguments[0]){let e=arguments[0];var t=i.doubleToLongBits(e);return Math.trunc(t^t>>>32)}}setOrdinate(t,e){switch(t){case _.X:this.x=e;break;case _.Y:this.y=e;break;case _.Z:this.z=e;break;default:throw new r("Invalid ordinate index: "+t)}}equals2D(){if(1===arguments.length){let t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){let t=arguments[0],r=arguments[1];return!!e.equalsWithTolerance(this.x,t.x,r)&&!!e.equalsWithTolerance(this.y,t.y,r)}}getOrdinate(t){switch(t){case _.X:return this.x;case _.Y:return this.y;case _.Z:return this.z}throw new r("Invalid ordinate index: "+t)}equals3D(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||i.isNaN(this.z)&&i.isNaN(t.z))}equals(t){return t instanceof _&&this.equals2D(t)}equalInZ(t,r){return e.equalsWithTolerance(this.z,t.z,r)}compareTo(t){var e=t;return this.xe.x?1:this.ye.y?1:0}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return m.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}copy(){return new _(this)}toString(){return"("+this.x+", "+this.y+", "+this.z+")"}distance3D(t){var e=this.x-t.x,r=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+r*r+n*n)}distance(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)}hashCode(){var t=17;return 37*(t=37*t+_.hashCode(this.x))+_.hashCode(this.y)}setCoordinate(t){this.x=t.x,this.y=t.y,this.z=t.z}getClass(){return _}get interfaces_(){return[h,f,d]}}class v{constructor(){v.constructor_.apply(this,arguments)}static compare(t,e){return te?1:i.isNaN(t)?i.isNaN(e)?0:-1:i.isNaN(e)?1:0}compare(t,e){var r=t,n=e,i=v.compare(r.x,n.x);if(0!==i)return i;var o=v.compare(r.y,n.y);return 0!==o?o:this._dimensionsToTest<=2?0:v.compare(r.z,n.z)}getClass(){return v}get interfaces_(){return[p]}}function b(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1}function x(){}function w(){}function E(t){this.message=t||""}function S(){}function O(t){this.message=t||""}function I(t){this.message=t||""}function C(){this.array_=[],arguments[0]instanceof w&&this.addAll(arguments[0])}v.constructor_=function(){if(this._dimensionsToTest=2,0===arguments.length)v.constructor_.call(this,2);else if(1===arguments.length){let t=arguments[0];if(2!==t&&3!==t)throw new r("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}},_.DimensionalComparator=v,_.constructor_=function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)_.constructor_.call(this,0,0);else if(1===arguments.length){let t=arguments[0];_.constructor_.call(this,t.x,t.y,t.z)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];_.constructor_.call(this,t,e,_.NULL_ORDINATE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this.x=t,this.y=e,this.z=r}},_.serialVersionUID=0x5cbf2c235c7e5800,_.NULL_ORDINATE=i.NaN,_.X=0,_.Y=1,_.Z=2,x.prototype.hasNext=function(){},x.prototype.next=function(){},x.prototype.remove=function(){},w.prototype.add=function(){},w.prototype.addAll=function(){},w.prototype.isEmpty=function(){},w.prototype.iterator=function(){},w.prototype.size=function(){},w.prototype.toArray=function(){},w.prototype.remove=function(){},E.prototype=new Error,E.prototype.name="IndexOutOfBoundsException",S.prototype=Object.create(w.prototype),S.prototype.constructor=S,S.prototype.get=function(){},S.prototype.set=function(){},S.prototype.isEmpty=function(){},O.prototype=new Error,O.prototype.name="NoSuchElementException",I.prototype=new Error,I.prototype.name="OperationNotSupported",C.prototype=Object.create(S.prototype),C.prototype.constructor=C,C.prototype.ensureCapacity=function(){},C.prototype.interfaces_=[S,w],C.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],0,arguments[1]),!0},C.prototype.clear=function(){this.array_=[]},C.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},C.prototype.set=function(t,e){var r=this.array_[t];return this.array_[t]=e,r},C.prototype.iterator=function(){return new T(this)},C.prototype.get=function(t){if(t<0||t>=this.size())throw new E;return this.array_[t]},C.prototype.isEmpty=function(){return 0===this.array_.length},C.prototype.size=function(){return this.array_.length},C.prototype.toArray=function(){for(var t=[],e=0,r=this.array_.length;e=1&&this.get(this.size()-1).equals2D(t))return null;super.add.call(this,t)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return this.add(t,e),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){let e=arguments[0],r=arguments[1];if(arguments[2])for(var t=0;t=0;t--)this.add(e[t],r);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof _){let t=arguments[0],r=arguments[1];if(!arguments[2]){var e=this.size();if(e>0){if(t>0&&this.get(t-1).equals2D(r))return null;if(to&&(r=-1),t=i;t!==o;t+=r)this.add(e[t],n);return!0}}closeRing(){this.size()>0&&this.add(new _(this.get(0)),!1)}getClass(){return P}get interfaces_(){return[]}}P.constructor_=function(){if(0===arguments.length);else if(1===arguments.length){let t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.ensureCapacity(t.length),this.add(t,e)}},P.coordArrayType=new Array(0).fill(null);class R{constructor(){R.constructor_.apply(this,arguments)}static intersects(){if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return r.x>=(t.xe.x?t.x:e.x)&&r.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=Math.min(a.x,s.x),e=Math.max(a.x,s.x),r=Math.min(i.x,o.x),n=Math.max(i.x,o.x);return!(r>e||ne||nt._minx?this._minx:t._minx,r=this._miny>t._miny?this._miny:t._miny,n=this._maxx=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return!this.isNull()&&t>=this._minx&&t<=this._maxx&&e>=this._miny&&e<=this._maxy}}intersects(){if(1===arguments.length){if(arguments[0]instanceof R){let t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx||(t.x>e.x?t.x:e.x)this._maxy||(t.y>e.y?t.y:e.y)this._maxx||tthis._maxy||ethis._maxx&&(this._maxx=t._maxx),t._minythis._maxy&&(this._maxy=t._maxy))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.isNull()?(this._minx=t,this._maxx=t,this._miny=e,this._maxy=e):(tthis._maxx&&(this._maxx=t),ethis._maxy&&(this._maxy=e))}}minExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}translate(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}toString(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}setToNull(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}getHeight(){return this.isNull()?0:this._maxy-this._miny}maxExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e}expandBy(){if(1===arguments.length){let t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=e,this._maxy+=e,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}contains(){if(1===arguments.length){if(arguments[0]instanceof R){let t=arguments[0];return this.covers(t)}if(arguments[0]instanceof _){let t=arguments[0];return this.covers(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.covers(t,e)}}centre(){return this.isNull()?null:new _((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}init(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof R){let t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];tt._maxx&&(e=this._minx-t._maxx);var r=0;return this._maxyt._maxy&&(r=this._miny-t._maxy),0===e?r:0===r?e:Math.sqrt(e*e+r*r)}hashCode(){var t=17;return 37*(t=37*(t=37*(t=37*t+_.hashCode(this._minx))+_.hashCode(this._maxx))+_.hashCode(this._miny))+_.hashCode(this._maxy)}getClass(){return R}get interfaces_(){return[h,d]}}function L(){}R.constructor_=function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof R){let t=arguments[0];this.init(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this.init(t,e,r,n)}},R.serialVersionUID=0x51845cd552189800;class M extends L{constructor(){super(),M.constructor_.apply(this,arguments)}getClass(){return M}get interfaces_(){return[]}}function A(t){this.str=t}function N(t){this.value=t}function k(){}M.constructor_=function(){L.constructor_.call(this,"Projective point not representable on the Cartesian plane.")},A.prototype.append=function(t){this.str+=t},A.prototype.setCharAt=function(t,e){this.str=this.str.substr(0,t)+e+this.str.substr(t+1)},A.prototype.toString=function(t){return this.str},N.prototype.intValue=function(){return this.value},N.prototype.compareTo=function(t){return this.valuet?1:0},N.isNaN=t=>Number.isNaN(t),k.isWhitespace=t=>t<=32&&t>=0||127==t,k.toUpperCase=t=>t.toUpperCase();class j{constructor(){j.constructor_.apply(this,arguments)}static sqr(t){return j.valueOf(t).selfMultiply(t)}static valueOf(){if("string"==typeof arguments[0]){let t=arguments[0];return j.parse(t)}if("number"==typeof arguments[0])return new j(arguments[0])}static sqrt(t){return j.valueOf(t).sqrt()}static parse(t){for(var e=0,r=t.length;k.isWhitespace(t.charAt(e));)e++;var n=!1;if(e=r);){var u=t.charAt(e);if(e++,k.isDigit(u)){var c=u-"0";o.selfMultiply(j.TEN),o.selfAdd(c),a++}else{if("."!==u){if("e"===u||"E"===u){var h=t.substring(e);try{l=N.parseInt(h)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+h+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+u+"' at position "+e+" in string "+t)}s=a}}var f=o,p=a-s-l;if(0===p)f=o;else if(p>0){var d=j.TEN.pow(p);f=o.divide(d)}else p<0&&(d=j.TEN.pow(-p),f=o.multiply(d));return n?f.negate():f}static createNaN(){return new j(i.NaN,i.NaN)}static copy(t){return new j(t)}static magnitude(t){var e=Math.abs(t),r=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(r));return 10*Math.pow(10,n)<=e&&(n+=1),n}static stringOfChar(t,e){for(var r=new A,n=0;n9?(c=!0,h="9"):h="0"+u,a.append(h),r=r.subtract(j.valueOf(u)).multiply(j.TEN),c&&r.selfAdd(j.TEN);var f=!0,p=j.magnitude(r._hi);if(p<0&&Math.abs(p)>=s-l&&(f=!1),!f)break}return e[0]=n,a.toString()}sqr(){return this.multiply(this)}doubleValue(){return this._hi+this._lo}subtract(){if(arguments[0]instanceof j){let t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){let t=arguments[0];return this.add(-t)}}equals(){if(1===arguments.length&&arguments[0]instanceof j){let t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}isZero(){return 0===this._hi&&0===this._lo}selfSubtract(){if(arguments[0]instanceof j){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}}getSpecialNumberString(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}min(t){return this.le(t)?this:t}selfDivide(){if(1===arguments.length){if(arguments[0]instanceof j){let t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfDivide(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r,n,i=null,o=null,a=null,s=null;return r=this._hi/l,s=(i=(a=j.SPLIT*r)-(i=a-r))*(o=(s=j.SPLIT*l)-(o=s-l))-(n=r*l)+i*(e=l-o)+(t=r-i)*o+t*e,s=r+(a=(this._hi-n-s+this._lo-r*u)/l),this._hi=s,this._lo=r-s+a,this}}dump(){return"DD<"+this._hi+", "+this._lo+">"}divide(){if(arguments[0]instanceof j){let i=arguments[0];var t,e,r,n,o=null,a=null,s=null,l=null;return t=(r=this._hi/i._hi)-(o=(s=j.SPLIT*r)-(o=s-r)),l=o*(a=(l=j.SPLIT*i._hi)-(a=l-i._hi))-(n=r*i._hi)+o*(e=i._hi-a)+t*a+t*e,s=(this._hi-n-l+this._lo-r*i._lo)/i._hi,new j(l=r+s,r-l+s)}if("number"==typeof arguments[0]){let t=arguments[0];return i.isNaN(t)?j.createNaN():j.copy(this).selfDivide(t,0)}}ge(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}pow(t){if(0===t)return j.valueOf(1);var e=new j(this),r=j.valueOf(1),n=Math.abs(t);if(n>1)for(;n>0;)n%2==1&&r.selfMultiply(e),(n/=2)>0&&(e=e.sqr());else r=e;return t<0?r.reciprocal():r}ceil(){if(this.isNaN())return j.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new j(t,e)}compareTo(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}rint(){return this.isNaN()?this:this.add(.5).floor()}setValue(){if(arguments[0]instanceof j){let t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){let t=arguments[0];return this.init(t),this}}max(t){return this.ge(t)?this:t}sqrt(){if(this.isZero())return j.valueOf(0);if(this.isNegative())return j.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,r=j.valueOf(e),n=this.subtract(r.sqr())._hi*(.5*t);return r.add(n)}selfAdd(){if(1===arguments.length){if(arguments[0]instanceof j){let t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){let a=arguments[0];var t=null,e=null,r=null,n=null,i=null,o=null;return n=(r=this._hi+a)-(i=r-this._hi),e=(o=(n=a-i+(this._hi-n))+this._lo)+(r-(t=r+o)),this._hi=t+e,this._lo=e+(t-this._hi),this}}else if(2===arguments.length){let c=arguments[0],h=arguments[1];t=null,e=null;var a,s=null;r=null,n=null,i=null,o=null,r=this._hi+c,a=this._lo+h,n=r-(i=r-this._hi),s=a-(o=a-this._lo);var l=(t=r+(i=(n=c-i+(this._hi-n))+a))+(i=(s=h-o+(this._lo-s))+(e=i+(r-t))),u=i+(t-l);return this._hi=l,this._lo=u,this}}selfMultiply(){if(1===arguments.length){if(arguments[0]instanceof j){let t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfMultiply(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r=null,n=null,i=null,o=null;r=(i=j.SPLIT*this._hi)-this._hi,o=j.SPLIT*l,r=i-r,t=this._hi-r,n=o-l;var a=(i=this._hi*l)+(o=r*(n=o-n)-i+r*(e=l-n)+t*n+t*e+(this._hi*u+this._lo*l)),s=o+(r=i-a);return this._hi=a,this._lo=s,this}}selfSqr(){return this.selfMultiply(this)}floor(){if(this.isNaN())return j.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new j(t,e)}negate(){return this.isNaN()?this:new j(-this._hi,-this._lo)}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}multiply(){if(arguments[0]instanceof j){let t=arguments[0];return t.isNaN()?j.createNaN():j.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){let t=arguments[0];return i.isNaN(t)?j.createNaN():j.copy(this).selfMultiply(t,0)}}isNaN(){return i.isNaN(this._hi)}intValue(){return Math.trunc(this._hi)}toString(){var t=j.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}toStandardNotation(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!0,e),n=e[0]+1,i=r;if("."===r.charAt(0))i="0"+r;else if(n<0)i="0."+j.stringOfChar("0",-n)+r;else if(-1===r.indexOf(".")){var o=n-r.length;i=r+j.stringOfChar("0",o)+".0"}return this.isNegative()?"-"+i:i}reciprocal(){var t,e,r,n,i=null,o=null,a=null,s=null;t=(r=1/this._hi)-(i=(a=j.SPLIT*r)-(i=a-r)),o=(s=j.SPLIT*this._hi)-this._hi;var l=r+(a=(1-(n=r*this._hi)-(s=i*(o=s-o)-n+i*(e=this._hi-o)+t*o+t*e)-r*this._lo)/this._hi);return new j(l,r-l+a)}toSciNotation(){if(this.isZero())return j.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!1,e),n=j.SCI_NOT_EXPONENT_CHAR+e[0];if("0"===r.charAt(0))throw new IllegalStateException("Found leading zero: "+r);var i="";r.length>1&&(i=r.substring(1));var o=r.charAt(0)+"."+i;return this.isNegative()?"-"+o+n:o+n}abs(){return this.isNaN()?j.NaN:this.isNegative()?this.negate():new j(this)}isPositive(){return this._hi>0||0===this._hi&&this._lo>0}lt(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}isNegative(){return this._hi<0||0===this._hi&&this._lo<0}trunc(){return this.isNaN()?j.NaN:this.isPositive()?this.floor():this.ceil()}signum(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}getClass(){return j}get interfaces_(){return[d,h,f]}}j.constructor_=function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){let t=arguments[0];this.init(t)}else if(arguments[0]instanceof j){let t=arguments[0];this.init(t)}else if("string"==typeof arguments[0]){let t=arguments[0];j.constructor_.call(this,j.parse(t))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t,e)}},j.PI=new j(3.141592653589793,12246467991473532e-32),j.TWO_PI=new j(6.283185307179586,24492935982947064e-32),j.PI_2=new j(1.5707963267948966,6123233995736766e-32),j.E=new j(2.718281828459045,14456468917292502e-32),j.NaN=new j(i.NaN,i.NaN),j.EPS=123259516440783e-46,j.SPLIT=134217729,j.MAX_PRINT_DIGITS=32,j.TEN=j.valueOf(10),j.ONE=j.valueOf(1),j.SCI_NOT_EXPONENT_CHAR="E",j.SCI_NOT_ZERO="0.0E0";class F{constructor(){F.constructor_.apply(this,arguments)}static orientationIndex(t,e,r){var n=F.orientationIndexFilter(t,e,r);if(n<=1)return n;var i=j.valueOf(e.x).selfAdd(-t.x),o=j.valueOf(e.y).selfAdd(-t.y),a=j.valueOf(r.x).selfAdd(-e.x),s=j.valueOf(r.y).selfAdd(-e.y);return i.selfMultiply(s).selfSubtract(o.selfMultiply(a)).signum()}static signOfDet2x2(){if(arguments[0]instanceof j){let t=arguments[1],e=arguments[2],r=arguments[3];return arguments[0].multiply(r).selfSubtract(t.multiply(e)).signum()}if("number"==typeof arguments[0]){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=j.valueOf(i),e=j.valueOf(o),r=j.valueOf(a),n=j.valueOf(s);return t.multiply(n).selfSubtract(e.multiply(r)).signum()}}static intersection(t,e,r,n){var i=j.valueOf(n.y).selfSubtract(r.y).selfMultiply(j.valueOf(e.x).selfSubtract(t.x)),o=j.valueOf(n.x).selfSubtract(r.x).selfMultiply(j.valueOf(e.y).selfSubtract(t.y)),a=i.subtract(o),s=j.valueOf(n.x).selfSubtract(r.x).selfMultiply(j.valueOf(t.y).selfSubtract(r.y)),l=j.valueOf(n.y).selfSubtract(r.y).selfMultiply(j.valueOf(t.x).selfSubtract(r.x)),u=s.subtract(l).selfDivide(a).doubleValue(),c=j.valueOf(t.x).selfAdd(j.valueOf(e.x).selfSubtract(t.x).selfMultiply(u)).doubleValue(),h=j.valueOf(e.x).selfSubtract(t.x).selfMultiply(j.valueOf(t.y).selfSubtract(r.y)),f=j.valueOf(e.y).selfSubtract(t.y).selfMultiply(j.valueOf(t.x).selfSubtract(r.x)),p=h.subtract(f).selfDivide(a).doubleValue(),d=j.valueOf(r.y).selfAdd(j.valueOf(n.y).selfSubtract(r.y).selfMultiply(p)).doubleValue();return new _(c,d)}static orientationIndexFilter(t,e,r){var n=null,i=(t.x-r.x)*(e.y-r.y),o=(t.y-r.y)*(e.x-r.x),a=i-o;if(i>0){if(o<=0)return F.signum(a);n=i+o}else{if(!(i<0))return F.signum(a);if(o>=0)return F.signum(a);n=-i-o}var s=F.DP_SAFE_EPSILON*n;return a>=s||-a>=s?F.signum(a):2}static signum(t){return t>0?1:t<0?-1:0}getClass(){return F}get interfaces_(){return[]}}F.constructor_=function(){},F.DP_SAFE_EPSILON=1e-15;class D{constructor(){D.constructor_.apply(this,arguments)}static index(t,e,r){return F.orientationIndex(t,e,r)}static isCCW(t){var e=t.length-1;if(e<3)throw new r("Ring has fewer than 4 points, so orientation cannot be determined");for(var n=t[0],i=0,o=1;o<=e;o++){var a=t[o];a.y>n.y&&(n=a,i=o)}var s=i;do{(s-=1)<0&&(s=e)}while(t[s].equals2D(n)&&s!==i);var l=i;do{l=(l+1)%e}while(t[l].equals2D(n)&&l!==i);var u=t[s],c=t[l];if(u.equals2D(n)||c.equals2D(n)||u.equals2D(c))return!1;var h=D.index(u,n,c);return 0===h?u.x>c.x:h>0}getClass(){return D}get interfaces_(){return[]}}function G(){}D.constructor_=function(){},D.CLOCKWISE=-1,D.RIGHT=D.CLOCKWISE,D.COUNTERCLOCKWISE=1,D.LEFT=D.COUNTERCLOCKWISE,D.COLLINEAR=0,D.STRAIGHT=D.COLLINEAR,G.arraycopy=(t,e,r,n,i)=>{let o=0;for(let a=e;a({"line.separator":"\n"}[t]);class U{constructor(){U.constructor_.apply(this,arguments)}static intersection(t,e,r,n){var o=t.y-e.y,a=e.x-t.x,s=t.x*e.y-e.x*t.y,l=r.y-n.y,u=n.x-r.x,c=r.x*n.y-n.x*r.y,h=o*u-l*a,f=(a*c-u*s)/h,p=(l*s-o*c)/h;if(i.isNaN(f)||i.isInfinite(f)||i.isNaN(p)||i.isInfinite(p))throw new M;return new _(f,p)}getY(){var t=this.y/this.w;if(i.isNaN(t)||i.isInfinite(t))throw new M;return t}getX(){var t=this.x/this.w;if(i.isNaN(t)||i.isInfinite(t))throw new M;return t}getCoordinate(){var t=new _;return t.x=this.getX(),t.y=this.getY(),t}getClass(){return U}get interfaces_(){return[]}}U.constructor_=function(){if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length){let t=arguments[0];this.x=t.x,this.y=t.y,this.w=1}else if(2===arguments.length){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];this.x=t,this.y=e,this.w=1}else if(arguments[0]instanceof U&&arguments[1]instanceof U){let t=arguments[0],e=arguments[1];this.x=t.y*e.w-e.y*t.w,this.y=e.x*t.w-t.x*e.w,this.w=t.x*e.y-e.x*t.y}else if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];this.x=t.y-e.y,this.y=e.x-t.x,this.w=t.x*e.y-e.x*t.y}}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this.x=t,this.y=e,this.w=r}else if(4===arguments.length){let a=arguments[0],s=arguments[1],l=arguments[2],u=arguments[3];var t=a.y-s.y,e=s.x-a.x,r=a.x*s.y-s.x*a.y,n=l.y-u.y,i=u.x-l.x,o=l.x*u.y-u.x*l.y;this.x=e*o-i*r,this.y=n*r-t*o,this.w=t*i-n*e}};class B{constructor(){B.constructor_.apply(this,arguments)}static log10(t){var e=Math.log(t);return i.isInfinite(e)||i.isNaN(e)?e:e/B.LOG_10}static min(t,e,r,n){var i=t;return er?r:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1],r=arguments[2];return tr?r:t}}static wrap(t,e){return t<0?e- -t%e:t%e}static max(){if(3===arguments.length){let e=arguments[1],r=arguments[2];return e>(t=arguments[0])&&(t=e),r>t&&(t=r),t}if(4===arguments.length){let e=arguments[1],r=arguments[2],n=arguments[3];var t;return e>(t=arguments[0])&&(t=e),r>t&&(t=r),n>t&&(t=n),t}}static average(t,e){return(t+e)/2}getClass(){return B}get interfaces_(){return[]}}B.constructor_=function(){},B.LOG_10=Math.log(10);class z{constructor(){z.constructor_.apply(this,arguments)}static segmentToSegment(t,e,r,n){if(t.equals(e))return z.pointToSegment(t,r,n);if(r.equals(n))return z.pointToSegment(n,t,e);var i=!1;if(R.intersects(t,e,r,n)){var o=(e.x-t.x)*(n.y-r.y)-(e.y-t.y)*(n.x-r.x);if(0===o)i=!0;else{var a=(t.y-r.y)*(n.x-r.x)-(t.x-r.x)*(n.y-r.y),s=((t.y-r.y)*(e.x-t.x)-(t.x-r.x)*(e.y-t.y))/o,l=a/o;(l<0||l>1||s<0||s>1)&&(i=!0)}}else i=!0;return i?B.min(z.pointToSegment(t,r,n),z.pointToSegment(e,r,n),z.pointToSegment(r,t,e),z.pointToSegment(n,t,e)):0}static pointToSegment(t,e,r){if(e.x===r.x&&e.y===r.y)return t.distance(e);var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;if(i<=0)return t.distance(e);if(i>=1)return t.distance(r);var o=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(o)*Math.sqrt(n)}static pointToLinePerpendicular(t,e,r){var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(i)*Math.sqrt(n)}static pointToSegmentString(t,e){if(0===e.length)throw new r("Line array must contain at least one vertex");for(var n=t.distance(e[0]),i=0;i0}getClass(){return K}get interfaces_(){return[H]}}K.constructor_=function(){};class J{constructor(){J.constructor_.apply(this,arguments)}isInBoundary(t){return t>1}getClass(){return J}get interfaces_(){return[H]}}J.constructor_=function(){};class Q{constructor(){Q.constructor_.apply(this,arguments)}isInBoundary(t){return 1===t}getClass(){return Q}get interfaces_(){return[H]}}Q.constructor_=function(){},H.Mod2BoundaryNodeRule=Z,H.EndPointBoundaryNodeRule=K,H.MultiValentEndPointBoundaryNodeRule=J,H.MonoValentEndPointBoundaryNodeRule=Q,H.constructor_=function(){},H.MOD2_BOUNDARY_RULE=new Z,H.ENDPOINT_BOUNDARY_RULE=new K,H.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new J,H.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new Q,H.OGC_SFS_BOUNDARY_RULE=H.MOD2_BOUNDARY_RULE;class ${constructor(){$.constructor_.apply(this,arguments)}static isRing(t){return!(t.length<4||!t[0].equals2D(t[t.length-1]))}static ptNotInList(t,e){for(var r=0;r=t?e:[]}static indexOf(t,e){for(var r=0;r0)&&(e=t[r]);return e}static extract(t,e,r){e=B.clamp(e,0,t.length);var n=(r=B.clamp(r,-1,t.length))-e+1;r<0&&(n=0),e>=t.length&&(n=0),rn.length)return 1;if(0===r.length)return 0;var i=$.compare(r,n);return $.isEqualReversed(r,n)?0:i}OLDcompare(t,e){var r=t,n=e;if(r.lengthn.length)return 1;if(0===r.length)return 0;for(var i=$.increasingDirection(r),o=$.increasingDirection(n),a=i>0?0:r.length-1,s=o>0?0:r.length-1,l=0;l0))return e.value;e=e.right}}return null},pt.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:st,getValue(){return this.value},getKey(){return this.key}},this.size_=1,null;var r,n,i=this.root_;do{if(r=i,(n=t.compareTo(i.key))<0)i=i.left;else{if(!(n>0)){var o=i.value;return i.value=e,o}i=i.right}}while(null!==i);var a={key:t,left:null,right:null,value:e,parent:r,color:st,getValue(){return this.value},getKey(){return this.key}};return n<0?r.left=a:r.right=a,this.fixAfterInsertion(a),this.size_++,null},pt.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!=this.root_&&1==t.parent.color;){var e;ut(t)==ht(ut(ut(t)))?1==lt(e=ft(ut(ut(t))))?(ct(ut(t),st),ct(e,st),ct(ut(ut(t)),1),t=ut(ut(t))):(t==ft(ut(t))&&(t=ut(t),this.rotateLeft(t)),ct(ut(t),st),ct(ut(ut(t)),1),this.rotateRight(ut(ut(t)))):1==lt(e=ht(ut(ut(t))))?(ct(ut(t),st),ct(e,st),ct(ut(ut(t)),1),t=ut(ut(t))):(t==ht(ut(t))&&(t=ut(t),this.rotateRight(t)),ct(ut(t),st),ct(ut(ut(t)),1),this.rotateLeft(ut(ut(t))))}this.root_.color=st},pt.prototype.values=function(){var t=new C,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=pt.successor(e));)t.add(e.value);return t},pt.prototype.entrySet=function(){var t=new ot,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=pt.successor(e));)t.add(e);return t},pt.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left==t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},pt.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right==t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},pt.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},pt.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var r=t;null!==e&&r===e.right;)r=e,e=e.parent;return e},pt.prototype.size=function(){return this.size_},pt.prototype.containsKey=function(t){for(var e=this.root_;null!==e;){var r=t.compareTo(e.key);if(r<0)e=e.left;else{if(!(r>0))return!0;e=e.right}}return!1};class dt{constructor(){dt.constructor_.apply(this,arguments)}getClass(){return dt}get interfaces_(){return[]}}function gt(){}function yt(){this.array_=[],arguments[0]instanceof w&&this.addAll(arguments[0])}dt.constructor_=function(){},gt.prototype=new it,yt.prototype=new gt,yt.prototype.contains=function(t){for(var e=0,r=this.array_.length;e=0;){var a=i.substring(0,o);n.add(a),o=(i=i.substring(o+r)).indexOf(e)}i.length>0&&n.add(i);for(var s=new Array(n.size()).fill(null),l=0;l0)for(var o=i;o0&&r.append(" ");for(var i=0;i0&&r.append(","),r.append(At.toString(o.getOrdinate(n,i)))}return r.append(")"),r.toString()}}static ensureValidRing(t,e){var r=e.size();return 0===r?e:r<=3?kt.createClosedRing(t,e,4):e.getOrdinate(0,V.X)===e.getOrdinate(r-1,V.X)&&e.getOrdinate(0,V.Y)===e.getOrdinate(r-1,V.Y)?e:kt.createClosedRing(t,e,r+1)}static createClosedRing(t,e,r){var n=t.create(r,e.getDimension()),i=e.size();kt.copy(e,0,n,0,i);for(var o=i;o0){var r=this._points.copy();kt.reverse(r),this._points=r}return null}}}getCoordinate(){return this.isEmpty()?null:this._points.getCoordinate(0)}getBoundaryDimension(){return this.isClosed()?bt.FALSE:0}isClosed(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}getEndPoint(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}getTypeCode(){return W.TYPECODE_LINESTRING}getDimension(){return 1}getLength(){return Ct.ofLine(this._points)}getNumPoints(){return this._points.size()}reverse(){var t=this._points.copy();return kt.reverse(t),this.getFactory().createLineString(t)}compareToSameClass(){if(1===arguments.length){for(var t=arguments[0],e=0,r=0;e= 2)");this._points=t}isCoordinate(t){for(var e=0;e=1&&this.getCoordinateSequence().size()= 4)")}getGeometryType(){return W.TYPENAME_LINEARRING}copy(){return new Vt(this._points.copy(),this._factory)}getClass(){return Vt}get interfaces_(){return[]}}Vt.constructor_=function(){if(arguments[0]instanceof Array&&arguments[1]instanceof ae){let t=arguments[0],e=arguments[1];Vt.constructor_.call(this,e.getCoordinateSequenceFactory().create(t),e)}else if(b(arguments[0],V)&&arguments[1]instanceof ae){let t=arguments[0],e=arguments[1];jt.constructor_.call(this,t,e),this.validateConstruction()}},Vt.MINIMUM_VALID_SIZE=4,Vt.serialVersionUID=-0x3b229e262367a600;class qt extends Et{constructor(){super(),qt.constructor_.apply(this,arguments)}equalsExact(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof W){let t=arguments[0],e=arguments[1];return!!this.isEquivalentClass(t)&&super.equalsExact.call(this,t,e)}return super.equalsExact.apply(this,arguments)}getBoundaryDimension(){return 1}getTypeCode(){return W.TYPECODE_MULTIPOLYGON}getDimension(){return 2}reverse(){for(var t=this._geometries.length,e=new Array(t).fill(null),r=0;r0){var t=new Nt(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new Kt(t):new Kt(t,e)}}getClass(){return Jt}get interfaces_(){return[q,d]}}Jt.constructor_=function(){},Jt.serialVersionUID=-0x38e49fa6cf6f2e00,Jt.instanceObject=new Jt;var Qt=Object.defineProperty,$t=function(t,e){function r(t){if(!this||this.constructor!==r)return new r(t);this._keys=[],this._values=[],this._itp=[],this.objectOnly=e,t&&function(t){this.add?t.forEach(this.add,this):t.forEach((function(t){this.set(t[0],t[1])}),this)}.call(this,t)}return e||Qt(t,"size",{get:ee}),t.constructor=r,r.prototype=t,r}({delete:function(t){return this.has(t)&&(this._keys.splice(mt,1),this._values.splice(mt,1),this._itp.forEach((function(t){mt-1},has:function(t){return function(t,e){if(this.objectOnly&&e!==Object(e))throw new TypeError("Invalid value used as weak collection key");if(e!=e||0===e)for(mt=t.length;mt--&&(r=t[mt])!==(n=e)&&(r==r||n==n););else mt=t.indexOf(e);var r,n;return mt>-1}.call(this,this._keys,t)},get:function(t){return this.has(t)?this._values[mt]:void 0},set:function(t,e){return this.has(t)?this._values[mt]=e:this._values[this._keys.push(t)-1]=e,this},keys:function(){return te(this._itp,this._keys)},values:function(){return te(this._itp,this._values)},entries:function(){return te(this._itp,this._keys,this._values)},forEach:function(t,e){for(var r=this.entries();;){var n=r.next();if(n.done)break;t.call(e,n.value[1],n.value[0],this)}},clear:function(){(this._keys||0).length=this._values.length=0}});function te(t,e,r){var n=[0],i=!1;return t.push(n),{next:function(){var o,a=n[0];return!i&&at.add(e)),t},ne.prototype.size=function(){return this.map_.size()};class ie{constructor(){ie.constructor_.apply(this,arguments)}static mostPrecise(t,e){return t.compareTo(e)>=0?t:e}equals(t){if(!(t instanceof ie))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale}compareTo(t){var e=t,r=this.getMaximumSignificantDigits(),n=e.getMaximumSignificantDigits();return new N(r).compareTo(new N(n))}getScale(){return this._scale}isFloating(){return this._modelType===ie.FLOATING||this._modelType===ie.FLOATING_SINGLE}getType(){return this._modelType}toString(){var t="UNKNOWN";return this._modelType===ie.FLOATING?t="Floating":this._modelType===ie.FLOATING_SINGLE?t="Floating-Single":this._modelType===ie.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t}makePrecise(){if("number"==typeof arguments[0]){let t=arguments[0];return i.isNaN(t)||this._modelType===ie.FLOATING_SINGLE?t:this._modelType===ie.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof _){let t=arguments[0];if(this._modelType===ie.FLOATING)return null;t.x=this.makePrecise(t.x),t.y=this.makePrecise(t.y)}}getMaximumSignificantDigits(){var t=16;return this._modelType===ie.FLOATING?t=16:this._modelType===ie.FLOATING_SINGLE?t=6:this._modelType===ie.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t}setScale(t){this._scale=Math.abs(t)}getClass(){return ie}get interfaces_(){return[d,h]}}class oe{constructor(){oe.constructor_.apply(this,arguments)}readResolve(){return oe.nameToTypeMap.get(this._name)}toString(){return this._name}getClass(){return oe}get interfaces_(){return[d]}}oe.constructor_=function(){this._name=null;let t=arguments[0];this._name=t,oe.nameToTypeMap.put(t,this)},oe.serialVersionUID=-552860263173159e4,oe.nameToTypeMap=new ne,ie.Type=oe,ie.constructor_=function(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=ie.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof oe){let t=arguments[0];this._modelType=t,t===ie.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){let t=arguments[0];this._modelType=ie.FIXED,this.setScale(t)}else if(arguments[0]instanceof ie){let t=arguments[0];this._modelType=t._modelType,this._scale=t._scale}},ie.serialVersionUID=0x6bee6404e9a25c00,ie.FIXED=new oe("FIXED"),ie.FLOATING=new oe("FLOATING"),ie.FLOATING_SINGLE=new oe("FLOATING SINGLE"),ie.maximumPreciseValue=9007199254740992;class ae{constructor(){ae.constructor_.apply(this,arguments)}static toMultiPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toGeometryArray(t){if(null===t)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)}static getDefaultCoordinateSequenceFactory(){return Jt.instance()}static toMultiLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toMultiPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLinearRingArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static createPointFromInternalCoord(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)}toGeometry(t){return t.isNull()?this.createPoint():t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new _(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new _(t.getMinX(),t.getMinY()),new _(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new _(t.getMinX(),t.getMinY()),new _(t.getMinX(),t.getMaxY()),new _(t.getMaxX(),t.getMaxY()),new _(t.getMaxX(),t.getMinY()),new _(t.getMinX(),t.getMinY())]),null)}createLineString(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLineString(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(b(arguments[0],V))return new jt(arguments[0],this)}}createMultiLineString(){return 0===arguments.length?new St(null,this):1===arguments.length?new St(arguments[0],this):void 0}buildGeometry(t){for(var e=null,r=!1,n=!1,i=t.iterator();i.hasNext();){var o=i.next(),a=o.getClass();null===e&&(e=a),a!==e&&(r=!0),o instanceof Et&&(n=!0)}if(null===e)return this.createGeometryCollection();if(r||n)return this.createGeometryCollection(ae.toGeometryArray(t));var s=t.iterator().next();if(t.size()>1){if(s instanceof Bt)return this.createMultiPolygon(ae.toPolygonArray(t));if(s instanceof jt)return this.createMultiLineString(ae.toLineStringArray(t));if(s instanceof Dt)return this.createMultiPoint(ae.toPointArray(t));m.shouldNeverReachHere("Unhandled class: "+s.getClass().getName())}return s}createMultiPointFromCoords(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}createPoint(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof _){let t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(b(arguments[0],V))return new Dt(arguments[0],this)}}getCoordinateSequenceFactory(){return this._coordinateSequenceFactory}createPolygon(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(b(arguments[0],V)){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Vt){let t=arguments[0];return this.createPolygon(t,null)}}else if(2===arguments.length)return new Bt(arguments[0],arguments[1],this)}getSRID(){return this._SRID}createGeometryCollection(){return 0===arguments.length?new Et(null,this):1===arguments.length?new Et(arguments[0],this):void 0}createGeometry(t){return new Yt(this).edit(t,new class{edit(){if(2===arguments.length&&arguments[1]instanceof W&&b(arguments[0],V)){let t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})}getPrecisionModel(){return this._precisionModel}createLinearRing(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(b(arguments[0],V))return new Vt(arguments[0],this)}}createMultiPolygon(){return 0===arguments.length?new qt(null,this):1===arguments.length?new qt(arguments[0],this):void 0}createMultiPoint(){if(0===arguments.length)return new zt(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new zt(arguments[0],this);if(b(arguments[0],V)){let n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var t=new Array(n.size()).fill(null),e=0;et.x+" "+t.y,point(t){return ue.coordinate.call(this,t._coordinates._coordinates[0])},multipoint(t){var e=[];for(let r=0,n=t._geometries.length;ri?n:i;else{var a=Math.abs(t.x-e.x),s=Math.abs(t.y-e.y);0!==(o=n>i?a:s)||t.equals(e)||(o=Math.max(a,s))}return m.isTrue(!(0===o&&!t.equals(e)),"Bad distance calculation"),o}static nonRobustComputeEdgeDistance(t,e,r){var n=t.x-e.x,i=t.y-e.y,o=Math.sqrt(n*n+i*i);return m.isTrue(!(0===o&&!t.equals(e)),"Invalid distance calculation"),o}getIndexAlongSegment(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}getTopologySummary(){var t=new Nt;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}computeIntersection(t,e,r,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=r,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,r,n)}getIntersectionNum(){return this._result}computeIntLineIndex(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map(()=>Array(2)),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){let t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}isProper(){return this.hasIntersection()&&this._isProper}setPrecisionModel(t){this._precisionModel=t}isInteriorIntersection(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){let e=arguments[0];for(var t=0;tArray(2)),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new _,this._intPt[1]=new _,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},fe.DONT_INTERSECT=0,fe.DO_INTERSECT=1,fe.COLLINEAR=2,fe.NO_INTERSECTION=0,fe.POINT_INTERSECTION=1,fe.COLLINEAR_INTERSECTION=2;class pe extends fe{constructor(){super(),pe.constructor_.apply(this,arguments)}static nearestEndpoint(t,e,r,n){var i=t,o=z.pointToSegment(t,r,n),a=z.pointToSegment(e,r,n);return a1e-4&&G.out.println("Distance = "+i.distance(o))}intersectionWithNormalization(t,e,r,n){var i=new _(t),o=new _(e),a=new _(r),s=new _(n),l=new _;this.normalizeToEnvCentre(i,o,a,s,l);var u=this.safeHCoordinateIntersection(i,o,a,s);return u.x+=l.x,u.y+=l.y,u}computeCollinearIntersection(t,e,r,n){var i=R.intersects(t,e,r),o=R.intersects(t,e,n),a=R.intersects(r,n,t),s=R.intersects(r,n,e);return i&&o?(this._intPt[0]=r,this._intPt[1]=n,fe.COLLINEAR_INTERSECTION):a&&s?(this._intPt[0]=t,this._intPt[1]=e,fe.COLLINEAR_INTERSECTION):i&&a?(this._intPt[0]=r,this._intPt[1]=t,!r.equals(t)||o||s?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):i&&s?(this._intPt[0]=r,this._intPt[1]=e,!r.equals(e)||o||a?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):o&&a?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||i||s?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):o&&s?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||i||a?fe.COLLINEAR_INTERSECTION:fe.POINT_INTERSECTION):fe.NO_INTERSECTION}normalizeToEnvCentre(t,e,r,n,i){var o=t.xe.x?t.x:e.x,l=t.y>e.y?t.y:e.y,u=r.xn.x?r.x:n.x,f=r.y>n.y?r.y:n.y,p=((o>u?o:u)+(sc?a:c)+(l0&&o>0||i<0&&o<0)return fe.NO_INTERSECTION;var a=D.index(r,n,t),s=D.index(r,n,e);return a>0&&s>0||a<0&&s<0?fe.NO_INTERSECTION:0===i&&0===o&&0===a&&0===s?this.computeCollinearIntersection(t,e,r,n):(0===i||0===o||0===a||0===s?(this._isProper=!1,t.equals2D(r)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(r)||e.equals2D(n)?this._intPt[0]=e:0===i?this._intPt[0]=new _(r):0===o?this._intPt[0]=new _(n):0===a?this._intPt[0]=new _(t):0===s&&(this._intPt[0]=new _(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,r,n)),fe.POINT_INTERSECTION)}getClass(){return pe}get interfaces_(){return[]}}pe.constructor_=function(){};class de{constructor(){de.constructor_.apply(this,arguments)}static midPoint(t,e){return new _((t.x+e.x)/2,(t.y+e.y)/2)}minX(){return Math.min(this.p0.x,this.p1.x)}orientationIndex(){if(arguments[0]instanceof de){let r=arguments[0];var t=D.index(this.p0,this.p1,r.p0),e=D.index(this.p0,this.p1,r.p1);return t>=0&&e>=0||t<=0&&e<=0?Math.max(t,e):0}if(arguments[0]instanceof _){let t=arguments[0];return D.index(this.p0,this.p1,t)}}toGeometry(t){return t.createLineString([this.p0,this.p1])}isVertical(){return this.p0.x===this.p1.x}equals(t){if(!(t instanceof de))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)}intersection(t){var e=new pe;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}project(){if(arguments[0]instanceof _){let r=arguments[0];if(r.equals(this.p0)||r.equals(this.p1))return new _(r);var t=this.projectionFactor(r),e=new _;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}if(arguments[0]instanceof de){let t=arguments[0];var r=this.projectionFactor(t.p0),n=this.projectionFactor(t.p1);if(r>=1&&n>=1)return null;if(r<=0&&n<=0)return null;var i=this.project(t.p0);r<0&&(i=this.p0),r>1&&(i=this.p1);var o=this.project(t.p1);return n<0&&(o=this.p0),n>1&&(o=this.p1),new de(i,o)}}normalize(){this.p1.compareTo(this.p0)<0&&this.reverse()}angle(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}getCoordinate(t){return 0===t?this.p0:this.p1}distancePerpendicular(t){return z.pointToLinePerpendicular(t,this.p0,this.p1)}minY(){return Math.min(this.p0.y,this.p1.y)}midPoint(){return de.midPoint(this.p0,this.p1)}projectionFactor(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,r=this.p1.y-this.p0.y,n=e*e+r*r;return n<=0?i.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*r)/n}closestPoints(t){var e=this.intersection(t);if(null!==e)return[e,e];var r=new Array(2).fill(null),n=i.MAX_VALUE,o=null,a=this.closestPoint(t.p0);n=a.distance(t.p0),r[0]=a,r[1]=t.p0;var s=this.closestPoint(t.p1);(o=s.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||i.isNaN(e))&&(e=1),e}toString(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}isHorizontal(){return this.p0.y===this.p1.y}distance(){if(arguments[0]instanceof de){let t=arguments[0];return z.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof _){let t=arguments[0];return z.pointToSegment(t,this.p0,this.p1)}}pointAlong(t){var e=new _;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}hashCode(){var t=java.lang.Double.doubleToLongBits(this.p0.x);t^=31*java.lang.Double.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),r=java.lang.Double.doubleToLongBits(this.p1.x);return r^=31*java.lang.Double.doubleToLongBits(this.p1.y),e^Math.trunc(r)^Math.trunc(r>>32)}getClass(){return de}get interfaces_(){return[h,d]}}de.constructor_=function(){if(this.p0=null,this.p1=null,0===arguments.length)de.constructor_.call(this,new _,new _);else if(1===arguments.length){let t=arguments[0];de.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.p0=t,this.p1=e}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];de.constructor_.call(this,new _(t,e),new _(r,n))}},de.serialVersionUID=0x2d2172135f411c00;class ge{constructor(){ge.constructor_.apply(this,arguments)}static toLocationSymbol(t){switch(t){case ge.EXTERIOR:return"e";case ge.BOUNDARY:return"b";case ge.INTERIOR:return"i";case ge.NONE:return"-"}throw new r("Unknown location value: "+t)}getClass(){return ge}get interfaces_(){return[]}}ge.constructor_=function(){},ge.INTERIOR=0,ge.BOUNDARY=1,ge.EXTERIOR=2,ge.NONE=-1;class ye{constructor(){ye.constructor_.apply(this,arguments)}static matches(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return e===bt.SYM_DONTCARE||e===bt.SYM_TRUE&&(t>=0||t===bt.TRUE)||e===bt.SYM_FALSE&&t===bt.FALSE||e===bt.SYM_P&&t===bt.P||e===bt.SYM_L&&t===bt.L||e===bt.SYM_A&&t===bt.A}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){let t=arguments[1];return new ye(arguments[0]).matches(t)}}static isTrue(t){return t>=0||t===bt.TRUE}isIntersects(){return!this.isDisjoint()}isCovers(){return(ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])||ye.isTrue(this._matrix[ge.INTERIOR][ge.BOUNDARY])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.INTERIOR])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.BOUNDARY]))&&this._matrix[ge.EXTERIOR][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.EXTERIOR][ge.BOUNDARY]===bt.FALSE}isCoveredBy(){return(ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])||ye.isTrue(this._matrix[ge.INTERIOR][ge.BOUNDARY])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.INTERIOR])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.BOUNDARY]))&&this._matrix[ge.INTERIOR][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.EXTERIOR]===bt.FALSE}set(){if(1===arguments.length){let n=arguments[0];for(var t=0;t=0&&e>=0&&this.setAtLeast(t,e,r)}isWithin(){return ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&this._matrix[ge.INTERIOR][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.EXTERIOR]===bt.FALSE}isTouches(t,e){return t>e?this.isTouches(e,t):(t===bt.A&&e===bt.A||t===bt.L&&e===bt.L||t===bt.L&&e===bt.A||t===bt.P&&e===bt.A||t===bt.P&&e===bt.L)&&this._matrix[ge.INTERIOR][ge.INTERIOR]===bt.FALSE&&(ye.isTrue(this._matrix[ge.INTERIOR][ge.BOUNDARY])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.INTERIOR])||ye.isTrue(this._matrix[ge.BOUNDARY][ge.BOUNDARY]))}isOverlaps(t,e){return t===bt.P&&e===bt.P||t===bt.A&&e===bt.A?ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&ye.isTrue(this._matrix[ge.INTERIOR][ge.EXTERIOR])&&ye.isTrue(this._matrix[ge.EXTERIOR][ge.INTERIOR]):t===bt.L&&e===bt.L&&1===this._matrix[ge.INTERIOR][ge.INTERIOR]&&ye.isTrue(this._matrix[ge.INTERIOR][ge.EXTERIOR])&&ye.isTrue(this._matrix[ge.EXTERIOR][ge.INTERIOR])}isEquals(t,e){return t===e&&ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&this._matrix[ge.INTERIOR][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.EXTERIOR]===bt.FALSE&&this._matrix[ge.EXTERIOR][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.EXTERIOR][ge.BOUNDARY]===bt.FALSE}toString(){for(var t=new Nt("123456789"),e=0;e<3;e++)for(var r=0;r<3;r++)t.setCharAt(3*e+r,bt.toDimensionSymbol(this._matrix[e][r]));return t.toString()}setAll(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this._matrix[e][r]=t}get(t,e){return this._matrix[t][e]}transpose(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}matches(t){if(9!==t.length)throw new r("Should be length 9: "+t);for(var e=0;e<3;e++)for(var n=0;n<3;n++)if(!ye.matches(this._matrix[e][n],t.charAt(3*e+n)))return!1;return!0}add(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this.setAtLeast(e,r,t.get(e,r))}isDisjoint(){return this._matrix[ge.INTERIOR][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.INTERIOR][ge.BOUNDARY]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.INTERIOR]===bt.FALSE&&this._matrix[ge.BOUNDARY][ge.BOUNDARY]===bt.FALSE}isCrosses(t,e){return t===bt.P&&e===bt.L||t===bt.P&&e===bt.A||t===bt.L&&e===bt.A?ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&ye.isTrue(this._matrix[ge.INTERIOR][ge.EXTERIOR]):t===bt.L&&e===bt.P||t===bt.A&&e===bt.P||t===bt.A&&e===bt.L?ye.isTrue(this._matrix[ge.INTERIOR][ge.INTERIOR])&&ye.isTrue(this._matrix[ge.EXTERIOR][ge.INTERIOR]):t===bt.L&&e===bt.L&&0===this._matrix[ge.INTERIOR][ge.INTERIOR]}getClass(){return ye}get interfaces_(){return[f]}}ye.constructor_=function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map(()=>Array(3)),this.setAll(bt.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){let t=arguments[0];ye.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof ye){let t=arguments[0];ye.constructor_.call(this),this._matrix[ge.INTERIOR][ge.INTERIOR]=t._matrix[ge.INTERIOR][ge.INTERIOR],this._matrix[ge.INTERIOR][ge.BOUNDARY]=t._matrix[ge.INTERIOR][ge.BOUNDARY],this._matrix[ge.INTERIOR][ge.EXTERIOR]=t._matrix[ge.INTERIOR][ge.EXTERIOR],this._matrix[ge.BOUNDARY][ge.INTERIOR]=t._matrix[ge.BOUNDARY][ge.INTERIOR],this._matrix[ge.BOUNDARY][ge.BOUNDARY]=t._matrix[ge.BOUNDARY][ge.BOUNDARY],this._matrix[ge.BOUNDARY][ge.EXTERIOR]=t._matrix[ge.BOUNDARY][ge.EXTERIOR],this._matrix[ge.EXTERIOR][ge.INTERIOR]=t._matrix[ge.EXTERIOR][ge.INTERIOR],this._matrix[ge.EXTERIOR][ge.BOUNDARY]=t._matrix[ge.EXTERIOR][ge.BOUNDARY],this._matrix[ge.EXTERIOR][ge.EXTERIOR]=t._matrix[ge.EXTERIOR][ge.EXTERIOR]}};class me{constructor(){me.constructor_.apply(this,arguments)}static toDegrees(t){return 180*t/Math.PI}static normalize(t){for(;t>Math.PI;)t-=me.PI_TIMES_2;for(;t<=-Math.PI;)t+=me.PI_TIMES_2;return t}static angle(){if(1===arguments.length){let t=arguments[0];return Math.atan2(t.y,t.x)}if(2===arguments.length){let r=arguments[0],n=arguments[1];var t=n.x-r.x,e=n.y-r.y;return Math.atan2(e,t)}}static isAcute(t,e,r){var n=t.x-e.x,i=t.y-e.y;return n*(r.x-e.x)+i*(r.y-e.y)>0}static isObtuse(t,e,r){var n=t.x-e.x,i=t.y-e.y;return n*(r.x-e.x)+i*(r.y-e.y)<0}static interiorAngle(t,e,r){var n=me.angle(e,t),i=me.angle(e,r);return Math.abs(i-n)}static normalizePositive(t){if(t<0){for(;t<0;)t+=me.PI_TIMES_2;t>=me.PI_TIMES_2&&(t=0)}else{for(;t>=me.PI_TIMES_2;)t-=me.PI_TIMES_2;t<0&&(t=0)}return t}static angleBetween(t,e,r){var n=me.angle(e,t),i=me.angle(e,r);return me.diff(n,i)}static diff(t,e){var r=null;return(r=tMath.PI&&(r=2*Math.PI-r),r}static toRadians(t){return t*Math.PI/180}static getTurn(t,e){var r=Math.sin(e-t);return r>0?me.COUNTERCLOCKWISE:r<0?me.CLOCKWISE:me.NONE}static angleBetweenOriented(t,e,r){var n=me.angle(e,t),i=me.angle(e,r)-n;return i<=-Math.PI?i+me.PI_TIMES_2:i>Math.PI?i-me.PI_TIMES_2:i}getClass(){return me}get interfaces_(){return[]}}me.constructor_=function(){},me.PI_TIMES_2=2*Math.PI,me.PI_OVER_2=Math.PI/2,me.PI_OVER_4=Math.PI/4,me.COUNTERCLOCKWISE=D.COUNTERCLOCKWISE,me.CLOCKWISE=D.CLOCKWISE,me.NONE=D.COLLINEAR;class _e{constructor(){_e.constructor_.apply(this,arguments)}static area(t,e,r){return Math.abs(((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2)}static signedArea(t,e,r){return((r.x-t.x)*(e.y-t.y)-(e.x-t.x)*(r.y-t.y))/2}static det(t,e,r,n){return t*n-e*r}static interpolateZ(t,e,r,n){var i=e.x,o=e.y,a=r.x-i,s=n.x-i,l=r.y-o,u=n.y-o,c=a*u-s*l,h=t.x-i,f=t.y-o,p=(u*h-s*f)/c,d=(-l*h+a*f)/c;return e.z+p*(r.z-e.z)+d*(n.z-e.z)}static longestSideLength(t,e,r){var n=t.distance(e),i=e.distance(r),o=r.distance(t),a=n;return i>a&&(a=i),o>a&&(a=o),a}static isAcute(t,e,r){return!!me.isAcute(t,e,r)&&!!me.isAcute(e,r,t)&&!!me.isAcute(r,t,e)}static circumcentre(t,e,r){var n=r.x,i=r.y,o=t.x-n,a=t.y-i,s=e.x-n,l=e.y-i,u=2*_e.det(o,a,s,l),c=_e.det(a,o*o+a*a,l,s*s+l*l),h=_e.det(o,o*o+a*a,s,s*s+l*l);return new _(n-c/u,i+h/u)}static perpendicularBisector(t,e){var r=e.x-t.x,n=e.y-t.y,i=new U(t.x+r/2,t.y+n/2,1),o=new U(t.x-n+r/2,t.y+r+n/2,1);return new U(i,o)}static angleBisector(t,e,r){var n=e.distance(t),i=n/(n+e.distance(r)),o=r.x-t.x,a=r.y-t.y;return new _(t.x+i*o,t.y+i*a)}static area3D(t,e,r){var n=e.x-t.x,i=e.y-t.y,o=e.z-t.z,a=r.x-t.x,s=r.y-t.y,l=r.z-t.z,u=i*l-o*s,c=o*a-n*l,h=n*s-i*a,f=u*u+c*c+h*h;return Math.sqrt(f)/2}static centroid(t,e,r){var n=(t.x+e.x+r.x)/3,i=(t.y+e.y+r.y)/3;return new _(n,i)}static inCentre(t,e,r){var n=e.distance(r),i=t.distance(r),o=t.distance(e),a=n+i+o,s=(n*t.x+i*e.x+o*r.x)/a,l=(n*t.y+i*e.y+o*r.y)/a;return new _(s,l)}area(){return _e.area(this.p0,this.p1,this.p2)}signedArea(){return _e.signedArea(this.p0,this.p1,this.p2)}interpolateZ(t){if(null===t)throw new r("Supplied point is null.");return _e.interpolateZ(t,this.p0,this.p1,this.p2)}longestSideLength(){return _e.longestSideLength(this.p0,this.p1,this.p2)}isAcute(){return _e.isAcute(this.p0,this.p1,this.p2)}circumcentre(){return _e.circumcentre(this.p0,this.p1,this.p2)}area3D(){return _e.area3D(this.p0,this.p1,this.p2)}centroid(){return _e.centroid(this.p0,this.p1,this.p2)}inCentre(){return _e.inCentre(this.p0,this.p1,this.p2)}getClass(){return _e}get interfaces_(){return[]}}_e.constructor_=function(){this.p0=null,this.p1=null,this.p2=null;let t=arguments[0],e=arguments[1],r=arguments[2];this.p0=t,this.p1=e,this.p2=r};var ve=Object.freeze({Coordinate:_,CoordinateList:P,Envelope:R,LineSegment:de,GeometryFactory:ae,Geometry:W,Point:Dt,LineString:jt,LinearRing:Vt,Polygon:Bt,GeometryCollection:Et,MultiPoint:zt,MultiLineString:St,MultiPolygon:qt,Dimension:bt,IntersectionMatrix:ye,PrecisionModel:ie,Location:ge,Triangle:_e});class be{constructor(){be.constructor_.apply(this,arguments)}getCoordinates(){return this._pt}getCoordinate(t){return this._pt[t]}setMinimum(){if(1===arguments.length){let t=arguments[0];this.setMinimum(t._pt[0],t._pt[1])}else if(2===arguments.length){let e=arguments[0],r=arguments[1];if(this._isNull)return this.initialize(e,r),null;var t=e.distance(r);tthis._distance&&this.initialize(e,r,t)}}getClass(){return be}get interfaces_(){return[]}}be.constructor_=function(){this._pt=[new _,new _],this._distance=i.NaN,this._isNull=!0};class xe{constructor(){xe.constructor_.apply(this,arguments)}static computeDistance(){if(arguments[2]instanceof be&&arguments[0]instanceof jt&&arguments[1]instanceof _){let i=arguments[0],o=arguments[1],a=arguments[2];for(var t=new de,e=i.getCoordinates(),r=0;r1||t<=0)throw new r("Fraction is not in range (0.0 - 1.0]");this._densifyFrac=t}compute(t,e){this.computeOrientedDistance(t,e,this._ptDist),this.computeOrientedDistance(e,t,this._ptDist)}distance(){return this.compute(this._g0,this._g1),this._ptDist.getDistance()}computeOrientedDistance(t,e,r){var n=new Ee(e);if(t.apply(n),r.setMaximum(n.getMaxPointDistance()),this._densifyFrac>0){var i=new Se(e,this._densifyFrac);t.apply(i),r.setMaximum(i.getMaxPointDistance())}}orientedDistance(){return this.computeOrientedDistance(this._g0,this._g1,this._ptDist),this._ptDist.getDistance()}getClass(){return we}get interfaces_(){return[]}}class Ee{constructor(){Ee.constructor_.apply(this,arguments)}filter(t){this._minPtDist.initialize(),xe.computeDistance(this._geom,t,this._minPtDist),this._maxPtDist.setMaximum(this._minPtDist)}getMaxPointDistance(){return this._maxPtDist}getClass(){return Ee}get interfaces_(){return[X]}}Ee.constructor_=function(){this._maxPtDist=new be,this._minPtDist=new be,this._euclideanDist=new xe,this._geom=null;let t=arguments[0];this._geom=t};class Se{constructor(){Se.constructor_.apply(this,arguments)}filter(t,e){if(0===e)return null;for(var r=t.getCoordinate(e-1),n=t.getCoordinate(e),i=(n.x-r.x)/this._numSubSegs,o=(n.y-r.y)/this._numSubSegs,a=0;ae||this._maxo?1:0}getClass(){return Pe}get interfaces_(){return[p]}}Pe.constructor_=function(){},Te.NodeComparator=Pe,Te.constructor_=function(){this._min=i.POSITIVE_INFINITY,this._max=i.NEGATIVE_INFINITY};class Re extends Te{constructor(){super(),Re.constructor_.apply(this,arguments)}query(t,e,r){if(!this.intersects(t,e))return null;r.visitItem(this._item)}getClass(){return Re}get interfaces_(){return[]}}Re.constructor_=function(){this._item=null;let t=arguments[0],e=arguments[1],r=arguments[2];this._min=t,this._max=e,this._item=r};const Le={reverseOrder:function(){return{compare:(t,e)=>e.compareTo(t)}},min:function(t){return Le.sort(t),t.get(0)},sort:function(t,e){const r=t.toArray();e?vt.sort(r,e):vt.sort(r);const n=t.iterator();for(let t=0,e=r.length;tn&&(r=e.x,n=t.x),this._p.x>=r&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var i=D.index(t,e,this._p);if(i===D.COLLINEAR)return this._isPointOnSegment=!0,null;e.y=this._max)throw new O;var t=this._parent.getGeometryN(this._index++);return t instanceof Et?(this._subcollectionIterator=new Be(t),this._subcollectionIterator.next()):t}remove(){throw new UnsupportedOperationException(this.getClass().getName())}hasNext(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}getClass(){return Be}get interfaces_(){return[x]}}Be.constructor_=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;let t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};class ze{constructor(){ze.constructor_.apply(this,arguments)}static locatePointInPolygon(t,e){if(e.isEmpty())return ge.EXTERIOR;var r=e.getExteriorRing(),n=ze.locatePointInRing(t,r);if(n!==ge.INTERIOR)return n;for(var i=0;i0&&this.addPoint(t[0])}addHole(t){for(var e=D.isCCW(t),r=0;r0)t.x=this._cg3.x/3/this._areasum2,t.y=this._cg3.y/3/this._areasum2;else if(this._totalLength>0)t.x=this._lineCentSum.x/this._totalLength,t.y=this._lineCentSum.y/this._totalLength;else{if(!(this._ptCount>0))return null;t.x=this._ptCentSum.x/this._ptCount,t.y=this._ptCentSum.y/this._ptCount}return t}addShell(t){t.length>0&&this.setAreaBasePoint(t[0]);for(var e=!D.isCCW(t),r=0;r=this.size())throw new IndexOutOfBoundsException;return this.array_[t]},Je.prototype.push=function(t){return this.array_.push(t),t},Je.prototype.pop=function(t){if(0===this.array_.length)throw new Ke;return this.array_.pop()},Je.prototype.peek=function(){if(0===this.array_.length)throw new Ke;return this.array_[this.array_.length-1]},Je.prototype.empty=function(){return 0===this.array_.length},Je.prototype.isEmpty=function(){return this.empty()},Je.prototype.search=function(t){return this.array_.indexOf(t)},Je.prototype.size=function(){return this.array_.length},Je.prototype.toArray=function(){for(var t=[],e=0,r=this.array_.length;e50&&(t=this.reduce(this._inputPts));var e=this.preSort(t),r=this.grahamScan(e),n=this.toCoordinateArray(r);return this.lineOrPolygon(n)}padArray3(t){for(var e=new Array(3).fill(null),r=0;re[2].y&&(e[2]=t[n]),t[n].x+t[n].y>e[3].x+e[3].y&&(e[3]=t[n]),t[n].x>e[4].x&&(e[4]=t[n]),t[n].x-t[n].y>e[5].x-e[5].y&&(e[5]=t[n]),t[n].y0;)e=r.pop();r.push(e),r.push(t[n])}return r.push(t[0]),r}getClass(){return $e}get interfaces_(){return[]}}class tr{constructor(){tr.constructor_.apply(this,arguments)}static polarCompare(t,e,r){var n=e.x-t.x,i=e.y-t.y,o=r.x-t.x,a=r.y-t.y,s=D.index(t,e,r);if(s===D.COUNTERCLOCKWISE)return 1;if(s===D.CLOCKWISE)return-1;var l=n*n+i*i,u=o*o+a*a;return lu?1:0}compare(t,e){var r=t,n=e;return tr.polarCompare(this._origin,r,n)}getClass(){return tr}get interfaces_(){return[p]}}tr.constructor_=function(){this._origin=null;let t=arguments[0];this._origin=t},$e.RadialComparator=tr,$e.constructor_=function(){if(this._geomFactory=null,this._inputPts=null,1===arguments.length){let t=arguments[0];$e.constructor_.call(this,$e.extractCoordinates(t),t.getFactory())}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._inputPts=Qe.filterCoordinates(t),this._geomFactory=e}};class er{constructor(){er.constructor_.apply(this,arguments)}static centre(t){return new _(er.avg(t.getMinX(),t.getMaxX()),er.avg(t.getMinY(),t.getMaxY()))}static avg(t,e){return(t+e)/2}addPolygon(t){if(t.isEmpty())return null;var e=null,r=null,n=this.horizontalBisector(t);if(0===n.getLength())r=0,e=n.getCoordinate();else{var i=n.intersection(t),o=this.widestGeometry(i);r=o.getEnvelopeInternal().getWidth(),e=er.centre(o.getEnvelopeInternal())}(null===this._interiorPoint||r>this._maxWidth)&&(this._interiorPoint=e,this._maxWidth=r)}getInteriorPoint(){return this._interiorPoint}widestGeometry(){if(arguments[0]instanceof Et){let r=arguments[0];if(r.isEmpty())return r;for(var t=r.getGeometryN(0),e=1;et.getEnvelopeInternal().getWidth()&&(t=r.getGeometryN(e));return t}if(arguments[0]instanceof W){let t=arguments[0];return t instanceof Et?this.widestGeometry(t):t}}horizontalBisector(t){var e=t.getEnvelopeInternal(),r=rr.getBisectorY(t);return this._factory.createLineString([new _(e.getMinX(),r),new _(e.getMaxX(),r)])}add(t){if(t instanceof Bt)this.addPolygon(t);else if(t instanceof Et)for(var e=t,r=0;rthis._loY&&(this._loY=t):t>this._centreY&&t=t.length&&(e=0),e}static computeC(t,e,r){return t*r.y-e*r.x}static getMinimumDiameter(t){return new ar(t).getDiameter()}static getMinimumRectangle(t){return new ar(t).getMinimumRectangle()}static computeSegmentForLine(t,e,r){var n=null,i=null;return Math.abs(e)>Math.abs(t)?(n=new _(0,r/e),i=new _(1,r/e-t/e)):(n=new _(r/t,0),i=new _(r/t-e/t,1)),new de(n,i)}getWidthCoordinate(){return this.computeMinimumDiameter(),this._minWidthPt}getSupportingSegment(){return this.computeMinimumDiameter(),this._inputGeom.getFactory().createLineString([this._minBaseSeg.p0,this._minBaseSeg.p1])}getDiameter(){if(this.computeMinimumDiameter(),null===this._minWidthPt)return this._inputGeom.getFactory().createLineString();var t=this._minBaseSeg.project(this._minWidthPt);return this._inputGeom.getFactory().createLineString([t,this._minWidthPt])}computeWidthConvex(t){this._convexHullPts=t instanceof Bt?t.getExteriorRing().getCoordinates():t.getCoordinates(),0===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=null,this._minBaseSeg=null):1===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=this._convexHullPts[0],this._minBaseSeg.p0=this._convexHullPts[0],this._minBaseSeg.p1=this._convexHullPts[0]):2===this._convexHullPts.length||3===this._convexHullPts.length?(this._minWidth=0,this._minWidthPt=this._convexHullPts[0],this._minBaseSeg.p0=this._convexHullPts[0],this._minBaseSeg.p1=this._convexHullPts[1]):this.computeConvexRingMinDiameter(this._convexHullPts)}computeConvexRingMinDiameter(t){this._minWidth=i.MAX_VALUE;for(var e=1,r=new de,n=0;n=n;)n=i,o=a,a=ar.nextIndex(t,o),i=e.distancePerpendicular(t[a]);return nn&&(n=l),la&&(a=u),u0&&n<4&&!this._preserveType?this._factory.createLineString(r):this._factory.createLinearRing(r)}getClass(){return lr}get interfaces_(){return[]}}lr.constructor_=function(){this._inputGeom=null,this._factory=null,this._pruneEmptyGeometry=!0,this._preserveGeometryCollectionType=!0,this._preserveCollections=!1,this._preserveType=!1};class ur{constructor(){ur.constructor_.apply(this,arguments)}static densifyPoints(t,e,r){for(var n=new de,i=new P,o=0;o1)for(var l=a/s,u=1;ue?t:e)?3:r}static isInHalfPlane(t,e){return e===fr.SE?t===fr.SE||t===fr.SW:t===e||t===e+1}static quadrant(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new r("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?fr.NE:fr.SE:e>=0?fr.NW:fr.SW}if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];if(e.x===t.x&&e.y===t.y)throw new r("Cannot compute the quadrant for two identical points "+t);return e.x>=t.x?e.y>=t.y?fr.NE:fr.SE:e.y>=t.y?fr.NW:fr.SW}}getClass(){return fr}get interfaces_(){return[]}}fr.constructor_=function(){},fr.NE=0,fr.NW=1,fr.SW=2,fr.SE=3;class pr{constructor(){pr.constructor_.apply(this,arguments)}static init(t,e){if(null!==t._sym||null!==e._sym||null!==t._next||null!==e._next)throw new IllegalStateException("Edges are already initialized");return t.init(e),t}static create(t,e){var r=new pr(t),n=new pr(e);return r.init(n),r}find(t){var e=this;do{if(null===e)return null;if(e.dest().equals2D(t))return e;e=e.oNext()}while(e!==this);return null}dest(){return this._sym._orig}oNext(){return this._sym._next}insert(t){if(this.oNext()===this)return this.insertAfter(t),null;var e=this.compareTo(t),r=this;do{var n=r.oNext();if(n.compareTo(t)!==e||n===this)return r.insertAfter(t),null;r=n}while(r!==this);m.shouldNeverReachHere()}insertAfter(t){m.equals(this._orig,t.orig());var e=this.oNext();this._sym.setNext(t),t.sym().setNext(e)}degree(){var t=0,e=this;do{t++,e=e.oNext()}while(e!==this);return t}equals(){if(2===arguments.length&&arguments[1]instanceof _&&arguments[0]instanceof _){let t=arguments[0],e=arguments[1];return this._orig.equals2D(t)&&this._sym._orig.equals(e)}}deltaY(){return this._sym._orig.y-this._orig.y}sym(){return this._sym}prev(){return this._sym.next()._sym}compareAngularDirection(t){var e=this.deltaX(),r=this.deltaY(),n=t.deltaX(),i=t.deltaY();if(e===n&&r===i)return 0;var o=fr.quadrant(e,r),a=fr.quadrant(n,i);return o>a?1:o0||this._isIn?ge.INTERIOR:ge.EXTERIOR)}getClass(){return br}get interfaces_(){return[]}}br.constructor_=function(){if(this._boundaryRule=H.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];if(null===t)throw new r("Rule must be non-null");this._boundaryRule=t}};class xr{constructor(){xr.constructor_.apply(this,arguments)}static opposite(t){return t===xr.LEFT?xr.RIGHT:t===xr.RIGHT?xr.LEFT:t}getClass(){return xr}get interfaces_(){return[]}}xr.constructor_=function(){},xr.ON=0,xr.LEFT=1,xr.RIGHT=2;class wr{constructor(){wr.constructor_.apply(this,arguments)}computeIntersections(t,e){this.mce.computeIntersectsForChain(this.chainIndex,t.mce,t.chainIndex,e)}getClass(){return wr}get interfaces_(){return[]}}wr.constructor_=function(){this.mce=null,this.chainIndex=null;let t=arguments[0],e=arguments[1];this.mce=t,this.chainIndex=e};class Er{constructor(){Er.constructor_.apply(this,arguments)}isDelete(){return this._eventType===Er.DELETE}setDeleteEventIndex(t){this._deleteEventIndex=t}getObject(){return this._obj}compareTo(t){var e=t;return this._xValuee._xValue?1:this._eventTypee._eventType?1:0}getInsertEvent(){return this._insertEvent}isInsert(){return this._eventType===Er.INSERT}isSameLabel(t){return null!==this._label&&this._label===t._label}getDeleteEventIndex(){return this._deleteEventIndex}getClass(){return Er}get interfaces_(){return[h]}}Er.constructor_=function(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._eventType=Er.DELETE,this._xValue=t,this._insertEvent=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._eventType=Er.INSERT,this._label=t,this._xValue=e,this._obj=r}},Er.INSERT=1,Er.DELETE=2;class Sr{constructor(){Sr.constructor_.apply(this,arguments)}getClass(){return Sr}get interfaces_(){return[]}}Sr.constructor_=function(){};class Or{constructor(){Or.constructor_.apply(this,arguments)}static isAdjacentSegments(t,e){return 1===Math.abs(t-e)}isTrivialIntersection(t,e,r,n){if(t===r&&1===this._li.getIntersectionNum()){if(Or.isAdjacentSegments(e,n))return!0;if(t.isClosed()){var i=t.getNumPoints()-1;if(0===e&&n===i||0===n&&e===i)return!0}}return!1}getProperIntersectionPoint(){return this._properIntersectionPoint}setIsDoneIfProperInt(t){this._isDoneWhenProperInt=t}hasProperInteriorIntersection(){return this._hasProperInterior}isBoundaryPointInternal(t,e){for(var r=e.iterator();r.hasNext();){var n=r.next().getCoordinate();if(t.isIntersection(n))return!0}return!1}hasProperIntersection(){return this._hasProper}hasIntersection(){return this._hasIntersection}isDone(){return this._isDone}isBoundaryPoint(t,e){return!(null===e||!this.isBoundaryPointInternal(t,e[0])&&!this.isBoundaryPointInternal(t,e[1]))}setBoundaryNodes(t,e){this._bdyNodes=new Array(2).fill(null),this._bdyNodes[0]=t,this._bdyNodes[1]=e}addIntersections(t,e,r,n){if(t===r&&e===n)return null;this.numTests++;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[n],s=r.getCoordinates()[n+1];this._li.computeIntersection(i,o,a,s),this._li.hasIntersection()&&(this._recordIsolated&&(t.setIsolated(!1),r.setIsolated(!1)),this._numIntersections++,this.isTrivialIntersection(t,e,r,n)||(this._hasIntersection=!0,!this._includeProper&&this._li.isProper()||(t.addIntersections(this._li,e,0),r.addIntersections(this._li,n,1)),this._li.isProper()&&(this._properIntersectionPoint=this._li.getIntersection(0).copy(),this._hasProper=!0,this._isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this._li,this._bdyNodes)||(this._hasProperInterior=!0))))}getClass(){return Or}get interfaces_(){return[]}}Or.constructor_=function(){this._hasIntersection=!1,this._hasProper=!1,this._hasProperInterior=!1,this._properIntersectionPoint=null,this._li=null,this._includeProper=null,this._recordIsolated=null,this._isSelfIntersection=null,this._numIntersections=0,this.numTests=0,this._bdyNodes=null,this._isDone=!1,this._isDoneWhenProperInt=!1;let t=arguments[0],e=arguments[1],r=arguments[2];this._li=t,this._includeProper=e,this._recordIsolated=r};class Ir extends Sr{constructor(){super(),Ir.constructor_.apply(this,arguments)}prepareEvents(){Le.sort(this.events);for(var t=0;tthis.location.length){var e=new Array(3).fill(null);e[xr.ON]=this.location[xr.ON],e[xr.LEFT]=ge.NONE,e[xr.RIGHT]=ge.NONE,this.location=e}for(var r=0;r1&&t.append(ge.toLocationSymbol(this.location[xr.LEFT])),t.append(ge.toLocationSymbol(this.location[xr.ON])),this.location.length>1&&t.append(ge.toLocationSymbol(this.location[xr.RIGHT])),t.toString()}setLocations(t,e,r){this.location[xr.ON]=t,this.location[xr.LEFT]=e,this.location[xr.RIGHT]=r}get(t){return t1}isAnyNull(){for(var t=0;t0||!e.coord.equals2D(n);i||r--;var o=new Array(r).fill(null),a=0;o[a++]=new _(t.coord);for(var s=t.segmentIndex+1;s<=e.segmentIndex;s++)o[a++]=this.edge.pts[s];return i&&(o[a]=e.coord),new kr(o,new Tr(this.edge._label))}add(t,e,r){var n=new Pr(t,e,r),i=this._nodeMap.get(n);return null!==i?i:(this._nodeMap.put(n,n),n)}isIntersection(t){for(var e=this.iterator();e.hasNext();)if(e.next().coord.equals(t))return!0;return!1}getClass(){return Rr}get interfaces_(){return[]}}Rr.constructor_=function(){this._nodeMap=new pt,this.edge=null;let t=arguments[0];this.edge=t};class Lr{constructor(){Lr.constructor_.apply(this,arguments)}static toIntArray(t){for(var e=new Array(t.size()).fill(null),r=0;rr?e:r}getMinX(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][r]=n}}}getDelta(t){return this._depth[t][xr.RIGHT]-this._depth[t][xr.LEFT]}getLocation(t,e){return this._depth[t][e]<=0?ge.EXTERIOR:ge.INTERIOR}toString(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}add(){if(1===arguments.length){let n=arguments[0];for(var t=0;t<2;t++)for(var e=1;e<3;e++){var r=n.getLocation(t,e);r!==ge.EXTERIOR&&r!==ge.INTERIOR||(this.isNull(t,e)?this._depth[t][e]=Ar.depthAtLocation(r):this._depth[t][e]+=Ar.depthAtLocation(r))}}else if(3===arguments.length){let t=arguments[0],e=arguments[1];arguments[2]===ge.INTERIOR&&this._depth[t][e]++}}getClass(){return Ar}get interfaces_(){return[]}}Ar.constructor_=function(){this._depth=Array(2).fill().map(()=>Array(3));for(var t=0;t<2;t++)for(var e=0;e<3;e++)this._depth[t][e]=Ar.NULL_VALUE},Ar.NULL_VALUE=-1;class Nr{constructor(){Nr.constructor_.apply(this,arguments)}setVisited(t){this._isVisited=t}setInResult(t){this._isInResult=t}isCovered(){return this._isCovered}isCoveredSet(){return this._isCoveredSet}setLabel(t){this._label=t}getLabel(){return this._label}setCovered(t){this._isCovered=t,this._isCoveredSet=!0}updateIM(t){m.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)}isInResult(){return this._isInResult}isVisited(){return this._isVisited}getClass(){return Nr}get interfaces_(){return[]}}Nr.constructor_=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._label=t}};class kr extends Nr{constructor(){super(),kr.constructor_.apply(this,arguments)}static updateIM(){if(!(2===arguments.length&&arguments[1]instanceof ye&&arguments[0]instanceof Tr))return super.updateIM.apply(this,arguments);{let t=arguments[0],e=arguments[1];e.setAtLeastIfValid(t.getLocation(0,xr.ON),t.getLocation(1,xr.ON),1),t.isArea()&&(e.setAtLeastIfValid(t.getLocation(0,xr.LEFT),t.getLocation(1,xr.LEFT),2),e.setAtLeastIfValid(t.getLocation(0,xr.RIGHT),t.getLocation(1,xr.RIGHT),2))}}getDepth(){return this._depth}getCollapsedEdge(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new kr(t,Tr.toLineLabel(this._label))}isIsolated(){return this._isIsolated}getCoordinates(){return this.pts}setIsolated(t){this._isIsolated=t}setName(t){this._name=t}equals(t){if(!(t instanceof kr))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var r=!0,n=!0,i=this.pts.length,o=0;o0?this.pts[0]:null;if(1===arguments.length){let t=arguments[0];return this.pts[t]}}print(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}computeIM(t){kr.updateIM(this._label,t)}isCollapsed(){return!!this._label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])}isClosed(){return this.pts[0].equals(this.pts[this.pts.length-1])}getMaximumSegmentIndex(){return this.pts.length-1}getDepthDelta(){return this._depthDelta}getNumPoints(){return this.pts.length}printReverse(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}getMonotoneChainEdge(){return null===this._mce&&(this._mce=new Mr(this)),this._mce}getEnvelope(){if(null===this._env){this._env=new R;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}isPointwiseEqual(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;et._quadrant?1:this._quadrant=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])}getInvalidPoint(){return this._invalidPoint}getBoundaryPoints(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),r=0,n=t.iterator();n.hasNext();){var i=n.next();e[r++]=i.getCoordinate().copy()}return e}getBoundaryNodes(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes}addSelfIntersectionNode(t,e,r){if(this.isBoundaryNode(t,e))return null;r===ge.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,r)}addPolygonRing(t,e,r){if(t.isEmpty())return null;var n=$.removeRepeatedPoints(t.getCoordinates());if(n.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=n[0],null;var i=e,o=r;D.isCCW(n)&&(i=r,o=e);var a=new kr(n,new Tr(this._argIndex,ge.BOUNDARY,i,o));this._lineEdgeMap.put(t,a),this.insertEdge(a),this.insertPoint(this._argIndex,n[0],ge.BOUNDARY)}insertPoint(t,e,r){var n=this._nodes.addNode(e),i=n.getLabel();null===i?n._label=new Tr(t,r):i.setLocation(t,r)}createEdgeSetIntersector(){return new Ir}addSelfIntersectionNodes(t){for(var e=this._edges.iterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.eiList.iterator();i.hasNext();){var o=i.next();this.addSelfIntersectionNode(t,o.coord,n)}}add(){if(!(1===arguments.length&&arguments[0]instanceof W))return super.add.apply(this,arguments);{let t=arguments[0];if(t.isEmpty())return null;if(t instanceof qt&&(this._useBoundaryDeterminationRule=!1),t instanceof Bt)this.addPolygon(t);else if(t instanceof jt)this.addLineString(t);else if(t instanceof Dt)this.addPoint(t);else if(t instanceof zt)this.addCollection(t);else if(t instanceof St)this.addCollection(t);else if(t instanceof qt)this.addCollection(t);else{if(!(t instanceof Et))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}}addCollection(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new Fe(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)}findEdge(){if(1===arguments.length&&arguments[0]instanceof jt){let t=arguments[0];return this._lineEdgeMap.get(t)}return super.findEdge.apply(this,arguments)}getClass(){return Vr}get interfaces_(){return[]}}Vr.constructor_=function(){if(this._parentGeom=null,this._lineEdgeMap=new ne,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new br,2===arguments.length){let t=arguments[0],e=arguments[1];Vr.constructor_.call(this,t,e,H.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._argIndex=t,this._parentGeom=e,this._boundaryNodeRule=r,null!==e&&this.add(e)}};var qr=Object.freeze({GeometryGraph:Vr});class Yr{constructor(){Yr.constructor_.apply(this,arguments)}visit(t){}getClass(){return Yr}get interfaces_(){return[]}}Yr.constructor_=function(){};class Wr{constructor(){Wr.constructor_.apply(this,arguments)}isRepeated(){return this._count>1}getRight(){return this._right}getCoordinate(){return this._p}setLeft(t){this._left=t}getX(){return this._p.x}getData(){return this._data}getCount(){return this._count}getLeft(){return this._left}getY(){return this._p.y}increment(){this._count=this._count+1}setRight(t){this._right=t}getClass(){return Wr}get interfaces_(){return[]}}Wr.constructor_=function(){if(this._p=null,this._data=null,this._left=null,this._right=null,this._count=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._p=new _(t),this._left=null,this._right=null,this._count=1,this._data=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._p=new _(t,e),this._left=null,this._right=null,this._count=1,this._data=r}};class Xr{constructor(){Xr.constructor_.apply(this,arguments)}static toCoordinates(){if(1===arguments.length){let t=arguments[0];return Xr.toCoordinates(t,!1)}if(2===arguments.length){let o=arguments[0],a=arguments[1];for(var t=new P,e=o.iterator();e.hasNext();)for(var r=e.next(),n=a?r.getCount():1,i=0;i0){var t=this.findBestMatchNode(e);if(null!==t)return t.increment(),t}return this.insertExact(e,r)}}query(){if(1===arguments.length){let e=arguments[0];var t=new C;return this.query(e,t),t}if(2===arguments.length)if(arguments[0]instanceof R&&b(arguments[1],S)){let t=arguments[0],e=arguments[1];this.queryNode(this._root,t,!0,new class{get interfaces_(){return[Yr]}visit(t){e.add(t)}})}else if(arguments[0]instanceof R&&b(arguments[1],Yr)){let t=arguments[0],e=arguments[1];this.queryNode(this._root,t,!0,e)}}queryNode(t,e,r,n){if(null===t)return null;var i=null,o=null,a=null;r?(i=e.getMinX(),o=e.getMaxX(),a=t.getX()):(i=e.getMinY(),o=e.getMaxY(),a=t.getY());var s=a<=o;i=e&&(t.getMinY()>=r&&(n=3),t.getMaxY()<=r&&(n=1)),t.getMaxX()<=e&&(t.getMinY()>=r&&(n=2),t.getMaxY()<=r&&(n=0)),n}hasChildren(){for(var t=0;t<4;t++)if(null!==this._subnode[t])return!0;return!1}isPrunable(){return!(this.hasChildren()||this.hasItems())}addAllItems(t){t.addAll(this._items);for(var e=0;e<4;e++)null!==this._subnode[e]&&this._subnode[e].addAllItems(t);return t}getNodeCount(){for(var t=0,e=0;e<4;e++)null!==this._subnode[e]&&(t+=this._subnode[e].size());return t+1}size(){for(var t=0,e=0;e<4;e++)null!==this._subnode[e]&&(t+=this._subnode[e].size());return t+this._items.size()}addAllItemsFromOverlapping(t,e){if(!this.isSearchMatch(t))return null;e.addAll(this._items);for(var r=0;r<4;r++)null!==this._subnode[r]&&this._subnode[r].addAllItemsFromOverlapping(t,e)}visitItems(t,e){for(var r=this._items.iterator();r.hasNext();)e.visitItem(r.next())}hasItems(){return!this._items.isEmpty()}remove(t,e){if(!this.isSearchMatch(t))return!1;for(var r=!1,n=0;n<4;n++)if(null!==this._subnode[n]&&(r=this._subnode[n].remove(t,e))){this._subnode[n].isPrunable()&&(this._subnode[n]=null);break}return r||this._items.remove(e)}visit(t,e){if(!this.isSearchMatch(t))return null;this.visitItems(t,e);for(var r=0;r<4;r++)null!==this._subnode[r]&&this._subnode[r].visit(t,e)}getItems(){return this._items}depth(){for(var t=0,e=0;e<4;e++)if(null!==this._subnode[e]){var r=this._subnode[e].depth();r>t&&(t=r)}return t+1}isEmpty(){var t=!0;if(this._items.isEmpty()){for(var e=0;e<4;e++)if(null!==this._subnode[e]&&!this._subnode[e].isEmpty()){t=!1;break}}else t=!1;return t}add(t){this._items.add(t)}getClass(){return Kr}get interfaces_(){return[d]}}function Jr(){}Kr.constructor_=function(){this._items=new C,this._subnode=new Array(4).fill(null)},Jr.exponent=function(t){return function(t,e){var r,n,i,o,a={32:8,64:11}[t];if(o||(r=e<0||1/e<0,isFinite(e)||(o={32:{d:127,c:128,b:0,a:0},64:{d:32752,c:0,b:0,a:0}}[t],r&&(o.d+=1<=2;)n++,i/=2;for(;i<1&&n>0;)n--,i*=2;n<=0&&(i/=2),32===t&&n>254&&(o={d:r?255:127,c:128,b:0,a:0},n=Math.pow(2,a)-1,i=0)}return n}(64,t)-1023},Jr.powerOf2=function(t){return Math.pow(2,t)};class Qr{constructor(){Qr.constructor_.apply(this,arguments)}static computeQuadLevel(t){var e=t.getWidth(),r=t.getHeight(),n=e>r?e:r;return Jr.exponent(n)+1}getLevel(){return this._level}computeKey(){if(1===arguments.length){let t=arguments[0];for(this._level=Qr.computeQuadLevel(t),this._env=new R,this.computeKey(this._level,t);!this._env.contains(t);)this._level+=1,this.computeKey(this._level,t)}else if(2===arguments.length){let e=arguments[0],r=arguments[1];var t=Jr.powerOf2(e);this._pt.x=Math.floor(r.getMinX()/t)*t,this._pt.y=Math.floor(r.getMinY()/t)*t,this._env.init(this._pt.x,this._pt.x+t,this._pt.y,this._pt.y+t)}}getEnvelope(){return this._env}getCentre(){return new _((this._env.getMinX()+this._env.getMaxX())/2,(this._env.getMinY()+this._env.getMaxY())/2)}getPoint(){return this._pt}getClass(){return Qr}get interfaces_(){return[]}}Qr.constructor_=function(){this._pt=new _,this._level=0,this._env=null;let t=arguments[0];this.computeKey(t)};class $r extends Kr{constructor(){super(),$r.constructor_.apply(this,arguments)}static createNode(t){var e=new Qr(t);return new $r(e.getEnvelope(),e.getLevel())}static createExpanded(t,e){var r=new R(e);null!==t&&r.expandToInclude(t._env);var n=$r.createNode(r);return null!==t&&n.insertNode(t),n}find(t){var e=Kr.getSubnodeIndex(t,this._centrex,this._centrey);return-1===e?this:null!==this._subnode[e]?this._subnode[e].find(t):this}isSearchMatch(t){return null!==t&&this._env.intersects(t)}getSubnode(t){return null===this._subnode[t]&&(this._subnode[t]=this.createSubnode(t)),this._subnode[t]}getEnvelope(){return this._env}getNode(t){var e=Kr.getSubnodeIndex(t,this._centrex,this._centrey);return-1!==e?this.getSubnode(e).getNode(t):this}createSubnode(t){var e=0,r=0,n=0,i=0;switch(t){case 0:e=this._env.getMinX(),r=this._centrex,n=this._env.getMinY(),i=this._centrey;break;case 1:e=this._centrex,r=this._env.getMaxX(),n=this._env.getMinY(),i=this._centrey;break;case 2:e=this._env.getMinX(),r=this._centrex,n=this._centrey,i=this._env.getMaxY();break;case 3:e=this._centrex,r=this._env.getMaxX(),n=this._centrey,i=this._env.getMaxY()}var o=new R(e,r,n,i);return new $r(o,this._level-1)}insertNode(t){m.isTrue(null===this._env||this._env.contains(t._env));var e=Kr.getSubnodeIndex(t._env,this._centrex,this._centrey);if(t._level===this._level-1)this._subnode[e]=t;else{var r=this.createSubnode(e);r.insertNode(t),this._subnode[e]=r}}getClass(){return $r}get interfaces_(){return[]}}$r.constructor_=function(){this._env=null,this._centrex=null,this._centrey=null,this._level=null;let t=arguments[0],e=arguments[1];this._env=t,this._level=e,this._centrex=(t.getMinX()+t.getMaxX())/2,this._centrey=(t.getMinY()+t.getMaxY())/2};class tn{constructor(){tn.constructor_.apply(this,arguments)}static isZeroWidth(t,e){var r=e-t;if(0===r)return!0;var n=r/Math.max(Math.abs(t),Math.abs(e));return Jr.exponent(n)<=tn.MIN_BINARY_EXPONENT}getClass(){return tn}get interfaces_(){return[]}}tn.constructor_=function(){},tn.MIN_BINARY_EXPONENT=-50;class en extends Kr{constructor(){super(),en.constructor_.apply(this,arguments)}insert(t,e){var r=Kr.getSubnodeIndex(t,en.origin.x,en.origin.y);if(-1===r)return this.add(e),null;var n=this._subnode[r];if(null===n||!n.getEnvelope().contains(t)){var i=$r.createExpanded(n,t);this._subnode[r]=i}this.insertContained(this._subnode[r],t,e)}isSearchMatch(t){return!0}insertContained(t,e,r){m.isTrue(t.getEnvelope().contains(e));var n=tn.isZeroWidth(e.getMinX(),e.getMaxX()),i=tn.isZeroWidth(e.getMinY(),e.getMaxY());(n||i?t.find(e):t.getNode(e)).add(r)}getClass(){return en}get interfaces_(){return[]}}en.constructor_=function(){},en.origin=new _(0,0);class rn{constructor(){rn.constructor_.apply(this,arguments)}insert(t,e){}remove(t,e){}query(){}getClass(){return rn}get interfaces_(){return[]}}rn.constructor_=function(){};class nn{constructor(){nn.constructor_.apply(this,arguments)}static ensureExtent(t,e){var r=t.getMinX(),n=t.getMaxX(),i=t.getMinY(),o=t.getMaxY();return r!==n&&i!==o?t:(r===n&&(n=(r-=e/2)+e/2),i===o&&(o=(i-=e/2)+e/2),new R(r,n,i,o))}size(){return null!==this._root?this._root.size():0}insert(t,e){this.collectStats(t);var r=nn.ensureExtent(t,this._minExtent);this._root.insert(r,e)}query(){if(1===arguments.length){let e=arguments[0];var t=new ke;return this.query(e,t),t.getItems()}if(2===arguments.length){let t=arguments[0],e=arguments[1];this._root.visit(t,e)}}queryAll(){var t=new C;return this._root.addAllItems(t),t}remove(t,e){var r=nn.ensureExtent(t,this._minExtent);return this._root.remove(r,e)}collectStats(t){var e=t.getWidth();e0&&(this._minExtent=e);var r=t.getHeight();r0&&(this._minExtent=r)}depth(){return null!==this._root?this._root.depth():0}isEmpty(){return null===this._root||this._root.isEmpty()}getClass(){return nn}get interfaces_(){return[rn,d]}}nn.constructor_=function(){this._root=null,this._minExtent=1,this._root=new en},nn.serialVersionUID=-0x678b60c967a25400;var on=Object.freeze({Quadtree:nn});class an{constructor(){an.constructor_.apply(this,arguments)}getBounds(){}getClass(){return an}get interfaces_(){return[]}}an.constructor_=function(){};class sn{constructor(){sn.constructor_.apply(this,arguments)}getItem(){return this._item}getBounds(){return this._bounds}getClass(){return sn}get interfaces_(){return[an,d]}}sn.constructor_=function(){this._bounds=null,this._item=null;let t=arguments[0],e=arguments[1];this._bounds=t,this._item=e};class ln{constructor(){ln.constructor_.apply(this,arguments)}poll(){if(this.isEmpty())return null;var t=this._items.get(1);return this._items.set(1,this._items.get(this._size)),this._size-=1,this.reorder(1),t}size(){return this._size}reorder(t){for(var e=null,r=this._items.get(t);2*t<=this._size&&((e=2*t)!==this._size&&this._items.get(e+1).compareTo(this._items.get(e))<0&&e++,this._items.get(e).compareTo(r)<0);t=e)this._items.set(t,this._items.get(e));this._items.set(t,r)}clear(){this._size=0,this._items.clear()}peek(){return this.isEmpty()?null:this._items.get(1)}isEmpty(){return 0===this._size}add(t){this._items.add(null),this._size+=1;var e=this._size;for(this._items.set(0,t);t.compareTo(this._items.get(Math.trunc(e/2)))<0;e/=2)this._items.set(e,this._items.get(Math.trunc(e/2)));this._items.set(e,t)}getClass(){return ln}get interfaces_(){return[]}}ln.constructor_=function(){this._size=null,this._items=null,this._size=0,this._items=new C,this._items.add(null)};class un{constructor(){un.constructor_.apply(this,arguments)}getLevel(){return this._level}size(){return this._childBoundables.size()}getChildBoundables(){return this._childBoundables}addChildBoundable(t){m.isTrue(null===this._bounds),this._childBoundables.add(t)}isEmpty(){return this._childBoundables.isEmpty()}getBounds(){return null===this._bounds&&(this._bounds=this.computeBounds()),this._bounds}getClass(){return un}get interfaces_(){return[an,d]}}un.constructor_=function(){if(this._childBoundables=new C,this._bounds=null,this._level=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._level=t}},un.serialVersionUID=0x5a1e55ec41369800;class cn{constructor(){cn.constructor_.apply(this,arguments)}static area(t){return t.getBounds().getArea()}static isComposite(t){return t instanceof un}expandToQueue(t,e){var n=cn.isComposite(this._boundable1),i=cn.isComposite(this._boundable2);if(n&&i)return cn.area(this._boundable1)>cn.area(this._boundable2)?(this.expand(this._boundable1,this._boundable2,t,e),null):(this.expand(this._boundable2,this._boundable1,t,e),null);if(n)return this.expand(this._boundable1,this._boundable2,t,e),null;if(i)return this.expand(this._boundable2,this._boundable1,t,e),null;throw new r("neither boundable is composite")}isLeaves(){return!(cn.isComposite(this._boundable1)||cn.isComposite(this._boundable2))}compareTo(t){var e=t;return this._distancee._distance?1:0}expand(t,e,r,n){for(var i=t.getChildBoundables().iterator();i.hasNext();){var o=i.next(),a=new cn(o,e,this._itemDistance);a.getDistance()e?1:t-2),n.getLevel()===t)return i.add(n),null;for(var e=n.getChildBoundables().iterator();e.hasNext();){var r=e.next();r instanceof un?this.boundablesAtLevel(t,r,i):(m.isTrue(r instanceof sn),-1===t&&i.add(r))}return null}}query(){if(1===arguments.length){let e=arguments[0];this.build();var t=new C;return this.isEmpty()||this.getIntersectsOp().intersects(this._root.getBounds(),e)&&this.queryInternal(e,this._root,t),t}if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.queryInternal(t,this._root,e)}}build(){if(this._built)return null;this._root=this._itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this._itemBoundables,-1),this._itemBoundables=null,this._built=!0}getRoot(){return this.build(),this._root}remove(){if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.build(),!!this.getIntersectsOp().intersects(this._root.getBounds(),t)&&this.remove(t,this._root,e)}if(3===arguments.length){let i=arguments[0],o=arguments[1],a=arguments[2];var t=this.removeItem(o,a);if(t)return!0;for(var e=null,r=o.getChildBoundables().iterator();r.hasNext();){var n=r.next();if(this.getIntersectsOp().intersects(n.getBounds(),i)&&n instanceof un&&(t=this.remove(i,n,a))){e=n;break}}return null!==e&&e.getChildBoundables().isEmpty()&&o.getChildBoundables().remove(e),t}}createHigherLevels(t,e){m.isTrue(!t.isEmpty());var r=this.createParentBoundables(t,e+1);return 1===r.size()?r.get(0):this.createHigherLevels(r,e+1)}depth(){if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this._root));if(1===arguments.length){for(var t=0,e=arguments[0].getChildBoundables().iterator();e.hasNext();){var r=e.next();if(r instanceof un){var n=this.depth(r);n>t&&(t=n)}}return t+1}}createParentBoundables(t,e){m.isTrue(!t.isEmpty());var r=new C;r.add(this.createNode(e));var n=new C(t);Le.sort(n,this.getComparator());for(var i=n.iterator();i.hasNext();){var o=i.next();this.lastNode(r).getChildBoundables().size()===this.getNodeCapacity()&&r.add(this.createNode(e)),this.lastNode(r).addChildBoundable(o)}return r}isEmpty(){return this._built?this._root.isEmpty():this._itemBoundables.isEmpty()}getClass(){return hn}get interfaces_(){return[d]}}hn.IntersectsOp=function(){},hn.constructor_=function(){if(this._root=null,this._built=!1,this._itemBoundables=new C,this._nodeCapacity=null,0===arguments.length)hn.constructor_.call(this,hn.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){let t=arguments[0];m.isTrue(t>1,"Node capacity must be greater than 1"),this._nodeCapacity=t}},hn.serialVersionUID=-0x35ef64c82d4c5400,hn.DEFAULT_NODE_CAPACITY=10;class fn{constructor(){fn.constructor_.apply(this,arguments)}distance(t,e){}getClass(){return fn}get interfaces_(){return[]}}fn.constructor_=function(){};class pn extends hn{constructor(){super(),pn.constructor_.apply(this,arguments)}static centreX(t){return pn.avg(t.getMinX(),t.getMaxX())}static avg(t,e){return(t+e)/2}static getItems(t){for(var e=new Array(t.size()).fill(null),r=0;!t.isEmpty();){var n=t.poll();e[r]=n.getBoundable(0).getItem(),r++}return e}static centreY(t){return pn.avg(t.getMinY(),t.getMaxY())}createParentBoundablesFromVerticalSlices(t,e){m.isTrue(t.length>0);for(var r=new C,n=0;n0&&!((l=(s=o.poll()).getDistance())>=e);)s.isLeaves()?(e=l,r=s):s.expandToQueue(o,e);return[r.getBoundable(0).getItem(),r.getBoundable(1).getItem()]}if(arguments[0]instanceof cn&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1];return this.nearestNeighbour(t,i.POSITIVE_INFINITY,e)}}else if(3===arguments.length){if(b(arguments[2],fn)&&arguments[0]instanceof R&&arguments[1]instanceof Object){let e=arguments[2];var n=new sn(arguments[0],arguments[1]);return t=new cn(this.getRoot(),n,e),this.nearestNeighbour(t)[0]}if(Number.isInteger(arguments[2])&&arguments[0]instanceof cn&&"number"==typeof arguments[1]){let t=arguments[0],r=arguments[2];var o;e=arguments[1],(o=new ln).add(t);for(var a=new ln;!o.isEmpty()&&e>=0;){var s,l;if((l=(s=o.poll()).getDistance())>=e)break;s.isLeaves()?a.size()l&&(a.poll(),a.add(s)),e=a.peek().getDistance()):s.expandToQueue(o,e)}return pn.getItems(a)}}else if(4===arguments.length){let e=arguments[2],r=arguments[3];return n=new sn(arguments[0],arguments[1]),t=new cn(this.getRoot(),n,e),this.nearestNeighbour(t,r)}}getClass(){return pn}get interfaces_(){return[rn,d]}}class dn extends un{constructor(){super(),dn.constructor_.apply(this,arguments)}computeBounds(){for(var t=null,e=this.getChildBoundables().iterator();e.hasNext();){var r=e.next();null===t?t=new R(r.getBounds()):t.expandToInclude(r.getBounds())}return t}getClass(){return dn}get interfaces_(){return[]}}dn.constructor_=function(){let t=arguments[0];un.constructor_.call(this,t)},pn.STRtreeNode=dn,pn.constructor_=function(){if(0===arguments.length)pn.constructor_.call(this,pn.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){let t=arguments[0];hn.constructor_.call(this,t)}},pn.serialVersionUID=0x39920f7d5f261e0,pn.xComparator=new class{get interfaces_(){return[p]}compare(t,e){return hn.compareDoubles(pn.centreX(t.getBounds()),pn.centreX(e.getBounds()))}},pn.yComparator=new class{get interfaces_(){return[p]}compare(t,e){return hn.compareDoubles(pn.centreY(t.getBounds()),pn.centreY(e.getBounds()))}},pn.intersectsOp=new class{get interfaces_(){return[IntersectsOp]}intersects(t,e){return t.intersects(e)}},pn.DEFAULT_NODE_CAPACITY=10;var gn=Object.freeze({STRtree:pn}),yn=Object.freeze({kdtree:Zr,quadtree:on,strtree:gn});const mn=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"];class _n{constructor(t){this.geometryFactory=t||new ae}read(t){let e;const r=(e="string"==typeof t?JSON.parse(t):t).type;if(!vn[r])throw new Error("Unknown GeoJSON type: "+e.type);return-1!==mn.indexOf(r)?vn[r].call(this,e.coordinates):"GeometryCollection"===r?vn[r].call(this,e.geometries):vn[r].call(this,e)}write(t){const e=t.getGeometryType();if(!bn[e])throw new Error("Geometry is not supported");return bn[e].call(this,t)}}const vn={Feature:function(t){const e={};for(let r in t)e[r]=t[r];if(t.geometry){const r=t.geometry.type;if(!vn[r])throw new Error("Unknown GeoJSON type: "+t.type);e.geometry=this.read(t.geometry)}return t.bbox&&(e.bbox=vn.bbox.call(this,t.bbox)),e},FeatureCollection:function(t){const e={};if(t.features){e.features=[];for(let r=0;re?1:0}static compare(t,e,r){if(e.equals2D(r))return 0;var n=En.relativeSign(e.x,r.x),i=En.relativeSign(e.y,r.y);switch(t){case 0:return En.compareValue(n,i);case 1:return En.compareValue(i,n);case 2:return En.compareValue(i,-n);case 3:return En.compareValue(-n,i);case 4:return En.compareValue(-n,-i);case 5:return En.compareValue(-i,-n);case 6:return En.compareValue(-i,n);case 7:return En.compareValue(n,-i)}return m.shouldNeverReachHere("invalid octant value"),0}static compareValue(t,e){return t<0?-1:t>0?1:e<0?-1:e>0?1:0}getClass(){return En}get interfaces_(){return[]}}En.constructor_=function(){};class Sn{constructor(){Sn.constructor_.apply(this,arguments)}getCoordinate(){return this.coord}print(t){t.print(this.coord),t.print(" seg # = "+this.segmentIndex)}compareTo(t){var e=t;return this.segmentIndexe.segmentIndex?1:this.coord.equals2D(e.coord)?0:En.compare(this._segmentOctant,this.coord,e.coord)}isEndPoint(t){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===t}isInterior(){return this._isInterior}getClass(){return Sn}get interfaces_(){return[h]}}Sn.constructor_=function(){this._segString=null,this.coord=null,this.segmentIndex=null,this._segmentOctant=null,this._isInterior=null;let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this._segString=t,this.coord=new _(e),this.segmentIndex=r,this._segmentOctant=n,this._isInterior=!e.equals2D(t.getCoordinate(r))};class On{constructor(){On.constructor_.apply(this,arguments)}getSplitCoordinates(){var t=new P;this.addEndpoints();for(var e=this.iterator(),r=e.next();e.hasNext();){var n=e.next();this.addEdgeCoordinates(r,n,t),r=n}return t.toCoordinateArray()}addCollapsedNodes(){var t=new C;this.findCollapsesFromInsertedNodes(t),this.findCollapsesFromExistingVertices(t);for(var e=t.iterator();e.hasNext();){var r=e.next().intValue();this.add(this._edge.getCoordinate(r),r)}}print(t){t.println("Intersections:");for(var e=this.iterator();e.hasNext();)e.next().print(t)}findCollapsesFromExistingVertices(t){for(var e=0;e=0?i>=0?t>=e?0:1:t>=e?7:6:i>=0?t>=e?3:2:t>=e?4:5}if(arguments[0]instanceof _&&arguments[1]instanceof _){let t=arguments[0],e=arguments[1];var n=e.x-t.x,i=e.y-t.y;if(0===n&&0===i)throw new r("Cannot compute the octant for two identical points "+t);return In.octant(n,i)}}getClass(){return In}get interfaces_(){return[]}}In.constructor_=function(){};class Cn{constructor(){Cn.constructor_.apply(this,arguments)}getCoordinates(){}size(){}getCoordinate(t){}isClosed(){}setData(t){}getData(){}getClass(){return Cn}get interfaces_(){return[]}}Cn.constructor_=function(){};class Tn{constructor(){Tn.constructor_.apply(this,arguments)}addIntersection(t,e){}getClass(){return Tn}get interfaces_(){return[Cn]}}Tn.constructor_=function(){};class Pn{constructor(){Pn.constructor_.apply(this,arguments)}static getNodedSubstrings(){if(1===arguments.length){let e=arguments[0];var t=new C;return Pn.getNodedSubstrings(e,t),t}if(2===arguments.length){let t=arguments[1];for(var e=arguments[0].iterator();e.hasNext();)e.next().getNodeList().addSplitEdges(t)}}getCoordinates(){return this._pts}size(){return this._pts.length}getCoordinate(t){return this._pts[t]}isClosed(){return this._pts[0].equals(this._pts[this._pts.length-1])}getSegmentOctant(t){return t===this._pts.length-1?-1:this.safeOctant(this.getCoordinate(t),this.getCoordinate(t+1))}setData(t){this._data=t}safeOctant(t,e){return t.equals2D(e)?0:In.octant(t,e)}getData(){return this._data}addIntersection(){if(2===arguments.length){let t=arguments[0],e=arguments[1];this.addIntersectionNode(t,e)}else if(4===arguments.length){let e=arguments[1],r=arguments[3];var t=new _(arguments[0].getIntersection(r));this.addIntersection(t,e)}}toString(){return he.toLineString(new Kt(this._pts))}getNodeList(){return this._nodeList}addIntersectionNode(t,e){var r=e,n=r+1;if(n=t.length-1)return t.length-1;for(var n=fr.quadrant(t[r],t[r+1]),i=e+1;ir.getId()&&(r.computeOverlaps(i,t),this._nOverlaps++),this._segInt.isDone())return null}}getClass(){return kn}get interfaces_(){return[]}}class jn extends Rn{constructor(){super(),jn.constructor_.apply(this,arguments)}overlap(){if(4!==arguments.length)return super.overlap.apply(this,arguments);{let r=arguments[1],n=arguments[2],i=arguments[3];var t=arguments[0].getContext(),e=n.getContext();this._si.processIntersections(t,r,e,i)}}getClass(){return jn}get interfaces_(){return[]}}jn.constructor_=function(){this._si=null;let t=arguments[0];this._si=t},kn.SegmentOverlapAction=jn,kn.constructor_=function(){if(this._monoChains=new C,this._index=new pn,this._idCounter=0,this._nodedSegStrings=null,this._nOverlaps=0,0===arguments.length);else if(1===arguments.length){let t=arguments[0];Nn.constructor_.call(this,t)}};class Fn{constructor(){Fn.constructor_.apply(this,arguments)}rescale(){if(b(arguments[0],w))for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();this.rescale(e.getCoordinates())}else if(arguments[0]instanceof Array){let e=arguments[0];for(2===e.length&&(new _(e[0]),new _(e[1])),t=0;t0&&this._minIndexthis._minCoord.y&&r.y>this._minCoord.y&&n===D.CLOCKWISE)&&(i=!0),i&&(this._minIndex=this._minIndex-1)}getRightmostSideOfSegment(t,e){var r=t.getEdge().getCoordinates();if(e<0||e+1>=r.length)return-1;if(r[e].y===r[e+1].y)return-1;var n=xr.LEFT;return r[e].ythis._minCoord.x)&&(this._minDe=t,this._minIndex=r,this._minCoord=e[r])}findRightmostEdgeAtNode(){var t=this._minDe.getNode().getEdges();this._minDe=t.getRightmostEdge(),this._minDe.isForward()||(this._minDe=this._minDe.getSym(),this._minIndex=this._minDe.getEdge().getCoordinates().length-1)}findEdge(t){for(var e=t.iterator();e.hasNext();){var r=e.next();r.isForward()&&this.checkForRightmostCoordinate(r)}m.isTrue(0!==this._minIndex||this._minCoord.equals(this._minDe.getCoordinate()),"inconsistency in rightmost processing"),0===this._minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex(),this._orientedDe=this._minDe,this.getRightmostSide(this._minDe,this._minIndex)===xr.LEFT&&(this._orientedDe=this._minDe.getSym())}getClass(){return zn}get interfaces_(){return[]}}function Vn(){this.array_=[]}zn.constructor_=function(){this._minIndex=-1,this._minCoord=null,this._minDe=null,this._orientedDe=null},Vn.prototype.addLast=function(t){this.array_.push(t)},Vn.prototype.removeFirst=function(){return this.array_.shift()},Vn.prototype.isEmpty=function(){return 0===this.array_.length};class qn{constructor(){qn.constructor_.apply(this,arguments)}clearVisitedEdges(){for(var t=this._dirEdgeList.iterator();t.hasNext();)t.next().setVisited(!1)}getRightmostCoordinate(){return this._rightMostCoord}computeNodeDepth(t){for(var e=null,r=t.getEdges().iterator();r.hasNext();)if((n=r.next()).isVisited()||n.getSym().isVisited()){e=n;break}if(null===e)throw new Gr("unable to find edge to compute depths at "+t.getCoordinate());for(t.getEdges().computeDepths(e),r=t.getEdges().iterator();r.hasNext();){var n;(n=r.next()).setVisited(!0),this.copySymDepths(n)}}computeDepth(t){this.clearVisitedEdges();var e=this._finder.getEdge();e.getNode(),e.getLabel(),e.setEdgeDepths(xr.RIGHT,t),this.copySymDepths(e),this.computeDepths(e)}create(t){this.addReachable(t),this._finder.findEdge(this._dirEdgeList),this._rightMostCoord=this._finder.getCoordinate()}findResultEdges(){for(var t=this._dirEdgeList.iterator();t.hasNext();){var e=t.next();e.getDepth(xr.RIGHT)>=1&&e.getDepth(xr.LEFT)<=0&&!e.isInteriorAreaEdge()&&e.setInResult(!0)}}computeDepths(t){var e=new ot,r=new Vn,n=t.getNode();for(r.addLast(n),e.add(n),t.setVisited(!0);!r.isEmpty();){var i=r.removeFirst();e.add(i),this.computeNodeDepth(i);for(var o=i.getEdges().iterator();o.hasNext();){var a=o.next().getSym();if(!a.isVisited()){var s=a.getNode();e.contains(s)||(r.addLast(s),e.add(s))}}}}compareTo(t){var e=t;return this._rightMostCoord.xe._rightMostCoord.x?1:0}getEnvelope(){if(null===this._env){for(var t=new R,e=this._dirEdgeList.iterator();e.hasNext();)for(var r=e.next().getEdge().getCoordinates(),n=0;nthis._maxNodeDegree&&(this._maxNodeDegree=e),t=this.getNext(t)}while(t!==this._startDe);this._maxNodeDegree*=2}addPoints(t,e,r){var n=t.getCoordinates();if(e){var i=1;r&&(i=0);for(var o=i;o=0;o--)this._pts.add(n[o])}isHole(){return this._isHole}setInResult(){var t=this._startDe;do{t.getEdge().setInResult(!0),t=t.getNext()}while(t!==this._startDe)}containsPoint(t){var e=this.getLinearRing();if(!e.getEnvelopeInternal().contains(t))return!1;if(!Ue.isInRing(t,e.getCoordinates()))return!1;for(var r=this._holes.iterator();r.hasNext();)if(r.next().containsPoint(t))return!1;return!0}addHole(t){this._holes.add(t)}isShell(){return null===this._shell}getLabel(){return this._label}getEdges(){return this._edges}getMaxNodeDegree(){return this._maxNodeDegree<0&&this.computeMaxNodeDegree(),this._maxNodeDegree}getShell(){return this._shell}mergeLabel(){if(1===arguments.length){let t=arguments[0];this.mergeLabel(t,0),this.mergeLabel(t,1)}else if(2===arguments.length){let e=arguments[1];var t=arguments[0].getLocation(e,xr.RIGHT);if(t===ge.NONE)return null;if(this._label.getLocation(e)===ge.NONE)return this._label.setLocation(e,t),null}}setShell(t){this._shell=t,null!==t&&t.addHole(this)}toPolygon(t){for(var e=new Array(this._holes.size()).fill(null),r=0;r2){o.linkDirectedEdgesForMinimalEdgeRings();var a=o.buildMinimalRings(),s=this.findShell(a);null!==s?(this.placePolygonHoles(s,a),e.add(s)):r.addAll(a)}else n.add(o)}return n}containsPoint(t){for(var e=this._shellList.iterator();e.hasNext();)if(e.next().containsPoint(t))return!0;return!1}buildMaximalEdgeRings(t){for(var e=new C,r=t.iterator();r.hasNext();){var n=r.next();if(n.isInResult()&&n.getLabel().isArea()&&null===n.getEdgeRing()){var i=new Xn(n,this._geometryFactory);e.add(i),i.setInResult()}}return e}placePolygonHoles(t,e){for(var r=e.iterator();r.hasNext();){var n=r.next();n.isHole()&&n.setShell(t)}}getPolygons(){return this.computePolygons(this._shellList)}findEdgeRingContaining(t,e){for(var r=t.getLinearRing(),n=r.getEnvelopeInternal(),i=r.getCoordinateN(0),o=null,a=null,s=e.iterator();s.hasNext();){var l=s.next(),u=l.getLinearRing(),c=u.getEnvelopeInternal();null!==o&&(a=o.getLinearRing().getEnvelopeInternal());var h=!1;c.contains(n)&&Ue.isInRing(i,u.getCoordinates())&&(h=!0),h&&(null===o||a.contains(c))&&(o=l)}return o}findShell(t){for(var e=0,r=null,n=t.iterator();n.hasNext();){var i=n.next();i.isHole()||(r=i,e++)}return m.isTrue(e<=1,"found two shells in MinimalEdgeRing list"),r}add(){if(1===arguments.length){let t=arguments[0];this.add(t.getEdgeEnds(),t.getNodes())}else if(2===arguments.length){let n=arguments[0],i=arguments[1];zr.linkResultDirectedEdges(i);var t=this.buildMaximalEdgeRings(n),e=new C,r=this.buildMinimalEdgeRings(t,this._shellList,e);this.sortShellsAndHoles(r,this._shellList,e),this.placeFreeHoles(this._shellList,e)}}getClass(){return Hn}get interfaces_(){return[]}}Hn.constructor_=function(){this._geometryFactory=null,this._shellList=new C;let t=arguments[0];this._geometryFactory=t};class Zn{constructor(){Zn.constructor_.apply(this,arguments)}static simplify(t,e){return new Zn(t).simplify(e)}isDeletable(t,e,r,n){var i=this._inputLine[t],o=this._inputLine[e],a=this._inputLine[r];return!!this.isConcave(i,o,a)&&!!this.isShallow(i,o,a,n)&&this.isShallowSampled(i,o,t,r,n)}deleteShallowConcavities(){for(var t=1,e=(this._inputLine.length,this.findNextNonDeletedIndex(t)),r=this.findNextNonDeletedIndex(e),n=!1;r=0;r--)this.addPt(t[r])}isRedundant(t){if(this._ptList.size()<1)return!1;var e=this._ptList.get(this._ptList.size()-1);return t.distance(e)=2&&this._ptList.get(this._ptList.size()-2),t.equals(e))return null;this._ptList.add(t)}setMinimumVertexDistance(t){this._minimimVertexDistance=t}getClass(){return Kn}get interfaces_(){return[]}}Kn.constructor_=function(){this._ptList=null,this._precisionModel=null,this._minimimVertexDistance=0,this._ptList=new C},Kn.COORDINATE_ARRAY_TYPE=new Array(0).fill(null);class Jn{constructor(){Jn.constructor_.apply(this,arguments)}addNextSegment(t,e){if(this._s0=this._s1,this._s1=this._s2,this._s2=t,this._seg0.setCoordinates(this._s0,this._s1),this.computeOffsetSegment(this._seg0,this._side,this._distance,this._offset0),this._seg1.setCoordinates(this._s1,this._s2),this.computeOffsetSegment(this._seg1,this._side,this._distance,this._offset1),this._s1.equals(this._s2))return null;var r=D.index(this._s0,this._s1,this._s2),n=r===D.CLOCKWISE&&this._side===xr.LEFT||r===D.COUNTERCLOCKWISE&&this._side===xr.RIGHT;0===r?this.addCollinear(e):n?this.addOutsideTurn(r,e):this.addInsideTurn(r,e)}addLineEndCap(t,e){var r=new de(t,e),n=new de;this.computeOffsetSegment(r,xr.LEFT,this._distance,n);var i=new de;this.computeOffsetSegment(r,xr.RIGHT,this._distance,i);var o=e.x-t.x,a=e.y-t.y,s=Math.atan2(a,o);switch(this._bufParams.getEndCapStyle()){case Bn.CAP_ROUND:this._segList.addPt(n.p1),this.addDirectedFillet(e,s+Math.PI/2,s-Math.PI/2,D.CLOCKWISE,this._distance),this._segList.addPt(i.p1);break;case Bn.CAP_FLAT:this._segList.addPt(n.p1),this._segList.addPt(i.p1);break;case Bn.CAP_SQUARE:var l=new _;l.x=Math.abs(this._distance)*Math.cos(s),l.y=Math.abs(this._distance)*Math.sin(s);var u=new _(n.p1.x+l.x,n.p1.y+l.y),c=new _(i.p1.x+l.x,i.p1.y+l.y);this._segList.addPt(u),this._segList.addPt(c)}}getCoordinates(){return this._segList.getCoordinates()}addMitreJoin(t,e,r,n){var i=!0,o=null;try{o=U.intersection(e.p0,e.p1,r.p0,r.p1),(n<=0?1:o.distance(t)/Math.abs(n))>this._bufParams.getMitreLimit()&&(i=!1)}catch(t){if(!(t instanceof M))throw t;o=new _(0,0),i=!1}i?this._segList.addPt(o):this.addLimitedMitreJoin(e,r,n,this._bufParams.getMitreLimit())}addOutsideTurn(t,e){if(this._offset0.p1.distance(this._offset1.p0)=c&&(s-=2*Math.PI),this._segList.addPt(e),this.addDirectedFillet(t,s,c,n,i),this._segList.addPt(r)}addLastSegment(){this._segList.addPt(this._offset1.p1)}initSideSegments(t,e,r){this._s1=t,this._s2=e,this._side=r,this._seg1.setCoordinates(t,e),this.computeOffsetSegment(this._seg1,r,this._distance,this._offset1)}addLimitedMitreJoin(t,e,r,n){var i=this._seg0.p1,o=me.angle(i,this._seg0.p0),a=(me.angle(i,this._seg1.p1),me.angleBetweenOriented(this._seg0.p0,i,this._seg1.p1)/2),s=me.normalize(o+a),l=me.normalize(s+Math.PI),u=n*r,c=r-u*Math.abs(Math.sin(a)),h=i.x+u*Math.cos(l),f=i.y+u*Math.sin(l),p=new _(h,f),d=new de(i,p),g=d.pointAlongOffset(1,c),y=d.pointAlongOffset(1,-c);this._side===xr.LEFT?(this._segList.addPt(g),this._segList.addPt(y)):(this._segList.addPt(y),this._segList.addPt(g))}addDirectedFillet(t,e,r,n,i){var o,a=n===D.CLOCKWISE?-1:1,s=Math.abs(e-r),l=Math.trunc(s/this._filletAngleQuantum+.5);if(l<1)return null;o=s/l;for(var u=0,c=new _;u0){var r=new _((this._closingSegLengthFactor*this._offset0.p1.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset0.p1.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(r);var n=new _((this._closingSegLengthFactor*this._offset1.p0.x+this._s1.x)/(this._closingSegLengthFactor+1),(this._closingSegLengthFactor*this._offset1.p0.y+this._s1.y)/(this._closingSegLengthFactor+1));this._segList.addPt(n)}else this._segList.addPt(this._s1);this._segList.addPt(this._offset1.p0)}}createCircle(t){var e=new _(t.x+this._distance,t.y);this._segList.addPt(e),this.addDirectedFillet(t,0,2*Math.PI,-1,this._distance),this._segList.closeRing()}addBevelJoin(t,e){this._segList.addPt(t.p1),this._segList.addPt(e.p0)}init(t){this._distance=t,this._maxCurveSegmentError=t*(1-Math.cos(this._filletAngleQuantum/2)),this._segList=new Kn,this._segList.setPrecisionModel(this._precisionModel),this._segList.setMinimumVertexDistance(t*Jn.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)}addCollinear(t){this._li.computeIntersection(this._s0,this._s1,this._s1,this._s2),this._li.getIntersectionNum()>=2&&(this._bufParams.getJoinStyle()===Bn.JOIN_BEVEL||this._bufParams.getJoinStyle()===Bn.JOIN_MITRE?(t&&this._segList.addPt(this._offset0.p1),this._segList.addPt(this._offset1.p0)):this.addCornerFillet(this._s1,this._offset0.p1,this._offset1.p0,D.CLOCKWISE,this._distance))}closeRing(){this._segList.closeRing()}hasNarrowConcaveAngle(){return this._hasNarrowConcaveAngle}getClass(){return Jn}get interfaces_(){return[]}}Jn.constructor_=function(){this._maxCurveSegmentError=0,this._filletAngleQuantum=null,this._closingSegLengthFactor=1,this._segList=null,this._distance=0,this._precisionModel=null,this._bufParams=null,this._li=null,this._s0=null,this._s1=null,this._s2=null,this._seg0=new de,this._seg1=new de,this._offset0=new de,this._offset1=new de,this._side=0,this._hasNarrowConcaveAngle=!1;let t=arguments[0],e=arguments[1],r=arguments[2];this._precisionModel=t,this._bufParams=e,this._li=new pe,this._filletAngleQuantum=Math.PI/2/e.getQuadrantSegments(),e.getQuadrantSegments()>=8&&e.getJoinStyle()===Bn.JOIN_ROUND&&(this._closingSegLengthFactor=Jn.MAX_CLOSING_SEG_LEN_FACTOR),this.init(r)},Jn.OFFSET_SEGMENT_SEPARATION_FACTOR=.001,Jn.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001,Jn.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6,Jn.MAX_CLOSING_SEG_LEN_FACTOR=80;class Qn{constructor(){Qn.constructor_.apply(this,arguments)}static copyCoordinates(t){for(var e=new Array(t.length).fill(null),r=0;r=0;a--)r.addNextSegment(i[a],!0)}else{r.addSegments(t,!1);var s=Zn.simplify(t,n),l=s.length-1;for(r.initSideSegments(s[0],s[1],xr.LEFT),r.addFirstSegment(),a=2;a<=l;a++)r.addNextSegment(s[a],!0)}r.addLastSegment(),r.closeRing()}computeRingBufferCurve(t,e,r){var n=this.simplifyTolerance(this._distance);e===xr.RIGHT&&(n=-n);var i=Zn.simplify(t,n),o=i.length-1;r.initSideSegments(i[o-1],i[0],e);for(var a=1;a<=o;a++){var s=1!==a;r.addNextSegment(i[a],s)}r.closeRing()}computeLineBufferCurve(t,e){var r=this.simplifyTolerance(this._distance),n=Zn.simplify(t,r),i=n.length-1;e.initSideSegments(n[0],n[1],xr.LEFT);for(var o=2;o<=i;o++)e.addNextSegment(n[o],!0);e.addLastSegment(),e.addLineEndCap(n[i-1],n[i]);var a=Zn.simplify(t,-r),s=a.length-1;for(e.initSideSegments(a[s],a[s-1],xr.LEFT),o=s-2;o>=0;o--)e.addNextSegment(a[o],!0);e.addLastSegment(),e.addLineEndCap(a[1],a[0]),e.closeRing()}computePointCurve(t,e){switch(this._bufParams.getEndCapStyle()){case Bn.CAP_ROUND:e.createCircle(t);break;case Bn.CAP_SQUARE:e.createSquare(t)}}getLineCurve(t,e){if(this._distance=e,e<0&&!this._bufParams.isSingleSided())return null;if(0===e)return null;var r=Math.abs(e),n=this.getSegGen(r);if(t.length<=1)this.computePointCurve(t[0],n);else if(this._bufParams.isSingleSided()){var i=e<0;this.computeSingleSidedBufferCurve(t,i,n)}else this.computeLineBufferCurve(t,n);return n.getCoordinates()}getBufferParameters(){return this._bufParams}simplifyTolerance(t){return t*this._bufParams.getSimplifyFactor()}getRingCurve(t,e,r){if(this._distance=r,t.length<=2)return this.getLineCurve(t,r);if(0===r)return Qn.copyCoordinates(t);var n=this.getSegGen(r);return this.computeRingBufferCurve(t,e,n),n.getCoordinates()}computeOffsetCurve(t,e,r){var n=this.simplifyTolerance(this._distance);if(e){var i=Zn.simplify(t,-n),o=i.length-1;r.initSideSegments(i[o],i[o-1],xr.LEFT),r.addFirstSegment();for(var a=o-2;a>=0;a--)r.addNextSegment(i[a],!0)}else{var s=Zn.simplify(t,n),l=s.length-1;for(r.initSideSegments(s[0],s[1],xr.LEFT),r.addFirstSegment(),a=2;a<=l;a++)r.addNextSegment(s[a],!0)}r.addLastSegment()}getSegGen(t){return new Jn(this._precisionModel,this._bufParams,t)}getClass(){return Qn}get interfaces_(){return[]}}Qn.constructor_=function(){this._distance=0,this._precisionModel=null,this._bufParams=null;let t=arguments[0],e=arguments[1];this._precisionModel=t,this._bufParams=e};class $n{constructor(){$n.constructor_.apply(this,arguments)}findStabbedSegments(){if(1===arguments.length){let i=arguments[0];for(var t=new C,e=this._subgraphs.iterator();e.hasNext();){var r=e.next(),n=r.getEnvelope();i.yn.getMaxY()||this.findStabbedSegments(i,r.getDirectedEdges(),t)}return t}if(3===arguments.length)if(b(arguments[2],S)&&arguments[0]instanceof _&&arguments[1]instanceof Ur){let t=arguments[0],r=arguments[1],n=arguments[2];var i=r.getEdge().getCoordinates();for(e=0;ethis._seg.p1.y&&this._seg.reverse(),!(Math.max(this._seg.p0.x,this._seg.p1.x)this._seg.p1.y||D.index(this._seg.p0,this._seg.p1,t)===D.RIGHT)){var o=r.getDepth(xr.LEFT);this._seg.p0.equals(i[e])||(o=r.getDepth(xr.RIGHT));var a=new ti(this._seg,o);n.add(a)}}else if(b(arguments[2],S)&&arguments[0]instanceof _&&b(arguments[1],S)){let t=arguments[0],r=arguments[2];for(e=arguments[1].iterator();e.hasNext();){var s=e.next();s.isForward()&&this.findStabbedSegments(t,s,r)}}}getDepth(t){var e=this.findStabbedSegments(t);return 0===e.size()?0:Le.min(e)._leftDepth}getClass(){return $n}get interfaces_(){return[]}}class ti{constructor(){ti.constructor_.apply(this,arguments)}compareTo(t){var e=t;if(this._upwardSeg.minX()>=e._upwardSeg.maxX())return 1;if(this._upwardSeg.maxX()<=e._upwardSeg.minX())return-1;var r=this._upwardSeg.orientationIndex(e._upwardSeg);return 0!==r||0!=(r=-1*e._upwardSeg.orientationIndex(this._upwardSeg))?r:this._upwardSeg.compareTo(e._upwardSeg)}compareX(t,e){var r=t.p0.compareTo(e.p0);return 0!==r?r:t.p1.compareTo(e.p1)}toString(){return this._upwardSeg.toString()}getClass(){return ti}get interfaces_(){return[h]}}ti.constructor_=function(){this._upwardSeg=null,this._leftDepth=null;let t=arguments[0],e=arguments[1];this._upwardSeg=new de(t),this._leftDepth=e},$n.DepthSegment=ti,$n.constructor_=function(){this._subgraphs=null,this._seg=new de;let t=arguments[0];this._subgraphs=t};class ei{constructor(){ei.constructor_.apply(this,arguments)}addPoint(t){if(this._distance<=0)return null;var e=t.getCoordinates(),r=this._curveBuilder.getLineCurve(e,this._distance);this.addCurve(r,ge.EXTERIOR,ge.INTERIOR)}addPolygon(t){var e=this._distance,r=xr.LEFT;this._distance<0&&(e=-this._distance,r=xr.RIGHT);var n=t.getExteriorRing(),i=$.removeRepeatedPoints(n.getCoordinates());if(this._distance<0&&this.isErodedCompletely(n,this._distance))return null;if(this._distance<=0&&i.length<3)return null;this.addPolygonRing(i,e,r,ge.EXTERIOR,ge.INTERIOR);for(var o=0;o0&&this.isErodedCompletely(a,-this._distance)||this.addPolygonRing(s,e,xr.opposite(r),ge.INTERIOR,ge.EXTERIOR)}}isTriangleErodedCompletely(t,e){var r=new _e(t[0],t[1],t[2]),n=r.inCentre();return z.pointToSegment(n,r.p0,r.p1)=Vt.MINIMUM_VALID_SIZE&&D.isCCW(t)&&(o=i,a=n,r=xr.opposite(r));var s=this._curveBuilder.getRingCurve(t,r,e);this.addCurve(s,o,a)}add(t){if(t.isEmpty())return null;if(t instanceof Bt)this.addPolygon(t);else if(t instanceof jt)this.addLineString(t);else if(t instanceof Dt)this.addPoint(t);else if(t instanceof zt)this.addCollection(t);else if(t instanceof St)this.addCollection(t);else if(t instanceof qt)this.addCollection(t);else{if(!(t instanceof Et))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}isErodedCompletely(t,e){var r=t.getCoordinates();if(r.length<4)return e<0;if(4===r.length)return this.isTriangleErodedCompletely(r,e);var n=t.getEnvelopeInternal(),i=Math.min(n.getHeight(),n.getWidth());return e<0&&2*Math.abs(e)>i}addCollection(t){for(var e=0;e=0;r--){var n=this._edgeList.get(r),i=n.getSym();null===e&&(e=i),null!==t&&i.setNext(t),t=n}e.setNext(t)}computeDepths(){if(1===arguments.length){let i=arguments[0];var t=this.findIndex(i),e=(i.getLabel(),i.getDepth(xr.LEFT)),r=i.getDepth(xr.RIGHT),n=this.computeDepths(t+1,this._edgeList.size(),e);if(this.computeDepths(0,t,n)!==r)throw new Gr("depth mismatch at "+i.getCoordinate())}else if(3===arguments.length){let t=arguments[1];for(var i=arguments[2],o=arguments[0];o=0;i--){var o=this._resultAreaEdgeList.get(i),a=o.getSym();switch(null===e&&o.getEdgeRing()===t&&(e=o),n){case this._SCANNING_FOR_INCOMING:if(a.getEdgeRing()!==t)continue;r=a,n=this._LINKING_TO_OUTGOING;break;case this._LINKING_TO_OUTGOING:if(o.getEdgeRing()!==t)continue;r.setNextMin(o),n=this._SCANNING_FOR_INCOMING}}n===this._LINKING_TO_OUTGOING&&(m.isTrue(null!==e,"found null for first outgoing dirEdge"),m.isTrue(e.getEdgeRing()===t,"unable to link last incoming dirEdge"),r.setNextMin(e))}getOutgoingDegree(){if(0===arguments.length){for(var t=0,e=this.iterator();e.hasNext();)e.next().isInResult()&&t++;return t}if(1===arguments.length){let r=arguments[0];for(t=0,e=this.iterator();e.hasNext();)e.next().getEdgeRing()===r&&t++;return t}}getLabel(){return this._label}findCoveredLineEdges(){for(var t=ge.NONE,e=this.iterator();e.hasNext();){var r=(i=e.next()).getSym();if(!i.isLineEdge()){if(i.isInResult()){t=ge.INTERIOR;break}if(r.isInResult()){t=ge.EXTERIOR;break}}}if(t===ge.NONE)return null;var n=t;for(e=this.iterator();e.hasNext();){var i;r=(i=e.next()).getSym(),i.isLineEdge()?i.getEdge().setCovered(n===ge.INTERIOR):(i.isInResult()&&(n=ge.EXTERIOR),r.isInResult()&&(n=ge.INTERIOR))}}computeLabelling(t){super.computeLabelling.call(this,t),this._label=new Tr(ge.NONE);for(var e=this.iterator();e.hasNext();)for(var r=e.next().getEdge().getLabel(),n=0;n<2;n++){var i=r.getLocation(n);i!==ge.INTERIOR&&i!==ge.BOUNDARY||this._label.setLocation(n,ge.INTERIOR)}}getClass(){return ni}get interfaces_(){return[]}}ni.constructor_=function(){this._resultAreaEdgeList=null,this._label=null,this._SCANNING_FOR_INCOMING=1,this._LINKING_TO_OUTGOING=2};class ii extends Br{constructor(){super(),ii.constructor_.apply(this,arguments)}createNode(t){return new jr(t,new ni)}getClass(){return ii}get interfaces_(){return[]}}ii.constructor_=function(){};class oi{constructor(){oi.constructor_.apply(this,arguments)}static orientation(t){return 1===$.increasingDirection(t)}static compareOriented(t,e,r,n){for(var i=e?1:-1,o=n?1:-1,a=e?t.length:-1,s=n?r.length:-1,l=e?0:t.length-1,u=n?0:r.length-1;;){var c=t[l].compareTo(r[u]);if(0!==c)return c;var h=(l+=i)===a,f=(u+=o)===s;if(h&&!f)return-1;if(!h&&f)return 1;if(h&&f)return 0}}compareTo(t){var e=t;return oi.compareOriented(this._pts,this._orientation,e._pts,e._orientation)}getClass(){return oi}get interfaces_(){return[h]}}oi.constructor_=function(){this._pts=null,this._orientation=null;let t=arguments[0];this._pts=t,this._orientation=oi.orientation(t)};class ai{constructor(){ai.constructor_.apply(this,arguments)}print(t){t.print("MULTILINESTRING ( ");for(var e=0;e0&&t.print(","),t.print("(");for(var n=r.getCoordinates(),i=0;i0&&t.print(","),t.print(n[i].x+" "+n[i].y);t.println(")")}t.print(") ")}addAll(t){for(var e=t.iterator();e.hasNext();)this.add(e.next())}findEdgeIndex(t){for(var e=0;en||this._maxyo;if(a)return!1;var s=this.intersectsToleranceSquare(t,e);return m.isTrue(!(a&&s),"Found bad envelope test"),s}initCorners(t){this._minx=t.x-.5,this._maxx=t.x+.5,this._miny=t.y-.5,this._maxy=t.y+.5,this._corner[0]=new _(this._maxx,this._maxy),this._corner[1]=new _(this._minx,this._maxy),this._corner[2]=new _(this._minx,this._miny),this._corner[3]=new _(this._maxx,this._miny)}intersects(t,e){return 1===this._scaleFactor?this.intersectsScaled(t,e):(this.copyScaled(t,this._p0Scaled),this.copyScaled(e,this._p1Scaled),this.intersectsScaled(this._p0Scaled,this._p1Scaled))}scale(t){return Math.round(t*this._scaleFactor)}getCoordinate(){return this._originalPt}copyScaled(t,e){e.x=this.scale(t.x),e.y=this.scale(t.y)}getSafeEnvelope(){if(null===this._safeEnv){var t=hi.SAFE_ENV_EXPANSION_FACTOR/this._scaleFactor;this._safeEnv=new R(this._originalPt.x-t,this._originalPt.x+t,this._originalPt.y-t,this._originalPt.y+t)}return this._safeEnv}intersectsPixelClosure(t,e){return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.hasIntersection()||(this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.hasIntersection()))))}intersectsToleranceSquare(t,e){var r=!1,n=!1;return this._li.computeIntersection(t,e,this._corner[0],this._corner[1]),!!(this._li.isProper()||(this._li.computeIntersection(t,e,this._corner[1],this._corner[2]),this._li.isProper()||(this._li.hasIntersection()&&(r=!0),this._li.computeIntersection(t,e,this._corner[2],this._corner[3]),this._li.isProper()||(this._li.hasIntersection()&&(n=!0),this._li.computeIntersection(t,e,this._corner[3],this._corner[0]),this._li.isProper()||r&&n||t.equals(this._pt)||e.equals(this._pt)))))}addSnappedNode(t,e){var r=t.getCoordinate(e),n=t.getCoordinate(e+1);return!!this.intersects(r,n)&&(t.addIntersection(this.getCoordinate(),e),!0)}getClass(){return hi}get interfaces_(){return[]}}hi.constructor_=function(){this._li=null,this._pt=null,this._originalPt=null,this._ptScaled=null,this._p0Scaled=null,this._p1Scaled=null,this._scaleFactor=null,this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,this._corner=new Array(4).fill(null),this._safeEnv=null;let t=arguments[0],e=arguments[1],n=arguments[2];if(this._originalPt=t,this._pt=t,this._scaleFactor=e,this._li=n,e<=0)throw new r("Scale factor must be non-zero");1!==e&&(this._pt=new _(this.scale(t.x),this.scale(t.y)),this._p0Scaled=new _,this._p1Scaled=new _),this.initCorners(this._pt)},hi.SAFE_ENV_EXPANSION_FACTOR=.75;class fi{constructor(){fi.constructor_.apply(this,arguments)}select(){if(1===arguments.length);else if(2===arguments.length){let t=arguments[1];arguments[0].getLineSegment(t,this.selectedSegment),this.select(this.selectedSegment)}}getClass(){return fi}get interfaces_(){return[]}}fi.constructor_=function(){this.selectedSegment=new de};class pi{constructor(){pi.constructor_.apply(this,arguments)}snap(){if(1===arguments.length){let t=arguments[0];return this.snap(t,null,-1)}if(3===arguments.length){let r=arguments[0],n=arguments[1],i=arguments[2];var t=r.getSafeEnvelope(),e=new di(r,n,i);return this._index.query(t,new class{get interfaces_(){return[Ie]}visitItem(r){r.select(t,e)}}),e.isNodeAdded()}}getClass(){return pi}get interfaces_(){return[]}}class di extends fi{constructor(){super(),di.constructor_.apply(this,arguments)}isNodeAdded(){return this._isNodeAdded}select(){if(!(2===arguments.length&&Number.isInteger(arguments[1])&&arguments[0]instanceof Ln))return super.select.apply(this,arguments);{let e=arguments[1];var t=arguments[0].getContext();if(null!==this._parentEdge&&t===this._parentEdge&&e===this._hotPixelVertexIndex)return null;this._isNodeAdded=this._hotPixel.addSnappedNode(t,e)}}getClass(){return di}get interfaces_(){return[]}}di.constructor_=function(){this._hotPixel=null,this._parentEdge=null,this._hotPixelVertexIndex=null,this._isNodeAdded=!1;let t=arguments[0],e=arguments[1],r=arguments[2];this._hotPixel=t,this._parentEdge=e,this._hotPixelVertexIndex=r},pi.HotPixelSnapAction=di,pi.constructor_=function(){this._index=null;let t=arguments[0];this._index=t};class gi{constructor(){gi.constructor_.apply(this,arguments)}processIntersections(t,e,r,n){if(t===r&&e===n)return null;var i=t.getCoordinates()[e],o=t.getCoordinates()[e+1],a=r.getCoordinates()[n],s=r.getCoordinates()[n+1];if(this._li.computeIntersection(i,o,a,s),this._li.hasIntersection()&&this._li.isInteriorIntersection()){for(var l=0;l0?e:0),o=r-Math.trunc(Math.log(i)/Math.log(10)+1);return Math.pow(10,o)}bufferFixedPrecision(t){var e=new Fn(new yi(new ie(1)),t.getScale()),r=new ui(this._bufParams);r.setWorkingPrecisionModel(t),r.setNoder(e),this._resultGeometry=r.buffer(this._argGeom,this._distance)}bufferReducedPrecision(){if(0===arguments.length){for(var t=mi.MAX_PRECISION_DIGITS;t>=0;t--){try{this.bufferReducedPrecision(t)}catch(t){if(!(t instanceof Gr))throw t;this._saveException=t}if(null!==this._resultGeometry)return null}throw this._saveException}if(1===arguments.length){let t=arguments[0];var e=mi.precisionScaleFactor(this._argGeom,this._distance,t),r=new ie(e);this.bufferFixedPrecision(r)}}computeGeometry(){if(this.bufferOriginalPrecision(),null!==this._resultGeometry)return null;var t=this._argGeom.getFactory().getPrecisionModel();t.getType()===ie.FIXED?this.bufferFixedPrecision(t):this.bufferReducedPrecision()}setQuadrantSegments(t){this._bufParams.setQuadrantSegments(t)}bufferOriginalPrecision(){try{var t=new ui(this._bufParams);this._resultGeometry=t.buffer(this._argGeom,this._distance)}catch(t){if(!(t instanceof g))throw t;this._saveException=t}}getResultGeometry(t){return this._distance=t,this.computeGeometry(),this._resultGeometry}setEndCapStyle(t){this._bufParams.setEndCapStyle(t)}getClass(){return mi}get interfaces_(){return[]}}mi.constructor_=function(){if(this._argGeom=null,this._distance=null,this._bufParams=new Bn,this._resultGeometry=null,this._saveException=null,1===arguments.length){let t=arguments[0];this._argGeom=t}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._argGeom=t,this._bufParams=e}},mi.CAP_ROUND=Bn.CAP_ROUND,mi.CAP_BUTT=Bn.CAP_FLAT,mi.CAP_FLAT=Bn.CAP_FLAT,mi.CAP_SQUARE=Bn.CAP_SQUARE,mi.MAX_PRECISION_DIGITS=12;var _i=Object.freeze({BufferOp:mi,BufferParameters:Bn});class vi{constructor(){vi.constructor_.apply(this,arguments)}static getPolygons(){if(1===arguments.length){let t=arguments[0];return vi.getPolygons(t,new C)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t instanceof Bt?e.add(t):t instanceof Et&&t.apply(new vi(e)),e}}filter(t){t instanceof Bt&&this._comps.add(t)}getClass(){return vi}get interfaces_(){return[xt]}}vi.constructor_=function(){this._comps=null;let t=arguments[0];this._comps=t};class bi{constructor(){bi.constructor_.apply(this,arguments)}isInsideArea(){return this._segIndex===bi.INSIDE_AREA}getCoordinate(){return this._pt}getGeometryComponent(){return this._component}getSegmentIndex(){return this._segIndex}getClass(){return bi}get interfaces_(){return[]}}bi.constructor_=function(){if(this._component=null,this._segIndex=null,this._pt=null,2===arguments.length){let t=arguments[0],e=arguments[1];bi.constructor_.call(this,t,bi.INSIDE_AREA,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._component=t,this._segIndex=e,this._pt=r}},bi.INSIDE_AREA=-1;class xi{constructor(){xi.constructor_.apply(this,arguments)}static getPoints(){if(1===arguments.length){let t=arguments[0];return t instanceof Dt?Le.singletonList(t):xi.getPoints(t,new C)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t instanceof Dt?e.add(t):t instanceof Et&&t.apply(new xi(e)),e}}filter(t){t instanceof Dt&&this._pts.add(t)}getClass(){return xi}get interfaces_(){return[xt]}}xi.constructor_=function(){this._pts=null;let t=arguments[0];this._pts=t};class wi{constructor(){wi.constructor_.apply(this,arguments)}static getLocations(t){var e=new C;return t.apply(new wi(e)),e}filter(t){(t instanceof Dt||t instanceof jt||t instanceof Bt)&&this._locations.add(new bi(t,0,t.getCoordinate()))}getClass(){return wi}get interfaces_(){return[xt]}}wi.constructor_=function(){this._locations=null;let t=arguments[0];this._locations=t};class Ei{constructor(){Ei.constructor_.apply(this,arguments)}static distance(t,e){return new Ei(t,e).distance()}static isWithinDistance(t,e,r){return!(t.getEnvelopeInternal().distance(e.getEnvelopeInternal())>r)&&new Ei(t,e,r).distance()<=r}static nearestPoints(t,e){return new Ei(t,e).nearestPoints()}computeContainmentDistance(){if(0===arguments.length){var t=new Array(2).fill(null);if(this.computeContainmentDistance(0,t),this._minDistance<=this._terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){let t=arguments[0],o=arguments[1];var e=this._geom[t];if(e.getDimension()<2)return null;var r=1-t,n=vi.getPolygons(e);if(n.size()>0){var i=wi.getLocations(this._geom[r]);if(this.computeContainmentDistance(i,n,o),this._minDistance<=this._terminateDistance)return this._minDistanceLocation[r]=o[0],this._minDistanceLocation[t]=o[1],null}}else if(3===arguments.length)if(arguments[2]instanceof Array&&b(arguments[0],S)&&b(arguments[1],S)){let t=arguments[0],e=arguments[1],r=arguments[2];for(var o=0;othis._minDistance)return null;for(var t=i.getCoordinates(),e=o.getCoordinate(),r=0;rthis._minDistance)return null;t=e.getCoordinates();var i=n.getCoordinates();for(r=0;rt&&$.reverse(this._coordinates)}return this._coordinates}toLineString(){return this._factory.createLineString(this.getCoordinates())}add(t){this._directedEdges.add(t)}getClass(){return Oi}get interfaces_(){return[]}}Oi.constructor_=function(){this._factory=null,this._directedEdges=new C,this._coordinates=null;let t=arguments[0];this._factory=t};class Ii{constructor(){Ii.constructor_.apply(this,arguments)}static getComponentWithVisitedState(t,e){for(;t.hasNext();){var r=t.next();if(r.isVisited()===e)return r}return null}static setVisited(t,e){for(;t.hasNext();)t.next().setVisited(e)}static setMarked(t,e){for(;t.hasNext();)t.next().setMarked(e)}setVisited(t){this._isVisited=t}isMarked(){return this._isMarked}setData(t){this._data=t}getData(){return this._data}setMarked(t){this._isMarked=t}getContext(){return this._data}isVisited(){return this._isVisited}setContext(t){this._data=t}getClass(){return Ii}get interfaces_(){return[]}}Ii.constructor_=function(){this._isMarked=!1,this._isVisited=!1,this._data=null};class Ci extends Ii{constructor(){super(),Ci.constructor_.apply(this,arguments)}static toEdges(t){for(var e=new C,r=t.iterator();r.hasNext();)e.add(r.next()._parentEdge);return e}isRemoved(){return null===this._parentEdge}compareDirection(t){return this._quadrant>t._quadrant?1:this._quadrant=t.size()-2}hasIntersection(){return null!==this._interiorIntersection}isDone(){return!this._findAllIntersections&&null!==this._interiorIntersection}getClass(){return Gi}get interfaces_(){return[si]}}Gi.constructor_=function(){this._findAllIntersections=!1,this._isCheckEndSegmentsOnly=!1,this._li=null,this._interiorIntersection=null,this._intSegments=null,this._intersections=new C,this._intersectionCount=0,this._keepIntersections=!0;let t=arguments[0];this._li=t,this._interiorIntersection=null};class Ui{constructor(){Ui.constructor_.apply(this,arguments)}static computeIntersections(t){var e=new Ui(t);return e.setFindAllIntersections(!0),e.isValid(),e.getIntersections()}execute(){if(null!==this._segInt)return null;this.checkInteriorIntersections()}getIntersections(){return this._segInt.getIntersections()}isValid(){return this.execute(),this._isValid}setFindAllIntersections(t){this._findAllIntersections=t}checkInteriorIntersections(){this._isValid=!0,this._segInt=new Gi(this._li),this._segInt.setFindAllIntersections(this._findAllIntersections);var t=new kn;if(t.setSegmentIntersector(this._segInt),t.computeNodes(this._segStrings),this._segInt.hasIntersection())return this._isValid=!1,null}checkValid(){if(this.execute(),!this._isValid)throw new Gr(this.getErrorMessage(),this._segInt.getInteriorIntersection())}getErrorMessage(){if(this._isValid)return"no intersections found";var t=this._segInt.getIntersectionSegments();return"found non-noded intersection between "+he.toLineString(t[0],t[1])+" and "+he.toLineString(t[2],t[3])}getClass(){return Ui}get interfaces_(){return[]}}Ui.constructor_=function(){this._li=new pe,this._segStrings=null,this._findAllIntersections=!1,this._segInt=null,this._isValid=!0;let t=arguments[0];this._segStrings=t};class Bi{constructor(){Bi.constructor_.apply(this,arguments)}static toSegmentStrings(t){for(var e=new C,r=t.iterator();r.hasNext();){var n=r.next();e.add(new Di(n.getCoordinates(),n))}return e}static checkValid(t){new Bi(t).checkValid()}checkValid(){this._nv.checkValid()}getClass(){return Bi}get interfaces_(){return[]}}Bi.constructor_=function(){this._nv=null;let t=arguments[0];this._nv=new Ui(Bi.toSegmentStrings(t))};class zi{constructor(){zi.constructor_.apply(this,arguments)}static map(t,e){return new zi(e).map(t)}map(t){for(var e=new C,r=0;r=0&&t.add(o+1,new _(i),!1)}}findSegmentIndexToSnap(t,e){for(var r=i.MAX_VALUE,n=-1,o=0;ot&&(t=r)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];return Math.min(Wi.computeOverlaySnapTolerance(t),Wi.computeOverlaySnapTolerance(e))}}static computeSizeBasedSnapTolerance(t){var e=t.getEnvelopeInternal();return Math.min(e.getHeight(),e.getWidth())*Wi.SNAP_PRECISION_FACTOR}static snapToSelf(t,e,r){return new Wi(t).snapToSelf(e,r)}snapTo(t,e){var r=this.extractTargetCoordinates(t);return new Xi(e,r).transform(this._srcGeom)}snapToSelf(t,e){var r=this.extractTargetCoordinates(this._srcGeom),n=new Xi(t,r,!0).transform(this._srcGeom),i=n;return e&&b(i,Ut)&&(i=n.buffer(0)),i}computeSnapTolerance(t){return this.computeMinimumSegmentLength(t)/10}extractTargetCoordinates(t){for(var e=new yt,r=t.getCoordinates(),n=0;n>>20}static zeroLowerBits(t,e){var r="low";if(e>32&&(t.low=0,e%=32,r="high"),e>0){var n=e<32?~((1<=0;n--){if(Hi.getBit(t,n)!==Hi.getBit(e,n))return r;r++}return 52}}class Zi{constructor(){Zi.constructor_.apply(this,arguments)}addCommonBits(t){var e=new Ji(this._commonCoord);t.apply(e),t.geometryChanged()}removeCommonBits(t){if(0===this._commonCoord.x&&0===this._commonCoord.y)return t;var e=new _(this._commonCoord);e.x=-e.x,e.y=-e.y;var r=new Ji(e);return t.apply(r),t.geometryChanged(),t}getCommonCoordinate(){return this._commonCoord}add(t){t.apply(this._ccFilter),this._commonCoord=this._ccFilter.getCommonCoordinate()}getClass(){return Zi}get interfaces_(){return[]}}class Ki{constructor(){Ki.constructor_.apply(this,arguments)}filter(t){this._commonBitsX.add(t.x),this._commonBitsY.add(t.y)}getCommonCoordinate(){return new _(this._commonBitsX.getCommon(),this._commonBitsY.getCommon())}getClass(){return Ki}get interfaces_(){return[X]}}Ki.constructor_=function(){this._commonBitsX=new Hi,this._commonBitsY=new Hi};class Ji{constructor(){Ji.constructor_.apply(this,arguments)}filter(t,e){var r=t.getOrdinate(e,0)+this.trans.x,n=t.getOrdinate(e,1)+this.trans.y;t.setOrdinate(e,0,r),t.setOrdinate(e,1,n)}isDone(){return!1}isGeometryChanged(){return!0}getClass(){return Ji}get interfaces_(){return[wt]}}Ji.constructor_=function(){this.trans=null;let t=arguments[0];this.trans=t},Zi.CommonCoordinateFilter=Ki,Zi.Translater=Ji,Zi.constructor_=function(){this._commonCoord=null,this._ccFilter=new Ki};class Qi{constructor(){Qi.constructor_.apply(this,arguments)}static overlayOp(t,e,r){return new Qi(t,e).getResultGeometry(r)}static union(t,e){return Qi.overlayOp(t,e,eo.UNION)}static intersection(t,e){return Qi.overlayOp(t,e,eo.INTERSECTION)}static symDifference(t,e){return Qi.overlayOp(t,e,eo.SYMDIFFERENCE)}static difference(t,e){return Qi.overlayOp(t,e,eo.DIFFERENCE)}selfSnap(t){return new Wi(t).snapTo(t,this._snapTolerance)}removeCommonBits(t){this._cbr=new Zi,this._cbr.add(t[0]),this._cbr.add(t[1]);var e=new Array(2).fill(null);return e[0]=this._cbr.removeCommonBits(t[0].copy()),e[1]=this._cbr.removeCommonBits(t[1].copy()),e}prepareResult(t){return this._cbr.addCommonBits(t),t}getResultGeometry(t){var e=this.snap(this._geom),r=eo.overlayOp(e[0],e[1],t);return this.prepareResult(r)}checkValid(t){t.isValid()||G.out.println("Snapped geometry is invalid")}computeSnapTolerance(){this._snapTolerance=Wi.computeOverlaySnapTolerance(this._geom[0],this._geom[1])}snap(t){var e=this.removeCommonBits(t);return Wi.snap(e[0],e[1],this._snapTolerance)}getClass(){return Qi}get interfaces_(){return[]}}Qi.constructor_=function(){this._geom=new Array(2).fill(null),this._snapTolerance=null,this._cbr=null;let t=arguments[0],e=arguments[1];this._geom[0]=t,this._geom[1]=e,this.computeSnapTolerance()};class $i{constructor(){$i.constructor_.apply(this,arguments)}static overlayOp(t,e,r){return new $i(t,e).getResultGeometry(r)}static union(t,e){return $i.overlayOp(t,e,eo.UNION)}static intersection(t,e){return $i.overlayOp(t,e,eo.INTERSECTION)}static symDifference(t,e){return $i.overlayOp(t,e,eo.SYMDIFFERENCE)}static difference(t,e){return $i.overlayOp(t,e,eo.DIFFERENCE)}getResultGeometry(t){var e=null,r=!1,n=null;try{e=eo.overlayOp(this._geom[0],this._geom[1],t),r=!0}catch(t){if(!(t instanceof g))throw t;n=t}if(!r)try{e=Qi.overlayOp(this._geom[0],this._geom[1],t)}catch(t){throw t instanceof g?n:t}return e}getClass(){return $i}get interfaces_(){return[]}}$i.constructor_=function(){this._geom=new Array(2).fill(null);let t=arguments[0],e=arguments[1];this._geom[0]=t,this._geom[1]=e};class to{constructor(){to.constructor_.apply(this,arguments)}getArgGeometry(t){return this._arg[t].getGeometry()}setComputationPrecision(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)}getClass(){return to}get interfaces_(){return[]}}to.constructor_=function(){if(this._li=new pe,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){let t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new Vr(0,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];to.constructor_.call(this,t,e,H.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];t.getPrecisionModel().compareTo(e.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new Vr(0,t,r),this._arg[1]=new Vr(1,e,r)}};class eo extends to{constructor(){super(),eo.constructor_.apply(this,arguments)}static overlayOp(t,e,r){return new eo(t,e).getResultGeometry(r)}static union(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return eo.createEmptyResult(eo.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.UNION)}static intersection(t,e){if(t.isEmpty()||e.isEmpty())return eo.createEmptyResult(eo.INTERSECTION,t,e,t.getFactory());if(t.isGeometryCollection()){var n=e;return zi.map(t,new class{get interfaces_(){return[MapOp]}map(t){return t.intersection(n)}})}if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.INTERSECTION)}static symDifference(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return eo.createEmptyResult(eo.SYMDIFFERENCE,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.SYMDIFFERENCE)}static resultDimension(t,e,r){var n=e.getDimension(),i=r.getDimension(),o=-1;switch(t){case eo.INTERSECTION:o=Math.min(n,i);break;case eo.UNION:o=Math.max(n,i);break;case eo.DIFFERENCE:o=n;break;case eo.SYMDIFFERENCE:o=Math.max(n,i)}return o}static createEmptyResult(t,e,r,n){var i=null;switch(eo.resultDimension(t,e,r)){case-1:i=n.createGeometryCollection();break;case 0:i=n.createPoint();break;case 1:i=n.createLineString();break;case 2:i=n.createPolygon()}return i}static difference(t,e){if(t.isEmpty())return eo.createEmptyResult(eo.DIFFERENCE,t,e,t.getFactory());if(e.isEmpty())return t.copy();if(t.isGeometryCollection()||e.isGeometryCollection())throw new r("This method does not support GeometryCollection arguments");return $i.overlayOp(t,e,eo.DIFFERENCE)}static isResultOfOp(){if(2===arguments.length){let r=arguments[0],n=arguments[1];var t=r.getLocation(0),e=r.getLocation(1);return eo.isResultOfOp(t,e,n)}if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];switch(t===ge.BOUNDARY&&(t=ge.INTERIOR),e===ge.BOUNDARY&&(e=ge.INTERIOR),r){case eo.INTERSECTION:return t===ge.INTERIOR&&e===ge.INTERIOR;case eo.UNION:return t===ge.INTERIOR||e===ge.INTERIOR;case eo.DIFFERENCE:return t===ge.INTERIOR&&e!==ge.INTERIOR;case eo.SYMDIFFERENCE:return t===ge.INTERIOR&&e!==ge.INTERIOR||t!==ge.INTERIOR&&e===ge.INTERIOR}return!1}}insertUniqueEdge(t){var e=this._edgeList.findEqualEdge(t);if(null!==e){var r=e.getLabel(),n=t.getLabel();e.isPointwiseEqual(t)||(n=new Tr(t.getLabel())).flip();var i=e.getDepth();i.isNull()&&i.add(r),i.add(n),r.merge(n)}else this._edgeList.add(t)}getGraph(){return this._graph}cancelDuplicateResultEdges(){for(var t=this._graph.getEdgeEnds().iterator();t.hasNext();){var e=t.next(),r=e.getSym();e.isInResult()&&r.isInResult()&&(e.setInResult(!1),r.setInResult(!1))}}isCoveredByLA(t){return!!this.isCovered(t,this._resultLineList)||!!this.isCovered(t,this._resultPolyList)}computeGeometry(t,e,r,n){var i=new C;return i.addAll(t),i.addAll(e),i.addAll(r),i.isEmpty()?eo.createEmptyResult(n,this._arg[0].getGeometry(),this._arg[1].getGeometry(),this._geomFact):this._geomFact.buildGeometry(i)}mergeSymLabels(){for(var t=this._graph.getNodes().iterator();t.hasNext();)t.next().getEdges().mergeSymLabels()}isCovered(t,e){for(var r=e.iterator();r.hasNext();){var n=r.next();if(this._ptLocator.locate(t,n)!==ge.EXTERIOR)return!0}return!1}replaceCollapsedEdges(){for(var t=new C,e=this._edgeList.iterator();e.hasNext();){var r=e.next();r.isCollapsed()&&(e.remove(),t.add(r.getCollapsedEdge()))}this._edgeList.addAll(t)}updateNodeLabelling(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),r=e.getEdges().getLabel();e.getLabel().merge(r)}}getResultGeometry(t){return this.computeOverlay(t),this._resultGeom}insertUniqueEdges(t){for(var e=t.iterator();e.hasNext();){var r=e.next();this.insertUniqueEdge(r)}}computeOverlay(t){this.copyPoints(0),this.copyPoints(1),this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1),this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!0);var e=new C;this._arg[0].computeSplitEdges(e),this._arg[1].computeSplitEdges(e),this.insertUniqueEdges(e),this.computeLabelsFromDepths(),this.replaceCollapsedEdges(),Bi.checkValid(this._edgeList.getEdges()),this._graph.addEdges(this._edgeList.getEdges()),this.computeLabelling(),this.labelIncompleteNodes(),this.findResultAreaEdges(t),this.cancelDuplicateResultEdges();var r=new Hn(this._geomFact);r.add(this._graph),this._resultPolyList=r.getPolygons();var n=new Vi(this,this._geomFact,this._ptLocator);this._resultLineList=n.build(t);var i=new qi(this,this._geomFact,this._ptLocator);this._resultPointList=i.build(t),this._resultGeom=this.computeGeometry(this._resultPointList,this._resultLineList,this._resultPolyList,t)}labelIncompleteNode(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setLocation(e,r)}copyPoints(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var r=e.next();this._graph.addNode(r.getCoordinate()).setLabel(t,r.getLabel().getLocation(t))}}findResultAreaEdges(t){for(var e=this._graph.getEdgeEnds().iterator();e.hasNext();){var r=e.next(),n=r.getLabel();n.isArea()&&!r.isInteriorAreaEdge()&&eo.isResultOfOp(n.getLocation(0,xr.RIGHT),n.getLocation(1,xr.RIGHT),t)&&r.setInResult(!0)}}computeLabelsFromDepths(){for(var t=this._edgeList.iterator();t.hasNext();){var e=t.next(),r=e.getLabel(),n=e.getDepth();if(!n.isNull()){n.normalize();for(var i=0;i<2;i++)r.isNull(i)||!r.isArea()||n.isNull(i)||(0===n.getDelta(i)?r.toLine(i):(m.isTrue(!n.isNull(i,xr.LEFT),"depth of LEFT side has not been initialized"),r.setLocation(i,xr.LEFT,n.getLocation(i,xr.LEFT)),m.isTrue(!n.isNull(i,xr.RIGHT),"depth of RIGHT side has not been initialized"),r.setLocation(i,xr.RIGHT,n.getLocation(i,xr.RIGHT))))}}}computeLabelling(){for(var t=this._graph.getNodes().iterator();t.hasNext();)t.next().getEdges().computeLabelling(this._arg);this.mergeSymLabels(),this.updateNodeLabelling()}labelIncompleteNodes(){for(var t=this._graph.getNodes().iterator();t.hasNext();){var e=t.next(),r=e.getLabel();e.isIsolated()&&(r.isNull(0)?this.labelIncompleteNode(e,0):this.labelIncompleteNode(e,1)),e.getEdges().updateLabelling(r)}}isCoveredByA(t){return!!this.isCovered(t,this._resultPolyList)}getClass(){return eo}get interfaces_(){return[]}}eo.constructor_=function(){this._ptLocator=new br,this._geomFact=null,this._resultGeom=null,this._graph=null,this._edgeList=new ai,this._resultPolyList=new C,this._resultLineList=new C,this._resultPointList=new C;let t=arguments[0],e=arguments[1];to.constructor_.call(this,t,e),this._graph=new zr(new ii),this._geomFact=t.getFactory()},eo.INTERSECTION=1,eo.UNION=2,eo.DIFFERENCE=3,eo.SYMDIFFERENCE=4;var ro=Object.freeze({OverlayOp:eo});class no extends Ci{constructor(){super(),no.constructor_.apply(this,arguments)}getNext(){return this._next}isInRing(){return null!==this._edgeRing}setRing(t){this._edgeRing=t}setLabel(t){this._label=t}getLabel(){return this._label}setNext(t){this._next=t}getRing(){return this._edgeRing}getClass(){return no}get interfaces_(){return[]}}no.constructor_=function(){this._edgeRing=null,this._next=null,this._label=-1;let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];Ci.constructor_.call(this,t,e,r,n)};class io extends Pi{constructor(){super(),io.constructor_.apply(this,arguments)}getLine(){return this._line}getClass(){return io}get interfaces_(){return[]}}io.constructor_=function(){this._line=null;let t=arguments[0];this._line=t};class oo{constructor(){oo.constructor_.apply(this,arguments)}static findDirEdgesInRing(t){var e=t,r=new C;do{r.add(e),e=e.getNext(),m.isTrue(null!==e,"found null DE in ring"),m.isTrue(e===t||!e.isInRing(),"found DE already in ring")}while(e!==t);return r}static addEdge(t,e,r){if(e)for(var n=0;n=0;n--)r.add(t[n],!1)}static findEdgeRingContaining(t,e){for(var r=t.getRing(),n=r.getEnvelopeInternal(),i=r.getCoordinateN(0),o=null,a=null,s=e.iterator();s.hasNext();){var l=s.next(),u=l.getRing(),c=u.getEnvelopeInternal();if(!c.equals(n)&&c.contains(n)){i=$.ptNotInList(r.getCoordinates(),u.getCoordinates());var h=!1;Ue.isInRing(i,u.getCoordinates())&&(h=!0),h&&(null===o||a.contains(c))&&(a=(o=l).getRing().getEnvelopeInternal())}}return o}isIncluded(){return this._isIncluded}getCoordinates(){if(null===this._ringPts){for(var t=new P,e=this._deList.iterator();e.hasNext();){var r=e.next(),n=r.getEdge();oo.addEdge(n.getLine().getCoordinates(),r.getEdgeDirection(),t)}this._ringPts=t.toCoordinateArray()}return this._ringPts}isIncludedSet(){return this._isIncludedSet}isValid(){return this.getCoordinates(),!(this._ringPts.length<=3)&&(this.getRing(),this._ring.isValid())}build(t){var e=t;do{this.add(e),e.setRing(this),e=e.getNext(),m.isTrue(null!==e,"found null DE in ring"),m.isTrue(e===t||!e.isInRing(),"found DE already in ring")}while(e!==t)}isOuterHole(){return!!this._isHole&&!this.hasShell()}getPolygon(){var t=null;if(null!==this._holes){t=new Array(this._holes.size()).fill(null);for(var e=0;e=0)){e.add(i);var o=oo.findDirEdgesInRing(i);so.label(o,r),r++}}return e}static getDegreeNonDeleted(t){for(var e=0,r=t.getOutEdges().getEdges().iterator();r.hasNext();)r.next().isMarked()||e++;return e}static deleteAllEdges(t){for(var e=t.getOutEdges().getEdges().iterator();e.hasNext();){var r=e.next();r.setMarked(!0);var n=r.getSym();null!==n&&n.setMarked(!0)}}static label(t,e){for(var r=t.iterator();r.hasNext();)r.next().setLabel(e)}static computeNextCWEdges(t){for(var e=null,r=null,n=t.getOutEdges().getEdges().iterator();n.hasNext();){var i=n.next();i.isMarked()||(null===e&&(e=i),null!==r&&r.getSym().setNext(i),r=i)}null!==r&&r.getSym().setNext(e)}static computeNextCCWEdges(t,e){for(var r=null,n=null,i=t.getOutEdges().getEdges(),o=i.size()-1;o>=0;o--){var a=i.get(o),s=a.getSym(),l=null;a.getLabel()===e&&(l=a);var u=null;s.getLabel()===e&&(u=s),null===l&&null===u||(null!==u&&(n=u),null!==l&&(null!==n&&(n.setNext(l),n=null),null===r&&(r=l)))}null!==n&&(m.isTrue(null!==r),n.setNext(r))}static getDegree(t,e){for(var r=0,n=t.getOutEdges().getEdges().iterator();n.hasNext();)n.next().getLabel()===e&&r++;return r}static findIntersectionNodes(t,e){var r=t,n=null;do{var i=r.getFromNode();so.getDegree(i,e)>1&&(null===n&&(n=new C),n.add(i)),r=r.getNext(),m.isTrue(null!==r,"found null DE in ring"),m.isTrue(r===t||!r.isInRing(),"found DE already in ring")}while(r!==t);return n}findEdgeRing(t){var e=new oo(this._factory);return e.build(t),e}computeDepthParity(){if(0===arguments.length)for(;;)return null}computeNextCWEdges(){for(var t=this.nodeIterator();t.hasNext();){var e=t.next();so.computeNextCWEdges(e)}}addEdge(t){if(t.isEmpty())return null;var e=$.removeRepeatedPoints(t.getCoordinates());if(e.length<2)return null;var r=e[0],n=e[e.length-1],i=this.getNode(r),o=this.getNode(n),a=new no(i,o,e[1],!0),s=new no(o,i,e[e.length-2],!1),l=new io(t);l.setDirectedEdges(a,s),this.add(l)}deleteCutEdges(){this.computeNextCWEdges(),so.findLabeledEdgeRings(this._dirEdges);for(var t=new C,e=this._dirEdges.iterator();e.hasNext();){var r=e.next();if(!r.isMarked()){var n=r.getSym();if(r.getLabel()===n.getLabel()){r.setMarked(!0),n.setMarked(!0);var i=r.getEdge();t.add(i.getLine())}}}return t}getEdgeRings(){this.computeNextCWEdges(),so.label(this._dirEdges,-1);var t=so.findLabeledEdgeRings(this._dirEdges);this.convertMaximalToMinimalEdgeRings(t);for(var e=new C,r=this._dirEdges.iterator();r.hasNext();){var n=r.next();if(!n.isMarked()&&!n.isInRing()){var i=this.findEdgeRing(n);e.add(i)}}return e}getNode(t){var e=this.findNode(t);return null===e&&(e=new Li(t),this.add(e)),e}convertMaximalToMinimalEdgeRings(t){for(var e=t.iterator();e.hasNext();){var r=e.next(),n=r.getLabel(),i=so.findIntersectionNodes(r,n);if(null!==i)for(var o=i.iterator();o.hasNext();){var a=o.next();so.computeNextCCWEdges(a,n)}}}deleteDangles(){for(var t=this.findNodesOfDegree(1),e=new ot,r=new Je,n=t.iterator();n.hasNext();)r.push(n.next());for(;!r.isEmpty();){var i=r.pop();for(so.deleteAllEdges(i),n=i.getOutEdges().getEdges().iterator();n.hasNext();){var o=n.next();o.setMarked(!0);var a=o.getSym();null!==a&&a.setMarked(!0);var s=o.getEdge();e.add(s.getLine());var l=o.getToNode();1===so.getDegreeNonDeleted(l)&&r.push(l)}}return e}getClass(){return so}get interfaces_(){return[]}}so.constructor_=function(){this._factory=null;let t=arguments[0];this._factory=t};class lo{constructor(){lo.constructor_.apply(this,arguments)}static findOuterShells(t){for(var e=t.iterator();e.hasNext();){var r=e.next(),n=r.getOuterHole();null===n||n.isProcessed()||(r.setIncluded(!0),n.setProcessed(!0))}}static extractPolygons(t,e){for(var r=new C,n=t.iterator();n.hasNext();){var i=n.next();(e||i.isIncluded())&&r.add(i.getPolygon())}return r}static assignHolesToShells(t,e){for(var r=t.iterator();r.hasNext();){var n=r.next();lo.assignHoleToShell(n,e)}}static assignHoleToShell(t,e){var r=oo.findEdgeRingContaining(t,e);null!==r&&r.addHole(t)}static findDisjointShells(t){lo.findOuterShells(t);var e=null;do{e=!1;for(var r=t.iterator();r.hasNext();){var n=r.next();n.isIncludedSet()||(n.updateIncluded(),n.isIncludedSet()||(e=!0))}}while(e)}getGeometry(){return null===this._geomFactory&&(this._geomFactory=new ae),this.polygonize(),this._extractOnlyPolygonal?this._geomFactory.buildGeometry(this._polyList):this._geomFactory.createGeometryCollection(ae.toGeometryArray(this._polyList))}getInvalidRingLines(){return this.polygonize(),this._invalidRingLines}findValidRings(t,e,r){for(var n=t.iterator();n.hasNext();){var i=n.next();i.isValid()?e.add(i):r.add(i.getLineString())}}polygonize(){if(null!==this._polyList)return null;if(this._polyList=new C,null===this._graph)return null;this._dangles=this._graph.deleteDangles(),this._cutEdges=this._graph.deleteCutEdges();var t=this._graph.getEdgeRings(),e=new C;this._invalidRingLines=new C,this._isCheckingRingsValid?this.findValidRings(t,e,this._invalidRingLines):e=t,this.findShellsAndHoles(e),lo.assignHolesToShells(this._holeList,this._shellList),Le.sort(this._shellList,new oo.EnvelopeComparator);var r=!0;this._extractOnlyPolygonal&&(lo.findDisjointShells(this._shellList),r=!1),this._polyList=lo.extractPolygons(this._shellList,r)}getDangles(){return this.polygonize(),this._dangles}getCutEdges(){return this.polygonize(),this._cutEdges}getPolygons(){return this.polygonize(),this._polyList}add(){if(b(arguments[0],w))for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();this.add(e)}else if(arguments[0]instanceof jt){let t=arguments[0];this._geomFactory=t.getFactory(),null===this._graph&&(this._graph=new so(this._geomFactory)),this._graph.addEdge(t)}else arguments[0]instanceof W&&arguments[0].apply(this._lineStringAdder)}setCheckRingsValid(t){this._isCheckingRingsValid=t}findShellsAndHoles(t){this._holeList=new C,this._shellList=new C;for(var e=t.iterator();e.hasNext();){var r=e.next();r.computeHole(),r.isHole()?this._holeList.add(r):this._shellList.add(r)}}getClass(){return lo}get interfaces_(){return[]}}class uo{constructor(){uo.constructor_.apply(this,arguments)}filter(t){t instanceof jt&&this.p.add(t)}getClass(){return uo}get interfaces_(){return[Y]}}uo.constructor_=function(){this.p=null;let t=arguments[0];this.p=t},lo.LineStringAdder=uo,lo.constructor_=function(){if(this._lineStringAdder=new uo(this),this._graph=null,this._dangles=new C,this._cutEdges=new C,this._invalidRingLines=new C,this._holeList=null,this._shellList=null,this._polyList=null,this._isCheckingRingsValid=!0,this._extractOnlyPolygonal=null,this._geomFactory=null,0===arguments.length)lo.constructor_.call(this,!1);else if(1===arguments.length){let t=arguments[0];this._extractOnlyPolygonal=t}};var co=Object.freeze({Polygonizer:lo});class ho{constructor(){ho.constructor_.apply(this,arguments)}createEdgeEndForNext(t,e,r,n){var i=r.segmentIndex+1;if(i>=t.getNumPoints()&&null===n)return null;var o=t.getCoordinate(i);null!==n&&n.segmentIndex===r.segmentIndex&&(o=n.coord);var a=new Dr(t,r.coord,o,new Tr(t.getLabel()));e.add(a)}createEdgeEndForPrev(t,e,r,n){var i=r.segmentIndex;if(0===r.dist){if(0===i)return null;i--}var o=t.getCoordinate(i);null!==n&&n.segmentIndex>=i&&(o=n.coord);var a=new Tr(t.getLabel());a.flip();var s=new Dr(t,r.coord,o,a);e.add(s)}computeEdgeEnds(){if(1===arguments.length){let n=arguments[0];for(var t=new C,e=n;e.hasNext();){var r=e.next();this.computeEdgeEnds(r,t)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];var n=t.getEdgeIntersectionList();n.addEndpoints();var i=n.iterator(),o=null,a=null;if(!i.hasNext())return null;var s=i.next();do{o=a,a=s,s=null,i.hasNext()&&(s=i.next()),null!==a&&(this.createEdgeEndForPrev(t,e,a,o),this.createEdgeEndForNext(t,e,a,s))}while(null!==a)}}getClass(){return ho}get interfaces_(){return[]}}ho.constructor_=function(){};class fo extends Dr{constructor(){super(),fo.constructor_.apply(this,arguments)}insert(t){this._edgeEnds.add(t)}print(t){t.println("EdgeEndBundle--\x3e Label: "+this._label);for(var e=this.iterator();e.hasNext();)e.next().print(t),t.println()}iterator(){return this._edgeEnds.iterator()}getEdgeEnds(){return this._edgeEnds}computeLabelOn(t,e){for(var r=0,n=!1,i=this.iterator();i.hasNext();)(o=i.next().getLabel().getLocation(t))===ge.BOUNDARY&&r++,o===ge.INTERIOR&&(n=!0);var o=ge.NONE;n&&(o=ge.INTERIOR),r>0&&(o=Vr.determineBoundary(e,r)),this._label.setLocation(t,o)}computeLabelSide(t,e){for(var r=this.iterator();r.hasNext();){var n=r.next();if(n.getLabel().isArea()){var i=n.getLabel().getLocation(t,e);if(i===ge.INTERIOR)return this._label.setLocation(t,e,ge.INTERIOR),null;i===ge.EXTERIOR&&this._label.setLocation(t,e,ge.EXTERIOR)}}}getLabel(){return this._label}computeLabelSides(t){this.computeLabelSide(t,xr.LEFT),this.computeLabelSide(t,xr.RIGHT)}updateIM(t){kr.updateIM(this._label,t)}computeLabel(t){for(var e=!1,r=this.iterator();r.hasNext();)r.next().getLabel().isArea()&&(e=!0);this._label=e?new Tr(ge.NONE,ge.NONE,ge.NONE):new Tr(ge.NONE);for(var n=0;n<2;n++)this.computeLabelOn(n,t),e&&this.computeLabelSides(n)}getClass(){return fo}get interfaces_(){return[]}}fo.constructor_=function(){if(this._edgeEnds=new C,1===arguments.length){let t=arguments[0];fo.constructor_.call(this,null,t)}else if(2===arguments.length){let t=arguments[1];Dr.constructor_.call(this,t.getEdge(),t.getCoordinate(),t.getDirectedCoordinate(),new Tr(t.getLabel())),this.insert(t)}};class po extends ri{constructor(){super(),po.constructor_.apply(this,arguments)}updateIM(t){for(var e=this.iterator();e.hasNext();)e.next().updateIM(t)}insert(t){var e=this._edgeMap.get(t);null===e?(e=new fo(t),this.insertEdgeEnd(t,e)):e.insert(t)}getClass(){return po}get interfaces_(){return[]}}po.constructor_=function(){};class go extends jr{constructor(){super(),go.constructor_.apply(this,arguments)}updateIMFromEdges(t){this._edges.updateIM(t)}computeIM(t){t.setAtLeastIfValid(this._label.getLocation(0),this._label.getLocation(1),0)}getClass(){return go}get interfaces_(){return[]}}go.constructor_=function(){let t=arguments[0],e=arguments[1];jr.constructor_.call(this,t,e)};class yo extends Br{constructor(){super(),yo.constructor_.apply(this,arguments)}createNode(t){return new go(t,new po)}getClass(){return yo}get interfaces_(){return[]}}yo.constructor_=function(){};class mo{constructor(){mo.constructor_.apply(this,arguments)}insertEdgeEnds(t){for(var e=t.iterator();e.hasNext();){var r=e.next();this._nodes.add(r)}}computeProperIntersectionIM(t,e){var r=this._arg[0].getGeometry().getDimension(),n=this._arg[1].getGeometry().getDimension(),i=t.hasProperIntersection(),o=t.hasProperInteriorIntersection();2===r&&2===n?i&&e.setAtLeast("212101212"):2===r&&1===n?(i&&e.setAtLeast("FFF0FFFF2"),o&&e.setAtLeast("1FFFFF1FF")):1===r&&2===n?(i&&e.setAtLeast("F0FFFFFF2"),o&&e.setAtLeast("1F1FFFFFF")):1===r&&1===n&&o&&e.setAtLeast("0FFFFFFFF")}labelIsolatedEdges(t,e){for(var r=this._arg[t].getEdgeIterator();r.hasNext();){var n=r.next();n.isIsolated()&&(this.labelIsolatedEdge(n,e,this._arg[e].getGeometry()),this._isolatedEdges.add(n))}}labelIsolatedEdge(t,e,r){if(r.getDimension()>0){var n=this._ptLocator.locate(t.getCoordinate(),r);t.getLabel().setAllLocations(e,n)}else t.getLabel().setAllLocations(e,ge.EXTERIOR)}computeIM(){var t=new ye;if(t.set(ge.EXTERIOR,ge.EXTERIOR,2),!this._arg[0].getGeometry().getEnvelopeInternal().intersects(this._arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(t),t;this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1);var e=this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(e,t);var r=new ho,n=r.computeEdgeEnds(this._arg[0].getEdgeIterator());this.insertEdgeEnds(n);var i=r.computeEdgeEnds(this._arg[1].getEdgeIterator());return this.insertEdgeEnds(i),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(t),t}labelNodeEdges(){for(var t=this._nodes.iterator();t.hasNext();)t.next().getEdges().computeLabelling(this._arg)}copyNodesAndLabels(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var r=e.next();this._nodes.addNode(r.getCoordinate()).setLabel(t,r.getLabel().getLocation(t))}}labelIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.find(o.coord);a.getLabel().isNull(t)&&(n===ge.BOUNDARY?a.setLabelBoundary(t):a.setLabel(t,ge.INTERIOR))}}labelIsolatedNode(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setAllLocations(e,r)}computeIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.addNode(o.coord);n===ge.BOUNDARY?a.setLabelBoundary(t):a.getLabel().isNull(t)&&a.setLabel(t,ge.INTERIOR)}}labelIsolatedNodes(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next(),r=e.getLabel();m.isTrue(r.getGeometryCount()>0,"node with empty label found"),e.isIsolated()&&(r.isNull(0)?this.labelIsolatedNode(e,0):this.labelIsolatedNode(e,1))}}updateIM(t){for(var e=this._isolatedEdges.iterator();e.hasNext();)e.next().updateIM(t);for(var r=this._nodes.iterator();r.hasNext();){var n=r.next();n.updateIM(t),n.updateIMFromEdges(t)}}computeDisjointIM(t){var e=this._arg[0].getGeometry();e.isEmpty()||(t.set(ge.INTERIOR,ge.EXTERIOR,e.getDimension()),t.set(ge.BOUNDARY,ge.EXTERIOR,e.getBoundaryDimension()));var r=this._arg[1].getGeometry();r.isEmpty()||(t.set(ge.EXTERIOR,ge.INTERIOR,r.getDimension()),t.set(ge.EXTERIOR,ge.BOUNDARY,r.getBoundaryDimension()))}getClass(){return mo}get interfaces_(){return[]}}mo.constructor_=function(){this._li=new pe,this._ptLocator=new br,this._arg=null,this._nodes=new Fr(new yo),this._im=null,this._isolatedEdges=new C,this._invalidPoint=null;let t=arguments[0];this._arg=t};class _o{constructor(){_o.constructor_.apply(this,arguments)}static contains(t,e){return new _o(t).contains(e)}isContainedInBoundary(t){if(t instanceof Bt)return!1;if(t instanceof Dt)return this.isPointContainedInBoundary(t);if(t instanceof jt)return this.isLineStringContainedInBoundary(t);for(var e=0;e0){var n=t;t=e,e=n}var i=!1;return e.y>t.y&&(i=!0),i?this._li.computeIntersection(t,e,this._diagDown0,this._diagDown1):this._li.computeIntersection(t,e,this._diagUp0,this._diagUp1),!!this._li.hasIntersection()}getClass(){return vo}get interfaces_(){return[]}}vo.constructor_=function(){this._li=new pe,this._rectEnv=null,this._diagUp0=null,this._diagUp1=null,this._diagDown0=null,this._diagDown1=null;let t=arguments[0];this._rectEnv=t,this._diagUp0=new _(t.getMinX(),t.getMinY()),this._diagUp1=new _(t.getMaxX(),t.getMaxY()),this._diagDown0=new _(t.getMinX(),t.getMaxY()),this._diagDown1=new _(t.getMaxX(),t.getMinY())};class bo{constructor(){bo.constructor_.apply(this,arguments)}applyTo(t){for(var e=0;e=this._rectEnv.getMinX()&&e.getMaxX()<=this._rectEnv.getMaxX()||e.getMinY()>=this._rectEnv.getMinY()&&e.getMaxY()<=this._rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null}intersects(){return this._intersects}getClass(){return wo}get interfaces_(){return[]}}wo.constructor_=function(){this._rectEnv=null,this._intersects=!1;let t=arguments[0];this._rectEnv=t};class Eo extends bo{constructor(){super(),Eo.constructor_.apply(this,arguments)}isDone(){return!0===this._containsPoint}visit(t){if(!(t instanceof Bt))return null;var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;for(var r=new _,n=0;n<4;n++)if(this._rectSeq.getCoordinate(n,r),e.contains(r)&&ze.containsPointInPolygon(r,t))return this._containsPoint=!0,null}containsPoint(){return this._containsPoint}getClass(){return Eo}get interfaces_(){return[]}}Eo.constructor_=function(){this._rectSeq=null,this._rectEnv=null,this._containsPoint=!1;let t=arguments[0];this._rectSeq=t.getExteriorRing().getCoordinateSequence(),this._rectEnv=t.getEnvelopeInternal()};class So extends bo{constructor(){super(),So.constructor_.apply(this,arguments)}intersects(){return this._hasIntersection}isDone(){return!0===this._hasIntersection}visit(t){var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;var r=Ne.getLines(t);this.checkIntersectionWithLineStrings(r)}checkIntersectionWithLineStrings(t){for(var e=t.iterator();e.hasNext();){var r=e.next();if(this.checkIntersectionWithSegments(r),this._hasIntersection)return null}}checkIntersectionWithSegments(t){for(var e=t.getCoordinateSequence(),r=1;r0)&&!!t.getEnvelopeInternal().covers(e.getEnvelopeInternal())&&(!!t.isRectangle()||new Oo(t,e).getIntersectionMatrix().isCovers())}static intersects(t,e){if(!t.getEnvelopeInternal().intersects(e.getEnvelopeInternal()))return!1;if(t.isRectangle())return xo.intersects(t,e);if(e.isRectangle())return xo.intersects(e,t);if(t.isGeometryCollection()||e.isGeometryCollection()){for(var r=0;r0)&&!!t.getEnvelopeInternal().contains(e.getEnvelopeInternal())&&(t.isRectangle()?_o.contains(t,e):new Oo(t,e).getIntersectionMatrix().isContains())}getIntersectionMatrix(){return this._relate.computeIM()}getClass(){return Oo}get interfaces_(){return[]}}Oo.constructor_=function(){if(this._relate=null,2===arguments.length){let t=arguments[0],e=arguments[1];to.constructor_.call(this,t,e),this._relate=new mo(this._arg)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];to.constructor_.call(this,t,e,r),this._relate=new mo(this._arg)}};var Io=Object.freeze({RelateOp:Oo});class Co{constructor(){Co.constructor_.apply(this,arguments)}static combine(){if(1===arguments.length)return new Co(arguments[0]).combine();if(2===arguments.length){let t=arguments[0],e=arguments[1];return new Co(Co.createList(t,e)).combine()}if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return new Co(Co.createList(t,e,r)).combine()}}static extractFactory(t){return t.isEmpty()?null:t.iterator().next().getFactory()}static createList(){if(2===arguments.length){let e=arguments[0],r=arguments[1];return(t=new C).add(e),t.add(r),t}if(3===arguments.length){let e=arguments[0],r=arguments[1],n=arguments[2];var t;return(t=new C).add(e),t.add(r),t.add(n),t}}extractElements(t,e){if(null===t)return null;for(var r=0;r=t.size()?null:t.get(e)}static union(t){return new Ro(t).union()}reduceToGeometries(t){for(var e=new C,r=t.iterator();r.hasNext();){var n=r.next(),i=null;b(n,S)?i=this.unionTree(n):n instanceof W&&(i=n),e.add(i)}return e}extractByEnvelope(t,e,r){for(var n=new C,i=0;i0){var e=this._geomFact.buildGeometry(this._points);t=this.unionNoOpt(e)}var r=null;if(this._lines.size()>0){var n=this._geomFact.buildGeometry(this._lines);r=this.unionNoOpt(n)}var i=null;this._polygons.size()>0&&(i=Ro.union(this._polygons));var o=this.unionWithNull(r,i),a=null;return null===(a=null===t?o:null===o?t:To.union(t,o))?this._geomFact.createGeometryCollection():a}getClass(){return Lo}get interfaces_(){return[]}}Lo.constructor_=function(){if(this._polygons=new C,this._lines=new C,this._points=new C,this._geomFact=null,1===arguments.length){if(b(arguments[0],w)){let t=arguments[0];this.extract(t)}else if(arguments[0]instanceof W){let t=arguments[0];this.extract(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._geomFact=e,this.extract(t)}};var Mo=Object.freeze({UnaryUnionOp:Lo});class Ao{constructor(){Ao.constructor_.apply(this,arguments)}static findDifferentPoint(t,e){for(var r=0;r1)return this._invalidPoint=r.getEdge().getCoordinate(0),!0}return!1}isNodeConsistentArea(){var t=this._geomGraph.computeSelfNodes(this._li,!0,!0);return t.hasProperIntersection()?(this._invalidPoint=t.getProperIntersectionPoint(),!1):(this._nodeGraph.build(this._geomGraph),this.isNodeEdgeAreaLabelsConsistent())}getClass(){return ko}get interfaces_(){return[]}}ko.constructor_=function(){this._li=new pe,this._geomGraph=null,this._nodeGraph=new No,this._invalidPoint=null;let t=arguments[0];this._geomGraph=t};class jo{constructor(){jo.constructor_.apply(this,arguments)}buildIndex(){this._index=new pn;for(var t=0;t=1&&(e=t.getCoordinateN(0)),this._validErr=new Fo(Fo.RING_NOT_CLOSED,e)}}checkShellsNotNested(t,e){for(var r=0;r=2&&(n=!0),e.edit(t,new Bo(this._targetPM,n))}changePM(t,e){return this.createEditor(t.getFactory(),e).edit(t,new Yt.NoOpGeometryOperation)}setRemoveCollapsedComponents(t){this._removeCollapsed=t}createFactory(t,e){return new ae(e,t.getSRID(),t.getCoordinateSequenceFactory())}setChangePrecisionModel(t){this._changePrecisionModel=t}reduce(t){var e=this.reducePointwise(t);return this._isPointwise?e:b(e,Ut)?Do.isValid(e)?e:this.fixPolygonalTopology(e):e}setPointwise(t){this._isPointwise=t}createEditor(t,e){if(t.getPrecisionModel()===e)return new Yt;var r=this.createFactory(t,e);return new Yt(r)}getClass(){return zo}get interfaces_(){return[]}}zo.constructor_=function(){this._targetPM=null,this._removeCollapsed=!0,this._changePrecisionModel=!1,this._isPointwise=!1;let t=arguments[0];this._targetPM=t};var Vo=Object.freeze({GeometryPrecisionReducer:zo});class qo{constructor(){qo.constructor_.apply(this,arguments)}static simplify(t,e){var r=new qo(t);return r.setDistanceTolerance(e),r.simplify()}simplifySection(t,e){if(t+1===e)return null;this._seg.p0=this._pts[t],this._seg.p1=this._pts[e];for(var r=-1,n=t,i=t+1;ir&&(r=o,n=i)}if(r<=this._distanceTolerance)for(i=t+1;i=e[0]&&nthis._distanceTolerance&&(o=!1);var l=new de;if(l.p0=this._linePts[t],l.p1=this._linePts[e],n[0]=t,n[1]=e,this.hasBadIntersection(this._line,n,l)&&(o=!1),o)return i=this.flatten(t,e),this._line.addToResult(i),null;this.simplifySection(t,s,r),this.simplifySection(s,e,r)}hasBadOutputIntersection(t){for(var e=this._outputIndex.query(t).iterator();e.hasNext();){var r=e.next();if(this.hasInteriorIntersection(r,t))return!0}return!1}findFurthestPoint(t,e,r,n){var i=new de;i.p0=t[e],i.p1=t[r];for(var o=-1,a=e,s=e+1;so&&(o=u,a=s)}return n[0]=o,a}simplify(t){this._line=t,this._linePts=t.getParentCoordinates(),this.simplifySection(0,this._linePts.length-1,0)}remove(t,e,r){for(var n=e;nn&&(a=n),i.setMinimumLength(a),i.splitAt(o),i.getSplitPoint()}getClass(){return oa}get interfaces_(){return[ia]}}oa.constructor_=function(){};class aa{constructor(){aa.constructor_.apply(this,arguments)}static triArea(t,e,r){return(e.x-t.x)*(r.y-t.y)-(e.y-t.y)*(r.x-t.x)}static isInCircleDDNormalized(t,e,r,n){var i=j.valueOf(t.x).selfSubtract(n.x),o=j.valueOf(t.y).selfSubtract(n.y),a=j.valueOf(e.x).selfSubtract(n.x),s=j.valueOf(e.y).selfSubtract(n.y),l=j.valueOf(r.x).selfSubtract(n.x),u=j.valueOf(r.y).selfSubtract(n.y),c=i.multiply(s).selfSubtract(a.multiply(o)),h=a.multiply(u).selfSubtract(l.multiply(s)),f=l.multiply(o).selfSubtract(i.multiply(u)),p=i.multiply(i).selfAdd(o.multiply(o)),d=a.multiply(a).selfAdd(s.multiply(s)),g=l.multiply(l).selfAdd(u.multiply(u));return p.selfMultiply(h).selfAdd(d.selfMultiply(f)).selfAdd(g.selfMultiply(c)).doubleValue()>0}static checkRobustInCircle(t,e,r,n){var i=aa.isInCircleNonRobust(t,e,r,n),o=aa.isInCircleDDSlow(t,e,r,n),a=aa.isInCircleCC(t,e,r,n),s=_e.circumcentre(t,e,r);G.out.println("p radius diff a = "+Math.abs(n.distance(s)-t.distance(s))/t.distance(s)),i===o&&i===a||(G.out.println("inCircle robustness failure (double result = "+i+", DD result = "+o+", CC result = "+a+")"),G.out.println(he.toLineString(new Kt([t,e,r,n]))),G.out.println("Circumcentre = "+he.toPoint(s)+" radius = "+t.distance(s)),G.out.println("p radius diff a = "+Math.abs(n.distance(s)/t.distance(s)-1)),G.out.println("p radius diff b = "+Math.abs(n.distance(s)/e.distance(s)-1)),G.out.println("p radius diff c = "+Math.abs(n.distance(s)/r.distance(s)-1)),G.out.println())}static isInCircleDDFast(t,e,r,n){var i=j.sqr(t.x).selfAdd(j.sqr(t.y)).selfMultiply(aa.triAreaDDFast(e,r,n)),o=j.sqr(e.x).selfAdd(j.sqr(e.y)).selfMultiply(aa.triAreaDDFast(t,r,n)),a=j.sqr(r.x).selfAdd(j.sqr(r.y)).selfMultiply(aa.triAreaDDFast(t,e,n)),s=j.sqr(n.x).selfAdd(j.sqr(n.y)).selfMultiply(aa.triAreaDDFast(t,e,r));return i.selfSubtract(o).selfAdd(a).selfSubtract(s).doubleValue()>0}static isInCircleCC(t,e,r,n){var i=_e.circumcentre(t,e,r),o=t.distance(i);return n.distance(i)-o<=0}static isInCircleNormalized(t,e,r,n){var i=t.x-n.x,o=t.y-n.y,a=e.x-n.x,s=e.y-n.y,l=r.x-n.x,u=r.y-n.y;return(i*i+o*o)*(a*u-l*s)+(a*a+s*s)*(l*o-i*u)+(l*l+u*u)*(i*s-a*o)>0}static isInCircleDDSlow(t,e,r,n){var i=j.valueOf(n.x),o=j.valueOf(n.y),a=j.valueOf(t.x),s=j.valueOf(t.y),l=j.valueOf(e.x),u=j.valueOf(e.y),c=j.valueOf(r.x),h=j.valueOf(r.y),f=a.multiply(a).add(s.multiply(s)).multiply(aa.triAreaDDSlow(l,u,c,h,i,o)),p=l.multiply(l).add(u.multiply(u)).multiply(aa.triAreaDDSlow(a,s,c,h,i,o)),d=c.multiply(c).add(h.multiply(h)).multiply(aa.triAreaDDSlow(a,s,l,u,i,o)),g=i.multiply(i).add(o.multiply(o)).multiply(aa.triAreaDDSlow(a,s,l,u,c,h));return f.subtract(p).add(d).subtract(g).doubleValue()>0}static isInCircleNonRobust(t,e,r,n){return(t.x*t.x+t.y*t.y)*aa.triArea(e,r,n)-(e.x*e.x+e.y*e.y)*aa.triArea(t,r,n)+(r.x*r.x+r.y*r.y)*aa.triArea(t,e,n)-(n.x*n.x+n.y*n.y)*aa.triArea(t,e,r)>0}static isInCircleRobust(t,e,r,n){return aa.isInCircleNormalized(t,e,r,n)}static triAreaDDSlow(t,e,r,n,i,o){return r.subtract(t).multiply(o.subtract(e)).subtract(n.subtract(e).multiply(i.subtract(t)))}static triAreaDDFast(t,e,r){var n=j.valueOf(e.x).selfSubtract(t.x).selfMultiply(j.valueOf(r.y).selfSubtract(t.y)),i=j.valueOf(e.y).selfSubtract(t.y).selfMultiply(j.valueOf(r.x).selfSubtract(t.x));return n.selfSubtract(i)}getClass(){return aa}get interfaces_(){return[]}}aa.constructor_=function(){};class sa{constructor(){sa.constructor_.apply(this,arguments)}static interpolateZ(){if(3===arguments.length){let n=arguments[0],i=arguments[1],o=arguments[2];var t=i.distance(o),e=n.distance(i),r=o.z-i.z;return i.z+r*(e/t)}if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],d=arguments[3];var n=e.x,i=e.y,o=r.x-n,a=d.x-n,s=r.y-i,l=d.y-i,u=o*l-a*s,c=t.x-n,h=t.y-i,f=(l*c-a*h)/u,p=(-s*c+o*h)/u;return e.z+f*(r.z-e.z)+p*(d.z-e.z)}}circleCenter(t,e){var r=new sa(this.getX(),this.getY()),n=this.bisector(r,t),i=this.bisector(t,e),o=new U(n,i),a=null;try{a=new sa(o.getX(),o.getY())}catch(n){if(!(n instanceof M))throw n;G.err.println("a: "+r+" b: "+t+" c: "+e),G.err.println(n)}return a}dot(t){return this._p.x*t.getX()+this._p.y*t.getY()}magn(){return Math.sqrt(this._p.x*this._p.x+this._p.y*this._p.y)}getZ(){return this._p.z}bisector(t,e){var r=e.getX()-t.getX(),n=e.getY()-t.getY(),i=new U(t.getX()+r/2,t.getY()+n/2,1),o=new U(t.getX()-n+r/2,t.getY()+r+n/2,1);return new U(i,o)}equals(){if(1===arguments.length){let t=arguments[0];return this._p.x===t.getX()&&this._p.y===t.getY()}if(2===arguments.length){let t=arguments[0],e=arguments[1];return this._p.distance(t.getCoordinate())0}getX(){return this._p.x}crossProduct(t){return this._p.x*t.getY()-this._p.y*t.getX()}setZ(t){this._p.z=t}times(t){return new sa(t*this._p.x,t*this._p.y)}cross(){return new sa(this._p.y,-this._p.x)}leftOf(t){return this.isCCW(t.orig(),t.dest())}toString(){return"POINT ("+this._p.x+" "+this._p.y+")"}sub(t){return new sa(this._p.x-t.getX(),this._p.y-t.getY())}getY(){return this._p.y}classify(t,e){var r=e.sub(t),n=this.sub(t),i=r.crossProduct(n);return i>0?sa.LEFT:i<0?sa.RIGHT:r.getX()*n.getX()<0||r.getY()*n.getY()<0?sa.BEHIND:r.magn()0};class ha{constructor(){ha.constructor_.apply(this,arguments)}locate(t){}getClass(){return ha}get interfaces_(){return[]}}ha.constructor_=function(){};class fa{constructor(){fa.constructor_.apply(this,arguments)}init(){this._lastEdge=this.findEdge()}locate(t){this._lastEdge.isLive()||this.init();var e=this._subdiv.locateFromEdge(t,this._lastEdge);return this._lastEdge=e,e}findEdge(){return this._subdiv.getEdges().iterator().next()}getClass(){return fa}get interfaces_(){return[ha]}}fa.constructor_=function(){this._subdiv=null,this._lastEdge=null;let t=arguments[0];this._subdiv=t,this.init()};class pa extends g{constructor(){super(),pa.constructor_.apply(this,arguments)}static msgWithSpatial(t,e){return null!==e?t+" [ "+e+" ]":t}getSegment(){return this._seg}getClass(){return pa}get interfaces_(){return[]}}pa.constructor_=function(){if(this._seg=null,1===arguments.length){if("string"==typeof arguments[0]){let t=arguments[0];g.constructor_.call(this,t)}else if(arguments[0]instanceof de){let t=arguments[0];g.constructor_.call(this,"Locate failed to converge (at edge: "+t+"). Possible causes include invalid Subdivision topology or very close sites"),this._seg=new de(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];g.constructor_.call(this,pa.msgWithSpatial(t,e)),this._seg=new de(e)}};class da{constructor(){da.constructor_.apply(this,arguments)}visit(t){}getClass(){return da}get interfaces_(){return[]}}da.constructor_=function(){};class ga{constructor(){ga.constructor_.apply(this,arguments)}static getTriangleEdges(t,e){if(e[0]=t,e[1]=e[0].lNext(),e[2]=e[1].lNext(),e[2].lNext()!==e[0])throw new r("Edges do not form a triangle")}getTriangleVertices(t){var e=new _a;return this.visitTriangles(e,t),e.getTriangleVertices()}isFrameVertex(t){return!!t.equals(this._frameVertex[0])||!!t.equals(this._frameVertex[1])||!!t.equals(this._frameVertex[2])}isVertexOfEdge(t,e){return!(!e.equals(t.orig(),this._tolerance)&&!e.equals(t.dest(),this._tolerance))}connect(t,e){var r=ua.connect(t,e);return this._quadEdges.add(r),r}getVoronoiCellPolygon(t,e){var r=new C,n=t;do{var i=t.rot().orig().getCoordinate();r.add(i),t=t.oPrev()}while(t!==n);var o=new P;o.addAll(r,!1),o.closeRing(),o.size()<4&&(G.out.println(o),o.add(o.get(o.size()-1),!0));var a=o.toCoordinateArray(),s=e.createPolygon(e.createLinearRing(a)),l=n.orig();return s.setUserData(l.getCoordinate()),s}setLocator(t){this._locator=t}initSubdiv(){var t=this.makeEdge(this._frameVertex[0],this._frameVertex[1]),e=this.makeEdge(this._frameVertex[1],this._frameVertex[2]);ua.splice(t.sym(),e);var r=this.makeEdge(this._frameVertex[2],this._frameVertex[0]);return ua.splice(e.sym(),r),ua.splice(r.sym(),t),t}isFrameBorderEdge(t){var e=new Array(3).fill(null);ga.getTriangleEdges(t,e);var r=new Array(3).fill(null);ga.getTriangleEdges(t.sym(),r);var n=t.lNext().dest();if(this.isFrameVertex(n))return!0;var i=t.sym().lNext().dest();return!!this.isFrameVertex(i)}makeEdge(t,e){var r=ua.makeEdge(t,e);return this._quadEdges.add(r),r}visitTriangles(t,e){this._visitedKey++;var r=new Je;r.push(this._startingEdge);for(var n=new ot;!r.empty();){var i=r.pop();if(!n.contains(i)){var o=this.fetchTriangleToVisit(i,r,e,n);null!==o&&t.visit(o)}}}isFrameEdge(t){return!(!this.isFrameVertex(t.orig())&&!this.isFrameVertex(t.dest()))}isOnEdge(t,e){return this._seg.setCoordinates(t.orig().getCoordinate(),t.dest().getCoordinate()),this._seg.distance(e)r?10*e:10*r,this._frameVertex[0]=new sa((t.getMaxX()+t.getMinX())/2,t.getMaxY()+n),this._frameVertex[1]=new sa(t.getMinX()-n,t.getMinY()-n),this._frameVertex[2]=new sa(t.getMaxX()+n,t.getMinY()-n),this._frameEnv=new R(this._frameVertex[0].getCoordinate(),this._frameVertex[1].getCoordinate()),this._frameEnv.expandToInclude(this._frameVertex[2].getCoordinate())}getTriangleCoordinates(t){var e=new va;return this.visitTriangles(e,t),e.getTriangles()}getVertices(t){for(var e=new ot,r=this._quadEdges.iterator();r.hasNext();){var n=r.next(),i=n.orig();!t&&this.isFrameVertex(i)||e.add(i);var o=n.dest();!t&&this.isFrameVertex(o)||e.add(o)}return e}fetchTriangleToVisit(t,e,r,n){var i=t,o=0,a=!1;do{this._triEdges[o]=i,this.isFrameEdge(i)&&(a=!0);var s=i.sym();n.contains(s)||e.push(s),n.add(i),o++,i=i.lNext()}while(i!==t);return a&&!r?null:this._triEdges}getEdges(){if(0===arguments.length)return this._quadEdges;if(1===arguments.length){let o=arguments[0];for(var t=this.getPrimaryEdges(!1),e=new Array(t.size()).fill(null),r=0,n=t.iterator();n.hasNext();){var i=n.next();e[r++]=o.createLineString([i.orig().getCoordinate(),i.dest().getCoordinate()])}return o.createMultiLineString(e)}}getVertexUniqueEdges(t){for(var e=new C,r=new ot,n=this._quadEdges.iterator();n.hasNext();){var i=n.next(),o=i.orig();r.contains(o)||(r.add(o),!t&&this.isFrameVertex(o)||e.add(i));var a=i.sym(),s=a.orig();r.contains(s)||(r.add(s),!t&&this.isFrameVertex(s)||e.add(a))}return e}getTriangleEdges(t){var e=new ma;return this.visitTriangles(e,t),e.getTriangleEdges()}getPrimaryEdges(t){this._visitedKey++;var e=new C,r=new Je;r.push(this._startingEdge);for(var n=new ot;!r.empty();){var i=r.pop();if(!n.contains(i)){var o=i.getPrimary();!t&&this.isFrameEdge(o)||e.add(o),r.push(i.oNext()),r.push(i.sym().oNext()),n.add(i),n.add(i.sym())}}return e}delete(t){ua.splice(t,t.oPrev()),ua.splice(t.sym(),t.sym().oPrev());var e=t.sym(),r=t.rot(),n=t.rot().sym();this._quadEdges.remove(t),this._quadEdges.remove(e),this._quadEdges.remove(r),this._quadEdges.remove(n),t.delete(),e.delete(),r.delete(),n.delete()}locateFromEdge(t,e){for(var r=0,n=this._quadEdges.size(),i=e;;){if(++r>n)throw new pa(i.toLineSegment());if(t.equals(i.orig())||t.equals(i.dest()))break;if(t.rightOf(i))i=i.sym();else if(t.rightOf(i.oNext())){if(t.rightOf(i.dPrev()))break;i=i.dPrev()}else i=i.oNext()}return i}getTolerance(){return this._tolerance}getVoronoiCellPolygons(t){this.visitTriangles(new ya,!0);for(var e=new C,r=this.getVertexUniqueEdges(!1).iterator();r.hasNext();){var n=r.next();e.add(this.getVoronoiCellPolygon(n,t))}return e}getVoronoiDiagram(t){var e=this.getVoronoiCellPolygons(t);return t.createGeometryCollection(ae.toGeometryArray(e))}getTriangles(t){for(var e=this.getTriangleCoordinates(!1),r=new Array(e.size()).fill(null),n=0,i=e.iterator();i.hasNext();){var o=i.next();r[n++]=t.createPolygon(t.createLinearRing(o))}return t.createGeometryCollection(r)}insertSite(t){var e=this.locate(t);if(t.equals(e.orig(),this._tolerance)||t.equals(e.dest(),this._tolerance))return e;var r=this.makeEdge(e.orig(),t);ua.splice(r,e);var n=r;do{e=(r=this.connect(e,r.sym())).oPrev()}while(e.lNext()!==n);return n}locate(){if(1===arguments.length){if(arguments[0]instanceof sa){let t=arguments[0];return this._locator.locate(t)}if(arguments[0]instanceof _){let t=arguments[0];return this._locator.locate(new sa(t))}}else if(2===arguments.length){let n=arguments[0],i=arguments[1];var t=this._locator.locate(new sa(n));if(null===t)return null;var e=t;t.dest().getCoordinate().equals2D(n)&&(e=t.sym());var r=e;do{if(r.dest().getCoordinate().equals2D(i))return r;r=r.oNext()}while(r!==e);return null}}getClass(){return ga}get interfaces_(){return[]}}class ya{constructor(){ya.constructor_.apply(this,arguments)}visit(t){for(var e=t[0].orig().getCoordinate(),r=t[1].orig().getCoordinate(),n=t[2].orig().getCoordinate(),i=_e.circumcentre(e,r,n),o=new sa(i),a=0;a<3;a++)t[a].rot().setOrig(o)}getClass(){return ya}get interfaces_(){return[da]}}ya.constructor_=function(){};class ma{constructor(){ma.constructor_.apply(this,arguments)}getTriangleEdges(){return this._triList}visit(t){this._triList.add(t)}getClass(){return ma}get interfaces_(){return[da]}}ma.constructor_=function(){this._triList=new C};class _a{constructor(){_a.constructor_.apply(this,arguments)}visit(t){this._triList.add([t[0].orig(),t[1].orig(),t[2].orig()])}getTriangleVertices(){return this._triList}getClass(){return _a}get interfaces_(){return[da]}}_a.constructor_=function(){this._triList=new C};class va{constructor(){va.constructor_.apply(this,arguments)}checkTriangleSize(t){t.length>=2?he.toLineString(t[0],t[1]):t.length>=1&&he.toPoint(t[0])}visit(t){this._coordList.clear();for(var e=0;e<3;e++){var r=t[e].orig();this._coordList.add(r.getCoordinate())}if(this._coordList.size()>0){this._coordList.closeRing();var n=this._coordList.toCoordinateArray();if(4!==n.length)return null;this._triCoords.add(n)}}getTriangles(){return this._triCoords}getClass(){return va}get interfaces_(){return[da]}}va.constructor_=function(){this._coordList=new P,this._triCoords=new C},ga.TriangleCircumcentreVisitor=ya,ga.TriangleEdgesListVisitor=ma,ga.TriangleVertexListVisitor=_a,ga.TriangleCoordinatesVisitor=va,ga.constructor_=function(){this._visitedKey=0,this._quadEdges=new C,this._startingEdge=null,this._tolerance=null,this._edgeCoincidenceTolerance=null,this._frameVertex=new Array(3).fill(null),this._frameEnv=null,this._locator=null,this._seg=new de,this._triEdges=new Array(3).fill(null);let t=arguments[0],e=arguments[1];this._tolerance=e,this._edgeCoincidenceTolerance=e/ga.EDGE_COINCIDENCE_TOL_FACTOR,this.createFrame(t),this._startingEdge=this.initSubdiv(),this._locator=new fa(this)},ga.EDGE_COINCIDENCE_TOL_FACTOR=1e3;class ba{constructor(){ba.constructor_.apply(this,arguments)}getLineSegment(){return this._ls}getEndZ(){return this._ls.getCoordinate(1).z}getStartZ(){return this._ls.getCoordinate(0).z}intersection(t){return this._ls.intersection(t.getLineSegment())}getStart(){return this._ls.getCoordinate(0)}getEnd(){return this._ls.getCoordinate(1)}getEndY(){return this._ls.getCoordinate(1).y}getStartX(){return this._ls.getCoordinate(0).x}equalsTopo(t){return this._ls.equalsTopo(t.getLineSegment())}getStartY(){return this._ls.getCoordinate(0).y}setData(t){this._data=t}getData(){return this._data}getEndX(){return this._ls.getCoordinate(1).x}toString(){return this._ls.toString()}getClass(){return ba}get interfaces_(){return[]}}ba.constructor_=function(){if(this._ls=null,this._data=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._ls=new de(t,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._ls=new de(t,e),this._data=r}else if(6===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3],i=arguments[4],o=arguments[5];ba.constructor_.call(this,new _(t,e,r),new _(n,i,o))}else if(7===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3],i=arguments[4],o=arguments[5],a=arguments[6];ba.constructor_.call(this,new _(t,e,r),new _(n,i,o),a)}};class xa{constructor(){xa.constructor_.apply(this,arguments)}static computeVertexEnvelope(t){for(var e=new R,r=t.iterator();r.hasNext();){var n=r.next();e.expandToInclude(n.getCoordinate())}return e}getInitialVertices(){return this._initialVertices}getKDT(){return this._kdt}enforceConstraints(){this.addConstraintVertices();var t=0,e=0;do{e=this.enforceGabriel(this._segments),t++}while(e>0&&t=1)return e;var n=(e.x-t.x)*r+t.x,i=(e.y-t.y)*r+t.y,o=(e.z-t.z)*r+t.z;return new _(n,i,o)}static compareLocationValues(t,e,r,n,i,o){return tn?1:ei?1:ro?1:0}getSegmentIndex(){return this._segmentIndex}getComponentIndex(){return this._componentIndex}isEndpoint(t){var e=t.getGeometryN(this._componentIndex).getNumPoints()-1;return this._segmentIndex>=e||this._segmentIndex===e&&this._segmentFraction>=1}isValid(t){if(this._componentIndex<0||this._componentIndex>=t.getNumGeometries())return!1;var e=t.getGeometryN(this._componentIndex);return!(this._segmentIndex<0||this._segmentIndex>e.getNumPoints()||this._segmentIndex===e.getNumPoints()&&0!==this._segmentFraction||this._segmentFraction<0||this._segmentFraction>1)}normalize(){this._segmentFraction<0&&(this._segmentFraction=0),this._segmentFraction>1&&(this._segmentFraction=1),this._componentIndex<0&&(this._componentIndex=0,this._segmentIndex=0,this._segmentFraction=0),this._segmentIndex<0&&(this._segmentIndex=0,this._segmentFraction=0),1===this._segmentFraction&&(this._segmentFraction=0,this._segmentIndex+=1)}toLowest(t){var e=t.getGeometryN(this._componentIndex).getNumPoints()-1;return this._segmentIndex=e.getNumPoints()-1)return r;var n=e.getCoordinateN(this._segmentIndex+1);return Ca.pointAlongSegmentByFraction(r,n,this._segmentFraction)}getSegmentFraction(){return this._segmentFraction}getSegment(t){var e=t.getGeometryN(this._componentIndex),r=e.getCoordinateN(this._segmentIndex);if(this._segmentIndex>=e.getNumPoints()-1){var n=e.getCoordinateN(e.getNumPoints()-2);return new de(n,r)}var i=e.getCoordinateN(this._segmentIndex+1);return new de(r,i)}clamp(t){if(this._componentIndex>=t.getNumGeometries())return this.setToEnd(t),null;if(this._segmentIndex>=t.getNumPoints()){var e=t.getGeometryN(this._componentIndex);this._segmentIndex=e.getNumPoints()-1,this._segmentFraction=1}}setToEnd(t){this._componentIndex=t.getNumGeometries()-1;var e=t.getGeometryN(this._componentIndex);this._segmentIndex=e.getNumPoints()-1,this._segmentFraction=1}compareTo(t){var e=t;return this._componentIndexe._componentIndex?1:this._segmentIndexe._segmentIndex?1:this._segmentFractione._segmentFraction?1:0}copy(){return new Ca(this._componentIndex,this._segmentIndex,this._segmentFraction)}toString(){return"LinearLoc["+this._componentIndex+", "+this._segmentIndex+", "+this._segmentFraction+"]"}isOnSameSegment(t){return this._componentIndex===t._componentIndex&&(this._segmentIndex===t._segmentIndex||t._segmentIndex-this._segmentIndex==1&&0===t._segmentFraction||this._segmentIndex-t._segmentIndex==1&&0===this._segmentFraction)}snapToVertex(t,e){if(this._segmentFraction<=0||this._segmentFraction>=1)return null;var r=this.getSegmentLength(t),n=this._segmentFraction*r,i=r-n;n<=i&&nt?1:this._segmentIndexe?1:this._segmentFractionr?1:0}getSegmentLength(t){var e=t.getGeometryN(this._componentIndex),r=this._segmentIndex;this._segmentIndex>=e.getNumPoints()-1&&(r=e.getNumPoints()-2);var n=e.getCoordinateN(r),i=e.getCoordinateN(r+1);return n.distance(i)}isVertex(){return this._segmentFraction<=0||this._segmentFraction>=1}getClass(){return Ca}get interfaces_(){return[h]}}Ca.constructor_=function(){if(this._componentIndex=0,this._segmentIndex=0,this._segmentFraction=0,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._componentIndex=t._componentIndex,this._segmentIndex=t._segmentIndex,this._segmentFraction=t._segmentFraction}else if(2===arguments.length){let t=arguments[0],e=arguments[1];Ca.constructor_.call(this,0,t,e)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._componentIndex=t,this._segmentIndex=e,this._segmentFraction=r,this.normalize()}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this._componentIndex=t,this._segmentIndex=e,this._segmentFraction=r,n&&this.normalize()}};class Ta{constructor(){Ta.constructor_.apply(this,arguments)}static segmentEndVertexIndex(t){return t.getSegmentFraction()>0?t.getSegmentIndex()+1:t.getSegmentIndex()}getComponentIndex(){return this._componentIndex}getLine(){return this._currentLine}getVertexIndex(){return this._vertexIndex}getSegmentEnd(){return this._vertexIndex=this._currentLine.getNumPoints()&&(this._componentIndex++,this.loadCurrentLine(),this._vertexIndex=0)}loadCurrentLine(){if(this._componentIndex>=this._numLines)return this._currentLine=null,null;this._currentLine=this._linearGeom.getGeometryN(this._componentIndex)}getSegmentStart(){return this._currentLine.getCoordinateN(this._vertexIndex)}isEndOfLine(){return!(this._componentIndex>=this._numLines||this._vertexIndex=this._numLines||this._componentIndex===this._numLines-1&&this._vertexIndex>=this._currentLine.getNumPoints())}getClass(){return Ta}get interfaces_(){return[]}}Ta.constructor_=function(){if(this._linearGeom=null,this._numLines=null,this._currentLine=null,this._componentIndex=0,this._vertexIndex=0,1===arguments.length){let t=arguments[0];Ta.constructor_.call(this,t,0,0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];Ta.constructor_.call(this,t,e.getComponentIndex(),Ta.segmentEndVertexIndex(e))}else if(3===arguments.length){let t=arguments[0],e=arguments[1],n=arguments[2];if(!b(t,dt))throw new r("Lineal geometry is required");this._linearGeom=t,this._numLines=t.getNumGeometries(),this._componentIndex=e,this._vertexIndex=n,this.loadCurrentLine()}};class Pa{constructor(){Pa.constructor_.apply(this,arguments)}static indexOf(t,e){return new Pa(t).indexOf(e)}static indexOfAfter(t,e,r){return new Pa(t).indexOfAfter(e,r)}indexOf(t){return this.indexOfFromStart(t,null)}indexOfFromStart(t,e){for(var r=i.MAX_VALUE,n=0,o=0,a=-1,s=new de,l=new Ta(this._linearGeom);l.hasNext();l.next())if(!l.isEndOfLine()){s.p0=l.getSegmentStart(),s.p1=l.getSegmentEnd();var u=s.distance(t),c=s.segmentFraction(t),h=l.getComponentIndex(),f=l.getVertexIndex();u=0,"computed location is before specified minimum location"),n}getClass(){return Pa}get interfaces_(){return[]}}Pa.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class Ra{constructor(){Ra.constructor_.apply(this,arguments)}static indicesOf(t,e){return new Ra(t).indicesOf(e)}indicesOf(t){var e=t.getGeometryN(0).getCoordinateN(0),r=t.getGeometryN(t.getNumGeometries()-1),n=r.getCoordinateN(r.getNumPoints()-1),i=new Pa(this._linearGeom),o=new Array(2).fill(null);return o[0]=i.indexOf(e),0===t.getLength()?o[1]=o[0].copy():o[1]=i.indexOfAfter(n,o[0]),o}getClass(){return Ra}get interfaces_(){return[]}}Ra.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class La{constructor(){La.constructor_.apply(this,arguments)}getGeometry(){return this.endLine(),this._geomFact.buildGeometry(this._lines)}getLastCoordinate(){return this._lastPt}endLine(){if(null===this._coordList)return null;if(this._ignoreInvalidLines&&this._coordList.size()<2)return this._coordList=null,null;var t=this._coordList.toCoordinateArray(),e=t;this._fixInvalidLines&&(e=this.validCoordinateSequence(t)),this._coordList=null;var n=null;try{n=this._geomFact.createLineString(e)}catch(t){if(!(t instanceof r))throw t;if(!this._ignoreInvalidLines)throw t}null!==n&&this._lines.add(n)}setFixInvalidLines(t){this._fixInvalidLines=t}add(){if(1===arguments.length){let t=arguments[0];this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];null===this._coordList&&(this._coordList=new P),this._coordList.add(t,e),this._lastPt=t}}setIgnoreInvalidLines(t){this._ignoreInvalidLines=t}validCoordinateSequence(t){return t.length>=2?t:[t[0],t[0]]}getClass(){return La}get interfaces_(){return[]}}La.constructor_=function(){this._geomFact=null,this._lines=new C,this._coordList=null,this._ignoreInvalidLines=!1,this._fixInvalidLines=!1,this._lastPt=null;let t=arguments[0];this._geomFact=t};class Ma{constructor(){Ma.constructor_.apply(this,arguments)}static extract(t,e,r){return new Ma(t).extract(e,r)}computeLinear(t,e){var r=new La(this._line.getFactory());r.setFixInvalidLines(!0),t.isVertex()||r.add(t.getCoordinate(this._line));for(var n=new Ta(this._line,t);n.hasNext()&&!(e.compareLocationValues(n.getComponentIndex(),n.getVertexIndex(),0)<0);n.next()){var i=n.getSegmentStart();r.add(i),n.isEndOfLine()&&r.endLine()}return e.isVertex()||r.add(e.getCoordinate(this._line)),r.getGeometry()}computeLine(t,e){var r=this._line.getCoordinates(),n=new P,i=t.getSegmentIndex();t.getSegmentFraction()>0&&(i+=1);var o=e.getSegmentIndex();1===e.getSegmentFraction()&&(o+=1),o>=r.length&&(o=r.length-1),t.isVertex()||n.add(t.getCoordinate(this._line));for(var a=i;a<=o;a++)n.add(r[a]);e.isVertex()||n.add(e.getCoordinate(this._line)),n.size()<=0&&n.add(t.getCoordinate(this._line));var s=n.toCoordinateArray();return s.length<=1&&(s=[s[0],s[0]]),this._line.getFactory().createLineString(s)}extract(t,e){return e.compareTo(t)<0?this.reverse(this.computeLinear(e,t)):this.computeLinear(t,e)}reverse(t){return t instanceof jt||t instanceof St?t.reverse():(m.shouldNeverReachHere("non-linear geometry encountered"),null)}getClass(){return Ma}get interfaces_(){return[]}}Ma.constructor_=function(){this._line=null;let t=arguments[0];this._line=t};class Aa{constructor(){Aa.constructor_.apply(this,arguments)}clampIndex(t){var e=t.copy();return e.clamp(this._linearGeom),e}project(t){return Pa.indexOf(this._linearGeom,t)}checkGeometryType(){if(!(this._linearGeom instanceof jt||this._linearGeom instanceof St))throw new r("Input geometry must be linear")}extractPoint(){if(1===arguments.length)return arguments[0].getCoordinate(this._linearGeom);if(2===arguments.length){let e=arguments[1];var t=arguments[0].toLowest(this._linearGeom);return t.getSegment(this._linearGeom).pointAlongOffset(t.getSegmentFraction(),e)}}isValidIndex(t){return t.isValid(this._linearGeom)}getEndIndex(){return Ca.getEndLocation(this._linearGeom)}getStartIndex(){return new Ca}indexOfAfter(t,e){return Pa.indexOfAfter(this._linearGeom,t,e)}extractLine(t,e){return Ma.extract(this._linearGeom,t,e)}indexOf(t){return Pa.indexOf(this._linearGeom,t)}indicesOf(t){return Ra.indicesOf(this._linearGeom,t)}getClass(){return Aa}get interfaces_(){return[]}}Aa.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t,this.checkGeometryType()};class Na{constructor(){Na.constructor_.apply(this,arguments)}static indexOf(t,e){return new Na(t).indexOf(e)}static indexOfAfter(t,e,r){return new Na(t).indexOfAfter(e,r)}indexOf(t){return this.indexOfFromStart(t,-1)}indexOfFromStart(t,e){for(var r=i.MAX_VALUE,n=e,o=0,a=new de,s=new Ta(this._linearGeom);s.hasNext();){if(!s.isEndOfLine()){a.p0=s.getSegmentStart(),a.p1=s.getSegmentEnd();var l=a.distance(t),u=this.segmentNearestMeasure(a,t,o);le&&(n=u,r=l),o+=a.getLength()}s.next()}return n}indexOfAfter(t,e){if(e<0)return this.indexOf(t);var r=this._linearGeom.getLength();if(r=e,"computed index is before specified minimum index"),n}segmentNearestMeasure(t,e,r){var n=t.projectionFactor(e);return n<=0?r:n<=1?r+n*t.getLength():r+t.getLength()}getClass(){return Na}get interfaces_(){return[]}}Na.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class ka{constructor(){ka.constructor_.apply(this,arguments)}static getLength(t,e){return new ka(t).getLength(e)}static getLocation(){if(2===arguments.length){let t=arguments[1];return new ka(arguments[0]).getLocation(t)}if(3===arguments.length){let t=arguments[1],e=arguments[2];return new ka(arguments[0]).getLocation(t,e)}}getLength(t){for(var e=0,r=new Ta(this._linearGeom);r.hasNext();){if(!r.isEndOfLine()){var n=r.getSegmentStart(),i=r.getSegmentEnd().distance(n);if(t.getComponentIndex()===r.getComponentIndex()&&t.getSegmentIndex()===r.getVertexIndex())return e+i*t.getSegmentFraction();e+=i}r.next()}return e}resolveHigher(t){if(!t.isEndpoint(this._linearGeom))return t;var e=t.getComponentIndex();if(e>=this._linearGeom.getNumGeometries()-1)return t;do{e++}while(et){var s=(t-e)/a;return n=r.getComponentIndex(),i=r.getVertexIndex(),new Ca(n,i,s)}e+=a}r.next()}return Ca.getEndLocation(this._linearGeom)}getClass(){return ka}get interfaces_(){return[]}}ka.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};class ja{constructor(){ja.constructor_.apply(this,arguments)}clampIndex(t){var e=this.positiveIndex(t),r=this.getStartIndex();if(en?n:e}locationOf(){if(1===arguments.length){let t=arguments[0];return ka.getLocation(this._linearGeom,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return ka.getLocation(this._linearGeom,t,e)}}project(t){return Na.indexOf(this._linearGeom,t)}positiveIndex(t){return t>=0?t:this._linearGeom.getLength()+t}extractPoint(){if(1===arguments.length){let t=arguments[0];return ka.getLocation(this._linearGeom,t).getCoordinate(this._linearGeom)}if(2===arguments.length){let e=arguments[0],r=arguments[1];var t=ka.getLocation(this._linearGeom,e).toLowest(this._linearGeom);return t.getSegment(this._linearGeom).pointAlongOffset(t.getSegmentFraction(),r)}}isValidIndex(t){return t>=this.getStartIndex()&&t<=this.getEndIndex()}getEndIndex(){return this._linearGeom.getLength()}getStartIndex(){return 0}indexOfAfter(t,e){return Na.indexOfAfter(this._linearGeom,t,e)}extractLine(t,e){new Aa(this._linearGeom);var r=this.clampIndex(t),n=this.clampIndex(e),i=r===n,o=this.locationOf(r,i),a=this.locationOf(n);return Ma.extract(this._linearGeom,o,a)}indexOf(t){return Na.indexOf(this._linearGeom,t)}indicesOf(t){var e=Ra.indicesOf(this._linearGeom,t);return[ka.getLength(this._linearGeom,e[0]),ka.getLength(this._linearGeom,e[1])]}getClass(){return ja}get interfaces_(){return[]}}ja.constructor_=function(){this._linearGeom=null;let t=arguments[0];this._linearGeom=t};var Fa=Object.freeze({LengthIndexedLine:ja,LengthLocationMap:ka,LinearGeometryBuilder:La,LinearIterator:Ta,LinearLocation:Ca,LocationIndexedLine:Aa});class Da{get interfaces_(){return[]}getClass(){return Da}static union(t,e){if(t.isEmpty()||e.isEmpty()){if(t.isEmpty()&&e.isEmpty())return eo.createEmptyResult(eo.UNION,t,e,t.getFactory());if(t.isEmpty())return e.copy();if(e.isEmpty())return t.copy()}return t.checkNotGeometryCollection(t),t.checkNotGeometryCollection(e),$i.overlayOp(t,e,eo.UNION)}}W.prototype.equalsTopo=function(t){return!!this.getEnvelopeInternal().equals(t.getEnvelopeInternal())&&Oo.relate(this,t).isEquals(this.getDimension(),t.getDimension())},W.prototype.union=function(){if(0===arguments.length)return Lo.union(this);if(1===arguments.length){let t=arguments[0];return Da.union(this,t)}},W.prototype.isValid=function(){return Do.isValid(this)},W.prototype.intersection=function(t){if(this.isEmpty()||t.isEmpty())return eo.createEmptyResult(eo.INTERSECTION,this,t,this._factory);if(this.isGeometryCollection()){var e=t;return zi.map(this,{interfaces_:[MapOp],map:function(t){return t.intersection(e)}})}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$i.overlayOp(this,t,eo.INTERSECTION)},W.prototype.covers=function(t){return Oo.covers(this,t)},W.prototype.coveredBy=function(t){return Oo.covers(t,this)},W.prototype.touches=function(t){return Oo.touches(this,t)},W.prototype.intersects=function(t){return Oo.intersects(this,t)},W.prototype.within=function(t){return Oo.contains(t,this)},W.prototype.overlaps=function(t){return Oo.overlaps(this,t)},W.prototype.disjoint=function(t){return Oo.disjoint(this,t)},W.prototype.crosses=function(t){return Oo.crosses(this,t)},W.prototype.buffer=function(){if(1===arguments.length){let t=arguments[0];return mi.bufferOp(this,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return mi.bufferOp(this,t,e)}if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return mi.bufferOp(this,t,e,r)}},W.prototype.convexHull=function(){return new $e(this).getConvexHull()},W.prototype.relate=function(...t){if(1===arguments.length){let t=arguments[0];return Oo.relate(this,t)}if(2===arguments.length){let t=arguments[0],e=arguments[1];return Oo.relate(this,t).matches(e)}},W.prototype.getCentroid=function(){if(this.isEmpty())return this._factory.createPoint();var t=Ze.getCentroid(this);return this.createPointFromInternalCoord(t,this)},W.prototype.getInteriorPoint=function(){if(this.isEmpty())return this._factory.createPoint();var t=null,e=this.getDimension();return t=0===e?new ir(this).getInteriorPoint():1===e?new nr(this).getInteriorPoint():new er(this).getInteriorPoint(),this.createPointFromInternalCoord(t,this)},W.prototype.symDifference=function(t){if(this.isEmpty()||t.isEmpty()){if(this.isEmpty()&&t.isEmpty())return eo.createEmptyResult(eo.SYMDIFFERENCE,this,t,this._factory);if(this.isEmpty())return t.copy();if(t.isEmpty())return this.copy()}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$i.overlayOp(this,t,eo.SYMDIFFERENCE)},W.prototype.createPointFromInternalCoord=function(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)},W.prototype.toText=function(){return(new he).write(this)},W.prototype.toString=function(){this.toText()},W.prototype.contains=function(t){return Oo.contains(this,t)},W.prototype.difference=function(t){return this.isEmpty()?eo.createEmptyResult(eo.DIFFERENCE,this,t,this._factory):t.isEmpty()?this.copy():(this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(t),$i.overlayOp(this,t,eo.DIFFERENCE))},W.prototype.isSimple=function(){return new Gn(this).isSimple()},W.prototype.isWithinDistance=function(t,e){return!(this.getEnvelopeInternal().distance(t.getEnvelopeInternal())>e)&&Ei.isWithinDistance(this,t,e)},W.prototype.distance=function(t){return Ei.distance(this,t)},W.prototype.isEquivalentClass=function(t){return this.getClass()===t.getClass()},t.version="2.0.2 (f363091)",t.algorithm=sr,t.densify=hr,t.dissolve=vr,t.geom=ve,t.geomgraph=qr,t.index=yn,t.io=wn,t.noding=Dn,t.operation=Uo,t.precision=Vo,t.simplify=ra,t.triangulate=Ia,t.linearref=Fa,Object.defineProperty(t,"__esModule",{value:!0})}(e)},function(t,e,r){"use strict";r.r(e);var n={};r.r(n),r.d(n,"LEFT",(function(){return Gy})),r.d(n,"CENTER",(function(){return Uy})),r.d(n,"RIGHT",(function(){return By})),r.d(n,"JUSTIFY",(function(){return zy}));var i={};r.r(i),r.d(i,"TOP",(function(){return Vy})),r.d(i,"MIDDLE",(function(){return qy})),r.d(i,"BOTTOM",(function(){return Yy})),r.d(i,"ALPHABETIC",(function(){return Wy})),r.d(i,"HANGING",(function(){return Xy})),r.d(i,"IDEOGRAPHIC",(function(){return Hy}));var o={};r.r(o),r.d(o,"show",(function(){return Ux})),r.d(o,"info",(function(){return Bx})),r.d(o,"error",(function(){return zx})),r.d(o,"success",(function(){return Vx}));var a={};r.r(a),r.d(a,"POINT",(function(){return ZA})),r.d(a,"LINE",(function(){return KA})),r.d(a,"POLYGON",(function(){return JA})),r.d(a,"MPOINT",(function(){return QA})),r.d(a,"MLINE",(function(){return $A})),r.d(a,"MPOLYGON",(function(){return tN}));var s=r(29),l=r.n(s),u=r(1),c=function(t,e,r){var n=Object(u.o)(e),i=Object(u.o)(r);return Object(u.z)(t,n,i)},h=r(5),f="http://www.w3.org/2001/XMLSchema-instance";function p(t,e){return j().createElementNS(t,e)}function d(t,e){return g(t,e,[]).join("")}function g(t,e,r){if(t.nodeType==Node.CDATA_SECTION_NODE||t.nodeType==Node.TEXT_NODE)e?r.push(String(t.nodeValue).replace(/(\r\n|\r|\n)/g,"")):r.push(t.nodeValue);else{var n=void 0;for(n=t.firstChild;n;n=n.nextSibling)g(n,e,r)}return r}function y(t){return"documentElement"in t}function m(t){return(new DOMParser).parseFromString(t,"application/xml")}function _(t,e){return function(r,n){var i=t.call(void 0!==e?e:this,r,n);if(void 0!==i){var o=n[n.length-1];Object(h.c)(o,i)}}}function v(t,e){return function(r,n){var i=t.call(void 0!==e?e:this,r,n);void 0!==i&&n[n.length-1].push(i)}}function b(t,e){return function(r,n){var i=t.call(void 0!==e?e:this,r,n);void 0!==i&&(n[n.length-1]=i)}}function x(t,e,r){return function(n,i){var o=t.call(void 0!==r?r:this,n,i);if(void 0!==o){var a=i[i.length-1],s=void 0!==e?e:n.localName,l=void 0;s in a?l=a[s]:(l=[],a[s]=l),l.push(o)}}}function w(t,e,r){return function(n,i){var o=t.call(void 0!==r?r:this,n,i);void 0!==o&&(i[i.length-1][void 0!==e?e:n.localName]=o)}}function E(t,e){return function(r,n,i){t.call(void 0!==e?e:this,r,n,i),i[i.length-1].node.appendChild(r)}}function S(t,e){var r,n;return function(e,i,o){if(void 0===r){r={};var a={};a[e.localName]=t,r[e.namespaceURI]=a,n=O(e.localName)}L(r,n,i,o)}}function O(t,e){var r=t;return function(t,n,i){var o=n[n.length-1].node,a=r;return void 0===a&&(a=i),p(void 0!==e?e:o.namespaceURI,a)}}var I=O();function C(t,e){for(var r=e.length,n=new Array(r),i=0;i=this.text.length)return;t=this.text[this.place++]}switch(this.state){case 1:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},ne.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(ee.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},ne.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=1)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=1,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},ne.prototype.number=function(t){if(!re.test(t)){if(ee.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t},ne.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5},ne.prototype.keyword=function(t){if(te.test(t))this.word+=t;else{if("["===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=1)}if(!ee.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t)}},ne.prototype.neutral=function(t){if($t.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(re.test(t))return this.word=t,void(this.state=3);if(!ee.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t)},ne.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1)}(i),i};function le(t){var e=this;if(2===arguments.length){var r=arguments[1];"string"==typeof r?"+"===r.charAt(0)?le[t]=Kt(arguments[1]):le[t]=se(arguments[1]):le[t]=r}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?le.apply(e,t):le(t)}));if("string"==typeof t){if(t in le)return le[t]}else"EPSG"in t?le["EPSG:"+t.EPSG]=t:"ESRI"in t?le["ESRI:"+t.ESRI]=t:"IAU2000"in t?le["IAU2000:"+t.IAU2000]=t:console.log(t);return}}!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}(le);var ue=le;var ce=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];var he=["3857","900913","3785","102113"];var fe=function(t){if(!function(t){return"string"==typeof t}(t))return t;if(function(t){return t in ue}(t))return ue[t];if(function(t){return ce.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=se(t);if(function(t){var e=Zt(t,"authority");if(e){var r=Zt(e,"epsg");return r&&he.indexOf(r)>-1}}(e))return ue["EPSG:3857"];var r=function(t){var e=Zt(t,"extension");if(e)return Zt(e,"proj4")}(e);return r?Kt(r):e}return function(t){return"+"===t[0]}(t)?Kt(t):void 0},pe=function(t,e){var r,n;if(t=t||{},!e)return t;for(n in e)void 0!==(r=e[n])&&(t[n]=r);return t},de=function(t,e,r){var n=t*e;return r/Math.sqrt(1-n*n)},ge=function(t){return t<0?-1:1},ye=function(t){return Math.abs(t)<=Yt?t:t-ge(t)*qt},me=function(t,e,r){var n=t*r,i=.5*t;return n=Math.pow((1-n)/(1+n),i),Math.tan(.5*(Gt-e))/n},_e=function(t,e){for(var r,n,i=.5*t,o=Gt-2*Math.atan(e),a=0;a<=15;a++)if(r=t*Math.sin(o),o+=n=Gt-2*Math.atan(e*Math.pow((1-r)/(1+r),i))-o,Math.abs(n)<=1e-10)return o;return-9999};function ve(t){return t}var be=[{init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=de(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(t){var e,r,n=t.x,i=t.y;if(i*zt>90&&i*zt<-90&&n*zt>180&&n*zt<-180)return null;if(Math.abs(Math.abs(i)-Gt)<=Ut)return null;if(this.sphere)e=this.x0+this.a*this.k0*ye(n-this.long0),r=this.y0+this.a*this.k0*Math.log(Math.tan(Vt+.5*i));else{var o=Math.sin(i),a=me(this.e,i,o);e=this.x0+this.a*this.k0*ye(n-this.long0),r=this.y0-this.a*this.k0*Math.log(a)}return t.x=e,t.y=r,t},inverse:function(t){var e,r,n=t.x-this.x0,i=t.y-this.y0;if(this.sphere)r=Gt-2*Math.atan(Math.exp(-i/(this.a*this.k0)));else{var o=Math.exp(-i/(this.a*this.k0));if(-9999===(r=_e(this.e,o)))return null}return e=ye(this.long0+n/(this.a*this.k0)),t.x=e,t.y=r,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:ve,inverse:ve,names:["longlat","identity"]}],xe={},we=[];function Ee(t,e){var r=we.length;return t.names?(we[r]=t,t.names.forEach((function(t){xe[t.toLowerCase()]=r})),this):(console.log(e),!0)}var Se={start:function(){be.forEach(Ee)},add:Ee,get:function(t){if(!t)return!1;var e=t.toLowerCase();return void 0!==xe[e]&&we[xe[e]]?we[xe[e]]:void 0}},Oe={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},Ie=Oe.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};Oe.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var Ce={};Ce.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},Ce.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},Ce.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},Ce.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},Ce.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},Ce.potsdam={towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},Ce.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},Ce.hermannskogel={towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},Ce.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},Ce.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},Ce.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},Ce.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},Ce.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},Ce.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},Ce.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},Ce.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},Ce.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};var Te=function(t,e,r,n,i,o,a){var s={};return s.datum_type=void 0===t||"none"===t?5:4,e&&(s.datum_params=e.map(parseFloat),0===s.datum_params[0]&&0===s.datum_params[1]&&0===s.datum_params[2]||(s.datum_type=1),s.datum_params.length>3&&(0===s.datum_params[3]&&0===s.datum_params[4]&&0===s.datum_params[5]&&0===s.datum_params[6]||(s.datum_type=2,s.datum_params[3]*=Dt,s.datum_params[4]*=Dt,s.datum_params[5]*=Dt,s.datum_params[6]=s.datum_params[6]/1e6+1))),a&&(s.datum_type=3,s.grids=a),s.a=r,s.b=n,s.es=i,s.ep2=o,s},Pe={};function Re(t){if(0===t.length)return null;var e="@"===t[0];return e&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:Pe[t]||null,isNull:!1}}function Le(t){return t/3600*Math.PI/180}function Me(t,e,r){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,r)))}function Ae(t){return t.map((function(t){return[Le(t.longitudeShift),Le(t.latitudeShift)]}))}function Ne(t,e,r){return{name:Me(t,e+8,e+16).trim(),parent:Me(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,r),upperLatitude:t.getFloat64(e+88,r),lowerLongitude:t.getFloat64(e+104,r),upperLongitude:t.getFloat64(e+120,r),latitudeInterval:t.getFloat64(e+136,r),longitudeInterval:t.getFloat64(e+152,r),gridNodeCount:t.getInt32(e+168,r)}}function ke(t,e,r,n){for(var i=e+176,o=[],a=0;a-1.001*Gt)l=-Gt;else if(l>Gt&&l<1.001*Gt)l=Gt;else{if(l<-Gt)return{x:-1/0,y:-1/0,z:t.z};if(l>Gt)return{x:1/0,y:1/0,z:t.z}}return s>Math.PI&&(s-=2*Math.PI),i=Math.sin(l),a=Math.cos(l),o=i*i,{x:((n=r/Math.sqrt(1-e*o))+u)*a*Math.cos(s),y:(n+u)*a*Math.sin(s),z:(n*(1-e)+u)*i}}function Ge(t,e,r,n){var i,o,a,s,l,u,c,h,f,p,d,g,y,m,_,v=1e-12,b=t.x,x=t.y,w=t.z?t.z:0;if(i=Math.sqrt(b*b+x*x),o=Math.sqrt(b*b+x*x+w*w),i/r1e-24&&y<30);return{x:m,y:Math.atan(d/Math.abs(p)),z:_}}function Ue(t){return 1===t||2===t}var Be=function(t,e,r){if(function(t,e){return t.datum_type===e.datum_type&&!(t.a!==e.a||Math.abs(t.es-e.es)>5e-11)&&(1===t.datum_type?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:2!==t.datum_type||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6])}(t,e))return r;if(5===t.datum_type||5===e.datum_type)return r;var n=t.a,i=t.es;if(3===t.datum_type){if(0!==ze(t,!1,r))return;n=jt,i=Ft}var o=e.a,a=e.b,s=e.es;if(3===e.datum_type&&(o=jt,a=6356752.314,s=Ft),i===s&&n===o&&!Ue(t.datum_type)&&!Ue(e.datum_type))return r;if((r=De(r,i,n),Ue(t.datum_type)&&(r=function(t,e,r){if(1===e)return{x:t.x+r[0],y:t.y+r[1],z:t.z+r[2]};if(2===e){var n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=r[5],u=r[6];return{x:u*(t.x-l*t.y+s*t.z)+n,y:u*(l*t.x+t.y-a*t.z)+i,z:u*(-s*t.x+a*t.y+t.z)+o}}}(r,t.datum_type,t.datum_params)),Ue(e.datum_type)&&(r=function(t,e,r){if(1===e)return{x:t.x-r[0],y:t.y-r[1],z:t.z-r[2]};if(2===e){var n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=r[5],u=r[6],c=(t.x-n)/u,h=(t.y-i)/u,f=(t.z-o)/u;return{x:c+l*h-s*f,y:-l*c+h+a*f,z:s*c-a*h+f}}}(r,e.datum_type,e.datum_params)),r=Ge(r,s,o,a),3===e.datum_type)&&0!==ze(e,!0,r))return;return r};function ze(t,e,r){if(null===t.grids||0===t.grids.length)return console.log("Grid shift grids not found"),-1;for(var n={x:-r.x,y:r.y},i={x:Number.NaN,y:Number.NaN},o=[],a=0;an.y||c>n.x||p1e-12&&Math.abs(a.y)>1e-12);if(l<0)return console.log("Inverse grid shift iterator failed to converge."),n;n.x=ye(o.x+r.ll[0]),n.y=o.y+r.ll[1]}else isNaN(o.x)||(n.x=t.x+o.x,n.y=t.y+o.y);return n}function qe(t,e){var r,n={x:t.x/e.del[0],y:t.y/e.del[1]},i=Math.floor(n.x),o=Math.floor(n.y),a=n.x-1*i,s=n.y-1*o,l={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return l;if(o<0||o>=e.lim[1])return l;r=o*e.lim[0]+i;var u=e.cvs[r][0],c=e.cvs[r][1];r++;var h=e.cvs[r][0],f=e.cvs[r][1];r+=e.lim[0];var p=e.cvs[r][0],d=e.cvs[r][1];r--;var g=e.cvs[r][0],y=e.cvs[r][1],m=a*s,_=a*(1-s),v=(1-a)*(1-s),b=(1-a)*s;return l.x=v*u+_*h+b*g+m*p,l.y=v*c+_*f+b*y+m*d,l}var Ye=function(t,e,r){var n,i,o,a=r.x,s=r.y,l=r.z||0,u={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==r.z)switch(0===o?(n=a,i=-1!=="ew".indexOf(t.axis[o])?"x":"y"):1===o?(n=s,i=-1!=="ns".indexOf(t.axis[o])?"y":"x"):(n=l,i="z"),t.axis[o]){case"e":u[i]=n;break;case"w":u[i]=-n;break;case"n":u[i]=n;break;case"s":u[i]=-n;break;case"u":void 0!==r[i]&&(u.z=n);break;case"d":void 0!==r[i]&&(u.z=-n);break;default:return null}return u},We=function(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e};function Xe(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function He(t,e,r,n){var i,o=void 0!==(r=Array.isArray(r)?We(r):{x:r.x,y:r.y,z:r.z,m:r.m}).z;if(function(t){Xe(t.x),Xe(t.y)}(r),t.datum&&e.datum&&function(t,e){return(1===t.datum.datum_type||2===t.datum.datum_type||3===t.datum.datum_type)&&"WGS84"!==e.datumCode||(1===e.datum.datum_type||2===e.datum.datum_type||3===e.datum.datum_type)&&"WGS84"!==t.datumCode}(t,e)&&(r=He(t,i=new Fe("WGS84"),r,n),t=i),n&&"enu"!==t.axis&&(r=Ye(t,!1,r)),"longlat"===t.projName)r={x:r.x*Bt,y:r.y*Bt,z:r.z||0};else if(t.to_meter&&(r={x:r.x*t.to_meter,y:r.y*t.to_meter,z:r.z||0}),!(r=t.inverse(r)))return;if(t.from_greenwich&&(r.x+=t.from_greenwich),r=Be(t.datum,e.datum,r))return e.from_greenwich&&(r={x:r.x-e.from_greenwich,y:r.y,z:r.z||0}),"longlat"===e.projName?r={x:r.x*zt,y:r.y*zt,z:r.z||0}:(r=e.forward(r),e.to_meter&&(r={x:r.x/e.to_meter,y:r.y/e.to_meter,z:r.z||0})),n&&"enu"!==e.axis?Ye(e,!0,r):(o||delete r.z,r)}var Ze=Fe("WGS84");function Ke(t,e,r,n){var i,o,a;return Array.isArray(r)?(i=He(t,e,r,n)||{x:NaN,y:NaN},r.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name?"number"==typeof i.z?[i.x,i.y,i.z].concat(r.splice(3)):[i.x,i.y,r[2]].concat(r.splice(3)):[i.x,i.y].concat(r.splice(2)):[i.x,i.y]):(o=He(t,e,r,n),2===(a=Object.keys(r)).length||a.forEach((function(n){if(void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name){if("x"===n||"y"===n||"z"===n)return}else if("x"===n||"y"===n)return;o[n]=r[n]})),o)}function Je(t){return t instanceof Fe?t:t.oProj?t.oProj:Fe(t)}var Qe=function(t,e,r){t=Je(t);var n,i=!1;return void 0===e?(e=t,t=Ze,i=!0):(void 0!==e.x||Array.isArray(e))&&(r=e,e=t,t=Ze,i=!0),e=Je(e),r?Ke(t,e,r):(n={forward:function(r,n){return Ke(t,e,r,n)},inverse:function(r,n){return Ke(e,t,r,n)}},i&&(n.oProj=e),n)},$e="AJSAJS",tr="AFAFAF",er=65,rr=73,nr=79,ir=86,or=90,ar={forward:sr,inverse:function(t){var e=hr(dr(t.toUpperCase()));if(e.lat&&e.lon)return[e.lon,e.lat,e.lon,e.lat];return[e.left,e.bottom,e.right,e.top]},toPoint:lr};function sr(t,e){return e=e||5,function(t,e){var r="00000"+t.easting,n="00000"+t.northing;return t.zoneNumber+t.zoneLetter+(p=t.easting,d=t.northing,g=t.zoneNumber,y=pr(g),m=Math.floor(p/1e5),_=Math.floor(d/1e5)%20,i=m,o=_,a=y,s=a-1,l=$e.charCodeAt(s),u=tr.charCodeAt(s),c=l+i-1,h=u+o,f=!1,c>or&&(c=c-or+er-1,f=!0),(c===rr||lrr||(c>rr||lnr||(c>nr||lor&&(c=c-or+er-1),h>ir?(h=h-ir+er-1,f=!0):f=!1,(h===rr||urr||(h>rr||unr||(h>nr||uir&&(h=h-ir+er-1),String.fromCharCode(c)+String.fromCharCode(h))+r.substr(r.length-5,e)+n.substr(n.length-5,e);var i,o,a,s,l,u,c,h,f;var p,d,g,y,m,_}(function(t){var e,r,n,i,o,a,s,l,u=t.lat,c=t.lon,h=6378137,f=.00669438,p=.9996,d=ur(u),g=ur(c);l=Math.floor((c+180)/6)+1,180===c&&(l=60);u>=56&&u<64&&c>=3&&c<12&&(l=32);u>=72&&u<84&&(c>=0&&c<9?l=31:c>=9&&c<21?l=33:c>=21&&c<33?l=35:c>=33&&c<42&&(l=37));s=ur(6*(l-1)-180+3),e=f/(1-f),r=h/Math.sqrt(1-f*Math.sin(d)*Math.sin(d)),n=Math.tan(d)*Math.tan(d),i=e*Math.cos(d)*Math.cos(d),o=Math.cos(d)*(g-s),a=h*((1-f/4-3*f*f/64-5*f*f*f/256)*d-(3*f/8+3*f*f/32+45*f*f*f/1024)*Math.sin(2*d)+(15*f*f/256+45*f*f*f/1024)*Math.sin(4*d)-35*f*f*f/3072*Math.sin(6*d));var y=p*r*(o+(1-n+i)*o*o*o/6+(5-18*n+n*n+72*i-58*e)*o*o*o*o*o/120)+5e5,m=p*(a+r*Math.tan(d)*(o*o/2+(5-n+9*i+4*i*i)*o*o*o*o/24+(61-58*n+n*n+600*i-330*e)*o*o*o*o*o*o/720));u<0&&(m+=1e7);return{northing:Math.round(m),easting:Math.round(y),zoneNumber:l,zoneLetter:fr(u)}}({lat:t[1],lon:t[0]}),e)}function lr(t){var e=hr(dr(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function ur(t){return t*(Math.PI/180)}function cr(t){return t/Math.PI*180}function hr(t){var e=t.northing,r=t.easting,n=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var o,a,s,l,u,c,h,f,p,d=.9996,g=6378137,y=.00669438,m=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=r-5e5,v=e;n<"N"&&(v-=1e7),h=6*(i-1)-180+3,o=.006739496752268451,p=(f=v/d/6367449.145945056)+(3*m/2-27*m*m*m/32)*Math.sin(2*f)+(21*m*m/16-55*m*m*m*m/32)*Math.sin(4*f)+151*m*m*m/96*Math.sin(6*f),a=g/Math.sqrt(1-y*Math.sin(p)*Math.sin(p)),s=Math.tan(p)*Math.tan(p),l=o*Math.cos(p)*Math.cos(p),u=.99330562*g/Math.pow(1-y*Math.sin(p)*Math.sin(p),1.5),c=_/(a*d);var b=p-a*Math.tan(p)/u*(c*c/2-(5+3*s+10*l-4*l*l-9*o)*c*c*c*c/24+(61+90*s+298*l+45*s*s-1.6983531815716497-3*l*l)*c*c*c*c*c*c/720);b=cr(b);var x,w=(c-(1+2*s+l)*c*c*c/6+(5-2*l+28*s-3*l*l+8*o+24*s*s)*c*c*c*c*c/120)/Math.cos(p);if(w=h+cr(w),t.accuracy){var E=hr({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});x={top:E.lat,right:E.lon,bottom:b,left:w}}else x={lat:b,lon:w};return x}function fr(t){var e="Z";return 84>=t&&t>=72?e="X":72>t&&t>=64?e="W":64>t&&t>=56?e="V":56>t&&t>=48?e="U":48>t&&t>=40?e="T":40>t&&t>=32?e="S":32>t&&t>=24?e="R":24>t&&t>=16?e="Q":16>t&&t>=8?e="P":8>t&&t>=0?e="N":0>t&&t>=-8?e="M":-8>t&&t>=-16?e="L":-16>t&&t>=-24?e="K":-24>t&&t>=-32?e="J":-32>t&&t>=-40?e="H":-40>t&&t>=-48?e="G":-48>t&&t>=-56?e="F":-56>t&&t>=-64?e="E":-64>t&&t>=-72?e="D":-72>t&&t>=-80&&(e="C"),e}function pr(t){var e=t%6;return 0===e&&(e=6),e}function dr(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var e,r=t.length,n=null,i="",o=0;!/[A-Z]/.test(e=t.charAt(o));){if(o>=2)throw"MGRSPoint bad conversion from: "+t;i+=e,o++}var a=parseInt(i,10);if(0===o||o+3>r)throw"MGRSPoint bad conversion from: "+t;var s=t.charAt(o++);if(s<="A"||"B"===s||"Y"===s||s>="Z"||"I"===s||"O"===s)throw"MGRSPoint zone letter "+s+" not handled: "+t;n=t.substring(o,o+=2);for(var l=pr(a),u=function(t,e){var r=$e.charCodeAt(e-1),n=1e5,i=!1;for(;r!==t.charCodeAt(0);){if(++r===rr&&r++,r===nr&&r++,r>or){if(i)throw"Bad character: "+t;r=er,i=!0}n+=1e5}return n}(n.charAt(0),l),c=function(t,e){if(t>"V")throw"MGRSPoint given invalid Northing "+t;var r=tr.charCodeAt(e-1),n=0,i=!1;for(;r!==t.charCodeAt(0);){if(++r===rr&&r++,r===nr&&r++,r>ir){if(i)throw"Bad character: "+t;r=er,i=!0}n+=1e5}return n}(n.charAt(1),l);c0&&(f=1e5/Math.pow(10,g),p=t.substring(o,o+g),y=parseFloat(p)*f,d=t.substring(o+g),m=parseFloat(d)*f),{easting:y+u,northing:m+c,zoneLetter:s,zoneNumber:a,accuracy:f}}function gr(t){var e;switch(t){case"C":e=11e5;break;case"D":e=2e6;break;case"E":e=28e5;break;case"F":e=37e5;break;case"G":e=46e5;break;case"H":e=55e5;break;case"J":e=64e5;break;case"K":e=73e5;break;case"L":e=82e5;break;case"M":e=91e5;break;case"N":e=0;break;case"P":e=8e5;break;case"Q":e=17e5;break;case"R":e=26e5;break;case"S":e=35e5;break;case"T":e=44e5;break;case"U":e=53e5;break;case"V":e=62e5;break;case"W":e=7e6;break;case"X":e=79e5;break;default:e=-1}if(e>=0)return e;throw"Invalid zone letter: "+t}function yr(t,e,r){if(!(this instanceof yr))return new yr(t,e,r);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var n=t.split(",");this.x=parseFloat(n[0],10),this.y=parseFloat(n[1],10),this.z=parseFloat(n[2],10)||0}else this.x=t,this.y=e,this.z=r||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}yr.fromMGRS=function(t){return new yr(lr(t))},yr.prototype.toMGRS=function(t){return sr([this.x,this.y],t)};var mr=yr,_r=.046875,vr=.01953125,br=.01068115234375,xr=function(t){var e=[];e[0]=1-t*(.25+t*(_r+t*(vr+t*br))),e[1]=t*(.75-t*(_r+t*(vr+t*br)));var r=t*t;return e[2]=r*(.46875-t*(.013020833333333334+.007120768229166667*t)),r*=t,e[3]=r*(.3645833333333333-.005696614583333333*t),e[4]=r*t*.3076171875,e},wr=function(t,e,r,n){return r*=e,e*=e,n[0]*t-r*(n[1]+e*(n[2]+e*(n[3]+e*n[4])))},Er=function(t,e,r){for(var n=1/(1-e),i=t,o=20;o;--o){var a=Math.sin(i),s=1-e*a*a;if(i-=s=(wr(i,a,Math.cos(i),r)-t)*(s*Math.sqrt(s))*n,Math.abs(s)Ut?Math.tan(o):0,d=Math.pow(p,2),g=Math.pow(d,2);e=1-this.es*Math.pow(s,2),u/=Math.sqrt(e);var y=wr(o,s,l,this.en);r=this.a*(this.k0*u*(1+c/6*(1-d+h+c/20*(5-18*d+g+14*h-58*d*h+c/42*(61+179*g-g*d-479*d)))))+this.x0,n=this.a*(this.k0*(y-this.ml0+s*a*u/2*(1+c/12*(5-d+9*h+4*f+c/30*(61+g-58*d+270*h-330*d*h+c/56*(1385+543*g-g*d-3111*d))))))+this.y0}else{var m=l*Math.sin(a);if(Math.abs(Math.abs(m)-1)=1){if(m-1>Ut)return 93;n=0}else n=Math.acos(n);o<0&&(n=-n),n=this.a*this.k0*(n-this.lat0)+this.y0}return t.x=r,t.y=n,t},inverse:function(t){var e,r,n,i,o=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);if(this.es)if(e=this.ml0+a/this.k0,r=Er(e,this.es,this.en),Math.abs(r)Ut?Math.tan(r):0,c=this.ep2*Math.pow(l,2),h=Math.pow(c,2),f=Math.pow(u,2),p=Math.pow(f,2);e=1-this.es*Math.pow(s,2);var d=o*Math.sqrt(e)/this.k0,g=Math.pow(d,2);n=r-(e*=u)*g/(1-this.es)*.5*(1-g/12*(5+3*f-9*c*f+c-4*h-g/30*(61+90*f-252*c*f+45*p+46*c-g/56*(1385+3633*f+4095*p+1574*p*f)))),i=ye(this.long0+d*(1-g/6*(1+2*f+c-g/20*(5+28*f+24*p+8*c*f+6*c-g/42*(61+662*f+1320*p+720*p*f))))/l)}else n=Gt*ge(a),i=0;else{var y=Math.exp(o/this.k0),m=.5*(y-1/y),_=this.lat0+a/this.k0,v=Math.cos(_);e=Math.sqrt((1-Math.pow(v,2))/(1+Math.pow(m,2))),n=Math.asin(e),a<0&&(n=-n),i=0===m&&0===v?0:ye(Math.atan2(m,v)+this.long0)}return t.x=i,t.y=n,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]},Or=function(t){var e=Math.exp(t);return e=(e-1/e)/2},Ir=function(t,e){t=Math.abs(t),e=Math.abs(e);var r=Math.max(t,e),n=Math.min(t,e)/(r||1);return r*Math.sqrt(1+Math.pow(n,2))},Cr=function(t){var e=Math.abs(t);return e=function(t){var e=1+t,r=e-1;return 0===r?t:t*Math.log(e)/r}(e*(1+e/(Ir(1,e)+1))),t<0?-e:e},Tr=function(t,e){for(var r,n=2*Math.cos(2*e),i=t.length-1,o=t[i],a=0;--i>=0;)r=n*o-a+t[i],a=o,o=r;return e+r*Math.sin(2*e)},Pr=function(t,e,r){for(var n,i,o=Math.sin(e),a=Math.cos(e),s=Or(r),l=function(t){var e=Math.exp(t);return(e+1/e)/2}(r),u=2*a*l,c=-2*o*s,h=t.length-1,f=t[h],p=0,d=0,g=0;--h>=0;)n=d,i=p,f=u*(d=f)-n-c*(p=g)+t[h],g=c*d-i+u*p;return[(u=o*l)*f-(c=a*s)*g,u*g+c*f]};var Rr={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(Sr.init.apply(this),this.forward=Sr.forward,this.inverse=Sr.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),r=e;this.cgb[0]=e*(2+e*(-2/3+e*(e*(116/45+e*(26/45+e*(-2854/675)))-2))),this.cbg[0]=e*(e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))-2),r*=e,this.cgb[1]=r*(7/3+e*(e*(-227/45+e*(2704/315+e*(2323/945)))-1.6)),this.cbg[1]=r*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),r*=e,this.cgb[2]=r*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=r*(-26/15+e*(34/21+e*(1.6+e*(-12686/2835)))),r*=e,this.cgb[3]=r*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=r*(1237/630+e*(e*(-24832/14175)-2.4)),r*=e,this.cgb[4]=r*(4174/315+e*(-144838/6237)),this.cbg[4]=r*(-734/315+e*(109598/31185)),r*=e,this.cgb[5]=r*(601676/22275),this.cbg[5]=r*(444337/155925),r=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+r*(1/4+r*(1/64+r/256))),this.utg[0]=e*(e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))-.5),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=r*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=r*(13/48+e*(e*(557/1440+e*(281/630+e*(-1983433/1935360)))-.6)),r*=e,this.utg[2]=r*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=r*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),r*=e,this.utg[3]=r*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=r*(49561/161280+e*(-179/168+e*(6601661/7257600))),r*=e,this.utg[4]=r*(-4583/161280+e*(108847/3991680)),this.gtu[4]=r*(34729/80640+e*(-3418889/1995840)),r*=e,this.utg[5]=r*(-20648693/638668800),this.gtu[5]=.6650675310896665*r;var n=Tr(this.cbg,this.lat0);this.Zb=-this.Qn*(n+function(t,e){for(var r,n=2*Math.cos(e),i=t.length-1,o=t[i],a=0;--i>=0;)r=n*o-a+t[i],a=o,o=r;return Math.sin(e)*r}(this.gtu,2*n))},forward:function(t){var e=ye(t.x-this.long0),r=t.y;r=Tr(this.cbg,r);var n=Math.sin(r),i=Math.cos(r),o=Math.sin(e),a=Math.cos(e);r=Math.atan2(n,a*i),e=Math.atan2(o*i,Ir(n,i*a)),e=Cr(Math.tan(e));var s,l,u=Pr(this.gtu,2*r,2*e);return r+=u[0],e+=u[1],Math.abs(e)<=2.623395162778?(s=this.a*(this.Qn*e)+this.x0,l=this.a*(this.Qn*r+this.Zb)+this.y0):(s=1/0,l=1/0),t.x=s,t.y=l,t},inverse:function(t){var e,r,n=(t.x-this.x0)*(1/this.a),i=(t.y-this.y0)*(1/this.a);if(i=(i-this.Zb)/this.Qn,n/=this.Qn,Math.abs(n)<=2.623395162778){var o=Pr(this.utg,2*i,2*n);i+=o[0],n+=o[1],n=Math.atan(Or(n));var a=Math.sin(i),s=Math.cos(i),l=Math.sin(n),u=Math.cos(n);i=Math.atan2(a*u,Ir(l,u*s)),n=Math.atan2(l,u*s),e=ye(n+this.long0),r=Tr(this.cgb,i)}else e=1/0,r=1/0;return t.x=e,t.y=r,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]};var Lr={init:function(){var t=function(t,e){if(void 0===t){if((t=Math.floor(30*(ye(e)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*Bt,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Rr.init.apply(this),this.forward=Rr.forward,this.inverse=Rr.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"},Mr=function(t,e){return Math.pow((1-t)/(1+t),e)};var Ar={init:function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Vt)/(Math.pow(Math.tan(.5*this.lat0+Vt),this.C)*Mr(this.e*t,this.ratexp))},forward:function(t){var e=t.x,r=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*r+Vt),this.C)*Mr(this.e*Math.sin(r),this.ratexp))-Gt,t.x=this.C*e,t},inverse:function(t){for(var e=t.x/this.C,r=t.y,n=Math.pow(Math.tan(.5*r+Vt)/this.K,1/this.C),i=20;i>0&&(r=2*Math.atan(n*Mr(this.e*Math.sin(t.y),-.5*this.e))-Gt,!(Math.abs(r-t.y)<1e-14));--i)t.y=r;return i?(t.x=e,t.y=r,t):null},names:["gauss"]};var Nr={init:function(){Ar.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(t){var e,r,n,i;return t.x=ye(t.x-this.long0),Ar.forward.apply(this,[t]),e=Math.sin(t.y),r=Math.cos(t.y),n=Math.cos(t.x),i=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*r*n),t.x=i*r*Math.sin(t.x),t.y=i*(this.cosc0*e-this.sinc0*r*n),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var e,r,n,i,o;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,o=Math.sqrt(t.x*t.x+t.y*t.y)){var a=2*Math.atan2(o,this.R2);e=Math.sin(a),r=Math.cos(a),i=Math.asin(r*this.sinc0+t.y*e*this.cosc0/o),n=Math.atan2(t.x*e,o*this.cosc0*r-t.y*this.sinc0*e)}else i=this.phic0,n=0;return t.x=n,t.y=i,Ar.inverse.apply(this,[t]),t.x=ye(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]};var kr={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Ut&&(this.k0=.5*(1+ge(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=Ut&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=Ut&&(this.k0=.5*this.cons*de(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/me(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=de(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-Gt,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(t){var e,r,n,i,o,a,s=t.x,l=t.y,u=Math.sin(l),c=Math.cos(l),h=ye(s-this.long0);return Math.abs(Math.abs(s-this.long0)-Math.PI)<=Ut&&Math.abs(l+this.lat0)<=Ut?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*u+this.coslat0*c*Math.cos(h)),t.x=this.a*e*c*Math.sin(h)+this.x0,t.y=this.a*e*(this.coslat0*u-this.sinlat0*c*Math.cos(h))+this.y0,t):(r=2*Math.atan(this.ssfn_(l,u,this.e))-Gt,i=Math.cos(r),n=Math.sin(r),Math.abs(this.coslat0)<=Ut?(o=me(this.e,l*this.con,this.con*u),a=2*this.a*this.k0*o/this.cons,t.x=this.x0+a*Math.sin(s-this.long0),t.y=this.y0-this.con*a*Math.cos(s-this.long0),t):(Math.abs(this.sinlat0)0?ye(this.long0+Math.atan2(t.x,-1*t.y)):ye(this.long0+Math.atan2(t.x,t.y)):ye(this.long0+Math.atan2(t.x*Math.sin(s),a*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s))),t.x=e,t.y=r,t)}if(Math.abs(this.coslat0)<=Ut){if(a<=Ut)return r=this.lat0,e=this.long0,t.x=e,t.y=r,t;t.x*=this.con,t.y*=this.con,n=a*this.cons/(2*this.a*this.k0),r=this.con*_e(this.e,n),e=this.con*ye(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else i=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,a<=Ut?o=this.X0:(o=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/a),e=ye(this.long0+Math.atan2(t.x*Math.sin(i),a*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),r=-1*_e(this.e,Math.tan(.5*(Gt+o)));return t.x=e,t.y=r,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,e,r){return e*=r,Math.tan(.5*(Gt+t))*Math.pow((1-e)/(1+e),.5*r)}};var jr={init:function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),r=this.a,n=1/this.rf,i=2*n-Math.pow(n,2),o=this.e=Math.sqrt(i);this.R=this.k0*r*Math.sqrt(1-i)/(1-i*Math.pow(e,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),s=Math.log(Math.tan(Math.PI/4+t/2)),l=Math.log((1+o*e)/(1-o*e));this.K=a-this.alpha*s+this.alpha*o/2*l},forward:function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),r=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),n=-this.alpha*(e+r)+this.K,i=2*(Math.atan(Math.exp(n))-Math.PI/4),o=this.alpha*(t.x-this.lambda0),a=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(o))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(o));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*a+this.x0,t},inverse:function(t){for(var e=t.x-this.x0,r=t.y-this.y0,n=e/this.R,i=2*(Math.atan(Math.exp(r/this.R))-Math.PI/4),o=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(n)),a=Math.atan(Math.sin(n)/(Math.cos(this.b0)*Math.cos(n)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+a/this.alpha,l=0,u=o,c=-1e3,h=0;Math.abs(u-c)>1e-7;){if(++h>20)return;l=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(u))/2)),c=u,u=2*Math.atan(Math.exp(l))-Math.PI/2}return t.x=s,t.y=u,t},names:["somerc"]},Fr=1e-7;var Dr={init:function(){var t,e,r,n,i,o,a,s,l,u,c,h,f,p=0,d=0,g=0,y=0,m=0,_=0,v=0;this.no_off=(f="object"==typeof(h=this).PROJECTION?Object.keys(h.PROJECTION)[0]:h.PROJECTION,"no_uoff"in h||"no_off"in h||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(f)),this.no_rot="no_rot"in this;var b=!1;"alpha"in this&&(b=!0);var x=!1;if("rectified_grid_angle"in this&&(x=!0),b&&(v=this.alpha),x&&(p=this.rectified_grid_angle*Bt),b||x)d=this.longc;else if(g=this.long1,m=this.lat1,y=this.long2,_=this.lat2,Math.abs(m-_)<=Fr||(t=Math.abs(m))<=Fr||Math.abs(t-Gt)<=Fr||Math.abs(Math.abs(this.lat0)-Gt)<=Fr||Math.abs(Math.abs(_)-Gt)<=Fr)throw new Error;var w=1-this.es;e=Math.sqrt(w),Math.abs(this.lat0)>Ut?(s=Math.sin(this.lat0),r=Math.cos(this.lat0),t=1-this.es*s*s,this.B=r*r,this.B=Math.sqrt(1+this.es*this.B*this.B/w),this.A=this.B*this.k0*e/t,(i=(n=this.B*e/(r*Math.sqrt(t)))*n-1)<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=n,this.E*=Math.pow(me(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=n=i=1),b||x?(b?(c=Math.asin(Math.sin(v)/n),x||(p=v)):(c=p,v=Math.asin(n*Math.sin(c))),this.lam0=d-Math.asin(.5*(i-1/i)*Math.tan(c))/this.B):(o=Math.pow(me(this.e,m,Math.sin(m)),this.B),a=Math.pow(me(this.e,_,Math.sin(_)),this.B),i=this.E/o,l=(a-o)/(a+o),u=((u=this.E*this.E)-a*o)/(u+a*o),(t=g-y)<-Math.pi?y-=qt:t>Math.pi&&(y+=qt),this.lam0=ye(.5*(g+y)-Math.atan(u*Math.tan(.5*this.B*(g-y))/l)/this.B),c=Math.atan(2*Math.sin(this.B*ye(g-this.lam0))/(i-1/i)),p=v=Math.asin(n*Math.sin(c))),this.singam=Math.sin(c),this.cosgam=Math.cos(c),this.sinrot=Math.sin(p),this.cosrot=Math.cos(p),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.A,this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(n*n-1)/Math.cos(v))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*c,this.v_pole_n=this.ArB*Math.log(Math.tan(Vt-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(Vt+i))},forward:function(t){var e,r,n,i,o,a,s,l,u={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-Gt)>Ut){if(e=.5*((o=this.E/Math.pow(me(this.e,t.y,Math.sin(t.y)),this.B))-(a=1/o)),r=.5*(o+a),i=Math.sin(this.B*t.x),n=(e*this.singam-i*this.cosgam)/r,Math.abs(Math.abs(n)-1)0?this.v_pole_n:this.v_pole_s,s=this.ArB*t.y;return this.no_rot?(u.x=s,u.y=l):(s-=this.u_0,u.x=l*this.cosrot+s*this.sinrot,u.y=s*this.cosrot-l*this.sinrot),u.x=this.a*u.x+this.x0,u.y=this.a*u.y+this.y0,u},inverse:function(t){var e,r,n,i,o,a,s,l={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(r=t.y,e=t.x):(r=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),i=.5*((n=Math.exp(-this.BrA*r))-1/n),o=.5*(n+1/n),s=((a=Math.sin(this.BrA*e))*this.cosgam+i*this.singam)/o,Math.abs(Math.abs(s)-1)Ut?this.ns=Math.log(n/s)/Math.log(i/l):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=n/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(u,this.ns),this.title||(this.title="Lambert Conformal Conic")}},forward:function(t){var e=t.x,r=t.y;Math.abs(2*Math.abs(r)-Math.PI)<=Ut&&(r=ge(r)*(Gt-2e-10));var n,i,o=Math.abs(Math.abs(r)-Gt);if(o>Ut)n=me(this.e,r,Math.sin(r)),i=this.a*this.f0*Math.pow(n,this.ns);else{if((o=r*this.ns)<=0)return null;i=0}var a=this.ns*ye(e-this.long0);return t.x=this.k0*(i*Math.sin(a))+this.x0,t.y=this.k0*(this.rh-i*Math.cos(a))+this.y0,t},inverse:function(t){var e,r,n,i,o,a=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(a*a+s*s),r=1):(e=-Math.sqrt(a*a+s*s),r=-1);var l=0;if(0!==e&&(l=Math.atan2(r*a,r*s)),0!==e||this.ns>0){if(r=1/this.ns,n=Math.pow(e/(this.a*this.f0),r),-9999===(i=_e(this.e,n)))return null}else i=-Gt;return o=ye(l/this.ns+this.long0),t.x=o,t.y=i,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]};var Ur={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(t){var e,r,n,i,o,a,s,l=t.x,u=t.y,c=ye(l-this.long0);return e=Math.pow((1+this.e*Math.sin(u))/(1-this.e*Math.sin(u)),this.alfa*this.e/2),r=2*(Math.atan(this.k*Math.pow(Math.tan(u/2+this.s45),this.alfa)/e)-this.s45),n=-c*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(r)+Math.sin(this.ad)*Math.cos(r)*Math.cos(n)),o=Math.asin(Math.cos(r)*Math.sin(n)/Math.cos(i)),a=this.n*o,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(a)/1,t.x=s*Math.sin(a)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var e,r,n,i,o,a,s,l=t.x;t.x=t.y,t.y=l,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),i=Math.atan2(t.y,t.x)/Math.sin(this.s0),n=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(n)-Math.sin(this.ad)*Math.cos(n)*Math.cos(i)),r=Math.asin(Math.cos(n)*Math.sin(i)/Math.cos(e)),t.x=this.long0-r/this.alfa,a=e,s=0;var u=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45),Math.abs(a-t.y)<1e-10&&(s=1),a=t.y,u+=1}while(0===s&&u<15);return u>=15?null:t},names:["Krovak","krovak"]},Br=function(t,e,r,n,i){return t*i-e*Math.sin(2*i)+r*Math.sin(4*i)-n*Math.sin(6*i)},zr=function(t){return 1-.25*t*(1+t/16*(3+1.25*t))},Vr=function(t){return.375*t*(1+.25*t*(1+.46875*t))},qr=function(t){return.05859375*t*t*(1+.75*t)},Yr=function(t){return t*t*t*(35/3072)},Wr=function(t,e,r){var n=e*r;return t/Math.sqrt(1-n*n)},Xr=function(t){return Math.abs(t)1e-7?(1-t*t)*(e/(1-(r=t*e)*r)-.5/t*Math.log((1-r)/(1+r))):2*e};var Jr=.3333333333333333,Qr=.17222222222222222,$r=.10257936507936508,tn=.06388888888888888,en=.0664021164021164,rn=.016415012942191543;var nn={init:function(){var t,e=Math.abs(this.lat0);if(Math.abs(e-Gt)0)switch(this.qp=Kr(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(t){var e,r=[];return r[0]=t*Jr,e=t*t,r[0]+=e*Qr,r[1]=e*tn,e*=t,r[0]+=e*$r,r[1]+=e*en,r[2]=e*rn,r}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=Kr(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(t){var e,r,n,i,o,a,s,l,u,c,h=t.x,f=t.y;if(h=ye(h-this.long0),this.sphere){if(o=Math.sin(f),c=Math.cos(f),n=Math.cos(h),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((r=this.mode===this.EQUIT?1+c*n:1+this.sinph0*o+this.cosph0*c*n)<=Ut)return null;e=(r=Math.sqrt(2/r))*c*Math.sin(h),r*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*c*n}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(n=-n),Math.abs(f+this.lat0)=0?(e=(u=Math.sqrt(a))*i,r=n*(this.mode===this.S_POLE?u:-u)):e=r=0}}return t.x=this.a*e+this.x0,t.y=this.a*r+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var e,r,n,i,o,a,s,l,u,c,h=t.x/this.a,f=t.y/this.a;if(this.sphere){var p,d=0,g=0;if((r=.5*(p=Math.sqrt(h*h+f*f)))>1)return null;switch(r=2*Math.asin(r),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=Math.sin(r),d=Math.cos(r)),this.mode){case this.EQUIT:r=Math.abs(p)<=Ut?0:Math.asin(f*g/p),h*=g,f=d*p;break;case this.OBLIQ:r=Math.abs(p)<=Ut?this.lat0:Math.asin(d*this.sinph0+f*g*this.cosph0/p),h*=g*this.cosph0,f=(d-Math.sin(r)*this.sinph0)*p;break;case this.N_POLE:f=-f,r=Gt-r;break;case this.S_POLE:r-=Gt}e=0!==f||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(h,f):0}else{if(s=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(h/=this.dd,f*=this.dd,(a=Math.sqrt(h*h+f*f))1&&(t=t>1?1:-1),Math.asin(t)};var an={init:function(){Math.abs(this.lat1+this.lat2)Ut?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(t){var e=t.x,r=t.y;this.sin_phi=Math.sin(r),this.cos_phi=Math.cos(r);var n=Kr(this.e3,this.sin_phi),i=this.a*Math.sqrt(this.c-this.ns0*n)/this.ns0,o=this.ns0*ye(e-this.long0),a=i*Math.sin(o)+this.x0,s=this.rh-i*Math.cos(o)+this.y0;return t.x=a,t.y=s,t},inverse:function(t){var e,r,n,i,o,a;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),n=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),n=-1),i=0,0!==e&&(i=Math.atan2(n*t.x,n*t.y)),n=e*this.ns0/this.a,this.sphere?a=Math.asin((this.c-n*n)/(2*this.ns0)):(r=(this.c-n*n)/this.ns0,a=this.phi1z(this.e3,r)),o=ye(i/this.ns0+this.long0),t.x=o,t.y=a,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,e){var r,n,i,o,a=on(.5*e);if(t0||Math.abs(o)<=Ut?(a=this.x0+1*this.a*r*Math.sin(n)/o,s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*r*i)/o):(a=this.x0+this.infinity_dist*r*Math.sin(n),s=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*r*i)),t.x=a,t.y=s,t},inverse:function(t){var e,r,n,i,o,a;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),r=Math.sin(i),n=Math.cos(i),a=on(n*this.sin_p14+t.y*r*this.cos_p14/e),o=Math.atan2(t.x*r,e*this.cos_p14*n-t.y*this.sin_p14*r),o=ye(this.long0+o)):(a=this.phic0,o=0),t.x=o,t.y=a,t},names:["gnom"]};var ln={init:function(){this.sphere||(this.k0=de(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(t){var e,r,n=t.x,i=t.y,o=ye(n-this.long0);if(this.sphere)e=this.x0+this.a*o*Math.cos(this.lat_ts),r=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts);else{var a=Kr(this.e,Math.sin(i));e=this.x0+this.a*this.k0*o,r=this.y0+this.a*a*.5/this.k0}return t.x=e,t.y=r,t},inverse:function(t){var e,r;return t.x-=this.x0,t.y-=this.y0,this.sphere?(e=ye(this.long0+t.x/this.a/Math.cos(this.lat_ts)),r=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(r=function(t,e){var r=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-r)<1e-6)return e<0?-1*Gt:Gt;for(var n,i,o,a,s=Math.asin(.5*e),l=0;l<30;l++)if(i=Math.sin(s),o=Math.cos(s),a=t*i,s+=n=Math.pow(1-a*a,2)/(2*o)*(e/(1-t*t)-i/(1-a*a)+.5/t*Math.log((1-a)/(1+a))),Math.abs(n)<=1e-10)return s;return NaN}(this.e,2*t.y*this.k0/this.a),e=ye(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=r,t},names:["cea"]};var un={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(t){var e=t.x,r=t.y,n=ye(e-this.long0),i=Xr(r-this.lat0);return t.x=this.x0+this.a*n*this.rc,t.y=this.y0+this.a*i,t},inverse:function(t){var e=t.x,r=t.y;return t.x=ye(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=Xr(this.lat0+(r-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]};var cn={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=zr(this.es),this.e1=Vr(this.es),this.e2=qr(this.es),this.e3=Yr(this.es),this.ml0=this.a*Br(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(t){var e,r,n,i=t.x,o=t.y,a=ye(i-this.long0);if(n=a*Math.sin(o),this.sphere)Math.abs(o)<=Ut?(e=this.a*a,r=-1*this.a*this.lat0):(e=this.a*Math.sin(n)/Math.tan(o),r=this.a*(Xr(o-this.lat0)+(1-Math.cos(n))/Math.tan(o)));else if(Math.abs(o)<=Ut)e=this.a*a,r=-1*this.ml0;else{var s=Wr(this.a,this.e,Math.sin(o))/Math.tan(o);e=s*Math.sin(n),r=this.a*Br(this.e0,this.e1,this.e2,this.e3,o)-this.ml0+s*(1-Math.cos(n))}return t.x=e+this.x0,t.y=r+this.y0,t},inverse:function(t){var e,r,n,i,o,a,s,l,u;if(n=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=Ut)e=ye(n/this.a+this.long0),r=0;else{var c;for(a=this.lat0+i/this.a,s=n*n/this.a/this.a+a*a,l=a,o=20;o;--o)if(l+=u=-1*(a*(l*(c=Math.tan(l))+1)-l-.5*(l*l+s)*c)/((l-a)/c-1),Math.abs(u)<=Ut){r=l;break}e=ye(this.long0+Math.asin(n*Math.tan(l)/this.a)/Math.sin(r))}else if(Math.abs(i+this.ml0)<=Ut)r=0,e=ye(this.long0+n/this.a);else{var h,f,p,d,g;for(a=(this.ml0+i)/this.a,s=n*n/this.a/this.a+a*a,l=a,o=20;o;--o)if(g=this.e*Math.sin(l),h=Math.sqrt(1-g*g)*Math.tan(l),f=this.a*Br(this.e0,this.e1,this.e2,this.e3,l),p=this.e0-2*this.e1*Math.cos(2*l)+4*this.e2*Math.cos(4*l)-6*this.e3*Math.cos(6*l),l-=u=(a*(h*(d=f/this.a)+1)-d-.5*h*(d*d+s))/(this.es*Math.sin(2*l)*(d*d+s-2*a*d)/(4*h)+(a-d)*(h*p-2/Math.sin(2*l))-p),Math.abs(u)<=Ut){r=l;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(r),2))*Math.tan(r),e=ye(this.long0+Math.asin(n*h/this.a)/Math.sin(r))}return t.x=e,t.y=r,t},names:["Polyconic","poly"]};var hn={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(t){var e,r=t.x,n=t.y-this.lat0,i=r-this.long0,o=n/Dt*1e-5,a=i,s=1,l=0;for(e=1;e<=10;e++)s*=o,l+=this.A[e]*s;var u,c=l,h=a,f=1,p=0,d=0,g=0;for(e=1;e<=6;e++)u=p*c+f*h,f=f*c-p*h,p=u,d=d+this.B_re[e]*f-this.B_im[e]*p,g=g+this.B_im[e]*f+this.B_re[e]*p;return t.x=g*this.a+this.x0,t.y=d*this.a+this.y0,t},inverse:function(t){var e,r,n=t.x,i=t.y,o=n-this.x0,a=(i-this.y0)/this.a,s=o/this.a,l=1,u=0,c=0,h=0;for(e=1;e<=6;e++)r=u*a+l*s,l=l*a-u*s,u=r,c=c+this.C_re[e]*l-this.C_im[e]*u,h=h+this.C_im[e]*l+this.C_re[e]*u;for(var f=0;f.999999999999&&(r=.999999999999),e=Math.asin(r);var n=ye(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));n<-Math.PI&&(n=-Math.PI),n>Math.PI&&(n=Math.PI),r=(2*e+Math.sin(2*e))/Math.PI,Math.abs(r)>1&&(r=1);var i=Math.asin(r);return t.x=n,t.y=i,t},names:["Mollweide","moll"]};var gn={init:function(){Math.abs(this.lat1+this.lat2)=0?(r=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(r=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var o=0;if(0!==r&&(o=Math.atan2(e*t.x,e*t.y)),this.sphere)return i=ye(this.long0+o/this.ns),n=Xr(this.g-r/this.a),t.x=i,t.y=n,t;var a=this.g-r/this.a;return n=Hr(a,this.e0,this.e1,this.e2,this.e3),i=ye(this.long0+o/this.ns),t.x=i,t.y=n,t},names:["Equidistant_Conic","eqdc"]};var yn={init:function(){this.R=this.a},forward:function(t){var e,r,n=t.x,i=t.y,o=ye(n-this.long0);Math.abs(i)<=Ut&&(e=this.x0+this.R*o,r=this.y0);var a=on(2*Math.abs(i/Math.PI));(Math.abs(o)<=Ut||Math.abs(Math.abs(i)-Gt)<=Ut)&&(e=this.x0,r=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*a):this.y0+Math.PI*this.R*-Math.tan(.5*a));var s=.5*Math.abs(Math.PI/o-o/Math.PI),l=s*s,u=Math.sin(a),c=Math.cos(a),h=c/(u+c-1),f=h*h,p=h*(2/u-1),d=p*p,g=Math.PI*this.R*(s*(h-d)+Math.sqrt(l*(h-d)*(h-d)-(d+l)*(f-d)))/(d+l);o<0&&(g=-g),e=this.x0+g;var y=l+h;return g=Math.PI*this.R*(p*y-s*Math.sqrt((d+l)*(l+1)-y*y))/(d+l),r=i>=0?this.y0+g:this.y0-g,t.x=e,t.y=r,t},inverse:function(t){var e,r,n,i,o,a,s,l,u,c,h,f;return t.x-=this.x0,t.y-=this.y0,h=Math.PI*this.R,o=(n=t.x/h)*n+(i=t.y/h)*i,h=3*(i*i/(l=-2*(a=-Math.abs(i)*(1+o))+1+2*i*i+o*o)+(2*(s=a-2*i*i+n*n)*s*s/l/l/l-9*a*s/l/l)/27)/(u=(a-s*s/3/l)/l)/(c=2*Math.sqrt(-u/3)),Math.abs(h)>1&&(h=h>=0?1:-1),f=Math.acos(h)/3,r=t.y>=0?(-c*Math.cos(f+Math.PI/3)-s/3/l)*Math.PI:-(-c*Math.cos(f+Math.PI/3)-s/3/l)*Math.PI,e=Math.abs(n)2*Gt*this.a)return;return r=e/this.a,n=Math.sin(r),i=Math.cos(r),o=this.long0,Math.abs(e)<=Ut?a=this.lat0:(a=on(i*this.sin_p12+t.y*n*this.cos_p12/e),s=Math.abs(this.lat0)-Gt,o=Math.abs(s)<=Ut?this.lat0>=0?ye(this.long0+Math.atan2(t.x,-t.y)):ye(this.long0-Math.atan2(-t.x,t.y)):ye(this.long0+Math.atan2(t.x*n,e*this.cos_p12*i-t.y*this.sin_p12*n))),t.x=o,t.y=a,t}return l=zr(this.es),u=Vr(this.es),c=qr(this.es),h=Yr(this.es),Math.abs(this.sin_p12-1)<=Ut?(f=this.a*Br(l,u,c,h,Gt),e=Math.sqrt(t.x*t.x+t.y*t.y),a=Hr((f-e)/this.a,l,u,c,h),o=ye(this.long0+Math.atan2(t.x,-1*t.y)),t.x=o,t.y=a,t):Math.abs(this.sin_p12+1)<=Ut?(f=this.a*Br(l,u,c,h,Gt),e=Math.sqrt(t.x*t.x+t.y*t.y),a=Hr((e-f)/this.a,l,u,c,h),o=ye(this.long0+Math.atan2(t.x,t.y)),t.x=o,t.y=a,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),g=Math.atan2(t.x,t.y),p=Wr(this.a,this.e,this.sin_p12),y=Math.cos(g),_=-(m=this.e*this.cos_p12*y)*m/(1-this.es),v=3*this.es*(1-_)*this.sin_p12*this.cos_p12*y/(1-this.es),w=1-_*(x=(b=e/p)-_*(1+_)*Math.pow(b,3)/6-v*(1+3*_)*Math.pow(b,4)/24)*x/2-b*x*x*x/6,d=Math.asin(this.sin_p12*Math.cos(x)+this.cos_p12*Math.sin(x)*y),o=ye(this.long0+Math.asin(Math.sin(g)*Math.sin(x)/Math.cos(d))),E=Math.sin(d),a=Math.atan2((E-this.es*w*this.sin_p12)*Math.tan(d),E*(1-this.es)),t.x=o,t.y=a,t)},names:["Azimuthal_Equidistant","aeqd"]};var _n={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(t){var e,r,n,i,o,a,s,l=t.x,u=t.y;return n=ye(l-this.long0),e=Math.sin(u),r=Math.cos(u),i=Math.cos(n),1,((o=this.sin_p14*e+this.cos_p14*r*i)>0||Math.abs(o)<=Ut)&&(a=1*this.a*r*Math.sin(n),s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*r*i)),t.x=a,t.y=s,t},inverse:function(t){var e,r,n,i,o,a,s;return t.x-=this.x0,t.y-=this.y0,e=Math.sqrt(t.x*t.x+t.y*t.y),r=on(e/this.a),n=Math.sin(r),i=Math.cos(r),a=this.long0,Math.abs(e)<=Ut?(s=this.lat0,t.x=a,t.y=s,t):(s=on(i*this.sin_p14+t.y*n*this.cos_p14/e),o=Math.abs(this.lat0)-Gt,Math.abs(o)<=Ut?(a=this.lat0>=0?ye(this.long0+Math.atan2(t.x,-t.y)):ye(this.long0-Math.atan2(-t.x,t.y)),t.x=a,t.y=s,t):(a=ye(this.long0+Math.atan2(t.x*n,e*this.cos_p14*i-t.y*this.sin_p14*n)),t.x=a,t.y=s,t))},names:["ortho"]},vn=1,bn=2,xn=3,wn=4,En=5,Sn=6,On=1,In=2,Cn=3,Tn=4;function Pn(t,e,r,n){var i;return tVt&&i<=Gt+Vt?(n.value=In,i-=Gt):i>Gt+Vt||i<=-(Gt+Vt)?(n.value=Cn,i=i>=0?i-Yt:i+Yt):(n.value=Tn,i+=Gt)),i}function Rn(t,e){var r=t+e;return r<-Yt?r+=qt:r>+Yt&&(r-=qt),r}var Ln={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=Gt-Vt/2?this.face=En:this.lat0<=-(Gt-Vt/2)?this.face=Sn:Math.abs(this.long0)<=Vt?this.face=vn:Math.abs(this.long0)<=Gt+Vt?this.face=this.long0>0?bn:wn:this.face=xn,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(t){var e,r,n,i,o,a,s={x:0,y:0},l={value:0};if(t.x-=this.long0,e=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,r=t.x,this.face===En)i=Gt-e,r>=Vt&&r<=Gt+Vt?(l.value=On,n=r-Gt):r>Gt+Vt||r<=-(Gt+Vt)?(l.value=In,n=r>0?r-Yt:r+Yt):r>-(Gt+Vt)&&r<=-Vt?(l.value=Cn,n=r+Gt):(l.value=Tn,n=r);else if(this.face===Sn)i=Gt+e,r>=Vt&&r<=Gt+Vt?(l.value=On,n=-r+Gt):r=-Vt?(l.value=In,n=-r):r<-Vt&&r>=-(Gt+Vt)?(l.value=Cn,n=-r-Gt):(l.value=Tn,n=r>0?-r+Yt:-r-Yt);else{var u,c,h,f,p,d;this.face===bn?r=Rn(r,+Gt):this.face===xn?r=Rn(r,+Yt):this.face===wn&&(r=Rn(r,-Gt)),f=Math.sin(e),p=Math.cos(e),d=Math.sin(r),u=p*Math.cos(r),c=p*d,h=f,this.face===vn?n=Pn(i=Math.acos(u),h,c,l):this.face===bn?n=Pn(i=Math.acos(c),h,-u,l):this.face===xn?n=Pn(i=Math.acos(-u),h,-c,l):this.face===wn?n=Pn(i=Math.acos(-c),h,u,l):(i=n=0,l.value=On)}return a=Math.atan(12/Yt*(n+Math.acos(Math.sin(n)*Math.cos(Vt))-Gt)),o=Math.sqrt((1-Math.cos(i))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(n))))),l.value===In?a+=Gt:l.value===Cn?a+=Yt:l.value===Tn&&(a+=1.5*Yt),s.x=o*Math.cos(a),s.y=o*Math.sin(a),s.x=s.x*this.a+this.x0,s.y=s.y*this.a+this.y0,t.x=s.x,t.y=s.y,t},inverse:function(t){var e,r,n,i,o,a,s,l,u,c,h,f,p={lam:0,phi:0},d={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,r=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),e=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?d.value=On:t.y>=0&&t.y>=Math.abs(t.x)?(d.value=In,e-=Gt):t.x<0&&-t.x>=Math.abs(t.y)?(d.value=Cn,e=e<0?e+Yt:e-Yt):(d.value=Tn,e+=Gt),u=Yt/12*Math.tan(e),o=Math.sin(u)/(Math.cos(u)-1/Math.sqrt(2)),a=Math.atan(o),(s=1-(n=Math.cos(e))*n*(i=Math.tan(r))*i*(1-Math.cos(Math.atan(1/Math.cos(a)))))<-1?s=-1:s>1&&(s=1),this.face===En)l=Math.acos(s),p.phi=Gt-l,d.value===On?p.lam=a+Gt:d.value===In?p.lam=a<0?a+Yt:a-Yt:d.value===Cn?p.lam=a-Gt:p.lam=a;else if(this.face===Sn)l=Math.acos(s),p.phi=l-Gt,d.value===On?p.lam=-a+Gt:d.value===In?p.lam=-a:d.value===Cn?p.lam=-a-Gt:p.lam=a<0?-a-Yt:-a+Yt;else{var g,y,m;u=(g=s)*g,y=(u+=(m=u>=1?0:Math.sqrt(1-u)*Math.sin(a))*m)>=1?0:Math.sqrt(1-u),d.value===In?(u=y,y=-m,m=u):d.value===Cn?(y=-y,m=-m):d.value===Tn&&(u=y,y=m,m=-u),this.face===bn?(u=g,g=-y,y=u):this.face===xn?(g=-g,y=-y):this.face===wn&&(u=g,g=y,y=-u),p.phi=Math.acos(-m)-Gt,p.lam=Math.atan2(y,g),this.face===bn?p.lam=Rn(p.lam,-Gt):this.face===xn?p.lam=Rn(p.lam,-Yt):this.face===wn&&(p.lam=Rn(p.lam,+Gt))}return 0!==this.es&&(c=p.phi<0?1:0,h=Math.tan(p.phi),f=this.b/Math.sqrt(h*h+this.one_minus_f_squared),p.phi=Math.atan(Math.sqrt(this.a*this.a-f*f)/(this.one_minus_f*f)),c&&(p.phi=-p.phi)),p.lam+=this.long0,t.x=p.lam,t.y=p.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]},Mn=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],An=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Nn=.8487,kn=1.3523,jn=zt/5,Fn=18,Dn=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))};var Gn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(t){var e=ye(t.x-this.long0),r=Math.abs(t.y),n=Math.floor(r*jn);n<0?n=0:n>=Fn&&(n=17);var i={x:Dn(Mn[n],r=zt*(r-.08726646259971647*n))*e,y:Dn(An[n],r)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*Nn+this.x0,i.y=i.y*this.a*kn+this.y0,i},inverse:function(t){var e={x:(t.x-this.x0)/(this.a*Nn),y:Math.abs(t.y-this.y0)/(this.a*kn)};if(e.y>=1)e.x/=Mn[18][0],e.y=t.y<0?-Gt:Gt;else{var r=Math.floor(e.y*Fn);for(r<0?r=0:r>=Fn&&(r=17);;)if(An[r][0]>e.y)--r;else{if(!(An[r+1][0]<=e.y))break;++r}var n=An[r],i=5*(e.y-n[0])/(An[r+1][0]-n[0]);i=function(t,e,r,n){for(var i=e;n;--n){var o=t(i);if(i-=o,Math.abs(o)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")},forward:function(t){var e,r,n,i,o=t.x,a=t.y;if(o-=this.long0,"ellipse"===this.shape){a=Math.atan(this.radius_p2*Math.tan(a));var s=this.radius_p/Ir(this.radius_p*Math.cos(a),Math.sin(a));if(r=s*Math.cos(o)*Math.cos(a),n=s*Math.sin(o)*Math.cos(a),i=s*Math.sin(a),(this.radius_g-r)*r-n*n-i*i*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;e=this.radius_g-r,this.flip_axis?(t.x=this.radius_g_1*Math.atan(n/Ir(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(n/e),t.y=this.radius_g_1*Math.atan(i/Ir(n,e)))}else"sphere"===this.shape&&(e=Math.cos(a),r=Math.cos(o)*e,n=Math.sin(o)*e,i=Math.sin(a),e=this.radius_g-r,this.flip_axis?(t.x=this.radius_g_1*Math.atan(n/Ir(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(n/e),t.y=this.radius_g_1*Math.atan(i/Ir(n,e))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var e,r,n,i,o=-1,a=0,s=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Ir(1,s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Ir(1,a));var l=s/this.radius_p;if(e=a*a+l*l+o*o,(n=(r=2*this.radius_g*o)*r-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-r-Math.sqrt(n))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y))}else if("sphere"===this.shape){if(this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+s*s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+a*a)),e=a*a+s*s+o*o,(n=(r=2*this.radius_g*o)*r-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-r-Math.sqrt(n))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o)}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};Qe.defaultDatum="WGS84",Qe.Proj=Fe,Qe.WGS84=new Qe.Proj("WGS84"),Qe.Point=mr,Qe.toPoint=We,Qe.defs=ue,Qe.nadgrid=function(t,e){var r=new DataView(e),n=function(t){var e=t.getInt32(8,!1);if(11===e)return!1;11!==(e=t.getInt32(8,!0))&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian");return!0}(r),i=function(t,e){return{nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:Me(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}(r,n);i.nSubgrids>1&&console.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var o={header:i,subgrids:function(t,e,r){for(var n=176,i=[],o=0;othis.maxCacheSize_},t.prototype.expire=function(){if(this.canExpireCache()){var t=0;for(var e in this.cache_){var r=this.cache_[e];0!=(3&t++)||r.hasListener()||(delete this.cache_[e],--this.cacheSize_)}}},t.prototype.get=function(t,e,r){var n=hi(t,e,r);return n in this.cache_?this.cache_[n]:null},t.prototype.set=function(t,e,r,n){var i=hi(t,e,r);this.cache_[i]=n,++this.cacheSize_},t.prototype.setSize=function(t){this.maxCacheSize_=t,this.expire()},t}();function hi(t,e,r){return e+":"+t+":"+(r?Object(ui.b)(r):"null")}var fi=new ci,pi=r(35),di=r(12),gi=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function yi(t,e){fi.expire()}var mi=function(t){function e(e){var r=t.call(this)||this;return r.map_=e,r}return gi(e,t),e.prototype.dispatchRenderEvent=function(t,e){Object(si.b)()},e.prototype.calculateMatrices2D=function(t){var e=t.viewState,r=t.coordinateToPixelTransform,n=t.pixelToCoordinateTransform;Object(li.b)(r,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),Object(li.e)(n,r)},e.prototype.forEachFeatureAtCoordinate=function(t,e,r,n,i,o,a,s){var l,u=e.viewState;function c(t,e,r,n){return i.call(o,e,t?r:null,n)}var h=u.projection,f=Object(di.p)(t.slice(),h),p=[[0,0]];if(h.canWrapX()&&n){var d=h.getExtent(),g=Object(mt.G)(d);p.push([-g,0],[g,0])}for(var y=e.layerStatesArray,m=y.length,_=[],v=[],b=0;b=0;--x){var w=y[x],E=w.layer;if(E.hasRenderer()&&Object(pi.b)(w,u)&&a.call(s,E)){var S=E.getRenderer(),O=E.getSource();if(S&&O){var I=O.getWrapX()?f:t,C=c.bind(null,w.managed);v[0]=I[0]+p[b][0],v[1]=I[1]+p[b][1],l=S.forEachFeatureAtCoordinate(v,e,r,C,_)}if(l)return l}}if(0!==_.length){var T=1/_.length;return _.forEach((function(t,e){return t.distanceSq+=e*T})),_.sort((function(t,e){return t.distanceSq-e.distanceSq})),_.some((function(t){return l=t.callback(t.feature,t.layer,t.geometry)})),l}},e.prototype.forEachLayerAtPixel=function(t,e,r,n,i){return Object(si.b)()},e.prototype.hasFeatureAtCoordinate=function(t,e,r,n,i,o){return void 0!==this.forEachFeatureAtCoordinate(t,e,r,n,ai.b,this,i,o)},e.prototype.getMap=function(){return this.map_},e.prototype.renderFrame=function(t){Object(si.b)()},e.prototype.scheduleExpireIconCache=function(t){fi.canExpireCache()&&t.postRenderFunctions.push(yi)},e}(oi.a),_i=r(45),vi=r(57),bi=r(30),xi="ol-hidden",wi="ol-unselectable",Ei="ol-unsupported",Si="ol-control",Oi="ol-collapsed",Ii=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))","?\\s*([-,\\\"\\'\\sa-z]+?)\\s*$"].join(""),"i"),Ci=["style","variant","weight","size","lineHeight","family"],Ti=function(t){var e=t.match(Ii);if(!e)return null;for(var r={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"},n=0,i=Ci.length;n=0;--o)n[o].renderDeclutter(t);Object(Ai.g)(this.element_,this.children_),this.dispatchRenderEvent(bi.a.POSTCOMPOSE,t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}else this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1)},e.prototype.forEachLayerAtPixel=function(t,e,r,n,i){for(var o=e.viewState,a=e.layerStatesArray,s=a.length-1;s>=0;--s){var l=a[s],u=l.layer;if(u.hasRenderer()&&Object(pi.b)(l,o)&&i(u)){var c=u.getRenderer().getDataAtPixel(t,e,r);if(c){var h=n(u,c);if(h)return h}}}},e}(mi),io=r(65),oo="add",ao="remove",so=r(18),lo=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uo="length",co=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.element=r,i.index=n,i}return lo(e,t),e}(so.a),ho=function(t){function e(e,r){var n=t.call(this)||this;n.on,n.once,n.un;var i=r||{};if(n.unique_=!!i.unique,n.array_=e||[],n.unique_)for(var o=0,a=n.array_.length;o0;)this.pop()},e.prototype.extend=function(t){for(var e=0,r=t.length;ethis.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_},e.prototype.disposeInternal=function(){this.relayedListenerKey_&&(Object(eo.c)(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(fo.a.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(Object(eo.c)(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(eo.c),this.dragListenerKeys_.length=0,this.element_=null,t.prototype.disposeInternal.call(this)},e}(Ri.a),Lo="postrender",Mo="movestart",Ao="moveend",No="loadstart",ko="loadend",jo="layergroup",Fo="size",Do="target",Go="view",Uo=r(77),Bo=r(22),zo={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},Vo=r(41),qo=r(3);function Yo(t,e,r){return function(n,i,o,a,s){if(n){if(!i&&!e)return n;var l=e?0:o[0]*i,u=e?0:o[1]*i,c=s?s[0]:0,h=s?s[1]:0,f=t[0]+l/2+c,p=t[2]-l/2+c,d=t[1]+u/2+h,g=t[3]-u/2+h;f>p&&(p=f=(p+f)/2),d>g&&(g=d=(g+d)/2);var y=Object(qo.b)(n[0],f,p),m=Object(qo.b)(n[1],d,g);if(a&&r&&i){var _=30*i;y+=-_*Math.log(1+Math.max(0,f-n[0])/_)+_*Math.log(1+Math.max(0,n[0]-p)/_),m+=-_*Math.log(1+Math.max(0,d-n[1])/_)+_*Math.log(1+Math.max(0,n[1]-g)/_)}return[y,m]}}}function Wo(t){return t}function Xo(t,e,r,n){var i=Object(mt.G)(e)/r[0],o=Object(mt.A)(e)/r[1];return n?Math.min(t,Math.max(i,o)):Math.min(t,Math.min(i,o))}function Ho(t,e,r){var n=Math.min(t,e);return n*=Math.log(1+50*Math.max(0,t/e-1))/50+1,r&&(n=Math.max(n,r),n/=Math.log(1+50*Math.max(0,r/t-1))/50+1),Object(qo.b)(n,r/2,2*e)}function Zo(t,e,r,n,i){return function(o,a,s,l){if(void 0!==o){var u=n?Xo(t,n,s,i):t;return(void 0===r||r)&&l?Ho(o,u,e):Object(qo.b)(o,e,u)}}}function Ko(t){return void 0!==t?0:void 0}function Jo(t){return void 0!==t?t:void 0}var Qo=r(25),$o="XY",ta="XYZ",ea="XYM",ra="XYZM";function na(t,e,r,n,i,o){for(var a=o||[],s=0,l=e;l1)s=r;else{if(f>0){for(var p=0;pi&&(i=u),o=s,a=l}return i}function da(t,e,r,n,i){for(var o=0,a=r.length;o0;){for(var h=u.pop(),f=u.pop(),p=0,d=t[f],g=t[f+1],y=t[h],m=t[h+1],_=f+n;_p&&(c=_,p=x)}p>i&&(l[(c-e)/n]=1,f+n0&&g>p)&&(d<0&&y0&&y>d)?(s=h,l=f):(o[a++]=s,o[a++]=l,u=s,c=l,s=h,l=f)}}return o[a++]=s,o[a++]=l,a}function Sa(t,e,r,n,i,o,a,s){for(var l=0,u=r.length;lx&&(u=(c+f)/2,Object(Na.c)(t,e,r,n,u,g)&&(b=u,x=w)),c=f}return isNaN(b)&&(b=i[o]),a?(a.push(b,g,x),a):[b,g,x]}function ja(t,e,r,n,i){for(var o=[],a=0,s=r.length;a0}function Ua(t,e,r,n,i){for(var o=void 0!==i&&i,a=0,s=r.length;ac&&p1&&"function"==typeof arguments[r-1]&&(e=arguments[r-1],--r);for(var n=0;n0},e.prototype.getInteracting=function(){return this.hints_[Bo.a.INTERACTING]>0},e.prototype.cancelAnimations=function(){var t;this.setHint(Bo.a.ANIMATING,-this.hints_[Bo.a.ANIMATING]);for(var e=0,r=this.animations_.length;e=0;--r){for(var n=this.animations_[r],i=!0,o=0,a=n.length;o0?l/s.duration:1;u>=1?(s.complete=!0,u=1):i=!1;var c=s.easing(u);if(s.sourceCenter){var h=s.sourceCenter[0],f=s.sourceCenter[1],p=s.targetCenter[0],d=s.targetCenter[1];this.nextCenter_=s.targetCenter;var g=h+c*(p-h),y=f+c*(d-f);this.targetCenter_=[g,y]}if(s.sourceResolution&&s.targetResolution){var m=1===c?s.targetResolution:s.sourceResolution+c*(s.targetResolution-s.sourceResolution);if(s.anchor){var _=this.getViewportSize_(this.getRotation()),v=this.constraints_.resolution(m,0,_,!0);this.targetCenter_=this.calculateCenterZoom(v,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=m,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){var b=1===c?Object(qo.g)(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+c*(s.targetRotation-s.sourceRotation);if(s.anchor){var x=this.constraints_.rotation(b,!0);this.targetCenter_=this.calculateCenterRotate(x,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=b}if(this.applyTargetState_(!0),e=!0,!s.complete)break}}if(i){this.animations_[r]=null,this.setHint(Bo.a.ANIMATING,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;var w=n[0].callback;w&&$a(w,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}},e.prototype.calculateCenterRotate=function(t,e){var r,n=this.getCenterInternal();return void 0!==n&&(r=[n[0]-e[0],n[1]-e[1]],Object(di.j)(r,t-this.getRotation()),Object(di.a)(r,e)),r},e.prototype.calculateCenterZoom=function(t,e){var r,n=this.getCenterInternal(),i=this.getResolution();void 0!==n&&void 0!==i&&(r=[e[0]-t*(e[0]-n[0])/i,e[1]-t*(e[1]-n[1])/i]);return r},e.prototype.getViewportSize_=function(t){var e=this.viewportSize_;if(t){var r=e[0],n=e[1];return[Math.abs(r*Math.cos(t))+Math.abs(n*Math.sin(t)),Math.abs(r*Math.sin(t))+Math.abs(n*Math.cos(t))]}return e},e.prototype.setViewportSize=function(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)},e.prototype.getCenter=function(){var t=this.getCenterInternal();return t?Object(u.w)(t,this.getProjection()):t},e.prototype.getCenterInternal=function(){return this.get(zo.CENTER)},e.prototype.getConstraints=function(){return this.constraints_},e.prototype.getConstrainResolution=function(){return this.get("constrainResolution")},e.prototype.getHints=function(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()},e.prototype.calculateExtent=function(t){var e=this.calculateExtentInternal(t);return Object(u.x)(e,this.getProjection())},e.prototype.calculateExtentInternal=function(t){var e=t||this.getViewportSizeMinusPadding_(),r=this.getCenterInternal();Object(go.a)(r,1);var n=this.getResolution();Object(go.a)(void 0!==n,2);var i=this.getRotation();return Object(go.a)(void 0!==i,3),Object(mt.z)(r,n,i,e)},e.prototype.getMaxResolution=function(){return this.maxResolution_},e.prototype.getMinResolution=function(){return this.minResolution_},e.prototype.getMaxZoom=function(){return this.getZoomForResolution(this.minResolution_)},e.prototype.setMaxZoom=function(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))},e.prototype.getMinZoom=function(){return this.getZoomForResolution(this.maxResolution_)},e.prototype.setMinZoom=function(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))},e.prototype.setConstrainResolution=function(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))},e.prototype.getProjection=function(){return this.projection_},e.prototype.getResolution=function(){return this.get(zo.RESOLUTION)},e.prototype.getResolutions=function(){return this.resolutions_},e.prototype.getResolutionForExtent=function(t,e){return this.getResolutionForExtentInternal(Object(u.m)(t,this.getProjection()),e)},e.prototype.getResolutionForExtentInternal=function(t,e){var r=e||this.getViewportSizeMinusPadding_(),n=Object(mt.G)(t)/r[0],i=Object(mt.A)(t)/r[1];return Math.max(n,i)},e.prototype.getResolutionForValueFunction=function(t){var e=t||2,r=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(r/n)/Math.log(e);return function(t){return r/Math.pow(e,t*i)}},e.prototype.getRotation=function(){return this.get(zo.ROTATION)},e.prototype.getValueForResolutionFunction=function(t){var e=Math.log(t||2),r=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(r/n)/e;return function(t){return Math.log(r/t)/e/i}},e.prototype.getViewportSizeMinusPadding_=function(t){var e=this.getViewportSize_(t),r=this.padding_;return r&&(e=[e[0]-r[1]-r[3],e[1]-r[0]-r[2]]),e},e.prototype.getState=function(){var t=this.getProjection(),e=this.getResolution(),r=this.getRotation(),n=this.getCenterInternal(),i=this.padding_;if(i){var o=this.getViewportSizeMinusPadding_();n=es(n,this.getViewportSize_(),[o[0]/2+i[3],o[1]/2+i[0]],e,r)}return{center:n.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:r,zoom:this.getZoom()}},e.prototype.getZoom=function(){var t,e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t},e.prototype.getZoomForResolution=function(t){var e,r,n=this.minZoom_||0;if(this.resolutions_){var i=Object(h.h)(this.resolutions_,t,1);n=i,e=this.resolutions_[i],r=i==this.resolutions_.length-1?2:e/this.resolutions_[i+1]}else e=this.maxResolution_,r=this.zoomFactor_;return n+Math.log(e/t)/Math.log(r)},e.prototype.getResolutionForZoom=function(t){if(this.resolutions_){if(this.resolutions_.length<=1)return 0;var e=Object(qo.b)(Math.floor(t),0,this.resolutions_.length-2),r=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(r,Object(qo.b)(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)},e.prototype.fit=function(t,e){var r;if(Object(go.a)(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,24),Array.isArray(t))Object(go.a)(!Object(mt.J)(t),25),r=Za(n=Object(u.m)(t,this.getProjection()));else if("Circle"===t.getType()){var n;(r=Za(n=Object(u.m)(t.getExtent(),this.getProjection()))).rotate(this.getRotation(),Object(mt.x)(n))}else{var i=Object(u.s)();r=i?t.clone().transform(i,this.getProjection()):t}this.fitInternal(r,e)},e.prototype.rotatedExtentForGeometry=function(t){for(var e=this.getRotation(),r=Math.cos(e),n=Math.sin(-e),i=t.getFlatCoordinates(),o=t.getStride(),a=1/0,s=1/0,l=-1/0,u=-1/0,c=0,h=i.length;c=0;s--){var l=a[s];if(l.getMap()===this&&l.getActive()&&this.getTargetElement())if(!l.handleEvent(t)||t.propagationStopped)break}}},e.prototype.handlePostRender=function(){var t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){var r=this.maxTilesLoading_,n=r;if(t){var i=t.viewHints;if(i[Bo.a.ANIMATING]||i[Bo.a.INTERACTING]){var o=Date.now()-t.time>8;r=o?0:8,n=o?0:2}}e.getTilesLoading()0;if(this.renderedVisible_!=r&&(this.element.style.display=r?"":"none",this.renderedVisible_=r),!Object(h.b)(e,this.renderedAttributions_)){Object(Ai.e)(this.ulElement_);for(var n=0,i=e.length;n0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:Qo.easeOut}):t.setRotation(0))}},e.prototype.render=function(t){var e=t.frameState;if(e){var r=e.viewState.rotation;if(r!=this.rotation_){var n="rotate("+r+"rad)";if(this.autoHide_){var i=this.element.classList.contains(xi);i||0!==r?i&&0!==r&&this.element.classList.remove(xi):this.element.classList.add(xi)}this.label_.style.transform=n}this.rotation_=r}},e}(us),ds=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),gs=function(t){function e(e){var r=this,n=e||{};r=t.call(this,{element:document.createElement("div"),target:n.target})||this;var i=void 0!==n.className?n.className:"ol-zoom",o=void 0!==n.delta?n.delta:1,a=void 0!==n.zoomInClassName?n.zoomInClassName:i+"-in",s=void 0!==n.zoomOutClassName?n.zoomOutClassName:i+"-out",l=void 0!==n.zoomInLabel?n.zoomInLabel:"+",u=void 0!==n.zoomOutLabel?n.zoomOutLabel:"–",c=void 0!==n.zoomInTipLabel?n.zoomInTipLabel:"Zoom in",h=void 0!==n.zoomOutTipLabel?n.zoomOutTipLabel:"Zoom out",f=document.createElement("button");f.className=a,f.setAttribute("type","button"),f.title=c,f.appendChild("string"==typeof l?document.createTextNode(l):l),f.addEventListener(fo.a.CLICK,r.handleClick_.bind(r,o),!1);var p=document.createElement("button");p.className=s,p.setAttribute("type","button"),p.title=h,p.appendChild("string"==typeof u?document.createTextNode(u):u),p.addEventListener(fo.a.CLICK,r.handleClick_.bind(r,-o),!1);var d=i+" "+"ol-unselectable "+Si,g=r.element;return g.className=d,g.appendChild(f),g.appendChild(p),r.duration_=void 0!==n.duration?n.duration:250,r}return ds(e,t),e.prototype.handleClick_=function(t,e){e.preventDefault(),this.zoomByDelta_(t)},e.prototype.zoomByDelta_=function(t){var e=this.getMap().getView();if(e){var r=e.getZoom();if(void 0!==r){var n=e.getConstrainedZoom(r+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:n,duration:this.duration_,easing:Qo.easeOut})):e.setZoom(n)}}},e}(us);function ys(t){var e=t||{},r=new ho;return(void 0===e.zoom||e.zoom)&&r.push(new gs(e.zoomOptions)),(void 0===e.rotate||e.rotate)&&r.push(new ps(e.rotateOptions)),(void 0===e.attribution||e.attribution)&&r.push(new hs(e.attributionOptions)),r}var ms="active",_s=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function vs(t,e,r,n){var i=t.getZoom();if(void 0!==i){var o=t.getConstrainedZoom(i+e),a=t.getResolutionForZoom(o);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:a,anchor:r,duration:void 0!==n?n:250,easing:Qo.easeOut})}}var bs=function(t){function e(e){var r=t.call(this)||this;return r.on,r.once,r.un,e&&e.handleEvent&&(r.handleEvent=e.handleEvent),r.map_=null,r.setActive(!0),r}return _s(e,t),e.prototype.getActive=function(){return this.get(ms)},e.prototype.getMap=function(){return this.map_},e.prototype.handleEvent=function(t){return!0},e.prototype.setActive=function(t){this.set(ms,t)},e.prototype.setMap=function(t){this.map_=t},e}(Pi.a),xs=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ws=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.delta_=n.delta?n.delta:1,r.duration_=void 0!==n.duration?n.duration:250,r}return xs(e,t),e.prototype.handleEvent=function(t){var e=!1;if(t.type==So.DBLCLICK){var r=t.originalEvent,n=t.map,i=t.coordinate,o=r.shiftKey?-this.delta_:this.delta_;vs(n.getView(),o,i,this.duration_),r.preventDefault(),e=!0}return!e},e}(bs),Es=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function Ss(t){for(var e=t.length,r=0,n=0,i=0;i0}}else if(t.type==So.POINTERDOWN){var n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==So.POINTERMOVE&&this.handleMoveEvent(t);return!e},e.prototype.handleMoveEvent=function(t){},e.prototype.handleUpEvent=function(t){return!1},e.prototype.stopDown=function(t){return t},e.prototype.updateTrackedPointers_=function(t){t.activePointers&&(this.targetPointers=t.activePointers)},e}(bs);function Is(t){var e=arguments;return function(t){for(var r=!0,n=0,i=e.length;n0&&this.condition_(t)){var e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1},e}(Os),zs=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Vs=function(t){function e(e){var r=this,n=e||{};return(r=t.call(this,{stopDown:ai.a})||this).condition_=n.condition?n.condition:Ts,r.lastAngle_=void 0,r.duration_=void 0!==n.duration?n.duration:250,r}return zs(e,t),e.prototype.handleDragEvent=function(t){if(Ds(t)){var e=t.map,r=e.getView();if(r.getConstraints().rotation!==Ko){var n=e.getSize(),i=t.pixel,o=Math.atan2(n[1]/2-i[1],i[0]-n[0]/2);if(void 0!==this.lastAngle_){var a=o-this.lastAngle_;r.adjustRotationInternal(-a)}this.lastAngle_=o}}},e.prototype.handleUpEvent=function(t){return!Ds(t)||(t.map.getView().endInteraction(this.duration_),!1)},e.prototype.handleDownEvent=function(t){return!!Ds(t)&&(!(!Ms(t)||!this.condition_(t))&&(t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0))},e}(Os),qs=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Ys=function(t){function e(e){var r=t.call(this)||this;return r.geometry_=null,r.element_=document.createElement("div"),r.element_.style.position="absolute",r.element_.style.pointerEvents="auto",r.element_.className="ol-box "+e,r.map_=null,r.startPixel_=null,r.endPixel_=null,r}return qs(e,t),e.prototype.disposeInternal=function(){this.setMap(null)},e.prototype.render_=function(){var t=this.startPixel_,e=this.endPixel_,r="px",n=this.element_.style;n.left=Math.min(t[0],e[0])+r,n.top=Math.min(t[1],e[1])+r,n.width=Math.abs(e[0]-t[0])+r,n.height=Math.abs(e[1]-t[1])+r},e.prototype.setMap=function(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);var e=this.element_.style;e.left="inherit",e.top="inherit",e.width="inherit",e.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)},e.prototype.setPixels=function(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()},e.prototype.createOrUpdateGeometry=function(){var t=this.startPixel_,e=this.endPixel_,r=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);r[4]=r[0].slice(),this.geometry_?this.geometry_.setCoordinates([r]):this.geometry_=new Xa([r])},e.prototype.getGeometry=function(){return this.geometry_},e}(oi.a),Ws=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Xs="boxstart",Hs="boxdrag",Zs="boxend",Ks="boxcancel",Js=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.coordinate=r,i.mapBrowserEvent=n,i}return Ws(e,t),e}(so.a),Qs=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un;var n=e||{};return r.box_=new Ys(n.className||"ol-dragbox"),r.minArea_=void 0!==n.minArea?n.minArea:64,n.onBoxEnd&&(r.onBoxEnd=n.onBoxEnd),r.startPixel_=null,r.condition_=n.condition?n.condition:Ms,r.boxEndCondition_=n.boxEndCondition?n.boxEndCondition:r.defaultBoxEndCondition,r}return Ws(e,t),e.prototype.defaultBoxEndCondition=function(t,e,r){var n=r[0]-e[0],i=r[1]-e[1];return n*n+i*i>=this.minArea_},e.prototype.getGeometry=function(){return this.box_.getGeometry()},e.prototype.handleDragEvent=function(t){this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new Js(Hs,t.coordinate,t))},e.prototype.handleUpEvent=function(t){this.box_.setMap(null);var e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new Js(e?Zs:Ks,t.coordinate,t)),!1},e.prototype.handleDownEvent=function(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new Js(Xs,t.coordinate,t)),!0)},e.prototype.onBoxEnd=function(t){},e}(Os),$s=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),tl=function(t){function e(e){var r=this,n=e||{},i=n.condition?n.condition:js;return(r=t.call(this,{condition:i,className:n.className||"ol-dragzoom",minArea:n.minArea})||this).duration_=void 0!==n.duration?n.duration:200,r.out_=void 0!==n.out&&n.out,r}return $s(e,t),e.prototype.onBoxEnd=function(t){var e=this.getMap().getView(),r=this.getGeometry();if(this.out_){var n=e.rotatedExtentForGeometry(r),i=e.getResolutionForExtentInternal(n),o=e.getResolution()/i;(r=r.clone()).scale(o*o)}e.fitInternal(r,{duration:this.duration_,easing:Qo.easeOut})},e}(Qs),el=37,rl=38,nl=39,il=40,ol=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),al=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.defaultCondition_=function(t){return ks(t)&&Fs(t)},r.condition_=void 0!==n.condition?n.condition:r.defaultCondition_,r.duration_=void 0!==n.duration?n.duration:100,r.pixelDelta_=void 0!==n.pixelDelta?n.pixelDelta:128,r}return ol(e,t),e.prototype.handleEvent=function(t){var e=!1;if(t.type==fo.a.KEYDOWN){var r=t.originalEvent,n=r.keyCode;if(this.condition_(t)&&(n==il||n==el||n==nl||n==rl)){var i=t.map.getView(),o=i.getResolution()*this.pixelDelta_,a=0,s=0;n==il?s=-o:n==el?a=-o:n==nl?a=o:s=o;var l=[a,s];Object(di.j)(l,i.getRotation()),function(t,e,r){var n=t.getCenterInternal();if(n){var i=[n[0]+e[0],n[1]+e[1]];t.animateInternal({duration:void 0!==r?r:250,easing:Qo.linear,center:t.getConstrainedCenter(i)})}}(i,l,this.duration_),r.preventDefault(),e=!0}}return!e},e}(bs),sl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ll=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.condition_=n.condition?n.condition:Fs,r.delta_=n.delta?n.delta:1,r.duration_=void 0!==n.duration?n.duration:100,r}return sl(e,t),e.prototype.handleEvent=function(t){var e=!1;if(t.type==fo.a.KEYDOWN||t.type==fo.a.KEYPRESS){var r=t.originalEvent,n=r.charCode;if(this.condition_(t)&&(n=="+".charCodeAt(0)||n=="-".charCodeAt(0))){var i=t.map,o=n=="+".charCodeAt(0)?this.delta_:-this.delta_;vs(i.getView(),o,void 0,this.duration_),r.preventDefault(),e=!0}}return!e},e}(bs),ul=function(){function t(t,e,r){this.decay_=t,this.minVelocity_=e,this.delay_=r,this.points_=[],this.angle_=0,this.initialVelocity_=0}return t.prototype.begin=function(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0},t.prototype.update=function(t,e){this.points_.push(t,e,Date.now())},t.prototype.end=function(){if(this.points_.length<6)return!1;var t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[r+2]>t;)r-=3;var n=this.points_[e+2]-this.points_[r+2];if(n<1e3/60)return!1;var i=this.points_[e]-this.points_[r],o=this.points_[e+1]-this.points_[r+1];return this.angle_=Math.atan2(o,i),this.initialVelocity_=Math.sqrt(i*i+o*o)/n,this.initialVelocity_>this.minVelocity_},t.prototype.getDistance=function(){return(this.minVelocity_-this.initialVelocity_)/this.decay_},t.prototype.getAngle=function(){return this.angle_},t}(),cl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),hl="trackpad",fl="wheel",pl=function(t){function e(e){var r=this,n=e||{};(r=t.call(this,n)||this).totalDelta_=0,r.lastDelta_=0,r.maxDelta_=void 0!==n.maxDelta?n.maxDelta:1,r.duration_=void 0!==n.duration?n.duration:250,r.timeout_=void 0!==n.timeout?n.timeout:80,r.useAnchor_=void 0===n.useAnchor||n.useAnchor,r.constrainResolution_=void 0!==n.constrainResolution&&n.constrainResolution;var i=n.condition?n.condition:Ls;return r.condition_=n.onFocusOnly?Is(Rs,i):i,r.lastAnchor_=null,r.startTime_=void 0,r.timeoutId_,r.mode_=void 0,r.trackpadEventGap_=400,r.trackpadTimeoutId_,r.deltaPerZoom_=300,r}return cl(e,t),e.prototype.endInteraction_=function(){this.trackpadTimeoutId_=void 0;var t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_)},e.prototype.handleEvent=function(t){if(!this.condition_(t))return!0;if(t.type!==fo.a.WHEEL)return!0;var e,r=t.map,n=t.originalEvent;if(n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.coordinate),t.type==fo.a.WHEEL&&(e=n.deltaY,Li.b&&n.deltaMode===WheelEvent.DOM_DELTA_PIXEL&&(e/=Li.a),n.deltaMode===WheelEvent.DOM_DELTA_LINE&&(e*=40)),0===e)return!1;this.lastDelta_=e;var i=Date.now();void 0===this.startTime_&&(this.startTime_=i),(!this.mode_||i-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(e)<4?hl:fl);var o=r.getView();if(this.mode_===hl&&!o.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(o.getAnimating()&&o.cancelAnimations(),o.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),o.adjustZoom(-e/this.deltaPerZoom_,this.lastAnchor_),this.startTime_=i,!1;this.totalDelta_+=e;var a=Math.max(this.timeout_-(i-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,r),a),!1},e.prototype.handleWheelZoom_=function(t){var e=t.getView();e.getAnimating()&&e.cancelAnimations();var r=-Object(qo.b)(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(r=r?r>0?1:-1:0),vs(e,r,this.lastAnchor_,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0},e.prototype.setMouseAnchor=function(t){this.useAnchor_=t,t||(this.lastAnchor_=null)},e}(bs),dl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),gl=function(t){function e(e){var r=this,n=e||{},i=n;return i.stopDown||(i.stopDown=ai.a),(r=t.call(this,i)||this).anchor_=null,r.lastAngle_=void 0,r.rotating_=!1,r.rotationDelta_=0,r.threshold_=void 0!==n.threshold?n.threshold:.3,r.duration_=void 0!==n.duration?n.duration:250,r}return dl(e,t),e.prototype.handleDragEvent=function(t){var e=0,r=this.targetPointers[0],n=this.targetPointers[1],i=Math.atan2(n.clientY-r.clientY,n.clientX-r.clientX);if(void 0!==this.lastAngle_){var o=i-this.lastAngle_;this.rotationDelta_+=o,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=o}this.lastAngle_=i;var a=t.map,s=a.getView();if(s.getConstraints().rotation!==Ko){var l=a.getViewport().getBoundingClientRect(),u=Ss(this.targetPointers);u[0]-=l.left,u[1]-=l.top,this.anchor_=a.getCoordinateFromPixelInternal(u),this.rotating_&&(a.render(),s.adjustRotationInternal(e,this.anchor_))}},e.prototype.handleUpEvent=function(t){return!(this.targetPointers.length<2)||(t.map.getView().endInteraction(this.duration_),!1)},e.prototype.handleDownEvent=function(t){if(this.targetPointers.length>=2){var e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1},e}(Os),yl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ml=function(t){function e(e){var r=this,n=e||{},i=n;return i.stopDown||(i.stopDown=ai.a),(r=t.call(this,i)||this).anchor_=null,r.duration_=void 0!==n.duration?n.duration:400,r.lastDistance_=void 0,r.lastScaleDelta_=1,r}return yl(e,t),e.prototype.handleDragEvent=function(t){var e=1,r=this.targetPointers[0],n=this.targetPointers[1],i=r.clientX-n.clientX,o=r.clientY-n.clientY,a=Math.sqrt(i*i+o*o);void 0!==this.lastDistance_&&(e=this.lastDistance_/a),this.lastDistance_=a;var s=t.map,l=s.getView();1!=e&&(this.lastScaleDelta_=e);var u=s.getViewport().getBoundingClientRect(),c=Ss(this.targetPointers);c[0]-=u.left,c[1]-=u.top,this.anchor_=s.getCoordinateFromPixelInternal(c),s.render(),l.adjustResolutionInternal(e,this.anchor_)},e.prototype.handleUpEvent=function(t){if(this.targetPointers.length<2){var e=t.map.getView(),r=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,r),!1}return!0},e.prototype.handleDownEvent=function(t){if(this.targetPointers.length>=2){var e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1},e}(Os);function _l(t){var e=t||{},r=new ho,n=new ul(-.005,.05,100);return(void 0===e.altShiftDragRotate||e.altShiftDragRotate)&&r.push(new Vs),(void 0===e.doubleClickZoom||e.doubleClickZoom)&&r.push(new ws({delta:e.zoomDelta,duration:e.zoomDuration})),(void 0===e.dragPan||e.dragPan)&&r.push(new Bs({onFocusOnly:e.onFocusOnly,kinetic:n})),(void 0===e.pinchRotate||e.pinchRotate)&&r.push(new gl),(void 0===e.pinchZoom||e.pinchZoom)&&r.push(new ml({duration:e.zoomDuration})),(void 0===e.keyboard||e.keyboard)&&(r.push(new al),r.push(new ll({delta:e.zoomDelta,duration:e.zoomDuration}))),(void 0===e.mouseWheelZoom||e.mouseWheelZoom)&&r.push(new pl({onFocusOnly:e.onFocusOnly,duration:e.zoomDuration})),(void 0===e.shiftDragZoom||e.shiftDragZoom)&&r.push(new tl({duration:e.zoomDuration})),r}var vl=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),bl=function(t){function e(e){return(e=Object(Mi.a)({},e)).controls||(e.controls=ys()),e.interactions||(e.interactions=_l({onFocusOnly:!0})),t.call(this,e)||this}return vl(e,t),e.prototype.createRenderer=function(){return new no(this)},e}(ss);function xl(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function wl(t,e){for(var r=0;r2&&void 0!==arguments[2]&&arguments[2];xl(this,t),this._listener=e,this._scope=r,this.eventKey_=sD(),this.once_=n}var e,r,n;return e=t,(r=[{key:"fire",value:function(t){var e=t;JF(e)||(e=[e]),this._listener.apply(this._scope,e)}},{key:"getEventKey",value:function(){return this.eventKey_}},{key:"isOnce",value:function(){return this.once_}},{key:"has",value:function(t,e){var r=!1;return r=$F(t)?this._listener===t&&this._scope===e:this.eventKey_===t,r}}])&&wl(e.prototype,r),n&&wl(e,n),t}();function Sl(t,e){for(var r=0;r3&&void 0!==arguments[3]&&arguments[3];if(!QF(t)&&$F(e)&&(QF(this.events_[t])&&(this.events_[t]=[]),-1===this.indexOf(t,e,r))){var o=new El(e,r,i);this.events_[t].push(o),n=o.getEventKey()}return n}},{key:"remove",value:function(t,e,r){var n=this.events_[t];if(!QF(n)){var i=this.indexOf(t,e,r);-1!==i&&n.splice(i,1)}}},{key:"removeByKey",value:function(t,e){var r=this.events_[t];if(!QF(r)){var n=r.map((function(t,r){var n=-1;return t.getEventKey()===e&&(n=r),n}));-1!==n&&r.splice(n,1)}}},{key:"fire",value:function(t,e){var r=this,n=[].concat(this.events_[t]);QF(n)||n.forEach((function(n){n.fire(e),!0===n.isOnce()&&r.remove(t,n.getEventKey())}))}},{key:"indexOf",value:function(t,e,r){var n=-1,i=this.events_[t];if(!QF(i))for(var o=0,a=i.length;or?(this.direction_=Ml,this.widthLimit_=e-a):(this.direction_=Ll,this.heightLimit_=r-s),this.sliderInitialized_=!0},e.prototype.handleContainerClick_=function(t){var e=this.getMap().getView(),r=this.getRelativePosition_(t.offsetX-this.thumbSize_[0]/2,t.offsetY-this.thumbSize_[1]/2),n=this.getResolutionForPosition_(r),i=e.getConstrainedZoom(e.getZoomForResolution(n));e.animateInternal({zoom:i,duration:this.duration_,easing:Qo.easeOut})},e.prototype.handleDraggerStart_=function(t){if(!this.dragging_&&t.target===this.element.firstElementChild){var e=this.element.firstElementChild;if(this.getMap().getView().beginInteraction(),this.startX_=t.clientX-parseFloat(e.style.left),this.startY_=t.clientY-parseFloat(e.style.top),this.dragging_=!0,0===this.dragListenerKeys_.length){var r=this.handleDraggerDrag_,n=this.handleDraggerEnd_,i=this.getMap().getOwnerDocument();this.dragListenerKeys_.push(Object(eo.a)(i,Oo,r,this),Object(eo.a)(i,Co,n,this))}}},e.prototype.handleDraggerDrag_=function(t){if(this.dragging_){var e=t.clientX-this.startX_,r=t.clientY-this.startY_,n=this.getRelativePosition_(e,r);this.currentResolution_=this.getResolutionForPosition_(n),this.getMap().getView().setResolution(this.currentResolution_)}},e.prototype.handleDraggerEnd_=function(t){this.dragging_&&(this.getMap().getView().endInteraction(),this.dragging_=!1,this.startX_=void 0,this.startY_=void 0,this.dragListenerKeys_.forEach(eo.c),this.dragListenerKeys_.length=0)},e.prototype.setThumbPosition_=function(t){var e=this.getPositionForResolution_(t),r=this.element.firstElementChild;this.direction_==Ml?r.style.left=this.widthLimit_*e+"px":r.style.top=this.heightLimit_*e+"px"},e.prototype.getRelativePosition_=function(t,e){var r;return r=this.direction_===Ml?t/this.widthLimit_:e/this.heightLimit_,Object(qo.b)(r,0,1)},e.prototype.getResolutionForPosition_=function(t){return this.getMap().getView().getResolutionForValueFunction()(1-t)},e.prototype.getPositionForResolution_=function(t){var e=this.getMap().getView().getValueForResolutionFunction();return Object(qo.b)(1-e(t),0,1)},e.prototype.render=function(t){if(t.frameState&&(this.sliderInitialized_||this.initSlider_())){var e=t.frameState.viewState.resolution;this.currentResolution_=e,this.setThumbPosition_(e)}},e}(us);function Nl(t){return(Nl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function kl(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:Ru.lang;return Lu(e)[t]};function Au(t){return(Au="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Nu(t,e){for(var r=0;re?r.fn(this):r.inverse(this)})),Bu.a.registerHelper("lt",(function(t,e,r){return t0&&void 0!==arguments[0]?arguments[0]:{};Wu(this,o);var r=new Ul(e);return t=i.call(this,r,o.NAME),HF(Ul)&&Bl(Mu("exception").panzoombar_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(Pl.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&Xu(e.prototype,r),n&&Xu(e,n),o}(Gu);Qu.NAME="panzoombar";var $u=Qu,tc="WMC",ec="KML",rc="WMS",nc="WFS",ic="WMTS",oc="OSM",ac="Mapbox",sc="GeoJSON",lc="Vector",uc="MVT",cc={WMC:tc,KML:ec,WMS:rc,WFS:nc,WMTS:ic,OSM:oc,Mapbox:ac,GeoJSON:sc,Vector:lc,MVT:uc},hc=function(t){var e=iD(t,!0);return e="WMS_FULL"===e?rc:"WFST"===e?nc:Object.keys(cc).find((function(t){var r=cc[t];return eD(r)&&iD(r,!0)===e})),cc[e]},fc=function(t){return-1!==[tc,ec,rc,nc,ic,uc].indexOf(hc(t))};function pc(t){return(pc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var dc=/WMS\*.*/,gc=/WMS_FULL\*.*/,yc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))},array_string:function(t){return t.split(i).map((function(t){return t.trim()})).map((function(t){return String(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(pc(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},mc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e=yc({parameter:t,type:"string",attr:"name"}),r=yc({parameter:t,type:"string",attr:"url"}),n=yc({parameter:t,type:"string",attr:"legend"}),i=yc({parameter:t,type:"boolean",attr:"transparent"}),o=yc({parameter:t,type:"boolean",attr:"tiled"}),a=yc({parameter:t,type:"array_number",attr:"maxExtent",separator:"_"}),s=yc({parameter:t,type:"string",attr:"version"}),l=yc({parameter:t,type:"array_string",attr:"styles",separator:"%"});return dc.test(t)||tD(t)?{type:"WMS",name:e(dc,3),tiled:o(dc,5),url:r(dc,2),legend:n(dc,1),transparent:i(dc,4),maxExtent:a(dc,6),version:s(dc,7),styles:l(dc,8)}:{type:"WMS",url:r(gc,1)}})),JF(t)||(e=e[0]),e};function _c(t){return(_c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var vc=/KML\*.*/,bc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.valueCmp,o=void 0===i?/^1|true/i:i,a=t.separator,s=t.normalized,l=void 0!==s&&s;return function(t,i){var s,u={boolean:function(t){return o.test(t)},boolean_eql:function(t){return void 0===t||"true"===t},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(a||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var c=e.split("*"),h=c[i];s=u[n](h),"extract"===r&&(s="false"!==(h=c.slice(-2,-1)[0])),"label"===r&&(s="false"!==(h=c.slice(-1)[0])),"url"!==r||"true"!==s&&"false"!==s&&void 0!==s||(s="")}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(_c(e)));return eD(s)&&(s=s.trim()),!0===l&&(s=iD(s)),s}},xc=function(t){var e=t,r=[];QF(e)&&Bl(Mu("exception").no_param);var n=e;return JF(n)||(n=[n]),r=n.map((function(t){var e=bc({parameter:t,type:"string",attr:"name"}),r=bc({parameter:t,type:"string",attr:"url"}),n=bc({parameter:t,type:"boolean",attr:"extract"}),i=bc({parameter:t,type:"boolean_eql",attr:"label"});return vc.test(t)?{type:ec,name:e(vc,1),url:r(vc,2)+r(vc,3),extract:n(vc,4),label:i(vc,5)}:{type:ec,name:e(vc),url:r(vc),extract:n(vc),label:i(vc)}})),JF(e)||(r=r[0]),r};function wc(t){return(wc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Ec=/MAPBOX\*.*/,Sc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(wc(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},Oc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e=Sc({parameter:t,type:"string",attr:"name"})(Ec,1),r=Sc({parameter:t,type:"string",attr:"legend"})(Ec,3),n=Sc({parameter:t,type:"boolean",attr:"transparent"})(Ec,2),i=function(t){var e;return eD(t)?e=null:tD(t)&&!QF(t.accessToken)?e=t.accessToken.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(wc(t))),e}(t);return{type:ac,name:e,legend:r,transparent:n,accessToken:i}})),JF(t)||(e=e[0]),e};function Ic(t){return(Ic="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Cc=/OSM\.*/,Tc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(Ic(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},Pc=function(t){var e=t,r=[];QF(e)&&(e={type:oc,name:"osm"});var n=e;return JF(n)||(n=[n]),r=n.map((function(t){return{type:"OSM",name:Tc({parameter:t,type:"string",attr:"name"})(Cc,3),transparent:Tc({parameter:t,type:"boolean",attr:"transparent"})(Cc,1),legend:Tc({parameter:t,type:"string",attr:"legend"})(Cc,2)}})),JF(e)||(r=r[0]),r};function Rc(t){return(Rc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Lc=/^GeoJSON(T)?\*.*/,Mc=function(t){var e=t.parameter,r=t.attr,n=t.type,i=t.separator,o=t.normalized,a=void 0!==o&&o;return function(t,o){var s,l={boolean:function(t){return/^1|(true)$/i.test(t)},string:function(t){return t},int:function(t){return Number.parseInt(t,10)},float:function(t){return Number.parseFloat(t,10)},array_number:function(t){return t.split(i||"").map((function(t){return t.trim()})).map((function(t){return Number.parseFloat(t)}))}};if(eD(e)&&t.test(e)){var u=e.split("*")[o];QF(u)||(s=l[n](u))}else tD(e)?s=e[r]:Bl("El parámetro no es de un tipo soportado: ".concat(Rc(e)));return eD(s)&&(s=s.trim()),!0===a&&(s=iD(s)),s}},Ac=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){return{type:"GeoJSON",name:Mc({parameter:t,type:"string",attr:"name"})(Lc,1),url:Mc({parameter:t,type:"string",attr:"name"})(Lc,2),extract:Mc({parameter:t,type:"boolean",attr:"extract"})(Lc,3),style:Mc({parameter:t,type:"string",attr:"style"})(Lc,4)}})),JF(t)||(e=e[0]),e};function Nc(t){return(Nc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var kc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e,r,n={};return n.type=tc,n.name=(eD(e=t)?/^\w{3,7}\*[^*]+\*[^*]+$/.test(e)?r=e.split(/\*/)[2].trim():/^\w{3,7}\*[^*]$/.test(e)||/^[^*]+\*[^*]+$/.test(e)?r=e.split(/\*/)[1].trim():/^[^*]+$/.test(e)&&!rD(e)&&(r=e):tD(e)?r=iD(e.name):Bl("El parámetro no es de un tipo soportado: ".concat(Nc(e))),rD(r)&&(r=null),r),n.url=function(t){var e;if(eD(t)){var r=t.match(/^([^*]*\*)*(https?:\/\/[^*]+)([^*]*\*?)*$/i);r&&r.length>2&&(e=r[2])}else tD(t)?e=t.url:Bl("El parámetro no es de un tipo soportado: ".concat(Nc(t)));return e}(t),n.options=function(t){var e;return eD(t)||(tD(t)?e=t.options:Bl("El parámetro no es de un tipo soportado: ".concat(Nc(t)))),e}(t),n})),JF(t)||(e=e[0]),e};function jc(t){return(jc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Fc=function(t){var e=t,r={};if(QF(e)&&Bl(Mu("exception").no_center),eD(e))if(e=iD(e),/^-?\d+(\.\d+)?[,;]-?\d+(\.\d+)?([*](true|false))?$/i.test(e)){var n=e.split(/\*/),i=n[0],o=n[1],a=i.split(/[,;]+/);2===a.length?(r.x=Number.parseFloat(a[0]),r.y=Number.parseFloat(a[1])):Bl(Mu("exception").invalid_center_param),r.draw=/^1|(true)$/i.test(o)}else Bl(Mu("exception").invalid_center_param);else JF(e)?2===e.length||3===e.length?(eD(e[0])&&(e[0]=Number.parseFloat(e[0])),eD(e[1])&&(e[1]=Number.parseFloat(e[1])),r.x=e[0],r.y=e[1]):Bl(Mu("exception").invalid_center_param):tD(e)?(KF(e.x)?Bl(Mu("exception").invalid_center_param):(eD(e.x)&&(e.x=Number.parseFloat(e.x)),r.x=e.x),KF(e.y)?Bl(Mu("exception").invalid_center_param):(eD(e.y)&&(e.y=Number.parseFloat(e.y)),r.y=e.y),KF(e.draw)?r.draw=!1:r.draw=/^true$/.test(e.draw)):Bl("El parámetro no es de un tipo soportado: ".concat("undefined"==typeof maxExtentParameter?"undefined":jc(maxExtentParameter)));return(Number.isNaN(r.x)||Number.isNaN(r.y))&&Bl(Mu("exception").invalid_center_param),r},Dc=function(t){var e,r=t;if(!QF(r)){if(e={x:{},y:{}},QF(r)&&Bl(Mu("exception").no_maxextent),eD(r))if(/^\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?\s*[,;]\s*-?\d+(\.\d+)?$/.test(r)){var n=r.split(/[,;]+/);4===n.length?(e.x.min=Number.parseFloat(n[0]),e.y.min=Number.parseFloat(n[1]),e.x.max=Number.parseFloat(n[2]),e.y.max=Number.parseFloat(n[3])):Bl(Mu("exception").invalid_maxextent_param)}else Bl(Mu("exception").invalid_maxextent_param);else JF(r)?4===r.length?(eD(r[0])&&(r[0]=Number.parseFloat(r[0])),eD(r[1])&&(r[1]=Number.parseFloat(r[1])),eD(r[2])&&(r[2]=Number.parseFloat(r[2])),eD(r[3])&&(r[3]=Number.parseFloat(r[3])),e.x.min=r[0],e.y.min=r[1],e.x.max=r[2],e.y.max=r[3]):Bl(Mu("exception").invalid_maxextent_param):tD(r)?(KF(r.left)?KF(r.x.min)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.x.min)&&(r.x.min=Number.parseFloat(r.x.min)),e.x.min=r.x.min):(eD(r.left)&&(r.left=Number.parseFloat(r.left)),e.x.min=r.left),KF(r.bottom)?KF(r.y.min)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.y.min)&&(r.y.min=Number.parseFloat(r.y.min)),e.y.min=r.y.min):(eD(r.bottom)&&(r.bottom=Number.parseFloat(r.bottom)),e.y.min=r.bottom),KF(r.right)?KF(r.x.max)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.x.max)&&(r.x.max=Number.parseFloat(r.x.max)),e.x.max=r.x.max):(eD(r.right)&&(r.right=Number.parseFloat(r.right)),e.x.max=r.right),KF(r.top)?KF(r.y.max)?Bl(Mu("exception").invalid_maxextent_param):(eD(r.y.max)&&(r.y.max=Number.parseFloat(r.y.max)),e.y.max=r.y.max):(eD(r.top)&&(r.top=Number.parseFloat(r.top)),e.y.max=r.top)):Bl("El parámetro no es de un tipo soportado: ".concat(jc(r)));(Number.isNaN(e.x.min)||Number.isNaN(e.y.min)||Number.isNaN(e.x.max)||Number.isNaN(e.y.max))&&Bl(Mu("exception").invalid_maxextent_param)}return e},Gc=function(t){var e={code:null,units:null};if(QF(t)&&Bl(Mu("exception").no_projection),eD(t))if(/^(EPSG:)?\d+\*((d(egrees)?)|(m(eters)?))$/i.test(t)){var r=t.split(/\*/);e.code=r[0],e.units=iD(r[1].substring(0,1))}else Bl("El formato del parámetro projection no es correcto.
    Se usará la proyección por defecto: ".concat(M.config.DEFAULT_PROJ));else tD(t)?KF(t.code)||KF(t.units)?Bl("El formato del parámetro projection no es correcto.
    Se usará la proyección por defecto: ".concat(M.config.DEFAULT_PROJ)):(e.code=t.code,e.units=iD(t.units.substring(0,1))):Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return"m"!==e.units&&"d"!==e.units&&Bl('La unidad "'.concat(t.units,'" del parámetro projection no es válida. Las disponibles son: "m" o "d"')),e},Uc=function(t){var e=t,r=[];QF(e)&&Bl(Mu("exception").no_resolutions),eD(e)&&(/^\d+(\.\d+)?([,;]\d+(\.\d+)?)*$/.test(e)?e=e.split(/[,;]+/):Bl(Mu("exception").invalid_resolutions_param)),JF(e)?r=e.map((function(t){return eD(t)?Number.parseFloat(t):t})):Bl("El parámetro no es de un tipo soportado: ".concat(jc(e)));for(var n=!0,i=0,o=r.length;i2&&(e=r[2])}else tD(t)?e=t.url:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(e),i.namespace=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)?/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+/i.test(t)&&(e=t.split(/\*/)[3].trim().split(":")[0]):/^[^*]*\*[^*]+:[^*]+/.test(t)&&(e=t.split(/\*/)[1].trim().split(":")[0]):tD(t)&&!QF(t.namespace)?e=t.namespace.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(e),i.legend=function(t){var e;return eD(t)?/^WFS(T)?\*[^*]/i.test(t)?e=t.split(/\*/)[1].trim():/^[^*]+\*[^*]+:[^*]+\*[^*]+/.test(t)&&(e=t.split(/\*/)[2].trim()):tD(t)&&!QF(t.legend)?e=t.legend.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(e),i.cql=function(t){var e;return eD(t)?(/^[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]+/i.test(t)&&(e=t.split(/\*/)[3].trim()),/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]*\*[^*]*/i.test(t)&&(e=t.split(/\*/)[6].trim())):tD(t)&&!QF(t.cql)||!QF(t.ecql)?e=t.cql?t.cql.trim():t.ecql.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(/^(true|false)$/i.test(e)||/^\d\.\d\.\d$/.test(e))&&(e=void 0),e}(e),i.geometry=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)&&(/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+/i.test(t)||/^WFS(T)?\*[^*]*\*[^*][^*]+\*[^*]+/i.test(t))&&(e=t.split(/\*/)[4].trim()):tD(t)&&!QF(t.geometry)?e=t.geometry.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(e),i.ids=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)&&(/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*(.-?)+$/i.test(t)||/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+\*[^*]+\*(.-?)+$/i.test(t))&&(e=t.split(/\*/)[5].trim().split("-")):tD(t)&&!QF(t.ids)?e=t.ids:tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),rD(e)&&(e=null),QF(e)||JF(e)||(e=[e]),e}(e),i.version=function(t){var e;return eD(t)?/(\d\.\d\.\d)$/.test(t)&&(e=t.match(/\d\.\d\.\d$/)[0]):tD(t)?e=t.version:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),e}(e),i.style=function(t){var e;return eD(t)?/^WFS(T)?\*.+/i.test(t)&&/^WFS(T)?\*[^*]*\*[^*]+\*[^*]+:[^*]+\*[^*]+\*[^*]*\*[^*]*\*[^*]*/i.test(t)&&(e=t.split(/\*/)[7].trim()):tD(t)&&!QF(t.style)?e=t.style:tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),e}(e),i.options=function(t){var e;return eD(t)||(tD(t)?e=t.options:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)))),e}(e),i.outputFormat=t.outputFormat,i})),JF(t)||(e=e[0]),e},Vc=function(t){var e=[];QF(t)&&Bl("No ha especificado ningún parámetro");var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e={};return e.type=uc,e.name=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)/i);r&&r.length>2&&(e=r[2])}}else tD(t)&&!QF(t.name)?e=t.name.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e.url=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+).*/i);r&&r.length>1&&(e=r[1])}}else tD(t)&&!QF(t.url)?e=t.url.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e.mode=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)\*([^*]+)/i);r&&r.length>3&&(e=r[3])}}else tD(t)&&!QF(t.mode)?e=t.mode.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e.projection=function(t){var e;if(eD(t)){if(/^MVT\*.+/i.test(t)){var r=t.match(/.*\*(https?:\/\/[^*]+)\*([^*]+)\*([^*]+)\*([^*]+)/i);r&&r.length>4&&(e=r[4])}}else tD(t)&&!QF(t.proj)?e=t.proj.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),e})),JF(t)||(e=e[0]),e},qc=function(t){var e=[];QF(t)&&Bl(Mu("exception").no_param);var r=t;return JF(r)||(r=[r]),e=r.map((function(t){var e,r,n={};return n.type=ic,n.name=(eD(e=t)?/^WMTS\*.+/i.test(e)?/^WMTS\*[^*]+\*[^*]+/i.test(e)&&(r=e.split(/\*/)[2].trim()):/^[^*]*\*[^*]+/.test(e)&&(r=e.split(/\*/)[1].trim()):tD(e)&&!QF(e.name)?r=e.name.trim():tD(e)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(e))),(rD(r)||/^(true|false)$/i.test(r))&&(r=null),r),n.url=function(t){var e;if(eD(t)){var r=t.match(/^([^*]*\*)*(https?:\/\/[^*]+)([^*]*\*?)*$/i);r&&r.length>2&&(e=r[2])}else tD(t)?e=t.url:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return e}(t),n.matrixSet=function(t){var e,r;return eD(t)?/^WMTS\*[^*]+\*[^*]+(\*[^*]])*/i.test(t)?e=(r=t.split(/\*/))[3]?r[3].trim():null:/^[^*]+\*[^*]+\*[^*]+/.test(t)&&(e=(r=t.split(/\*/))[2].trim()):tD(t)&&!QF(t.matrixSet)?e=t.matrixSet.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(t),n.legend=function(t){var e;return eD(t)?/^WMTS\*.+/i.test(t)?/^WMTS\*[^*]+\*[^*]+\*[^*]*\*[^*]+/i.test(t)&&(e=t.split(/\*/)[4].trim()):/^[^*]+\*[^*]+\*[^*]*\*[^*]+/.test(t)&&(e=t.split(/\*/)[3].trim()):tD(t)&&!QF(t.legend)?e=t.legend.trim():tD(t)||Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),(rD(e)||/^(true|false)$/i.test(e))&&(e=null),e}(t),n.options=function(t){var e;return eD(t)||(tD(t)?e=t.options:Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)))),e}(t),n.transparent=function(t){var e;return eD(t)?/^WMTS\*[^*]+\*[^*]+\*[^*]*\*[^*]*\*(true|false)/i.test(t)?e=t.split(/\*/)[5].trim():/^WMS_FULL\*[^*]+(\*(true|false))?/i.test(t)?(t.split(/\*/),e=!0):/^[^*]+\*[^*]+\*[^*]+\*(true|false)/i.test(t)?e=t.split(/\*/)[3].trim():/^[^*]+\*[^*]+\*(true|false)/i.test(t)&&(e=t.split(/\*/)[2].trim()):tD(t)?e=iD(t.transparent):Bl("El parámetro no es de un tipo soportado: ".concat(jc(t))),QF(e)||(e=/^1|(true)$/i.test(e)),e}(t),n})),JF(t)||(e=e[0]),e},Yc={kml:xc,mapbox:Oc,osm:Pc,wfs:zc,wmc:kc,wms:mc,wmts:qc,geojson:Ac,mvt:Vc},Wc=function(t,e){var r=[];QF(t)&&Bl(Mu("exception").no_param);var n=t;return JF(n)||(n=[n]),r=n.map((function(t){var r=null;if(tD(t)&&t instanceof th)r=t;else{var n=function(t,e){var r;if(eD(t))if(/^\s*osm\s*$/i.test(t))r=oc;else if(/^\s*mapbox\*.+$/i.test(t))r=ac;else{var n=t.match(/^(\w+)\*.+$/);n&&n.length>1&&(r=hc(n[1]),HF(r)&&Bl("No se reconoce el tipo de capa ".concat(n[1]))),HF(r)&&!QF(e)?r=e:HF(r)&&Bl("No se reconoce el tipo de capa ".concat(r))}else tD(t)?QF(t.type)||(r=hc(t.type),HF(r)&&Bl("No se reconoce el tipo de capa ".concat(r))):Bl("El parámetro no es de un tipo soportado: ".concat(jc(t)));return QF(r)||QF(e)||r===e||Bl("El tipo de la capa (".concat(r).concat(") no era el esperado (").concat(e).concat(")")),QF(r)&&!QF(e)&&(r=e),r}(t,e);n=iD(n),r=$F(Yc[n])?Yc[n](t):t}return r})),JF(t)||(r=r[0]),r};function Xc(t){return(Xc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Hc(t,e){for(var r=0;r1?a:2,x=o||new Array(b);for(g=0;g>1;i1?new Th(r,$o,i):new Xa(r,$o,n);default:throw new Error("Invalid geometry type:"+e)}}Rh.prototype.getEndss=Rh.prototype.getEnds,Rh.prototype.getFlatCoordinates=Rh.prototype.getOrientedFlatCoordinates;var Mh=Rh,Ah=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function Nh(t){for(var e=[],r=0,n=t.length;r=r[0]||(t[1]<=r[1]&&t[3]>=r[1]||Object(mt.t)(t,this.intersectsCoordinate.bind(this)))}return!1},e.prototype.setCenter=function(t){var e=this.stride,r=this.flatCoordinates[e]-this.flatCoordinates[0],n=t.slice();n[e]=n[0]+r;for(var i=1;it.length)&&(e=t.length);for(var r=0,n=new Array(e);r1)e.geometry.coordinates.forEach((function(t){if(!Number.isFinite(t[0])&&Array.isArray(t))o.push(t.map((function(t){var e=[];return Number.isFinite(t[0])?e.push(r(t)):t.forEach((function(t){e.push(r(t))})),e}))),i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:o}});else{var n=r(t);o.push(n),i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:o}})}})),n.push(i);else if(3===e.geometry.coordinates.length)e.geometry.coordinates.pop(),i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:r(e.geometry.coordinates)}}),n.push(i);else if(1===t.length)if(e.geometry.coordinates[0].length>2){var a=e.geometry.coordinates[0].map((function(t){return r(t)}));i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:a}}),n.push(i)}else i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:r(e.geometry.coordinates[0])}}),n.push(i);else if(Number.isFinite(e.geometry.coordinates[0])){var s=r(e.geometry.coordinates);i=Vh(Vh({},e),{},{geometry:{type:e.geometry.type,coordinates:s}}),n.push(i)}})),n},Wh=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t)}var e,r,n;return e=t,n=[{key:"generateResolutions",value:function(t,e,r,n){var i,o,a,s=[];QF(e)&&(i=t.getExtent());var l=Object(mt.G)(i)/256;QF(r)&&(o=0),QF(n)&&(a=28);for(var u=a-o,c=0;c=o[e]}))?i.getExtent():Object(u.A)(t,n,i)}},{key:"olRenderFeature2olFeature",value:function(t,e,r){var n;if(!QF(t)){var i,o=t.getId(),a=t.getProperties();if(QF(e)&&QF(e))i=this.getGeometryFromRenderFeature(t.getGeometry());else{var s=e.getExtent(),l=e.getWorldExtent();if(!QF(s)&&!QF(l)){var u=this.cloneOLRenderFeature(t);u.transform(e,r),i=this.getGeometryFromRenderFeature(u.getGeometry())}}n=new gh,QF(o)?n.setId(sD("mapea_feature_")):n.setId(o),n.setProperties(a,!0),n.setGeometry(i)}return n}},{key:"cloneOLRenderFeature",value:function(t){var e=t.getType(),r=t.getFlatCoordinates(),n=t.getEnds(),i=t.getProperties(),o=t.getId(),a=Gh(r),s=Object.assign(i),l=Gh(n);return new Mh(e,a,l,s,o)}},{key:"getGeometryFromRenderFeature",value:function(t){var e,r=t.getFlatCoordinates(),n=t.getEnds(),i=t.getEndss();switch(t.getType()){case"Point":e=new Aa(r);break;case"LineString":e=new Eh(r);break;case"LinearRing":e=new La(r);break;case"Polygon":e=new Xa(r);break;case"MultiPoint":e=new mh(r);break;case"MultiLineString":e=new Oh(r,void 0,n);break;case"MultiPolygon":e=new Th(r,void 0,i);break;case"GeometryCollection":var o=t.getGeometries();e=new kh(o);break;case"Circle":var a=t.getFlatInteriorPoint();e=new Dh(a);break;default:e=null}return e}},{key:"getWMTSScale",value:function(t,e){var r=t.getProjection().code,n=Object(u.o)(r).getMetersPerUnit(),i=t.getMapImpl().getSize(),o=i[0],a=t.getMapImpl().getView().calculateExtent(i),s=n*(a[2]-a[0])/o*1e3/.28;return 1==!e&&(s=s>=1e3&&s<=95e4?1e3*Math.round(s/1e3):s>=95e4?1e6*Math.round(s/1e6):Math.round(s)),Math.trunc(s)}}],(r=null)&&Bh(e.prototype,r),n&&Bh(e,n),t}();function Xh(t){return(Xh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Hh(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Zh(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Hh(this,o),(t=i.call(this,e)).vendorOptions_=r,t.map=null,t.ol3Layer=null,t.options=e,t.visibility=!1!==t.options.visibility,t.displayInLayerSwitcher=!1!==t.options.displayInLayerSwitcher,t.zIndex_=null,t.minScale_=null,t.maxScale_=null,t.opacity_=t.options.opacity||1,t.legendUrl_=mD([M.config.THEME_URL,th.LEGEND_DEFAULT]),t}return e=o,(r=[{key:"isVisible",value:function(){return QF(this.ol3Layer)?this.visibility:this.ol3Layer.getVisible()}},{key:"isQueryable",value:function(){return!1}},{key:"inRange",value:function(){var t=!1;if(!QF(this.ol3Layer)){var e=this.map.getMapImpl().getView().getResolution(),r=this.ol3Layer.getMaxResolution();t=e>=this.ol3Layer.getMinResolution()&&e<=r}return t}},{key:"setVisible",value:function(t){this.visibility=t,QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"getZIndex",value:function(){return QF(this.getOLLayer())||(this.zIndex_=this.getOLLayer().getZIndex()),this.zIndex_}},{key:"setZIndex",value:function(t){this.zIndex_=t,QF(this.getOLLayer())||this.getOLLayer().setZIndex(t)}},{key:"getMinScale",value:function(){var t=this.map.getProjection().units;return QF(this.getOLLayer())||QF(t)||(this.minScale_=pD(this.getOLLayer().getMinResolution(),t)),this.minScale_}},{key:"setMinScale",value:function(t){this.minScale_=t;var e=this.map.getProjection().units,r=hD(t,e);QF(this.getOLLayer())||QF(r)||QF(e)||this.getOLLayer().setMinResolution(r)}},{key:"getMaxScale",value:function(){var t=this.map.getProjection().units;return QF(this.getOLLayer())||QF(t)||(this.maxScale_=pD(this.getOLLayer().getMaxResolution(),t)),this.maxScale_}},{key:"setMaxScale",value:function(t){this.maxScale_=t;var e=this.map.getProjection().units,r=hD(t,e);QF(this.getOLLayer())||QF(r)||QF(e)||this.getOLLayer().setMaxResolution(r)}},{key:"getOpacity",value:function(){return QF(this.getOLLayer())||(this.opacity_=this.getOLLayer().getOpacity()),this.opacity_}},{key:"setOpacity",value:function(t){this.opacity_=t,QF(this.getOLLayer())||this.getOLLayer().setOpacity(t)}},{key:"getOL3Layer",value:function(){return this.ol3Layer}},{key:"getOLLayer",value:function(){return this.ol3Layer}},{key:"setOL3Layer",value:function(t){var e=this.map.getMapImpl();return e.removeLayer(this.ol3Layer),this.ol3Layer=t,e.addLayer(t),this}},{key:"setOLLayer",value:function(t){var e=this.map.getMapImpl();return e.removeLayer(this.ol3Layer),this.ol3Layer=t,e.addLayer(t),this}},{key:"getMap",value:function(){return this.map}},{key:"getLegendURL",value:function(){return this.legendUrl_}},{key:"setLegendURL",value:function(t){this.legendUrl_=t}},{key:"getNumZoomLevels",value:function(){return M.config.ZOOM_LEVELS}},{key:"unselectFeatures",value:function(t,e,r){}},{key:"selectFeatures",value:function(t,e,r){}}])&&Zh(e.prototype,r),n&&Zh(e,n),o}(Cl);function ef(t,e){for(var r=0;r0)||Array.prototype.filter.call(t.children,(function(t){return t.tagName===r})).forEach((function(t){var r=t.cloneNode(!0);e.appendChild(r)}))}))},Gf=function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=n,a=e;if(!0===r&&(a=e.querySelector("Layer")),null!==a){Df(i,a);var s=a.querySelector("Name").innerHTML,l=a.children;Array.prototype.forEach.call(l,(function(e){"Layer"===e.tagName&&(o=t(e,!1,o,a))})),o[s]=a}return o},Uf=[function t(e,r){var n=e,i=r[n.Name];if(QF(i))JF(n.Layer)&&n.Layer.forEach((function(e){return t(e,r)}));else{var o=i.querySelector("SRS");if(null!==o){var a=o.innerHTML;n.SRS=[a]}}},function t(e,r){var n=r[e.Name];if(QF(n))JF(e.Layer)&&e.Layer.forEach((function(e){return t(e,r)}));else if(JF(e.BoundingBox)){var i=Array.prototype.filter.call(n.children,(function(t){return"Layer"===t.tagName})),o=Array.prototype.map.call(n.children,(function(t){return t}));0===(o=o.filter((function(t){return["BoundingBox"].includes(t.tagName)}))).length&&i.length>0?i.forEach((function(r){return t(e,(n={},i=e.Name,o=r,i in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o,n));var n,i,o})):e.BoundingBox.forEach((function(t,e){var r=t;if(null===r.crs){var n=o[e];if(!QF(n)){var i=n.getAttribute("SRS");QF(i)||(r.crs=i)}}}))}},function t(e,r){var n=e,i=r[e.Name];if(QF(i))JF(e.Layer)&&e.Layer.forEach((function(e){return t(e,r)}));else{n.ScaleHint=[];var o=Array.prototype.map.call(i.children,(function(t){return t}));(o=o.filter((function(t){return"ScaleHint"===t.tagName}))).forEach((function(t){var e={minScale:parseFloat(t.getAttribute("min")),maxScale:parseFloat(t.getAttribute("max"))};n.ScaleHint.push(e)}))}},function t(e,r){var n=e,i=r[e.Name];if(QF(i))JF(n.Layer)&&n.Layer.forEach((function(e){return t(e,r)}));else{n.LatLonBoundingBox=[];var o=Array.prototype.map.call(i.children,(function(t){return t}));(o=o.filter((function(t){return"LatLonBoundingBox"===t.tagName}))).forEach((function(t){var e={crs:"EPSG:4326",extent:[parseFloat(t.getAttribute("minx")),parseFloat(t.getAttribute("miny")),parseFloat(t.getAttribute("maxx")),parseFloat(t.getAttribute("maxy"))]};n.LatLonBoundingBox.push(e)}))}},function(t,e){var r=t;QF(r.BoundingBox)&&!QF(r.LatLonBoundingBox)&&(r.BoundingBox=r.LatLonBoundingBox)},function(t,e){var r=t;QF(r.MaxScaleDenominator)&&!QF(r.ScaleHint)&&(r.MaxScaleDenominator=r.ScaleHint[0].maxScale)},function(t,e){var r=t;QF(r.MinScaleDenominator)&&!QF(r.ScaleHint)&&(r.MinScaleDenominator=r.ScaleHint[0].minScale)}],Bf=function t(e,r){JF(e)?e.forEach((function(e){t(e,r)})):tD(e)&&(!function(t,e){Uf.forEach((function(r){r(t,e)}))}(e,r),t(e.Layer,r))},zf=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Af(t,e)}(o,t);var e,r,n,i=Nf(o);function o(){return Lf(this,o),i.apply(this,arguments)}return e=o,(r=[{key:"customRead",value:function(t){var e=this.read(t),r=Gf(t),n=e.Capability;return QF(n)||QF(n.Layer)||Bf(n.Layer,r),e}}])&&Mf(e.prototype,r),n&&Mf(e,n),o}(Pf),Vf=r(54),qf=r(68),Yf=r(67),Wf=r(9),Xf="tileloadstart",Hf="tileloadend",Zf="tileloaderror",Kf=r(39),Jf=r(19);function Qf(t,e){var r=/\{z\}/g,n=/\{x\}/g,i=/\{y\}/g,o=/\{-y\}/g;return function(a,s,l){return a?t.replace(r,a[0].toString()).replace(n,a[1].toString()).replace(i,a[2].toString()).replace(o,(function(){var t=a[0],r=e.getFullTileRange(t);return Object(go.a)(r,55),(r.getHeight()-a[2]-1).toString()})):void 0}}function $f(t,e){for(var r=t.length,n=new Array(r),i=0;i=0},e.prototype.tileUrlFunction=function(t,e,r){var n=this.getTileGrid();if(n||(n=this.getTileGridForProjection(r)),!(n.getResolutions().length<=t[0])){1==e||this.hidpi_&&void 0!==this.serverType_||(e=1);var i=n.getResolution(t[0]),o=n.getTileCoordExtent(t,this.tmpExtent_),a=Object(ns.d)(n.getTileSize(t[0]),this.tmpSize),s=this.gutter_;0!==s&&(a=Object(ns.a)(a,s,this.tmpSize),o=Object(mt.d)(o,i*s,o)),1!=e&&(a=Object(ns.c)(a,e,this.tmpSize));var l={SERVICE:"WMS",VERSION:cp,REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};return Object(Mi.a)(l,this.params_),this.getRequestUrl_(t,a,o,e,r,l)}},e}(up);function gp(t){return(gp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function yp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mp(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};yp(this,o);var e=t;return QF(t.tileLoadFunction)&&(e.tileLoadFunction=o.tileLoadFunction),i.call(this,e)}return e=o,n=[{key:"tileLoadFunction",value:function(t,e){var r=t;r.getImage().src="".concat(e,"&_=").concat(this.revision_),null!=M.config.ticket&&(r.getImage().src+="&ticket=".concat(M.config.ticket))}}],(r=[{key:"changed",value:function(){QF(this.tileCache)||this.tileCache.clear(),_p(wp(o.prototype),"changed",this).call(this)}}])&&mp(e.prototype,r),n&&mp(e,n),o}(dp),Sp=r(28),Op=r(42),Ip=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Cp=[101,101],Tp=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,interpolate:i,projection:n.projection,resolutions:n.resolutions})||this).crossOrigin_=void 0!==n.crossOrigin?n.crossOrigin:null,r.url_=n.url,r.imageLoadFunction_=void 0!==n.imageLoadFunction?n.imageLoadFunction:Sp.b,r.params_=n.params||{},r.v13_=!0,r.updateV13_(),r.serverType_=n.serverType,r.hidpi_=void 0===n.hidpi||n.hidpi,r.image_=null,r.imageSize_=[0,0],r.renderedRevision_=0,r.ratio_=void 0!==n.ratio?n.ratio:1.5,r}return Ip(e,t),e.prototype.getFeatureInfoUrl=function(t,e,r,n){if(void 0!==this.url_){var i=Object(u.o)(r),o=this.getProjection();o&&o!==i&&(e=Object(fp.b)(o,i,t,e),t=Object(u.z)(t,i,o));var a=Object(mt.z)(t,e,0,Cp),s={SERVICE:"WMS",VERSION:cp,REQUEST:"GetFeatureInfo",FORMAT:"image/png",TRANSPARENT:!0,QUERY_LAYERS:this.params_.LAYERS};Object(Mi.a)(s,this.params_,n);var l=Object(qo.d)((t[0]-a[0])/e,4),c=Object(qo.d)((a[3]-t[1])/e,4);return s[this.v13_?"I":"X"]=l,s[this.v13_?"J":"Y"]=c,this.getRequestUrl_(a,Cp,1,o||i,s)}},e.prototype.getLegendUrl=function(t,e){if(void 0!==this.url_){var r={SERVICE:"WMS",VERSION:cp,REQUEST:"GetLegendGraphic",FORMAT:"image/png"};if(void 0===e||void 0===e.LAYER){var n=this.params_.LAYERS;if(!(!Array.isArray(n)||1===n.length))return;r.LAYER=n}if(void 0!==t){var i=this.getProjection()?this.getProjection().getMetersPerUnit():1;r.SCALE=t*i/28e-5}return Object(Mi.a)(r,e),hp(this.url_,r)}},e.prototype.getParams=function(){return this.params_},e.prototype.getImageInternal=function(t,e,r,n){if(void 0===this.url_)return null;e=this.findNearestResolution(e),1==r||this.hidpi_&&void 0!==this.serverType_||(r=1);var i=e/r,o=Object(mt.x)(t),a=Object(qo.a)(Object(mt.G)(t)/i,4),s=Object(qo.a)(Object(mt.A)(t)/i,4),l=Object(mt.z)(o,i,0,[a,s]),u=Object(qo.a)(this.ratio_*Object(mt.G)(t)/i,4),c=Object(qo.a)(this.ratio_*Object(mt.A)(t)/i,4),h=Object(mt.z)(o,i,0,[u,c]),f=this.image_;if(f&&this.renderedRevision_==this.getRevision()&&f.getResolution()==e&&f.getPixelRatio()==r&&Object(mt.h)(f.getExtent(),l))return f;var p={SERVICE:"WMS",VERSION:cp,REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};Object(Mi.a)(p,this.params_),this.imageSize_[0]=Object(qo.h)(Object(mt.G)(h)/i,4),this.imageSize_[1]=Object(qo.h)(Object(mt.A)(h)/i,4);var d=this.getRequestUrl_(h,this.imageSize_,r,n,p);return this.image_=new Op.a(h,e,r,d,this.crossOrigin_,this.imageLoadFunction_),this.renderedRevision_=this.getRevision(),this.image_.addEventListener(fo.a.CHANGE,this.handleImageChange.bind(this)),this.image_},e.prototype.getImageLoadFunction=function(){return this.imageLoadFunction_},e.prototype.getRequestUrl_=function(t,e,r,n,i){if(Object(go.a)(void 0!==this.url_,9),i[this.v13_?"CRS":"SRS"]=n.getCode(),"STYLES"in this.params_||(i.STYLES=""),1!=r)switch(this.serverType_){case"geoserver":var o=90*r+.5|0;"FORMAT_OPTIONS"in i?i.FORMAT_OPTIONS+=";dpi:"+o:i.FORMAT_OPTIONS="dpi:"+o;break;case"mapserver":i.MAP_RESOLUTION=90*r;break;case"carmentaserver":case"qgis":i.DPI=90*r;break;default:Object(go.a)(!1,8)}i.WIDTH=e[0],i.HEIGHT=e[1];var a,s=n.getAxisOrientation();return a=this.v13_&&"ne"==s.substr(0,2)?[t[1],t[0],t[3],t[2]]:t,i.BBOX=a.join(","),hp(this.url_,i)},e.prototype.getUrl=function(){return this.url_},e.prototype.setImageLoadFunction=function(t){this.image_=null,this.imageLoadFunction_=t,this.changed()},e.prototype.setUrl=function(t){t!=this.url_&&(this.url_=t,this.image_=null,this.changed())},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.updateV13_(),this.image_=null,this.changed()},e.prototype.updateV13_=function(){var t=this.params_.VERSION||cp;this.v13_=Object(G.a)(t,"1.3")>=0},e}(Sp.a);function Pp(t){return(Pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Rp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Lp(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};Rp(this,o);var r=e;return(t=i.call(this,r)).imageLoadFunction_=r.imageLoadFunction||t.imageLoadFunction,t}return e=o,(r=[{key:"changed",value:function(){Mp(jp(o.prototype),"changed",this).call(this)}},{key:"imageLoadFunction",value:function(t,e){var r=t;r.getImage().src="".concat(e,"&_=").concat(this.revision_),null!=M.config.ticket&&(r.getImage().src+="&ticket=".concat(M.config.ticket))}}])&&Lp(e.prototype,r),n&&Lp(e,n),o}(Tp);function Dp(t){return(Dp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Gp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Up(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return Gp(this,o),(t=i.call(this,e,r)).facadeLayer_=null,t.options=e,t.layers=[],t.displayInLayerSwitcher_=!0,t.getCapabilitiesPromise=null,t.extentPromise=null,t.extent=null,t.resolutions_=null,t.extentProj_=null,!1===t.options.visibility&&(t.visibility=!1),QF(t.tiled)&&(t.tiled=!0!==t.options.singleTile),QF(t.options.numZoomLevels)&&(t.options.numZoomLevels=M.config.ZOOM_LEVELS),QF(t.options.animated)&&(t.options.animated=!1),t.styles=t.options.styles||"",t.sldBody=e.sldBody,t.zIndex_=Sd.Z_INDEX.WMS,t}return e=o,(r=[{key:"setVisible",value:function(t){var e=this;if(this.visibility=t,!0===this.inRange())if(!0===t&&!0!==this.transparent){this.map.getBaseLayers().filter((function(t){return!t.equals(e)&&t.isVisible()})).forEach((function(t){return t.setVisible(!1)})),QF(this.ol3Layer)||this.ol3Layer.setVisible(t);var r=this.map.getZoom();this.map.getImpl().updateResolutionsFromBaseLayer(),QF(r)||this.map.setZoom(r)}else QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"isQueryable",value:function(){return!1!==this.options.queryable}},{key:"addTo",value:function(t){if(this.map=t,this.fire(Kl),!KF(this.options)&&!KF(this.options.minScale)&&!KF(this.options.maxScale)){var e=this.map.getProjection().units;this.options.minResolution=hD(this.options.minScale,e),this.options.maxResolution=hD(this.options.maxScale,e)}QF(this.name)?this.addAllLayers_():this.addSingleLayer_(),this.legendUrl_===mD([M.config.THEME_URL,th.LEGEND_DEFAULT])&&(this.legendUrl_=aD(this.url,{SERVICE:"WMS",VERSION:this.version,REQUEST:"GetLegendGraphic",LAYER:this.name,FORMAT:"image/png",STYLE:this.styles[0]||"",SLD_VERSION:"1.1.0"}))}},{key:"setResolutions",value:function(t){var e=this;this.resolutions_=t,this.facadeLayer_.calculateMaxExtent().then((function(r){if(!QF(e.ol3Layer)){var n=e.options.minResolution,i=e.options.maxResolution,o=e.createOLSource_(t,n,i,r);e.ol3Layer.setSource(o),e.ol3Layer.setExtent(r)}}))}},{key:"addSingleLayer_",value:function(){var t=this;this.facadeLayer_.calculateMaxExtent().then((function(e){var r=t.options.minResolution,n=t.options.maxResolution,i=t.opacity_,o=t.zIndex_,a=t.visibility&&!1!==t.options.visibility,s=t.map.getResolutions();if(QF(s)&&!QF(t.resolutions_))s=t.resolutions_;else if(QF(s)){var l=t.getNumZoomLevels(),u=t.map.getMapImpl().getSize(),c=t.map.getProjection().units;s=QF(r)||QF(n)?fD(e,u,l,c):cD(r,n,l)}var h=t.createOLSource_(s,r,n,e);!0===t.tiled?t.ol3Layer=new eh.a(vD({visible:a,source:h,extent:e,minResolution:r,maxResolution:n,opacity:i,zIndex:o},t.vendorOptions_,!0)):t.ol3Layer=new rh.a(vD({visible:a,source:h,extent:e,minResolution:r,maxResolution:n,opacity:i,zIndex:o},t.vendorOptions_,!0)),t.map.getMapImpl().addLayer(t.ol3Layer),t.facadeLayer_.fire(yu),t.isVisible()&&!t.inRange()?t.setVisible(!1):t.setVisible(t.visibility),null!==o&&t.setZIndex(o),null!==t.resolutions_&&t.setResolutions(t.resolutions_);var f=!1===t.transparent||!0===t.options.animated;t.ol3Layer.set("animated",f)}))}},{key:"createOLSource_",value:function(t,e,r,n){var i=this,o=this.vendorOptions_.source;if(QF(this.vendorOptions_.source)){var a=this.options.crossOrigin,s={LAYERS:this.name,TILED:!0,VERSION:this.version,TRANSPARENT:this.transparent,FORMAT:"image/png",STYLES:this.styles};QF(this.sldBody)||(s.SLD_BODY=this.sldBody),QF(this.options.params)||Object.keys(this.options.params).forEach((function(t){s[t.toUpperCase()]=i.options.params[t]}));var l=this.opacity_,u=this.zIndex_;if(!0===this.tiled){var c=Object(mt.v)(n),h={url:this.url,params:s,tileGrid:new nh.a({resolutions:t,extent:n,origin:c}),extent:n,minResolution:e,maxResolution:r,opacity:l,zIndex:u};HF(a)||(h.crossOrigin=a),o=new Ep(h)}else{var f={url:this.url,params:s,resolutions:t,extent:n,minResolution:e,maxResolution:r,opacity:l,zIndex:u};HF(a)||(f.crossOrigin=a),o=new Fp(f)}}return o}},{key:"addAllLayers_",value:function(){var t=this;this.getCapabilities().then((function(e){e.getLayers().forEach((function(e){var r=new td({url:t.url,name:e.name,version:e.version,tiled:t.tiled},t.vendorOptions_);t.layers.push(r)})),t.map.addWMS(t.layers);var r=t.layers.length;t.layers.forEach((function(t){t.setZIndex(Sd.Z_INDEX.WMS+r),r+=1}))}))}},{key:"getExtent",value:function(){var t=this,e=Object(u.o)(this.map.getProjection().code);return this.extentPromise=new Promise((function(r,n){QF(t.extent_)?t.getCapabilities().then((function(n){t.extent_=n.getLayerExtent(t.name),t.extentProj_=e,r(t.extent_)})):(t.extent_=Wh.transformExtent(t.extent_,t.extentProj_,e),t.extentProj_=e,r(t.extent_))})),this.extentPromise}},{key:"getMinResolution",value:function(){return this.options.minResolution}},{key:"getMaxResolution",value:function(){return this.options.maxResolution}},{key:"updateMinMaxResolution",value:function(t){QF(this.options.minResolution)||(this.options.minResolution=hD(this.options.minScale,t.units),this.ol3Layer.setMinResolution(this.options.minResolution)),QF(this.options.maxResolution)||(this.options.maxResolution=hD(this.options.maxScale,t.units),this.ol3Layer.setMaxResolution(this.options.maxResolution))}},{key:"setMaxExtent",value:function(t){var e=this.options.minResolution,r=this.options.maxResolution,n=this.getOLLayer();if(!QF(n)&&(n.setExtent(t),!0===this.tiled)){var i=this.map.getResolutions();if(QF(i)&&!QF(this.resolutions_)&&(i=this.resolutions_),!QF(i)){var o=this.createOLSource_(i,e,r,t);n.setSource(o)}}}},{key:"getNumZoomLevels",value:function(){return this.options.numZoomLevels}},{key:"getLayers",value:function(){return this.layers}},{key:"getCapabilities",value:function(){if(QF(this.getCapabilitiesPromise)){var t=this.url,e=this.version,r=this.map.getProjection(),n=this.map.getTicket();this.getCapabilitiesPromise=new Promise((function(i,o){var a=lD(t,e,n);VF(a).then((function(e){if("xml"in e&&!QF(e.xml)){var n=e.xml,o=(new zf).customRead(n),s=new rf(o,t,r);i(s)}else VF(a,"",{ticket:!1}).then((function(e){var n=e.xml,o=(new zf).customRead(n),a=new rf(o,t,r);i(a)}))}))}))}return this.getCapabilitiesPromise}},{key:"getLegendCapabilities",value:function(){var t=this;return this.getCapabilities().then((function(e){var r="",n=e.capabilities.Capability.Layer.Layer;return n=n.length>1?n.find((function(e){return e.Name===t.name})):1===n.length&&n[0].Name!==t.name?n[0].Layer.find((function(e){return e.Name===t.name})):n[0],HF(n.Style)||HF(n.Style[0].LegendURL)||HF(n.Style[0].LegendURL[0].OnlineResource)||(r=n.Style[0].LegendURL[0].OnlineResource),r}))}},{key:"getLegendURL",value:function(){return this.legendUrl_}},{key:"setLegendURL",value:function(t){this.legendUrl_=t}},{key:"refresh",value:function(){var t=this.getOLLayer();QF(t)||t.getSource().updateParams({time:Date.now()})}},{key:"getExtentFromCapabilities",value:function(t){var e=this.facadeLayer_.name,r=this.map.getProjection().code;return t.getLayerExtent(e,r)}},{key:"setFacadeObj",value:function(t){this.facadeLayer_=t}},{key:"getStyles",value:function(){return this.getOLLayer().getSource().getParams().STYLES}},{key:"setStyles",value:function(t){var e=this.getOLLayer();QF(e)||e.getSource().updateParams({STYLES:t})}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),QF(this.layers)||(this.layers.map(this.map.removeLayers,this.map),this.layers.length=0),this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.cql===t.cql,e=e&&this.version===t.version),e}},{key:"cloneOLLayer",value:function(){var t=null;if(null!=this.ol3Layer){var e=this.ol3Layer.getProperties();t=!0===this.tiled?new eh.a(e):new rh.a(e)}return t}}])&&Up(e.prototype,r),n&&Up(e,n),o}(tf);Yp.LEGEND_IMAGE=null;var Wp=Yp;function Xp(t){return(Xp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Hp(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Zp(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;Hp(this,o),HF(Wp)&&Bl(Mu("exception").wms_method),QF(t)&&Bl(Mu("exception").no_param);var a=Wc(t,rc),s=a.styles||"";QF(s)||Object.defineProperty(r,"styles",{value:s,writable:!0});var l=new Wp(r,n);return(e=i.call(this,a,l)).legend=a.legend,e.cql=a.cql,e.version=a.version,QF(a.tiled)||(e.tiled=a.tiled),e.transparent=a.transparent,e.styles=s,e.options=r,e.wmcParent_=null,e.getCapabilitiesPromise_=null,e._updateNoCache(),e}return e=o,(r=[{key:"getStyles",value:function(){return this.getImpl().getStyles()}},{key:"setStyles",value:function(t){this.styles=t,this.getImpl().setStyles(t)}},{key:"getMaxExtent",value:function(t){var e,r=this;if(QF(this.userMaxExtent))if(QF(this.options.wmcMaxExtent))if(QF(this.map_.userMaxExtent)){var n=this.map_.getWMC().find((function(t){return t.selected}));QF(n)?this.getCapabilities().then((function(e){var n=r.getImpl().getExtentFromCapabilities(e);if(QF(n)){var i=r.map_.getProjection().getExtent();r.maxExtent_=i}else r.maxExtent_=n;$F(t)&&t(r.maxExtent_)})):n.calculateMaxExtent().then((function(e){r.maxExtent_=e,$F(t)&&t(r.maxExtent_)}))}else this.maxExtent_=this.map_.userMaxExtent,e=this.maxExtent_;else this.maxExtent_=this.options.wmcMaxExtent,e=this.maxExtent_;else e=this.userMaxExtent;return!QF(e)&&$F(t)?t(e):QF(e)&&(e=this.maxExtent_),e}},{key:"calculateMaxExtent",value:function(){var t=this;return new Promise((function(e){return t.getMaxExtent(e)}))}},{key:"getCapabilities",value:function(){return QF(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=this.getImpl().getCapabilities()),this.getCapabilitiesPromise_}},{key:"getLegendCapabilities",value:function(){return this.getImpl().getLegendCapabilities()}},{key:"getNoCacheUrl",value:function(){return this._noCacheUrl}},{key:"getNoCacheName",value:function(){return this._noCacheName}},{key:"setWMCParent",value:function(t){this.wmcParent_=t}},{key:"getWMCParent",value:function(){return this.wmcParent_}},{key:"updateMinMaxResolution",value:function(t){return this.getImpl().updateMinMaxResolution(t)}},{key:"_updateNoCache",value:function(){var t=M.config.tileMappgins.tiledNames.indexOf(this.name);-1!==t&&wD(M.config.tileMappgins.tiledUrls[t],this.url)&&(this._noCacheUrl=M.config.tileMappgins.urls[t],this._noCacheName=M.config.tileMappgins.names[t])}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.cql===t.cql,e=e&&this.version===t.version,e=e&&this.id===t.id),e}},{key:"type",get:function(){return rc},set:function(t){HF(t)||QF(t)||t===rc||Bl("El tipo de capa debe ser '".concat(rc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"legend",get:function(){return this.getImpl().legend},set:function(t){QF(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}},{key:"tiled",get:function(){return this.getImpl().tiled},set:function(t){QF(t)?this.getImpl().tiled=!0:eD(t)?this.getImpl().tiled="true"===iD(t):this.getImpl().tiled=t}},{key:"cql",get:function(){return this.getImpl().cql},set:function(t){this.getImpl().cql=t}},{key:"version",get:function(){return this.getImpl().version},set:function(t){QF(t)?this.getImpl().version="1.3.0":this.getImpl().version=t}},{key:"options",get:function(){return this.getImpl().options},set:function(t){this.getImpl().options=t}}])&&Zp(e.prototype,r),n&&Zp(e,n),o}(th);function ed(t){return(ed="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rd(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&(this.removeWMC(r),this.removeKML(r),this.removeWMS(r),this.removeWFS(r),this.removeWMTS(r),this.removeMVT(r)),e.length>0&&(this.removeUnknowLayers_(e),bd.forEach((function(t){return t(e)}))),t.forEach((function(t){t.getLayerGroup&&!QF(t.getLayerGroup())&&t.getLayerGroup().deleteChild(t)})),Array.isArray(this.getBaseLayers())&&this.getBaseLayers().length>0||(this._resolutionsBaseLayer=!1),this.facadeMap_.fire(iu,[t]),this}},{key:"getLayerGroups",value:function(){return this.layerGroups_}},{key:"getGroupedLayers",value:function(){var t=[],e=this.getLayerGroups();return 1===e.length?t=e[0].getAllLayers():e.length>1&&(t=e.reduce((function(t,e){return Array.isArray(t)?t.concat(e.getAllLayers()):t.getAllLayers().concat(e.getAllLayers())}))),t}},{key:"addLayerGroups",value:function(t){var e=this;return t.forEach((function(t){t.addTo(e.facadeMap_),_D(e.layerGroups_,t)||(e.layerGroups_.push(t),t.getAllLayers().forEach((function(t){e.facadeMap_.addLayers(t)})))})),this}},{key:"removeLayerGroups",value:function(t){var e=this;return(Array.isArray(t)?hd(t):[t]).forEach((function(t){e.layerGroups_.remove(t),t.destroy(),t.fire(ou,[t])})),this}},{key:"getWMC",value:function(t){var e=t,r=[],n=this.layers_.filter((function(t){return t.type===tc}));return QF(e)&&(e=[]),JF(e)||(e=[e]),0===e.length?r=n:e.forEach((function(t){r=r.concat(n.filter((function(e){var n=!0;return r.includes(e)?n=!1:(QF(t.type)||(n=n&&t.type===e.type),QF(t.url)||(n=n&&t.url===e.url),QF(t.name)||(n=n&&t.name===e.name)),n})))}),this),r}},{key:"addWMC",value:function(t){var e=this;return t.forEach((function(t,r){t.type===tc&&(_D(e.layers_,t)||(t.setZIndex(o.Z_INDEX.WMC),t.getImpl().addTo(e.facadeMap_),e.layers_.push(t)))}),this),this}},{key:"removeWMC",value:function(t){var e=this;return this.getWMC(t).forEach((function(t){!0===t.selected&&!1===t.isLoaded()?t.on(yu,(function(){e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),e.facadeMap_.removeWMS(t.layers),e.facadeMap_.refreshWMCSelectorControl()})):(e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),e.facadeMap_.removeWMS(t.layers)),e.facadeMap_.refreshWMCSelectorControl(),t.fire(ou,[t])}),this),this}},{key:"getKML",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===ec}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.extract)||(n=n&&t.extract===r.extract)),n}));e=e.concat(r)}),this),e}},{key:"addKML",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(t.type===ec&&!_D(e.layers_,t)){if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX.KML;t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}}),this),this}},{key:"removeKML",value:function(t){var e=this;return this.getKML(t).forEach((function(t){e.layers_=e.layers_.filter((function(e){return!t.equals(e)})),t.getImpl().destroy(),t.fire(ou,[t])}),this),this}},{key:"getWMS",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===rc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:t instanceof td?n=t===r:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.legend)||(n=n&&t.legend===r.legend),QF(t.transparent)||(n=n&&t.transparent===r.transparent),QF(t.tiled)||(n=n&&t.tiled===r.tiled),QF(t.cql)||(n=n&&t.cql===r.cql),QF(t.version)||(n=n&&t.version===r.version)),n}));e=e.concat(r)}),this),e}},{key:"addWMS",value:function(t){var e=this,r=this.getBaseLayers().length>0,n=[];return t.forEach((function(t){if(t.type===rc&&!_D(e.layers_,t))if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),n.push(t),!0!==t.transparent)t.setVisible(!r),r=!0,t.setZIndex(o.Z_INDEX_BASELAYER);else if(null==t.getZIndex()){var i=e.layers_.length+o.Z_INDEX.WMS;t.setZIndex(i)}})),(n.length>0&&!r||n.some((function(t){return!0!==t.transparent&&t.isVisible()})))&&this.updateResolutionsFromBaseLayer(),this}},{key:"removeWMS",value:function(t){var e=this;return this.getWMS(t).forEach((function(t){if(e.layers_=e.layers_.filter((function(e){return!t.equals(e)})),t.getImpl().destroy(),t.fire(ou,[t]),!0!==t.transparent){var r=e.facadeMap_.getBaseLayers();r.length>0&&r[0].setVisible(!0)}})),this}},{key:"getGeoJSON",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===sc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.legend)||(n=n&&t.legend===r.legend)),n}));e=e.concat(r)})),e}},{key:"getWFS",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===nc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.namespace)||(n=n&&t.namespace===r.namespace),QF(t.legend)||(n=n&&t.legend===r.legend),QF(t.cql)||(n=n&&t.cql===r.cql),QF(t.geometry)||(n=n&&t.geometry===r.geometry),QF(t.ids)||(n=n&&t.ids===r.ids),QF(t.version)||(n=n&&t.version===r.version)),n}));e=e.concat(r)})),e}},{key:"addWFS",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(t.type===nc&&!_D(e.layers_,t)){if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),t.setZIndex(t.getZIndex()),null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX.WFS;t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}})),this}},{key:"removeWFS",value:function(t){var e=this;return this.getWFS(t).forEach((function(t){e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t])})),this}},{key:"getWMTS",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===ic}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name),QF(t.matrixSet)||(n=n&&t.matrixSet===r.matrixSet),QF(t.legend)||(n=n&&t.legend===r.legend)),n}));e=e.concat(r)})),e}},{key:"addWMTS",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(t.type===ic&&!_D(e.layers_,t))if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),!0!==t.transparent)t.getImpl().visibility=!r,r=!0,t.isVisible()&&e.updateResolutionsFromBaseLayer(),t.setZIndex(o.Z_INDEX_BASELAYER);else{if(null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX.WMTS;t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}})),this}},{key:"removeWMTS",value:function(t){var e=this;return this.getWMTS(t).forEach((function(t){if(e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t]),!0!==t.transparent){var r=e.facadeMap_.getBaseLayers();r.length>0&&r[0].setVisible(!0)}})),this}},{key:"getUnknowLayers_",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return!fc(t.type)}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:t instanceof th?n=t.equals(r):(QF(t.type)||(n=n&&t.type===r.type),QF(t.name)||(n=n&&t.name===r.name)),n}));e=e.concat(r)})),e}},{key:"addUnknowLayers_",value:function(t){var e=this,r=this.getBaseLayers().length>0;return t.forEach((function(t){if(!_D(e.layers_,t))if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),!0!==t.transparent)t.setVisible(!r),r=!0,t.isVisible()&&e.updateResolutionsFromBaseLayer(),t.setZIndex(o.Z_INDEX_BASELAYER);else{if(t.setZIndex(t.getZIndex()),null==t.getZIndex()){var n=e.layers_.length+o.Z_INDEX[t.type];t.setZIndex(n)}r||e.updateResolutionsFromBaseLayer()}})),this}},{key:"removeUnknowLayers_",value:function(t){var e=this;t.forEach((function(t){if(_D(e.layers_,t)&&(e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t]),!0!==t.transparent)){var r=e.facadeMap_.getBaseLayers();r.length>0&&r[0].setVisible(!0)}}))}},{key:"getMVT",value:function(t){var e=[],r=t,n=this.layers_.filter((function(t){return t.type===uc}));return QF(r)&&(r=[]),JF(r)||(r=[r]),0===r.length?e=n:r.forEach((function(t){var r=n.filter((function(r){var n=!0;return e.includes(r)?n=!1:(QF(t.type)||(n=n&&t.type===r.type),QF(t.url)||(n=n&&t.url===r.url),QF(t.name)||(n=n&&t.name===r.name)),n}));e=e.concat(r)})),e}},{key:"removeMVT",value:function(t){var e=this;return this.getMVT(t).forEach((function(t){e.layers_=e.layers_.filter((function(e){return!e.equals(t)})),t.getImpl().destroy(),t.fire(ou,[t])})),this}},{key:"addMVT",value:function(t){var e=this,r=this.getBaseLayers().length>0,n=[];return t.forEach((function(t){if(t.type===uc&&!_D(e.layers_,t)){if(t.getImpl().addTo(e.facadeMap_),e.layers_.push(t),n.push(t),!0!==t.transparent)t.setVisible(!r),r=!0,t.setZIndex(o.Z_INDEX_BASELAYER);else if(t.setZIndex(t.getZIndex()),null==t.getZIndex()){var i=e.layers_.length+o.Z_INDEX.MVT;t.setZIndex(i)}(n.length>0&&!r||n.some((function(t){return!0!==t.transparent&&t.isVisible()})))&&e.updateResolutionsFromBaseLayer()}})),this}},{key:"getControls",value:function(t){var e=t,r=[],n=this.facadeMap_.getPanels().map((function(t){return t.getControls()}));n.length>0&&(n=n.reduce((function(t,e){return t.concat(e)})));var i=this.controls_.concat(n);QF(e)&&(e=[]),JF(e)||(e=[e]),0===e.length?r=i:e.forEach((function(t){r=r.concat(i.filter((function(e){var n=!1;return _D(r,e)||(eD(t)?n=t===e.name:t instanceof Gu?n=t===e:tD(t)&&(n=t.name===e.name)),n})))}));var o=[];return r.forEach((function(t){o.map((function(t){return t.name})).includes(t.name)||o.push(t)})),o}},{key:"addControls",value:function(t){var e=this;return t.forEach((function(t){t instanceof $u&&e.facadeMap_.addControls("panzoom"),_D(e.controls_,t)||e.controls_.push(t)})),this}},{key:"removeControls",value:function(t){var e=this;return this.getControls(t).forEach((function(t){QF(e.map_)||e.map_.removeControl(t.getImpl()),t.destroy(),e.controls_=e.controls_.filter((function(e){var r=e.constructor===t.constructor;return QF(e.equals)||(r=!e.equals(t)),r}))})),this}},{key:"setMaxExtent",value:function(t,e){var r=t;return QF(r)||JF(r)||!tD(r)||(r=[t.x.min,t.y.min,t.x.max,t.y.max]),this.getMapImpl().getView().set("extent",r),this.updateResolutionsFromBaseLayer(),QF(r)||!1===e||this.setBbox(r),this}},{key:"getMaxExtent",value:function(){var t=this.getMapImpl().getView().get("extent");return QF(t)?this.envolvedMaxExtent_:{x:{min:t[0],max:t[2]},y:{min:t[1],max:t[3]}}}},{key:"setBbox",value:function(t,e){var r;QF(t)&&Bl(Mu("exception").no_bbox),this.userBbox_=t,JF(t)?r=t:tD(t)&&(r=[t.x.min,t.y.min,t.x.max,t.y.max]);var n=this.getMapImpl();return n.updateSize(),n.getView().fit(r,e),this}},{key:"getBbox",value:function(){var t=null,e=this.getMapImpl(),r=e.getView();if(!QF(r.getCenter())){var n=r.calculateExtent(e.getSize());QF(n)||(t={x:{min:n[0],max:n[2]},y:{min:n[1],max:n[3]}})}return t}},{key:"setZoom",value:function(t){return QF(t)&&Bl(Mu("exception").no_zoom),this.getMapImpl().getView().setUserZoom(t),this}},{key:"getZoom",value:function(){var t=null,e=this.getMapImpl().getView(),r=e.getResolution(),n=this.getResolutions();if(QF(n))QF(r)||(t=e.getZoomForResolution(r));else for(var i=0,o=n.length;i=1e3&&r<=95e4?1e3*Math.round(r/1e3):r>=95e4?1e6*Math.round(r/1e6):Math.round(r)),r}},{key:"getExactScale",value:function(){var t=this.getMapImpl().getView().getResolution(),e=this.getProjection().units,r=pD(t,e);return Math.trunc(r)}},{key:"setProjection",value:function(t){QF(t)&&Bl(Mu("exception").no_projection);var e=Object(u.o)(t.code);QF(e)&&(e=new Kn.a(t));var r=this.getProjection(),n=Object(u.o)(r.code),i=this.facadeMap_.getBbox(),o=this.getMapImpl(),a=o.getView().getUserZoom(),s=new sd({projection:e});if(s.setUserZoom(a),o.setView(s),this.facadeMap_.getWMS().forEach((function(e){e.updateMinMaxResolution(t)})),this.updateResolutionsFromBaseLayer(),!QF(i)){JF(i)||(i=[i.x.min,i.y.min,i.x.max,i.y.max]);var l=Wh.transformExtent(i,n,e);l.includes(NaN)&&(l=e.getExtent()),this.facadeMap_.setBbox(l,{nearest:!0})}return this}},{key:"getProjection",value:function(){var t=this.getMapImpl().getView().getProjection(),e=null;return QF(t)||(e={code:t.getCode(),units:t.getUnits(),getExtent:function(){return t.getExtent()}}),e}},{key:"getMapImpl",value:function(){return this.map_}},{key:"removePopup",value:function(t){if(!QF(t)){var e=t.getImpl();this.getMapImpl().removeOverlay(e),t.fire(Cu,[t]),this.facadeMap_.fire(Cu,[t])}return this}},{key:"destroy",value:function(){this.layers_.length=0,this.controls_.length=0,this.popup_=null,this.options_=null,this.map_.setTarget(null),this.map_=null}},{key:"updateResolutionsFromBaseLayer",value:function(){var t=this,e=[],r=M.config.ZOOM_LEVELS,n=this.getProjection().units,i=this.getBaseLayers().filter((function(t){return t.isVisible()}))[0],o=null,a=null;QF(i)||(a=void 0!==i.getImpl().getMinResolution?i.getImpl().getMinResolution():null,o=void 0!==i.getImpl().getMaxResolution?i.getImpl().getMaxResolution():null,r=i.getImpl().getNumZoomLevels()),null===this.userResolutions_&&(QF(a)||QF(o)?this.facadeMap_.calculateMaxExtent().then((function(i){if(!t._resolutionsBaseLayer&&null===t.userResolutions_){t.getMapImpl().updateSize();var o=t.getMapImpl().getSize();e=fD(i,o,r,n),t.setResolutions(e,!0),t._resolutionsEnvolvedExtent=!0,!1===t._calculatedResolutions&&(t._calculatedResolutions=!0,t.fire(mu))}})).catch((function(t){throw t})):(e=cD(a,o,r),this.setResolutions(e,!0),this._resolutionsBaseLayer=!0,!1===this._calculatedResolutions&&(this._calculatedResolutions=!0,this.fire(mu))))}},{key:"addLabel",value:function(t,e){return this.label.push(t),t.show(this.facadeMap_,e),this}},{key:"getLabel",value:function(){return this.label[0]}},{key:"getLabels",value:function(){return this.label}},{key:"removeLabel",value:function(t){var e=this,r=t;QF(this.label)||(QF(t)?(this.label.forEach((function(t){return e.removePopup(t.getPopup())})),this.label=[]):(JF(t)||(r=[t]),r.forEach((function(t){var r=e.label.findIndex((function(e){return e.text===t.text&&e.coord===t.coord}));-1!==r&&(e.removePopup(e.label[r].getPopup()),e.label.splice(r,1))}))))}},{key:"refresh",value:function(){return this.map_.updateSize(),this}},{key:"getContainer",value:function(){return this.map_.getOverlayContainerStopEvent()}},{key:"setFacadeMap",value:function(t){this.facadeMap_=t}},{key:"registerEvents_",value:function(){var t=this;this.facadeMap_.on(mu,(function(){t.map_.updateSize()})),this.map_.on("singleclick",this.onMapClick_.bind(this)),this.map_.getView().on("change:resolution",this.zoomEvent_.bind(this)),this.map_.on("change:view",(function(e){e.oldValue.un("change:resolution",t.zoomEvent_.bind(t)),t.map_.getView().on("change:resolution",t.zoomEvent_.bind(t))}))}},{key:"zoomEvent_",value:function(t){this.getZoom()<=t.target.getZoom()&&this.facadeMap_.fire(wu,t)}},{key:"onMapClick_",value:function(t){var e=t.pixel,r=this.map_.getCoordinateFromPixel(e),n=this.facadeMap_.getLabel();QF(n)||n.hide(),this.facadeMap_.fire(Su,[{pixel:e,coord:r,vendor:t}])}},{key:"onMapMove_",value:function(t){var e=t.pixel,r=this.map_.getCoordinateFromPixel(e);this.facadeMap_.fire(Ou,[{pixel:e,coord:r,vendor:t}])}},{key:"getRotation",value:function(){var t,e=this.map_.getView();return QF(e)||(t=e.getRotation()),t}},{key:"setRotation",value:function(t){var e=this.map_.getView();QF(e)||e.setRotation(t)}},{key:"enableMouseWheel",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];QF(this.mouseWheelZoom_)||this.mouseWheelZoom_.setActive(t)}},{key:"enableDrag",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];QF(this.dragPan_)||this.dragPan_.setActive(t)}},{key:"getImageMap",value:function(){var t=this.map_.getViewport().querySelectorAll(".ol-layer canvas, canvas.ol-layer")[0],e=null;if(!HF(t))try{e=t.toDataURL()}catch(t){throw t}return e}},{key:"setToClosestScale",value:function(t){this.getMapImpl().getView().setResolution(t)}}])&&dd(e.prototype,r),n&&dd(e,n),o}(Cl);Ed.Z_INDEX={},Ed.Z_INDEX_BASELAYER=0,Ed.Z_INDEX.WMC=1,Ed.Z_INDEX.WMS=1e3,Ed.Z_INDEX.WMTS=2e3,Ed.Z_INDEX.OSM=2e3,Ed.Z_INDEX.Mapbox=2e3,Ed.Z_INDEX.KML=3e3,Ed.Z_INDEX.WFS=9999,Ed.Z_INDEX.Vector=9999,Ed.Z_INDEX.MVT=9999,Ed.Z_INDEX.GeoJSON=9999;var Sd=Ed,Od=r(95),Id=r.n(Od);r(135);function Cd(t){return(Cd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Td(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&null==(r=e.find((function(e){return e instanceof o&&e.id===t})))){var n=e.map((function(t){return t.getChildren()})).reduce((function(t,e){return t.concat(e)}),[]).filter((function(t){return t instanceof o}));r=o.findGroupById(t,n)}return r}}],(r=[{key:"addTo",value:function(t){this.map=t,this.children_.forEach((function(e){e instanceof o&&e.addTo(t)})),this.fire(Kl)}},{key:"setVisible",value:function(t){this.getAllLayers().forEach((function(e){return!0===e.transparent&&e.setVisible(t)}))}},{key:"setZIndex",value:function(t){this.zIndex_=t;var e=sg(this.getChildren()).reverse(),r=t;e.forEach((function(t){t.setZIndex(r),r+=1}))}},{key:"getZIndex",value:function(t){return this.zIndex_}},{key:"addChild",value:function(t,e){var r=this.getZIndex()+this.children_.length,n=t;QF(e)?this.children_.unshift(n):(this.children_.splice(e-1,0,n),r=this.getZIndex()+e),n instanceof o?n.parent=this:n instanceof th&&(n.setLayerGroup(this),n.setZIndex(r),QF(this.map)||this.map.getRootLayers().some((function(t){return t.equals(n)}))||(this.map.addLayers(n),n instanceof o&&this.map.addLayerGroup(n)))}},{key:"deleteChild",value:function(t){var e=t;e instanceof o?(e.parent=null,this.map.removeLayerGroup(e)):e instanceof th&&(this.map.removeLayers(e),this.ungroup(t))}},{key:"deleteChildren",value:function(t){t.forEach(this.deleteChild,this)}},{key:"ungroup",value:function(t){t.setLayerGroup(null),this.children_.remove(t)}},{key:"addChildren",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=t;Array.isArray(t)||(e=[e]),e.forEach(this.addChild,this)}},{key:"getChildren",value:function(){return this.children_}},{key:"getAllLayers",value:function(){var t=[];return this.getChildren().forEach((function(e){e instanceof th?t.push(e):e instanceof o&&(t=t.concat(e.getAllLayers()))})),t}},{key:"destroy",value:function(){this.map.removeLayers(this.getAllLayers())}}])&&hg(e.prototype,r),n&&hg(e,n),o}(Cl);function mg(t){return(mg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _g(t,e){for(var r=0;r input");QF(o)||i.setOpacity(parseFloat(o.value)),i.setVisible(!i.isVisible()),this.statusEmptyLayer=!1}else e.target.classList.contains("m-layerswitcher-transparency")?i.setOpacity(parseFloat(e.target.value)):e.target.classList.contains("m-layerswitcher-remove")&&this.facadeMap_.removeLayers(i)}}}},{key:"clickLayer",value:function(t){var e=t||window.event,r=e.target.getAttribute("data-group-id"),n=null;if(!QF(e.target)){var i=e.target.getAttribute("data-layer-name");if(QF(i)){if(!QF(r)){var o=e.target.getAttribute("data-group-id");n=yg.findGroupById(o,this.facadeMap_.getLayerGroup()),e.target.classList.contains("m-check")?e.target.classList.contains("g-cartografia-check3")?n.setVisible(!1):n.setVisible(!0):(n.collapsed=!n.collapsed,this.renderPanel())}}else{e.stopPropagation();var a=this.facadeMap_.getLayers().filter((function(t){return t.id===i}))[0];if(QF(a)&&!QF(r)&&(a=(n=yg.findGroupById(r,this.facadeMap_.getLayerGroup())).getChildren().find((function(t){return t instanceof th&&t.id===i}))),e.target.classList.contains("m-check"))if(HF(a)||!0!==a.transparent&&a.isVisible())this.statusEmptyLayer=!0,this.facadeMap_.getBaseLayers().forEach((function(t){t.setVisible(!1)}));else{var s=e.target.parentElement.parentElement.querySelector("div.tools > input");QF(s)||a.setOpacity(parseFloat(s.value)),a.setVisible(!a.isVisible()),this.statusEmptyLayer=!1}else e.target.classList.contains("m-layerswitcher-transparency")?a.setOpacity(parseFloat(e.target.value)):e.target.classList.contains("m-layerswitcher-remove")&&(QF(n)?this.facadeMap_.removeLayers(a):(a.getImpl().destroy(),n.removeChild(a)))}}this.renderPanel()}},{key:"renderPanel",value:function(){var t=this;Rw.getTemplateVariables(this.facadeMap_).then((function(e){if(t.activeEmptyLayer){var r=Object.assign({},Rw.EMPTYLAYER);r.visible=t.statusEmptyLayer,e.baseLayers.unshift(r)}var n=Vu($d.a,{vars:e});t.registerImgErrorEvents_(n);var i=n.querySelector("div#".concat(o.PANEL_ID));t.panel.innerHTML=i.innerHTML}))}},{key:"registerEvents",value:function(){var t=this;if(!QF(this.facadeMap_)){var e=this.facadeMap_.getMapImpl();this.registerViewEvents_(e.getView()),this.registerLayersEvents_(e.getLayers()),e.on("change:view",(function(){return t.onViewChange_.bind(t)}))}}},{key:"unregisterEvents",value:function(){var t=this;if(!QF(this.facadeMap_)){var e=this.facadeMap_.getMapImpl();this.unregisterViewEvents_(e.getView()),this.unregisterLayersEvents_(e.getLayers()),e.un("change:view",(function(){return t.onViewChange_.bind(t)}))}}},{key:"registerViewEvents_",value:function(t){var e=this;t.on("change:resolution",(function(){return e.renderPanel.bind(e)}))}},{key:"registerLayersEvents_",value:function(t){var e=this;t.forEach(this.registerLayerEvents_.bind(this)),t.on("remove",(function(){return e.renderPanel.bind(e)})),t.on("add",(function(){return e.onAddLayer_.bind(e)}))}},{key:"registerLayerEvents_",value:function(t){var e=this;t.on("change:visible",(function(){return e.renderPanel.bind(e)})),t.on("change:extent",(function(){return e.renderPanel.bind(e)}))}},{key:"unregisterViewEvents_",value:function(t){var e=this;t.un("change:resolution",(function(){return e.renderPanel.bind(e)}))}},{key:"unregisterLayersEvents_",value:function(t){var e=this;t.forEach(this.unregisterLayerEvents_.bind(this)),t.un("remove",(function(){return e.renderPanel.bind(e)})),t.un("add",(function(){return e.onAddLayer_.bind(e)}))}},{key:"unregisterLayerEvents_",value:function(t){var e=this;t.un("change:visible",(function(){return e.renderPanel.bind(e)})),t.un("change:extent",(function(){return e.renderPanel.bind(e)}))}},{key:"onViewChange_",value:function(t){this.unregisterViewEvents_(t.oldValue);var e=this.facadeMap_.getMapImpl();this.registerViewEvents_(e.getView())}},{key:"onAddLayer_",value:function(t){this.registerLayerEvents_(t.element),this.renderPanel()}},{key:"registerImgErrorEvents_",value:function(t){var e=this,r=t.querySelectorAll("img");Array.prototype.forEach.call(r,(function(t){t.addEventListener("error",(function(t){var r=t.target.getAttribute("data-layer-name"),n=mD([M.config.THEME_URL,th.LEGEND_ERROR]),i=e.facadeMap_.getLayers().filter((function(t){return t.id===r}))[0];QF(i)||i.setLegendURL(n)}))}))}},{key:"setMap",value:function(t){vg(Eg(o.prototype),"setMap",this).call(this,t),this.renderPanel()}}])&&_g(e.prototype,r),n&&_g(e,n),o}(Ad);Sg.PANEL_ID="m-layerswitcher-panel";var Og=Sg,Ig=r(34),Cg=r(73),Tg=r.n(Cg),Pg=function(){function t(t){this.rbush_=new Tg.a(t),this.items_={}}return t.prototype.insert=function(t,e){var r={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(r),this.items_[Object(si.c)(e)]=r},t.prototype.load=function(t,e){for(var r=new Array(e.length),n=0,i=e.length;n=200&&s.status<300){var n=e.getType(),l=void 0;"json"==n||"text"==n?l=s.responseText:"xml"==n?(l=s.responseXML)||(l=(new DOMParser).parseFromString(s.responseText,"application/xml")):"arraybuffer"==n&&(l=s.response),l?o(e.readFeatures(l,{extent:r,featureProjection:i}),e.readProjection(l)):a()}else a()},s.onerror=a,s.send()}function Bg(t,e){return function(r,n,i,o,a){var s=this;Ug(t,e,r,n,i,(function(t,e){s.addFeatures(t),void 0!==o&&o(t)}),a||ai.c)}}var zg=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Vg=function(t){function e(e,r,n){var i=t.call(this,e)||this;return i.feature=r,i.features=n,i}return zg(e,t),e}(so.a),qg=function(t){function e(e){var r=this,n=e||{};(r=t.call(this,{attributions:n.attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===n.wrapX||n.wrapX})||this).on,r.once,r.un,r.loader_=ai.c,r.format_=n.format,r.overlaps_=void 0===n.overlaps||n.overlaps,r.url_=n.url,void 0!==n.loader?r.loader_=n.loader:void 0!==r.url_&&(Object(go.a)(r.format_,7),r.loader_=Bg(r.url_,r.format_)),r.strategy_=void 0!==n.strategy?n.strategy:Dg;var i,o,a=void 0===n.useSpatialIndex||n.useSpatialIndex;return r.featuresRtree_=a?new Pg:null,r.loadedExtentsRtree_=new Pg,r.loadingExtentsCount_=0,r.nullGeometryFeatures_={},r.idIndex_={},r.uidIndex_={},r.featureChangeKeys_={},r.featuresCollection_=null,Array.isArray(n.features)?o=n.features:n.features&&(o=(i=n.features).getArray()),a||void 0!==i||(i=new ho(o)),void 0!==o&&r.addFeaturesInternal(o),void 0!==i&&r.bindFeaturesCollection_(i),r}return zg(e,t),e.prototype.addFeature=function(t){this.addFeatureInternal(t),this.changed()},e.prototype.addFeatureInternal=function(t){var e=Object(si.c)(t);if(this.addToIndex_(e,t)){this.setupChangeEvents_(e,t);var r=t.getGeometry();if(r){var n=r.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(n,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new Vg(Lg,t))}else this.featuresCollection_&&this.featuresCollection_.remove(t)},e.prototype.setupChangeEvents_=function(t,e){this.featureChangeKeys_[t]=[Object(eo.a)(e,fo.a.CHANGE,this.handleFeatureChange_,this),Object(eo.a)(e,_i.a.PROPERTYCHANGE,this.handleFeatureChange_,this)]},e.prototype.addToIndex_=function(t,e){var r=!0,n=e.getId();return void 0!==n&&(n.toString()in this.idIndex_?r=!1:this.idIndex_[n.toString()]=e),r&&(Object(go.a)(!(t in this.uidIndex_),30),this.uidIndex_[t]=e),r},e.prototype.addFeatures=function(t){this.addFeaturesInternal(t),this.changed()},e.prototype.addFeaturesInternal=function(t){for(var e=[],r=[],n=[],i=0,o=t.length;i0},e.prototype.refresh=function(){this.clear(!0),this.loadedExtentsRtree_.clear(),t.prototype.refresh.call(this)},e.prototype.removeLoadedExtent=function(t){var e,r=this.loadedExtentsRtree_;r.forEachInExtent(t,(function(r){if(Object(mt.p)(r.extent,t))return e=r,!0})),e&&r.remove(e)},e.prototype.removeFeature=function(t){if(t){var e=Object(si.c)(t);e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t),this.removeFeatureInternal(t)&&this.changed()}},e.prototype.removeFeatureInternal=function(t){var e=Object(si.c)(t),r=this.featureChangeKeys_[e];if(r){r.forEach(eo.c),delete this.featureChangeKeys_[e];var n=t.getId();return void 0!==n&&delete this.idIndex_[n.toString()],delete this.uidIndex_[e],this.dispatchEvent(new Vg(Ng,t)),t}},e.prototype.removeFromIdIndex_=function(t){var e=!1;for(var r in this.idIndex_)if(this.idIndex_[r]===t){delete this.idIndex_[r],e=!0;break}return e},e.prototype.setLoader=function(t){this.loader_=t},e.prototype.setUrl=function(t){Object(go.a)(this.format_,7),this.url_=t,this.setLoader(Bg(t,this.format_))},e}(Rg.a),Yg=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Wg=function(t){function e(e){var r=t.call(this,{attributions:e.attributions,wrapX:e.wrapX})||this;return r.resolution=void 0,r.distance=void 0!==e.distance?e.distance:20,r.minDistance=e.minDistance||0,r.interpolationRatio=0,r.features=[],r.geometryFunction=e.geometryFunction||function(t){var e=t.getGeometry();return Object(go.a)("Point"==e.getType(),10),e},r.createCustomCluster_=e.createCluster,r.source=null,r.boundRefresh_=r.refresh.bind(r),r.updateDistance(r.distance,r.minDistance),r.setSource(e.source||null),r}return Yg(e,t),e.prototype.clear=function(e){this.features.length=0,t.prototype.clear.call(this,e)},e.prototype.getDistance=function(){return this.distance},e.prototype.getSource=function(){return this.source},e.prototype.loadFeatures=function(t,e,r){this.source.loadFeatures(t,e,r),e!==this.resolution&&(this.resolution=e,this.refresh())},e.prototype.setDistance=function(t){this.updateDistance(t,this.minDistance)},e.prototype.setMinDistance=function(t){this.updateDistance(this.distance,t)},e.prototype.getMinDistance=function(){return this.minDistance},e.prototype.setSource=function(t){this.source&&this.source.removeEventListener(fo.a.CHANGE,this.boundRefresh_),this.source=t,t&&t.addEventListener(fo.a.CHANGE,this.boundRefresh_),this.refresh()},e.prototype.refresh=function(){this.clear(),this.cluster(),this.addFeatures(this.features)},e.prototype.updateDistance=function(t,e){var r=0===t?0:Math.min(e,t)/t,n=t!==this.distance||this.interpolationRatio!==r;this.distance=t,this.minDistance=e,this.interpolationRatio=r,n&&this.refresh()},e.prototype.cluster=function(){if(void 0!==this.resolution&&this.source)for(var t=Object(mt.k)(),e=this.distance*this.resolution,r=this.source.getFeatures(),n={},i=0,o=r.length;i=0;--n){var i=this.geometryFunction(t[n]);i?Object(di.a)(r,i.getCoordinates()):t.splice(n,1)}Object(di.k)(r,1/t.length);var o=Object(mt.x)(e),a=this.interpolationRatio,s=new Aa([r[0]*(1-a)+o[0]*a,r[1]*(1-a)+o[1]*a]);return this.createCustomCluster_?this.createCustomCluster_(s,t):new gh({geometry:s,features:t})},e}(qg),Xg="fraction",Hg="pixels",Zg="bottom-left",Kg="bottom-right",Jg="top-left",Qg="top-right",$g=r(13),ty=function(){function t(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=Object(ns.d)(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}return t.prototype.clone=function(){var e=this.getScale();return new t({opacity:this.getOpacity(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})},t.prototype.getOpacity=function(){return this.opacity_},t.prototype.getRotateWithView=function(){return this.rotateWithView_},t.prototype.getRotation=function(){return this.rotation_},t.prototype.getScale=function(){return this.scale_},t.prototype.getScaleArray=function(){return this.scaleArray_},t.prototype.getDisplacement=function(){return this.displacement_},t.prototype.getDeclutterMode=function(){return this.declutterMode_},t.prototype.getAnchor=function(){return Object(si.b)()},t.prototype.getImage=function(t){return Object(si.b)()},t.prototype.getHitDetectionImage=function(){return Object(si.b)()},t.prototype.getPixelRatio=function(t){return 1},t.prototype.getImageState=function(){return Object(si.b)()},t.prototype.getImageSize=function(){return Object(si.b)()},t.prototype.getOrigin=function(){return Object(si.b)()},t.prototype.getSize=function(){return Object(si.b)()},t.prototype.setDisplacement=function(t){this.displacement_=t},t.prototype.setOpacity=function(t){this.opacity_=t},t.prototype.setRotateWithView=function(t){this.rotateWithView_=t},t.prototype.setRotation=function(t){this.rotation_=t},t.prototype.setScale=function(t){this.scale_=t,this.scaleArray_=Object(ns.d)(t)},t.prototype.listenImageChange=function(t){Object(si.b)()},t.prototype.load=function(){Object(si.b)()},t.prototype.unlistenImageChange=function(t){Object(si.b)()},t}(),ey=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ry=null,ny=function(t){function e(e,r,n,i,o,a){var s=t.call(this)||this;return s.hitDetectionImage_=null,s.image_=e||new Image,null!==i&&(s.image_.crossOrigin=i),s.canvas_={},s.color_=a,s.unlisten_=null,s.imageState_=o,s.size_=n,s.src_=r,s.tainted_,s}return ey(e,t),e.prototype.isTainted_=function(){if(void 0===this.tainted_&&this.imageState_===$g.a.LOADED){ry||(ry=Object(Ai.a)(1,1)),ry.drawImage(this.image_,0,0);try{ry.getImageData(0,0,1,1),this.tainted_=!1}catch(t){ry=null,this.tainted_=!0}}return!0===this.tainted_},e.prototype.dispatchChangeEvent_=function(){this.dispatchEvent(fo.a.CHANGE)},e.prototype.handleImageError_=function(){this.imageState_=$g.a.ERROR,this.unlistenImage_(),this.dispatchChangeEvent_()},e.prototype.handleImageLoad_=function(){this.imageState_=$g.a.LOADED,this.size_?(this.image_.width=this.size_[0],this.image_.height=this.size_[1]):this.size_=[this.image_.width,this.image_.height],this.unlistenImage_(),this.dispatchChangeEvent_()},e.prototype.getImage=function(t){return this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_},e.prototype.getPixelRatio=function(t){return this.replaceColor_(t),this.canvas_[t]?t:1},e.prototype.getImageState=function(){return this.imageState_},e.prototype.getHitDetectionImage=function(){if(!this.hitDetectionImage_)if(this.isTainted_()){var t=this.size_[0],e=this.size_[1],r=Object(Ai.a)(t,e);r.fillRect(0,0,t,e),this.hitDetectionImage_=r.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_},e.prototype.getSize=function(){return this.size_},e.prototype.getSrc=function(){return this.src_},e.prototype.load=function(){if(this.imageState_==$g.a.IDLE){this.imageState_=$g.a.LOADING;try{this.image_.src=this.src_}catch(t){this.handleImageError_()}this.unlisten_=Object(Op.b)(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this))}},e.prototype.replaceColor_=function(t){if(this.color_&&!this.canvas_[t]&&this.imageState_===$g.a.LOADED){var e=document.createElement("canvas");this.canvas_[t]=e,e.width=Math.ceil(this.image_.width*t),e.height=Math.ceil(this.image_.height*t);var r=e.getContext("2d");if(r.scale(t,t),r.drawImage(this.image_,0,0),r.globalCompositeOperation="multiply","multiply"===r.globalCompositeOperation||this.isTainted_())r.fillStyle=Object(ui.b)(this.color_),r.fillRect(0,0,e.width/t,e.height/t),r.globalCompositeOperation="destination-in",r.drawImage(this.image_,0,0);else{for(var n=r.getImageData(0,0,e.width,e.height),i=n.data,o=this.color_[0]/255,a=this.color_[1]/255,s=this.color_[2]/255,l=this.color_[3],u=0,c=i.length;u0,6);var c=void 0!==n.src?$g.a.IDLE:$g.a.LOADED;return r.color_=void 0!==n.color?Object(ui.a)(n.color):null,r.iconImage_=function(t,e,r,n,i,o){var a=fi.get(e,n,o);return a||(a=new ny(t,e,r,n,i,o),fi.set(e,n,o,a)),a}(l,u,void 0!==r.imgSize_?r.imgSize_:null,r.crossOrigin_,c,r.color_),r.offset_=void 0!==n.offset?n.offset:[0,0],r.offsetOrigin_=void 0!==n.offsetOrigin?n.offsetOrigin:Jg,r.origin_=null,r.size_=void 0!==n.size?n.size:null,r}return iy(e,t),e.prototype.clone=function(){var t=this.getScale();return new e({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,imgSize:this.imgSize_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:Array.isArray(t)?t.slice():t,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})},e.prototype.getAnchor=function(){var t=this.normalizedAnchor_;if(!t){t=this.anchor_;var e=this.getSize();if(this.anchorXUnits_==Xg||this.anchorYUnits_==Xg){if(!e)return null;t=this.anchor_.slice(),this.anchorXUnits_==Xg&&(t[0]*=e[0]),this.anchorYUnits_==Xg&&(t[1]*=e[1])}if(this.anchorOrigin_!=Jg){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),this.anchorOrigin_!=Qg&&this.anchorOrigin_!=Kg||(t[0]=-t[0]+e[0]),this.anchorOrigin_!=Zg&&this.anchorOrigin_!=Kg||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}var r=this.getDisplacement();return[t[0]-r[0],t[1]+r[1]]},e.prototype.setAnchor=function(t){this.anchor_=t,this.normalizedAnchor_=null},e.prototype.getColor=function(){return this.color_},e.prototype.getImage=function(t){return this.iconImage_.getImage(t)},e.prototype.getPixelRatio=function(t){return this.iconImage_.getPixelRatio(t)},e.prototype.getImageSize=function(){return this.iconImage_.getSize()},e.prototype.getImageState=function(){return this.iconImage_.getImageState()},e.prototype.getHitDetectionImage=function(){return this.iconImage_.getHitDetectionImage()},e.prototype.getOrigin=function(){if(this.origin_)return this.origin_;var t=this.offset_;if(this.offsetOrigin_!=Jg){var e=this.getSize(),r=this.iconImage_.getSize();if(!e||!r)return null;t=t.slice(),this.offsetOrigin_!=Qg&&this.offsetOrigin_!=Kg||(t[0]=r[0]-e[0]-t[0]),this.offsetOrigin_!=Zg&&this.offsetOrigin_!=Kg||(t[1]=r[1]-e[1]-t[1])}return this.origin_=t,this.origin_},e.prototype.getSrc=function(){return this.iconImage_.getSrc()},e.prototype.getSize=function(){return this.size_?this.size_:this.iconImage_.getSize()},e.prototype.listenImageChange=function(t){this.iconImage_.addEventListener(fo.a.CHANGE,t)},e.prototype.load=function(){this.iconImage_.load()},e.prototype.unlistenImageChange=function(t){this.iconImage_.removeEventListener(fo.a.CHANGE,t)},e}(ty),ay=function(){function t(){}return t.prototype.drawCustom=function(t,e,r,n){},t.prototype.drawGeometry=function(t){},t.prototype.setStyle=function(t){},t.prototype.drawCircle=function(t,e){},t.prototype.drawFeature=function(t,e){},t.prototype.drawGeometryCollection=function(t,e){},t.prototype.drawLineString=function(t,e){},t.prototype.drawMultiLineString=function(t,e){},t.prototype.drawMultiPoint=function(t,e){},t.prototype.drawMultiPolygon=function(t,e){},t.prototype.drawPoint=function(t,e){},t.prototype.drawPolygon=function(t,e){},t.prototype.drawText=function(t,e){},t.prototype.setFillStrokeStyle=function(t,e){},t.prototype.setImageStyle=function(t,e){},t.prototype.setTextStyle=function(t,e){},t}();function sy(t){return Array.isArray(t)?Object(ui.e)(t):t}var ly=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uy=function(t){function e(e,r,n,i,o,a,s){var l=t.call(this)||this;return l.context_=e,l.pixelRatio_=r,l.extent_=n,l.transform_=i,l.viewRotation_=o,l.squaredTolerance_=a,l.userTransform_=s,l.contextFillState_=null,l.contextStrokeState_=null,l.contextTextState_=null,l.fillState_=null,l.strokeState_=null,l.image_=null,l.imageAnchorX_=0,l.imageAnchorY_=0,l.imageHeight_=0,l.imageOpacity_=0,l.imageOriginX_=0,l.imageOriginY_=0,l.imageRotateWithView_=!1,l.imageRotation_=0,l.imageScale_=[0,0],l.imageWidth_=0,l.text_="",l.textOffsetX_=0,l.textOffsetY_=0,l.textRotateWithView_=!1,l.textRotation_=0,l.textScale_=[0,0],l.textFillState_=null,l.textStrokeState_=null,l.textState_=null,l.pixelCoordinates_=[],l.tmpLocalTransform_=Object(li.d)(),l}return ly(e,t),e.prototype.drawImages_=function(t,e,r,n){if(this.image_){var i=na(t,e,r,n,this.transform_,this.pixelCoordinates_),o=this.context_,a=this.tmpLocalTransform_,s=o.globalAlpha;1!=this.imageOpacity_&&(o.globalAlpha=s*this.imageOpacity_);var l=this.imageRotation_;this.imageRotateWithView_&&(l+=this.viewRotation_);for(var u=0,c=i.length;u0&&void 0!==arguments[0]?arguments[0]:{};xy(this,o);var r=0;return e.stroke&&(r=e.stroke.getWidth()),t=i.call(this,{radius:e.radius,fill:e.fill,rotation:e.rotation,rotateWithView:e.rotateWithView}),"number"==typeof e.opacity&&t.setOpacity(e.opacity),t.color_=e.color,t.fontSize_=e.fontSize||1,t.stroke_=e.stroke,t.fill_=e.fill,t.radius_=e.radius-r,t.form_=e.form||"none",t.gradient_=e.gradient,t.offset_=[e.offsetX?e.offsetX:0,e.offsetY?e.offsetY:0],t.glyph_=t.getGlyph(e.glyph)||"",t.renderMaker(),t}return e=o,n=[{key:"addDefs",value:function(t,e){var r=t;if("string"==typeof t&&(r={font:t,name:t,copyright:""}),!r.font||"string"!=typeof r.font)throw new Error("bad font def");var n=r.font;o.defs.fonts[n]=r,Object.keys(e).forEach((function(t){var n=e[t];"string"==typeof n&&1===n.length&&(n={char:n}),o.defs.glyphs[t]={font:r.font,char:n.char||"".concat(String.fromCharCode(n.code))||"",theme:n.theme||r.name,name:n.name||t,search:n.search||""}}))}}],(r=[{key:"clone",value:function(){var t=new o({glyph:"",color:this.color_,fontSize:this.fontSize_,stroke:this.stroke_,fill:this.fill_,radius:this.radius_+(this.stroke_?this.stroke_.getWidth():0),form:this.form_,gradient:this.gradient_,offsetX:this.offset_[0],offsetY:this.offset_[1],opacity:this.getOpacity(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView()});return t.setScale(this.getScale()),t.setGlyph(this.getGlyph()),t.renderMaker(),t}},{key:"setGlyph",value:function(t){this.glyph_=t}},{key:"getFill",value:function(){return this.fill_}},{key:"getStroke",value:function(){return this.stroke_}},{key:"getGlyph",value:function(t){var e=this.glyph_;return t&&(e=(e=o.defs.glyphs[t])||{font:"none",char:t.charAt(0),theme:"none",name:"none",search:""}),e}},{key:"getGlyphName",value:function(){var t=this,e="";return Object.keys(o.defs.glyphs).forEach((function(r){o.defs.glyph[r]===t.glyph_&&(e=r)})),e}},{key:"getFontInfo",value:function(t){return o.defs.fonts[t.font]}},{key:"renderMaker",value:function(t){var e,r=0;this.stroke_&&(e=Object(ui.b)(this.stroke_.getColor()),r=this.stroke_.getWidth());var n=this.getImage(1);n.height+=1,n.width+=1;var i={strokeStyle:e,strokeWidth:r,size:n.width},o=n.getContext("2d");o.clearRect(0,0,n.width,n.height),this.drawMarker_(i,o,0,0);var a=this.getAnchor();a[0]=n.width/2-this.offset_[0],a[1]=n.width/2-this.offset_[1]}},{key:"drawPath_",value:function(t,e){var r=e,n=2*this.radius_+t.strokeWidth,i=t.strokeWidth/2,o=t.size/2,a={fac:1,posX:t.size/2,posY:t.size/2};r.lineJoin="round",r.beginPath();var s=Math.PI;switch(this.form_){case"none":a.fac=1;break;case"circle":case"ban":r.arc(o,o,n/2,0,2*Math.PI,!0);break;case"poi":r.arc(o,o-.4*this.radius_,.6*this.radius_,.15*s,.85*s,!0),r.lineTo(o-.89*.05*n,(.95+.45*.05)*n+i),r.arc(o,.95*n+i,.05*n,.85*Math.PI,.15*Math.PI,!0),a={fac:.45,posX:o,posY:o-.35*this.radius_};break;case"bubble":r.arc(o,o-.2*this.radius_,.8*this.radius_,.4*s,.6*s,!0),r.lineTo(.5*n+i,n+i),a={fac:.7,posX:o,posY:o-.2*this.radius_};break;case"marker":r.arc(o,o-.2*this.radius_,.8*this.radius_,.25*s,.75*s,!0),r.lineTo(.5*n+i,n+i),a={fac:.7,posX:o,posY:o-.2*this.radius_};break;case"coma":r.moveTo(o+.8*this.radius_,o-.2*this.radius_),r.quadraticCurveTo(.95*n+i,.75*n+i,.5*n+i,n+i),r.arc(o,o-.2*this.radius_,.8*this.radius_,.45*s,0,!1),a={fac:.7,posX:o,posY:o-.2*this.radius_};break;default:var l;switch(this.form_){case"shield":l=[.05,0,.95,0,.95,.8,.5,1,.05,.8,.05,0],a.posY=.45*n+i;break;case"blazon":l=[.1,0,.9,0,.9,.8,.6,.8,.5,1,.4,.8,.1,.8,.1,0],a.fac=.8,a.posY=.4*n+i;break;case"bookmark":l=[.05,0,.95,0,.95,1,.5,.8,.05,1,.05,0],a.fac=.9,a.posY=.4*n+i;break;case"hexagon":l=[.05,.2,.5,0,.95,.2,.95,.8,.5,1,.05,.8,.05,.2],a.fac=.9,a.posY=.5*n+i;break;case"diamond":l=[.25,0,.75,0,1,.2,1,.4,.5,1,0,.4,0,.2,.25,0],a.fac=.75,a.posY=.35*n+i;break;case"triangle":l=[0,0,1,0,.5,1,0,0],a.fac=.6,a.posY=.3*n+i;break;case"sign":l=[.5,.05,1,.95,0,.95,.5,.05],a.fac=.7,a.posY=.65*n+i;break;case"lozenge":l=[.5,0,1,.5,.5,1,0,.5,.5,0],a.fac=.7;break;default:l=[0,0,1,0,1,1,0,1,0,0]}for(var u=0;u0&&void 0!==arguments[0]?arguments[0]:{};Ty(this,t),this.options_=e,this.layer_=null,this.updateFacadeOptions(e)}var e,r,n;return e=t,n=[{key:"getCanvasSize",value:function(){return[100,100]}}],(r=[{key:"updateFacadeOptions",value:function(){}},{key:"applyToLayer",value:function(t){this.layer_=t,t.getFeatures().forEach(this.applyToFeature,this)}},{key:"applyToFeature",value:function(t){t.getImpl().getOLFeature().setStyle(this.olStyleFn_)}},{key:"updateCanvas",value:function(e){var r=t.getCanvasSize(),n=yy(e.getContext("2d"),{size:r});n.setStyle(this.olStyleFn_()[0]),this.drawGeometryToCanvas(n)}},{key:"drawGeometryToCanvas",value:function(t){}},{key:"clone",value:function(){return new t(Object.assign({},this.options_))}}])&&Py(e.prototype,r),n&&Py(e,n),t}();function Ly(t){return(Ly="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function My(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Ay(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return My(this,o),(t=i.call(this,e)).updateFacadeOptions(e),t}return e=o,n=[{key:"getValue",value:function(t,e,r){var n=/^\{\{([^}]+)\}\}$/,i=t;if(n.test(t)||$F(t))if(e instanceof gh||e instanceof Mh){var o=qD.olFeature2Facade(e,!1);if(n.test(t)){var a=t.replace(n,"$1");i=o.getAttribute(a)}else if($F(t)){var s;QF(r)||(s=r.getImpl().getMap()),i=t(o,s)}}else i=void 0;return QF(i)&&(i=void 0),i}}],(r=[{key:"applyToLayer",value:function(t){this.layer_=t;var e=t.getImpl().getOLLayer();QF(e)||e.setStyle(this.olStyleFn_)}},{key:"applyToFeature",value:function(t){t.getImpl().getOLFeature().setStyle(this.olStyleFn_)}},{key:"olStyleFn",get:function(){return this.olStyleFn_}}])&&Ay(e.prototype,r),n&&Ay(e,n),o}(Ry),Gy="left",Uy="center",By="right",zy="justify",Vy="top",qy="middle",Yy="bottom",Wy="alphabetic",Xy="hanging",Hy="ideographic",Zy=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Ky=function(t){function e(e){var r=e||{};return t.call(this,{points:1/0,fill:r.fill,radius:r.radius,stroke:r.stroke,scale:void 0!==r.scale?r.scale:1,rotation:void 0!==r.rotation?r.rotation:0,rotateWithView:void 0!==r.rotateWithView&&r.rotateWithView,displacement:void 0!==r.displacement?r.displacement:[0,0],declutterMode:r.declutterMode})||this}return Zy(e,t),e.prototype.clone=function(){var t=this.getScale(),r=new e({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return r.setOpacity(this.getOpacity()),r},e.prototype.setRadius=function(t){this.radius_=t,this.render()},e}(vy),Jy=function(){function t(t){var e=t||{};this.color_=void 0!==e.color?e.color:null}return t.prototype.clone=function(){var e=this.getColor();return new t({color:Array.isArray(e)?e.slice():e||void 0})},t.prototype.getColor=function(){return this.color_},t.prototype.setColor=function(t){this.color_=t},t}(),Qy=function(){function t(t){var e=t||{};this.color_=void 0!==e.color?e.color:null,this.lineCap_=e.lineCap,this.lineDash_=void 0!==e.lineDash?e.lineDash:null,this.lineDashOffset_=e.lineDashOffset,this.lineJoin_=e.lineJoin,this.miterLimit_=e.miterLimit,this.width_=e.width}return t.prototype.clone=function(){var e=this.getColor();return new t({color:Array.isArray(e)?e.slice():e||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})},t.prototype.getColor=function(){return this.color_},t.prototype.getLineCap=function(){return this.lineCap_},t.prototype.getLineDash=function(){return this.lineDash_},t.prototype.getLineDashOffset=function(){return this.lineDashOffset_},t.prototype.getLineJoin=function(){return this.lineJoin_},t.prototype.getMiterLimit=function(){return this.miterLimit_},t.prototype.getWidth=function(){return this.width_},t.prototype.setColor=function(t){this.color_=t},t.prototype.setLineCap=function(t){this.lineCap_=t},t.prototype.setLineDash=function(t){this.lineDash_=t},t.prototype.setLineDashOffset=function(t){this.lineDashOffset_=t},t.prototype.setLineJoin=function(t){this.lineJoin_=t},t.prototype.setMiterLimit=function(t){this.miterLimit_=t},t.prototype.setWidth=function(t){this.width_=t},t}();function $y(t){return($y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var tm=function(){function t(t){var e=t||{};this.geometry_=null,this.geometryFunction_=im,void 0!==e.geometry&&this.setGeometry(e.geometry),this.fill_=void 0!==e.fill?e.fill:null,this.image_=void 0!==e.image?e.image:null,this.renderer_=void 0!==e.renderer?e.renderer:null,this.hitDetectionRenderer_=void 0!==e.hitDetectionRenderer?e.hitDetectionRenderer:null,this.stroke_=void 0!==e.stroke?e.stroke:null,this.text_=void 0!==e.text?e.text:null,this.zIndex_=e.zIndex}return t.prototype.clone=function(){var e=this.getGeometry();return e&&"object"===$y(e)&&(e=e.clone()),new t({geometry:e,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer(),stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})},t.prototype.getRenderer=function(){return this.renderer_},t.prototype.setRenderer=function(t){this.renderer_=t},t.prototype.setHitDetectionRenderer=function(t){this.hitDetectionRenderer_=t},t.prototype.getHitDetectionRenderer=function(){return this.hitDetectionRenderer_},t.prototype.getGeometry=function(){return this.geometry_},t.prototype.getGeometryFunction=function(){return this.geometryFunction_},t.prototype.getFill=function(){return this.fill_},t.prototype.setFill=function(t){this.fill_=t},t.prototype.getImage=function(){return this.image_},t.prototype.setImage=function(t){this.image_=t},t.prototype.getStroke=function(){return this.stroke_},t.prototype.setStroke=function(t){this.stroke_=t},t.prototype.getText=function(){return this.text_},t.prototype.setText=function(t){this.text_=t},t.prototype.getZIndex=function(){return this.zIndex_},t.prototype.setGeometry=function(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=im,this.geometry_=t},t.prototype.setZIndex=function(t){this.zIndex_=t},t}();var em=null;function rm(t,e){if(!em){var r=new Jy({color:"rgba(255,255,255,0.4)"}),n=new Qy({color:"#3399CC",width:1.25});em=[new tm({image:new Ky({fill:r,stroke:n,radius:5}),fill:r,stroke:n})]}return em}function nm(){var t={},e=[255,255,255,1],r=[0,153,255,1];return t.Polygon=[new tm({fill:new Jy({color:[255,255,255,.5]})})],t.MultiPolygon=t.Polygon,t.LineString=[new tm({stroke:new Qy({color:e,width:5})}),new tm({stroke:new Qy({color:r,width:3})})],t.MultiLineString=t.LineString,t.Circle=t.Polygon.concat(t.LineString),t.Point=[new tm({image:new Ky({radius:6,fill:new Jy({color:r}),stroke:new Qy({color:e,width:1.5})}),zIndex:1/0})],t.MultiPoint=t.Point,t.GeometryCollection=t.Polygon.concat(t.LineString,t.Point),t}function im(t){return t.getGeometry()}var om=tm,am="point",sm="line",lm=function(){function t(t){var e=t||{};this.font_=e.font,this.rotation_=e.rotation,this.rotateWithView_=e.rotateWithView,this.scale_=e.scale,this.scaleArray_=Object(ns.d)(void 0!==e.scale?e.scale:1),this.text_=e.text,this.textAlign_=e.textAlign,this.justify_=e.justify,this.textBaseline_=e.textBaseline,this.fill_=void 0!==e.fill?e.fill:new Jy({color:"#333"}),this.maxAngle_=void 0!==e.maxAngle?e.maxAngle:Math.PI/4,this.placement_=void 0!==e.placement?e.placement:am,this.overflow_=!!e.overflow,this.stroke_=void 0!==e.stroke?e.stroke:null,this.offsetX_=void 0!==e.offsetX?e.offsetX:0,this.offsetY_=void 0!==e.offsetY?e.offsetY:0,this.backgroundFill_=e.backgroundFill?e.backgroundFill:null,this.backgroundStroke_=e.backgroundStroke?e.backgroundStroke:null,this.padding_=void 0===e.padding?null:e.padding}return t.prototype.clone=function(){var e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0})},t.prototype.getOverflow=function(){return this.overflow_},t.prototype.getFont=function(){return this.font_},t.prototype.getMaxAngle=function(){return this.maxAngle_},t.prototype.getPlacement=function(){return this.placement_},t.prototype.getOffsetX=function(){return this.offsetX_},t.prototype.getOffsetY=function(){return this.offsetY_},t.prototype.getFill=function(){return this.fill_},t.prototype.getRotateWithView=function(){return this.rotateWithView_},t.prototype.getRotation=function(){return this.rotation_},t.prototype.getScale=function(){return this.scale_},t.prototype.getScaleArray=function(){return this.scaleArray_},t.prototype.getStroke=function(){return this.stroke_},t.prototype.getText=function(){return this.text_},t.prototype.getTextAlign=function(){return this.textAlign_},t.prototype.getJustify=function(){return this.justify_},t.prototype.getTextBaseline=function(){return this.textBaseline_},t.prototype.getBackgroundFill=function(){return this.backgroundFill_},t.prototype.getBackgroundStroke=function(){return this.backgroundStroke_},t.prototype.getPadding=function(){return this.padding_},t.prototype.setOverflow=function(t){this.overflow_=t},t.prototype.setFont=function(t){this.font_=t},t.prototype.setMaxAngle=function(t){this.maxAngle_=t},t.prototype.setOffsetX=function(t){this.offsetX_=t},t.prototype.setOffsetY=function(t){this.offsetY_=t},t.prototype.setPlacement=function(t){this.placement_=t},t.prototype.setRotateWithView=function(t){this.rotateWithView_=t},t.prototype.setFill=function(t){this.fill_=t},t.prototype.setRotation=function(t){this.rotation_=t},t.prototype.setScale=function(t){this.scale_=t,this.scaleArray_=Object(ns.d)(void 0!==t?t:1)},t.prototype.setStroke=function(t){this.stroke_=t},t.prototype.setText=function(t){this.text_=t},t.prototype.setTextAlign=function(t){this.textAlign_=t},t.prototype.setJustify=function(t){this.justify_=t},t.prototype.setTextBaseline=function(t){this.textBaseline_=t},t.prototype.setBackgroundFill=function(t){this.backgroundFill_=t},t.prototype.setBackgroundStroke=function(t){this.backgroundStroke_=t},t.prototype.setPadding=function(t){this.padding_=t},t}();function um(t){return(um="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function cm(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return cm(this,o),(t=i.call(this,e)).textOverflow_=void 0!==e.textOverflow?e.textOverflow:"",t.minWidth_=e.minWidth||0,t}return e=o,(r=[{key:"getTextOverflow",value:function(){return this.textOverflow_}},{key:"getMinWidth",value:function(){return this.minWidth_}}])&&hm(e.prototype,r),n&&hm(e,n),o}(lm);function mm(t){return(mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _m(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function vm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return _m(this,o),i.call(this,{anchor:t.anchor?t.anchor.slice():void 0,anchorOrigin:t.anchorOrigin,anchorXUnits:t.anchorXUnits,anchorYUnits:t.anchorYUnits,crossOrigin:t.crossOrigin||null,color:t.color&&t.color.slice?t.color.slice():t.color||void 0,src:t.src,offset:t.offset?t.offset.slice():void 0,offsetOrigin:t.offsetOrigin,size:t.size?t.size.slice():void 0,imgSize:t.imgSize,opacity:t.opacity,scale:t.scale,snapToPixel:t.snapToPixel,rotation:t.rotation,rotateWithView:t.rotateWithView})}return e=o,(r=[{key:"clone",value:function(){return new o({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,crossOrigin:this.crossOrigin_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,src:this.getSrc(),offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,size:null!==this.size_?this.size_.slice():void 0,opacity:this.getOpacity(),scale:this.getScale(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView()})}},{key:"size",set:function(t){this.size_=Array.isArray(t)?t:null}},{key:"anchor",set:function(t){this.anchor_=Array.isArray(t)?t:null}},{key:"origin",set:function(t){this.origin_=Array.isArray(t)?t:null}}])&&vm(e.prototype,r),n&&vm(e,n),o}(oy);function Om(t){return(Om="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Im(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Cm(t,e){return(Cm=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function Tm(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=Rm(t);if(e){var i=Rm(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return Pm(this,r)}}function Pm(t,e){return!e||"object"!==Om(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function Rm(t){return(Rm=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Lm=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&Cm(t,e)}(r,t);var e=Tm(r);function r(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Im(this,r);var n=t;return t.anchor||(n.anchor=[]),t.offset||(n.offset=[]),e.call(this,{glyph:t.glyph,color:t.color,fontSize:t.fontSize,stroke:t.stroke,fill:t.fill,radius:t.radius,form:t.form,gradient:t.gradient,offsetX:t.offset[0],offsetY:t.offset[1],opacity:t.opacity,rotation:t.rotation,rotateWithView:t.rotateWithView})}return r}(Cy);function Mm(t){return(Mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Am(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Nm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};Am(this,o);var n=document.createElement("canvas"),a=Number(r.scale)>0?Number(r.scale):1,s=a*Li.a||Li.a,l=n.getContext("2d");if(r.image){r.image.load();var u=r.image.getImage();u.width?(n.width=Math.round(u.width*s),n.height=Math.round(u.height*s),l.globalAlpha="number"==typeof r.opacity?r.opacity:1,l.drawImage(u,0,0,u.width,u.height,0,0,n.width,n.height),e=l.createPattern(n,"repeat")):(e=[0,0,0,0],u.onload=function(){n.width=Math.round(u.width*s),n.height=Math.round(u.height*s),l.globalAlpha="number"==typeof r.opacity?r.opacity:1,l.drawImage(u,0,0,u.width,u.height,0,0,n.width,n.height),e=l.createPattern(n,"repeat"),this.color_=e,this.checksum_=void 0})}else{var c=o.getPattern(r);if(n.width=Math.round(c.width*s),n.height=Math.round(c.height*s),l.beginPath(),r.fill&&(l.fillStyle=Object(ui.b)(r.fill.getColor()),l.fillRect(0,0,n.width,n.height)),l.scale(s,s),l.lineCap="round",l.lineWidth=c.stroke||1,l.fillStyle=Object(ui.b)(r.color||"#000"),l.strokeStyle=Object(ui.b)(r.color||"#000"),c.circles)for(var h=0;h180&&(a-=360),a*=Math.PI/180;var s=Math.cos(a),l=Math.sin(a);if(Math.abs(l)<1e-4)r.width=n,r.height=n,r.lines=[[0,.5,n,.5]],r.repeat=[[0,0],[0,n]];else if(Math.abs(s)<1e-4)r.height=n,r.width=n,r.lines=[[.5,0,.5,n]],r.repeat=[[0,0],[n,0]],"cross"===e.pattern&&(r.lines.push([0,.5,n,.5]),r.repeat.push([0,n]));else{r.width=Math.round(Math.abs(n/l))||1,r.height=Math.round(Math.abs(n/s))||1;var u=r.width,c=r.height;"cross"===e.pattern?(r.lines=[[-u,-c,2*u,2*c],[2*u,-c,-u,2*c]],r.repeat=[[0,0]]):s*l>0?(r.lines=[[-u,-c,2*u,2*c]],r.repeat=[[0,0],[u,0],[0,c]]):(r.lines=[[2*u,-c,-u,2*c]],r.repeat=[[0,0],[-u,0],[0,c]])}r.stroke=0===e.size?0:e.size||4}return r}},{key:"addPattern",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o.patterns[t||e.char]={width:e.width||e.size||10,height:e.height||e.size||10,font:e.font,char:e.char,circles:e.circles,lines:e.lines,repeat:e.repeat,stroke:e.stroke,angle:e.angle,fill:e.fill}}}],(r=[{key:"clone",value:function(){return new o(this.options_)}},{key:"getImage",value:function(){return this.canvas_}}])&&Nm(e.prototype,r),n&&Nm(e,n),o}(Jy);function Um(t){return(Um="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Bm(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function zm(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return Bm(this,o),i.call(this,{points:1/0,fill:t.fill,radius:t.radius,snapToPixel:t.snapToPixel,stroke:t.stroke,atlasManager:t.atlasManager})}return e=o,(r=[{key:"clone",value:function(){var t=new o({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),atlasManager:this.atlasManager_});return t.setOpacity(this.getOpacity()),t.setScale(this.getScale()),t}}])&&zm(e.prototype,r),n&&zm(e,n),o}(Ky),Hm=function(t,e,r){var n;if(!QF(t.fill)){var i=Dy.getValue(t.fill.color,e,r),o=Dy.getValue(t.fill.opacity,e,r);o||0===o||(o=1),QF(i)||(n=new Jy({color:l()(i).alpha(o).css()}))}return n},Zm=function(t,e,r){var n;if(!QF(t.stroke)){var i=Dy.getValue(t.stroke.color,e,r);if(!QF(i)){var o=t.stroke.linedashoffset;n=new Qy({color:i,width:Dy.getValue(t.stroke.width,e,r),lineDash:Dy.getValue(t.stroke.linedash,e,r),lineDashOffset:Dy.getValue(o,e,r),lineCap:Dy.getValue(t.stroke.linecap,e,r),lineJoin:Dy.getValue(t.stroke.linejoin,e,r),miterLimit:Dy.getValue(t.stroke.miterlimit,e,r)})}}return n},Km=function(t,e,r){var o;if(t.label){var a=Dy.getValue(t.label.text,e,r),s=Dy.getValue(t.label.align,e,r),l=Dy.getValue(t.label.baseline,e,r);if(o=new lm({font:Dy.getValue(t.label.font,e,r),rotateWithView:Dy.getValue(t.label.rotate,e,r),scale:Dy.getValue(t.label.scale,e,r),offsetX:Dy.getValue(t.label.offset?t.label.offset[0]:void 0,e,r),offsetY:Dy.getValue(t.label.offset?t.label.offset[1]:void 0,e,r),fill:new Jy({color:Dy.getValue(t.label.color||"#000",e,r)}),textAlign:Object.values(n).includes(s)?s:"center",textBaseline:Object.values(i).includes(l)?l:"top",text:void 0===a?void 0:String(a),rotation:Dy.getValue(t.label.rotation,e,r)}),!QF(t.label.stroke)){var u=t.label.stroke,c=u.miterlimit,h=u.linedashoffset;o.setStroke(new Qy({color:Dy.getValue(t.label.stroke.color,e,r),width:Dy.getValue(t.label.stroke.width,e,r),lineCap:Dy.getValue(t.label.stroke.linecap,e,r),lineJoin:Dy.getValue(t.label.stroke.linejoin,e,r),lineDash:Dy.getValue(t.label.stroke.linedash,e,r),lineDashOffset:Dy.getValue(h,e,r),miterLimit:Dy.getValue(c,e,r)}))}}return o},Jm={},Qm=function(t,e,r){var n=t||{},i=Hm(n,e,r),o=Zm(n,e,r),a=new Xm({fill:i,stroke:o,radius:Dy.getValue(n.radius,e,r),snapToPixel:Dy.getValue(n.snapToPixel,e,r)}),s=new om({image:a}),l=new om;if(!QF(n.icon)){var u,c=Dy.getValue(n.icon.src,e,r);QF(c)?QF(n.icon.form)||(u=function(t,e,r){return new Lm({form:QF(Dy.getValue(t.icon.form,e,r))?"":Dy.getValue(t.icon.form,e,r).toLowerCase(),gradient:Dy.getValue(t.icon.gradient,e,r),glyph:Dy.getValue(t.icon.class,e,r),fontSize:Dy.getValue(t.icon.fontsize,e,r),radius:Dy.getValue(t.icon.radius,e,r),rotation:Dy.getValue(t.icon.rotation,e,r),rotateWithView:Dy.getValue(t.icon.rotate,e,r),offsetX:Dy.getValue(t.icon.offset?t.icon.offset[0]:void 0,e,r),offsetY:Dy.getValue(t.icon.offset?t.icon.offset[1]:void 0,e,r),fill:new Jy({color:Dy.getValue(void 0!==t.icon.fill?t.icon.fill:"#FFFFFF",e,r)}),stroke:t.icon.color?new Qy({color:Dy.getValue(t.icon.color,e,r),width:1}):void 0,anchor:Dy.getValue(t.icon.anchor,e,r),anchorXUnits:Dy.getValue(t.icon.anchorxunits,e,r),anchorYUnits:Dy.getValue(t.icon.anchoryunits,e,r),src:Dy.getValue(t.icon.src,e,r),opacity:Dy.getValue(t.icon.opacity,e,r),scale:Dy.getValue(t.icon.scale,e,r),snapToPixel:Dy.getValue(t.icon.snaptopixel,e,r),offsetOrigin:Dy.getValue(t.icon.offsetorigin,e,r),offset:Dy.getValue(t.icon.offset,e,r),crossOrigin:Dy.getValue(t.icon.crossorigin,e,r),anchorOrigin:Dy.getValue(t.icon.anchororigin,e,r),size:Dy.getValue(t.icon.size,e,r)})}(n,e,r),l.setImage(u)):(u=function(t,e,r){var n=Dy.getValue(t.icon.anchor,e,r),i=Dy.getValue(t.icon.anchorxunits,e,r),o=Dy.getValue(t.icon.anchoryunits,e,r),a=Dy.getValue(t.icon.src,e,r),s=Dy.getValue(t.icon.opacity,e,r),l=Dy.getValue(t.icon.scale,e,r),u=Dy.getValue(t.icon.rotation,e,r),c=Dy.getValue(t.icon.rotate,e,r),h=Dy.getValue(t.icon.snaptopixel,e,r),f=Dy.getValue(t.icon.offsetorigin,e,r),p=Dy.getValue(t.icon.offset,e,r),d=Dy.getValue(t.icon.crossorigin,e,r),g=Dy.getValue(t.icon.anchororigin,e,r),y=a+n+i+o+s+l+u+c+h+f+p+d+g+g+Dy.getValue(t.icon.size,e,r),m=Jm[y];return m||(m=new Sm({anchor:Dy.getValue(t.icon.anchor,e,r),anchorXUnits:Dy.getValue(t.icon.anchorxunits,e,r),anchorYUnits:Dy.getValue(t.icon.anchoryunits,e,r),src:Dy.getValue(t.icon.src,e,r),opacity:Dy.getValue(t.icon.opacity,e,r),scale:Dy.getValue(t.icon.scale,e,r),rotation:Dy.getValue(t.icon.rotation,e,r),rotateWithView:Dy.getValue(t.icon.rotate,e,r),snapToPixel:Dy.getValue(t.icon.snaptopixel,e,r),offsetOrigin:Dy.getValue(t.icon.offsetorigin,e,r),offset:Dy.getValue(t.icon.offset,e,r),crossOrigin:Dy.getValue(t.icon.crossorigin,e,r),anchorOrigin:Dy.getValue(t.icon.anchororigin,e,r),size:Dy.getValue(t.icon.size,e,r)}),Jm[y]=m),m}(n,e,r),l.setImage(u))}var h=Km(n,e,r);return QF(n.label)||HF(h.getText())||s.setText(h),[s,l]},$m=function(t,e,r){var n=t||{},i=Zm(n,e,r),o=function(t,e,r){var n;if(!QF(t.fill)){var i=Dy.getValue(t.fill.color,e,r),o=Dy.getValue(t.fill.opacity,e,r);o||0===o||(o=1);var a=Dy.getValue(t.fill.width,e,r);QF(i)||(n=new Qy({color:l()(i).alpha(o).css(),width:a}))}return n}(n,e,r),a=function(t,e,r){var n,i=t.label;if(!QF(i)){var o={text:void 0===Dy.getValue(i.text,e)?void 0:String(Dy.getValue(i.text,e)),font:Dy.getValue(i.font,e),fill:new Jy({color:Dy.getValue(i.color||"#000",e)}),textBaseline:(Dy.getValue(i.baseline,e)||"").toLowerCase(),textAlign:Dy.getValue(i.align,e),scale:Dy.getValue(i.scale,e),rotateWithView:Dy.getValue(i.rotate,e)||!1,textOverflow:Dy.getValue(i.textoverflow,e)||"",minWidth:Dy.getValue(i.minwidth,e)||0,geometry:Dy.getValue(i.geometry,e),offsetX:Dy.getValue(t.label.offset?t.label.offset[0]:void 0,e),offsetY:Dy.getValue(t.label.offset?t.label.offset[1]:void 0,e)};n=new ym(o),QF(i.stroke)||n.setStroke(new Qy({color:Dy.getValue(i.stroke.color,e),width:Dy.getValue(i.stroke.width,e),lineCap:Dy.getValue(i.stroke.linecap,e),lineJoin:Dy.getValue(i.stroke.linejoin,e),lineDash:Dy.getValue(i.stroke.linedash,e),lineDashOffset:Dy.getValue(i.stroke.linedashoffset,e),miterLimit:Dy.getValue(i.stroke.miterlimit,e)}))}return n}(n,e),s=new om,u=new om;QF(a)||(!0===Dy.getValue(a.path,e)?(s.textPath=a,!QF(a.smooth)&&!0===a.smooth&&$F(e.getGeometry)&&s.setGeometry(e.getGeometry().cspline())):s.setText(a));return s.setStroke(i),u.setStroke(o),[s,u]},t_=function(t,e,r){var n=t||{},i=new om,o=Zm(n,e,r),a=Hm(n,e,r),s=Km(n,e,r);return n.fill&&!QF(n.fill.pattern)&&(a=function(t,e,r,n){var i="rgba(0,0,0,1)";if(!QF(t.fill.pattern.color)){var o=Dy.getValue(t.fill.pattern.opacity,e,r)||1;o||0===o||(o=1),i=l()(t.fill.pattern.color).alpha(o).css()}return new Gm({pattern:(Dy.getValue(t.fill.pattern.name,e,r)||"").toLowerCase(),color:i,size:Dy.getValue(t.fill.pattern.size,e,r),spacing:Dy.getValue(t.fill.pattern.spacing,e,r),image:"IMAGE"===Dy.getValue(t.fill.pattern.name,e,r)?new oy({src:Dy.getValue(t.fill.pattern.src,e,r)}):void 0,angle:Dy.getValue(t.fill.pattern.rotation,e,r),scale:Dy.getValue(t.fill.pattern.scale,e,r),offset:Dy.getValue(t.fill.pattern.offset,e,r),fill:n})}(n,e,r)),i.setFill(a),i.setStroke(o),i.setText(s),[i]};function e_(t){return(e_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r_(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n_(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return r_(this,o),(t=i.call(this,e)).styles_={},t}return e=o,(r=[{key:"toImage",value:function(){var t=this,e=30,r=null,n=null,i=null,o=GD(),a=[];HF(this.options_.point)||(r=function(r){return new Promise((function(n,i){var o=new Image;if(o.onload=function(){return n(o)},o.onerror=i,o.width=e,o.height=e,!0===FD(t.options_.point))o.src=r;else{var a=(0,l_.Point)(t.options_,t,t.layer_);a[0].getImage().setRadius(5);var s=a[0].getImage().getImage(1).toDataURL();o.src=s}}))},a.push(r(o))),HF(this.options_.polygon)||(n=function(r){return new Promise((function(n,i){var o=new Image;if(o.onload=function(){return n(o)},o.onerror=i,!0===FD(t.options_.polygon))o.src=r,o.width=e,o.height=e;else{var a=(0,l_.Polygon)(t.options_,t,t.layer_),s=document.createElement("canvas");s.width=e,s.height=e;var l=yy(s.getContext("2d"));l.setStyle(a[0],0,0);var u=[25,15],c=Math.floor(u[0]),h=Math.floor(u[1]),f=u[0]-c,p=u[1]-h;l.drawGeometry(new Xa([[[f+3,p+3],[c-3,p+3],[c-3,h-3],[f+3,h-3],[f+3,p+3]]])),o.src=s.toDataURL()}}))},a.push(n(o))),HF(this.options_.line)||(i=function(e){return new Promise((function(r,n){var i=new Image;if(i.onload=function(){return r(i)},i.onerror=n,!0===FD(t.options_.line))i.src=e,i.width=30,i.height=30;else{var o=(0,l_.LineString)(t.options_,t,t.layer_),a=document.createElement("canvas");a.width=30,a.height=30;var s=yy(a.getContext("2d"));s.setStyle(o[0],0,0);var l=HF(o[0].getStroke())?1.5:o[0].getStroke().getWidth();s.drawGeometry(new Eh([[0+l/2,0+l/2],[25/3,7.5-l/2],[50/3,0+l/2],[25-l/2,7.5-l/2]])),i.src=a.toDataURL()}}))},a.push(i(o)));var s=document.createElement("canvas");s.width=200,s.height=50;var l=s.getContext("2d"),u=[0,60,120],c=0;return Promise.all(a).then((function(t){return t.forEach((function(t){l.drawImage(t,u[c],0),c+=1})),s.toDataURL()}))}},{key:"updateFacadeOptions",value:function(t){var e=this;this.olStyleFn_=function(r){var n=JSON.stringify(r.getProperties()),i=[];e.styles_=[];var o=r;if(o instanceof gh||o instanceof Mh){var a=o.getGeometry().getType(),s=l_[a];$F(s)&&(i=s(t,o,e.layer_),e.styles_[n]=i)}else o=e;return i}}},{key:"drawGeometryToCanvas",value:function(t){}},{key:"updateCanvas",value:function(t){}},{key:"getCanvasSize",value:function(){return 0}},{key:"getRadius_",value:function(t){return t instanceof oy?25:t instanceof Cy?t.getRadius():this.olStyleFn_()[0].getImage().getRadius()}}])&&n_(e.prototype,r),n&&n_(e,n),o}(Dy);function c_(t){return(c_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h_(t){return function(t){if(Array.isArray(t))return f_(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return f_(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return f_(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f_(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&(QF(i[l])&&(i[l]={}),o.setValue(i[l],a.slice(1,s),n))}},{key:"deserialize",value:function(t){var e=decodeURIComponent(escape(window.atob(t))),r=JSON.parse(e),n=r.parameters,i=r.deserializedMethod;return new Function("serializedParams","return ".concat(i,"(serializedParams)"))(n)}}],(r=[{key:"apply",value:function(t){this.layer_=t,this.getImpl().applyToLayer(t),this.updateCanvas()}},{key:"unapply",value:function(t){}},{key:"get",value:function(t){var e;if(e=this.options_[t],QF(e)){var r=t.split(".");r.length>1&&(e=r.reduce((function(t,e){var r;return QF(t)||(r=t[e],t instanceof o&&(r=t.get(e))),r}),this))}return e}},{key:"set",value:function(t,e){var r=this.get(t);return o.setValue(this.options_,t,e),QF(this.layer_)||this.getImpl().updateFacadeOptions(this.options_),QF(this.feature_)||this.applyToFeature(this.feature_),this.fire(_u,[t,r,e]),this.refresh(),this}},{key:"refresh",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(QF(t)||(this.layer_=t),!QF(this.layer_)&&(this.apply(this.layer_),this.updateCanvas(),!QF(this.layer_.getImpl().getMap()))){var e=this.layer_.getImpl().getMap().getControls("layerswitcher")[0];QF(e)||e.render()}}},{key:"getOptions",value:function(){return this.options_}},{key:"toImage",value:function(){var t,e=this;if(QF(this.updateCanvasPromise_))if(QF(this.options_.icon)||QF(this.options_.icon.src))t=this.canvas_.toDataURL("png");else{var r=new Image;r.crossOrigin="Anonymous";var n=this.canvas_;r.onload=function(){n.getContext("2d").drawImage(e,0,0,50,50)},r.src=this.options_.icon.src,t=this.canvas_.toDataURL("png")}else t=this.updateCanvasPromise_.then((function(){return e.canvas_.toDataURL("png")}));return t}},{key:"updateCanvas",value:function(){this.updateCanvasPromise_=this.getImpl().updateCanvas(this.canvas_)}},{key:"equals",value:function(t){return this.constructor===t.constructor}},{key:"clone",value:function(){var t={};TD(t,this.options_);var e=new(0,this.getImpl().constructor)(t);return new this.constructor(t,e)}},{key:"toJSON",value:function(){return{parameters:[MD(this.getOptions())],deserializedMethod:this.getDeserializedMethod_()}}},{key:"serialize",value:function(){return window.btoa(unescape(encodeURIComponent(JSON.stringify(this))))}},{key:"canvas",get:function(){return this.canvas_}}])&&p_(e.prototype,r),n&&p_(e,n),o}(Zl);function v_(t){return(v_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function b_(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r M.style.Simple.deserialize(serializedParameters, 'M.style.Generic'))"}}])&&B_(e.prototype,r),n&&B_(e,n),o}(j_);W_.DEFAULT={point:{radius:5}},W_.PARAMS_DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},W_.DEFAULT_NULL={point:D_(D_({},W_.PARAMS_DEFAULT_NULL),{},{radius:5}),line:D_({},W_.PARAMS_DEFAULT_NULL),polygon:D_({},W_.PARAMS_DEFAULT_NULL)};var X_=W_,H_=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Z_="renderOrder",K_=function(t){function e(e){var r=this,n=e||{},i=Object(Mi.a)({},n);return delete i.style,delete i.renderBuffer,delete i.updateWhileAnimating,delete i.updateWhileInteracting,(r=t.call(this,i)||this).declutter_=void 0!==n.declutter&&n.declutter,r.renderBuffer_=void 0!==n.renderBuffer?n.renderBuffer:100,r.style_=null,r.styleFunction_=void 0,r.setStyle(n.style),r.updateWhileAnimating_=void 0!==n.updateWhileAnimating&&n.updateWhileAnimating,r.updateWhileInteracting_=void 0!==n.updateWhileInteracting&&n.updateWhileInteracting,r}return H_(e,t),e.prototype.getDeclutter=function(){return this.declutter_},e.prototype.getFeatures=function(e){return t.prototype.getFeatures.call(this,e)},e.prototype.getRenderBuffer=function(){return this.renderBuffer_},e.prototype.getRenderOrder=function(){return this.get(Z_)},e.prototype.getStyle=function(){return this.style_},e.prototype.getStyleFunction=function(){return this.styleFunction_},e.prototype.getUpdateWhileAnimating=function(){return this.updateWhileAnimating_},e.prototype.getUpdateWhileInteracting=function(){return this.updateWhileInteracting_},e.prototype.renderDeclutter=function(t){t.declutterTree||(t.declutterTree=new Tg.a(9)),this.getRenderer().renderDeclutter(t)},e.prototype.setRenderOrder=function(t){this.set(Z_,t)},e.prototype.setStyle=function(t){this.style_=void 0!==t?t:rm,this.styleFunction_=null===t?void 0:function(t){var e;if("function"==typeof t)e=t;else{var r;Array.isArray(t)?r=t:(Object(go.a)("function"==typeof t.getZIndex,41),r=[t]),e=function(){return r}}return e}(this.style_),this.changed()},e}(pi.a),J_={BEGIN_GEOMETRY:0,BEGIN_PATH:1,CIRCLE:2,CLOSE_PATH:3,CUSTOM:4,DRAW_CHARS:5,DRAW_IMAGE:6,END_GEOMETRY:7,FILL:8,MOVE_TO_LINE_TO:9,SET_FILL_STYLE:10,SET_STROKE_STYLE:11,STROKE:12},Q_=[J_.FILL],$_=[J_.STROKE],tv=[J_.BEGIN_PATH],ev=[J_.CLOSE_PATH],rv=J_,nv=r(33),iv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ov=function(t){function e(e,r,n,i){var o=t.call(this)||this;return o.tolerance=e,o.maxExtent=r,o.pixelRatio=i,o.maxLineWidth=0,o.resolution=n,o.beginGeometryInstruction1_=null,o.beginGeometryInstruction2_=null,o.bufferedMaxExtent_=null,o.instructions=[],o.coordinates=[],o.tmpCoordinate_=[],o.hitDetectionInstructions=[],o.state={},o}return iv(e,t),e.prototype.applyPixelRatio=function(t){var e=this.pixelRatio;return 1==e?t:t.map((function(t){return t*e}))},e.prototype.appendFlatPointCoordinates=function(t,e){for(var r=this.getBufferedMaxExtent(),n=this.tmpCoordinate_,i=this.coordinates,o=i.length,a=0,s=t.length;ah&&(this.instructions.push([rv.CUSTOM,h,o,t,r,Oa]),this.hitDetectionInstructions.push([rv.CUSTOM,h,o,t,n||r,Oa]));break;case"Point":i=t.getFlatCoordinates(),this.coordinates.push(i[0],i[1]),o=this.coordinates.length,this.instructions.push([rv.CUSTOM,h,o,t,r]),this.hitDetectionInstructions.push([rv.CUSTOM,h,o,t,n||r])}this.endGeometry(e)},e.prototype.beginGeometry=function(t,e){this.beginGeometryInstruction1_=[rv.BEGIN_GEOMETRY,e,0,t],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[rv.BEGIN_GEOMETRY,e,0,t],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)},e.prototype.finish=function(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}},e.prototype.reverseHitDetectionInstructions=function(){var t,e=this.hitDetectionInstructions;e.reverse();var r,n,i=e.length,o=-1;for(t=0;tthis.maxLineWidth&&(this.maxLineWidth=r.lineWidth,this.bufferedMaxExtent_=null)}else r.strokeStyle=void 0,r.lineCap=void 0,r.lineDash=null,r.lineDashOffset=void 0,r.lineJoin=void 0,r.lineWidth=void 0,r.miterLimit=void 0},e.prototype.createFill=function(t){var e=t.fillStyle,r=[rv.SET_FILL_STYLE,e];return"string"!=typeof e&&r.push(!0),r},e.prototype.applyStroke=function(t){this.instructions.push(this.createStroke(t))},e.prototype.createStroke=function(t){return[rv.SET_STROKE_STYLE,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,this.applyPixelRatio(t.lineDash),t.lineDashOffset*this.pixelRatio]},e.prototype.updateFillStyle=function(t,e){var r=t.fillStyle;"string"==typeof r&&t.currentFillStyle==r||(void 0!==r&&this.instructions.push(e.call(this,t)),t.currentFillStyle=r)},e.prototype.updateStrokeStyle=function(t,e){var r=t.strokeStyle,n=t.lineCap,i=t.lineDash,o=t.lineDashOffset,a=t.lineJoin,s=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=r||t.currentLineCap!=n||i!=t.currentLineDash&&!Object(h.b)(t.currentLineDash,i)||t.currentLineDashOffset!=o||t.currentLineJoin!=a||t.currentLineWidth!=s||t.currentMiterLimit!=l)&&(void 0!==r&&e.call(this,t),t.currentStrokeStyle=r,t.currentLineCap=n,t.currentLineDash=i,t.currentLineDashOffset=o,t.currentLineJoin=a,t.currentLineWidth=s,t.currentMiterLimit=l)},e.prototype.endGeometry=function(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;var e=[rv.END_GEOMETRY,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)},e.prototype.getBufferedMaxExtent=function(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=Object(mt.e)(this.maxExtent),this.maxLineWidth>0)){var t=this.resolution*(this.maxLineWidth+1)/2;Object(mt.d)(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_},e}(ay),av=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),sv=function(t){function e(e,r,n,i){var o=t.call(this,e,r,n,i)||this;return o.hitDetectionImage_=null,o.image_=null,o.imagePixelRatio_=void 0,o.anchorX_=void 0,o.anchorY_=void 0,o.height_=void 0,o.opacity_=void 0,o.originX_=void 0,o.originY_=void 0,o.rotateWithView_=void 0,o.rotation_=void 0,o.scale_=void 0,o.width_=void 0,o.declutterMode_=void 0,o.declutterImageWithText_=void 0,o}return av(e,t),e.prototype.drawPoint=function(t,e){if(this.image_){this.beginGeometry(t,e);var r=t.getFlatCoordinates(),n=t.getStride(),i=this.coordinates.length,o=this.appendFlatPointCoordinates(r,n);this.instructions.push([rv.DRAW_IMAGE,i,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([rv.DRAW_IMAGE,i,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}},e.prototype.drawMultiPoint=function(t,e){if(this.image_){this.beginGeometry(t,e);var r=t.getFlatCoordinates(),n=t.getStride(),i=this.coordinates.length,o=this.appendFlatPointCoordinates(r,n);this.instructions.push([rv.DRAW_IMAGE,i,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([rv.DRAW_IMAGE,i,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,this.opacity_,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}},e.prototype.finish=function(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,t.prototype.finish.call(this)},e.prototype.setImageStyle=function(t,e){var r=t.getAnchor(),n=t.getSize(),i=t.getOrigin();this.imagePixelRatio_=t.getPixelRatio(this.pixelRatio),this.anchorX_=r[0],this.anchorY_=r[1],this.hitDetectionImage_=t.getHitDetectionImage(),this.image_=t.getImage(this.pixelRatio),this.height_=n[1],this.opacity_=t.getOpacity(),this.originX_=i[0],this.originY_=i[1],this.rotateWithView_=t.getRotateWithView(),this.rotation_=t.getRotation(),this.scale_=t.getScaleArray(),this.width_=n[0],this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e},e}(ov),lv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uv=function(t){function e(e,r,n,i){return t.call(this,e,r,n,i)||this}return lv(e,t),e.prototype.drawFlatCoordinates_=function(t,e,r,n){var i=this.coordinates.length,o=this.appendFlatLineCoordinates(t,e,r,n,!1,!1),a=[rv.MOVE_TO_LINE_TO,i,o];return this.instructions.push(a),this.hitDetectionInstructions.push(a),r},e.prototype.drawLineString=function(t,e){var r=this.state,n=r.strokeStyle,i=r.lineWidth;if(void 0!==n&&void 0!==i){this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([rv.SET_STROKE_STYLE,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,Fi,0],tv);var o=t.getFlatCoordinates(),a=t.getStride();this.drawFlatCoordinates_(o,0,o.length,a),this.hitDetectionInstructions.push($_),this.endGeometry(e)}},e.prototype.drawMultiLineString=function(t,e){var r=this.state,n=r.strokeStyle,i=r.lineWidth;if(void 0!==n&&void 0!==i){this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(t,e),this.hitDetectionInstructions.push([rv.SET_STROKE_STYLE,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,r.lineDash,r.lineDashOffset],tv);for(var o=t.getEnds(),a=t.getFlatCoordinates(),s=t.getStride(),l=0,u=0,c=o.length;ut&&(m>y&&(y=m,d=_,g=o),m=0,_=o-i)),a=s,c=f,h=p),l=v,u=b}return(m+=s)>y?[_,o]:[d,g]}var pv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),dv={left:0,end:0,center:.5,right:1,start:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},gv={Circle:hv,Default:ov,Image:sv,LineString:uv,Polygon:hv,Text:function(t){function e(e,r,n,i){var o=t.call(this,e,r,n,i)||this;return o.labels_=null,o.text_="",o.textOffsetX_=0,o.textOffsetY_=0,o.textRotateWithView_=void 0,o.textRotation_=0,o.textFillState_=null,o.fillStates={},o.textStrokeState_=null,o.strokeStates={},o.textState_={},o.textStates={},o.textKey_="",o.fillKey_="",o.strokeKey_="",o.declutterImageWithText_=void 0,o}return pv(e,t),e.prototype.finish=function(){var e=t.prototype.finish.call(this);return e.textStates=this.textStates,e.fillStates=this.fillStates,e.strokeStates=this.strokeStates,e},e.prototype.drawText=function(t,e){var r=this.textFillState_,n=this.textStrokeState_,i=this.textState_;if(""!==this.text_&&i&&(r||n)){var o=this.coordinates,a=o.length,s=t.getType(),l=null,u=t.getStride();if(i.placement!==sm||"LineString"!=s&&"MultiLineString"!=s&&"Polygon"!=s&&"MultiPolygon"!=s){var c=i.overflow?null:[];switch(s){case"Point":case"MultiPoint":l=t.getFlatCoordinates();break;case"LineString":l=t.getFlatMidpoint();break;case"Circle":l=t.getCenter();break;case"MultiLineString":l=t.getFlatMidpoints(),u=2;break;case"Polygon":l=t.getFlatInteriorPoint(),i.overflow||c.push(l[2]/this.resolution),u=3;break;case"MultiPolygon":var h=t.getFlatInteriorPoints();l=[];for(w=0,E=h.length;wT[2]}else O=b>I;var P,R=Math.PI,L=[],M=w+n===e;if(y=0,m=E,f=t[e=w],p=t[e+1],M){_(),P=Math.atan2(p-g,f-d),O&&(P+=P>0?-R:R);var A=(I+b)/2,N=(C+x)/2;return L[0]=[A,N,(S-o)/2,P,i],L}for(var k=0,j=(i=i.replace(/\n/g," ")).length;k0?-R:R),void 0!==P){var D=F-P;if(D+=D>R?-2*R:D<-R?2*R:0,Math.abs(D)>a)return null}P=F;for(var G=k,U=0;k0&&t.push("\n",""),t.push(e,""),t}var Tv=function(){function t(t,e,r,n){this.overlaps=r,this.pixelRatio=e,this.resolution=t,this.alignFill_,this.instructions=n.instructions,this.coordinates=n.coordinates,this.coordinateCache_={},this.renderedTransform_=Object(li.d)(),this.hitDetectionInstructions=n.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=n.fillStates||{},this.strokeStates=n.strokeStates||{},this.textStates=n.textStates||{},this.widths_={},this.labels_={}}return t.prototype.createLabel=function(t,e,r,n){var i=t+e+r+n;if(this.labels_[i])return this.labels_[i];var o=n?this.strokeStates[n]:null,a=r?this.fillStates[r]:null,s=this.textStates[e],l=this.pixelRatio,u=[s.scale[0]*l,s.scale[1]*l],c=Array.isArray(t),h=s.justify?dv[s.justify]:Iv(Array.isArray(t)?t[0]:t,s.textAlign||Ui),f=n&&o.lineWidth?o.lineWidth:0,p=c?t:t.split("\n").reduce(Cv,[]),d=function(t,e){for(var r=[],n=[],i=[],o=0,a=0,s=0,l=0,u=0,c=e.length;u<=c;u+=2){var h=e[u];if("\n"!==h&&u!==c){var f=e[u+1]||t.font,p=Qi(f,h);r.push(p),a+=p;var d=Ki(f);n.push(d),l=Math.max(l,d)}else o=Math.max(o,a),i.push(a),a=0,s+=l}return{width:o,height:s,widths:r,heights:n,lineWidths:i}}(s,p),g=d.width,y=d.height,m=d.widths,_=d.heights,v=d.lineWidths,b=g+f,x=[],w=(b+2)*u[0],E=(y+f)*u[1],S={width:w<0?Math.floor(w):Math.ceil(w),height:E<0?Math.floor(E):Math.ceil(E),contextInstructions:x};(1==u[0]&&1==u[1]||x.push("scale",u),n)&&(x.push("strokeStyle",o.strokeStyle),x.push("lineWidth",f),x.push("lineCap",o.lineCap),x.push("lineJoin",o.lineJoin),x.push("miterLimit",o.miterLimit),(Li.h?OffscreenCanvasRenderingContext2D:CanvasRenderingContext2D).prototype.setLineDash&&(x.push("setLineDash",[o.lineDash]),x.push("lineDashOffset",o.lineDashOffset)));r&&x.push("fillStyle",a.fillStyle),x.push("textBaseline","middle"),x.push("textAlign","center");for(var O,I=.5-h,C=h*b+I*f,T=[],P=[],R=0,L=0,M=0,A=0,N=0,k=p.length;Nt?t-l:i,b=o+u>e?e-u:o,x=p[3]+v*h[0]+p[1],w=p[0]+b*h[1]+p[2],E=m-p[3],S=_-p[0];return(d||0!==c)&&(bv[0]=E,Ev[0]=E,bv[1]=S,xv[1]=S,xv[0]=E+x,wv[0]=xv[0],wv[1]=S+w,Ev[1]=wv[1]),0!==c?(y=Object(li.b)(Object(li.d)(),r,n,1,1,c,-r,-n),Object(li.a)(y,bv),Object(li.a)(y,xv),Object(li.a)(y,wv),Object(li.a)(y,Ev),Object(mt.l)(Math.min(bv[0],xv[0],wv[0],Ev[0]),Math.min(bv[1],xv[1],wv[1],Ev[1]),Math.max(bv[0],xv[0],wv[0],Ev[0]),Math.max(bv[1],xv[1],wv[1],Ev[1]),vv)):Object(mt.l)(Math.min(E,E+x),Math.min(S,S+w),Math.max(E,E+x),Math.max(S,S+w),vv),f&&(m=Math.round(m),_=Math.round(_)),{drawImageX:m,drawImageY:_,drawImageW:v,drawImageH:b,originX:l,originY:u,declutterBox:{minX:vv[0],minY:vv[1],maxX:vv[2],maxY:vv[3],value:g},canvasTransform:y,scale:h}},t.prototype.replayImageOrLabel_=function(t,e,r,n,i,o,a){var s=!(!o&&!a),l=n.declutterBox,u=t.canvas,c=a?a[2]*n.scale[0]/2:0;return l.minX-c<=u.width/e&&l.maxX+c>=0&&l.minY-c<=u.height/e&&l.maxY+c>=0&&(s&&this.replayTextBackground_(t,bv,xv,wv,Ev,o,a),to(t,n.canvasTransform,i,r,n.originX,n.originY,n.drawImageW,n.drawImageH,n.drawImageX,n.drawImageY,n.scale)),!0},t.prototype.fill_=function(t){if(this.alignFill_){var e=Object(li.a)(this.renderedTransform_,[0,0]),r=512*this.pixelRatio;t.save(),t.translate(e[0]%r,e[1]%r),t.rotate(this.viewRotation_)}t.fill(),this.alignFill_&&t.restore()},t.prototype.setStrokeStyle_=function(t,e){t.strokeStyle=e[1],t.lineWidth=e[2],t.lineCap=e[3],t.lineJoin=e[4],t.miterLimit=e[5],t.setLineDash&&(t.lineDashOffset=e[7],t.setLineDash(e[6]))},t.prototype.drawLabelWithPointPlacement_=function(t,e,r,n){var i=this.textStates[e],o=this.createLabel(t,e,n,r),a=this.strokeStates[r],s=this.pixelRatio,l=Iv(Array.isArray(t)?t[0]:t,i.textAlign||Ui),u=dv[i.textBaseline||Bi],c=a&&a.lineWidth?a.lineWidth:0;return{label:o,anchorX:l*(o.width/s-2*i.scale[0])+2*(.5-l)*c,anchorY:u*o.height/s+2*(.5-u)*c}},t.prototype.execute_=function(t,e,r,n,i,o,a,s){var l;this.pixelCoordinates_&&Object(h.b)(r,this.renderedTransform_)?l=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),l=na(this.coordinates,0,this.coordinates.length,2,r,this.pixelCoordinates_),Object(li.k)(this.renderedTransform_,r));for(var u,c,f,p,d,g,y,m,_,v,b,x,w,E,S,O,I=0,C=n.length,T=0,P=0,R=0,L=null,M=null,A=this.coordinateCache_,N=this.viewRotation_,k=Math.round(1e12*Math.atan2(-r[1],r[0]))/1e12,j={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:N},F=this.instructions!=n||this.overlaps?0:200;IF&&(this.fill_(t),P=0),R>F&&(t.stroke(),R=0),P||R||(t.beginPath(),p=NaN,d=NaN),++I;break;case rv.CIRCLE:var G=l[T=D[1]],U=l[T+1],B=l[T+2]-G,z=l[T+3]-U,V=Math.sqrt(B*B+z*z);t.moveTo(G+V,U),t.arc(G,U,V,0,2*Math.PI,!0),++I;break;case rv.CLOSE_PATH:t.closePath(),++I;break;case rv.CUSTOM:T=D[1],u=D[2];var q=D[3],Y=D[4],W=6==D.length?D[5]:void 0;j.geometry=q,j.feature=w,I in A||(A[I]=[]);var X=A[I];W?W(l,T,u,2,X):(X[0]=l[T],X[1]=l[T+1],X.length=2),Y(X,j),++I;break;case rv.DRAW_IMAGE:T=D[1],u=D[2],m=D[3],c=D[4],f=D[5];var H=D[6],Z=D[7],K=D[8],J=D[9],Q=D[10],$=D[11],tt=D[12],et=D[13],rt=D[14],nt=D[15];if(!m&&D.length>=20){_=D[19],v=D[20],b=D[21],x=D[22];var it=this.drawLabelWithPointPlacement_(_,v,b,x);m=it.label,D[3]=m;var ot=D[23];c=(it.anchorX-ot)*this.pixelRatio,D[4]=c;var at=D[24];f=(it.anchorY-at)*this.pixelRatio,D[5]=f,H=m.height,D[6]=H,et=m.width,D[13]=et}var st=void 0;D.length>25&&(st=D[25]);var lt=void 0,ut=void 0,ct=void 0;D.length>17?(lt=D[16],ut=D[17],ct=D[18]):(lt=zi,ut=!1,ct=!1),Q&&k?$+=N:Q||k||($-=N);for(var ht=0;Tr)break;var s=n[a];s||(s=[],n[a]=s),s.push(4*((t+i)*e+(t+o))+3),i>0&&s.push(4*((t-i)*e+(t+o))+3),o>0&&(s.push(4*((t+i)*e+(t-o))+3),i>0&&s.push(4*((t-i)*e+(t-o))+3))}for(var l=[],u=(i=0,n.length);i0){if(!o||"Image"!==f&&"Text"!==f||-1!==o.indexOf(t)){var u=(p[s]-3)/4,h=n-u%a,d=n-(u/a|0),g=i(t,e,h*h+d*d);if(g)return g}c.clearRect(0,0,a,a);break}}var g,y,m,_,v,b=Object.keys(this.executorsByZIndex_).map(Number);for(b.sort(h.i),g=b.length-1;g>=0;--g){var x=b[g].toString();for(m=this.executorsByZIndex_[x],y=Pv.length-1;y>=0;--y)if(void 0!==(_=m[f=Pv[y]])&&(v=_.executeHitDetection(c,s,r,d,u)))return v}},t.prototype.getClipCoords=function(t){var e=this.maxExtent_;if(!e)return null;var r=e[0],n=e[1],i=e[2],o=e[3],a=[r,n,r,o,i,o,i,n];return na(a,0,8,2,t,a),a},t.prototype.isEmpty=function(){return Object(Mi.d)(this.executorsByZIndex_)},t.prototype.execute=function(t,e,r,n,i,o,a){var s=Object.keys(this.executorsByZIndex_).map(Number);s.sort(h.i),this.maxExtent_&&(t.save(),this.clip(t,r));var l,u,c,f,p,d,g=o||Pv;for(a&&s.reverse(),l=0,u=s.length;lp[2];)m=g*++y,u.push(this.getRenderTransform(n,i,o,Av,c,h,m).slice()),d-=g}this.hitDetectionImageData_=Nv(r,u,this.renderedFeatures_,l.getStyleFunction(),s,i,o)}e(kv(t,this.renderedFeatures_,this.hitDetectionImageData_))}.bind(this))},e.prototype.forEachFeatureAtCoordinate=function(t,e,r,n,i){var o=this;if(this.replayGroup_){var a,s=e.viewState.resolution,l=e.viewState.rotation,u=this.getLayer(),c={},h=function(t,e,r){var o=Object(si.c)(t),a=c[o];if(a){if(!0!==a&&rx[0]&&S[2]>x[2]&&b.push([S[0]-w,S[1],S[2]-w,S[3]])}if(this.ready&&this.renderedResolution_==f&&this.renderedRevision_==d&&this.renderedRenderOrder_==y&&Object(mt.h)(this.wrappedRenderedExtent_,_))return Object(h.b)(this.renderedExtent_,v)||(this.hitDetectionImageData_=null,this.renderedExtent_=v),this.renderedCenter_=m,this.replayGroupChanged=!1,!0;this.replayGroup_=null;var O,I=new yv(py(f,p),_,f,p);this.getLayer().getDeclutter()&&(O=new yv(py(f,p),_,f,p));var C,T=Object(u.s)();if(T){for(var P=0,R=b.length;P0&&void 0!==arguments[0]?arguments[0]:{};return Bv(this,o),(t=i.call(this,e)).styleCluster_=e.style,t.oldCluster_=new qg,t.clusters_=[],t.animation_={start:!1},t.set("animationDuration","number"==typeof e.animationDuration?e.animationDuration:700),t.set("animationMethod",e.animationMethod||Qo.easeOut),t.getSource().on("change",t.saveCluster_.bind(Xv(t))),t.on("prerender",t.animate.bind(Xv(t))),t.on("postrender",t.postanimate.bind(Xv(t))),t.setStyle(e.style),t}return e=o,n=[{key:"getClusterForFeature",value:function(t,e){return e.find((function(e){var r,n=e.get("features");return QF(n)||(r=n.find((function(e){return e===t}))),r}))}}],(r=[{key:"saveCluster_",value:function(){if(this.oldCluster_.clear(),this.get("animationDuration")){var t=this.getSource().getFeatures();t.length&&t[0].get("features")&&(this.oldCluster_.addFeatures(this.clusters_),this.clusters_=t.slice(0),this.sourceChanged=!0)}}},{key:"animate",value:function(t){var e=this,r=t,n=this.get("animationDuration");if(n){if(this.animation_.resolution!==r.frameState.viewState.resolution&&this.sourceChanged){var i=r.frameState.viewState.resolution,o=r.frameState.extent;this.animation_.reverse=this.animation_.resolution>=i,this.prepareAnimation_(o,r.frameState.viewState.resolution),r.frameState.time=this.animation_.start}var a=this.animation_.clustersFrom.length;if(a>0&&a<=1e3&&this.animation_.start){var s=my(r),l=(r.frameState.time-this.animation_.start)/n;l>1&&(this.animation_.start=!1,l=1),l=this.get("animationMethod")(l),r.context.save(),r.context.globalAlpha=this.getOpacity(),this.animation_.clustersFrom.forEach((function(t,n){var i=t.getGeometry().getCoordinates(),o=e.animation_.clustersTo[n].getGeometry().getCoordinates();e.animation_.reverse?(i[0]=o[0]+l*(i[0]-o[0]),i[1]=o[1]+l*(i[1]-o[1])):(i[0]+=l*(o[0]-i[0]),i[1]+=l*(o[1]-i[1]));var a=e.getStyle()(t,r.frameState.viewState.resolution),u=new Aa(i);QF(a)||a.forEach((function(t){var e=t.getImage();QF(e)||(null==e.getOrigin()&&(e.origin_=[]),null==e.getAnchor()&&(e.normalizedAnchor_=[]),null==e.getSize()&&(e.size_=[])),s.setStyle(t),s.drawGeometry(u)}))})),r.context.restore(),r.frameState.animate=!0,r.context.save(),r.context.beginPath(),r.context.rect(0,0,0,0),r.context.clip(),this.clip_=!0}else this.animation_.clustersFrom.length=0,this.animation_.clustersTo.length=0,this.animation_.start=!1}}},{key:"prepareAnimation_",value:function(t,e){var r=this;this.animation_.clustersFrom=[],this.animation_.clustersTo=[];var n=Object(mt.d)(t,100*e),i=this.oldCluster_.getFeaturesInExtent(n),a=this.getSource().getFeaturesInExtent(n),s=this.animation_.reverse?a:i,l=this.animation_.reverse?i:a;s.forEach((function(t){var e=t.get("features");if(!QF(e)){var n=o.getClusterForFeature(e[0],l);QF(n)||!1===n||(r.animation_.clustersFrom.push(t),r.animation_.clustersTo.push(n))}})),this.animation_.resolution=e,this.sourceChanged=!1,this.animation_.start=(new Date).getTime()}},{key:"postanimate",value:function(t){this.clip_&&(t.context.restore(),this.clip_=!1)}},{key:"setStyle",value:function(t){Vv(Hv(o.prototype),"setStyle",this).call(this,this.styleCluster_)}}])&&zv(e.prototype,r),n&&zv(e,n),o}(Gv),Kv=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Jv="select",Qv=function(t){function e(e,r,n,i){var o=t.call(this,e)||this;return o.selected=r,o.deselected=n,o.mapBrowserEvent=i,o}return Kv(e,t),e}(so.a),$v={};var tb=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un;var n,i,o=e||{};if(r.boundAddFeature_=r.addFeature_.bind(r),r.boundRemoveFeature_=r.removeFeature_.bind(r),r.condition_=o.condition?o.condition:Ns,r.addCondition_=o.addCondition?o.addCondition:As,r.removeCondition_=o.removeCondition?o.removeCondition:As,r.toggleCondition_=o.toggleCondition?o.toggleCondition:js,r.multi_=!!o.multi&&o.multi,r.filter_=o.filter?o.filter:ai.b,r.hitTolerance_=o.hitTolerance?o.hitTolerance:0,r.style_=void 0!==o.style?o.style:(n=nm(),Object(h.c)(n.Polygon,n.LineString),Object(h.c)(n.GeometryCollection,n.LineString),function(t){return t.getGeometry()?n[t.getGeometry().getType()]:null}),r.features_=o.features||new ho,o.layers)if("function"==typeof o.layers)i=o.layers;else{var a=o.layers;i=function(t){return Object(h.f)(a,t)}}else i=ai.b;return r.layerFilter_=i,r.featureLayerAssociation_={},r}return Kv(e,t),e.prototype.addFeatureLayerAssociation_=function(t,e){this.featureLayerAssociation_[Object(si.c)(t)]=e},e.prototype.getFeatures=function(){return this.features_},e.prototype.getHitTolerance=function(){return this.hitTolerance_},e.prototype.getLayer=function(t){return this.featureLayerAssociation_[Object(si.c)(t)]},e.prototype.setHitTolerance=function(t){this.hitTolerance_=t},e.prototype.setMap=function(e){this.getMap()&&this.style_&&this.features_.forEach(this.restorePreviousStyle_.bind(this)),t.prototype.setMap.call(this,e),e?(this.features_.addEventListener(oo,this.boundAddFeature_),this.features_.addEventListener(ao,this.boundRemoveFeature_),this.style_&&this.features_.forEach(this.applySelectedStyle_.bind(this))):(this.features_.removeEventListener(oo,this.boundAddFeature_),this.features_.removeEventListener(ao,this.boundRemoveFeature_))},e.prototype.addFeature_=function(t){var e=t.element;if(this.style_&&this.applySelectedStyle_(e),!this.getLayer(e)){var r=this.getMap().getAllLayers().find((function(t){if(t instanceof Gv&&t.getSource()&&t.getSource().hasFeature(e))return t}));r&&this.addFeatureLayerAssociation_(e,r)}},e.prototype.removeFeature_=function(t){var e=t.element;this.style_&&this.restorePreviousStyle_(e)},e.prototype.getStyle=function(){return this.style_},e.prototype.applySelectedStyle_=function(t){var e=Object(si.c)(t);e in $v||($v[e]=t.getStyle()),t.setStyle(this.style_)},e.prototype.restorePreviousStyle_=function(t){for(var r=this.getMap().getInteractions().getArray(),n=r.length-1;n>=0;--n){var i=r[n];if(i!==this&&i instanceof e&&i.getStyle()&&-1!==i.getFeatures().getArray().lastIndexOf(t))return void t.setStyle(i.getStyle())}var o=Object(si.c)(t);t.setStyle($v[o]),delete $v[o]},e.prototype.removeFeatureLayerAssociation_=function(t){delete this.featureLayerAssociation_[Object(si.c)(t)]},e.prototype.handleEvent=function(t){if(!this.condition_(t))return!0;var e=this.addCondition_(t),r=this.removeCondition_(t),n=this.toggleCondition_(t),i=!e&&!r&&!n,o=t.map,a=this.getFeatures(),s=[],l=[];if(i){Object(Mi.b)(this.featureLayerAssociation_),o.forEachFeatureAtPixel(t.pixel,function(t,e){if(this.filter_(t,e))return this.addFeatureLayerAssociation_(t,e),l.push(t),!this.multi_}.bind(this),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(var u=a.getLength()-1;u>=0;--u){var c=a.item(u),f=l.indexOf(c);f>-1?l.splice(f,1):(a.remove(c),s.push(c))}0!==l.length&&a.extend(l)}else{o.forEachFeatureAtPixel(t.pixel,function(t,i){if(this.filter_(t,i))return!e&&!n||Object(h.f)(a.getArray(),t)?(r||n)&&Object(h.f)(a.getArray(),t)&&(s.push(t),this.removeFeatureLayerAssociation_(t)):(this.addFeatureLayerAssociation_(t,i),l.push(t)),!this.multi_}.bind(this),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(var p=s.length-1;p>=0;--p)a.remove(s[p]);a.extend(l)}return(l.length>0||s.length>0)&&this.dispatchEvent(new Qv(Jv,l,s,t)),!0},e}(bs);function eb(t){return(eb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function nb(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};rb(this,o);var r=e,n=new Gv({source:new qg({features:new ho,useSpatialIndex:!0}),name:"Cluster overlay",updateWhileAnimating:!0,updateWhileInteracting:!0,displayInLayerSwitcher:!1,style:r.featureStyle});return e.layers.push(n),r.filter=function(t,e){return!(!e&&t.get("selectclusterlink"))},(t=i.call(this,r)).map=r.map,t.pointRadius=r.pointRadius||12,t.circleMaxObjects=r.circleMaxObjects||10,t.maxObjects=r.maxObjects||60,t.spiral=!1!==r.spiral,t.animate=r.animate,t.animationDuration=r.animationDuration||500,t.selectCluster_=!1!==r.selectCluster,t.maxFeaturesToSelect=r.maxFeaturesToSelect,t.facadeLayer_=r.fLayer,t.style_=r.style,t.filter_=r.filter,t.overlayLayer_=n,t.originalHandleEvent=t.handleEvent,t.on("select",t.selectCluster.bind(sb(t)),sb(t)),t}return e=o,(r=[{key:"setMap",value:function(t){var e=this;this.getMap()&&(this.getMap().getView()&&this.getMap().getView().un("change:resolution",this.clear.bind(this)),this.getMap().removeLayer(this.overlayLayer_)),tb.prototype.setMap.call(this,t),this.overlayLayer_.setMap(t),t&&t.getView()&&t.getView().on("change:resolution",this.clear.bind(this)),this.handleEvent=function(t){return e.originalHandleEvent.apply(e,[t]),!0}}},{key:"clear",value:function(){this.getFeatures().clear(),this.overlayLayer_.getSource().clear()}},{key:"getLayer",value:function(){return this.overlayLayer_}},{key:"refreshViewEvents",value:function(){this.getMap()&&this.getMap().getView()&&this.getMap().getView().on("change:resolution",this.clear.bind(this))}},{key:"selectCluster",value:function(t){if(t.selected.length){var e=t.selected[0];if(!e.get("selectclusterfeature")){var r=e.get("features");if(r&&1!==r.length)if(r&&!(r.length>this.maxFeaturesToSelect)||this.facadeLayer_.getImpl().getNumZoomLevels()-this.map.getZoom()==1){this.selectCluster_||this.getFeatures().clear();var n=e.getGeometry().getCoordinates(),i=this.getMap().getView().getResolution(),o=i*this.pointRadius*(.5+r.length/4);!this.spiral||r.length<=this.circleMaxObjects?(this.overlayLayer_.getSource().refresh(),this.drawFeaturesAndLinsInCircle_(r,i,o,n)):(this.overlayLayer_.getSource().refresh(),this.drawFeaturesAndLinsInSpiral_(r,i,n)),this.animate&&this.animateCluster_(n)}else{var a=Wh.getFeaturesExtent(r,this.map.getProjection().code);this.map.setBbox(a)}}}else this.clear()}},{key:"drawFeaturesAndLinsInCircle_",value:function(t,e,r,n){for(var i=Math.min(t.length,this.circleMaxObjects),o=0;o1)return Object(Ig.b)(r.listenerKey_),r.overlayLayer_.setVisible(!0),void r.overlayLayer_.changed();e.frameState.animate=!0}}),this)}}}])&&nb(e.prototype,r),n&&nb(e,n),o}(tb);function cb(t){return(cb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function hb(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fb(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return hb(this,o),i.call(this,t)}return e=o,(r=[{key:"clone",value:function(){var t=this.getGeometry();return t&&t.clone&&(t=t.clone()),new o({geometry:t,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}}])&&fb(e.prototype,r),n&&fb(e,n),o}(om),_b=function(t,e,r){return(t[0]-r[0])*(e[1]-r[1])-(t[1]-r[1])*(e[0]-r[0])<=0},vb=function(t){t.sort((function(t,e){return t[0]===e[0]?t[1]-e[1]:t[0]-e[0]}));for(var e=[],r=0;r=2&&_b(e[e.length-2],e[e.length-1],t[r]);)e.pop();e.push(t[r])}for(var n=[],i=t.length-1;i>=0;i-=1){for(;n.length>=2&&_b(n[n.length-2],n[n.length-1],t[i]);)n.pop();n.push(t[i])}return n.pop(),e.pop(),e.concat(n)};function bb(t){return(bb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function xb(t){return function(t){if(Array.isArray(t))return wb(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return wb(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return wb(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wb(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0?this.clusterize_(r):this.layer_.on(yu,this.clusterize_.bind(this),this)}},{key:"clusterize_",value:function(t){var e=t.map((function(t){return t.getImpl().getOLFeature()}));this.clusterLayer_=new Zv({name:"Cluster",source:new Wg({distance:this.options_.distance,geometryFunction:function(t){return new Aa(Object(mt.x)(t.getGeometry().getExtent()))},source:new qg({features:e})}),animationDuration:this.optionsVendor_.animationDuration,style:this.clusterStyleFn_.bind(this),animationMethod:Qo[this.optionsVendor_.animationMethod]}),!1===this.options_.animated&&this.clusterLayer_.set("animationDuration",void 0),this.clusterLayer_.setZIndex(99999);var r=this.layer_.getImpl().getOLLayer();r instanceof Zv||(this.oldOLLayer_=r),this.clusterLayer_.setMaxResolution(this.oldOLLayer_.getMaxResolution()),this.clusterLayer_.setMinResolution(this.oldOLLayer_.getMinResolution()),this.layer_.getImpl().setOLLayer(this.clusterLayer_),QF(this.options_.ranges)&&(this.options_.ranges=this.getDefaultRanges_()),!1!==this.options_.hoverInteraction&&this.addCoverInteraction_(),!1!==this.options_.selectInteraction&&this.addSelectInteraction_()}},{key:"setRanges",value:function(t){QF(t)?this.options_.ranges=this.getDefaultRanges_():this.options_.ranges=t}},{key:"updateLastRange_",value:function(){var t=TD({},this.options_);if(!QF(this.options_)&&!QF(this.options_.ranges)){var e=t.ranges;if(e.length>0){var r=(e=e.sort((function(t,e){return t.min-e.min}))).pop();if(QF(r.max)){var n=this.layer_.getFeatures().length;r.max=n}t.ranges.push(r)}}return t}},{key:"setAnimated",value:function(t,e,r){return r.getOptions().animated=t,!1===t?this.clusterLayer_.set("animationDuration",void 0):this.clusterLayer_.set("animationDuration",this.optionsVendor_.animationDuration),this}},{key:"addSelectInteraction",value:function(){this.addSelectInteraction_()}},{key:"addSelectInteraction_",value:function(){var t=this,e=this.layer_.getImpl().getMap();this.selectClusterInteraction_=new ub({fLayer:this.layer_,map:e,maxFeaturesToSelect:this.options_.maxFeaturesToSelect,pointRadius:this.optionsVendor_.distanceSelectFeatures,animate:!0,layers:[this.clusterLayer_]}),this.selectClusterInteraction_.on("select",this.selectClusterFeature_.bind(this),this),e.getMapImpl().addInteraction(this.selectClusterInteraction_),e.getMapImpl().on("change:view",(function(e){return t.selectClusterInteraction_.refreshViewEvents(e)}))}},{key:"removeSelectInteraction",value:function(){this.removeSelectInteraction_()}},{key:"removeSelectInteraction_",value:function(){this.layer_.getImpl().getMap().getMapImpl().removeInteraction(this.selectClusterInteraction_)}},{key:"hoverFeatureFn_",value:function(t,e){if(!QF(t)){var r=[];t.forEach((function(t){t instanceof nG?r=r.concat(t.getAttribute("features")):r.push(t)}));var n=r.map((function(t){return t.getImpl().getOLFeature().getGeometry().getCoordinates()})),i=vb(n);if(i.length>2){var o=new gh(new Xa([i])),a=qD.olFeature2Facade(o);QF(this.convexHullLayer_)?(this.convexHullLayer_=new nw({name:"cluster_cover_".concat(this.layer_.name),extract:!1},{displayInLayerSwitcher:!1,style:new X_(this.optionsVendor_.convexHullStyle)}),this.convexHullLayer_.addFeatures(a),this.layer_.getImpl().getMap().addLayers(this.convexHullLayer_),this.layer_.getImpl().getMap().getMapImpl().getView().on("change:resolution",this.clearConvexHull.bind(this),this),this.convexHullLayer_.setStyle(new X_(this.optionsVendor_.convexHullStyle)),this.convexHullLayer_.setZIndex(99990)):(this.convexHullLayer_.removeFeatures(this.convexHullLayer_.getFeatures()),this.convexHullLayer_.addFeatures(a))}}}},{key:"leaveFeatureFn_",value:function(t,e){QF(this.convexHullLayer_)||this.convexHullLayer_.removeFeatures(this.convexHullLayer_.getFeatures())}},{key:"addCoverInteraction_",value:function(){this.hoverKey_=this.layer_.on(du,this.hoverFeatureFn_.bind(this)),this.leaveKey_=this.layer_.on(gu,this.leaveFeatureFn_.bind(this))}},{key:"removeCoverInteraction_",value:function(){this.layer_.unByKey(du,this.hoverKey_),this.layer_.unByKey(gu,this.leaveKey_)}},{key:"clusterStyleFn_",value:function(t,e,r){var n,i=t.get("features");if(!i)return new mb;var o=i.length,a=this.options_.ranges.find((function(t){return t.min<=o&&t.max>=o}));if(QF(a)){if(1===o){var s=i[0].getStyle();s||(s=this.oldOLLayer_.getStyle()),(n=s(i[0],e))[0].setGeometry(i[0].getGeometry())}}else{var l=a.style.clone();if(l instanceof X_||(l=new X_({point:l.getOptions()})),r)l.set("point.fill.opacity",.33);else if(this.options_.displayAmount){l.set("point.label",this.options_.label);var u=l.get("point.label.color");if(QF(u)){var c=l.get("point.fill.color");u=QF(c)?"#000":CD(c),l.set("point.label.color",u)}}n=l.getImpl().olStyleFn(t,e)}return n}},{key:"getDefaultRanges_",value:function(){var t=this.layer_.getFeatures().length,e=Math.floor(t/3),r=[{min:2,max:e=Math.max(e,3),style:new X_({point:Xb.RANGE_1_DEFAULT})},{min:e,max:2*e,style:new X_({point:Xb.RANGE_2_DEFAULT})},{min:2*e,max:t+1,style:new X_({point:Xb.RANGE_3_DEFAULT})}];return this.options_.ranges=r,r}},{key:"selectClusterFeature_",value:function(t){this.clearConvexHull()}},{key:"unapply",value:function(){QF(this.clusterLayer_)?QF(this.layer_)||this.layer_.un(yu,this.clusterize_.bind(this),this):(this.layer_.getImpl().setOLLayer(this.oldOLLayer_),this.oldOLLayer_.setMaxResolution(this.clusterLayer_.getMaxResolution()),this.oldOLLayer_.setMinResolution(this.clusterLayer_.getMinResolution()),this.removeCoverInteraction_(),this.removeSelectInteraction_(),this.clearConvexHull(),this.deactivateChangeResolutionEvent(),this.layer_.redraw(),this.deactivateChangeEvent())}},{key:"clearConvexHull",value:function(){null!==this.convexHullLayer_&&(this.layer_.getImpl().getMap().removeLayers(this.convexHullLayer_),this.convexHullLayer_=null)}},{key:"updateCanvas",value:function(){}},{key:"activateChangeEvent",value:function(){if(null!==this.clusterLayer_){var t=this.clusterLayer_.getSource(),e=Wg.prototype.refresh;t.getSource().on("change",e)}}},{key:"deactivateChangeEvent",value:function(){if(null!==this.clusterLayer_){var t=this.clusterLayer_.getSource(),e=Wg.prototype.refresh;Object(Ig.b)({bindTo:void 0,callOnce:!1,listener:e,target:t.getSource(),type:"change"})}}},{key:"deactivateChangeResolutionEvent",value:function(){if(!QF(this.layer_)&&!QF(this.layer_.getImpl())){var t=this.layer_.getImpl().getMap();if(!QF(t)&&!QF(t.getMapImpl())){var e=t.getMapImpl().getView();Object(Ig.b)({type:"change:resolution",bindTo:void 0,listener:this.clearConvexHull,target:e,callOnce:!1})}}}},{key:"deactivateTemporarilyChangeEvent",value:function(t,e){this.deactivateChangeEvent(),$F(t)&&(null==e?t():t.apply(void 0,xb(e)))}},{key:"selectClusterInteraction",get:function(){return this.selectClusterInteraction_}},{key:"oldOLLayer",get:function(){return this.oldOLLayer_}}])&&Eb(e.prototype,r),n&&Eb(e,n),o}(Ry);function Pb(t){return(Pb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Rb(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Gb(this,o);var n=new Tb(e,r);return t=i.call(this,e,n),TD(e,o.DEFAULT),TD(r,o.DEFAULT_VENDOR),t.optsVendor_=r,t.oldStyle_=null,t}return e=o,n=[{key:"deserialize",value:function(t){var e=Fb(t,3),r=e[0],n=e[1],i=e[2],o=r;o.ranges.forEach((function(t){t.style=__.deserialize(t.style)})),o=AD(r);var a=AD(n),s=new Function(["options","optsVendor"],"return new M.style.Cluster(options, optsVendor)")(o,a),l=i.map((function(t){return __.deserialize(t)}));return s.add(l),s}}],(r=[{key:"apply",value:function(t){Bb(Yb(o.prototype),"apply",this).call(this,t);var e=t.getStyle();this.oldStyle_=e instanceof o?e.getOldStyle():e}},{key:"unapplySoft",value:function(t){this.getImpl().unapply()}},{key:"add",value:function(t){return QF(this.layer_)||this.unapplySoft(this.layer_),Bb(Yb(o.prototype),"add",this).call(this,t)}},{key:"applyInternal",value:function(t){this.layer_=t,this.getImpl().applyToLayer(t),this.updateCanvas()}},{key:"getOldStyle",value:function(){return this.oldStyle_}},{key:"getRanges",value:function(){return this.options_.ranges}},{key:"getOptions",value:function(){return this.options_}},{key:"setRanges",value:function(t){return this.getImpl().ranges=t,this.unapply(this.layer_),this.layer_.style=this,this}},{key:"getRange",value:function(t,e){return this.options_.ranges.find((function(r){return r.min===t&&r.max===e}))}},{key:"updateRange",value:function(t,e,r){return Tb.updateRangeImpl(t,e,r,this.layer_,this),this.unapply(this.layer_),this.layer_.style=this,this}},{key:"setAnimated",value:function(t){return this.getImpl().setAnimated(t,this.layer_,this)}},{key:"isAnimated",value:function(){return this.options_.animated}},{key:"toImage",value:function(){return this.oldStyle_ instanceof __?this.oldStyle_.toImage():Bb(Yb(o.prototype),"toImage",this).call(this)}},{key:"refresh",value:function(){if(!QF(this.layer_)){var t=this.layer_;this.unapply(this.layer_),this.apply(t),this.updateCanvas()}}},{key:"addSelectInteraction",value:function(){this.getImpl().addSelectInteraction()}},{key:"removeSelectInteraction",value:function(){this.getImpl().removeSelectInteraction()}},{key:"toJSON",value:function(){var t=TD({},this.getOptions());t.ranges=this.getRanges().map((function(t){var e=TD({},t);return e.style=t.style.serialize(),e})),t=MD(t);var e=TD({},this.optsVendor_);return{parameters:[t,e=MD(e),this.getStyles().map((function(t){return t.serialize()}))],deserializedMethod:"M.style.Cluster.deserialize"}}},{key:"ORDER",get:function(){return 4}}])&&Ub(e.prototype,r),n&&Ub(e,n),o}(kb);Wb.DEFAULT={ranges:[],hoverInteraction:!0,displayAmount:!0,selectInteraction:!0,distance:60,animated:!0,maxFeaturesToSelect:15,label:{text:function(t){var e,r=t.getAttribute("features");return r.length&&(e=r.length.toString()),e},color:"#fff",font:"bold 15px Arial",baseline:"middle",align:"center"}},Wb.DEFAULT_VENDOR={animationDuration:250,animationMethod:"linear",distanceSelectFeatures:15,convexHullStyle:{fill:{color:"#fff",opacity:.25},stroke:{color:"#7b98bc"}}},Wb.RANGE_1_DEFAULT={fill:{color:"#81c89a"},stroke:{color:"#6eb988",width:3},radius:15},Wb.RANGE_2_DEFAULT={fill:{color:"#85b9d2"},stroke:{color:"#6da4be",width:3},radius:20},Wb.RANGE_3_DEFAULT={fill:{color:"#938fcf"},stroke:{color:"#827ec5",width:3},radius:25};var Xb=Wb;function Hb(t){return(Hb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Zb=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Kb="element",Jb="map",Qb="offset",$b="position",tx="positioning",ex=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un,r.options=e,r.id=e.id,r.insertFirst=void 0===e.insertFirst||e.insertFirst,r.stopEvent=void 0===e.stopEvent||e.stopEvent,r.element=document.createElement("div"),r.element.className=void 0!==e.className?e.className:"ol-overlay-container ol-selectable",r.element.style.position="absolute",r.element.style.pointerEvents="auto";var n=e.autoPan;return n&&"object"!==Hb(n)&&(n={animation:e.autoPanAnimation,margin:e.autoPanMargin}),r.autoPan=n||!1,r.rendered={transform_:"",visible:!0},r.mapPostrenderListenerKey=null,r.addChangeListener(Kb,r.handleElementChanged),r.addChangeListener(Jb,r.handleMapChanged),r.addChangeListener(Qb,r.handleOffsetChanged),r.addChangeListener($b,r.handlePositionChanged),r.addChangeListener(tx,r.handlePositioningChanged),void 0!==e.element&&r.setElement(e.element),r.setOffset(void 0!==e.offset?e.offset:[0,0]),r.setPositioning(e.positioning||"top-left"),void 0!==e.position&&r.setPosition(e.position),r}return Zb(e,t),e.prototype.getElement=function(){return this.get(Kb)},e.prototype.getId=function(){return this.id},e.prototype.getMap=function(){return this.get(Jb)||null},e.prototype.getOffset=function(){return this.get(Qb)},e.prototype.getPosition=function(){return this.get($b)},e.prototype.getPositioning=function(){return this.get(tx)},e.prototype.handleElementChanged=function(){Object(Ai.e)(this.element);var t=this.getElement();t&&this.element.appendChild(t)},e.prototype.handleMapChanged=function(){this.mapPostrenderListenerKey&&(Object(Ai.f)(this.element),Object(eo.c)(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);var t=this.getMap();if(t){this.mapPostrenderListenerKey=Object(eo.a)(t,Lo,this.render,this),this.updatePixelPosition();var e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}},e.prototype.render=function(){this.updatePixelPosition()},e.prototype.handleOffsetChanged=function(){this.updatePixelPosition()},e.prototype.handlePositionChanged=function(){this.updatePixelPosition(),this.performAutoPan()},e.prototype.handlePositioningChanged=function(){this.updatePixelPosition()},e.prototype.setElement=function(t){this.set(Kb,t)},e.prototype.setMap=function(t){this.set(Jb,t)},e.prototype.setOffset=function(t){this.set(Qb,t)},e.prototype.setPosition=function(t){this.set($b,t)},e.prototype.performAutoPan=function(){this.autoPan&&this.panIntoView(this.autoPan)},e.prototype.panIntoView=function(t){var e=this.getMap();if(e&&e.getTargetElement()&&this.get($b)){var r=this.getRect(e.getTargetElement(),e.getSize()),n=this.getElement(),i=this.getRect(n,[Object(Ai.c)(n),Object(Ai.b)(n)]),o=t||{},a=void 0===o.margin?20:o.margin;if(!Object(mt.h)(r,i)){var s=i[0]-r[0],l=r[2]-i[2],u=i[1]-r[1],c=r[3]-i[3],h=[0,0];if(s<0?h[0]=s-a:l<0&&(h[0]=Math.abs(l)+a),u<0?h[1]=u-a:c<0&&(h[1]=Math.abs(c)+a),0!==h[0]||0!==h[1]){var f=e.getView().getCenterInternal(),p=e.getPixelFromCoordinateInternal(f);if(!p)return;var d=[p[0]+h[0],p[1]+h[1]],g=o.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(d),duration:g.duration,easing:g.easing})}}}},e.prototype.getRect=function(t,e){var r=t.getBoundingClientRect(),n=r.left+window.pageXOffset,i=r.top+window.pageYOffset;return[n,i,n+e[0],i+e[1]]},e.prototype.setPositioning=function(t){this.set(tx,t)},e.prototype.setVisible=function(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)},e.prototype.updatePixelPosition=function(){var t=this.getMap(),e=this.getPosition();if(t&&t.isRendered()&&e){var r=t.getPixelFromCoordinate(e),n=t.getSize();this.updateRenderedPosition(r,n)}else this.setVisible(!1)},e.prototype.updateRenderedPosition=function(t,e){var r=this.element.style,n=this.getOffset(),i=this.getPositioning();this.setVisible(!0);var o=Math.round(t[0]+n[0])+"px",a=Math.round(t[1]+n[1])+"px",s="0%",l="0%";"bottom-right"==i||"center-right"==i||"top-right"==i?s="-100%":"bottom-center"!=i&&"center-center"!=i&&"top-center"!=i||(s="-50%"),"bottom-left"==i||"bottom-center"==i||"bottom-right"==i?l="-100%":"center-left"!=i&&"center-center"!=i&&"center-right"!=i||(l="-50%");var u="translate(".concat(s,", ").concat(l,") translate(").concat(o,", ").concat(a,")");this.rendered.transform_!=u&&(this.rendered.transform_=u,r.transform=u,r.msTransform=u)},e.prototype.getOptions=function(){return this.options},e}(Pi.a);function rx(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return ax(this,o),(t=i.call(this,{})).panMapIfOutOfView=e.panMapIfOutOfView,void 0===t.panMapIfOutOfView&&(t.panMapIfOutOfView=!0),t.ani_opts=e.ani_opts,void 0===t.ani_opts&&(t.ani_opts={duration:250}),t.facadeMap_=null,t.cachedAniPixel_=null,t}return e=o,(r=[{key:"addTo",value:function(t,e){this.facadeMap_=t,this.container=e,this.content=this.getContentFromContainer(e),xD(this.content),this.setElement(this.container),t.getMapImpl().addOverlay(this)}},{key:"show",value:function(t,e){return this.setPosition(t),this.panMapIfOutOfView&&this.panIntoView_(t),this.content.scrollTop=0,$F(e)&&e(),this}},{key:"centerByStatus",value:function(t,e){var r=this.getMap().getView().getResolution(),n=[].concat(e);if(t===Ix.status.COLLAPSED)n[1]-=.1*ix.HEIGHT*r;else{if(t!==Ix.status.DEFAULT)return;n[1]-=.275*ix.HEIGHT*r}var i=this.facadeMap_.getFeatureCenter();this.facadeMap_.setCenter({x:n[0],y:n[1]}),QF(i)||this.facadeMap_.drawFeatures([i])}},{key:"getContentFromContainer",value:function(t){return t.querySelector("div.m-body")}},{key:"panIntoView_",value:function(t){var e=this;return this.panIntoSynchronizedAnim_().then((function(){if(e.isAnimating_=!0,ix.WIDTH>768){var r=e.element.querySelector(".m-popup"),n=r.clientWidth+20,i=r.clientHeight+20+30,o=e.getMap().getSize(),a=e.getMap().getView().getCenter(),s=n-60,l=e.getOffset(),u=e.getMap().getPixelFromCoordinate(t);if(!QF(u)){var c=u[0]-60,h=o[0]-(u[0]+s),f=u[1]-(i+l[1]),p=o[1]-(u[1]+20)-l[1],d=e.getMap().getPixelFromCoordinate(a),g=d.slice();h<0?g[0]-=h:c<0&&(g[0]+=c),f<0?g[1]+=f:p<0&&(g[1]-=p),!QF(e.ani_opts)&&QF(e.ani_opts.source)&&(e.ani_opts.source=a,e.getMap().getView().animate(e.ani_opts)),g[0]===d[0]&&g[1]===d[1]||e.getMap().getView().setCenter(e.getMap().getCoordinateFromPixel(g))}}e.isAnimating_=!1})),this.getMap().getView().getCenter()}},{key:"panIntoSynchronizedAnim_",value:function(){var t=this;return new Promise((function(e,r){if(!0===t.isAnimating_){var n=300;QF(t.ani_opts)||(n=t.ani_opts.duration),setTimeout(e,n)}else e()}))}},{key:"hide",value:function(t){this.facadeMap_.removePopup(t)}},{key:"setContainer",value:function(t){this.setElement(t),this.content=this.getContentFromContainer(t),xD(this.content)}},{key:"getContent",value:function(){return this.content}}])&&sx(e.prototype,r),n&&sx(e,n),o}(ex),px=(r(139),r(87)),dx=r.n(px);function gx(t){return(gx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function yx(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};xx(this,t),this.icon=e.icon,this.title=e.title,this.content=e.content,this.listeners=e.listeners||[]},Ox=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&mx(t,e)}(o,t);var e,r,n,i=_x(o);function o(t){var e;xx(this,o);var r=new fx(t);return(e=i.call(this,r)).coord_=null,e.tabs_=[],e.element_=null,e.status_=o.status.COLLAPSED,wx+=1,e.id_="m-popup-".concat(wx),e}return e=o,(r=[{key:"getId",value:function(){return this.id_}},{key:"getTabs",value:function(){return this.tabs_}},{key:"removeTab",value:function(t){var e=[],r=null;this.tabs_.forEach((function(n){n.content!==t.content?e.push(n):r=n})),this.tabs_=this.tabs_.filter((function(e){return e.content!==t.content})),this.fire(Pu,[r]),this.update()}},{key:"addTab",value:function(t){var e=t;e instanceof Sx||(e=new Sx(t),this.fire(Tu,[e])),this.tabs_.push(e),this.update()}},{key:"addTo",value:function(t,e){if(this.map_=t,QF(this.element_)){var r=zD(e,this.map_.getProjection().code,"EPSG:4326"),n=BD(),i=Vu(dx.a,{jsonp:!0,vars:{id:this.id_,tabs:this.tabs_,options:o.options,url:Ex(n,r)}});this.tabs_.length>0&&(this.element_=i,this.addEvents(i),this.getImpl().addTo(t,i),this.show(e))}else this.getImpl().addTo(t,this.element_),this.show(e);this.fire(Iu,[this]),t.fire(Iu,[this])}},{key:"update",value:function(){if(!QF(this.map_)){var t=zD(this.coord_,this.map_.getProjection().code,"EPSG:4326"),e=BD(),r=Vu(dx.a,{jsonp:!0,vars:{tabs:this.tabs_,options:o.options,url:Ex(e,t)}});this.tabs_.length>0&&(this.element_=r,this.addEventTabs(this.tabs_[0],r),this.addEvents(r),this.getImpl().setContainer(r),this.show(this.coord_))}}},{key:"show",value:function(t){var e=this;this.coord_=t,this.getImpl().show(this.coord_,(function(){e.fire(uu)}))}},{key:"hide",value:function(t){QF(t)||t.preventDefault(),this.getImpl().hide(this)}},{key:"switchTab",value:function(t){if(this.tabs_.length>t){var e=this.tabs_[t];this.setContent_(e.content),this.addEventTabs(e,this.getContent()),this.show(this.coord_)}}},{key:"addEventTabs",value:function(t,e){t.listeners.forEach((function(t){!0===t.all?e.querySelectorAll(t.selector).forEach((function(e){e.addEventListener(t.type,(function(e){return t.callback(e)}))})):e.querySelector(t.selector).addEventListener(t.type,(function(e){return t.callback(e)}))}))}},{key:"setContent_",value:function(t){this.getContent().innerHTML=t}},{key:"getContent",value:function(){return this.getImpl().getContent()}},{key:"addEvents",value:function(t){var e,r=this,n=t,i=n.querySelectorAll("div.m-tab");Array.prototype.forEach.call(i,(function(t){t.addEventListener("click",(function(n){n.preventDefault();var o=n.clientY;if("click"===n.type||Math.abs(e-o)<5){Array.prototype.forEach.call(i,(function(t){t.classList.remove("m-activated")})),t.classList.add("m-activated");var a=t.getAttribute("data-index");r.switchTab(a)}})),t.addEventListener("touchend",(function(n){n.preventDefault();var o=n.clientY;if("touchend"===n.type||Math.abs(e-o)<5){Array.prototype.forEach.call(i,(function(t){t.classList.remove("m-activated")})),t.classList.add("m-activated");var a=t.getAttribute("data-index");r.switchTab(a)}}))}));var a=n.querySelector("a.m-popup-closer");a.addEventListener("click",this.hide.bind(this),!1),a.addEventListener("touchend",this.hide.bind(this),!1);var s=n.querySelector("div.m-tabs");if(QF(s)&&(s=n.querySelector("div.m-content > div.m-header")),!QF(s)){var l;s.addEventListener("touchstart",(function(t){t.preventDefault(),e=t.touches[0].clientY,r.status_===o.status.COLLAPSED?l=.9*ix.HEIGHT:r.status_===o.status.DEFAULT?l=.45*ix.HEIGHT:r.status_===o.status.FULL&&(l=0),n.classList.add("m-no-animation")}),!1),s.addEventListener("touchmove",(function(t){t.preventDefault(),r.touchY=t.touches[0].clientY;var i=r.touchY-e;n.style.top="".concat(l+i,"px")}),!1),s.addEventListener("touchend",(function(t){t.preventDefault(),r.manageCollapsiblePopup_(e,r.touchY)}),!1);var u=window.matchMedia("(max-width: 768px)");setTimeout((function(){return r.manageTransform(u,n)}),10),u.addEventListener("change",(function(t){r.manageTransform(t,n)})),s.addEventListener("mouseup",(function(t){t.preventDefault(),r.tabs_.length<=1&&(r.status_===o.status.COLLAPSED?r.setStatus_(o.status.DEFAULT):r.status_===o.status.DEFAULT?r.setStatus_(o.status.FULL):r.setStatus_(o.status.COLLAPSED))}))}}},{key:"setStatus_",value:function(t){t!==this.status_&&(this.element_.classList.remove(this.status_),this.status_=t,this.element_.classList.add(this.status_),this.element_.style.top="",this.element_.classList.remove("m-no-animation"),ix.WIDTH<=M.config.MOBILE_WIDTH&&this.getImpl().centerByStatus(t,this.coord_))}},{key:"manageTransform",value:function(t,e){e&&e.parentElement&&(t.matches?e.parentElement.classList.add("unsetTransform"):e.parentElement.classList.remove("unsetTransform"))}},{key:"manageCollapsiblePopup_",value:function(t,e){var r=100*e/ix.HEIGHT;100*Math.abs(t-e)/ix.HEIGHT>10?this.status_===o.status.COLLAPSED?r<45?this.setStatus_(o.status.FULL):r<85?this.setStatus_(o.status.DEFAULT):this.setStatus_(o.status.COLLAPSED):this.status_===o.status.DEFAULT?r>45?this.setStatus_(o.status.COLLAPSED):r<45?this.setStatus_(o.status.FULL):this.setStatus_(o.status.DEFAULT):this.status_===o.status.FULL&&(r>45?this.setStatus_(o.status.COLLAPSED):r>0?this.setStatus_(o.status.DEFAULT):this.setStatus_(o.status.FULL)):this.setStatus_(this.status_)}},{key:"getCoordinate",value:function(){return this.coord_}},{key:"setCoordinate",value:function(t){this.coord_=t,QF(this.element_)||this.getImpl().show(t)}},{key:"destroy",value:function(){this.tabs_.length=0,this.coord_=null,this.fire(hu)}}])&&yx(e.prototype,r),n&&yx(e,n),o}(Zl);Ox.status={},Ox.status.COLLAPSED="m-collapsed",Ox.status.DEFAULT="m-default",Ox.status.FULL="m-full",Ox.options={takeMeThere:!1,textMode:!0,msg:"Llévame allí"};var Ix=Ox,Cx=r(96),Tx=r.n(Cx);function Px(t){return(Px="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Rx(t){return function(t){if(Array.isArray(t))return Lx(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Lx(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Lx(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lx(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2])||arguments[2];!0===i?t.forEach((function(t){var e=n.features_.find((function(e){return e.equals(t)}));QF(e)&&n.features_.push(t)})):(r=this.features_).push.apply(r,Rx(t)),e&&this.updateLayer_();var o=this.facadeVector_.getStyle();o instanceof Xb?(o.getImpl().deactivateTemporarilyChangeEvent(this.redraw.bind(this)),o.refresh()):this.redraw()}},{key:"updateLayer_",value:function(){var t=this.facadeVector_.getStyle();if(!QF(t))if(t instanceof __)this.facadeVector_.setStyle(t);else if(t instanceof Xb){var e=this.facadeVector_.getStyle();e.unapply(this.facadeVector_),e.getOldStyle().apply(this.facadeVector_),e.apply(this.facadeVector_)}else t.apply(this.facadeVector_)}},{key:"getFeatures",value:function(t,e){var r=this.features_;return t||(r=e.execute(r)),r}},{key:"getFeatureById",value:function(t){return this.features_.filter((function(e){return e.getId()===t}))[0]}},{key:"removeFeatures",value:function(t){this.features_=this.features_.filter((function(e){return!t.includes(e)}));var e=this.facadeVector_.getStyle();e instanceof Xb?(e.getImpl().deactivateTemporarilyChangeEvent(this.redraw.bind(this)),e.refresh()):this.redraw()}},{key:"redraw",value:function(){var t=this.getOLLayer();if(!QF(t)){var e=this.facadeVector_.getStyle(),r=t.getSource();r instanceof Wg&&(r=r.getSource()),e instanceof Xb&&e.getImpl().deactivateChangeEvent(),Rx(r.getFeatures()).forEach(r.removeFeature,r);var n=this.facadeVector_.getFeatures();r.addFeatures(n.map(qD.facade2OLFeature)),e instanceof Xb&&e.getImpl().activateChangeEvent()}}},{key:"getFeaturesExtent",value:function(t,e){var r=this.getFeatures(t,e),n=Wh.getFeaturesExtent(r,this.map.getProjection().code);return null===n&&(n=this.map.getProjection().getExtent()),n}},{key:"selectFeatures",value:function(t,e,r){var n=t[0];if(!(n instanceof nG||!0!==this.extract||(this.unselectFeatures(),QF(n)))){var i=n.getAttribute("vendor.mapea.click");if($F(i))i(r,n);else{var o=Vu(Tx.a,{vars:this.parseFeaturesForTemplate_(t),parseToHtml:!1}),a={icon:"g-cartografia-pin",title:this.name,content:o},s=this.map.getPopup();QF(s)?((s=new Ix).addTab(a),this.map.addPopup(s,e)):s.addTab(a)}}}},{key:"unselectFeatures",value:function(){}},{key:"setFacadeObj",value:function(t){this.facadeVector_=t}},{key:"setProjection_",value:function(t,e){if(t.code!==e.code){var r=Object(u.o)(t.code),n=Object(u.o)(e.code),i=this.facadeVector_.getStyle();i instanceof Xb&&i.getImpl().deactivateChangeEvent(),this.facadeVector_.getFeatures().forEach((function(t){return t.getImpl().getOLFeature().getGeometry().transform(r,n)})),i instanceof Xb&&i.getImpl().activateChangeEvent()}}},{key:"parseFeaturesForTemplate_",value:function(t){var e=this,r={features:[]};return t.forEach((function(t){if(!(t instanceof nG)){var n=t.getAttributes(),i=Object.keys(n),o=[];i.forEach((function(t){var r=!0;QF(e.showAttributes_)?QF(e.hiddenAttributes_)||(r=!_D(e.hiddenAttributes_,t)):r=_D(e.showAttributes_,t),r&&o.push({key:yD(t),value:n[t]})}));var a={id:t.getId(),attributes:o};r.features.push(a)}})),r}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&this.constructor===t.constructor&&(e=!0),e}},{key:"refresh",value:function(){this.getOLLayer().getSource().clear()}},{key:"isLoaded",value:function(){return this.loaded_}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map=null}}])&&Mx(e.prototype,r),n&&Mx(e,n),o}(tf),Dx=(r(141),r(97)),Gx=r.n(Dx),Ux=function(t,e,r){var n,i={message:t,title:e,severity:r},o=Vu(Gx.a,{vars:i});n=document.querySelectorAll("div.m-dialog"),Array.prototype.forEach.call(n,(function(t){t.parentElement.removeChild(t)}));var a=document.querySelector("div.m-mapea-container");o.querySelector("div.m-button > button").addEventListener("click",(function(t){var e;(e=o).parentElement.removeChild(e)})),a.appendChild(o)},Bx=function(t,e){var r=e;return QF(r)&&(r=Mu("dialog").info),Ux(t,r,"info")},zx=function(t,e){var r=e;return QF(r)&&(r=Mu("dialog").error),Ux(t,r,"error")},Vx=function(t,e){var r=e;return QF(r)&&(r=Mu("dialog").success),Ux(t,r,"success")};function qx(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0;Kx(this,o);var s=a||new Fx(r,n);return t=i.call(this,e,s),HF(Fx)&&Bl(Mu("exception").vectorlayer_method),t.extract=e.extract,QF(t.extract)&&(t.extract=!0),t.style_=null,t.filter_=null,t.setStyle(r.style),s.on(yu,(function(e){return t.fire(yu,[e])})),t}return e=o,(r=[{key:"addFeatures",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=t;QF(n)||(JF(n)||(n=[n]),this.getImpl().addFeatures(n,e,r))}},{key:"getFeatures",value:function(t){var e=t;return QF(this.getFilter())&&(e=!0),this.getImpl().getFeatures(e,this.filter_)}},{key:"getFeatureById",value:function(t){var e=null;return QF(t)?zx(Mu("dialog").id_feature):e=this.getImpl().getFeatureById(t),e}},{key:"removeFeatures",value:function(t){var e=t;JF(e)||(e=[e]),this.getImpl().removeFeatures(e)}},{key:"clear",value:function(){this.removeFilter(),this.removeFeatures(this.getFeatures(!0))}},{key:"refresh",value:function(){this.getImpl().refresh(!0),this.redraw()}},{key:"redraw",value:function(){this.getImpl().redraw()}},{key:"setFilter",value:function(t){if(QF(t)||t instanceof Yx){this.filter_=t;var e=this.style_;e instanceof Xb&&e.getImpl().deactivateChangeEvent(),this.redraw(),e instanceof Xb&&(e.getImpl().activateChangeEvent(),e.refresh())}else zx(Mu("dialog").vector_filter)}},{key:"getFilter",value:function(){return this.filter_}},{key:"getFeaturesExtent",value:function(t){var e=t;return QF(this.getFilter())&&(e=!0),this.getImpl().getFeaturesExtent(e,this.filter_)}},{key:"removeFilter",value:function(){this.setFilter(null)}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.name===t.name,e=e&&this.id===t.id),e}},{key:"setStyle",value:function(t){var e=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;this.getImpl().isLoaded()?(QF(this.getStyle())&&this.applyStyle_(n,r),QF(t)||this.applyStyle_(t,r)):this.once(yu,(function(){QF(e.getStyle())&&e.applyStyle_(n,r),QF(t)||e.applyStyle_(t,r)}))}},{key:"applyStyle_",value:function(t,e){var r=t;if(eD(r)?r=__.deserialize(r):r instanceof __||(r=new X_(r)),r instanceof __&&(!QF(this.style_)&&this.style_ instanceof __&&this.style_.unapply(this),r.apply(this,e),this.style_=r,this.fire(xu,[r,this])),!QF(this.getImpl().getMap())){var n=this.getImpl().getMap().getControls("layerswitcher")[0];QF(n)||n.render()}this.fire(xu,[r,this])}},{key:"getStyle",value:function(){return this.style_}},{key:"clearStyle",value:function(){this.setStyle(null),this.getFeatures().forEach((function(t){return t.clearStyle()}))}},{key:"getLegendURL",value:function(){var t=this.getImpl().getLegendURL();return-1!==t.indexOf(th.LEGEND_DEFAULT)&&-1===t.indexOf(th.LEGEND_ERROR)&&this.style_ instanceof __&&(t=this.style_ instanceof Xb&&this.style_.getStyles().length>0?this.style_.getStyles()[0].toImage():this.style_.toImage()),t}},{key:"getGeometryType",value:function(){var t=null;if(!QF(this.getFeatures())){var e=this.getFeatures()[0];QF(e)||QF(e.getGeometry())||(t=e.getGeometry().type)}return t}},{key:"getMaxExtent",value:function(){return this.getFeaturesExtent()}},{key:"calculateMaxExtent",value:function(){return this.getImpl().getFeaturesExtentPromise(!0,this.filter_)}},{key:"toGeoJSON",value:function(){var t=this.map_.getProjection().code,e=this.getFeatures().map((function(t){return t.getGeoJSON()}));return{type:"FeatureCollection",features:Yh(e,t)}}},{key:"type",get:function(){return lc},set:function(t){HF(t)||QF(t)||t===lc||Bl("El tipo de capa debe ser '".concat(lc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"extract",get:function(){return this.getImpl().extract},set:function(t){QF(t)?this.getImpl().extract=!0:eD(t)?this.getImpl().extract="true"===iD(t):this.getImpl().extract=t}}])&&Jx(e.prototype,r),n&&Jx(e,n),o}(th);rw.DEFAULT_PARAMS={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},rw.DEFAULT_OPTIONS_STYLE={point:Xx(Xx({},rw.DEFAULT_PARAMS),{},{radius:5}),line:Xx({},rw.DEFAULT_PARAMS),polygon:Xx({},rw.DEFAULT_PARAMS)};var nw=rw;function iw(t){return(iw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ow(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function aw(t,e){for(var r=0;rs.DEFAULT_WIDTH_POINT&&n.getImage().getStroke().setWidth(s.DEFAULT_WIDTH_POINT),n.getImage().render());var l=n.getImage().getImage(1);null!=l&&(e=l.toDataURL())}}return e}},{key:"updateFacadeOptions",value:function(t){var e=this;this.olStyleFn_=function(r){var o=r;o instanceof gh||o instanceof Mh||(o=e);var a,s,u=new mb({zIndex:Dy.getValue(t.zindex,o,e.layer_),geometry:function(t){var e=null;if("MultiPoint"===t.getGeometry().getType())e=new mh(t.getGeometry().getCoordinates());else{var r=Wh.getCentroid(t.getGeometry());e=new Aa(r)}return e}}),c=new mb({zIndex:Dy.getValue(t.zindex,o,e.layer_),geometry:function(t){var e=null;if("MultiPoint"===t.getGeometry().getType())e=new mh(t.getGeometry().getCoordinates());else{var r=Wh.getCentroid(t.getGeometry());e=new Aa(r)}return e}});if(o instanceof gh){var h=function(t){var e=null;if("MultiPoint"===t.getGeometry().getType())e=new mh(t.getGeometry().getCoordinates());else{var r=Wh.getCentroid(t.getGeometry());e=new Aa(r)}return e};u.setGeometry(h),c.setGeometry(h)}if(!QF(t.fill)){var f=Dy.getValue(t.fill.color,o,e.layer_),p=Dy.getValue(t.fill.opacity,o,e.layer_);p||0===p||(p=1),QF(f)||(a=new Jy({color:l()(f).alpha(p).css()}))}if(!QF(t.stroke)){var d=Dy.getValue(t.stroke.color,o,e.layer_);if(!QF(d)){var g=t.stroke.linedashoffset;s=new Qy({color:d,width:Dy.getValue(t.stroke.width,o,e.layer_),lineDash:Dy.getValue(t.stroke.linedash,o,e.layer_),lineDashOffset:Dy.getValue(g,o,e.layer_),lineCap:Dy.getValue(t.stroke.linecap,o,e.layer_),lineJoin:Dy.getValue(t.stroke.linejoin,o,e.layer_),miterLimit:Dy.getValue(t.stroke.miterlimit,o,e.layer_)})}}if(!QF(t.label)){var y=Dy.getValue(t.label.text,o,e.layer_),m=Dy.getValue(t.label.align,o,e.layer_),_=Dy.getValue(t.label.baseline,o,e.layer_),v=new lm({font:Dy.getValue(t.label.font,o,e.layer_),rotateWithView:Dy.getValue(t.label.rotate,o,e.layer_),scale:Dy.getValue(t.label.scale,o,e.layer_),offsetX:Dy.getValue(t.label.offset?t.label.offset[0]:void 0,o,e.layer_),offsetY:Dy.getValue(t.label.offset?t.label.offset[1]:void 0,o,e.layer_),fill:new Jy({color:Dy.getValue(t.label.color||"#000000",o,e.layer_)}),textAlign:Object.values(n).includes(m)?m:"center",textBaseline:Object.values(i).includes(_)?_:"top",text:void 0===y?void 0:String(y),rotation:Dy.getValue(t.label.rotation,o,e.layer_)});if(!QF(t.label.stroke)){var b=t.label.stroke,x=b.miterlimit,w=b.linedashoffset;v.setStroke(new Qy({color:Dy.getValue(t.label.stroke.color,o,e.layer_),width:Dy.getValue(t.label.stroke.width,o,e.layer_),lineCap:Dy.getValue(t.label.stroke.linecap,o,e.layer_),lineJoin:Dy.getValue(t.label.stroke.linejoin,o,e.layer_),lineDash:Dy.getValue(t.label.stroke.linedash,o,e.layer_),lineDashOffset:Dy.getValue(w,o,e.layer_),miterLimit:Dy.getValue(x,o,e.layer_)}))}u.setText(v)}return u.setImage(new Xm({fill:a,stroke:s,radius:Dy.getValue(t.radius,o,e.layer_),snapToPixel:Dy.getValue(t.snapToPixel,o,e.layer_)})),QF(t.icon)||(QF(t.icon.src)?QF(t.icon.form)||c.setImage(new Lm({form:QF(Dy.getValue(t.icon.form,o,e.layer_))?"":Dy.getValue(t.icon.form,o,e.layer_).toLowerCase(),gradient:Dy.getValue(t.icon.gradient,o,e.layer_),glyph:Dy.getValue(t.icon.class,o,e.layer_),fontSize:Dy.getValue(t.icon.fontsize,o,e.layer_),radius:Dy.getValue(t.icon.radius,o,e.layer_),rotation:Dy.getValue(t.icon.rotation,o,e.layer_),rotateWithView:Dy.getValue(t.icon.rotate,o,e.layer_),offsetX:Dy.getValue(t.icon.offset?t.icon.offset[0]:void 0,o,e.layer_),offsetY:Dy.getValue(t.icon.offset?t.icon.offset[1]:void 0,o,e.layer_),fill:new Jy({color:Dy.getValue(void 0!==t.icon.fill?t.icon.fill:"#FFFFFF",o,e.layer_)}),stroke:t.icon.color?new Qy({color:Dy.getValue(t.icon.color,o,e.layer_),width:1}):void 0,anchor:Dy.getValue(t.icon.anchor,o,e.layer_),anchorXUnits:Dy.getValue(t.icon.anchorxunits,o,e.layer_),anchorYUnits:Dy.getValue(t.icon.anchoryunits,o,e.layer_),src:Dy.getValue(t.icon.src,o,e.layer_),opacity:Dy.getValue(t.icon.opacity,o,e.layer_),scale:Dy.getValue(t.icon.scale,o,e.layer_),snapToPixel:Dy.getValue(t.icon.snaptopixel,o,e.layer_),offsetOrigin:Dy.getValue(t.icon.offsetorigin,o,e.layer_),offset:Dy.getValue(t.icon.offset,o,e.layer_),crossOrigin:Dy.getValue(t.icon.crossorigin,o,e.layer_),anchorOrigin:Dy.getValue(t.icon.anchororigin,o,e.layer_),size:Dy.getValue(t.icon.size,o,e.layer_)})):c.setImage(new Sm({anchor:Dy.getValue(t.icon.anchor,o,e.layer_),anchorXUnits:Dy.getValue(t.icon.anchorxunits,o,e.layer_),anchorYUnits:Dy.getValue(t.icon.anchoryunits,o,e.layer_),src:Dy.getValue(t.icon.src,o,e.layer_),opacity:Dy.getValue(t.icon.opacity,o,e.layer_),scale:Dy.getValue(t.icon.scale,o,e.layer_),rotation:Dy.getValue(t.icon.rotation,o,e.layer_),rotateWithView:Dy.getValue(t.icon.rotate,o,e.layer_),snapToPixel:Dy.getValue(t.icon.snaptopixel,o,e.layer_),offsetOrigin:Dy.getValue(t.icon.offsetorigin,o,e.layer_),offset:Dy.getValue(t.icon.offset,o,e.layer_),crossOrigin:Dy.getValue(t.icon.crossorigin,o,e.layer_),anchorOrigin:Dy.getValue(t.icon.anchororigin,o,e.layer_),size:Dy.getValue(t.icon.size,o,e.layer_)}))),[u,c]}}},{key:"drawGeometryToCanvas",value:function(t){this.olStyleFn_()[1].getImage()instanceof Cy?t.drawGeometry(new Aa([10,10])):t.drawCircle(new Dh([this.getCanvasSize()[0]/2,this.getCanvasSize()[1]/2],this.getRadius_()))}},{key:"updateCanvas",value:function(t){if(this.updateFacadeOptions(this.options_),!FD(this.options_)){var e=this.getCanvasSize(),r=yy(t.getContext("2d"),{size:e}),n=this.olStyleFn_()[0];QF(n.getText())||n.setText(null),!QF(this.olStyleFn_()[1])&&this.olStyleFn_()[1].getImage()instanceof Cy&&(n=this.olStyleFn_()[1]);var i=n.getImage().getStroke();QF(i)||QF(i.getWidth())||i.setWidth(3),r.setStyle(n),this.drawGeometryToCanvas(r)}}},{key:"getCanvasSize",value:function(){var t,e=this.olStyleFn_()[1].getImage();if(e instanceof Cy)t=[90,90];else{var r=this.getRadius_(e);t=[2*r+4,2*r+4]}return t}},{key:"getRadius_",value:function(t){return t instanceof oy?25:t instanceof Cy?t.getRadius():this.olStyleFn_()[0].getImage().getRadius()}}])&&aw(e.prototype,r),o&&aw(e,o),s}(Dy);hw.DEFAULT_WIDTH_POINT=3;var fw=hw;function pw(t){return(pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function dw(t,e){for(var r=0;r M.style.Simple.deserialize(serializedParameters, 'M.style.Point'))"}}])&&dw(e.prototype,r),n&&dw(e,n),o}(j_);vw.DEFAULT={radius:5},vw.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5},radius:5};var bw=vw;function xw(t){return(xw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ww(t){return function(t){if(Array.isArray(t))return Ew(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Ew(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ew(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ew(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0){r.forEach((function(t){t instanceof th?i.layers.push(o.parseLayerForTemplate(t)):t instanceof yg&&i.layerGroups.push(o.parseGroupForTemplate(t,e))}));var s=0,l=t.getAllLayers();l.every((function(t){return t.isVisible()}))?s=2:l.some((function(t){return t.isVisible()}))&&(s=1),i.visible=s,QF(i.layers)&&QF(i.layerGroups)&&(i=null),KF(i)||(a=new Promise((function(t,e){Promise.all(i.layers).then((function(e){QF(i)||(i.layers=e,i.layerGroups.length>0?Promise.all(i.layerGroups).then((function(e){KF(e[0])?i.layerGroups=[]:i.layerGroups=e,t(i)})):t(i))}))})))}return a}},{key:"orderLayerGroups",value:function(t){return t.sort((function(t,e){return t.order-e.order}))}}],(r=[{key:"addTo",value:function(t){var e=this;this.map_=t;var r=this.getImpl();this.createView(t).then((function(n){e.manageActivation(n),r.addTo(t,n),e.fire(Kl)}))}},{key:"createView",value:function(t){var e=this;return new Promise((function(t){o.getTemplateVariables(e.map_).then((function(r){e.activeEmptyLayer&&r.baseLayers.unshift(o.EMPTYLAYER);var n=Vu($d.a,{vars:r});t(n)}))}))}},{key:"equals",value:function(t){var e=t instanceof o;return e}},{key:"render",value:function(){this.getImpl().renderPanel()}},{key:"registerEvents",value:function(){this.getImpl().registerEvents()}},{key:"unregisterEvents",value:function(){this.getImpl().unregisterEvents()}}])&&Sw(e.prototype,r),n&&Sw(e,n),o}(Gu);Pw.NAME="layerswitcher",Pw.EMPTYLAYER={base:!0,id:"emptyLayer",isIcon:!1,legend:"",opacity:1,outOfRange:!1,title:Mu("layerswitcher").no_base_layer,visible:!1};var Rw=Pw,Lw=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Mw="accuracy",Aw="accuracyGeometry",Nw="altitude",kw="altitudeAccuracy",jw="heading",Fw="position",Dw="projection",Gw="speed",Uw="tracking",Bw="trackingOptions",zw=function(t){function e(e){var r=t.call(this,fo.a.ERROR)||this;return r.code=e.code,r.message=e.message,r}return Lw(e,t),e}(so.a),Vw=function(t){function e(e){var r=t.call(this)||this;r.on,r.once,r.un;var n=e||{};return r.position_=null,r.transform_=u.t,r.watchId_=void 0,r.addChangeListener(Dw,r.handleProjectionChanged_),r.addChangeListener(Uw,r.handleTrackingChanged_),void 0!==n.projection&&r.setProjection(n.projection),void 0!==n.trackingOptions&&r.setTrackingOptions(n.trackingOptions),r.setTracking(void 0!==n.tracking&&n.tracking),r}return Lw(e,t),e.prototype.disposeInternal=function(){this.setTracking(!1),t.prototype.disposeInternal.call(this)},e.prototype.handleProjectionChanged_=function(){var t=this.getProjection();t&&(this.transform_=Object(u.r)(Object(u.o)("EPSG:4326"),t),this.position_&&this.set(Fw,this.transform_(this.position_)))},e.prototype.handleTrackingChanged_=function(){if("geolocation"in navigator){var t=this.getTracking();t&&void 0===this.watchId_?this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions()):t||void 0===this.watchId_||(navigator.geolocation.clearWatch(this.watchId_),this.watchId_=void 0)}},e.prototype.positionChange_=function(t){var e=t.coords;this.set(Mw,e.accuracy),this.set(Nw,null===e.altitude?void 0:e.altitude),this.set(kw,null===e.altitudeAccuracy?void 0:e.altitudeAccuracy),this.set(jw,null===e.heading?void 0:Object(qo.n)(e.heading)),this.position_?(this.position_[0]=e.longitude,this.position_[1]=e.latitude):this.position_=[e.longitude,e.latitude];var r=this.transform_(this.position_);this.set(Fw,r),this.set(Gw,null===e.speed?void 0:e.speed);var n=Ha(this.position_,e.accuracy);n.applyTransform(this.transform_),this.set(Aw,n),this.changed()},e.prototype.positionError_=function(t){this.dispatchEvent(new zw(t))},e.prototype.getAccuracy=function(){return this.get(Mw)},e.prototype.getAccuracyGeometry=function(){return this.get(Aw)||null},e.prototype.getAltitude=function(){return this.get(Nw)},e.prototype.getAltitudeAccuracy=function(){return this.get(kw)},e.prototype.getHeading=function(){return this.get(jw)},e.prototype.getPosition=function(){return this.get(Fw)},e.prototype.getProjection=function(){return this.get(Dw)},e.prototype.getSpeed=function(){return this.get(Gw)},e.prototype.getTracking=function(){return this.get(Uw)},e.prototype.getTrackingOptions=function(){return this.get(Bw)},e.prototype.setProjection=function(t){this.set(Dw,Object(u.o)(t))},e.prototype.setTracking=function(t){this.set(Uw,t)},e.prototype.setTrackingOptions=function(t){this.set(Bw,t)},e}(Pi.a);function qw(t){return(qw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Yw(t,e){for(var r=0;r0&&void 0!==arguments[0])||arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};rE(this,o),HF(Qw)&&Bl(Mu("exception").location_method);var n=new Qw(t,e,6e4,r);return i.call(this,n,o.NAME)}return e=o,(r=[{key:"createView",value:function(t){return Vu(tE.a,{vars:{title:Mu("location").title}})}},{key:"getActivationButton",value:function(t){return t.querySelector("button#m-location-button")}},{key:"equals",value:function(t){var e=t instanceof o;return e}},{key:"setTracking",value:function(t){this.getImpl().tracking=t}}])&&nE(e.prototype,r),n&&nE(e,n),o}(Gu);lE.NAME="location";var uE=lE,cE=(r(88),r(99)),hE=r.n(cE);function fE(t){return(fE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function pE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function dE(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return pE(this,o),(t=i.call(this)).facadeMap_=null,t.exactScale=e.exactScale||!1,t}return e=o,(r=[{key:"addTo",value:function(t,e){this.facadeMap_=t,this.scaleContainer_=e.querySelector("#".concat("m-scale-span")),this.element=e,this.render=this.renderCB,this.target_=null,t.getMapImpl().addControl(this)}},{key:"renderCB",value:function(t){var e,r,n,i,o=t.frameState;QF(o)||(o.viewState,e=this.scaleContainer_,r=this.facadeMap_,n=this.exactScale,i=e,r.getWMTS().length>0?i.innerHTML=Wh.getWMTSScale(r,n):r.getWMTS().length<=0&&!0===n?i.innerHTML=r.getExactScale():r.getWMTS().length<=0&&1==!n&&(i.innerHTML=r.getScale()))}},{key:"destroy",value:function(){gE(vE(o.prototype),"destroy",this).call(this),this.scaleContainer_=null}}])&&dE(e.prototype,r),n&&dE(e,n),o}(Ad);function xE(t){return(xE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function wE(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function EE(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};wE(this,o);var r=new bE(e);return t=i.call(this,r,o.NAME),HF(bE)&&Bl(Mu("exception").scale_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(hE.a,{vars:{title:Mu("scale").title,scale:Mu("scale").scale}})}},{key:"equals",value:function(t){var e=t instanceof o;return e}},{key:"destroy",value:function(){SE(TE(o.prototype),"destroy",this).call(this);var t=this.getPanel();QF(t)||t.removeClassName("m-with-scale")}}])&&EE(e.prototype,r),n&&EE(e,n),o}(Gu);PE.NAME="scale";var RE=PE;r(146);function LE(t){return(LE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ME(t,e){for(var r=0;r=s){f=g,p=y,d=m;break}if(p>=a)break;g=f,y=p,m=d,++v}_=this.scaleBar_?this.createScaleBar(p,f,c):f.toFixed(d<0?-d:0)+" "+c,this.renderedHTML_!=_&&(this.innerElement_.innerHTML=_,this.renderedHTML_=_),this.renderedWidth_!=p&&(this.innerElement_.style.width=p+"px",this.renderedWidth_=p),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}else this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1)},e.prototype.createScaleBar=function(t,e,r){for(var n="1 : "+Math.round(this.getScaleForResolution()).toLocaleString(),i=[],o=t/this.scaleBarSteps_,a="ol-scale-singlebar-odd",s=0;s
    '+this.createMarker("relative",s)+(s%2==0||2===this.scaleBarSteps_?this.createStepText(s,t,!1,e,r):"")+""),s===this.scaleBarSteps_-1&&i.push(this.createStepText(s+1,t,!0,e,r)),a="ol-scale-singlebar-odd"===a?"ol-scale-singlebar-even":"ol-scale-singlebar-odd";return'
    '+(this.scaleBarText_?'
    '+n+"
    ":"")+i.join("")+"
    "},e.prototype.createMarker=function(t,e){return'
    '},e.prototype.createStepText=function(t,e,r,n,i){var o=(0===t?0:Math.round(n/this.scaleBarSteps_*t*100)/100)+(0===t?"":" "+i);return'
    '+o+"
    "},e.prototype.getScaleForResolution=function(){var t=Object(u.p)(this.viewState_.projection,this.viewState_.resolution,this.viewState_.center,Jn.b.METERS),e=this.dpi_||uS;return parseFloat(t.toString())*(1e3/25.4)*e},e.prototype.render=function(t){var e=t.frameState;this.viewState_=e?e.viewState:null,this.updateElement_()},e}(us);function hS(t){return(hS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function fS(t,e){for(var r=0;r=this.minWidth_)break;f+=1}var p=c.toString().concat(" ").concat(s);this.renderedHTML_!==p&&(this.innerElement_.innerHTML=p,this.renderedHTML_=p),this.renderedWidth_!==h&&(this.innerElement_.style.width=h.toString().concat("px"),this.renderedWidth_=h),this.renderedVisible_||(this.element.style.display="",this.renderedVisible_=!0)}else this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1)}}])&&fS(e.prototype,r),n&&fS(e,n),o}(cS),OS=r(101),IS=r.n(OS);function CS(t){return(CS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function TS(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function PS(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};TS(this,o);var r=new SS(e);return t=i.call(this,r,o.NAME),HF(SS)&&Bl(Mu("exception").scaleline_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(IS.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&PS(e.prototype,r),n&&PS(e,n),o}(Gu);NS.NAME="scaleline";var kS=NS,jS=(r(148),r(102)),FS=r.n(jS),DS=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),GS="projection",US="coordinateFormat",BS=function(t){function e(e){var r=this,n=e||{},i=document.createElement("div");i.className=void 0!==n.className?n.className:"ol-mouse-position",(r=t.call(this,{element:i,render:n.render,target:n.target})||this).on,r.once,r.un,r.addChangeListener(GS,r.handleProjectionChanged_),n.coordinateFormat&&r.setCoordinateFormat(n.coordinateFormat),n.projection&&r.setProjection(n.projection);var o=!0,a=" ";return"undefinedHTML"in n?(void 0!==n.undefinedHTML&&(a=n.undefinedHTML),o=!!a):"placeholder"in n&&(!1===n.placeholder?o=!1:a=String(n.placeholder)),r.placeholder_=a,r.renderOnMouseOut_=o,r.renderedHTML_=i.innerHTML,r.mapProjection_=null,r.transform_=null,r}return DS(e,t),e.prototype.handleProjectionChanged_=function(){this.transform_=null},e.prototype.getCoordinateFormat=function(){return this.get(US)},e.prototype.getProjection=function(){return this.get(GS)},e.prototype.handleMouseMove=function(t){var e=this.getMap();this.updateHTML_(e.getEventPixel(t))},e.prototype.handleMouseOut=function(t){this.updateHTML_(null)},e.prototype.setMap=function(e){if(t.prototype.setMap.call(this,e),e){var r=e.getViewport();this.listenerKeys.push(Object(eo.a)(r,Oo,this.handleMouseMove,this)),this.renderOnMouseOut_&&this.listenerKeys.push(Object(eo.a)(r,To,this.handleMouseOut,this)),this.updateHTML_(null)}},e.prototype.setCoordinateFormat=function(t){this.set(US,t)},e.prototype.setProjection=function(t){this.set(GS,Object(u.o)(t))},e.prototype.updateHTML_=function(t){var e=this.placeholder_;if(t&&this.mapProjection_){if(!this.transform_){var r=this.getProjection();this.transform_=r?Object(u.r)(this.mapProjection_,r):u.t}var n=this.getMap().getCoordinateFromPixelInternal(t);if(n){var i=Object(u.s)();i&&(this.transform_=Object(u.r)(this.mapProjection_,i)),this.transform_(n,n);var o=this.getCoordinateFormat();e=o?o(n):n.toString()}}this.renderedHTML_&&e===this.renderedHTML_||(this.element.innerHTML=e,this.renderedHTML_=e)},e.prototype.render=function(t){var e=t.frameState;e?this.mapProjection_!=e.viewState.projection&&(this.mapProjection_=e.viewState.projection,this.transform_=null):this.mapProjection_=null},e}(us);function zS(t){return(zS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function VS(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};rO(this,o);var n=new tO(e,r);return t=i.call(this,n,o.NAME),HF(tO)&&Bl(Mu("exception").mouse_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(FS.a)}},{key:"equals",value:function(t){return t instanceof o}},{key:"destroy",value:function(){iO(lO(o.prototype),"destroy",this).call(this);var t=this.getPanel();QF(t)||t.removeClassName("m-with-mouse")}}])&&nO(e.prototype,r),n&&nO(e,n),o}(Gu);uO.NAME="mouse";var cO=uO,hO=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),fO=.75,pO=.1,dO=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return hO(e,t),e.prototype.createRenderer=function(){return new no(this)},e}(ss),gO=function(t){function e(e){var r=this,n=e||{};(r=t.call(this,{element:document.createElement("div"),render:n.render,target:n.target})||this).boundHandleRotationChanged_=r.handleRotationChanged_.bind(r),r.collapsed_=void 0===n.collapsed||n.collapsed,r.collapsible_=void 0===n.collapsible||n.collapsible,r.collapsible_||(r.collapsed_=!1),r.rotateWithView_=void 0!==n.rotateWithView&&n.rotateWithView,r.viewExtent_=void 0;var i=void 0!==n.className?n.className:"ol-overviewmap",o=void 0!==n.tipLabel?n.tipLabel:"Overview map",a=void 0!==n.collapseLabel?n.collapseLabel:"‹";"string"==typeof a?(r.collapseLabel_=document.createElement("span"),r.collapseLabel_.textContent=a):r.collapseLabel_=a;var s=void 0!==n.label?n.label:"›";"string"==typeof s?(r.label_=document.createElement("span"),r.label_.textContent=s):r.label_=s;var l=r.collapsible_&&!r.collapsed_?r.collapseLabel_:r.label_,u=document.createElement("button");u.setAttribute("type","button"),u.title=o,u.appendChild(l),u.addEventListener(fo.a.CLICK,r.handleClick_.bind(r),!1),r.ovmapDiv_=document.createElement("div"),r.ovmapDiv_.className="ol-overviewmap-map",r.view_=n.view,r.ovmap_=new dO({view:n.view});var c=r.ovmap_;n.layers&&n.layers.forEach((function(t){c.addLayer(t)}));var h=document.createElement("div");h.className="ol-overviewmap-box",h.style.boxSizing="border-box",r.boxOverlay_=new ex({position:[0,0],positioning:"center-center",element:h}),r.ovmap_.addOverlay(r.boxOverlay_);var f=i+" "+"ol-unselectable "+Si+(r.collapsed_&&r.collapsible_?" ol-collapsed":"")+(r.collapsible_?"":" ol-uncollapsible"),p=r.element;p.className=f,p.appendChild(r.ovmapDiv_),p.appendChild(u);var d=r,g=r.boxOverlay_,y=r.boxOverlay_.getElement(),m=function(t){var e,r={clientX:(e=t).clientX,clientY:e.clientY},n=c.getEventCoordinateInternal(r);g.setPosition(n)},_=function t(e){var r=c.getEventCoordinateInternal(e);d.getMap().getView().setCenterInternal(r),window.removeEventListener("mousemove",m),window.removeEventListener("mouseup",t)};return y.addEventListener("mousedown",(function(){window.addEventListener("mousemove",m),window.addEventListener("mouseup",_)})),r}return hO(e,t),e.prototype.setMap=function(e){var r=this.getMap();if(e!==r){if(r){var n=r.getView();n&&this.unbindView_(n),this.ovmap_.setTarget(null)}if(t.prototype.setMap.call(this,e),e){this.ovmap_.setTarget(this.ovmapDiv_),this.listenerKeys.push(Object(eo.a)(e,_i.a.PROPERTYCHANGE,this.handleMapPropertyChange_,this));var i=e.getView();i&&(this.bindView_(i),i.isDef()&&(this.ovmap_.updateSize(),this.resetExtent_())),this.ovmap_.isRendered()||this.updateBoxAfterOvmapIsRendered_()}}},e.prototype.handleMapPropertyChange_=function(t){if(t.key===Go){var e=t.oldValue;e&&this.unbindView_(e);var r=this.getMap().getView();this.bindView_(r)}else this.ovmap_.isRendered()||t.key!==Do&&t.key!==Fo||this.ovmap_.updateSize()},e.prototype.bindView_=function(t){if(!this.view_){var e=new rs({projection:t.getProjection()});this.ovmap_.setView(e)}t.addChangeListener(zo.ROTATION,this.boundHandleRotationChanged_),this.handleRotationChanged_()},e.prototype.unbindView_=function(t){t.removeChangeListener(zo.ROTATION,this.boundHandleRotationChanged_)},e.prototype.handleRotationChanged_=function(){this.rotateWithView_&&this.ovmap_.getView().setRotation(this.getMap().getView().getRotation())},e.prototype.validateExtent_=function(){var t=this.getMap(),e=this.ovmap_;if(t.isRendered()&&e.isRendered()){var r=t.getSize(),n=t.getView().calculateExtentInternal(r);if(!this.viewExtent_||!Object(mt.p)(n,this.viewExtent_)){this.viewExtent_=n;var i=e.getSize(),o=e.getView().calculateExtentInternal(i),a=e.getPixelFromCoordinateInternal(Object(mt.E)(n)),s=e.getPixelFromCoordinateInternal(Object(mt.w)(n)),l=Math.abs(a[0]-s[0]),u=Math.abs(a[1]-s[1]),c=i[0],h=i[1];lc*fO||u>h*fO?this.resetExtent_():Object(mt.h)(o,n)||this.recenter_()}}},e.prototype.resetExtent_=function(){var t=this.getMap(),e=this.ovmap_,r=t.getSize(),n=t.getView().calculateExtentInternal(r),i=e.getView(),o=Math.log(7.5)/Math.LN2,a=1/(Math.pow(2,o/2)*pO);Object(mt.L)(n,a),i.fitInternal(Za(n))},e.prototype.recenter_=function(){var t=this.getMap(),e=this.ovmap_,r=t.getView();e.getView().setCenterInternal(r.getCenterInternal())},e.prototype.updateBox_=function(){var t=this.getMap(),e=this.ovmap_;if(t.isRendered()&&e.isRendered()){var r=t.getSize(),n=t.getView(),i=e.getView(),o=this.rotateWithView_?0:-n.getRotation(),a=this.boxOverlay_,s=this.boxOverlay_.getElement(),l=n.getCenterInternal(),u=n.getResolution(),c=i.getResolution(),h=r[0]*u/c,f=r[1]*u/c;if(a.setPosition(l),s){s.style.width=h+"px",s.style.height=f+"px";var p="rotate("+o+"rad)";s.style.transform=p}}},e.prototype.updateBoxAfterOvmapIsRendered_=function(){this.ovmapPostrenderKey_||(this.ovmapPostrenderKey_=Object(eo.b)(this.ovmap_,Lo,(function(t){delete this.ovmapPostrenderKey_,this.updateBox_()}),this))},e.prototype.handleClick_=function(t){t.preventDefault(),this.handleToggle_()},e.prototype.handleToggle_=function(){this.element.classList.toggle(Oi),this.collapsed_?Object(Ai.h)(this.collapseLabel_,this.label_):Object(Ai.h)(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_;var t=this.ovmap_;if(!this.collapsed_){if(t.isRendered())return this.viewExtent_=void 0,void t.render();t.updateSize(),this.resetExtent_(),this.updateBoxAfterOvmapIsRendered_()}},e.prototype.getCollapsible=function(){return this.collapsible_},e.prototype.setCollapsible=function(t){this.collapsible_!==t&&(this.collapsible_=t,this.element.classList.toggle("ol-uncollapsible"),!t&&this.collapsed_&&this.handleToggle_())},e.prototype.setCollapsed=function(t){this.collapsible_&&this.collapsed_!==t&&this.handleToggle_()},e.prototype.getCollapsed=function(){return this.collapsed_},e.prototype.getRotateWithView=function(){return this.rotateWithView_},e.prototype.setRotateWithView=function(t){this.rotateWithView_!==t&&(this.rotateWithView_=t,0!==this.getMap().getView().getRotation()&&(this.rotateWithView_?this.handleRotationChanged_():this.ovmap_.getView().setRotation(0),this.viewExtent_=void 0,this.validateExtent_(),this.updateBox_()))},e.prototype.getOverviewMap=function(){return this.ovmap_},e.prototype.render=function(t){this.validateExtent_(),this.updateBox_()},e}(us);function yO(t){return(yO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function mO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _O(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return mO(this,o),(e=i.call(this,vD({layers:[]},r,!0))).toggleDelay_=0,QF(t.toggleDelay)||(e.toggleDelay_=t.toggleDelay),e.collapsedButtonClass_="g-cartografia-mundo",QF(t.collapsedButtonClass)||(e.collapsedButtonClass_=t.collapsedButtonClass),e.openedButtonClass_="g-cartografia-flecha-derecha2",QF(t.openedButtonClass)||(e.openedButtonClass_=t.openedButtonClass),e.facadeMap_=null,e}return e=o,(r=[{key:"addTo",value:function(t,e){this.facadeMap_=t,this.update(t,e),this.getCollapsed()||this.addLayers(this.facadeMap_)}},{key:"update",value:function(t,e){var r=this.element.querySelector("button");!0===this.collapsed_?r.classList.contains(this.collapsedButtonClass_)?r.classList.remove(this.collapsedButtonClass_):r.classList.add(this.collapsedButtonClass_):r.classList.contains(this.openedButtonClass_)?r.classList.remove(this.openedButtonClass_):r.classList.add(this.openedButtonClass_),this.addOpenEventListener(r,t),this.setTarget()}},{key:"addOpenEventListener",value:function(t,e){t.onclick=this.openEventListener.bind(this)}},{key:"openEventListener",value:function(t){var e=t;!0===this.getCollapsed()&&(this.addLayers(this.facadeMap_),e.target.onclick=null)}},{key:"setTarget",value:function(){var t=this.facadeControl_;if(!QF(t)){var e=t.getPanel();QF(e)||(this.target_=e.getControlsContainer())}}},{key:"getElement",value:function(){return this.element}},{key:"addLayer_",value:function(t){t.un(Kl,this.addLayer_,this),this.getOverviewMap().addLayer(t.getOLLayer())}},{key:"addLayers",value:function(t){var e=this,r=[];t.getLayers().forEach((function(t){if((t.type===rc||!1===t.transparent)&&t.isVisible()){var n=null,i=t.getImpl().getOLLayer().getProperties();delete i.map,n=!0===t.tiled?new eh.a(i):new rh.a(i),QF(n)?t.getImpl().on(Kl,e.addLayer_.bind(e)):r.push(n)}}));var n=new sd({projection:Object(u.o)(t.getProjection().code),resolutions:t.getResolutions()});t.getMapImpl().addControl(this),this.ovmap_.setView(n),r.forEach((function(t){return e.ovmap_.addLayer(t)})),this.wasOpen_=!0}},{key:"handleToggle_",value:function(){var t=this;ND(this.element,"ol-collapsed");var e=this.element.querySelector("button");ND(e,this.openedButtonClass_),ND(e,this.collapsedButtonClass_),setTimeout((function(){t.collapsed_?kD(t.collapseLabel_,t.label_):kD(t.label_,t.collapseLabel_),t.collapsed_=!t.collapsed_;var e=t.ovmap_;t.collapsed_||e.isRendered()||(e.updateSize(),t.resetExtent_(),e.addEventListener("postrender",(function(e){t.updateBox_()})))}),this.toggleDelay_)}},{key:"destroy",value:function(){this.facadeMap_.getMapImpl().removeControl(this),this.facadeMap_=null}},{key:"facadeControl",set:function(t){this.facadeControl_=t},get:function(){return this.facadeControl_}}])&&_O(e.prototype,r),n&&_O(e,n),o}(gO),SO=r(103),OO=r.n(SO);function IO(t){return(IO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function CO(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function TO(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};CO(this,o);var n=new EO(e,r);return t=i.call(this,n,o.NAME),HF(EO)&&Bl(Mu("exception").overviewmap_method),n.facadeControl=MO(t),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(OO.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&TO(e.prototype,r),n&&TO(e,n),o}(Gu);NO.NAME="overviewmap";var kO=NO;function jO(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};iI(this,o);var r=new rI(e);return t=i.call(this,r,o.NAME),HF(rI)&&Bl(Mu("exception").panzoom_method),t}return e=o,(r=[{key:"createView",value:function(t){return Vu(ZO.a)}},{key:"equals",value:function(t){var e=t instanceof o;return e}}])&&oI(e.prototype,r),n&&oI(e,n),o}(Gu);cI.NAME="panzoom";var hI=cI,fI=(r(150),function(){function t(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.supportedMediaTypes=null}return t.prototype.getReadOptions=function(t,e){var r;if(e){var n=e.dataProjection?Object(u.o)(e.dataProjection):this.readProjection(t);e.extent&&n&&n.getUnits()===Jn.b.TILE_PIXELS&&(n=Object(u.o)(n)).setWorldExtent(e.extent),r={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(r)},t.prototype.adaptOptions=function(t){return Object(Mi.a)({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection},t)},t.prototype.getType=function(){return Object(si.b)()},t.prototype.readFeature=function(t,e){return Object(si.b)()},t.prototype.readFeatures=function(t,e){return Object(si.b)()},t.prototype.readGeometry=function(t,e){return Object(si.b)()},t.prototype.readProjection=function(t){return Object(si.b)()},t.prototype.writeFeature=function(t,e){return Object(si.b)()},t.prototype.writeFeatures=function(t,e){return Object(si.b)()},t.prototype.writeGeometry=function(t,e){return Object(si.b)()},t}());function pI(t,e,r){var n,i=r?Object(u.o)(r.featureProjection):null,o=r?Object(u.o)(r.dataProjection):null;if(n=i&&o&&!Object(u.j)(i,o)?(e?t.clone():t).transform(e?i:o,e?o:i):t,e&&r&&void 0!==r.decimals){var a=Math.pow(10,r.decimals);n===t&&(n=t.clone()),n.applyTransform((function(t){for(var e=0,r=t.length;e0?r[0]:null},e.prototype.readFeatureFromNode=function(t,e){return null},e.prototype.readFeatures=function(t,e){if(t){if("string"==typeof t){var r=m(t);return this.readFeaturesFromDocument(r,e)}return y(t)?this.readFeaturesFromDocument(t,e):this.readFeaturesFromNode(t,e)}return[]},e.prototype.readFeaturesFromDocument=function(t,e){for(var r=[],n=t.firstChild;n;n=n.nextSibling)n.nodeType==Node.ELEMENT_NODE&&Object(h.c)(r,this.readFeaturesFromNode(n,e));return r},e.prototype.readFeaturesFromNode=function(t,e){return Object(si.b)()},e.prototype.readGeometry=function(t,e){if(t){if("string"==typeof t){var r=m(t);return this.readGeometryFromDocument(r,e)}return y(t)?this.readGeometryFromDocument(t,e):this.readGeometryFromNode(t,e)}return null},e.prototype.readGeometryFromDocument=function(t,e){return null},e.prototype.readGeometryFromNode=function(t,e){return null},e.prototype.readProjection=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readProjectionFromDocument(e)}return y(t)?this.readProjectionFromDocument(t):this.readProjectionFromNode(t)}return null},e.prototype.readProjectionFromDocument=function(t){return this.dataProjection},e.prototype.readProjectionFromNode=function(t){return this.dataProjection},e.prototype.writeFeature=function(t,e){var r=this.writeFeatureNode(t,e);return this.xmlSerializer_.serializeToString(r)},e.prototype.writeFeatureNode=function(t,e){return null},e.prototype.writeFeatures=function(t,e){var r=this.writeFeaturesNode(t,e);return this.xmlSerializer_.serializeToString(r)},e.prototype.writeFeaturesNode=function(t,e){return null},e.prototype.writeGeometry=function(t,e){var r=this.writeGeometryNode(t,e);return this.xmlSerializer_.serializeToString(r)},e.prototype.writeGeometryNode=function(t,e){return null},e}(fI),mI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),_I="http://www.opengis.net/gml",vI=/^[\s\xa0]*$/,bI=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.featureType=n.featureType,r.featureNS=n.featureNS,r.srsName=n.srsName,r.schemaLocation="",r.FEATURE_COLLECTION_PARSERS={},r.FEATURE_COLLECTION_PARSERS[r.namespace]={featureMember:v(r.readFeaturesInternal),featureMembers:b(r.readFeaturesInternal)},r.supportedMediaTypes=["application/gml+xml"],r}return mI(e,t),e.prototype.readFeaturesInternal=function(t,e){var r=t.localName,n=null;if("FeatureCollection"==r)n=R([],this.FEATURE_COLLECTION_PARSERS,t,e,this);else if("featureMembers"==r||"featureMember"==r||"member"==r){var i=e[0],o=i.featureType,a=i.featureNS;if(!o&&t.childNodes){o=[],a={};for(var s=0,l=t.childNodes.length;s0){a={_content_:a};for(var u=0;u=2,57),n}return NI(e,t),e}(AI),jI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),FI=function(t){function e(e){return t.call(this,"And",Array.prototype.slice.call(arguments))||this}return jI(e,t),e}(kI),DI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),GI=function(t){function e(e,r,n){var i=t.call(this,"BBOX")||this;if(i.geometryName=e,i.extent=r,4!==r.length)throw new Error("Expected an extent with four values ([minX, minY, maxX, maxY])");return i.srsName=n,i}return DI(e,t),e}(AI),UI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),BI=function(t){function e(e,r,n,i){var o=t.call(this,e)||this;return o.geometryName=r||"the_geom",o.geometry=n,o.srsName=i,o}return UI(e,t),e}(AI),zI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),VI=function(t){function e(e,r,n){return t.call(this,"Contains",e,r,n)||this}return zI(e,t),e}(BI),qI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),YI=function(t){function e(e,r,n,i,o){var a=t.call(this,"DWithin",e,r,o)||this;return a.distance=n,a.unit=i,a}return qI(e,t),e}(BI),WI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),XI=function(t){function e(e,r,n){return t.call(this,"Disjoint",e,r,n)||this}return WI(e,t),e}(BI),HI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ZI=function(t){function e(e,r){var n=t.call(this,e)||this;return n.propertyName=r,n}return HI(e,t),e}(AI),KI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),JI=function(t){function e(e,r,n){var i=t.call(this,"During",e)||this;return i.begin=r,i.end=n,i}return KI(e,t),e}(ZI),QI=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),$I=function(t){function e(e,r,n,i){var o=t.call(this,e,r)||this;return o.expression=n,o.matchCase=i,o}return QI(e,t),e}(ZI),tC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),eC=function(t){function e(e,r,n){return t.call(this,"PropertyIsEqualTo",e,r,n)||this}return tC(e,t),e}($I),rC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),nC=function(t){function e(e,r){return t.call(this,"PropertyIsGreaterThan",e,r)||this}return rC(e,t),e}($I),iC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),oC=function(t){function e(e,r){return t.call(this,"PropertyIsGreaterThanOrEqualTo",e,r)||this}return iC(e,t),e}($I),aC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),sC=function(t){function e(e,r,n){return t.call(this,"Intersects",e,r,n)||this}return aC(e,t),e}(BI),lC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),uC=function(t){function e(e,r,n){var i=t.call(this,"PropertyIsBetween",e)||this;return i.lowerBoundary=r,i.upperBoundary=n,i}return lC(e,t),e}(ZI),cC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),hC=function(t){function e(e,r,n,i,o,a){var s=t.call(this,"PropertyIsLike",e)||this;return s.pattern=r,s.wildCard=void 0!==n?n:"*",s.singleChar=void 0!==i?i:".",s.escapeChar=void 0!==o?o:"!",s.matchCase=a,s}return cC(e,t),e}(ZI),fC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),pC=function(t){function e(e){return t.call(this,"PropertyIsNull",e)||this}return fC(e,t),e}(ZI),dC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),gC=function(t){function e(e,r){return t.call(this,"PropertyIsLessThan",e,r)||this}return dC(e,t),e}($I),yC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),mC=function(t){function e(e,r){return t.call(this,"PropertyIsLessThanOrEqualTo",e,r)||this}return yC(e,t),e}($I),_C=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),vC=function(t){function e(e){var r=t.call(this,"Not")||this;return r.condition=e,r}return _C(e,t),e}(AI),bC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),xC=function(t){function e(e,r,n){return t.call(this,"PropertyIsNotEqualTo",e,r,n)||this}return bC(e,t),e}($I),wC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),EC=function(t){function e(e){return t.call(this,"Or",Array.prototype.slice.call(arguments))||this}return wC(e,t),e}(kI),SC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),OC=(function(t){function e(e){var r=t.call(this,"ResourceId")||this;return r.rid=e,r}SC(e,t)}(AI),function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}()),IC=function(t){function e(e,r,n){return t.call(this,"Within",e,r,n)||this}return OC(e,t),e}(BI);function CC(t){var e=[null].concat(Array.prototype.slice.call(arguments));return new(Function.prototype.bind.apply(FI,e))}function TC(t,e,r){return new GI(t,e,r)}var PC=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),RC={"http://www.opengis.net/gml":{boundedBy:w(xI.prototype.readExtentElement,"bounds")},"http://www.opengis.net/wfs/2.0":{member:v(xI.prototype.readFeaturesInternal)}},LC={"http://www.opengis.net/wfs":{totalInserted:w(Y),totalUpdated:w(Y),totalDeleted:w(Y)},"http://www.opengis.net/wfs/2.0":{totalInserted:w(Y),totalUpdated:w(Y),totalDeleted:w(Y)}},MC={"http://www.opengis.net/wfs":{TransactionSummary:w(qC,"transactionSummary"),InsertResults:w(HC,"insertIds")},"http://www.opengis.net/wfs/2.0":{TransactionSummary:w(qC,"transactionSummary"),InsertResults:w(HC,"insertIds")}},AC={"http://www.opengis.net/wfs":{PropertyName:E(J)},"http://www.opengis.net/wfs/2.0":{PropertyName:E(J)}},NC={"http://www.opengis.net/wfs":{Insert:E(ZC),Update:E($C),Delete:E(QC),Property:E(tT),Native:E(eT)},"http://www.opengis.net/wfs/2.0":{Insert:E(ZC),Update:E($C),Delete:E(QC),Property:E(tT),Native:E(eT)}},kC="feature",jC="http://www.w3.org/2000/xmlns/",FC={"2.0.0":"http://www.opengis.net/ogc/1.1","1.1.0":"http://www.opengis.net/ogc","1.0.0":"http://www.opengis.net/ogc"},DC={"2.0.0":"http://www.opengis.net/wfs/2.0","1.1.0":"http://www.opengis.net/wfs","1.0.0":"http://www.opengis.net/wfs"},GC={"2.0.0":"http://www.opengis.net/fes/2.0","1.1.0":"http://www.opengis.net/fes","1.0.0":"http://www.opengis.net/fes"},UC={"2.0.0":"http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd","1.1.0":"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd","1.0.0":"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/wfs.xsd"},BC={"2.0.0":MI,"1.1.0":PI,"1.0.0":OI},zC=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.version_=n.version?n.version:"1.1.0",r.featureType_=n.featureType,r.featureNS_=n.featureNS,r.gmlFormat_=n.gmlFormat?n.gmlFormat:new BC[r.version_],r.schemaLocation_=n.schemaLocation?n.schemaLocation:UC[r.version_],r}return PC(e,t),e.prototype.getFeatureType=function(){return this.featureType_},e.prototype.setFeatureType=function(t){this.featureType_=t},e.prototype.readFeaturesFromNode=function(t,e){var r={node:t};Object(Mi.a)(r,{featureType:this.featureType_,featureNS:this.featureNS_}),Object(Mi.a)(r,this.getReadOptions(t,e||{}));var n=[r],i=R([],"2.0.0"===this.version_?RC:this.gmlFormat_.FEATURE_COLLECTION_PARSERS,t,n,this.gmlFormat_);return i||(i=[]),i},e.prototype.readTransactionResponse=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readTransactionResponseFromDocument(e)}return y(t)?this.readTransactionResponseFromDocument(t):this.readTransactionResponseFromNode(t)}},e.prototype.readFeatureCollectionMetadata=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readFeatureCollectionMetadataFromDocument(e)}return y(t)?this.readFeatureCollectionMetadataFromDocument(t):this.readFeatureCollectionMetadataFromNode(t)}},e.prototype.readFeatureCollectionMetadataFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE)return this.readFeatureCollectionMetadataFromNode(e)},e.prototype.readFeatureCollectionMetadataFromNode=function(t){var e={},r=W(t.getAttribute("numberOfFeatures"));return e.numberOfFeatures=r,R(e,RC,t,[],this.gmlFormat_)},e.prototype.readTransactionResponseFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE)return this.readTransactionResponseFromNode(e)},e.prototype.readTransactionResponseFromNode=function(t){return R({},MC,t,[])},e.prototype.writeGetFeature=function(t){var e=this,r=p(DC[this.version_],"GetFeature");r.setAttribute("service","WFS"),r.setAttribute("version",this.version_),t.handle&&r.setAttribute("handle",t.handle),t.outputFormat&&r.setAttribute("outputFormat",t.outputFormat),void 0!==t.maxFeatures&&r.setAttribute("maxFeatures",String(t.maxFeatures)),t.resultType&&r.setAttribute("resultType",t.resultType),void 0!==t.startIndex&&r.setAttribute("startIndex",String(t.startIndex)),void 0!==t.count&&r.setAttribute("count",String(t.count)),void 0!==t.viewParams&&r.setAttribute("viewParams",t.viewParams),r.setAttributeNS(f,"xsi:schemaLocation",this.schemaLocation_);var n={node:r};if(Object(Mi.a)(n,{version:this.version_,srsName:t.srsName,featureNS:t.featureNS?t.featureNS:this.featureNS_,featurePrefix:t.featurePrefix,propertyNames:t.propertyNames?t.propertyNames:[]}),Object(go.a)(Array.isArray(t.featureTypes),11),"string"==typeof t.featureTypes[0]){var i=t.filter;t.bbox&&(Object(go.a)(t.geometryName,12),i=this.combineBboxAndFilter(t.geometryName,t.bbox,t.srsName,i)),Object(Mi.a)(n,{geometryName:t.geometryName,filter:i}),vT(r,t.featureTypes,[n])}else t.featureTypes.forEach((function(i){var o=e.combineBboxAndFilter(i.geometryName,i.bbox,t.srsName,t.filter);Object(Mi.a)(n,{geometryName:i.geometryName,filter:o}),vT(r,[i.name],[n])}));return r},e.prototype.combineBboxAndFilter=function(t,e,r,n){var i=TC(t,e,r);return n?CC(n,i):i},e.prototype.writeTransaction=function(t,e,r,n){var i,o=[],a=n.version?n.version:this.version_,s=p(DC[a],"Transaction");s.setAttribute("service","WFS"),s.setAttribute("version",a),n&&(i=n.gmlOptions?n.gmlOptions:{},n.handle&&s.setAttribute("handle",n.handle)),s.setAttributeNS(f,"xsi:schemaLocation",UC[a]);var l=function(t,e,r,n){var i,o=n.featurePrefix?n.featurePrefix:kC;"1.0.0"===r?i=2:"1.1.0"===r?i=3:"2.0.0"===r&&(i=3.2);return Object(Mi.a)({node:t},{version:r,featureNS:n.featureNS,featureType:n.featureType,featurePrefix:o,gmlVersion:i,hasZ:n.hasZ,srsName:n.srsName},e)}(s,i,a,n);return t&&VC("Insert",t,o,l),e&&VC("Update",e,o,l),r&&VC("Delete",r,o,l),n.nativeElements&&VC("Native",n.nativeElements,o,l),s},e.prototype.readProjectionFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE)return this.readProjectionFromNode(e);return null},e.prototype.readProjectionFromNode=function(t){if(t.firstElementChild&&t.firstElementChild.firstElementChild)for(var e=(t=t.firstElementChild.firstElementChild).firstElementChild;e;e=e.nextElementSibling)if(0!==e.childNodes.length&&(1!==e.childNodes.length||3!==e.firstChild.nodeType)){var r=[{}];return this.gmlFormat_.readGeometryElement(e,r),Object(u.o)(r.pop().srsName)}return null},e}(yI);function VC(t,e,r,n){A(n,NC,O(t),e,r)}function qC(t,e){return R({},LC,t,e)}var YC={"http://www.opengis.net/ogc":{FeatureId:v((function(t,e){return t.getAttribute("fid")}))},"http://www.opengis.net/ogc/1.1":{FeatureId:v((function(t,e){return t.getAttribute("fid")}))}};function WC(t,e){P(YC,t,e)}var XC={"http://www.opengis.net/wfs":{Feature:WC},"http://www.opengis.net/wfs/2.0":{Feature:WC}};function HC(t,e){return R([],XC,t,e)}function ZC(t,e,r){var n=r[r.length-1],i=n.featureType,o=n.featureNS,a=n.gmlVersion,s=p(o,i);t.appendChild(s),2===a?OI.prototype.writeFeatureElement(s,e,r):3===a?PI.prototype.writeFeatureElement(s,e,r):MI.prototype.writeFeatureElement(s,e,r)}function KC(t,e,r){var n=r[r.length-1].version,i=FC[n],o=p(i,"Filter"),a=p(i,"FeatureId");o.appendChild(a),a.setAttribute("fid",e),t.appendChild(o)}function JC(t,e){var r=(t=t||kC)+":";return 0===e.indexOf(r)?e:r+e}function QC(t,e,r){var n=r[r.length-1];Object(go.a)(void 0!==e.getId(),26);var i=n.featureType,o=n.featurePrefix,a=n.featureNS,s=JC(o,i);t.setAttribute("typeName",s),t.setAttributeNS(jC,"xmlns:"+o,a);var l=e.getId();void 0!==l&&KC(t,l,r)}function $C(t,e,r){var n=r[r.length-1];Object(go.a)(void 0!==e.getId(),27);var i=n.version,o=n.featureType,a=n.featurePrefix,s=n.featureNS,l=JC(a,o),u=e.getGeometryName();t.setAttribute("typeName",l),t.setAttributeNS(jC,"xmlns:"+a,s);var c=e.getId();if(void 0!==c){for(var h=e.getKeys(),f=[],p=0,d=h.length;pt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&!/WMS\s+server\s+error/i.test(t)&&(r=!0);break;case"application/vnd.ogc.gml":r=(new xT).readFeatures(t).length>0;break;case"text/plain":/returned\s+no\s+results/i.test(t)||/features\s+were\s+found/i.test(t)||/:$/i.test(t)||(r=!0)}return r}},{key:"unsupportedFormat",value:function(t,e){var r=!1;return"text/html"===e&&(r=a.regExs.msUnsupportedFormat.test(t)),r}}],(r=[{key:"addTo",value:function(t,e){!1===t.getMapImpl().getControls().getArray().some((function(t){return t instanceof a}))&&(this.facadeMap_=t,us.call(this,{element:e,target:null}),t.getMapImpl().addControl(this))}},{key:"activate",value:function(){this.addOnClickEvent_()}},{key:"deactivate",value:function(){this.deleteOnClickEvent_()}},{key:"addOnClickEvent_",value:function(){var t=this,e=this.facadeMap_.getMapImpl();"plain"===iD(this.userFormat)||"text/plain"===iD(this.userFormat)?this.userFormat="text/plain":"gml"===iD(this.userFormat)||"application/vnd.ogc.gml"===iD(this.userFormat)?this.userFormat="application/vnd.ogc.gml":this.userFormat="text/html",this.clickEventKey_=e.on("singleclick",(function(e){return t.buildUrl_(o,e)}))}},{key:"buildUrl_",value:function(t,e){this.evt=e;var r=this.facadeMap_.getMapImpl(),n=this.buildWMSInfoURL(this.facadeMap_.getWMS()),i=this.buildWMTSInfoURL(this.facadeMap_.getWMTS()),o=[].concat(CT(i),CT(n)).filter((function(t){return!QF(t)}));o.length>0?this.showInfoFromURL_(o,e.coordinate,r):t.info("No existen capas consultables")}},{key:"buildWMSInfoURL",value:function(t){var e=this,r=this.facadeMap_.getMapImpl().getView().getResolution(),n=this.facadeMap_.getProjection().code;return t.map((function(t){var i,o=t.getImpl().getOLLayer();if(t.isVisible()&&t.isQueryable()&&!QF(o)){i={};var a={INFO_FORMAT:e.userFormat,FEATURE_COUNT:e.featureCount},s=o.getSource(),l=e.evt.coordinate,u=s.getFeatureInfoUrl(l,r,n,a);eD(M.config.ticket)&&(u=aD(u,{ticket:M.config.ticket})),/buffer/i.test(t.url)||(a.Buffer=e.buffer),i={layer:t.legend||t.name,url:u}}return i}))}},{key:"buildWMTSInfoURL",value:function(t){var e=this;return t.map((function(t){var r;if(t.isVisible()){r={};var n=e.userFormat,i=e.evt.coordinate,o=t.getGetFeatureInfoUrl(i,e.facadeMap_.getZoom(),n);eD(M.config.ticket)&&(o=aD(o,{ticket:M.config.ticket})),r={layer:t.legend||t.name,url:o}}return r}))}},{key:"deleteOnClickEvent_",value:function(){Object(Ig.b)(this.clickEventKey_)}},{key:"formatInfo",value:function(t,e,r){var n=null;switch(e){case"text/html":n=t;break;case"application/vnd.ogc.gml":var i=(new xT).readFeatures(t);n="",i.forEach((function(t){var e=t.getKeys();n+="
    ",n+="'");for(var i=0,o=e.length;i"}n+="
    ' ".concat(gD(r)," '
    ',n+=gD(a),n+='',n+=s,n+="
    "}));break;case"text/plain":n=a.regExs.gsResponse.test(t)?this.txtToHtmlGeoserver(t,r):this.txtToHtmlMapserver(t,r)}return n}},{key:"txtToHtmlGeoserver",value:function(t,e){var r=t,n=(r=(r=r.replace(/[\w\s\S]*':/i,"")).replace(/---(-*)(n+)---(-*)/g,"#newfeature#")).split("\n"),i="
    ";i+="");for(var o=0,s=n.length;o1&&(0!==(h=u[1].trim()).length&&"null"!==h||(h="-")),!1===a.regExs.gsGeometry.test(c)&&(i+='")}else a.regExs.gsNewFeature.test(l)&&(i+='"))}return i+="
    ".concat(gD(e),"
    ',i+=gD(c),i+='',i+=h,i+="
    '.concat(gD(e),"
    "}},{key:"txtToHtmlMapserver",value:function(t){for(var e=t,r=(e=e.replace(/[\w\s\S]*(layer)/i,"$1")).replace(/layer(\s*)'(\w+)'[\w\s\S]*/i,"$2"),n=(e=(e=(e=(e=e.replace(/layer(\s*)'(\w+)'([\w\s\S]*)/i,"$3")).replace(/feature(\s*)(\w*)(\s*)(:)([\w\s\S]*)/i,"$5")).replace(/'/g,"")).replace(/=/g,";")).split("\n"),i="",o=""),s=0,l=n.length;s1&&0===(p=h[1].trim()).length&&(p="-"),f.length>0&&(a.regExs.msNewFeature.test(f)?c.length>0&&!a.regExs.msNewFeature.test(c)&&(i+="")):(i+='"))}return i.length>0&&(i="".concat(o+i,"
    ".concat(gD(r),"
    ".concat(gD(r),"
    ',i+=gD(f),i+='',i+=p,i+="
    ")),i}},{key:"showInfoFromURL_",value:function(t,e,r){var n=this,i=Vu(ET.a,{vars:{info:a.LOADING_MESSAGE},parseToHtml:!1}),o=[],s=String(this.userFormat),l=0,u={icon:"g-cartografia-info",title:a.POPUP_TITLE,content:i},c=this.facadeMap_.getPopup();QF(c)?((c=new Ix).addTab(u),this.facadeMap_.addPopup(c,e)):c.getTabs().some((function(t){return t.title!==a.POPUP_TITLE}))?c.addTab(u):(this.facadeMap_.removePopup(),(c=new Ix).addTab(u),this.facadeMap_.addPopup(c,e)),t.forEach((function(e){var r=e.url,i=e.layer;VF(r).then((function(e){if(c=n.facadeMap_.getPopup(),200===e.code&&!1===e.error){var r=e.text;if(!0===a.insert(r,s)){var h=n.formatInfo(r,s,i);o.push({formatedInfo:h,layerName:i})}else a.unsupportedFormat(r,s)&&o.push({formatedInfo:Mu("getfeatureinfo").unsupported_format,layerName:i})}if(l+=1,t.length===l&&!QF(c))if(c.removeTab(u),0===o.length)c.addTab({icon:"g-cartografia-info",title:a.POPUP_TITLE,content:Mu("getfeatureinfo").no_info});else{var f=Vu(OT.a,{vars:{layers:o,info_of:Mu("getfeatureinfo").info_of},parseToHtml:!1});c.addTab({icon:"g-cartografia-info",title:a.POPUP_TITLE,content:f,listeners:[{selector:".m-getfeatureinfo-content-info div.m-arrow-right",all:!0,type:"click",callback:function(t){return n.toogleSection(t)}}]})}}))})),this.popup_=c}},{key:"toogleSection",value:function(t){var e=t.target,r=e.parentElement.parentElement.querySelector(".m-getfeatureinfo-content-info-body");if(r.classList.contains("m-content-collapsed")){r.classList.remove("m-content-collapsed"),e.classList.remove("m-arrow-right"),e.classList.add("m-arrow-down");var n=this.popup_.getCoordinate();QF(this.popup_.getImpl().panIntoView)||this.popup_.getImpl().panIntoView(n)}else r.classList.add("m-content-collapsed"),e.classList.add("m-arrow-right"),e.classList.remove("m-arrow-down")}}])&&PT(e.prototype,r),n&&PT(e,n),a}(Ad);NT.LOADING_MESSAGE="Obteniendo información...",NT.regExs={gsResponse:/^results[\w\s\S]*'http:/i,msNewFeature:/feature(\s*)(\w+)(\s*):/i,gsNewFeature:/#newfeature#/,gsGeometry:/geom$/i,msGeometry:/boundedby$/i,msUnsupportedFormat:/error(.*)unsupported(.*)info_format/i};var kT=NT,jT=r(108),FT=r.n(jT);function DT(t){return(DT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function GT(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function UT(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};GT(this,o);var n=new kT(t,r);return e=i.call(this,n,o.NAME),HF(kT)&&Bl(Mu("exception").getfeatureinfo_method),e.format=t,e}return e=o,(r=[{key:"createView",value:function(t){return Vu(FT.a,{vars:{title:Mu("getfeatureinfo").title}})}},{key:"getActivationButton",value:function(t){return t.querySelector("button#m-getfeatureinfo-button")}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.name===t.name),e}}])&&UT(e.prototype,r),n&&UT(e,n),o}(Gu);YT.NAME="getfeatureinfo",YT.POPUP_TITLE=Mu("getfeatureinfo").info;var WT=YT,XT=(r(152),r(109)),HT=r.n(XT),ZT=".m-top.m-left",KT=".m-top.m-right",JT=".m-bottom.m-left",QT=".m-bottom.m-right";function $T(t){return($T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tP(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function eP(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return tP(this,o),(e=i.call(this)).name=t,e._map=null,e._controls=[],e._buttonPanel=null,e._collapsible=!1,QF(r.collapsible)||(e._collapsible=r.collapsible),e.position=ZT,QF(r.position)||(e.position=r.position),e._collapsed=e._collapsible,QF(r.collapsed)||(e._collapsed=r.collapsed&&!0===e._collapsible),e._multiActivation=!1,QF(r.multiActivation)||(e._multiActivation=r.multiActivation),e._className=null,QF(r.className)||(e._className=r.className),e._collapsedButtonClass=null,QF(r.collapsedButtonClass)?e.position===ZT||e.position===JT?e._collapsedButtonClass="g-cartografia-flecha-derecha":e.position!==KT&&e.position!==QT||(e._collapsedButtonClass="g-cartografia-flecha-izquierda"):e._collapsedButtonClass=r.collapsedButtonClass,e._openedButtonClass=null,QF(r.openedButtonClass)?e.position===ZT||e.position===JT?e._openedButtonClass="g-cartografia-flecha-izquierda":e.position!==KT&&e.position!==QT||(e._openedButtonClass="g-cartografia-flecha-derecha"):e._openedButtonClass=r.openedButtonClass,e._element=null,e._areaContainer=null,e._controlsContainer=null,e._tooltip=null,QF(r.tooltip)||(e._tooltip=r.tooltip),e}return e=o,(r=[{key:"destroy",value:function(){null!=this._element&&this._areaContainer.removeChild(this._element),this._controlsContainer=null}},{key:"addTo",value:function(t,e){var r=this;this._map=t,this._areaContainer=e;var n=Vu(HT.a);this._element=n,QF(this._tooltip)||this._element.setAttribute("title",this._tooltip),this._buttonPanel=n.querySelector("button.m-panel-btn"),QF(this._className)||this._className.split(/\s+/).forEach((function(t){n.classList.add(t)})),!0===this._collapsed?this.collapse():this.open(),!0!==this._collapsible&&n.classList.add("no-collapsible"),this._controlsContainer=n.querySelector("div.m-panel-controls"),e.appendChild(n),this._buttonPanel.addEventListener("click",(function(t){t.preventDefault(),!1===r._collapsed?r.collapse():r.open()})),this.addControls(this._controls),this.fire(Kl,n)}},{key:"_collapse",value:function(t){t.classList.remove("opened"),this._buttonPanel.classList.remove(this._openedButtonClass),t.classList.add("collapsed"),this._buttonPanel.classList.add(this._collapsedButtonClass),this._collapsed=!0,this.fire(cu)}},{key:"_open",value:function(t){t.classList.remove("collapsed"),this._buttonPanel.classList.remove(this._collapsedButtonClass),t.classList.add("opened"),this._buttonPanel.classList.add(this._openedButtonClass),this._collapsed=!1,this.fire(uu)}},{key:"open",value:function(){this._open(this._element)}},{key:"collapse",value:function(){this._collapse(this._element)}},{key:"getControls",value:function(){return this._controls}},{key:"addControls",value:function(t){var e=this,r=t;QF(r)||(JF(r)||(r=[r]),r.forEach((function(t){t instanceof Gu&&(e.hasControl(t)||(e._controls.push(t),t.setPanel(e),t.on(hu,e._removeControl.bind(e),e)),QF(e._controlsContainer)||(t.on(Kl,e._moveControlView.bind(e),e),t.addTo(e._map)),t.on(su,e._manageActivation.bind(e),e))})))}},{key:"hasControl",value:function(t){var e=!1;return QF(t)||(eD(t)?e=null!=this._controls.filter((function(e){return e.name===t}))[0]:t instanceof Gu&&(e=_D(this._controls,t))),e}},{key:"removeControls",value:function(t){var e=this,r=t;QF(r)||(JF(r)||(r=[r]),r.forEach((function(t){var r=t;r instanceof Gu&&e.hasControl(r)&&(e._controls=e._controls.filter((function(t){return!r.equals(t)})),r.destroy&&r.destroy(),r.setPanel(null))}),this),0===this._controls.length&&this._map.removePanel(this))}},{key:"_removeControl",value:function(t){var e=this;this._map.controls(t).forEach((function(t){var r=e._controls.indexOf(t);-1!==r&&e._controls.splice(r,1)}))}},{key:"removeClassName",value:function(t){QF(this._element)?this._className=this._className.replace(new RegExp("s* ".concat(t," s*")),""):this._element.classList.remove(t)}},{key:"addClassName",value:function(t){QF(this._element)?this._className=this._className.concat(" ").concat(t):this._element.classList.add(t)}},{key:"_moveControlView",value:function(t){var e=t.getElement();QF(this._controlsContainer)||this._controlsContainer.appendChild(e),t.fire(Jl)}},{key:"_manageActivation",value:function(t){!0!==this._multiActivation&&this._controls.forEach((function(e){!e.equals(t)&&e.activated&&e.deactivate()}))}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=t.name===this.name),e}},{key:"getTemplatePanel",value:function(){return this._element}},{key:"getButtonPanel",value:function(){return this._buttonPanel}},{key:"isCollapsed",value:function(){return this._collapsed}},{key:"setCollapsed",value:function(t){this._collapsed=t}},{key:"getControlsContainer",value:function(){return this._controlsContainer}}])&&eP(e.prototype,r),n&&eP(e,n),o}(Cl);function sP(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function lP(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return null};cP(this,t),this.panel_=new aP(e.name,lP({},e.params)),r(this.panel_)}var e,r,n;return e=t,(r=[{key:"panel",get:function(){return this.panel_}}])&&hP(e.prototype,r),n&&hP(e,n),t}(),gP=function(t){var e=t.getPanels("map-info")[0];QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT}},(function(e){pP(e,t)})).panel);return e.addClassName("m-with-scale"),e},yP=function(t,e){var r,n=(uP(r={},WT.NAME,(function(){return function(t){var e=t;if(QF(e.panel.TOOLS)){var r=new dP({name:"tools",params:{collapsible:!0,className:"m-tools",collapsedButtonClass:"g-cartografia-herramienta",position:ZT,tooltip:"Panel de herramientas"}});e.panel.TOOLS=r.panel}return e.panel.TOOLS}(e)})),uP(r,Rw.NAME,(function(){return new dP({name:Rw.NAME,params:{collapsible:!0,className:"m-layerswitcher",collapsedButtonClass:"g-cartografia-capas2",position:KT,tooltip:Mu("layerswitcher").title}},(function(t){t.on(Kl,(function(t){xD(t.querySelector(".m-panel-controls"))})),t.on(uu,(function(t){var e=t.getControls()[0];e.registerEvents(),e.render()})),t.on(cu,(function(t){t.getControls()[0].unregisterEvents()}))})).panel})),uP(r,uE.NAME,(function(){return new dP({name:uE.NAME,params:{collapsible:!1,className:"m-location",position:QT}}).panel})),uP(r,cO.NAME,(function(){return function(t){var e=t.getPanels("map-info")[0];return QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT,tooltip:"Coordenadas del puntero"}}).panel),e.addClassName("m-with-mouse"),e}(e)})),uP(r,kO.NAME,(function(){return function(t){var e=t.getPanels("map-info")[0];return QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT}}).panel),e.addClassName("m-with-overview"),e}(e)})),uP(r,hI.NAME,(function(){return new dP({name:hI.NAME,params:{collapsible:!1,className:"m-panzoom",position:ZT}}).panel})),uP(r,$u.NAME,(function(){return new dP({name:$u.NAME,params:{collapsible:!1,className:"m-panzoombar",position:ZT,tooltip:"Nivel de zoom"}}).panel})),uP(r,tS.NAME,(function(){return new dP({name:tS.NAME,params:{collapsible:!1,className:"m-rotate",position:KT}}).panel})),uP(r,RE.NAME,(function(){return gP(e)})),uP(r,"".concat(RE.NAME,"*true"),(function(){return gP(e)})),uP(r,kS.NAME,(function(){return function(t){return new dP({name:kS.NAME,params:{collapsible:!1,className:"m-scaleline",position:JT,tooltip:"Línea de escala"}},(function(e){pP(e,t)})).panel}(e)})),uP(r,Jd.NAME,(function(){return function(t){var e=t.getPanels("map-info")[0];return QF(e)&&(e=new dP({name:fP,params:{collapsible:!1,className:"m-map-info",position:QT}},(function(e){pP(e,t)})).panel),e.addClassName("m-with-wmcselector"),e}(e)})),r)[t.name];return $F(n)?n():null},mP=r(110),_P=r.n(mP);function vP(t,e){for(var r=0;r1&&(e=r.reduce((function(t,e){var r;return QF(t)||(r=t instanceof o?t.getAttribute(e):t[e]),r}),this))}return e}},{key:"equals",value:function(t){return this.getId()===t.getId()}}])&&AP(e.prototype,r),n&&AP(e,n),o}(Zl);function GP(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new qP(e);return HP(this,o),(t=i.call(this,r)).map_=null,t.layers_=[],t.activated_=!1,t.prevSelectedFeatures_={},t.prevHoverFeatures_={},$F(r.addTo)||Bl(Mu("exception").addto_method),$F(r.getFeaturesByLayer)||Bl(Mu("exception").getfeaturesbylayer_method),t}return e=o,(r=[{key:"addTo",value:function(t){this.map_=t,this.map_.on(Ou,this.moveOverMap_.bind(this)),this.map_.on(Su,this.clickOnMap_.bind(this)),this.getImpl().addTo(this.map_),this.fire(Kl)}},{key:"changeNamePrevs",value:function(t,e){var r=this.prevHoverFeatures_[t],n=this.prevSelectedFeatures_[t];this.prevHoverFeatures_[e]=r,this.prevSelectedFeatures_[e]=n,delete this.prevHoverFeatures_[t],delete this.prevSelectedFeatures_[t]}},{key:"clickOnMap_",value:function(t){var e=this;if(!0===this.activated_){var r=this.getImpl();this.map_.removePopup(),this.layers_.forEach((function(n){var i=r.getFeaturesByLayer(t,n),o=WP(e.prevSelectedFeatures_[n.id]);if(0===i.length&&o.length>0)e.unselectFeatures(o,n,t);else if(i.length>0){var a=i.filter((function(t){return!o.some((function(e){return e.equals(t)}))})),s=o.filter((function(t){return!i.some((function(e){return e.equals(t)}))}));s.length>0&&e.unselectFeatures(s,n,t),a.length>0&&e.selectFeatures(a,n,t)}}))}}},{key:"moveOverMap_",value:function(t){var e=this;if(!0===this.activated_){var r=this.getImpl();this.layers_.forEach((function(n){var i=r.getFeaturesByLayer(t,n),o=WP(e.prevHoverFeatures_[n.id]);if(0===i.length&&o.length>0)e.leaveFeatures_(o,n,t);else if(i.length>0){var a=i.filter((function(t){return(t instanceof JD||t instanceof DP)&&!o.some((function(e){return e.equals(t)}))})),s=o.filter((function(t){return!i.some((function(e){return e.equals(t)}))}));s.length>0&&e.leaveFeatures_(s,n,t),a.length>0&&e.hoverFeatures_(a,n,t)}}))}}},{key:"selectFeatures",value:function(t,e,r){this.prevSelectedFeatures_[e.id]=this.prevSelectedFeatures_[e.id].concat(t);var n=e.getImpl();$F(n.selectFeatures)&&n.selectFeatures(t,r.coord,r),e.fire(fu,[t,r])}},{key:"unselectFeatures",value:function(t,e,r){this.prevSelectedFeatures_[e.id]=this.prevSelectedFeatures_[e.id].filter((function(e){return!t.some((function(t){return t.equals(e)}))}));var n=e.getImpl();$F(n.unselectFeatures)&&n.unselectFeatures(t,r.coord),e.fire(pu,[t,r.coord])}},{key:"hoverFeatures_",value:function(t,e,r){this.prevHoverFeatures_[e.id]=this.prevHoverFeatures_[e.id].concat(t),e.fire(du,[t,r]),this.getImpl().addCursorPointer()}},{key:"leaveFeatures_",value:function(t,e,r){this.prevHoverFeatures_[e.id]=this.prevHoverFeatures_[e.id].filter((function(e){return!t.some((function(t){return t.equals(e)}))})),e.fire(gu,[t,r.coord]),this.getImpl().removeCursorPointer()}},{key:"activate",value:function(){!1===this.activated_&&(this.activated_=!0,this.fire(su))}},{key:"deactivate",value:function(){!0===this.activated_&&(this.activated_=!1,this.fire(lu))}},{key:"addLayer",value:function(t){_D(this.layers_,t)||(this.layers_.push(t),this.prevSelectedFeatures_[t.id]=[],this.prevHoverFeatures_[t.id]=[])}},{key:"removeLayer",value:function(t){this.layers_=this.layers_.filter((function(e){return!e.equals(t)})),this.prevSelectedFeatures_[t.id]=null,this.prevHoverFeatures_[t.id]=null,delete this.prevSelectedFeatures_[t.id],delete this.prevHoverFeatures_[t.id]}},{key:"destroy",value:function(){}},{key:"clearSelectedFeatures",value:function(){var t=this;Object.keys(this.prevSelectedFeatures_).forEach((function(e){t.prevSelectedFeatures_[e]=[]}))}},{key:"clearHoverFeatures",value:function(){var t=this;Object.keys(this.prevHoverFeatures_).forEach((function(e){t.prevHoverFeatures_[e]=[]}))}}])&&ZP(e.prototype,r),n&&ZP(e,n),o}(Zl),eR=r(111),rR=r.n(eR);function nR(t){return(nR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function iR(t,e){for(var r=0;r0;else{var h=c.getType();s="Point"===h||"MultiPoint"===h}}s&&(l=o.get("name"),(s=s&&!!l)&&l.search(/&[^&]+;/)>-1&&(NR||(NR=document.createElement("textarea")),NR.innerHTML=l,l=NR.value));var f=r;if(t?f=t:e&&(f=GR(e,r,n)),s){var p=function(t,e){var r=[0,0],n="start",i=t.getImage();if(i){var o=i.getSize();if(o&&2==o.length){var a=i.getScaleArray(),s=i.getAnchor();r[0]=a[0]*(o[0]-s[0]),r[1]=a[1]*(o[1]/2-s[1]),n="left"}}var l=t.getText();l?((l=l.clone()).setFont(l.getFont()||MR.getFont()),l.setScale(l.getScale()||MR.getScale()),l.setFill(l.getFill()||MR.getFill()),l.setStroke(l.getStroke()||RR)):l=MR.clone();return l.setText(e),l.setOffsetX(r[0]),l.setOffsetY(r[1]),l.setTextAlign(n),new om({image:i,text:l})}(f[0],l);return u.length>0?(p.setGeometry(new kh(u)),[p,new om({geometry:f[0].getGeometry(),image:null,fill:f[0].getFill(),stroke:f[0].getStroke(),text:null})].concat(f.slice(1))):p}return f}}(r.Style,r.styleUrl,this.defaultStyle_,this.sharedStyles_,this.showPointNames_);n.setStyle(s)}return delete r.Style,n.setProperties(r,!0),n}},e.prototype.readSharedStyle_=function(t,e){var r=t.getAttribute("id");if(null!==r){var n=dL.call(this,t,e);if(n){var i=void 0,o=t.baseURI;if(o&&"about:blank"!=o||(o=window.location.href),o)i=new URL("#"+r,o).href;else i="#"+r;this.sharedStyles_[i]=n}}},e.prototype.readSharedStyleMap_=function(t,e){var r=t.getAttribute("id");if(null!==r){var n=WR.call(this,t,e);if(n){var i,o=t.baseURI;if(o&&"about:blank"!=o||(o=window.location.href),o)i=new URL("#"+r,o).href;else i="#"+r;this.sharedStyles_[i]=n}}},e.prototype.readFeatureFromNode=function(t,e){if(!Object(h.f)(vR,t.namespaceURI))return null;var r=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return r||null},e.prototype.readFeaturesFromNode=function(t,e){if(!Object(h.f)(vR,t.namespaceURI))return[];var r,n=t.localName;if("Document"==n||"Folder"==n)return(r=this.readDocumentOrFolder_(t,[this.getReadOptions(t,e)]))||[];if("Placemark"==n){var i=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return i?[i]:[]}if("kml"==n){r=[];for(var o=t.firstElementChild;o;o=o.nextElementSibling){var a=this.readFeaturesFromNode(o,e);a&&Object(h.c)(r,a)}return r}return[]},e.prototype.readName=function(t){if(t){if("string"==typeof t){var e=m(t);return this.readNameFromDocument(e)}return y(t)?this.readNameFromDocument(t):this.readNameFromNode(t)}},e.prototype.readNameFromDocument=function(t){for(var e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE){var r=this.readNameFromNode(e);if(r)return r}},e.prototype.readNameFromNode=function(t){for(var e=t.firstElementChild;e;e=e.nextElementSibling)if(Object(h.f)(vR,e.namespaceURI)&&"name"==e.localName)return X(e);for(e=t.firstElementChild;e;e=e.nextElementSibling){var r=e.localName;if(Object(h.f)(vR,e.namespaceURI)&&("Document"==r||"Folder"==r||"Placemark"==r||"kml"==r)){var n=this.readNameFromNode(e);if(n)return n}}},e.prototype.readNetworkLinks=function(t){var e=[];if("string"==typeof t){var r=m(t);Object(h.c)(e,this.readNetworkLinksFromDocument(r))}else y(t)?Object(h.c)(e,this.readNetworkLinksFromDocument(t)):Object(h.c)(e,this.readNetworkLinksFromNode(t));return e},e.prototype.readNetworkLinksFromDocument=function(t){for(var e=[],r=t.firstChild;r;r=r.nextSibling)r.nodeType==Node.ELEMENT_NODE&&Object(h.c)(e,this.readNetworkLinksFromNode(r));return e},e.prototype.readNetworkLinksFromNode=function(t){for(var e=[],r=t.firstElementChild;r;r=r.nextElementSibling)if(Object(h.f)(vR,r.namespaceURI)&&"NetworkLink"==r.localName){var n=R({},wR,r,[]);e.push(n)}for(r=t.firstElementChild;r;r=r.nextElementSibling){var i=r.localName;!Object(h.f)(vR,r.namespaceURI)||"Document"!=i&&"Folder"!=i&&"kml"!=i||Object(h.c)(e,this.readNetworkLinksFromNode(r))}return e},e.prototype.readRegion=function(t){var e=[];if("string"==typeof t){var r=m(t);Object(h.c)(e,this.readRegionFromDocument(r))}else y(t)?Object(h.c)(e,this.readRegionFromDocument(t)):Object(h.c)(e,this.readRegionFromNode(t));return e},e.prototype.readRegionFromDocument=function(t){for(var e=[],r=t.firstChild;r;r=r.nextSibling)r.nodeType==Node.ELEMENT_NODE&&Object(h.c)(e,this.readRegionFromNode(r));return e},e.prototype.readRegionFromNode=function(t){for(var e=[],r=t.firstElementChild;r;r=r.nextElementSibling)if(Object(h.f)(vR,r.namespaceURI)&&"Region"==r.localName){var n=R({},SR,r,[]);e.push(n)}for(r=t.firstElementChild;r;r=r.nextElementSibling){var i=r.localName;!Object(h.f)(vR,r.namespaceURI)||"Document"!=i&&"Folder"!=i&&"kml"!=i||Object(h.c)(e,this.readRegionFromNode(r))}return e},e.prototype.writeFeaturesNode=function(t,e){e=this.adaptOptions(e);var r=p(vR[4],"kml"),n="http://www.w3.org/2000/xmlns/";r.setAttributeNS(n,"xmlns:gx",_R[0]),r.setAttributeNS(n,"xmlns:xsi",f),r.setAttributeNS(f,"xsi:schemaLocation","http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd");var i={node:r},o={};t.length>1?o.Document=t:1==t.length&&(o.Placemark=t[0]);var a=OR[r.namespaceURI],s=C(o,a);return A(i,IR,I,s,[e],a,this),r},e}(yI);function GR(t,e,r){return Array.isArray(t)?t:"string"==typeof t?GR(r[t],e,r):e}function UR(t){var e=d(t,!1),r=/^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(e);if(r){var n=r[1];return[parseInt(n.substr(6,2),16),parseInt(n.substr(4,2),16),parseInt(n.substr(2,2),16),parseInt(n.substr(0,2),16)/255]}}function BR(t){var e=d(t,!1),r=[];e=e.replace(/\s*,\s*/g,",");for(var n,i=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?),([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|,|$)(?:([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|$))?\s*/i;n=i.exec(e);){var o=parseFloat(n[1]),a=parseFloat(n[2]),s=n[3]?parseFloat(n[3]):0;r.push(o,a,s),e=e.substr(n[0].length)}if(""===e)return r}function zR(t){var e=d(t,!1).trim(),r=t.baseURI;return r&&"about:blank"!=r||(r=window.location.href),r?new URL(e,r).href:e}function VR(t){var e=d(t,!1).trim().replace(/^(?!.*#)/,"#"),r=t.baseURI;return r&&"about:blank"!=r||(r=window.location.href),r?new URL(e,r).href:e}function qR(t){return V(t)}var YR=T(vR,{Pair:function(t,e){var r=R({},bL,t,e,this);if(!r)return;var n=r.key;if(n&&"normal"==n){var i=r.styleUrl;i&&(e[e.length-1]=i);var o=r.Style;o&&(e[e.length-1]=o)}}});function WR(t,e){return R(void 0,YR,t,e,this)}var XR=T(vR,{Icon:w((function(t,e){var r=R({},rL,t,e);return r||null})),color:w(UR),heading:w(V),hotSpot:w((function(t){var e,r=t.getAttribute("xunits"),n=t.getAttribute("yunits");return e="insetPixels"!==r?"insetPixels"!==n?Zg:Jg:"insetPixels"!==n?Kg:Qg,{x:parseFloat(t.getAttribute("x")),xunits:bR[r],y:parseFloat(t.getAttribute("y")),yunits:bR[n],origin:e}})),scale:w(qR)});var HR=T(vR,{color:w(UR),scale:w(qR)});var ZR=T(vR,{color:w(UR),width:w(V)});var KR=T(vR,{color:w(UR),fill:w(U),outline:w(U)});var JR=T(vR,{coordinates:b(BR)});function QR(t,e){return R(null,JR,t,e)}var $R=T(_R,{Track:v(eL)});var tL=T(vR,{when:function(t,e){var r=e[e.length-1].whens,n=d(t,!1),i=Date.parse(n);r.push(isNaN(i)?0:i)}},T(_R,{coord:function(t,e){var r=e[e.length-1].coordinates,n=d(t,!1),i=/^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(n);if(i){var o=parseFloat(i[1]),a=parseFloat(i[2]),s=parseFloat(i[3]);r.push([o,a,s])}else r.push([])}}));function eL(t,e){var r=R({coordinates:[],whens:[]},tL,t,e);if(r){for(var n=[],i=r.coordinates,o=r.whens,a=0,s=Math.min(i.length,o.length);a0){var n=e[e.length-1];n.push.apply(n,r)}},outerBoundaryIs:function(t,e){var r=R(void 0,OL,t,e);if(r){e[e.length-1][0]=r}}});function fL(t,e){var r=R({},oL,t,e),n=R([null],hL,t,e);if(n&&n[0]){for(var i=n[0],o=[i.length],a=1,s=n.length;a0,c=l.href;c?n=c:u&&(n=yR);var h,f=Zg,p=r.hotSpot;p?(i=[p.x,p.y],o=p.xunits,a=p.yunits,f=p.origin):/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(n)&&(/pushpin/.test(n)?(i=fR,o=pR,a=dR):/arrow-reverse/.test(n)?(i=[54,42],o=pR,a=dR):/paddle/.test(n)&&(i=[32,1],o=pR,a=dR));var d,g=l.x,y=l.y;void 0!==g&&void 0!==y&&(h=[g,y]);var m,_=l.w,v=l.h;void 0!==_&&void 0!==v&&(d=[_,v]);var b=r.heading;void 0!==b&&(m=Object(qo.n)(b));var x=r.scale,w=r.color;if(u){n==yR&&(d=gR);var E=new oy({anchor:i,anchorOrigin:f,anchorXUnits:o,anchorYUnits:a,crossOrigin:this.crossOrigin_,offset:h,offsetOrigin:Zg,rotation:m,scale:x,size:d,src:this.iconUrlFunction_(n),color:w}),S=E.getScaleArray()[0],O=E.getSize();if(null===O){var I=E.getImageState();if(I===$g.a.IDLE||I===$g.a.LOADING){E.listenImageChange((function t(){var e=E.getImageState();if(e!==$g.a.IDLE&&e!==$g.a.LOADING){var r=E.getSize();if(r&&2==r.length){var n=jR(r);E.setScale(S*n)}E.unlistenImageChange(t)}})),I===$g.a.IDLE&&E.load()}}else if(2==O.length){var C=jR(O);E.setScale(S*C)}s.imageStyle=E}else s.imageStyle=TR}},LabelStyle:function(t,e){var r=R({},HR,t,e);if(r){var n=e[e.length-1],i=new lm({fill:new Jy({color:"color"in r?r.color:hR}),scale:r.scale});n.textStyle=i}},LineStyle:function(t,e){var r=R({},ZR,t,e);if(r){var n=e[e.length-1],i=new Qy({color:"color"in r?r.color:hR,width:"width"in r?r.width:1});n.strokeStyle=i}},PolyStyle:function(t,e){var r=R({},KR,t,e);if(r){var n=e[e.length-1],i=new Jy({color:"color"in r?r.color:hR});n.fillStyle=i;var o=r.fill;void 0!==o&&(n.fill=o);var a=r.outline;void 0!==a&&(n.outline=a)}}});function dL(t,e){var r=R({},pL,t,e,this);if(!r)return null;var n,i="fillStyle"in r?r.fillStyle:CR,o=r.fill;void 0===o||o||(i=null),"imageStyle"in r?r.imageStyle!=TR&&(n=r.imageStyle):n=PR;var a="textStyle"in r?r.textStyle:MR,s="strokeStyle"in r?r.strokeStyle:LR,l=r.outline;return void 0===l||l?[new om({fill:i,image:n,stroke:s,text:a,zIndex:void 0})]:[new om({geometry:function(t){var e=t.getGeometry(),r=e.getType();return"GeometryCollection"===r?new kh(e.getGeometriesArrayRecursive().filter((function(t){var e=t.getType();return"Polygon"!==e&&"MultiPolygon"!==e}))):"Polygon"!==r&&"MultiPolygon"!==r?e:void 0},fill:i,image:n,stroke:s,text:a,zIndex:void 0}),new om({geometry:function(t){var e=t.getGeometry(),r=e.getType();return"GeometryCollection"===r?new kh(e.getGeometriesArrayRecursive().filter((function(t){var e=t.getType();return"Polygon"===e||"MultiPolygon"===e}))):"Polygon"===r||"MultiPolygon"===r?e:void 0},fill:i,stroke:null,zIndex:void 0})]}function gL(t,e){var r,n,i,o=e.length,a=new Array(e.length),s=new Array(e.length),l=new Array(e.length);r=!1,n=!1,i=!1;for(var u=0;u0){var m=C(i,a);A(n,KL,QL,[{names:a,values:m}],r)}var _=r[0],v=e.getGeometry();v&&(v=pI(v,!0,_)),A(n,KL,BL,[v],r)}var tM=T(vR,["extrude","tessellate","altitudeMode","coordinates"]),eM=T(vR,{extrude:E(H),tessellate:E(H),altitudeMode:E(J),coordinates:E((function(t,e,r){var n,i=r[r.length-1],o=i.layout,a=i.stride;o==$o||o==ea?n=2:o==ta||o==ra?n=3:Object(go.a)(!1,34);var s=e.length,l="";if(s>0){l+=e[0];for(var u=1;u0&&void 0!==arguments[0]?arguments[0]:{};return dM(this,o),(t=i.call(this)).screenOverlay_=null,t.label_=void 0===e.label||e.label,t}return e=o,(r=[{key:"readCustomFeatures",value:function(t,e){var r=this,n=this.readFeatures(t,e).map((function(t){var e=t.getStyle()(t);if(!1===r.label_){var n=[e[0]];t.setStyle(n)}return Array.isArray(e)||(e=[e]),e.forEach((function(t){if(t.getImage()instanceof oy){var e=t.getImage();t.setImage(e)}})),t.set("name",SD(t.get("name"))),t}));return this.readScreenOverlay(t),n}},{key:"readScreenOverlay",value:function(t){var e="xunits",r="yunits",n=m(t).querySelector("ScreenOverlay");if(null!==n){var i,a,s,l,u,c,h=n.querySelector("Icon"),f=null!==h?h.querySelector("href").innerHTML:o.DEFAULT_NO_IMAGE_STYLE,p=n.querySelector("overlayXY");null!==p&&(i=[parseFloat(p.getAttribute("x")),parseFloat(p.getAttribute("y"))],a=p.getAttribute(e),s=p.getAttribute(r));var d,g,y,_=n.querySelector("screenXY");null!==_?(l=[parseFloat(_.getAttribute("x")),parseFloat(_.getAttribute("y"))],u=_.getAttribute(e),c=_.getAttribute(r)):f===o.DEFAULT_IMAGE_STYLE_SRC?(l=o.DEFAULT_IMAGE_STYLE_ANCHOR,u=o.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS,c=o.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS):/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(f)&&(l=[.5,0],u=Xg,c=Xg);var v,b,x,w=n.querySelector("rotationXY");if(null!==w){var E=parseFloat(w.getAttribute("x"));d=Math.PI/180*E,g=w.getAttribute(e),y=w.getAttribute(r)}var S=n.querySelector("size");null!==S&&(v=[parseFloat(S.getAttribute("x")),parseFloat(S.getAttribute("y"))],b=S.getAttribute(e),x=S.getAttribute(r)),this.screenOverlay_={screenXY:l,screenXUnits:u,screenYUnits:c,overlayXY:i,overlayXUnits:a,overlayYUnits:s,rotationXY:d,rotationXUnits:g,rotationYUnits:y,size:v,sizeXUnits:b,sizeYUnits:x,src:f}}}},{key:"getScreenOverlay",value:function(){return this.screenOverlay_}}])&&gM(e.prototype,r),n&&gM(e,n),o}(fM);bM.DEFAULT_NO_IMAGE_STYLE="NO_IMAGE",bM.DEFAULT_IMAGE_STYLE_SRC="https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png",bM.DEFAULT_IMAGE_STYLE_ANCHOR=[20,2],bM.DEFAULT_IMAGE_STYLE_ANCHOR_X_UNITS="pixels",bM.DEFAULT_IMAGE_STYLE_ANCHOR_Y_UNITS="pixels";var xM=bM;function wM(t){return(wM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function EM(t,e){for(var r=0;r1?this.popup_.removeTab(this.tabPopup_):this.map.removePopup())}},{key:"getFeaturesExtentPromise",value:function(t,e){var r=this;return new Promise((function(n){var i=r.map.getProjection().code;if(!0===r.isLoaded()){var o=r.getFeatures(t,e),a=Wh.getFeaturesExtent(o,i);n(a)}else r.requestFeatures_().then((function(t){var e=Wh.getFeaturesExtent(t.features,i);n(e)}))}))}},{key:"requestFeatures_",value:function(){var t=this;return QF(this.loadFeaturesPromise_)&&(this.loadFeaturesPromise_=new Promise((function(e){t.loader_.getLoaderFn((function(t){e(t)}))(null,null,Object(u.o)(t.map.getProjection().code))}))),this.loadFeaturesPromise_}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.extract===t.extract),e}}])&&EM(e.prototype,r),n&&EM(e,n),o}(Fx);function PM(t){return(PM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function RM(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function LM(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};AM(this,o);var a=Wc(t,ec),s=LM(LM({},r),{},{label:a.label}),l=new TM(s,n);return e=i.call(this,a,r,void 0,l),HF(TM)&&Bl(Mu("exception").kmllayer_method),QF(t)&&Bl(Mu("exception").no_param),e.extract=a.extract,e.options=r,e.label=a.label,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.extract===t.extract,e=e&&this.id===t.id),e}},{key:"type",get:function(){return ec},set:function(t){HF(t)||QF(t)||t===ec||Bl("El tipo de capa debe ser '".concat(ec).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"extract",get:function(){return this.getImpl().extract},set:function(t){QF(t)?this.getImpl().extract=!0:eD(t)?this.getImpl().extract="true"===iD(t):this.getImpl().extract=t}},{key:"options",get:function(){return this.getImpl().options},set:function(t){this.getImpl().options=t}}])&&NM(e.prototype,r),n&&NM(e,n),o}(nw),UM=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function BM(t){if("string"==typeof t){var e=JSON.parse(t);return e||null}return null!==t?t:null}var zM=function(t){function e(){return t.call(this)||this}return UM(e,t),e.prototype.getType=function(){return"json"},e.prototype.readFeature=function(t,e){return this.readFeatureFromObject(BM(t),this.getReadOptions(t,e))},e.prototype.readFeatures=function(t,e){return this.readFeaturesFromObject(BM(t),this.getReadOptions(t,e))},e.prototype.readFeatureFromObject=function(t,e){return Object(si.b)()},e.prototype.readFeaturesFromObject=function(t,e){return Object(si.b)()},e.prototype.readGeometry=function(t,e){return this.readGeometryFromObject(BM(t),this.getReadOptions(t,e))},e.prototype.readGeometryFromObject=function(t,e){return Object(si.b)()},e.prototype.readProjection=function(t){return this.readProjectionFromObject(BM(t))},e.prototype.readProjectionFromObject=function(t){return Object(si.b)()},e.prototype.writeFeature=function(t,e){return JSON.stringify(this.writeFeatureObject(t,e))},e.prototype.writeFeatureObject=function(t,e){return Object(si.b)()},e.prototype.writeFeatures=function(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))},e.prototype.writeFeaturesObject=function(t,e){return Object(si.b)()},e.prototype.writeGeometry=function(t,e){return JSON.stringify(this.writeGeometryObject(t,e))},e.prototype.writeGeometryObject=function(t,e){return Object(si.b)()},e}(fI),VM=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function qM(t,e){if(!t)return null;var r;switch(t.type){case"Point":r=function(t){return new Aa(t.coordinates)}(t);break;case"LineString":r=function(t){return new Eh(t.coordinates)}(t);break;case"Polygon":r=function(t){return new Xa(t.coordinates)}(t);break;case"MultiPoint":r=function(t){return new mh(t.coordinates)}(t);break;case"MultiLineString":r=function(t){return new Oh(t.coordinates)}(t);break;case"MultiPolygon":r=function(t){return new Th(t.coordinates)}(t);break;case"GeometryCollection":r=function(t,e){var r=t.geometries.map((function(t){return qM(t,e)}));return new kh(r)}(t);break;default:throw new Error("Unsupported GeoJSON type: "+t.type)}return pI(r,!1,e)}function YM(t,e){var r,n=(t=pI(t,!0,e)).getType();switch(n){case"Point":r=function(t,e){return{type:"Point",coordinates:t.getCoordinates()}}(t);break;case"LineString":r=function(t,e){return{type:"LineString",coordinates:t.getCoordinates()}}(t);break;case"Polygon":r=function(t,e){var r;e&&(r=e.rightHanded);return{type:"Polygon",coordinates:t.getCoordinates(r)}}(t,e);break;case"MultiPoint":r=function(t,e){return{type:"MultiPoint",coordinates:t.getCoordinates()}}(t);break;case"MultiLineString":r=function(t,e){return{type:"MultiLineString",coordinates:t.getCoordinates()}}(t);break;case"MultiPolygon":r=function(t,e){var r;e&&(r=e.rightHanded);return{type:"MultiPolygon",coordinates:t.getCoordinates(r)}}(t,e);break;case"GeometryCollection":r=function(t,e){return{type:"GeometryCollection",geometries:t.getGeometriesArray().map((function(t){var r=Object(Mi.a)({},e);return delete r.featureProjection,YM(t,r)}))}}(t,e);break;case"Circle":r={type:"GeometryCollection",geometries:[]};break;default:throw new Error("Unsupported geometry type: "+n)}return r}var WM=function(t){function e(e){var r=this,n=e||{};return(r=t.call(this)||this).dataProjection=Object(u.o)(n.dataProjection?n.dataProjection:"EPSG:4326"),n.featureProjection&&(r.defaultFeatureProjection=Object(u.o)(n.featureProjection)),r.geometryName_=n.geometryName,r.extractGeometryName_=n.extractGeometryName,r.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"],r}return VM(e,t),e.prototype.readFeatureFromObject=function(t,e){var r=null,n=qM((r="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null}).geometry,e),i=new gh;return this.geometryName_?i.setGeometryName(this.geometryName_):this.extractGeometryName_&&"geometry_name"in r!==void 0&&i.setGeometryName(r.geometry_name),i.setGeometry(n),"id"in r&&i.setId(r.id),r.properties&&i.setProperties(r.properties,!0),i},e.prototype.readFeaturesFromObject=function(t,e){var r=null;if("FeatureCollection"===t.type){r=[];for(var n=t.features,i=0,o=n.length;i0&&void 0!==arguments[0]?arguments[0]:{};return HM(this,o),i.call(this,t)}return e=o,n=[{key:"readProjectionFromObject",value:function(t){var e,r=t.crs;if(r)if("name"===r.type)e=Object(u.o)(r.properties.name);else{if("EPSG"!==r.type)throw e=null,new Error("Unknown crs.type: ".concat(r.type));e=Object(u.o)("EPSG:".concat(r.properties.code))}else e="EPSG:4326";return e}},{key:"applyIcon",value:function(t,e){var r,n=document.createElement("IMG");n.src=e.url,n.width=e.width,n.height=e.height,n.crossOrigin="anonymous",e.anchor&&e.anchor.x&&e.anchor.y&&(r=[e.anchor.x,e.anchor.y]),t.setStyle(new om({image:new oy({img:n,imgSize:[e.width,e.height],anchor:r})}))}}],(r=[{key:"readFeatureFromObject",value:function(t,e){var r=t,n=KM(tA(o.prototype),"readFeatureFromObject",this).call(this,r,e);return this.geometryName_&&n.setGeometryName(this.geometryName_),QF(r.id)?n.setId(sD("geojson_")):n.setId(r.id),r.properties&&n.setProperties(r.properties),r.click&&(n.click=r.click),r.properties&&r.properties.vendor&&r.properties.vendor.mapea&&r.properties.vendor.mapea.icon&&o.applyIcon(n,r.properties.vendor.mapea.icon),n}},{key:"writeFeatureObject",value:function(t,e){var r=e,n={type:"Feature"},i=t.getId();i&&(n.id=i);var a=t.getGeometry();n.geometry=a?KM(tA(o.prototype),"writeGeometryObject",this).call(this,a,r):null;var s=t.getProperties();return delete s[t.getGeometryName()],QF(s)?n.properties=null:n.properties=s,QF(t.click)||(n.click=t.click),n}},{key:"write",value:function(t){var e=this;return t.map((function(t){return e.writeFeatureObject(t.getImpl().getOLFeature())}))}},{key:"read",value:function(t,e,r){var n=r.code;QF(n)&&(n=QF(r.featureProjection)?Object(u.o)(r.getCode()):Object(u.o)(r.featureProjection.getCode()));var i=o.readProjectionFromObject(t);return e.map((function(t){var e=t.id,r=new JD(e,t),o=r.getImpl().getOLFeature(),a=o.getGeometry().transform(i,n);return o.setGeometry(a),r}))}}])&&ZM(e.prototype,r),n&&ZM(e,n),o}(WM);function rA(t){return(rA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function iA(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};nA(this,o);var r=new eA(e);return t=i.call(this,r),HF(eA)&&Bl(Mu("exception").geojson_method),t}return e=o,(r=[{key:"write",value:function(t){var e=t;return JF(e)||(e=[e]),this.getImpl().write(e)}},{key:"read",value:function(t,e){var r=t,n=[];if(!QF(r)){eD(r)&&(r=JSON.parse(r));var i=[];"FeatureCollection"===r.type?i=r.features:"Feature"===r.type&&(i=[r]),n=this.getImpl().read(r,i,e)}return n}}])&&iA(e.prototype,r),n&&iA(e,n),o}(Zl);function cA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function hA(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};cA(this,t),this.rootPrefix=null,this.namespaces={ol:"http://openlayers.org/context",wmc:"http://www.opengis.net/context",sld:"http://www.opengis.net/sld",xlink:"http://www.w3.org/1999/xlink",xsi:"http://www.w3.org/2001/XMLSchema-instance",xsd:"http://www.w3.org/2001/XMLSchema",ogc:"http://www.opengis.net/ogc",wmcext:"http://wmcext.org/context"},this.options=e}var e,r,n;return e=t,n=[{key:"getChildValue",value:function(t,e){var r=e||"";if(t)for(var n=t.firstChild;n;n=n.nextSibling)switch(n.nodeType){case 3:case 4:r+=n.nodeValue}return r}}],(r=[{key:"read",value:function(t){var e=t;eD(t)&&(e=m(t)),9!==e.nodeType&&Bl(Mu("exception").must_be_document);var r={};return this.readRoot(r,e),r}},{key:"readRoot",value:function(t,e){var r=t,n=e.documentElement;this.rootPrefix=n.prefix,r.version=n.getAttribute("version"),this.runChildNodes(r,n)}},{key:"runChildNodes",value:function(t,e){for(var r,n,i,o,a=e.childNodes,s=0,l=a.length;s0&&void 0!==arguments[0]?arguments[0]:{};return CA(this,r),e.call(this,t)}return r}(OA);function AA(t){return(AA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function NA(t,e){for(var r=0;r=0?zx(Mu("dialog").only_one_filter):Bl(Mu("exception").no_getfeature_response)}))}))}},{key:"getRequestUrl_",value:function(t,e){return this.service_.getFeatureUrl(null,e)}}])&&NA(e.prototype,r),n&&NA(e,n),o}(Cl);function UA(t){return(UA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function BA(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function zA(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return BA(this,o),(t=i.call(this,e,r)).describeFeatureType_=null,t.formater_=null,t.loader_=null,t.service_=null,t.loaded_=!1,QF(t.options.getFeatureOutputFormat)&&(t.options.getFeatureOutputFormat="application/json"),t}return e=o,(r=[{key:"addTo",value:function(t){var e=this;VA(XA(o.prototype),"addTo",this).call(this,t),t.getImpl().on(_u,(function(){return e.refresh()}))}},{key:"refresh",value:function(t){t&&this.facadeVector_.removeFeatures(this.facadeVector_.getFeatures(!0)),this.updateSource_(t)}},{key:"updateSource_",value:function(t){var e=this;QF(this.vendorOptions_.source)&&(this.service_=new EA({url:this.url,namespace:this.namespace,name:this.name,version:this.version,ids:this.ids,cql:this.cql,projection:this.map.getProjection(),getFeatureOutputFormat:this.options.getFeatureOutputFormat,describeFeatureTypeOutputFormat:this.options.describeFeatureTypeOutputFormat},this.options.vendor),/json/gi.test(this.options.getFeatureOutputFormat)?this.formater_=new uA({defaultDataProjection:Object(u.o)(this.map.getProjection().code)}):this.formater_=new MA(this.name,this.version,this.map.getProjection()),this.loader_=new GA(this.map,this.service_,this.formater_),this.requestFeatures_().then((function(r){var n=e.facadeVector_.getStyle()instanceof Xb,i=null;if(QF(e.ol3Layer)||(i=e.ol3Layer.getSource()),!0===t||QF(i)){var o=new qg({loader:function(){e.loaded_=!0,e.facadeVector_.addFeatures(r),e.fire(yu,[r]),e.facadeVector_.redraw()}});if(n){var a=e.facadeVector_.getStyle().getOptions().distance,s=new Wg({distance:a,source:o});e.ol3Layer.setStyle(e.facadeVector_.getStyle().getImpl().olStyleFn),e.ol3Layer.setSource(s)}else e.ol3Layer&&e.ol3Layer.setSource(o)}else n&&(i=i.getSource()),i.set("format",e.formater_),i.set("loader",e.loader_.getLoaderFn((function(t){e.loaded_=!0,e.facadeVector_.addFeatures(t),e.fire(yu,[t]),e.facadeVector_.redraw()}))),i.set("strategy",Dg),n||i.changed()})))}},{key:"getFeaturesExtentPromise",value:function(t,e){var r=this;return new Promise((function(n){var i=r.map.getProjection().code;if(!0===r.isLoaded()){var o=r.getFeatures(t,e),a=Wh.getFeaturesExtent(o,i);n(a)}else r.requestFeatures_().then((function(t){var e=Wh.getFeaturesExtent(t,i);n(e)}))}))}},{key:"setCQL",value:function(t){this.cql=t,this.refresh(!0)}},{key:"getDescribeFeatureType",value:function(){var t=this;return QF(this.describeFeatureType_)&&(this.describeFeatureType_=this.service_.getDescribeFeatureType().then((function(e){return QF(e)||(t.formater_=new eA({geometryName:e.geometryName,defaultDataProjection:Object(u.o)(t.map.getProjection().code)})),e}))),this.describeFeatureType_}},{key:"getDefaultValue",value:function(t){return"dateTime"===t?"0000-00-00T00:00:00":"date"===t?"0000-00-00":"time"===t?"00:00:00":"duration"===t?"P0Y":"int"===t||"number"===t||"float"===t||"double"===t||"decimal"===t||"short"===t||"byte"===t||"integer"===t||"long"===t||"negativeInteger"===t||"nonNegativeInteger"===t||"nonPositiveInteger"===t||"positiveInteger"===t||"unsignedLong"===t||"unsignedInt"===t||"unsignedShort"===t||"unsignedByte"===t?0:"hexBinary"===t?null:"-"}},{key:"isLoaded",value:function(){return this.loaded_}},{key:"requestFeatures_",value:function(){var t=this;return new Promise((function(e){t.loader_.getLoaderFn((function(t){e(t)}))(null,null,Object(u.o)(t.map.getProjection().code))}))}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.namespace===t.namespace,e=e&&this.name===t.name,e=e&&this.ids===t.ids,e=e&&this.cql===t.cql,e=e&&this.version===t.version),e}}])&&zA(e.prototype,r),n&&zA(e,n),o}(Fx),ZA="POINT",KA="LINE",JA="POLYGON",QA="MPOINT",$A="MLINE",tN="MPOLYGON",eN=function(t){var e=iD(t,!0);return a[e]};function rN(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function nN(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new HA(r,n);aN(this,o);var s=Wc(t,nc);return e=i.call(this,s,r,void 0,a),HF(HA)&&Bl(Mu("exception").wfslayer_method),QF(t)&&Bl(Mu("exception").no_param),e.namespace=s.namespace,e.legend=s.legend,e.cql=s.cql,e.geometry=s.geometry,e.ids=s.ids,e.version=s.version,e.options=r,e.extract=s.extract,e}return e=o,(r=[{key:"setCQL",value:function(t){var e=this,r=t;this.getImpl().getDescribeFeatureType().then((function(t){if(!QF(r)){var n=t.geometryName;r=r.replace(/{{geometryName}}/g,n)}e.getImpl().cql!==r&&e.getImpl().setCQL(r)}))}},{key:"setStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;lN(fN(o.prototype),"setStyle",this).call(this,t,e,r)}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.namespace===t.namespace,e=e&&this.name===t.name,e=e&&this.ids===t.ids,e=e&&this.cql===t.cql,e=e&&this.version===t.version,e=e&&this.id===t.id),e}},{key:"type",get:function(){return nc},set:function(t){HF(t)||QF(t)||t===nc||Bl("El tipo de capa debe ser '".concat(nc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"namespace",get:function(){return this.getImpl().namespace},set:function(t){this.getImpl().namespace=t}},{key:"legend",get:function(){return this.getImpl().legend},set:function(t){QF(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}},{key:"cql",get:function(){return this.getImpl().cql},set:function(t){this.getImpl().cql=t}},{key:"geometry",get:function(){return this.getImpl().geometry},set:function(t){if(!QF(t)){var e=eN(t);QF(e)&&Bl("El tipo de capa WFS ".concat(t," no se reconoce. Los tipos disponibles son: POINT, LINE, POLYGON, MPOINT, MLINE, MPOLYGON")),this.getImpl().geometry=e}}},{key:"ids",get:function(){return this.getImpl().ids},set:function(t){QF(t)?this.getImpl().ids=this.ids:this.getImpl().ids=t}},{key:"version",get:function(){return this.getImpl().version},set:function(t){QF(t)?this.getImpl().version="1.0.0":this.getImpl().version=t}}])&&sN(e.prototype,r),n&&sN(e,n),o}(nw);pN.DEFAULT_PARAMS={fill:{color:"rgba(103, 175, 19, 0.2)",opacity:.4},stroke:{color:"#67af13",width:1}},pN.DEFAULT_OPTIONS_STYLE={point:nN(nN({},pN.DEFAULT_PARAMS),{},{radius:5}),line:nN({},pN.DEFAULT_PARAMS),polygon:nN({},pN.DEFAULT_PARAMS)};var dN=pN;function gN(t){return(gN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function yN(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function mN(t,e){for(var r=0;r0&&this.readwmcOnlineResource(n,i[0]),r.options.metadataURL=n.href}},{key:"readwmcextmetadata",value:function(t,e){t.options.metadataUrl=e&&e.innerHTML}},{key:"readwmcAbstract",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.abstract=n)}},{key:"readwmcLatLonBoundingBox",value:function(t,e){t.llbbox=[parseFloat(e.getAttribute("minx")),parseFloat(e.getAttribute("miny")),parseFloat(e.getAttribute("maxx")),parseFloat(e.getAttribute("maxy"))]}},{key:"readwmcLegendURL",value:function(t,e){var r=t,n={width:e.getAttribute("width"),height:e.getAttribute("height")},i=e.getElementsByTagName("OnlineResource");i.length>0&&this.readwmcOnlineResource(n,i[0]),r.legend=n}},{key:"readsldFeatureTypeStyle",value:function(t,e){t.body=d(e)}},{key:"readwmcKeywordList",value:function(t,e){var r=t;r.keywords=[],this.runChildNodes(r.keywords,e)}},{key:"readwmcKeyword",value:function(t,e){t.push(fA.getChildValue(e))}},{key:"readwmcLogoURL",value:function(t,e){t.logo={width:e.getAttribute("width"),height:e.getAttribute("height"),format:e.getAttribute("format"),href:this.getOnlineResource_href(e)}}},{key:"readwmcDescriptionURL",value:function(t,e){t.descriptionURL=this.getOnlineResource_href(e)}},{key:"readwmcContactInformation",value:function(t,e){var r=t,n={};this.runChildNodes(n,e),r.contactInformation=n}},{key:"readwmcContactPersonPrimary",value:function(t,e){var r=t,n={};this.runChildNodes(n,e),r.personPrimary=n}},{key:"readwmcContactPerson",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.person=n)}},{key:"readwmcContactOrganization",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.organization=n)}},{key:"readwmcContactPosition",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.position=n)}},{key:"readwmcContactAddress",value:function(t,e){var r=t,n={};this.runChildNodes(n,e),r.contactAddress=n}},{key:"readwmcAddressType",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.type=n)}},{key:"readwmcAddress",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.address=n)}},{key:"readwmcCity",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.city=n)}},{key:"readwmcStateOrProvince",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.stateOrProvince=n)}},{key:"readwmcPostCode",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.postcode=n)}},{key:"readwmcCountry",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.country=n)}},{key:"readwmcContactVoiceTelephone",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.phone=n)}},{key:"readwmcContactFacsimileTelephone",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.fax=n)}},{key:"readwmcContactElectronicMailAddress",value:function(t,e){var r=t,n=fA.getChildValue(e);n&&(r.email=n)}},{key:"readwmcDataURL",value:function(t,e){t.dataURL=this.getOnlineResource_href(e)}},{key:"readwmcDimensionList",value:function(t,e){var r=t;r.dimensions={},this.runChildNodes(r.dimensions,e)}},{key:"readwmcDimension",value:function(t,e){var r=t,n={name:e.getAttribute("name").toLowerCase(),units:e.getAttribute("units")||"",unitSymbol:e.getAttribute("unitSymbol")||"",userValue:e.getAttribute("userValue")||"",nearestValue:"1"===e.getAttribute("nearestValue"),multipleValues:"1"===e.getAttribute("multipleValues"),current:"1"===e.getAttribute("current"),default:e.getAttribute("default")||""},i=fA.getChildValue(e);n.values=i.split(","),r[n.name]=n}}])&&mN(e.prototype,r),n&&mN(e,n),o}(fA);function EN(t){return(EN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function SN(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0)||Object(h.d)(l,(function(r){return e.Identifier==r.TileMatrix||-1===e.Identifier.indexOf(":")&&t.Identifier+":"+e.Identifier===r.TileMatrix}))){i.push(e.Identifier);var r=28e-5*e.ScaleDenominator/p,u=e.TileWidth,c=e.TileHeight;d?o.push([e.TopLeftCorner[1],e.TopLeftCorner[0]]):o.push(e.TopLeftCorner),n.push(r),a.push(u==c?u:[u,c]),s.push([e.MatrixWidth,e.MatrixHeight])}})),new HN({extent:e,origins:o,resolutions:n,matrixIds:i,tileSizes:a,sizes:s})}var JN=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),QN=function(t){function e(e){var r=this,n=void 0===e.imageSmoothing||e.imageSmoothing;void 0!==e.interpolate&&(n=e.interpolate);var i=void 0!==e.requestEncoding?e.requestEncoding:"KVP",o=e.tileGrid,a=e.urls;return void 0===a&&void 0!==e.url&&(a=rp(e.url)),(r=t.call(this,{attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:n,projection:e.projection,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileClass:e.tileClass,tileGrid:o,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,urls:a,wrapX:void 0!==e.wrapX&&e.wrapX,transition:e.transition,zDirection:e.zDirection})||this).version_=void 0!==e.version?e.version:"1.0.0",r.format_=void 0!==e.format?e.format:"image/jpeg",r.dimensions_=void 0!==e.dimensions?e.dimensions:{},r.layer_=e.layer,r.matrixSet_=e.matrixSet,r.style_=e.style,r.requestEncoding_=i,r.setKey(r.getKeyForDimensions_()),a&&a.length>0&&(r.tileUrlFunction=tp(a.map(r.createFromWMTSTemplate.bind(r)))),r}return JN(e,t),e.prototype.setUrls=function(t){this.urls=t;var e=t.join("\n");this.setTileUrlFunction(tp(t.map(this.createFromWMTSTemplate.bind(this))),e)},e.prototype.getDimensions=function(){return this.dimensions_},e.prototype.getFormat=function(){return this.format_},e.prototype.getLayer=function(){return this.layer_},e.prototype.getMatrixSet=function(){return this.matrixSet_},e.prototype.getRequestEncoding=function(){return this.requestEncoding_},e.prototype.getStyle=function(){return this.style_},e.prototype.getVersion=function(){return this.version_},e.prototype.getKeyForDimensions_=function(){var t=0,e=[];for(var r in this.dimensions_)e[t++]=r+"-"+this.dimensions_[r];return e.join("/")},e.prototype.updateDimensions=function(t){Object(Mi.a)(this.dimensions_,t),this.setKey(this.getKeyForDimensions_())},e.prototype.createFromWMTSTemplate=function(t){var e=this.requestEncoding_,r={layer:this.layer_,style:this.style_,tilematrixset:this.matrixSet_};"KVP"==e&&Object(Mi.a)(r,{Service:"WMTS",Request:"GetTile",Version:this.version_,Format:this.format_}),t="KVP"==e?hp(t,r):t.replace(/\{(\w+?)\}/g,(function(t,e){return e.toLowerCase()in r?r[e.toLowerCase()]:t}));var n=this.tileGrid,i=this.dimensions_;return function(r,o,a){if(r){var s={TileMatrix:n.getMatrixId(r[0]),TileCol:r[1],TileRow:r[2]};Object(Mi.a)(s,i);var l=t;return l="KVP"==e?hp(l,s):l.replace(/\{(\w+?)\}/g,(function(t,e){return s[e]}))}}},e}(up);function $N(t,e){var r=t.Contents.Layer,n=Object(h.d)(r,(function(t,r,n){return t.Identifier==e.layer}));if(null===n)return null;var i,o=t.Contents.TileMatrixSet;(i=n.TileMatrixSetLink.length>1?"projection"in e?Object(h.e)(n.TileMatrixSetLink,(function(t,r,n){var i=Object(h.d)(o,(function(e){return e.Identifier==t.TileMatrixSet})).SupportedCRS,a=Object(u.o)(i),s=Object(u.o)(e.projection);return a&&s?Object(u.j)(a,s):i==e.projection})):Object(h.e)(n.TileMatrixSetLink,(function(t,r,n){return t.TileMatrixSet==e.matrixSet})):0)<0&&(i=0);var a=n.TileMatrixSetLink[i].TileMatrixSet,s=n.TileMatrixSetLink[i].TileMatrixSetLimits,l=n.Format[0];"format"in e&&(l=e.format),(i=Object(h.e)(n.Style,(function(t,r,n){return"style"in e?t.Title==e.style:t.isDefault})))<0&&(i=0);var c=n.Style[i].Identifier,f={};"Dimension"in n&&n.Dimension.forEach((function(t,e,r){var n=t.Identifier,i=t.Default;void 0===i&&(i=t.Value[0]),f[n]=i}));var p,d=t.Contents.TileMatrixSet,g=Object(h.d)(d,(function(t,e,r){return t.Identifier==a})),y=g.SupportedCRS;if(y&&(p=Object(u.o)(y)),"projection"in e){var m=Object(u.o)(e.projection);m&&(p&&!Object(u.j)(m,p)||(p=m))}var _=!1,v="ne"==p.getAxisOrientation().substr(0,2),b=g.TileMatrix[0],x={MinTileCol:0,MinTileRow:0,MaxTileCol:b.MatrixWidth-1,MaxTileRow:b.MatrixHeight-1};if(s){x=s[s.length-1];var w=Object(h.d)(g.TileMatrix,(function(t){return t.Identifier===x.TileMatrix||g.Identifier+":"+t.Identifier===x.TileMatrix}));w&&(b=w)}var E=28e-5*b.ScaleDenominator/p.getMetersPerUnit(),S=v?[b.TopLeftCorner[1],b.TopLeftCorner[0]]:b.TopLeftCorner,O=b.TileWidth*E,I=b.TileHeight*E,C=g.BoundingBox;C&&v&&(C=[C[1],C[0],C[3],C[2]]);var T=[S[0]+O*x.MinTileCol,S[1]-I*(1+x.MaxTileRow),S[0]+O*(1+x.MaxTileCol),S[1]-I*x.MinTileRow];if(void 0!==C&&!Object(mt.h)(C,T)){var P=n.WGS84BoundingBox,R=Object(u.o)("EPSG:4326").getExtent();if(T=C,P)_=P[0]===R[0]&&P[2]===R[2];else{var L=Object(u.A)(C,g.SupportedCRS,"EPSG:4326");_=L[0]-1e-10<=R[0]&&L[2]+1e-10>=R[2]}}var M=KN(g,T,s),A=[],N=e.requestEncoding;if(N=void 0!==N?N:"","OperationsMetadata"in t&&"GetTile"in t.OperationsMetadata)for(var k=t.OperationsMetadata.GetTile.DCP.HTTP.Get,j=0,F=k.length;j0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;return ek(this,o),(t=i.call(this,e,r)).facadeLayer_=null,t.capabilitiesOptionsPromise=null,t.getCapabilitiesPromise_=e.capabilities||null,t.optionsFromGetFeatureInfoUrl_={version:"1.0.0",style:"default",format:"image/jpeg"},t}return e=o,(r=[{key:"addTo",value:function(t){var e=this;if(this.map=t,this.fire(Kl),!KF(this.options)&&!KF(this.options.minScale)&&!KF(this.options.maxScale)){var r=this.map.getMapImpl().getView().getProjection().getUnits();this.options.minResolution=hD(this.options.minScale,r),this.options.maxResolution=hD(this.options.maxScale,r)}var n=this.getCapabilitiesOptions_();n instanceof Promise?n.then((function(t){return e.addLayer_(t)})):this.addLayer_(n)}},{key:"setResolutions",value:function(t){var e=this;if(QF(this.vendorOptions_.source)){var r=this.facadeLayer_.getMaxExtent(),n=Object(u.o)(this.map.getProjection().code);this.getCapabilities().then((function(i){var o=i.getMatrixSet(e.name),a=i.getMatrixIds(e.name),s=i.getFormat(e.name),l={url:e.url,layer:e.name,matrixSet:o,format:s,projection:n,tileGrid:new ZN({origin:Object(mt.v)(r),resolutions:t,matrixIds:a}),extent:r},u=e.options.crossOrigin;HF(u)||(l.crossOrigin=u);var c=new QN(l);e.ol3Layer.setSource(c)}))}}},{key:"setVisible",value:function(t){var e=this;if(this.visibility=t,!0===t&&!0!==this.transparent){this.map.getBaseLayers().filter((function(t){return!t.equals(e)&&t.isVisible()})).forEach((function(t){return t.setVisible(!1)})),QF(this.ol3Layer)||this.ol3Layer.setVisible(t);var r=this.map.getBbox();QF(r)||this.map.setBbox(r,{nearest:!0})}else QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"addLayer_",value:function(t){var e=this.facadeLayer_.getMaxExtent(),r=t,n=this.options.minResolution,i=this.options.maxResolution;r.format=this.options.format||t.format;var o=this.options.crossOrigin;HF(o)||(r.crossOrigin=o);var a=new QN(vD(r,{extent:e},!0));this.ol3Layer=new eh.a(vD({visible:this.options.visibility,source:a,minResolution:n,maxResolution:i},this.vendorOptions_,!0));var s=this.zIndex_;this.map.getMapImpl().addLayer(this.ol3Layer),null!==s&&this.setZIndex(s),this.setVisible(this.visibility),this.ol3Layer.set("animated",!0),this.fire(Kl,this)}},{key:"setMaxExtent",value:function(t){this.getOLLayer().setExtent(t)}},{key:"getCapabilitiesOptions_",value:function(){var t=this;return QF(this.capabilitiesOptionsPromise)&&(this.capabilitiesOptionsPromise=this.getCapabilities(),this.capabilitiesOptionsPromise instanceof Promise&&(this.capabilitiesOptionsPromise=this.capabilitiesOptionsPromise.then((function(e){var r=t.name,n=t.matrixSet;QF(n)&&(n=t.map.getProjection().code);var i=t.facadeLayer_.getMaxExtent(),o=$N(e,{layer:r,matrixSet:n,extent:i});return o.tileGrid.extent=i,o})))),this.capabilitiesOptionsPromise}},{key:"getCapabilities",value:function(){var t=this;return QF(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=new Promise((function(e,r){var n=uD(t.url),i=new kt;VF(n).then((function(r){var n=r.xml,o=i.read(n);e.call(t,o)}))}))),this.getCapabilitiesPromise_}},{key:"getMinResolution",value:function(){return this.options.minResolution}},{key:"getMaxResolution",value:function(){return this.options.maxResolution}},{key:"setFacadeObj",value:function(t){this.facadeLayer_=t}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.matrixSet===t.matrixSet),e}},{key:"setOptionsGetFeatureInfoUrl",value:function(t){var e=t.version,r=t.style,n=t.format;HF(e)||(this.optionsFromGetFeatureInfoUrl_.version=e),HF(r)||(this.optionsFromGetFeatureInfoUrl_.style=r),HF(n)||(this.optionsFromGetFeatureInfoUrl_.format=n)}},{key:"getOptionsGetFeatureInfoUrl",value:function(){return this.optionsFromGetFeatureInfoUrl_}},{key:"getGetFeatureInfoUrl",value:function(t,e,r){var n=this.getTileColTileRow(t,e),i=this.getRelativeTileCoordInPixel_(t,e),o=this.optionsFromGetFeatureInfoUrl_.version,a=this.name,s=this.optionsFromGetFeatureInfoUrl_.style,l=this.optionsFromGetFeatureInfoUrl_.format,u=this.ol3Layer.getSource().getMatrixSet(),c=e,h=r,f=n[0],p=n[1],d=i[0],g=i[1];return aD(this.url,{service:"WMTS",request:"GetFeatureInfo",version:o,layer:a,style:s,format:l,tilematrixset:u,tilematrix:c,tilerow:p,tilecol:f,J:g,I:d,infoFormat:h})}},{key:"getTileColTileRow",value:function(t,e){var r=null;if(!QF(this.ol3Layer)){var n=this.ol3Layer.getSource();QF(n)||(r=n.tileGrid.getTileCoordForCoordAndZ(t,e))}return r.slice(1)}},{key:"getRelativeTileCoordInPixel_",value:function(t,e){var r;if(!QF(this.ol3Layer)){var n=this.ol3Layer.getSource();if(!QF(n)){var i=n.tileGrid,o=i.getTileCoordForCoordAndZ(t,e),a=i.getTileCoordExtent(o,[]),s=i.getResolution(o[0]);r=[Math.floor((t[0]-a[0])/s),Math.floor((a[3]-t[1])/s)]}}return r}},{key:"cloneOLLayer",value:function(){var t=null;if(null!=this.ol3Layer){var e=this.ol3Layer.getProperties();t=new eh.a(e)}return t}}])&&rk(e.prototype,r),n&&rk(e,n),o}(tf);function lk(t){return(lk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function uk(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ck(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;uk(this,o);var a=new sk(r,n),s=Wc(t,ic);return e=i.call(this,s,a),HF(sk)&&Bl(Mu("exception").wmts_method),QF(t)&&Bl(Mu("exception").no_param),e.matrixSet=s.matrixSet,e.legend=s.legend,e.transparent=s.transparent,e.options=r,e}return e=o,(r=[{key:"getCapabilities",value:function(){return QF(this.getCapabilitiesPromise_)&&(this.getCapabilitiesPromise_=this.getImpl().getCapabilities()),this.getCapabilitiesPromise_}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.matrixSet===t.matrixSet,e=e&&this.id===t.id),e}},{key:"getGetFeatureInfoUrl",value:function(t,e,r){return this.getImpl().getGetFeatureInfoUrl(t,e,r)}},{key:"setOptionsGetFeatureInfoUrl",value:function(t){this.getImpl().setOptionsGetFeatureInfoUrl(t)}},{key:"getOptionsGetFeatureInfoUrl",value:function(){return this.getImpl().getOptionsGetFeatureInfoUrl()}},{key:"getTileColTileRow",value:function(t,e){return this.getImpl().getTileColTileRow(t,e)}},{key:"type",get:function(){return ic},set:function(t){HF(t)||QF(t)||t===ic||Bl("El tipo de capa debe ser '".concat(ic).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"matrixSet",get:function(){return this.getImpl().matrixSet},set:function(t){this.getImpl().matrixSet=t}},{key:"legend",get:function(){return this.getImpl().legend},set:function(t){QF(t)?this.getImpl().legend=this.name:this.getImpl().legend=t}},{key:"options",get:function(){return this.getImpl().options},set:function(t){this.getImpl().options=t}}])&&ck(e.prototype,r),n&&ck(e,n),o}(th),yk=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),mk=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;void 0!==n.interpolate&&(i=n.interpolate);var o=void 0!==n.projection?n.projection:"EPSG:3857",a=void 0!==n.tileGrid?n.tileGrid:Object(ap.a)({extent:Object(ap.b)(o),maxResolution:n.maxResolution,maxZoom:n.maxZoom,minZoom:n.minZoom,tileSize:n.tileSize});return(r=t.call(this,{attributions:n.attributions,cacheSize:n.cacheSize,crossOrigin:n.crossOrigin,interpolate:i,opaque:n.opaque,projection:o,reprojectionErrorThreshold:n.reprojectionErrorThreshold,tileGrid:a,tileLoadFunction:n.tileLoadFunction,tilePixelRatio:n.tilePixelRatio,tileUrlFunction:n.tileUrlFunction,url:n.url,urls:n.urls,wrapX:void 0===n.wrapX||n.wrapX,transition:n.transition,attributionsCollapsible:n.attributionsCollapsible,zDirection:n.zDirection})||this).gutter_=void 0!==n.gutter?n.gutter:0,r}return yk(e,t),e.prototype.getGutter=function(){return this.gutter_},e}(up);function _k(t){return(_k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function vk(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Ck(this,o);var a=new Ok(t,r,n),s=Wc(t,ac);return e=i.call(this,s,a),HF(Ok)&&Bl(Mu("exception").mapbox_method),QF(t)&&Bl(Mu("exception").no_param),QF(s.name)&&Bl(Mu("exception").no_name),e.name=s.name,e.legend=s.legend,QF(s.legend)&&(e.legend=s.name),e.transparent=s.transparent,e.accessToken=s.accessToken,e.options=r,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.options===t.options,e=e&&this.id===t.id),e}},{key:"url",get:function(){return this.getImpl().url},set:function(t){QF(t)?this.getImpl().url=M.config.MAPBOX_URL:this.getImpl().url=t}},{key:"transparent",get:function(){return this.getImpl().transparent},set:function(t){QF(t)?this.getImpl().transparent=!1:this.getImpl().transparent=t}},{key:"accessToken",get:function(){return this.getImpl().accessToken},set:function(t){QF(t)?this.getImpl().accessToken=M.config.MAPBOX_TOKEN_VALUE:this.getImpl().accessToken=t}},{key:"type",get:function(){return ac},set:function(t){HF(t)||QF(t)||t===ac||Bl("El tipo de capa debe ser '".concat(ac).concat("' pero se ha especificado '").concat(t).concat("'"))}}])&&Tk(e.prototype,r),n&&Tk(e,n),o}(th),Nk=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),kk='© OpenStreetMap contributors.',jk=function(t){function e(e){var r,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;void 0!==n.interpolate&&(i=n.interpolate),r=void 0!==n.attributions?n.attributions:[kk];var o=void 0!==n.crossOrigin?n.crossOrigin:"anonymous",a=void 0!==n.url?n.url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png";return t.call(this,{attributions:r,attributionsCollapsible:!1,cacheSize:n.cacheSize,crossOrigin:o,interpolate:i,maxZoom:void 0!==n.maxZoom?n.maxZoom:19,opaque:void 0===n.opaque||n.opaque,reprojectionErrorThreshold:n.reprojectionErrorThreshold,tileLoadFunction:n.tileLoadFunction,transition:n.transition,url:a,wrapX:n.wrapX,zDirection:n.zDirection})||this}return Nk(e,t),e}(mk);function Fk(t){return(Fk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Dk(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Gk(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return Dk(this,o),(e=i.call(this,r,n)).resolutions_=null,e.facadeLayer_=null,e.hasAttributtion=!1,e.haveOSMorMapboxLayer=!1,!1===r.visibility&&(e.visibility=!1),e.zIndex_=Sd.Z_INDEX.OSM,e.url_=t.url,e}return e=o,(r=[{key:"setVisible",value:function(t){var e=this;if(this.visibility=t,!0===this.inRange())if(!0===t&&!0!==this.transparent){this.map.getBaseLayers().forEach((function(t){!t.equals(e)&&t.isVisible()&&t.setVisible(!1)})),QF(this.ol3Layer)||this.ol3Layer.setVisible(t);var r=this.map.getBbox();this.map.getImpl().updateResolutionsFromBaseLayer(),QF(r)||this.map.setBbox(r)}else QF(this.ol3Layer)||this.ol3Layer.setVisible(t)}},{key:"addTo",value:function(t){var e=this;this.map=t,this.fire(Kl),this.ol3Layer=new eh.a(vD({},this.vendorOptions_,!0)),this.updateSource_(),this.map.getMapImpl().addLayer(this.ol3Layer),this.map.getImpl().getMapImpl().getControls().getArray().forEach((function(t){t instanceof hs&&(e.hasAttributtion=!0)}),this),this.hasAttributtion||(this.map.getMapImpl().addControl(new hs({className:"ol-attribution ol-unselectable ol-control ol-collapsed m-attribution",collapsible:!0})),this.hasAttributtion=!1),this.map.getMapImpl().updateSize();var r=this.map.getMapImpl().getSize(),n=this.map.getProjection().units;this.resolutions_=fD(this.facadeLayer_.getMaxExtent(),r,16,n),this.isVisible()&&!this.inRange()&&this.setVisible(!1),null!==this.zIndex_&&this.setZIndex(this.zIndex_),null!==this.resolutions_&&this.setResolutions(this.resolutions_);var i=!1===this.transparent||!0===this.options.animated;this.ol3Layer.set("animated",i),this.map.on(bu,(function(){return e.updateSource_()}))}},{key:"setResolutions",value:function(t){this.resolutions_=t,this.updateSource_(t)}},{key:"updateSource_",value:function(t){if(QF(t)&&!QF(this.map)){this.map.getMapImpl().updateSize();var e=this.map.getMapImpl().getSize(),r=this.map.getProjection().units,n=M.config.ZOOM_LEVELS;this.resolutions_=fD(this.facadeLayer_.getMaxExtent(),e,n,r)}if(!QF(this.ol3Layer)&&QF(this.vendorOptions_.source)){var i=this.facadeLayer_.getMaxExtent(),o="";o=HF(this.url_)?new jk({}):new mk({url:this.url_}),this.ol3Layer.setSource(o),this.ol3Layer.setExtent(i)}}},{key:"setFacadeObj",value:function(t){this.facadeLayer_=t}},{key:"setMaxExtent",value:function(t){this.ol3Layer.setExtent(t)}},{key:"getMinResolution",value:function(){}},{key:"getMaxResolution",value:function(){}},{key:"destroy",value:function(){var t=this,e=this.map.getMapImpl();QF(this.ol3Layer)||(e.removeLayer(this.ol3Layer),this.ol3Layer=null),this.map.getLayers().forEach((function(e){(e instanceof Qk||e instanceof Ak)&&(t.haveOSMorMapboxLayer=!0)})),this.haveOSMorMapboxLayer||this.map.getImpl().getMapImpl().getControls().getArray().forEach((function(e){e instanceof hs&&t.map.getImpl().getMapImpl().removeControl(e)})),this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name),e}},{key:"cloneOLLayer",value:function(){var t=null;if(null!=this.ol3Layer){var e=this.ol3Layer.getProperties();t=new eh.a(e)}return t}}])&&Gk(e.prototype,r),n&&Gk(e,n),o}(tf);function Yk(t){return(Yk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Wk(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Xk(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Wk(this,o);var a=t;HF(qk)&&Bl(Mu("exception").osm_method),QF(a)&&(a="OSM");var s=new qk(a,r,n),l=Wc(a,oc);return QF(l.name)&&(l.name="osm"),(e=i.call(this,l,s)).name=l.name,e.legend=l.legend,QF(l.legend)&&(e.legend="OpenStreetMap"),e.transparent=l.transparent,e.options=r,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.url===t.url,e=e&&this.name===t.name,e=e&&this.options===t.options),e}},{key:"transparent",get:function(){return this.getImpl().transparent},set:function(t){QF(t)?this.getImpl().transparent=!1:this.getImpl().transparent=t}},{key:"type",get:function(){return oc},set:function(t){HF(t)||QF(t)||t===oc||Bl("El tipo de capa debe ser '".concat(oc).concat("' pero se ha especificado '").concat(t).concat("'"))}}])&&Xk(e.prototype,r),n&&Xk(e,n),o}(th),$k=r(43),tj=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),ej=function(t){function e(e,r,n,i,o,a){var s=t.call(this,e,r,a)||this;return s.extent=null,s.format_=i,s.features_=null,s.loader_,s.projection=null,s.resolution,s.tileLoadFunction_=o,s.url_=n,s.key=n,s}return tj(e,t),e.prototype.getFormat=function(){return this.format_},e.prototype.getFeatures=function(){return this.features_},e.prototype.load=function(){this.state==Wf.a.IDLE&&(this.setState(Wf.a.LOADING),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))},e.prototype.onLoad=function(t,e){this.setFeatures(t)},e.prototype.onError=function(){this.setState(Wf.a.ERROR)},e.prototype.setFeatures=function(t){this.features_=t,this.setState(Wf.a.LOADED)},e.prototype.setLoader=function(t){this.loader_=t},e}($k.a),rj=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),nj=[],ij=function(t){function e(e,r,n,i){var o=t.call(this,e,r,{transition:0})||this;return o.context_={},o.executorGroups={},o.declutterExecutorGroups={},o.loadingSourceTiles=0,o.hitDetectionImageData={},o.replayState_={},o.sourceTiles=[],o.errorTileKeys={},o.wantedResolution,o.getSourceTiles=i.bind(void 0,o),o.wrappedTileCoord=n,o}return rj(e,t),e.prototype.getContext=function(t){var e=Object(si.c)(t);return e in this.context_||(this.context_[e]=Object(Ai.a)(1,1,nj)),this.context_[e]},e.prototype.hasContext=function(t){return Object(si.c)(t)in this.context_},e.prototype.getImage=function(t){return this.hasContext(t)?this.getContext(t).canvas:null},e.prototype.getReplayState=function(t){var e=Object(si.c)(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]},e.prototype.load=function(){this.getSourceTiles()},e.prototype.release=function(){for(var e in this.context_){var r=this.context_[e];Object(Ai.d)(r),nj.push(r.canvas),delete this.context_[e]}t.prototype.release.call(this)},e}($k.a),oj=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),aj=function(t){function e(e){var r=this,n=e.projection||"EPSG:3857",i=e.extent||Object(ap.b)(n),o=e.tileGrid||Object(ap.a)({extent:i,maxResolution:e.maxResolution,maxZoom:void 0!==e.maxZoom?e.maxZoom:22,minZoom:e.minZoom,tileSize:e.tileSize||512});return(r=t.call(this,{attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,interpolate:!0,opaque:!1,projection:n,state:e.state,tileGrid:o,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:sj,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:void 0===e.zDirection?1:e.zDirection})||this).format_=e.format?e.format:null,r.sourceTileCache=new Yf.a(r.tileCache.highWaterMark),r.overlaps_=null==e.overlaps||e.overlaps,r.tileClass=e.tileClass?e.tileClass:ej,r.tileGrids_={},r}return oj(e,t),e.prototype.getFeaturesInExtent=function(t){var e=[],r=this.tileCache;if(0===r.getCount())return e;var n=Object(Jf.b)(r.peekFirstKey())[0],i=this.tileGrid;return r.forEach((function(r){if(r.tileCoord[0]===n&&r.getState()===Wf.a.LOADED)for(var o=r.getSourceTiles(),a=0,s=o.length;a0)e([]);else{var y=c.getTileCoordExtent(n.wrappedTileCoord),m=Object(mt.E)(y),_=[(h[0]-m[0])/u,(m[1]-h[1])/u],v=n.getSourceTiles().reduce((function(t,e){return t.concat(e.getFeatures())}),[]),b=n.hitDetectionImageData[o];if(!b&&!this.animatingOrInteracting_){var x=Object(ns.d)(c.getTileSize(c.getZForResolution(u,a.zDirection))),w=this.renderedRotation_;b=Nv(x,[this.getRenderTransform(c.getTileCoordCenter(n.wrappedTileCoord),u,0,Av,x[0]*Av,x[1]*Av,0)],v,i.getStyleFunction(),c.getTileCoordExtent(n.wrappedTileCoord),n.getReplayState(i).renderedResolution,w),n.hitDetectionImageData[o]=b}e(kv(_,v,b))}}.bind(this))},e.prototype.handleFontsChanged=function(){var t=this.getLayer();t.getVisible()&&void 0!==this.renderedLayerRevision_&&t.changed()},e.prototype.handleStyleImageChange_=function(t){this.renderIfReadyAndVisible()},e.prototype.renderDeclutter=function(t){var e=this.context,r=e.globalAlpha;e.globalAlpha=this.getLayer().getOpacity();for(var n=t.viewHints,i=!(n[Bo.a.ANIMATING]||n[Bo.a.INTERACTING]),o=this.renderedTiles,a=0,s=o.length;a=0;--c)u[c].execute(this.context,1,this.getTileRenderTransform(l,t),t.viewState.rotation,i,void 0,t.declutterTree)}e.globalAlpha=r},e.prototype.getTileRenderTransform=function(t,e){var r=e.pixelRatio,n=e.viewState,i=n.center,o=n.resolution,a=n.rotation,s=e.size,l=Math.round(s[0]*r),u=Math.round(s[1]*r),c=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),h=t.tileCoord,f=c.getTileCoordExtent(t.wrappedTileCoord),p=c.getTileCoordExtent(h,this.tmpExtent)[0]-f[0];return Object(li.g)(Object(li.j)(this.inversePixelTransform.slice(),1/r,1/r),this.getRenderTransform(i,o,a,r,l,u,p))},e.prototype.renderFrame=function(e,r){var n=e.viewHints,i=!(n[Bo.a.ANIMATING]||n[Bo.a.INTERACTING]);t.prototype.renderFrame.call(this,e,r),this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation;var o=this.getLayer(),a=o.getRenderMode(),s=this.context,l=s.globalAlpha;s.globalAlpha=o.getOpacity();for(var u=dj[a],c=e.viewState,h=c.rotation,f=o.getSource(),p=f.getTileGridForProjection(c.projection).getZForResolution(c.resolution,f.zDirection),d=this.renderedTiles,g=[],y=[],m=!0,_=d.length-1;_>=0;--_){var v=d[_];m=m&&!v.getReplayState(o).dirty;var b=v.executorGroups[Object(si.c)(o)].filter((function(t){return t.hasExecutors(u)}));if(0!==b.length){var x=this.getTileRenderTransform(v,e),w=v.tileCoord[0],E=!1,S=b[0].getClipCoords(x);if(S){for(var O=0,I=g.length;O>3)?r.readString():2===t?r.readFloat():3===t?r.readDouble():4===t?r.readVarint64():5===t?r.readVarint():6===t?r.readSVarint():7===t?r.readBoolean():null;e.values.push(n)}}function Sj(t,e,r){if(1==t)e.id=r.readVarint();else if(2==t)for(var n=r.readVarint()+r.pos;r.pos>3}a--,1===o||2===o?(s+=t.readSVarint(),l+=t.readSVarint(),1===o&&u>c&&(n.push(u),c=u),r.push(s,l),u+=2):7===o?u>c&&(r.push(r[c],r[c+1]),u+=2):Object(go.a)(!1,59)}u>c&&(n.push(u),c=u)},e.prototype.createFeature_=function(t,e,r){var n,i=e.type;if(0===i)return null;var o,a=e.properties;this.idProperty_?(o=a[this.idProperty_],delete a[this.idProperty_]):o=e.id,a[this.layerName_]=e.layer.name;var s=[],l=[];this.readRawGeometry_(t,e,s,l);var u=function(t,e){var r;1===t?r=1===e?"Point":"MultiPoint":2===t?r=1===e?"LineString":"MultiLineString":3===t&&(r="Polygon");return r}(i,l.length);if(this.featureClass_===Mh)(n=new this.featureClass_(u,s,l,a,o)).transform(r.dataProjection);else{var c=void 0;if("Polygon"==u){var h=Va(s,l);c=h.length>1?new Th(s,$o,h):new Xa(s,$o,l)}else c="Point"===u?new Aa(s,$o):"LineString"===u?new Eh(s,$o):"MultiPoint"===u?new mh(s,$o):"MultiLineString"===u?new Oh(s,$o,l):null;n=new(0,this.featureClass_),this.geometryName_&&n.setGeometryName(this.geometryName_);var f=pI(c,!1,r);n.setGeometry(f),void 0!==o&&n.setId(o),n.setProperties(a,!0)}return n},e.prototype.getType=function(){return"arraybuffer"},e.prototype.readFeatures=function(t,e){var r=this.layers_,n=this.adaptOptions(e),i=Object(u.o)(n.dataProjection);i.setWorldExtent(n.extent),n.dataProjection=i;var o=new bj.a(t),a=o.readFields(wj,{}),s=[];for(var l in a)if(!r||-1!=r.indexOf(l)){var c=a[l],h=c?[0,0,c.extent,c.extent]:null;i.setExtent(h);for(var f=0,p=c.length;f0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=arguments.length>3?arguments[3]:void 0;Dj(this,o);var s=a||new Aj(e,r,n);return t=i.call(this,e,r,n,s),HF(Aj)&&Bl("La implementación usada no puede crear capas Vector"),t}return e=o,(r=[{key:"getMaxExtent",value:function(){var t=this.userMaxExtent;return QF(t)&&(t=this.map_.userMaxExtent,QF(t)&&(t=this.map_.getProjection().getExtent())),t}},{key:"calculateMaxExtent",value:function(){var t=this;return new Promise((function(e){return e(t.getMaxExtent())}))}},{key:"setStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;Uj(qj(o.prototype),"setStyle",this).call(this,t,e,r)}},{key:"getProjection",value:function(){return this.getImpl().getProjection()}},{key:"getGeometryType",value:function(){var t=null,e=this.getFeatures();if(!QF(e)){var r=e[0];QF(r)||(t=r.getType())}return t}},{key:"getFeatures",value:function(){return this.getImpl().getFeatures().map((function(t){return UP.olFeature2Facade(t)}))}},{key:"clearStyle",value:function(){this.setStyle(null)}},{key:"setFilter",value:function(){}},{key:"addFeatures",value:function(){}},{key:"removeFeatures",value:function(){}},{key:"refresh",value:function(){}},{key:"redraw",value:function(){}},{key:"toGeoJSON",value:function(){}},{key:"type",get:function(){return uc},set:function(t){HF(t)||QF(t)||t===uc||Bl("El tipo de capa debe ser '".concat(uc).concat("' pero se ha especificado '").concat(t).concat("'"))}}])&&Gj(e.prototype,r),n&&Gj(e,n),o}(nw);Wj.DEFAULT_PARAMS_STYLE={fill:{color:"#fff",opacity:.6},stroke:{color:"#827ec5",width:2}},Wj.DEFAULT_OPTIONS_STYLE={point:kj(kj({},Wj.DEFAULT_PARAMS_STYLE),{},{radius:5}),line:kj({},Wj.DEFAULT_PARAMS_STYLE),polygon:kj({},Wj.DEFAULT_PARAMS_STYLE)};var Xj=Wj;function Hj(t){return(Hj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Zj(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:null,e=this.formater_.write(this.facadeVector_.getFeatures()),r=this.map.getProjection().code.split(":")[1],n={type:"FeatureCollection",features:e,crs:{properties:{code:r},type:"EPSG"}};tD(t)&&(n=t),this.source=n,this.updateSource_()}},{key:"setSource",value:function(t){this.source=t,QF(this.map)||this.updateSource_()}},{key:"requestFeatures_",value:function(){var t=this;return this.source?this.loadFeaturesPromise_=new Promise((function(e){e(t.formater_.read(t.source,t.map.getProjection()))})):QF(this.loadFeaturesPromise_)&&(this.loadFeaturesPromise_=new Promise((function(e){t.loader_.getLoaderFn((function(t){e(t)}))(null,null,Object(u.o)(t.map.getProjection().code))}))),this.loadFeaturesPromise_}},{key:"updateSource_",value:function(){var t=this;QF(this.vendorOptions_.source)&&this.requestFeatures_().then((function(e){t.ol3Layer&&t.ol3Layer.setSource(new qg({loader:function(r,n,i){t.loaded_=!0,t.facadeVector_.clear(),t.facadeVector_.addFeatures(e,!1,!1),t.redraw(),t.fire(yu,[e])}}))}))}},{key:"getFeaturesExtentPromise",value:function(t,e){var r=this;return new Promise((function(n){var i=r.map.getProjection().code;if(!0===r.isLoaded()){var o=r.getFeatures(t,e),a=Wh.getFeaturesExtent(o,i);n(a)}else r.requestFeatures_().then((function(t){var e=Wh.getFeaturesExtent(t,i);n(e)}))}))}},{key:"isLoaded",value:function(){return this.loaded_}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=e&&this.name===t.name,e=e&&this.extract===t.extract),e}}])&&rF(e.prototype,r),n&&rF(e,n),o}(Fx);function uF(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function cF(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;pF(this,o);var a=new lF(t,r,n);return e=i.call(this,t,r,void 0,a),HF(lF)&&Bl(Mu("exception").geojsonlayer_method),QF(t)&&Bl(Mu("exception").no_param),eD(t)?e.url=t:JF(t)?e.source=t:(e.url=t.url,e.name=t.name,e.source=t.source,QF(t.crs)||(QF(e.source)&&(e.source={type:"FeatureCollection",features:[]}),e.source.crs={type:"EPSG",properties:{code:t.crs}})),e.options=r,e}return e=o,(r=[{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=this.name===t.name,e=e&&this.extract===t.extract,e=e&&this.id===t.id),e}},{key:"setSource",value:function(t){this.source=t,this.getImpl().refresh(t)}},{key:"setStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.DEFAULT_OPTIONS_STYLE;gF(vF(o.prototype),"setStyle",this).call(this,t,e,r)}},{key:"type",get:function(){return sc},set:function(t){HF(t)||QF(t)||t===sc||Bl("El tipo de capa debe ser '".concat(sc).concat("' pero se ha especificado '").concat(t).concat("'"))}},{key:"source",get:function(){return this.getImpl().source},set:function(t){this.getImpl().source=t}}])&&dF(e.prototype,r),n&&dF(e,n),o}(nw);bF.DEFAULT_PARAMS={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}},bF.DEFAULT_OPTIONS_STYLE={point:cF(cF({},bF.DEFAULT_PARAMS),{},{radius:5}),line:cF({},bF.DEFAULT_PARAMS),polygon:cF({},bF.DEFAULT_PARAMS)};var xF=bF;function wF(t){return(wF="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function EF(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function SF(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};EF(this,o);var n=new LP(t);e=i.call(this);var a=new Sd(n.container,PF(e),r);if(e.setImpl(a),QF(t)&&Bl(Mu("exception").no_param),HF(Sd)&&Bl(Mu("exception").constructor_impl),e._panels=[],e._plugins=[],e._areasContainer=null,e.popup_=[],e._defaultProj=!0,e.panel={LEFT:null,RIGHT:"null"},e._userZoom=null,e.userCenter_=null,e._finishedInitCenter=!0,e._finishedMaxExtent=!0,e._finishedMapImpl=!1,e._finishedMap=!1,e.centerFeature_=null,e.drawLayer_=null,e.userMaxExtent=null,e.ticket_=null,n.container.classList.add("m-mapea-container"),QF(n.bgColorContainer)||e.setBGColorContainer(n.bgColorContainer),a.on(mu,(function(){e._finishedMapImpl=!0,e._checkCompleted()})),e.createMainPanels_(),e.featuresHandler_=new tR,e.featuresHandler_.addTo(PF(e)),e.featuresHandler_.activate(),e.drawLayer_=new nw({name:"__draw__"},{displayInLayerSwitcher:!1}),e.drawLayer_.setStyle(new bw(o.DRAWLAYER_STYLE)),e.drawLayer_.setZIndex(Sd.Z_INDEX.WFS+999),e.addLayers(e.drawLayer_),QF(n.projection)?e.setProjection(M.config.DEFAULT_PROJ,!0):e.setProjection(n.projection),QF(n.bbox)||e.setBbox(n.bbox),QF(n.resolutions)||e.setResolutions(n.resolutions),!QF(n.maxExtent)){var s=QF(n.zoom)&&QF(n.bbox);e.setMaxExtent(n.maxExtent,s)}if(QF(n.wmc)||e.addWMC(n.wmc),QF(n.layers)||e.addLayers(n.layers),QF(n.wms)||e.addWMS(n.wms),QF(n.wmts)||e.addWMTS(n.wmts),QF(n.kml)||e.addKML(n.kml),QF(n.controls)?e.addControls("panzoom"):e.addControls(n.controls),!QF(n.getfeatureinfo))if("plain"!==n.getfeatureinfo&&"html"!==n.getfeatureinfo&&"gml"!==n.getfeatureinfo)zx(Mu("dialog").getfeatureinfo_type);else{var l=new WT(n.getfeatureinfo);e.addControls(l)}if(!HF(n.layerswitcher))if("emptylayer"!==n.layerswitcher&&""!==n.layerswitcher)zx(Mu("layerswitcher").unsupported_param);else{var u=new Rw(n.layerswitcher);e.addControls(u)}return QF(n.wmc)&&QF(n.layers)&&e.addWMC(M.config.predefinedWMC.predefinedNames[0]),QF(n.center)||e.setCenter(n.center),QF(n.zoom)?QF(n.bbox)&&e.setZoom(0):e.setZoom(n.zoom),QF(n.rotation)||e.once(mu,(function(){e.setRotation(n.rotation)})),QF(n.label)||e.addLabel(n.label),QF(n.ticket)||e.setTicket(n.ticket),QF(n.bbox)&&QF(n.zoom)&&QF(n.center)&&e.zoomToMaxExtent(!0),QF(n.center)&&QF(n.bbox)&&(e._finishedInitCenter=!1,e.getInitCenter_().then((function(t){QF(e.userCenter_)&&e.setCenter(t),e._finishedInitCenter=!0,e._checkCompleted()}))),e}return e=o,n=[{key:"LAYER_SORT",value:function(t,e){return QF(t)||QF(e)?0:t.getZIndex()-e.getZIndex()}}],(r=[{key:"getLayers",value:function(t){var e=t;HF(Sd.prototype.getLayers)&&Bl(Mu("exception").getlayers_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map(Wc)),this.getImpl().getLayers(r).sort(o.LAYER_SORT)}},{key:"getRootLayers",value:function(t){return this.getLayers(t).filter((function(t){return QF(t.getLayerGroup())}))}},{key:"getBaseLayers",value:function(){return HF(Sd.prototype.getBaseLayers)&&Bl(Mu("exception").getbaselayers_method),this.getImpl().getBaseLayers().sort(o.LAYER_SORT)}},{key:"getFeatureHandler",value:function(){return this.featuresHandler_}},{key:"addLayers",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addLayers)&&Bl(Mu("exception").addlayers_method),JF(r)||(r=[r]);var n=r.map((function(t){var r;if(t instanceof th)r=t;else{var n=Wc(t);if(QF(n.type))zx(Mu("dialog").invalid_type_layer);else switch(n.type){case"WFS":r=new dN(t,{style:n.style});break;case"WMC":r=new WN(t);break;case"WMS":r=new td(t);break;case"GeoJSON":r=new xF(n,{style:n.style});break;case"OSM":r=new Qk(t);break;case"Mapbox":r=new Ak(t);break;case"KML":r=new GM(t);break;case"Vector":r=new nw(t);break;case"WMTS":r=new gk(t);break;case"MVT":r=new Xj(n);break;default:zx(Mu("dialog").invalid_type_layer)}}return r instanceof nw&&!(r instanceof dN)&&e.featuresHandler_.addLayer(r),r.setMap(e),r}));this.getImpl().addLayers(n),this.fire(Ql,[n])}return this}},{key:"removeLayers",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeLayers)&&Bl(Mu("exception").removelayers_method);var r=this.getLayers(t);r.forEach((function(t){t instanceof nw&&e.featuresHandler_.removeLayer(t)})),this.getImpl().removeLayers(r)}return this}},{key:"getLayerGroup",value:function(){return HF(Sd.prototype.getLayerGroups)&&Bl("La implementación usada no posee el método getLayerGroups"),this.getImpl().getLayerGroups().sort(o.LAYER_SORT)}},{key:"addLayerGroup",value:function(t){var e=t;return KF(e)&&Bl("No ha especificado ningun grupo"),HF(Sd.prototype.addLayerGroups)&&Bl("La implementación usada no posee el método addLayerGroups"),JF(e)||(e=[e]),this.getImpl().addLayerGroups(e),this}},{key:"removeLayerGroup",value:function(t){return KF(t)&&Bl("No ha especificado ningun grupo a eliminar"),HF(this.getImpl().removeLayerGroups)&&Bl("La implementación usada no posee el método removeGroups"),this.getImpl().removeLayerGroups(t),this}},{key:"getWMC",value:function(t){var e=t;HF(Sd.prototype.getWMC)&&Bl(Mu("exception").getwmc_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,tc)}))),this.getImpl().getWMC(r).sort(o.LAYER_SORT)}},{key:"addWMC",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWMC)&&Bl(Mu("exception").addwmc_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){if(tD(t)&&t instanceof WN)t.setMap(e),n.push(t);else if(!(t instanceof th))try{var r=new WN(t,t.options);r.setMap(e),n.push(r)}catch(t){throw zx(t.toString()),t}})),this.getImpl().addWMC(n),this.fire(Ql,[n]),this.fire($l,[n]);var i=this.getWMC();null==i.filter((function(t){return!0===t.selected}))[0]&&i[0].select(),i.length>1&&(this.removeControls("wmcselector"),this.addControls(new Jd))}return this}},{key:"refreshWMCSelectorControl",value:function(){this.removeControls("wmcselector"),1===this.getWMC().length?this.getWMC()[0].select():this.getWMC().length>1&&(this.addControls(new Jd),null==this.getWMC().filter((function(t){return!0===t.selected}))[0]&&this.getWMC()[0].select())}},{key:"removeWMC",value:function(t){if(!QF(t)){HF(Sd.prototype.removeWMC)&&Bl(Mu("exception").removewmc_method);var e=this.getWMC(t);e.length>0&&this.getImpl().removeWMC(e)}return this}},{key:"getKML",value:function(t){var e=t;HF(Sd.prototype.getKML)&&Bl(Mu("exception").getkml_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,ec)}))),this.getImpl().getKML(r).sort(o.LAYER_SORT)}},{key:"addKML",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addKML)&&Bl(Mu("exception").addkml_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r;tD(t)&&t instanceof GM?r=t:t instanceof th||(r=new GM(t,t.options)),!0===r.extract&&e.featuresHandler_.addLayer(r),n.push(r)})),this.getImpl().addKML(n),this.fire(Ql,[n]),this.fire(tu,[n])}return this}},{key:"removeKML",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeKML)&&Bl(Mu("exception").removekml_method);var r=this.getKML(t);r.length>0&&(r.forEach((function(t){e.featuresHandler_.removeLayer(t)})),this.getImpl().removeKML(r))}return this}},{key:"getWMS",value:function(t){var e=t;HF(Sd.prototype.getWMS)&&Bl(Mu("exception").getwms_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,rc)}))),this.getImpl().getWMS(r).sort(o.LAYER_SORT)}},{key:"addWMS",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWMS)&&Bl(Mu("exception").addwms_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r=t;t instanceof td||(r=new td(t,t.options)),r.setMap(e),n.push(r)})),this.getImpl().addWMS(n),this.fire(Ql,[n]),this.fire(eu,[n])}return this}},{key:"removeWMS",value:function(t){if(!QF(t)){HF(Sd.prototype.removeWMS)&&Bl(Mu("exception").removewms_method);var e=this.getWMS(t);e.length>0&&this.getImpl().removeWMS(e)}return this}},{key:"getWFS",value:function(t){var e=t;HF(Sd.prototype.getWFS)&&Bl(Mu("exception").getwfs_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,nc)}))),this.getImpl().getWFS(r).sort(o.LAYER_SORT)}},{key:"getGeoJSON",value:function(t){var e=t;return HF(Sd.prototype.getGeoJSON)&&Bl(Mu("exception").getgeojson_method),KF(e)?e=[]:JF(e)||(e=[e]),this.getImpl().getGeoJSON(e).sort(o.LAYER_SORT)}},{key:"addWFS",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWFS)&&Bl(Mu("exception").addwfs_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r;if(tD(t)&&t instanceof dN)r=t;else if(!(t instanceof th))try{r=new dN(t,t.options)}catch(t){throw zx(t.toString()),t}e.featuresHandler_.addLayer(r),n.push(r)})),this.getImpl().addWFS(n),this.fire(Ql,[n]),this.fire(ru,[n])}return this}},{key:"removeWFS",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeWFS)&&Bl(Mu("exception").removewfs_method);var r=this.getWFS(t);r.length>0&&(r.forEach((function(t){e.featuresHandler_.removeLayer(t)})),this.getImpl().removeWFS(r))}return this}},{key:"getWMTS",value:function(t){var e=t;HF(Sd.prototype.getWMTS)&&Bl(Mu("exception").getwmts_method),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,ic)}))),this.getImpl().getWMTS(r).sort(o.LAYER_SORT)}},{key:"addWMTS",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addWMTS)&&Bl(Mu("exception").addwmts_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){if(tD(t)&&t instanceof gk)t.setMap(e),n.push(t);else if(!(t instanceof th)){var r=new gk(t,t.options);r.setMap(e),n.push(r)}})),this.getImpl().addWMTS(n),this.fire(Ql,[n]),this.fire(au,[n])}return this}},{key:"removeWMTS",value:function(t){if(!QF(t)){HF(Sd.prototype.removeWMTS)&&Bl(Mu("exception").removewmts_method);var e=this.getWMTS(t);e.length>0&&this.getImpl().removeWMTS(e)}return this}},{key:"getMVT",value:function(t){var e=t;HF(Sd.prototype.getMVT)&&Bl("La implementación usada no posee el método getWFS"),KF(e)?e=[]:JF(e)||(e=[e]);var r=[];return e.length>0&&(r=e.map((function(t){return Wc(t,uc)}))),this.getImpl().getMVT(r).sort(o.LAYER_SORT)}},{key:"removeMVT",value:function(t){var e=this;if(!QF(t)){HF(Sd.prototype.removeMVT)&&Bl("La implementación usada no posee el método removeWFS");var r=this.getMVT(t);r.length>0&&(r.forEach((function(t){e.featuresHandler_.removeLayer(t)})),this.getImpl().removeMVT(r))}return this}},{key:"addMVT",value:function(t){var e=t;if(!QF(e)){HF(Sd.prototype.addMVT)&&Bl("La implementación usada no posee el método addWFS"),JF(e)||(e=[e]);var r=[];e.forEach((function(t){var e;if(tD(t)&&t instanceof Xj)e=t;else if(!(t instanceof th))try{e=new Xj(t,t.options)}catch(t){throw zx(t.toString()),t}r.push(e)})),this.getImpl().addMVT(r),this.fire(Ql,[r]),this.fire(nu,[r])}return this}},{key:"getControls",value:function(t){var e=t;return HF(Sd.prototype.getControls)&&Bl(Mu("exception").getcontrols_method),KF(e)?e=[]:JF(e)||(e=[e]),this.getImpl().getControls(e)}},{key:"addControls",value:function(t){var e=this,r=t;if(!QF(r)){HF(Sd.prototype.addControls)&&Bl(Mu("exception").addcontrols_method),JF(r)||(r=[r]);var n=[];r.forEach((function(t){var r=function(t){var e=null;if(eD(t)){var r,n=iD(t),i=(uP(r={},WT.NAME,new WT("html")),uP(r,Rw.NAME,new Rw),uP(r,uE.NAME,new uE),uP(r,cO.NAME,new cO),uP(r,XO.NAME,new XO),uP(r,kO.NAME,new kO({toggleDelay:400})),uP(r,hI.NAME,new hI),uP(r,$u.NAME,new $u),uP(r,tS.NAME,new tS),uP(r,RE.NAME,new RE),uP(r,"".concat(RE.Name,"*true"),new RE({exactScale:!0})),uP(r,kS.NAME,new kS),uP(r,Jd.NAME,new Jd),r);if(!(n in i)){var o=mD([M.config.MAPEA_URL,"/api/actions/controls"]);zx("El control ".concat(n," no está definido. Consulte los controles disponibles aquí'))}e=i[n]}else t instanceof Gu?e=t:Bl("El control añadido no es válido.");return e}(t),i=yP(r,e);e.hasControl(r)||(QF(i)?r.addTo(e):(i.addControls(r),e.addPanels(i)),n.push(r))})),this.getImpl().addControls(n)}}},{key:"hasControl",value:function(t){var e=t;t instanceof Gu&&(e=t.name);var r=this.getControls().find((function(t){return t.name===e})),n=!QF(r);return n}},{key:"removeControls",value:function(t){QF(t)&&Bl(Mu("exception").remove_control),HF(Sd.prototype.removeControls)&&Bl(Mu("exception").removecontrol_method);var e=this.getControls(t);return(e=[].concat(e)).length>0&&(e.forEach((function(t){QF(t.getPanel())||t.getPanel().removeControls(t)})),this.getImpl().removeControls(e)),this}},{key:"getMaxExtent",value:function(){var t=this.userMaxExtent;if(QF(t)){var e=this.getWMC().find((function(t){return t.selected}));t=QF(e)?UD(this.getLayers().filter((function(t){return"__draw__"!==t.name})).map((function(t){return t.getMaxExtent()}))):e.getMaxExtent(),QF(t)&&(t=this.getProjection().getExtent())}return t}},{key:"calculateMaxExtent",value:function(){var t=this;return new Promise((function(e){var r=t.userMaxExtent;if(QF(r)){var n=t.getWMC().find((function(t){return t.selected}));if(QF(n)){var i=t.getLayers().filter((function(t){return"__draw__"!==t.name&&t.isVisible()})).map((function(t){return t.calculateMaxExtent()}));Promise.all(i).then((function(n){r=UD(n),QF(r)&&(r=t.getProjection().getExtent()),QF(t.userMaxExtent)||(r=t.userMaxExtent),e(r)}))}else n.calculateMaxExtent().then(e)}else e(r)}))}},{key:"setMaxExtent",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];QF(t)&&this.resetMaxExtent(),HF(Sd.prototype.setMaxExtent)&&Bl(Mu("exception").setmaxextent_method);try{var r=Dc(t);!JF(r)&&tD(r)&&(r=[r.x.min,r.y.min,r.x.max,r.y.max]),this.userMaxExtent=r,this.getImpl().setMaxExtent(r,e)}catch(t){throw zx(t.toString()),t}return this}},{key:"resetMaxExtent",value:function(){var t=this;return this.userMaxExtent=null,this.calculateMaxExtent().then((function(e){var r=Dc(e);t.getImpl().setMaxExtent(r,!0)})),this}},{key:"getBbox",value:function(){return HF(Sd.prototype.getBbox)&&Bl(Mu("exception").getbbox_method),this.getImpl().getBbox()}},{key:"setBbox",value:function(t,e){QF(t)&&Bl(Mu("exception").no_bbox),HF(Sd.prototype.setBbox)&&Bl(Mu("exception").setbbox_method);try{var r=Dc(t);this.getImpl().setBbox(r,e)}catch(t){throw zx(Mu("exception").incorrect_format_bbox),t}return this}},{key:"getZoom",value:function(){return HF(Sd.prototype.getZoom)&&Bl(Mu("exception").getzoom_method),this.getImpl().getZoom()}},{key:"setZoom",value:function(t){QF(t)&&Bl(Mu("exception").no_zoom),HF(Sd.prototype.setZoom)&&Bl(Mu("exception").setzoom_method);try{var e=Bc(t);this._userZoom=e,this.getImpl().setZoom(e)}catch(t){throw zx(t.toString()),t}return this}},{key:"getCenter",value:function(){return HF(Sd.prototype.getCenter)&&Bl(Mu("exception").getcenter_method),this.getImpl().getCenter()}},{key:"setCenter",value:function(t){var e=this;QF(t)&&Bl(Mu("exception").no_center),HF(Sd.prototype.setCenter)&&Bl(Mu("exception").setcenter_method);var r=Fc(t);return this.getImpl().setCenter(r),this.userCenter_=r,!0===r.draw&&(this.drawLayer_.clear(),this.centerFeature_=new JD("__mapeacenter__",{type:"Feature",geometry:{type:"Point",coordinates:[r.x,r.y]},properties:{vendor:{mapea:{click:function(t){var r=e.getLabel();QF(r)||r.show(e)}}}}}),this.drawFeatures([this.centerFeature_])),this}},{key:"getFeatureCenter",value:function(){return this.centerFeature_}},{key:"removeCenter",value:function(){this.removeFeatures(this.centerFeature_),this.centerFeature_=null,this.zoomToMaxExtent()}},{key:"getResolutions",value:function(){return HF(Sd.prototype.getResolutions)&&Bl(Mu("exception").getresolutions_method),this.getImpl().getResolutions()}},{key:"setResolutions",value:function(t){QF(t)&&Bl(Mu("exception").no_resolutions),HF(Sd.prototype.setResolutions)&&Bl(Mu("exception").setresolutions_method);var e=Uc(t);return this.getImpl().setResolutions(e),this}},{key:"getScale",value:function(){return HF(Sd.prototype.getScale)&&Bl(Mu("exception").getscale_method),this.getImpl().getScale()}},{key:"getExactScale",value:function(){return HF(Sd.prototype.getExactScale)&&Bl("La implementación usada no posee el método getScale"),this.getImpl().getExactScale()}},{key:"getProjection",value:function(){return HF(Sd.prototype.getProjection)&&Bl(Mu("exception").getprojection_method),this.getImpl().getProjection()}},{key:"setProjection",value:function(t,e){var r=t;QF(r)&&Bl(Mu("exception").no_projection),HF(Sd.prototype.setProjection)&&Bl(Mu("exception").setprojection_method);try{var n=this.getProjection();r=Gc(r),n.code!==r.code&&(this.getImpl().setProjection(r),this._defaultProj=this._defaultProj&&!0===e,this.fire(bu,[n,r]))}catch(t){zx(t.toString()),String(t).indexOf("El formato del parámetro projection no es correcto")>=0&&this.setProjection(M.config.DEFAULT_PROJ,!0)}return this}},{key:"getPlugins",value:function(t){var e=this,r=t;KF(r)?r=[]:JF(r)||(r=[r]);var n=[];return 0===r.length?n=this._plugins:r.forEach((function(t){n=n.concat(e._plugins.filter((function(e){return t===e.name})))})),n}},{key:"addPlugin",value:function(t){return QF(t)&&Bl(Mu("exception").no_plugins),HF(t.addTo)&&Bl(Mu("exception").no_add_plugin_to_map),this._plugins.push(t),t.addTo(this),this}},{key:"addPlugins",value:function(t){var e=this;QF(t)&&Bl(Mu("exception").no_plugins);var r=t;return JF(t)||(r=[t]),r.forEach((function(t){e.addPlugin(t)})),this}},{key:"removePlugins",value:function(t){var e=this,r=t;return QF(r)&&Bl(Mu("exception").no_plugin_to_remove),JF(r)||(r=[r]),(r=[].concat(r)).length>0&&r.forEach((function(t){t.destroy(),e._plugins=e._plugins.filter((function(e){return t.name!==e.name}))})),this}},{key:"getEnvolvedExtent",value:function(){var t=this;return new Promise((function(e){var r=t.getWMC().find((function(t){return t.selected}));if(QF(r)){var n=t.getBaseLayers().find((function(t){return t.isVisible()}));if(QF(n)){var i=t.getLayers().filter((function(t){return"__draw__"!==t.name}));Promise.all(i.map((function(t){return t.calculateMaxExtent()}))).then((function(r){var n=QF(r)?[t.getProjection().getExtent()]:r,i=UD(n);e(i)}))}else n.getMaxExtent(e)}else r.getMaxExtent(e)}))}},{key:"zoomToMaxExtent",value:function(t){var e=this;return this.calculateMaxExtent().then((function(r){(!0!==t||QF(e._userZoom))&&e.setBbox(r),e._finishedMaxExtent=!0,e._checkCompleted()})),this}},{key:"setTicket",value:function(t){return this.ticket_=t,M.config.ticket=t,this}},{key:"getTicket",value:function(){return this.ticket_}},{key:"getInitCenter_",value:function(){var t=this;return new Promise((function(e,r){t.calculateMaxExtent().then((function(t){var r;r=JF(t)?{x:(t[0]+t[2])/2,y:(t[1]+t[3])/2}:{x:(t.x.max+t.x.min)/2,y:(t.y.max+t.y.min)/2},e(r)}))}))}},{key:"destroy",value:function(){return HF(Sd.prototype.destroy)&&Bl(Mu("exception").destroy_method),this.getImpl().destroy(),this}},{key:"addLabel",value:function(t,e){var r=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];QF(t)&&Bl(Mu("exception").no_projection),HF(Sd.prototype.addLabel)&&Bl(Mu("exception").addlabel_method);var i=null,o=null,a=t,s=e;return JF(t)||(a=[t]),HF(e)||JF(e[0])?HF(e)&&(s=[]):s=[e],a.forEach((function(e,a){var l=void 0===e.panMapIfOutOfView||t.panMapIfOutOfView;if(tD(e)?(i=bD(e.text),o=e.coord):(i=bD(e),o=s[a]),o=QF(o)?r.getCenter():Fc(o),QF(o))r.getInitCenter_().then((function(t){var e=new TP(i,t,l);r.getImpl().addLabel(e,n)}));else{var u=new TP(i,o,l);r.getImpl().addLabel(u,n)}})),this}},{key:"getLabel",value:function(){return this.getImpl().getLabel()}},{key:"getLabels",value:function(){return this.getImpl().getLabels()}},{key:"removeLabel",value:function(t){return this.getImpl().removeLabel(t)}},{key:"drawPoints",value:function(t){var e=t;QF(e)&&Bl(Mu("exception").no_point),JF(e)||(e=[e]);var r=e.map((function(t){var e={type:"Feature",geometry:{type:"Point",coordinates:[t.x,t.y]},properties:{}};return $F(t.click)&&(e.properties.vendor={mapea:{click:t.click}}),new JD(null,e)}));this.drawLayer_.addFeatures(r)}},{key:"drawFeatures",value:function(t){return this.drawLayer_.addFeatures(t),this}},{key:"removeFeatures",value:function(t){return this.drawLayer_.removeFeatures(t),this}},{key:"addPanels",value:function(t){var e=this,r=t;return QF(r)||(JF(r)||(r=[r]),r.forEach((function(t){var r=e._panels.some((function(e){return e.equals(t)}));if(t instanceof aP&&!r){e._panels.push(t);var n="div.m-area".concat(t.position),i=e._areasContainer.querySelector(n);t.addTo(e,i)}}))),this}},{key:"removePanel",value:function(t){return t.getControls().length>0&&Bl(Mu("exception").remove_control_from_panel),t instanceof aP&&(t.destroy(),this._panels=this._panels.filter((function(e){return!e.equals(t)}))),this}},{key:"getPanels",value:function(t){var e=this,r=t,n=[];return QF(r)?n=this._panels:(JF(r)||(r=[r]),r.forEach((function(t){e._panels.filter((function(e){return e.name===t})).forEach((function(t){QF(t)||n.push(t)}))}))),n}},{key:"createMainPanels_",value:function(){this._areasContainer=document.createElement("div"),this._areasContainer.classList.add("m-areas");var t=document.createElement("div");t.classList.add("m-area"),t.classList.add("m-top"),t.classList.add("m-left");var e=document.createElement("div");e.classList.add("m-area"),e.classList.add("m-top"),e.classList.add("m-right");var r=document.createElement("div");r.classList.add("m-area"),r.classList.add("m-bottom"),r.classList.add("m-left");var n=document.createElement("div");n.classList.add("m-area"),n.classList.add("m-bottom"),n.classList.add("m-right"),this._areasContainer.appendChild(t),this._areasContainer.appendChild(e),this._areasContainer.appendChild(r),this._areasContainer.appendChild(n),this.getContainer().appendChild(this._areasContainer)}},{key:"getContainer",value:function(){return HF(Sd.prototype.getContainer)&&Bl(Mu("exception").getcontainer_method),this.getImpl().getContainer()}},{key:"getMapImpl",value:function(){return HF(Sd.prototype.getMapImpl)&&Bl(Mu("exception").getmapimpl_method),this.getImpl().getMapImpl()}},{key:"getPopup",value:function(){return 0===this.popup_.length?null:this.popup_[0]}},{key:"getPopups",value:function(){var t=null;return 0===this.popup_.length?t=null:this.popup_.length>=1&&(t=this.popup_),t}},{key:"removePopup",value:function(t){var e=this;return HF(Sd.prototype.removePopup)&&Bl(Mu("exception").removepopup_method),QF(t)?(this.popup_.forEach((function(t){e.getImpl().removePopup(t),t.destroy()})),this.popup_=[]):JF(t)?t.forEach((function(t,r){var n=e.popup_.findIndex((function(e){return e.getId()===t.getId()}));e.getImpl().removePopup(e.popup_[n]),e.popup_[n].destroy(),e.popup_.splice(n,1)})):(this.getImpl().removePopup(t),t.destroy(),this.popup_.forEach((function(r,n){r.getId()===t.getId()&&e.popup_.splice(n,1)}))),this}},{key:"addPopup",value:function(t,e){var r=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];QF(t)&&Bl(Mu("exception").no_popup);var i=t,o=e;return JF(t)||(i=[t]),JF(e[0])||(o=[e]),i.forEach((function(t,e){n&&(r.removePopup(r.popup_),r.popup_=[]),r.popup_.push(t),t.addTo(r,o[e])})),this}},{key:"addUpClass_",value:function(t){var e=this;t.on(Kl,(function(t){3===e.getControls(["wmcselector","scale","scaleline"]).length&&e.getControls(["scaleline"])[0].getElement().classList.add("ol-scale-line-up")}))}},{key:"_checkCompleted",value:function(){this._finishedInitCenter&&this._finishedMaxExtent&&this._finishedMapImpl&&(this._finishedMap=!0,this.fire(mu))}},{key:"on",value:function(t,e,r){var n=OF(RF(o.prototype),"on",this).call(this,t,e,r);return t===mu&&!0===this._finishedMap&&this.fire(mu),n}},{key:"refresh",value:function(){return!HF(this.getImpl().refresh)&&$F(this.getImpl().refresh)&&this.getImpl().refresh(),this.getLayers().forEach((function(t){return t.refresh()})),this}},{key:"isFinished",value:function(){return this._finishedMap}},{key:"getRotation",value:function(){return HF(Sd.prototype.getRotation)&&Bl(Mu("exception").no_get_rotation_method),this.getImpl().getRotation()*(180/Math.PI)}},{key:"setRotation",value:function(t){HF(Sd.prototype.setRotation)&&Bl(Mu("exception").no_set_rotation_method),this.getImpl().setRotation(t*(Math.PI/180)),this.fire(Eu,[t])}},{key:"setBGColorContainer",value:function(t){QF(t)||(document.querySelector(".m-mapea-container").style.backgroundColor=t,document.querySelector(".m-mapea-container").style.backgroundImage="unset")}},{key:"enableMouseWheel",value:function(t){this.getImpl().enableMouseWheel(t)}},{key:"enableDrag",value:function(t){this.getImpl().enableDrag(t)}},{key:"setZoomLevels",value:function(t){var e=this;HF(t)||QF(t)||this.calculateMaxExtent().then((function(r){var n=e.getZoom(),i=e.getMapImpl().getSize(),o=e.getProjection().units,a=fD(r,i,t,o);e.setResolutions(a,!0),M.config.ZOOM_LEVELS=t,nt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&(r=!e.some((function(e){return!t(e)})))):"string"==typeof e&&0===e.trim().length&&(r=!0),r},$F=function(t){var e=!1;return KF(t)||(e="function"==typeof t&&!HF(t.call)),e},tD=function(t){var e=!1;return KF(t)||(e="object"===XF(t)&&!HF(t.toString)),e},eD=function(t){var e=!1;return KF(t)||(e="string"==typeof t),e},rD=function(t){var e=!1;return!KF(t)&&eD(t)&&(e=/(https?:\/\/[^*]+)/.test(t)),e},nD=function(t){return"number"==typeof t},iD=function(t,e){var r=t;return!QF(r)&&eD(r)&&(r=r.trim(),r=e?r.toUpperCase():r.toLowerCase()),r},oD=function(t,e){var r=null,n=t.replace(/[[]/,"\\[").replace(/[\]]/,"\\]"),i=e,o=i.indexOf("?");-1!==o&&(i=i.substring(o),null!==(r=new RegExp("[\\?&]".concat(n,"=([^&#]*)")).exec(i))&&(r=decodeURIComponent(r[1].replace(/\+/g," "))));return r},aD=function(t,e){var r=t;-1===r.indexOf("?")?r+="?":"?"!==r.charAt(r.length-1)&&(r+="&");var n="";tD(e)?(Object.keys(e).forEach((function(t){var r=e[t];n+=t,n+="=",n+=encodeURIComponent(r),n+="&"})),n=n.substring(0,n.length-1)):eD(e)&&(n=e);return r+=n},sD=function(t,e){var r="";return QF(t)||(r=t),r=r.concat(Math.random()).replace(/0\./,""),QF(e)||(r=r.concat(e)),r},lD=function(t,e,r){var n=t;return n=aD(n,"request=GetCapabilities"),n=aD(n,"service=WMS"),eD(e)&&(n=aD(n,{version:e})),eD(r)&&(n=aD(n,{ticket:r})),n},uD=function(t,e){var r=t;return r=aD(r,"request=GetCapabilities"),r=aD(r,"service=WMTS"),QF(e)||(r=aD(r,{version:e})),r},cD=function(t,e,r){var n=t,i=e,o=new Array(r);n=Number.parseFloat(n),i=Number.parseFloat(i);var a=2;Number.isNaN(n)||(a=Math.pow(i/n,1/(r-1)));for(var s=0;s1?1/t:t)*qF[n]*72));return r},fD=function(t,e,r,n){var i=t,o=null,a=null;JF(i)?(o=i[2]-i[0],a=i[3]-i[1]):tD(i)?(o=i.x.max-i.x.min,a=i.y.max-i.y.min):eD(i)&&(o=(i=i.split(","))[2]-i[0],a=i[3]-i[1]);var s=o/e[0],l=a/e[1],u=Math.max(s,l);return cD(null,u,r)},pD=function(t,e){var r=e;return QF(r)&&(r="degrees"),t*qF[r]*72},dD=function(t){var e;if(!QF(t)){var r=document.createElement("div");r.innerHTML=t,e=r.children[0]}return e},gD=function(t){var e=t;if(e&&(e=e.trim()).length>0){var r=e.indexOf(":");-1!==r&&(r+=1,e=e.substring(r,e.length))}return e},yD=function(t){var e=iD(t);return e=(e=e.replace(/_(\w)/g,(function(t,e){return" ".concat(e.toUpperCase())}))).replace(/^\w/,(function(t){return t.toUpperCase()}))},mD=function(t){var e=null;if(!QF(t)){e=(e=t[0]).replace(/\/+\s*$/,"");for(var r=1,n=t.length;r=0?o=s:(o=i+s)<0&&(o=0);o]*>)+[^<]*(<\s*\/\s*script[^>]*>)+/gi,"").replace(/(('|')\s*\+\s*)?\s*eval\s*\(.*\)\s*(\+\s*('|'))?/gi,"")},xD=function(t){var e=t;if("ontouchstart"in document){var r=0;e.addEventListener("touchstart",(function(t){r=e.scrollTop+t.touches[0].pageY})),e.addEventListener("touchmove",(function(t){e.scrollTop=r-t.touches[0].pageY}))}},wD=function(t,e){var r=t.replace(/^(.+)\/$/,"$1").replace(/^(.+)\?$/,"$1"),n=e.replace(/^(.+)\/$/,"$1").replace(/^(.+)\?$/,"$1");return r.toLowerCase()===n.toLowerCase()},ED=function(t){var e=[ih.toLowerCase(),"GeometryPropertyType".toLowerCase(),hh.toLowerCase(),oh.toLowerCase(),ch.toLowerCase(),ah.toLowerCase(),sh.toLowerCase(),lh.toLowerCase(),uh.toLowerCase(),fh.toLowerCase(),ph.toLowerCase(),"pointpropertytype","polygonpropertytype","linestringpropertytype","geometrypropertytype","multisurfacepropertytype","multilinestringpropertytype","surfacepropertytype","geometrypropertytype","geometryarraypropertytype","multigeometrypropertytype","multipolygonpropertytype","multipointpropertytype","abstractgeometricaggregatetype","pointarraypropertytype","curvearraypropertytype","solidpropertytype","solidarraypropertytype"],r=t.toLowerCase();return-1!==e.indexOf(r)},SD=function(t){var e=document.createElement("textarea");return e.innerHTML=t,e.value},OD=function(t){var e=t;!eD(t)&&t.outerHTML&&(e=t.outerHTML);var r=document.createElement("DIV");return r.innerHTML=e,r.textContent||r.innerText||""},ID=function(t,e,r){return l.a.scale([t,e]).colors(r)},CD=function(t){var e;if(eD(t)){var r=l()(t).hex();r=r.replace(/^#/,"0x"),e=l()(16777215-r).hex()}return e},TD=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e;return QF(r)||Object.keys(r).forEach((function(e){var i=r[e];JF(i)?i=YF(i):tD(i)&&(i=t({},i)),QF(n[e])?n[e]=i:tD(n[e])&&t(n[e],i)})),n},PD=function(t,e){var r=YF(t);if(t.length1&&(e=r.reduce((function(t,e){var r;return QF(t)||(r=t instanceof o?t.getAttribute(e):t[e]),r}),this))}return e}},{key:"setAttribute",value:function(t,e){return this.getImpl().setAttribute(t,e)}},{key:"setStyle",value:function(t){!QF(t)&&t instanceof O_?(this.style_=t,this.style_.applyToFeature(this)):QF(t)&&(this.style_=null,this.getImpl().clearStyle()),this.fire(xu,[t,this])}},{key:"equals",value:function(t){return this.getId()===t.getId()}},{key:"getStyle",value:function(){return this.style_}},{key:"clearStyle",value:function(){this.setStyle(null)}},{key:"getCentroid",value:function(){var t=this.getId(),e=this.getAttributes(),r=new bw({stroke:{color:"#67af13",width:2},radius:8,fill:{color:"#67af13",opacity:.2}}),n=this.getImpl().getCentroid();return QF(n)||(n.setId("".concat(t," centroid}")),n.setAttributes(e),n.setStyle(r)),n}}])&&WD(e.prototype,r),n&&WD(e,n),o}(Zl);function QD(t){return(QD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function $D(t,e){return($D=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function tG(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=rG(t);if(e){var i=rG(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return eG(this,r)}}function eG(t,e){return!e||"object"!==QD(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function rG(t){return(rG=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var nG=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&$D(t,e)}(r,t);var e=tG(r);function r(t,n){var i;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),(i=e.call(this,sD("_mapea_cluster_"))).setAttributes(n),i.setAttribute("features",t),i}return r}(JD);function iG(t){return(iG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function oG(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function aG(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{};return pG(this,o),(e=i.call(this)).filterFunction_=t,e.cqlFilter_="",QF(r.cqlFilter)||(e.cqlFilter_=r.cqlFilter),e}return e=o,(r=[{key:"setFunction",value:function(t){this.filterFunction_=t}},{key:"getFunctionFilter",value:function(){return this.filterFunction_}},{key:"execute",value:function(t){return t.filter(this.filterFunction_)}},{key:"toCQL",value:function(){return this.cqlFilter_}}])&&dG(e.prototype,r),n&&dG(e,n),o}(Yx);function bG(t){return(bG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function xG(t,e){return(xG=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function wG(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=SG(t);if(e){var i=SG(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return EG(this,r)}}function EG(t,e){return!e||"object"!==bG(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function SG(t){return(SG=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var OG=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&xG(t,e)}(r,t);var e=wG(r);function r(t,n){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r);return e.call(this,(function(e,r){var n=null;return QF(e)||(n=e.getGeometry()),t(n,r)}),n)}return r}(vG),IG=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function CG(t){return"string"==typeof t?t:""}var TG=function(t){function e(){return t.call(this)||this}return IG(e,t),e.prototype.getType=function(){return"text"},e.prototype.readFeature=function(t,e){return this.readFeatureFromText(CG(t),this.adaptOptions(e))},e.prototype.readFeatureFromText=function(t,e){return Object(si.b)()},e.prototype.readFeatures=function(t,e){return this.readFeaturesFromText(CG(t),this.adaptOptions(e))},e.prototype.readFeaturesFromText=function(t,e){return Object(si.b)()},e.prototype.readGeometry=function(t,e){return this.readGeometryFromText(CG(t),this.adaptOptions(e))},e.prototype.readGeometryFromText=function(t,e){return Object(si.b)()},e.prototype.readProjection=function(t){return this.readProjectionFromText(CG(t))},e.prototype.readProjectionFromText=function(t){return this.dataProjection},e.prototype.writeFeature=function(t,e){return this.writeFeatureText(t,this.adaptOptions(e))},e.prototype.writeFeatureText=function(t,e){return Object(si.b)()},e.prototype.writeFeatures=function(t,e){return this.writeFeaturesText(t,this.adaptOptions(e))},e.prototype.writeFeaturesText=function(t,e){return Object(si.b)()},e.prototype.writeGeometry=function(t,e){return this.writeGeometryText(t,this.adaptOptions(e))},e.prototype.writeGeometryText=function(t,e){return Object(si.b)()},e}(fI),PG=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),RG={POINT:Aa,LINESTRING:Eh,POLYGON:Xa,MULTIPOINT:mh,MULTILINESTRING:Oh,MULTIPOLYGON:Th},LG="EMPTY",MG=0,AG=1,NG=2,kG=3,jG=4,FG=5,DG=6,GG={Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION",Circle:"CIRCLE"},UG=function(){function t(t){this.wkt=t,this.index_=-1}return t.prototype.isAlpha_=function(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"},t.prototype.isNumeric_=function(t,e){return t>="0"&&t<="9"||"."==t&&!(void 0!==e&&e)},t.prototype.isWhiteSpace_=function(t){return" "==t||"\t"==t||"\r"==t||"\n"==t},t.prototype.nextChar_=function(){return this.wkt.charAt(++this.index_)},t.prototype.nextToken=function(){var t,e=this.nextChar_(),r=this.index_,n=e;if("("==e)t=NG;else if(","==e)t=FG;else if(")"==e)t=kG;else if(this.isNumeric_(e)||"-"==e)t=jG,n=this.readNumber_();else if(this.isAlpha_(e))t=AG,n=this.readText_();else{if(this.isWhiteSpace_(e))return this.nextToken();if(""!==e)throw new Error("Unexpected character: "+e);t=DG}return{position:r,value:n,type:t}},t.prototype.readNumber_=function(){var t,e=this.index_,r=!1,n=!1;do{"."==t?r=!0:"e"!=t&&"E"!=t||(n=!0),t=this.nextChar_()}while(this.isNumeric_(t,r)||!n&&("e"==t||"E"==t)||n&&("-"==t||"+"==t));return parseFloat(this.wkt.substring(e,this.index_--))},t.prototype.readText_=function(){var t,e=this.index_;do{t=this.nextChar_()}while(this.isAlpha_(t));return this.wkt.substring(e,this.index_--).toUpperCase()},t}(),BG=function(){function t(t){this.lexer_=t,this.token_={position:0,type:MG},this.layout_=$o}return t.prototype.consume_=function(){this.token_=this.lexer_.nextToken()},t.prototype.isTokenType=function(t){return this.token_.type==t},t.prototype.match=function(t){var e=this.isTokenType(t);return e&&this.consume_(),e},t.prototype.parse=function(){return this.consume_(),this.parseGeometry_()},t.prototype.parseGeometryLayout_=function(){var t=$o,e=this.token_;if(this.isTokenType(AG)){var r=e.value;"Z"===r?t=ta:"M"===r?t=ea:"ZM"===r&&(t=ra),t!==$o&&this.consume_()}return t},t.prototype.parseGeometryCollectionText_=function(){if(this.match(NG)){var t=[];do{t.push(this.parseGeometry_())}while(this.match(FG));if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parsePointText_=function(){if(this.match(NG)){var t=this.parsePoint_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseLineStringText_=function(){if(this.match(NG)){var t=this.parsePointList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parsePolygonText_=function(){if(this.match(NG)){var t=this.parseLineStringTextList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseMultiPointText_=function(){if(this.match(NG)){var t=void 0;if(t=this.token_.type==NG?this.parsePointTextList_():this.parsePointList_(),this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseMultiLineStringText_=function(){if(this.match(NG)){var t=this.parseLineStringTextList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parseMultiPolygonText_=function(){if(this.match(NG)){var t=this.parsePolygonTextList_();if(this.match(kG))return t}throw new Error(this.formatErrorMessage_())},t.prototype.parsePoint_=function(){for(var t=[],e=this.layout_.length,r=0;r0&&(n+=" "+i)}return 0===r.length?n+" "+LG:n+"("+r+")"}var HG=zG;function ZG(t){return(ZG="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function KG(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function JG(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};return KG(this,o),(t=i.call(this,e)).gjFormat_=new eA,t}return e=o,(r=[{key:"write",value:function(t){var e=this.gjFormat_.readGeometryFromObject(t);if("point"===e.getType().toLowerCase()){var r=e.getCoordinates();e.setCoordinates([r[0],r[1]])}return this.writeGeometryText(e)}}])&&JG(e.prototype,r),n&&JG(e,n),o}(HG);function nU(t){return(nU="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function iU(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function oU(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};iU(this,o);var r=new rU(e);return t=i.call(this,r),HF(rU)&&Bl(Mu("exception").wkt_method),t}return e=o,(r=[{key:"write",value:function(t){return this.getImpl().write(t)}}])&&oU(e.prototype,r),n&&oU(e,n),o}(Zl);function hU(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function fU(t,e){for(var r=0;r0&&(r=i.TileMatrix.map((function(t){return t.Identifier}))),r}},{key:"getFormat",value:function(t){var e,r=this.capabilities.Contents.Layer.filter((function(e){return e.Identifier===t}))[0];return null!=r&&(e=r.Format[0]),e}},{key:"getOptionsFromCapabilities",value:function(t,e){return $N(this.capabilities,{layer:t,matrixSet:e})}}])&&fU(e.prototype,r),n&&fU(e,n),t}();function dU(t){return(dU="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function gU(t,e){for(var r=0;r0&&(this.selectedFeatures_.length=0,this.map.removePopup())}},{key:"drawPoints",value:function(t){var e=t;QF(e)&&Bl(Mu("exception").no_point),JF(e)||(e=[e]);var r=this.pointsToGeoJSON_(e);this.drawGeoJSON(r)}},{key:"drawGeoJSON",value:function(t){var e=this,r=t;QF(r)&&Bl(Mu("exception").no_geojson),JF(r)||(r=[r]);var n=Object(u.o)(this.map.getProjection().code),i=[];r.forEach((function(t){var r=e.geojsonFormatter_.readFeatures(t,{dataProjection:n});i=i.concat(r)})),this.ol3Layer.getSource().addFeatures(i)}},{key:"drawFeatures",value:function(t){var e=t;QF(e)||(JF(e)||(e=[e]),this.ol3Layer.getSource().addFeatures(e))}},{key:"removeFeatures",value:function(t){var e=t;if(!QF(e)){JF(e)||(e=[e]);var r=this.ol3Layer.getSource();e.forEach((function(t){try{r.removeFeature(t)}catch(t){throw t}}))}}},{key:"getPoints",value:function(t){var e=[],r=this.ol3Layer.getSource();return e=QF(t)?r.getFeatures():r.getFeaturesAtCoordinate(t),this.featuresToPoints_(e)}},{key:"destroy",value:function(){var t=this.map.getMapImpl();QF(this.ol3Layer)||(t.removeLayer(this.ol3Layer),this.ol3Layer=null),this.options=null,this.map=null}},{key:"equals",value:function(t){var e=!1;return t instanceof o&&(e=e&&this.name===t.name),e}},{key:"pointsToGeoJSON_",value:function(t){var e=this,r=Object(u.o)(this.map.getProjection().code);return t.map((function(t){var n=t.data,i=new Aa([t.x,t.y]);return{type:"Feature",geometry:e.geojsonFormatter_.writeGeometryObject(i,{dataProjection:r}),properties:n,click:t.click,showPopup:t.showPopup}}))}},{key:"featuresToPoints_",value:function(t){return[]}}])&&gU(e.prototype,r),n&&gU(e,n),o}(tf),xU=34962,wU=34963,EU=35044,SU=35048,OU=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function IU(t,e){for(var r=Object(Mi.a)({preserveDrawingBuffer:!0,antialias:!Li.f},e),n=OU.length,i=0;i0))){var r=IU(e.canvas).getExtension("WEBGL_lose_context");r&&r.loseContext(),delete qU[t]}}(this.canvasCacheKey_),delete this.gl_,delete this.canvas_},e.prototype.prepareDraw=function(t,e){var r=this.getGL(),n=this.getCanvas(),i=t.size,o=t.pixelRatio;n.width=i[0]*o,n.height=i[1]*o,n.style.width=i[0]+"px",n.style.height=i[1]+"px",r.useProgram(this.currentProgram_);for(var a=this.postProcessPasses_.length-1;a>=0;a--)this.postProcessPasses_[a].init(t);r.bindTexture(r.TEXTURE_2D,null),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),r.enable(r.BLEND),r.blendFunc(r.ONE,e?r.ZERO:r.ONE_MINUS_SRC_ALPHA),r.useProgram(this.currentProgram_),this.applyFrameState(t),this.applyUniforms(t)},e.prototype.prepareDrawToRenderTarget=function(t,e,r){var n=this.getGL(),i=e.getSize();n.bindFramebuffer(n.FRAMEBUFFER,e.getFramebuffer()),n.viewport(0,0,i[0],i[1]),n.bindTexture(n.TEXTURE_2D,e.getTexture()),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.enable(n.BLEND),n.blendFunc(n.ONE,r?n.ZERO:n.ONE_MINUS_SRC_ALPHA),n.useProgram(this.currentProgram_),this.applyFrameState(t),this.applyUniforms(t)},e.prototype.drawElements=function(t,e){var r=this.getGL();this.getExtension("OES_element_index_uint");var n=r.UNSIGNED_INT,i=e-t,o=4*t;r.drawElements(r.TRIANGLES,i,n,o)},e.prototype.finalizeDraw=function(t,e,r){for(var n=0,i=this.postProcessPasses_.length;nthis.size_[0]||e>=this.size_[1])return tB[0]=0,tB[1]=0,tB[2]=0,tB[3]=0,tB;this.readAll();var r=Math.floor(t)+(this.size_[1]-Math.floor(e)-1)*this.size_[0];return tB[0]=this.data_[4*r],tB[1]=this.data_[4*r+1],tB[2]=this.data_[4*r+2],tB[3]=this.data_[4*r+3],tB},t.prototype.getTexture=function(){return this.texture_},t.prototype.getFramebuffer=function(){return this.framebuffer_},t.prototype.updateSize_=function(){var t=this.size_,e=this.helper_.getGL();this.texture_=this.helper_.createTexture(t,null,this.texture_),e.bindFramebuffer(e.FRAMEBUFFER,this.framebuffer_),e.viewport(0,0,t[0],t[1]),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,this.texture_,0),this.data_=new Uint8Array(t[0]*t[1]*4)},t}(),rB=r(113),nB=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),iB=function(t){function e(e,r){var n=this,i=r.uniforms||{},o=Object(li.d)();i[FU]=o,(n=t.call(this,e,{uniforms:i,postProcesses:r.postProcesses})||this).ready=!1,n.sourceRevision_=-1,n.verticesBuffer_=new PU(xU,SU),n.hitVerticesBuffer_=new PU(xU,SU),n.indicesBuffer_=new PU(wU,SU),n.vertexShader_=r.vertexShader,n.fragmentShader_=r.fragmentShader,n.program_,n.hitDetectionEnabled_=!(!r.hitFragmentShader||!r.hitVertexShader),n.hitVertexShader_=r.hitVertexShader,n.hitFragmentShader_=r.hitFragmentShader,n.hitProgram_;var a=r.attributes?r.attributes.map((function(t){return{name:"a_"+t.name,size:1,type:VU.FLOAT}})):[];n.attributes=[{name:"a_position",size:2,type:VU.FLOAT},{name:"a_index",size:1,type:VU.FLOAT}].concat(a),n.hitDetectionAttributes=[{name:"a_position",size:2,type:VU.FLOAT},{name:"a_index",size:1,type:VU.FLOAT},{name:"a_hitColor",size:4,type:VU.FLOAT},{name:"a_featureUid",size:1,type:VU.FLOAT}].concat(a),n.customAttributes=r.attributes?r.attributes:[],n.previousExtent_=Object(mt.k)(),n.currentTransform_=o,n.renderTransform_=Object(li.d)(),n.invertRenderTransform_=Object(li.d)(),n.renderInstructions_=new Float32Array(0),n.hitRenderInstructions_=new Float32Array(0),n.hitRenderTarget_,n.generateBuffersRun_=0,n.worker_=Object(rB.a)(),n.worker_.addEventListener("message",function(t){var e=t.data;if(e.type===JU){var r=e.projectionTransform;e.hitDetection?(this.hitVerticesBuffer_.fromArrayBuffer(e.vertexBuffer),this.helper.flushBufferData(this.hitVerticesBuffer_)):(this.verticesBuffer_.fromArrayBuffer(e.vertexBuffer),this.helper.flushBufferData(this.verticesBuffer_)),this.indicesBuffer_.fromArrayBuffer(e.indexBuffer),this.helper.flushBufferData(this.indicesBuffer_),this.renderTransform_=r,Object(li.e)(this.invertRenderTransform_,this.renderTransform_),e.hitDetection?this.hitRenderInstructions_=new Float32Array(t.data.renderInstructions):(this.renderInstructions_=new Float32Array(t.data.renderInstructions),e.generateBuffersRun===this.generateBuffersRun_&&(this.ready=!0)),this.getLayer().changed()}}.bind(n)),n.featureCache_={},n.featureCount_=0;var s=n.getLayer().getSource();return n.sourceListenKeys_=[Object(eo.a)(s,Lg,n.handleSourceFeatureAdded_,n),Object(eo.a)(s,Mg,n.handleSourceFeatureChanged_,n),Object(eo.a)(s,Ng,n.handleSourceFeatureDelete_,n),Object(eo.a)(s,Ag,n.handleSourceFeatureClear_,n)],s.forEachFeature(function(t){this.featureCache_[Object(si.c)(t)]={feature:t,properties:t.getProperties(),geometry:t.getGeometry()},this.featureCount_++}.bind(n)),n}return nB(e,t),e.prototype.afterHelperCreated=function(){this.program_=this.helper.getProgram(this.fragmentShader_,this.vertexShader_),this.hitDetectionEnabled_&&(this.hitProgram_=this.helper.getProgram(this.hitFragmentShader_,this.hitVertexShader_),this.hitRenderTarget_=new eB(this.helper))},e.prototype.handleSourceFeatureAdded_=function(t){var e=t.feature;this.featureCache_[Object(si.c)(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()},this.featureCount_++},e.prototype.handleSourceFeatureChanged_=function(t){var e=t.feature;this.featureCache_[Object(si.c)(e)]={feature:e,properties:e.getProperties(),geometry:e.getGeometry()}},e.prototype.handleSourceFeatureDelete_=function(t){var e=t.feature;delete this.featureCache_[Object(si.c)(e)],this.featureCount_--},e.prototype.handleSourceFeatureClear_=function(){this.featureCache_={},this.featureCount_=0},e.prototype.renderFrame=function(t){var e=this.helper.getGL();this.preRender(e,t);var r=t.viewState.projection,n=this.getLayer().getSource().getWrapX()&&r.canWrapX(),i=r.getExtent(),o=t.extent,a=n?Object(mt.G)(i):null,s=n?Math.ceil((o[2]-i[2])/a)+1:1,l=n?Math.floor((o[0]-i[0])/a):0,u=l,c=this.indicesBuffer_.getSize();do{this.helper.makeProjectionTransform(t,this.currentTransform_),Object(li.m)(this.currentTransform_,u*a,0),Object(li.g)(this.currentTransform_,this.invertRenderTransform_),this.helper.applyUniforms(t),this.helper.drawElements(0,c)}while(++u0&&void 0!==arguments[0]?arguments[0]:{};fB(this,o),t=i.call(this,e);var r,n=e.weight?e.weight:"weight";if("string"==typeof n){var a=1,s=t.getWeights(e);s.length>0?(a=s.reduce((function(t,e){return Math.max(t,e)})),t.maxWeight_=a,t.minWeight_=s.reduce((function(t,e){return Math.min(t,e)})),r=function(t){var e;return t instanceof gh?e=t.get(n):t instanceof JD&&(e=t.getAttribute(n)),parseFloat(e/a)}):Bx("La capa de nombre ".concat(e.name," no tiene ninguna feature
    \n con el atributo especificado en simbología establecida.\n
    Se setea una ponderación por defecto"),"Mapa de calor")}else r=n;return t.setStyle((function(e,n){var i=Dy.getValue(r,e),o=void 0!==i?Object(qo.b)(i,0,1):1,a=255*o||0,s=t.styleCache_[a];return s||(s=[new om({image:new oy({opacity:o,src:t.circleImage_})})],t.styleCache_[a]=s),s})),t}return e=o,(r=[{key:"getMinWeight",value:function(){return this.minWeight_}},{key:"getMaxWeight",value:function(){return this.maxWeight_}},{key:"getWeights",value:function(t){var e=[],r=this.getSource();if(null!==r){var n=r.getFeatures();n.length>0&&(e=n.map((function(e){return e.get(t.weight)})).filter((function(t){return null!=t})))}return e}}])&&pB(e.prototype,r),n&&pB(e,n),o}(cB);function vB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function bB(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};vB(this,t),this.attributeName_=e.attribute||null,this.label_=e.label||null,this.fillColor_=e.fill||null,this.legend_=e.legend||null}var e,r,n;return e=t,(r=[{key:"attribute",get:function(){return this.attributeName_},set:function(t){this.attributeName_=t}},{key:"label",get:function(){return this.label_},set:function(t){this.label_=t}},{key:"fillColor",get:function(){return this.fillColor_},set:function(t){this.fillColor_=t}},{key:"legend",get:function(){return this.legend_},set:function(t){this.legend_=t}}])&&bB(e.prototype,r),n&&bB(e,n),t}(),wB={DONUT:"donut",PIE_3D:"pie3D",PIE:"pie",BAR:"bar"},EB={Custom:"m.style.chart.types.custom_scheme",Classic:["#ffa500","blue","red","green","cyan","magenta","yellow","#0f0"],Dark:["#960","#003","#900","#060","#099","#909","#990","#090"],Pale:["#fd0","#369","#f64","#3b7","#880","#b5d","#666"],Pastel:["#fb4","#79c","#f66","#7d7","#acc","#fdd","#ff9","#b9b"],Neon:["#ff0","#0ff","#0f0","#f0f","#f00","#00f"]};function SB(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||IB(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OB(t){return function(t){if(Array.isArray(t))return CB(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||IB(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function IB(t,e){if(t){if("string"==typeof t)return CB(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?CB(t,e):void 0}}function CB(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:{};PB(this,o);var e=t,r=e.variables||null;if(Object.values(wB).includes(e.type)||(e.type=o.DEFAULT.type),QF(r)||(r instanceof Array?e.variables=r.filter((function(t){return null!=t})).map((function(t){return o.formatVariable(t)})):"string"==typeof r||"object"===TB(r)?e.variables=[o.formatVariable(r)]:e.variables=[]),QF(e.scheme))e.scheme=o.DEFAULT.scheme;else if("string"==typeof e.scheme){var n=e.variables.some((function(t){return null!=t.fillColor}));e.scheme===EB.Custom&&n?e.scheme=e.variables.map((function(t){return t.fillColor?t.fillColor:""})):e.scheme=EB[e.scheme]||o.DEFAULT.scheme}else e.scheme instanceof Array&&e.scheme.every((function(t){return"string"==typeof t}))||(e.scheme=o.DEFAULT.scheme);var a=new uz(e);return i.call(this,e,a)}return e=o,n=[{key:"formatVariable",value:function(t){return null==t?null:t instanceof xB?t:new xB("string"==typeof t?{attribute:t}:t)}},{key:"deserialize",value:function(t){var e=SB(t,1)[0],r=e;return r.variables=e.variables.map((function(t){return new xB(AD(t))})),new Function(["options"],"return new M.style.Chart(options)")(r)}}],(r=[{key:"updateCanvas",value:function(){QF(this.getImpl())&&QF(this.canvas_)||this.getImpl().updateCanvas(this.canvas_)}},{key:"apply",value:function(t){var e=this;this.layer_=t,t.getFeatures().forEach((function(t){return t.setStyle(e.clone())})),this.updateCanvas()}},{key:"toJSON",value:function(){var t=this.getOptions();return{parameters:[{type:t.type,radius:t.radius,donutRadio:t.donutRadio,offsetX:t.offsetX,offsetY:t.offsetY,stroke:QF(t.stroke)?void 0:TD({},t.stroke),fill3DColor:t.fill3DColor,scheme:JF(t.scheme)?OB(t.scheme):t.scheme,label:QF(t.label)?void 0:TD({},t.label),rotateWithView:t.rotateWithView,variables:t.variables.map((function(t){var e;return QF(t.label)||(e=TD({},t.label),e=MD(e)),{attribute:t.attribute,legend:t.legend,fill:t.fillColor,label:e}}))}],deserializedMethod:"M.style.Chart.deserialize"}}},{key:"ORDER",get:function(){return 1}}])&&RB(e.prototype,r),n&&RB(e,n),o}(O_);kB.DEFAULT={shadow3dColor:"#369",type:wB.PIE,scheme:EB.Classic,radius:20,donutRatio:.5,offsetX:0,offsetY:0,animationStep:1};var jB=kB;function FB(t){return(FB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function DB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function GB(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};DB(this,o);var r=QF(e.stroke)?0:e.stroke.getWidth();return t=i.call(this,{radius:("number"==typeof e.radius?e.radius:0)+r,fill:new Jy({color:[0,0,0]}),rotation:"number"==typeof e.rotation?e.rotation:0,snapToPixel:"boolean"==typeof e.snapToPixel&&e.snapToPixel}),e.scale&&t.setScale(e.scale),t.variables_=e.variables||[],t.stroke_=e.stroke||null,t.radius_=e.radius||0,t.donutRatio_=e.donutRatio||0,t.type_=e.type||null,t.offset_=[e.offsetX?e.offsetX:0,e.offsetY?e.offsetY:0],t.animation_={animate:"number"==typeof e.animation,step:"number"==typeof e.animation?e.animation:jB.DEFAULT.animationStep},t.data_=e.data||null,t.colors_=e.scheme instanceof Array?e.scheme:[],t.fill3DColor_=e.fill3DColor||"#000",t.rotateWithView_=e.rotateWithView||!1,t.renderChart_(),t}return e=o,(r=[{key:"clone",value:function(){var t=new o({type:this.type_,radius:this.radius_,colors:this.colors_,rotation:this.getRotation(),scale:this.getScale(),donutRatio:this.donutRatio_,data:this.data_,stroke:this.stroke_,scheme:this.colors_,offsetX:this.offset_[0],offsetY:this.offset_[1],animation:this.animation_,fill3DColor:this.fill3DColor_,rotateWithView:this.rotateWithView_});return t.setScale(this.getScale()),t.setOpacity(this.getOpacity()),t}},{key:"setRadius",value:function(t,e){this.donutRatio_=e||this.donutRatio_,this.radius=t}},{key:"setAnimation",value:function(t){if(!1===t){if(!1===this.animation_.animate)return;this.animation_.animate=!1}else{if(this.animation_.step===t)return;this.animation_.animate=!0,this.animation_.step=t}this.renderChart_()}},{key:"getChecksum",value:function(){var t,e=null!==this.stroke_?this.stroke_.getChecksum():"-";if(null===this.checksums_||e!==this.checksums_[1]||t!==this.checksums_[2]||this.radius_!==this.checksums_[3]||this.data_.join("|")!==this.checksums_[4]){var r=this.radius_?this.radius_.toString():"-",n="c".concat(e).concat(t).concat(r).concat(this.data_.join("|"));this.checksums_=[n,e,t,this.radius_,this.data_.join("|")]}return this.checksums_[0]}},{key:"renderChart_",value:function(t){switch(this.type_){case wB.DONUT:case wB.PIE_3D:case wB.PIE:this.renderCircleChart();break;default:this.renderBarChart()}}},{key:"renderBarChart",value:function(){var t,e=this,r=this.getImage(1),n=r.getContext("2d"),i=0,o=this.animation_.animate?this.animation_.step:1;this.stroke_&&(t=Object(ui.b)(this.stroke_.getColor()),i=this.stroke_.getWidth());var a,s=Math.max.apply(null,this.data_)||0,l=Math.min(5,2*this.radius_/this.data_.length),u=r.width-(i||0),c=r.width/2,h=c-this.data_.length*l/2;t&&(n.strokeStyle=t,n.lineWidth=i),this.data_.sort((function(t,e){return t-e})).forEach((function(r,i){n.beginPath(),n.fillStyle=e.colors_[i%e.colors_.length],a=h+l;var c=r/s*2*e.radius_*o;n.rect(h,u-c,l,c),n.closePath(),n.fill(),t&&n.stroke(),h=a}));var f=this.getAnchor();f[0]=c-this.offset_[0],f[1]=c-this.offset_[1]}},{key:"renderCircleChart",value:function(){var t,e=0;this.stroke_&&(t=Object(ui.b)(this.stroke_.getColor()),e=this.stroke_.getWidth());var r=this.getImage(1),n=r.getContext("2d");n.clearRect(0,0,r.width,r.height),n.lineJoin="round";var i=0;!QF(this.data_)&&this.data_.length>0&&(i=this.data_.reduce((function(t,e){return t+e}))),n.setTransform(1,0,0,1,0,0),n.translate(0,0);var o=this.animation_.animate?this.animation_.step:1,a=Math.PI*(o-1.5),s=r.width/2;t&&(n.strokeStyle=t,n.lineWidth=e),n.save(),this.type_===wB.PIE_3D?this.drawPie3D(n,a,s,o,t,i):this.type_===wB.DONUT?this.drawDonut(n,a,s,o,t,e,i):this.drawPie(n,a,s,o,t,i),n.restore();var l=this.getAnchor();l[0]=s-this.offset_[0],l[1]=s-this.offset_[1]}},{key:"drawDonut",value:function(t,e,r,n,i,o,a){var s=t;s.save(),s.beginPath(),s.rect(0,0,2*r,2*r),s.arc(r,r,this.radius_*n*this.donutRatio_,0,2*Math.PI),s.clip("evenodd");var l=this.drawPie(s,e,r,n,i,a);s.restore(),s.beginPath(),s.strokeStyle=i,s.lineWidth=o;var u=this.radius_;s.arc(r,r,u*n*this.donutRatio_,Math.PI*(n-1.5),l),i&&s.stroke()}},{key:"drawPie3D",value:function(t,e,r,n,i,o){var a=t;a.translate(0,.3*r),a.scale(1,.7),a.beginPath(),a.fillStyle=this.fill3DColor_,a.arc(r,1.4*r,this.radius_*n,0,2*Math.PI),a.fill(),i&&a.stroke(),this.drawPie(t,e,r,n,i,o)}},{key:"drawPie",value:function(t,e,r,n,i,o){var a,s=this,l=e,u=t;return this.data_.forEach((function(t,e){u.beginPath(),u.moveTo(r,r),u.fillStyle=s.colors_[e%s.colors_.length],a=l+2*Math.PI*t/(o*n),u.arc(r,r,s.radius_*n,l,a),u.closePath(),u.fill(),i&&u.stroke(),l=a})),l}},{key:"data",get:function(){return this.data_},set:function(t){this.data_=t,this.renderChart_()}},{key:"radius",get:function(){return this.radius_},set:function(t){this.radius_=t,this.renderChart_()}}])&&GB(e.prototype,r),n&&GB(e,n),o}(vy);function YB(t){return(YB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function WB(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function XB(t,e){return(XB=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function HB(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=KB(t);if(e){var i=KB(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return ZB(this,r)}}function ZB(t,e){return!e||"object"!==YB(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function KB(t){return(KB=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function JB(t){return(JB="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function QB(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return $B(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $B(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $B(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r1?n-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:{};return tz(this,s),az(e,jB.DEFAULT),(t=a.call(this,e)).variables_=e.variables||[],t.colorsScheme_=e.scheme||[],t}return e=s,(r=[{key:"updateCanvas",value:function(t){if(!QF(t)){var e=t.getContext("2d");this.drawGeometryToCanvas(e)}}},{key:"drawGeometryToCanvas",value:function(t){var e=this,r=t;if(!QF(r)&&!QF(r.canvas)){var n=s.CANVAS_PROPS.fixedProps,i=s.CANVAS_PROPS.width;r.canvas.setAttribute("width",i),r.width=i;var o=[],a={};Object.keys(s.CANVAS_PROPS.percentages).forEach((function(t){a[t]=i*(s.CANVAS_PROPS.percentages[t]/100)}));var l=[a.left_right_content,n.top_content],u=l[0],c=l[1],h=function(t,i,s){var l=QB(t,2),u=l[0],c=l[1];c+=n.item_top_margin,o.push(function(t){var e=t.context;e.beginPath(),e.strokeStyle=t.strokeColor,e.lineWidth=t.width,e.fillStyle=t.color,e.rect(t.x,t.y,t.rectSize,t.rectSize),e.closePath(),e.stroke(),e.fill()}.bind(e,{context:r,strokeColor:"#000",width:n.rect_border_width,color:s,x:u,y:c,rectSize:n.rect_size})),u+=a.item_side_margin+n.rect_size;var h=(c+=n.rect_size/1.5)+n.item_top_margin,f=function(t,i,a,s,l){var u=a.split(" "),c="",h=i[0],f=i[1];return o.push(function(t){var e=t.context;e.font="".concat(t.fontSize,"px ").concat(t.fontFamily),e.strokeStyle=t.strokeColor,e.strokeWidth=t.strokeWidth,e.fillStyle=t.textColor}.bind(e,{context:r,fontSize:n.font_size,fontFamily:n.font_family,strokeColor:n.text_stroke_color,strokeWidth:n.text_stroke_width,textColor:n.text_color})),u.forEach((function(t,n){r.measureText("".concat(c+t)).width>s&&n>0?(o.push(function(t,e,r,n){t.strokeText(e,r,n),t.fillText(e,r,n)}.bind(e,r,c,h,f)),c="".concat(t," "),f+=l):c="".concat(c+t," ")})),o.push(function(t,e,r,n){t.strokeText(e,r,n),t.fillText(e,r,n)}.bind(e,r,c,h,f)),[h,f]}(0,[u,c],i,a.max_text_width,a.max_text_line_height);return[f[0],f[1]>h?f[1]:h]};this.variables_.forEach((function(t,r){var n=QF(t.legend)?t.attribute:t.legend,i=QF(t.fillColor)?e.colorsScheme_[r%e.colorsScheme_.length]||e.colorsScheme_[0]:t.fillColor,o=QB(h([u,c],n,i),2);u=o[0],c=o[1],u=a.left_right_content})),c+=n.top_content,r.canvas.setAttribute("height",c),r.save(),o.forEach((function(t){return t()})),r.restore()}}},{key:"updateFacadeOptions",value:function(t){var e=this,r=t;r.rotateWithView=!1,this.olStyleFn_=function(t,o){var a=t;a instanceof gh||(a=e);var s=e.formatDataRecursively_(r,a),l=[];if(e.variables_.forEach((function(t){var e=a.get(t.attribute);e=parseFloat(e),l=l.concat(e instanceof Array?e:[e]).filter((function(t){return null!=t}))})),0===l.length)throw new Error("cannot draw an empty data chart");s.data=l,QF(r.stroke)||(s.stroke=new Qy(r.stroke));var u=[new mb({geometry:function(t){var e=Wh.getCentroid(t.getGeometry());return new Aa(e)},image:new qB(s)})];return"bar"!==s.type?1!==r.variables.length&&r.variables.length!==l.length||(u=u.concat(function(t,e,r){var n=0,i=e.data.reduce((function(t,e){return t+e})),o=e.variables,a=e.data;return t.concat(e.data.map((function(t,s){var l=o.length===a.length?o[s]:o[0],u=l.label||{},c=u.radius?u.radius:e.radius,h=(2*n+t)/i*Math.PI-Math.PI/2;if(n+=t,!l.label)return null;var f="number"==typeof u.radiusIncrement?u.radiusIncrement:3,p="function"==typeof u.textAlign?u.textAlign(h):null;QF(p)&&(p=u.textAlign||(h'))),size:[s[0].getImage().getImage().width/2,n]});return l.push(new om({image:h})),l}(u,s,a))),function(t,e,r){if(!QF(t.label)){var o=new om,a=Dy.getValue(t.label.text,r),s=Dy.getValue(t.label.align,r),l=Dy.getValue(t.label.baseline,r),u=t.label.offset?t.label.offset[0]:void 0,c=t.label.offset?t.label.offset[1]:void 0,h=new Jy({color:Dy.getValue(t.label.color||"#000000",r)}),f=new lm({font:Dy.getValue(t.label.font,r),rotateWithView:Dy.getValue(t.label.rotate,r),scale:Dy.getValue(t.label.scale,r),offsetX:Dy.getValue(u,r),offsetY:Dy.getValue(c,r),fill:h,textAlign:Object.values(n).includes(s)?s:"center",textBaseline:Object.values(i).includes(l)?l:"top",text:void 0===a?void 0:String(a),rotation:Dy.getValue(t.label.rotation,r)});QF(t.label.stroke)||f.setStroke(new Qy({color:Dy.getValue(t.label.stroke.color,r),width:Dy.getValue(t.label.stroke.width,r),lineCap:Dy.getValue(t.label.stroke.linecap,r),lineJoin:Dy.getValue(t.label.stroke.linejoin,r),lineDash:Dy.getValue(t.label.stroke.linedash,r),lineDashOffset:Dy.getValue(t.label.stroke.linedashoffset,r),miterLimit:Dy.getValue(t.label.stroke.miterlimit,r)})),o.setText(f),e.push(o)}}(s,u,a),u}}},{key:"applyToLayer",value:function(t){t.getFeatures().forEach(this.applyToFeature,this)}},{key:"applyToFeature",value:function(t){t.getImpl().getOLFeature().setStyle(this.olStyleFn_)}},{key:"formatDataRecursively_",value:function(t,e){var r=this;return Object.keys(t).reduce((function(n,i,o){var a=n;return"object"!==JB(n)&&(a={},"object"!==JB(t[n])&&r.setVal(a,t,n,e)),r.setVal(a,t,i),a}))}},{key:"setVal",value:function(t,e,r,n){var i=t;i[r]=Dy.getValue(e[r],n),!tD(e[r])||e[r]instanceof Array||(i[r]=this.formatDataRecursively_(e[r],n))}}])&&ez(e.prototype,r),o&&ez(e,o),s}(function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&XB(t,e)}(r,t);var e=HB(r);function r(){return WB(this,r),e.apply(this,arguments)}return r}(Ry));lz.CANVAS_PROPS={width:200,percentages:{left_right_content:5,item_side_margin:5,max_text_width:70},fixedProps:{rect_border_width:2,font_size:10,font_family:"sans-serif",text_stroke_color:"#fff",text_stroke_width:1,text_color:"#000",top_content:10,item_top_margin:10,text_line_height:15,rect_size:15}};var uz=lz;function cz(t){return(cz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function hz(t,e){for(var r=0;r M.style.Simple.deserialize(serializedParameters, 'M.style.Line'))"}}])&&Iz(e.prototype,r),n&&Iz(e,n),o}(j_);Lz.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}};var Mz=Lz;function Az(t,e){for(var r=0;re))&&!((a+=2)>=t.length);)o+=i;var r=e-o;return a>=t.length&&(a=t.length-2),[r?t[a-2]+(t[a]-t[a-2])*r/i:t[a-2],r?t[a-1]+(t[a+1]-t[a-1])*r/i:t[a-1],Math.atan2(t[a+1]-t[a-1],t[a]-t[a-2])]},u=.25*n.measureText(" ").width,c=0,h=0,f=2;fn[n.length-2]){for(var i=[],o=n.length-2;o>=0;o-=2)i.push(n[o]),i.push(n[o+1]);return i}return n}},{key:"formatStyle",value:function(t){var e=t;return null==e?null:(void 0===e&&(e=[new om({text:new lm})]),"function"==typeof e?e:function(){return[e]})}},{key:"draw",value:function(e,r,n,i){var o=this.getPath_(r,i,n.getRotateWithView());e.font=n.getFont(),e.textBaseline=n.getTextBaseline(),e.textAlign=n.getTextAlign(),e.lineWidth=n.getStroke()&&n.getStroke().getWidth()||t.DEFAULT.lineWidth,e.strokeStyle=n.getStroke()&&n.getStroke().getColor()||t.DEFAULT.lineColor,e.fillStyle=n.getFill()&&n.getFill().getColor()||t.DEFAULT.fillColor,e.textJustify="justify"===n.getTextAlign(),e.textOverflow=n.getTextOverflow?n.getTextOverflow():t.DEFAULT.textOverflow,e.minWidth=n.getMinWidth?n.getMinWidth():t.DEFAULT.minWidth,"function"==typeof e.textPath&&e.textPath(n.getText(),o),e.restore()}}],(r=null)&&Az(e.prototype,r),n&&Az(e,n),t}();Nz.DEFAULT={lineWidth:0,lineColor:"#fff",fillColor:"#000",textOverflow:"",minWidth:0};var kz=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(HF(window.CanvasRenderingContext2D.prototype.textPath)&&(window.CanvasRenderingContext2D.prototype.textPath=Nz.render),!(e.frameState.viewState.resolution>this.textPathMaxResolution_)){var r=e.frameState.extent,n=e.context;n.save(),n.scale(e.frameState.pixelRatio,e.frameState.pixelRatio);var i=null!=this.getSource()&&0===this.getSource().getFeatures().length;i||(this.getSource().getFeaturesInExtent(r).forEach((function(r){var i=null!=r.getStyle()?r.getStyle():t.getStyle(),o="function"==typeof i?i(r,e.frameState.viewState.resolution):i;o instanceof Array||(o=[o]),o.forEach((function(t){var i,o=(t instanceof Mz?t.getOptions().geometry:t.getGeometry())||r.getGeometry();switch("function"==typeof o&&(o=o(r)),o.getType()){case"MultiLineString":i=o.getLineString(0).getCoordinates();break;default:i=o.getCoordinates()}var a=t instanceof Mz?t.getOptions().text:t.textPath;null!=a&&a instanceof ym&&Nz.draw(n,e.frameState.coordinateToPixelTransform,a,i)}))})),n.restore())}};la.prototype.cspline=function(t){var e;return this.calcCSpline?this.csplineGeometryRevision===this.getRevision()&&this.csplineOption===JSON.stringify(t)||(this.csplineGeometry_=this.calcCSpline(t),this.csplineGeometryRevision=this.getRevision(),this.csplineOption=JSON.stringify(t),e=this.csplineGeometry_):e=this,e},kh.prototype.calcCSpline=function(t){var e=[];return this.getGeometries().forEach((function(t){return e.push(t.cspline())})),new kh(e)},Oh.prototype.calcCSpline=function(t){var e=[];return this.getLineStrings().forEach((function(t){return e.push(t.cspline().getCoordinates())})),new Oh(e)},Xa.prototype.calcCSpline=function(t){var e=[];return this.getLineStrings().forEach((function(t){return e.push(t.cspline().getCoordinates())})),new Xa(e)},Th.prototype.calcCSpline=function(t){var e=[];return this.getLineStrings().forEach((function(t){return e.push(t.cspline().getCoordinates())})),new Th(e)};var jz=function(t,e,r,n){var i=r-t,o=n-e;return Math.sqrt(i*i+o*o)};function Fz(t){return(Fz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Dz(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},d=this.getCoordinates(),g="number"==typeof p.tension?p.tension:.5,y=p.resolution||this.getLength()/d.length/(p.pointsPerSeg||10),m=[],_=d.slice(0);for(d.length>2&&d[0][0]===d[d.length-1][0]&&d[0][1]===d[d.length-1][1]?(_.unshift(d[d.length-2]),_.push(d[1])):(_.unshift(d[0]),_.push(d[d.length-1])),f=1;f<_.length-2;f+=1){var v=jz(_[f][0],_[f][1],_[f+1][0],_[f+1][1]),b=Math.round(v/y),x=1;if(p.normalize){var w=jz(_[f+1][0],_[f+1][1],_[f-1][0],_[f-1][1]),E=jz(_[f+2][0],_[f+2][1],_[f][0],_[f][1]);x=wo.DEFAULT_WIDTH_LINE&&(s=o.DEFAULT_WIDTH_LINE)),e={color:a.getStroke().getColor(),width:s},a.getStroke().setWidth(s),n.setStyle(a)),this.drawGeometryToCanvas(n,t,e,s)}}])&&Dz(e.prototype,r),n&&Dz(e,n),o}(Dy);qz.DEFAULT_WIDTH_LINE=3;var Yz=qz;function Wz(t){return(Wz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Xz(t,e){for(var r=0;rs.DEFAULT_WIDTH_POLYGON&&n.getStroke().setWidth(s.DEFAULT_WIDTH_POLYGON),r.setStyle(n),this.drawGeometryToCanvas(r)}},{key:"drawGeometryToCanvas",value:function(t){var e=s.getCanvasSize(),r=Math.floor(e[0]),n=Math.floor(e[1]),i=e[0]-r,o=e[1]-n;t.drawGeometry(new Xa([[[i+3,o+3],[r-3,o+3],[r-3,n-3],[i+3,n-3],[i+3,o+3]]]))}}])&&Xz(e.prototype,r),o&&Xz(e,o),s}(Dy);Qz.DEFAULT_WIDTH_POLYGON=3;var $z=Qz;function tV(t){return(tV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function eV(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return rV(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rV(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function rV(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r5&&void 0!==arguments[5]?arguments[5]:{};return nV(this,o),s=i.call(this,l,{}),QF(t)&&Bl(Mu("exception").no_attr_name),s.attributeName_=t,s.minRadius_=parseInt(e,10)||5,s.maxRadius_=parseInt(r,10)||15,s.style_=n,s.proportionalFunction_=a||cV,s.maxRadius_=this.maxRadius_&&Bl(Mu("exception").min_gt_max),this.update_(),this}},{key:"getMaxRadius",value:function(){return this.maxRadius_}},{key:"setMaxRadius",value:function(t){return this.maxRadius_=parseInt(t,10),t<=this.minRadius_&&Bl(Mu("exception").max_lt_min),this.update_(),this}},{key:"updateCanvas",value:function(){var t=this;this.updateCanvasPromise_=new Promise((function(e,r){if(!QF(t.layer_)){var n=t.styles_.filter((function(t){return t instanceof j_}))[0],i=QF(n)?t.layer_.getStyle():n;if((i=QF(i)?t.style_:i)instanceof j_){var a=i.clone();a instanceof X_?a=new bw(a.getOptions().point):a instanceof bw||(a=new bw(a.getOptions()));var s=o.getSizeAttribute(a),l=a.clone(),u=a.clone(),c=t.getMaxRadius(),h=t.getMinRadius();l.set(s,c),u.set(s,h),t.loadCanvasImage(c,l.toImage(),(function(r){t.loadCanvasImage(h,u.toImage(),(function(n){t.drawGeometryToCanvas(r,n,e)}))}))}else QF(i)||(t.canvas_=i.canvas,e())}}))}},{key:"loadCanvasImage",value:function(t,e,r){var n=new Image;n.crossOrigin="Anonymous",n.onload=function(){r({image:n,value:t})},n.onerror=function(){r({value:t})},n.src=e}},{key:"drawGeometryToCanvas",value:function(t,e,r){var n=t.image,i=e.image;this.canvas_.height=n.height+5+i.height+5;var o=this.canvas_.getContext("2d");o.textBaseline="middle";var a=0,s=0;if(QF(n)||(a=n.width+5,s=n.height/2,/^https?:\/\//i.test(n.src)?(this.canvas_.height=130,o.fillText(" max: ".concat(this.maxValue_),85,40),o.drawImage(n,0,0,80,80)):(o.fillText(" max: ".concat(this.maxValue_),a,s),o.drawImage(n,0,0))),!QF(i)){var l=0;QF(n)||(l=n.width/2-i.width/2);var u=n.height+5;s=u+i.height/2,/^https?:\/\//i.test(i.src)?(o.fillText(" min: ".concat(this.minValue_),85,105),o.drawImage(i,20,85,40,40)):(o.fillText(" min: ".concat(this.minValue_),a,s),o.drawImage(i,l,u))}r()}},{key:"calculateStyle_",value:function(t,e,r){var n=this.proportionalFunction_,i=r;if(!QF(i)){i=i.clone();var a=[e.minRadius,e.maxRadius],s=a[0],l=a[1];QF(i.get("icon.src"))||(s=e.minRadius/o.SCALE_PROPORTION,l=e.maxRadius/o.SCALE_PROPORTION);var u=t.getAttribute(this.attributeName_);null==u&&console.warn("Warning: ".concat(this.attributeName_," value is null or empty."));var c=n(u,e.minValue,e.maxValue,s,l),h=e.maxValue-parseFloat(t.getAttribute(this.attributeName_));i.set("".concat(o.getSizeAttribute(i)),c),i.set("zindex",h)}return i}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getMinRadius(),r=this.getMaxRadius(),n=this.getStyles().map((function(t){return t.serialize()})),i=MD(this.getProportionalFunction()),o=TD({},this.getOptions());return{parameters:[t,e,r,n,i,o=MD(o)],deserializedMethod:"M.style.Proportional.deserialize"}}},{key:"ORDER",get:function(){return 3}}])&&iV(e.prototype,r),n&&iV(e,n),o}(kb);hV.SCALE_PROPORTION=20;var fV=hV;function pV(t){return(pV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function dV(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function gV(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};dV(this,o);var r=e,n=new $z(r);return t=i.call(this,r,n),QF(r)&&(r=o.DEFAULT_NULL),r=TD({},r),t}return e=o,(r=[{key:"getDeserializedMethod_",value:function(){return"((serializedParameters) => M.style.Simple.deserialize(serializedParameters, 'M.style.Polygon'))"}}])&&gV(e.prototype,r),n&&gV(e,n),o}(j_);bV.DEFAULT_NULL={fill:{color:"rgba(255, 255, 255, 0.4)",opacity:.4},stroke:{color:"#3399CC",width:1.5}};var xV=bV,wV=function(t){var e=t.radius,r=l.a.random().hex(),n=t.strokeColor,i=t.strokeWidth;return new X_({point:{radius:e,fill:{color:r},stroke:{color:n,width:i}},line:{fill:{color:r},stroke:{color:n,width:i}},polygon:{fill:{color:r},stroke:{color:n,width:i}}})};function EV(t){return(EV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function SV(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){i=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw o}}return r}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return OV(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return OV(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function OV(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2]?arguments[2]:{};return IV(this,o),r=i.call(this,n,{}),QF(t)&&Bl(Mu("exception").no_attr_name),r.attributeName_=t,r.categoryStyles_=e,r}return e=o,n=[{key:"deserialize",value:function(t){var e=SV(t,4),r=e[0],n=e[1],i=e[2],o=e[3],a=r,s=n;Object.keys(n).forEach((function(t){s[t]=__.deserialize(n[t])}));var l=AD(i),u=new Function(["attributeName","categoryStyles","options"],"return new M.style.Category(attributeName, categoryStyles, options)")(a,s,l),c=o.map((function(t){return __.deserialize(t)}));return u.add(c),u}}],(r=[{key:"applyInternal",value:function(t){this.layer_=t,this.update_()}},{key:"getAttributeName",value:function(){return this.attributeName_}},{key:"setAttributeName",value:function(t){return this.attributeName_=t,this.update_(),this.refresh(),this}},{key:"getCategories",value:function(){return this.categoryStyles_}},{key:"setCategories",value:function(t){return this.categoryStyles_=t,this.update_(),this.refresh(),this}},{key:"getStyleForCategory",value:function(t){return this.categoryStyles_[t]}},{key:"setStyleForCategory",value:function(t,e){return this.categoryStyles_[t]=e,this.update_(),this.refresh(),this}},{key:"updateCanvas",value:function(){var t=this,e=[];this.updateCanvasPromise_=new Promise((function(r,n){return t.loadCanvasImages_(0,e,r)}))}},{key:"loadCanvasImages_",value:function(t,e,r){var n=this,i=this.getCategories(),o=Object.keys(i);if(t===o.length)this.drawGeometryToCanvas(e,r);else{var a=o[t],s=this.getStyleForCategory(a),l=new Image;if(l.crossOrigin="Anonymous",l.onload=function(){e.push({image:l,categoryName:a}),n.loadCanvasImages_(t+1,e,r)},l.onerror=function(){e.push({categoryName:a}),n.loadCanvasImages_(t+1,e,r)},s.updateCanvas(),s.get("icon.src"))LD(s.get("icon.src")).then((function(t){l.width=s.get("icon.scale")?t.width*s.get("icon.scale"):t.width,l.height=s.get("icon.scale")?t.height*s.get("icon.scale"):t.height,s.toImage().then((function(t){l.src=t}))}));else{var u=s.toImage();u instanceof Promise?u.then((function(t){l.src=t})):l.src=u}}}},{key:"drawGeometryToCanvas",value:function(t,e){var r=t.map((function(t){return t.image.height})),n=t.map((function(t){return t.image.width})),i=this.canvas_.getContext("2d");i.canvas.height=r.reduce((function(t,e){return t+e+5})),i.textBaseline="middle";var o=Math.max.apply(n,n);t.forEach((function(t,e){var n=t.image,a=t.categoryName,s=0,l=r.slice(0,e);QF(l)||(s=l.reduce((function(t,e){return t+e+5})),s+=5);var u=0;if(!QF(n)){u=n.height;var c=(o-n.width)/2;i.drawImage(n,c,s,n.width,n.height)}i.fillText(a,o+5,s+u/2)})),e()}},{key:"update_",value:function(){var t=this;if(!QF(this.layer_)){(QF(this.categoryStyles_)||0===Object.keys(this.categoryStyles_).length)&&(this.categoryStyles_=this.generateRandomCategories_());var e=this.categoryStyles_.other;this.layer_.getFeatures().forEach((function(r){var n=r.getAttribute(t.attributeName_),i=t.categoryStyles_[n];QF(i)?QF(e)||r.setStyle(e):r.setStyle(i)})),this.updateCanvas()}}},{key:"add",value:function(t){var e=t;return JF(e)||(e=[e]),e=e.filter((function(t){return t instanceof Xb||t instanceof fV})),TV(MV(o.prototype),"add",this).call(this,e)}},{key:"generateRandomCategories_",value:function(){var t=this,e={};return QF(this.layer_)||this.layer_.getFeatures().forEach((function(r){var n=r.getAttribute(t.attributeName_);Object.prototype.hasOwnProperty.call(e,n)||(e[n]=wV({radius:o.RANDOM_RADIUS_OPTION,strokeColor:o.RANDOM_STROKE_COLOR_OPTION,strokeWidth:o.RANDOM_STROKE_WIDTH_OPTION}))})),e}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getCategories(),r={};Object.keys(e).forEach((function(t){r[t]=e[t].serialize()}));var n=TD({},this.getOptions());n=MD(n);var i=this.getStyles().map((function(t){return t.serialize()}));return{parameters:[t,r,n,i],deserializedMethod:"M.style.Category.deserialize"}}},{key:"ORDER",get:function(){return 2}}])&&CV(e.prototype,r),n&&CV(e,n),o}(kb);AV.RANDOM_RADIUS_OPTION=10,AV.RANDOM_STROKE_WIDTH_OPTION=1,AV.RANDOM_STROKE_COLOR_OPTION="black";var NV=AV,kV=function(t){var e=[];return t.forEach((function(t){-1===e.indexOf(t)&&e.push(t)})),e},jV=function(t,e){for(var r=[],n=[],i=0,o=0;o=i+n[g][v-1]&&(r[h][v]=m,n[h][v]=i+n[g][v-1])}r[h][1]=1,n[h][1]=i}return{lowerClassLimits:r,varianceCombinations:n}},FV=function(t,e,r){var n=t.length-1,i=[],o=r;for(i[r]=t[t.length-1],i[0]=t[0];o>1;)i[o-1]=t[e[n][o]-2],n=e[n][o]-1,o-=1;return i},DV=function(t){var e=t;e=e||5;var r=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=kV(t),i=n.length<=r?n.length-1:r;t.sort((function(t,e){return t-e}));var o=jV(t,i),a=o.lowerClassLimits,s=FV(t,a,i),l=s.slice(1,s.length);return l};return Object.defineProperty(r,"name",{value:"jenks"}),r},GV=function(t){var e=t||5,r=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=kV(t),i=n.length<=r?n.length-1:r,o=t.length;t.sort((function(t,e){return t-e}));for(var a=Math.trunc(o/i),s=[],l=0;lt.length)&&(e=t.length);for(var r=0,n=new Array(e);r2&&void 0!==arguments[2]?arguments[2]:DV(),a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return qV(this,o),r=i.call(this,a,{}),QF(t)&&Bl(Mu("exception").no_attr_name),r.attributeName_=t,r.choroplethStyles_=e,r.quantification_=n,r.dataValues_=[],r.breakPoints_=[],r}return e=o,n=[{key:"DEFAULT_STYLE",value:function(t){return new X_({point:{fill:{color:t,opacity:1},stroke:{color:"black",width:1},radius:5},line:{stroke:{color:t,width:1}},polygon:{fill:{color:t,opacity:1},stroke:{color:t,width:1}}})}},{key:"deserialize",value:function(t){var e,r=zV(t,5),n=r[0],i=r[1],o=r[2],a=r[3],s=r[4],l=n,u=i.map((function(t){return __.deserialize(t)}));e="jenks"===o?DV():"quantile"===o?GV():AD(o);var c=AD(a),h=new Function(["attributeName","styles","quantification","options"],"return new M.style.Choropleth(attributeName, styles, quantification, options)")(l,u,e,c),f=s.map((function(t){return __.deserialize(t)}));return h.add(f),h}}],(r=[{key:"applyInternal",value:function(t){this.layer_=t,this.update_()}},{key:"getAttributeName",value:function(){return this.attributeName_}},{key:"setAttributeName",value:function(t){return this.attributeName_=t,this.update_(),this.refresh(),this}},{key:"getQuantification",value:function(){return this.quantification_}},{key:"setQuantification",value:function(t){if(this.quantification_=t,!this.choroplethStyles_.some((function(t){return eD(t)}))){if(this.choroplethStyles_.length0){var e=[];this.updateCanvasPromise_=new Promise((function(r,n){return t.loadCanvasImages_(0,e,r)}))}}},{key:"loadCanvasImages_",value:function(t,e,r){var n=this;if(t===this.choroplethStyles_.length)this.drawGeometryToCanvas(e,r);else{var i=-1;t>0&&(i=this.breakPoints_[t-1]);var o=this.breakPoints_[t],a=new Image;a.crossOrigin="Anonymous",a.onload=function(){e.push({image:a,startLimit:JV(i),endLimit:JV(o)}),n.loadCanvasImages_(t+1,e,r)},a.onerror=function(){e.push({startLimit:JV(i),endLimit:JV(o)}),n.loadCanvasImages_(t+1,e,r)},this.choroplethStyles_[t].updateCanvas();var s=this.choroplethStyles_[t].toImage();eD(s)?a.src=s:s.then((function(t){a.src=t}))}}},{key:"drawGeometryToCanvas",value:function(t,e){var r=t.map((function(t){return t.image.height})),n=t.map((function(t){return t.image.width})),i=this.canvas_.getContext("2d");i.canvas.height=r.reduce((function(t,e){return t+e+5})),i.textBaseline="middle";var o=Math.max.apply(n,n);t.forEach((function(t,e){var n=t.image,a=t.startLimit,s=t.endLimit,l=0,u=r.slice(0,e);QF(u)||(l=u.reduce((function(t,e){return t+e+5})),l+=5);var c=0;QF(n)||(c=n.height,i.drawImage(n,0,l)),a<0?i.fillText(" x <= ".concat(s),o+5,l+c/2):i.fillText("".concat(a," < x <= ").concat(s),o+5,l+c/2)}),this),e()}},{key:"getValues",value:function(){var t=this,e=[];return QF(this.layer_)||this.layer_.getFeatures().forEach((function(r){try{var n=parseFloat(r.getAttribute(t.attributeName_));Number.isNaN(n)||e.push(n)}catch(t){}}),this),e}},{key:"update_",value:function(){var t,e,r=this;if(!QF(this.layer_)){var n=this.layer_.getFeatures();if(!QF(n))if(this.dataValues_=this.getValues(),QF(this.choroplethStyles_)||!QF(this.choroplethStyles_)&&(eD(this.choroplethStyles_[0])||eD(this.choroplethStyles_[1]))){this.breakPoints_=this.quantification_(this.dataValues_);var i=this.choroplethStyles_&&this.choroplethStyles_[0]?this.choroplethStyles_[0]:o.START_COLOR_DEFAULT,a=this.choroplethStyles_&&this.choroplethStyles_[1]?this.choroplethStyles_[1]:o.END_COLOR_DEFAULT,s=this.breakPoints_.length,l=ID(i,a,s);JF(l)||(l=[l]),this.choroplethStyles_=(t=l,e=o.DEFAULT_STYLE,t.map((function(t){return e(t)})))}else this.breakPoints_=this.quantification_(this.dataValues_,this.choroplethStyles_.length);for(var u=function(t){new UV(r.attributeName_,r.breakPoints_[t]).execute(n).forEach((function(e){return e.setStyle(r.choroplethStyles_[t])}))},c=this.breakPoints_.length-1;c>-1;c-=1)u(c);this.updateCanvas()}}},{key:"add",value:function(t){var e=t;return JF(e)||(e=[e]),e=e.filter((function(t){return t instanceof Xb||t instanceof fV})),WV(KV(o.prototype),"add",this).call(this,e)}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getChoroplethStyles().map((function(t){return t.serialize()})),r=this.getQuantification();r=QF(r.name)?MD(r):r.name;var n=TD({},this.getOptions());return{parameters:[t,e,r,n=MD(n),this.getStyles().map((function(t){return t.serialize()}))],deserializedMethod:"M.style.Choropleth.deserialize"}}},{key:"ORDER",get:function(){return 2}}])&&YV(e.prototype,r),n&&YV(e,n),o}(kb);QV.START_COLOR_DEFAULT="red",QV.END_COLOR_DEFAULT="brown";var $V=QV;function tq(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};sq(this,o);var a=r,s=n;if(eD(t)||$F(t)||Bl(Mu("exception").no_empty),TD(a,o.DEFAULT_OPTIONS),QF(a.gradient)||JF(a.gradient)||(a.gradient=[a.gradient]),a.gradient=a.gradient||o.DEFAULT_OPTIONS.gradient,a.gradient.length<2){var l=CD(a.gradient[0]);a.gradient.push(l)}a.blur=QF(a.blur)?o.DEFAULT_OPTIONS.blur:parseFloat(a.blur),a.radius=QF(a.radius)?o.DEFAULT_OPTIONS.radius:parseFloat(a.radius),a.weight=t,s.opacity=Number.isNaN(parseFloat(s.opacity))?1:parseFloat(s.opacity);var u=new yz(t,a,s);return(e=i.call(this,a,u)).attribute_=t,e.options_=a,e.vendorOptions_=s,e}return e=o,n=[{key:"deserialize",value:function(t){var e=nq(t,3),r=e[0],n=e[1],i=e[2],o=r,a=AD(n),s=AD(i);return new Function(["attribute","options","vendorOptions"],"return new M.style.Heatmap(attribute, options, vendorOptions)")(o,a,s)}}],(r=[{key:"unapply",value:function(t){this.layer_=null,this.getImpl().unapply(t)}},{key:"getAttributeName",value:function(){return this.attribute_}},{key:"setAttributeName",value:function(t){this.attribute_=t,this.options_.weight=this.attribute_,this.update_()}},{key:"getGradient",value:function(){return this.options_.gradient}},{key:"setGradient",value:function(t){var e=t;if(JF(e)||(e=[e]),e.length<2){var r=CD(e[0]);e.push(r)}this.options_.gradient=e,this.update_()}},{key:"getRadius",value:function(){return this.options_.radius}},{key:"setRadius",value:function(t){this.options_.radius=t,this.update_()}},{key:"getBlurSize",value:function(){return this.options_.blur}},{key:"setBlurSize",value:function(t){this.options_.blur=t,this.update_()}},{key:"update_",value:function(){var t=this.getImpl();t.unapply(this.layer_),t.setOptions(this.options_,this.vendorOptions_),t.applyToLayer(this.layer_)}},{key:"drawGeometryToCanvas",value:function(){var t=[this.getImpl().getMinWeight(),this.getImpl().getMaxWeight()],e=t[0],r=t[1],n=this.canvas_.getContext("2d"),i=n.createLinearGradient(0,150,200,150),o=PD([0,1],this.options_.gradient.length);this.options_.gradient.forEach((function(t,e){return i.addColorStop(o[e],t)})),n.fillStyle=i,n.fillRect(0,20,200,30),n.fillStyle="#000",n.font="10px sans-serif",n.fillText(e,0,60),n.fillText(r,199,60)}},{key:"updateCanvas",value:function(){this.drawGeometryToCanvas()}},{key:"toJSON",value:function(){var t=this.getAttributeName(),e=this.getOptions();return{parameters:[t,{gradient:iq(e.gradient),blur:e.blur,radius:e.radius,weight:e.weight},this.vendorOptions_],deserializedMethod:"M.style.Heatmap.deserialize"}}}])&&lq(e.prototype,r),n&&lq(e,n),o}(__);pq.DEFAULT_OPTIONS={gradient:["#00f","#0ff","#0f0","#ff0","#f00"],blur:15,radius:10};var dq,gq,yq,mq,_q,vq,bq,xq,wq=pq,Eq=function(t,e){return t.interfaces_&&t.interfaces_.indexOf(e)>-1};function Sq(){}class Oq{constructor(){Oq.constructor_.apply(this,arguments)}setOrdinate(t,e,r){}size(){}getOrdinate(t,e){}getCoordinate(){if(1===arguments.length){}else if(2===arguments.length){}}getCoordinateCopy(t){}getDimension(){}getX(t){}expandEnvelope(t){}copy(){}getY(t){}toCoordinateArray(){}getClass(){return Oq}get interfaces_(){return[Sq]}}Oq.constructor_=function(){},Oq.X=0,Oq.Y=1,Oq.Z=2,Oq.M=3;class Iq{constructor(){Iq.constructor_.apply(this,arguments)}create(){if(1===arguments.length){if(arguments[0]instanceof Array){}else if(Eq(arguments[0],Oq)){}}else if(2===arguments.length){}}getClass(){return Iq}get interfaces_(){return[]}}function Cq(t){this.message=t}Iq.constructor_=function(){};class Tq{constructor(){Tq.constructor_.apply(this,arguments)}filter(t){}getClass(){return Tq}get interfaces_(){return[]}}function Pq(){}function Rq(){}Tq.constructor_=function(){};class Lq{constructor(){Lq.constructor_.apply(this,arguments)}static equalsWithTolerance(t,e,r){return Math.abs(t-e)<=r}getClass(){return Lq}get interfaces_(){return[]}}function Mq(t,e){this.low=0|e,this.high=0|t}function Aq(){}function Nq(){}function kq(t){this.name="RuntimeException",this.message=t,this.stack=(new Error).stack,Error.call(this,t)}Lq.constructor_=function(){},Mq.toBinaryString=function(t){for(var e="",r=2147483648;r>0;r>>>=1)e+=(t.high&r)===r?"1":"0";for(r=2147483648;r>0;r>>>=1)e+=(t.low&r)===r?"1":"0";return e},Aq.isNaN=t=>Number.isNaN(t),Aq.isInfinite=t=>!Number.isFinite(t),Aq.MAX_VALUE=Number.MAX_VALUE,"function"==typeof Float64Array&&"function"==typeof Int32Array?(vq=2146435072,bq=new Float64Array(1),xq=new Int32Array(bq.buffer),Aq.doubleToLongBits=function(t){bq[0]=t;var e=0|xq[0],r=0|xq[1];return(r&vq)===vq&&0!=(1048575&r)&&0!==e&&(e=0,r=2146959360),new Mq(r,e)},Aq.longBitsToDouble=function(t){return xq[0]=t.low,xq[1]=t.high,bq[0]}):(dq=1023,gq=Math.log2,yq=Math.floor,mq=Math.pow,_q=function(){for(var t=53;t>0;t--){var e=mq(2,t)-1;if(yq(gq(e))+1===t)return e}return 0}(),Aq.doubleToLongBits=function(t){var e,r,n,i,o,a,s,l,u;if(t<0||1/t===Number.NEGATIVE_INFINITY?(a=1<<31,t=-t):a=0,0===t)return new Mq(l=a,u=0);if(t===1/0)return new Mq(l=2146435072|a,u=0);if(t!=t)return new Mq(l=2146959360,u=0);if(i=0,u=0,(e=yq(t))>1)if(e<=_q)(i=yq(gq(e)))<=20?(u=0,l=e<<20-i&1048575):(u=e%(r=mq(2,n=i-20))<<32-n,l=e/r&1048575);else for(n=e,u=0;0!==(n=yq(r=n/2));)i++,u>>>=1,u|=(1&l)<<31,l>>>=1,r!==n&&(l|=524288);if(s=i+dq,o=0===e,e=t-e,i<52&&0!==e)for(n=0;;){if((r=2*e)>=1?(e=r-1,o?(s--,o=!1):(n<<=1,n|=1,i++)):(e=r,o?0==--s&&(i++,o=!1):(n<<=1,i++)),20===i)l|=n,n=0;else if(52===i){u|=n;break}if(1===r){i<20?l|=n<<20-i:i<52&&(u|=n<<52-i);break}}return l|=s<<20,new Mq(l|=a,u)},Aq.longBitsToDouble=function(t){var e,r,n,i,o=t.high,a=t.low;r=o&1<<31?-1:1,n=((2146435072&o)>>20)-dq,i=0,e=1<<19;for(var s=1;s<=20;s++)o&e&&(i+=mq(2,-s)),e>>>=1;for(e=1<<31,s=21;s<=52;s++)a&e&&(i+=mq(2,-s)),e>>>=1;if(-1023===n){if(0===i)return 0*r;n=-1022}else{if(1024===n)return 0===i?r/0:NaN;i+=1}return r*i*mq(2,n)}),kq.prototype=Object.create(Error.prototype),kq.prototype.constructor=Error;class jq extends kq{constructor(){super(),jq.constructor_.apply(this,arguments)}getClass(){return jq}get interfaces_(){return[]}}jq.constructor_=function(){if(0===arguments.length)kq.constructor_.call(this);else if(1===arguments.length){let t=arguments[0];kq.constructor_.call(this,t)}};class Fq{constructor(){Fq.constructor_.apply(this,arguments)}static shouldNeverReachHere(){if(0===arguments.length)Fq.shouldNeverReachHere(null);else if(1===arguments.length){let t=arguments[0];throw new jq("Should never reach here"+(null!==t?": "+t:""))}}static isTrue(){if(1===arguments.length){let t=arguments[0];Fq.isTrue(t,null)}else if(2===arguments.length){let t=arguments[1];if(!arguments[0])throw null===t?new jq:new jq(t)}}static equals(){if(2===arguments.length){let t=arguments[0],e=arguments[1];Fq.equals(t,e,null)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];if(!e.equals(t))throw new jq("Expected "+t+" but encountered "+e+(null!==r?": "+r:""))}}getClass(){return Fq}get interfaces_(){return[]}}Fq.constructor_=function(){};class Dq{constructor(){Dq.constructor_.apply(this,arguments)}static hashCode(){if(1===arguments.length&&"number"==typeof arguments[0]){let e=arguments[0];var t=Aq.doubleToLongBits(e);return Math.trunc(t^t>>>32)}}setOrdinate(t,e){switch(t){case Dq.X:this.x=e;break;case Dq.Y:this.y=e;break;case Dq.Z:this.z=e;break;default:throw new Cq("Invalid ordinate index: "+t)}}equals2D(){if(1===arguments.length){let t=arguments[0];return this.x===t.x&&this.y===t.y}if(2===arguments.length){let t=arguments[0],e=arguments[1];return!!Lq.equalsWithTolerance(this.x,t.x,e)&&!!Lq.equalsWithTolerance(this.y,t.y,e)}}getOrdinate(t){switch(t){case Dq.X:return this.x;case Dq.Y:return this.y;case Dq.Z:return this.z}throw new Cq("Invalid ordinate index: "+t)}equals3D(t){return this.x===t.x&&this.y===t.y&&(this.z===t.z||Aq.isNaN(this.z)&&Aq.isNaN(t.z))}equals(t){return t instanceof Dq&&this.equals2D(t)}equalInZ(t,e){return Lq.equalsWithTolerance(this.z,t.z,e)}compareTo(t){var e=t;return this.xe.x?1:this.ye.y?1:0}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return Fq.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw t}}copy(){return new Dq(this)}toString(){return"("+this.x+", "+this.y+", "+this.z+")"}distance3D(t){var e=this.x-t.x,r=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+r*r+n*n)}distance(t){var e=this.x-t.x,r=this.y-t.y;return Math.sqrt(e*e+r*r)}hashCode(){var t=17;return t=37*(t=37*t+Dq.hashCode(this.x))+Dq.hashCode(this.y)}setCoordinate(t){this.x=t.x,this.y=t.y,this.z=t.z}getClass(){return Dq}get interfaces_(){return[Pq,Sq,Rq]}}class Gq{constructor(){Gq.constructor_.apply(this,arguments)}static compare(t,e){return te?1:Aq.isNaN(t)?Aq.isNaN(e)?0:-1:Aq.isNaN(e)?1:0}compare(t,e){var r=t,n=e,i=Gq.compare(r.x,n.x);if(0!==i)return i;var o=Gq.compare(r.y,n.y);return 0!==o?o:this._dimensionsToTest<=2?0:Gq.compare(r.z,n.z)}getClass(){return Gq}get interfaces_(){return[Nq]}}Gq.constructor_=function(){if(this._dimensionsToTest=2,0===arguments.length)Gq.constructor_.call(this,2);else if(1===arguments.length){let t=arguments[0];if(2!==t&&3!==t)throw new Cq("only 2 or 3 dimensions may be specified");this._dimensionsToTest=t}},Dq.DimensionalComparator=Gq,Dq.constructor_=function(){if(this.x=null,this.y=null,this.z=null,0===arguments.length)Dq.constructor_.call(this,0,0);else if(1===arguments.length){let t=arguments[0];Dq.constructor_.call(this,t.x,t.y,t.z)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];Dq.constructor_.call(this,t,e,Dq.NULL_ORDINATE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this.x=t,this.y=e,this.z=r}},Dq.serialVersionUID=0x5cbf2c235c7e5800,Dq.NULL_ORDINATE=Aq.NaN,Dq.X=0,Dq.Y=1,Dq.Z=2;class Uq{constructor(){Uq.constructor_.apply(this,arguments)}static intersects(){if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];return r.x>=(t.xe.x?t.x:e.x)&&r.y>=(t.ye.y?t.y:e.y)}if(4===arguments.length){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=Math.min(a.x,s.x),e=Math.max(a.x,s.x),r=Math.min(i.x,o.x),n=Math.max(i.x,o.x);return!(r>e)&&(!(ne)&&!(nt._minx?this._minx:t._minx,r=this._miny>t._miny?this._miny:t._miny,n=this._maxx=this._minx&&t.getMaxX()<=this._maxx&&t.getMinY()>=this._miny&&t.getMaxY()<=this._maxy)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return!this.isNull()&&(t>=this._minx&&t<=this._maxx&&e>=this._miny&&e<=this._maxy)}}intersects(){if(1===arguments.length){if(arguments[0]instanceof Uq){let t=arguments[0];return!this.isNull()&&!t.isNull()&&!(t._minx>this._maxx||t._maxxthis._maxy||t._maxythis._maxx)&&(!((t.x>e.x?t.x:e.x)this._maxy)&&!((t.y>e.y?t.y:e.y)this._maxx||tthis._maxy||ethis._maxx&&(this._maxx=t._maxx),t._minythis._maxy&&(this._maxy=t._maxy))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.isNull()?(this._minx=t,this._maxx=t,this._miny=e,this._maxy=e):(tthis._maxx&&(this._maxx=t),ethis._maxy&&(this._maxy=e))}}minExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return te._minx?1:this._minye._miny?1:this._maxxe._maxx?1:this._maxye._maxy?1:0}translate(t,e){if(this.isNull())return null;this.init(this.getMinX()+t,this.getMaxX()+t,this.getMinY()+e,this.getMaxY()+e)}toString(){return"Env["+this._minx+" : "+this._maxx+", "+this._miny+" : "+this._maxy+"]"}setToNull(){this._minx=0,this._maxx=-1,this._miny=0,this._maxy=-1}getHeight(){return this.isNull()?0:this._maxy-this._miny}maxExtent(){if(this.isNull())return 0;var t=this.getWidth(),e=this.getHeight();return t>e?t:e}expandBy(){if(1===arguments.length){let t=arguments[0];this.expandBy(t,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];if(this.isNull())return null;this._minx-=t,this._maxx+=t,this._miny-=e,this._maxy+=e,(this._minx>this._maxx||this._miny>this._maxy)&&this.setToNull()}}contains(){if(1===arguments.length){if(arguments[0]instanceof Uq){let t=arguments[0];return this.covers(t)}if(arguments[0]instanceof Dq){let t=arguments[0];return this.covers(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];return this.covers(t,e)}}centre(){return this.isNull()?null:new Dq((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)}init(){if(0===arguments.length)this.setToNull();else if(1===arguments.length){if(arguments[0]instanceof Dq){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof Uq){let t=arguments[0];this._minx=t._minx,this._maxx=t._maxx,this._miny=t._miny,this._maxy=t._maxy}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];tt._maxx&&(e=this._minx-t._maxx);var r=0;return this._maxyt._maxy&&(r=this._miny-t._maxy),0===e?r:0===r?e:Math.sqrt(e*e+r*r)}hashCode(){var t=17;return t=37*(t=37*(t=37*(t=37*t+Dq.hashCode(this._minx))+Dq.hashCode(this._maxx))+Dq.hashCode(this._miny))+Dq.hashCode(this._maxy)}getClass(){return Uq}get interfaces_(){return[Pq,Rq]}}Uq.constructor_=function(){if(this._minx=null,this._maxx=null,this._miny=null,this._maxy=null,0===arguments.length)this.init();else if(1===arguments.length){if(arguments[0]instanceof Dq){let t=arguments[0];this.init(t.x,t.x,t.y,t.y)}else if(arguments[0]instanceof Uq){let t=arguments[0];this.init(t)}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t.x,e.x,t.y,e.y)}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];this.init(t,e,r,n)}},Uq.serialVersionUID=0x51845cd552189800;class Bq{constructor(){Bq.constructor_.apply(this,arguments)}isGeometryCollection(){return this.getTypeCode()===Bq.TYPECODE_GEOMETRYCOLLECTION}getFactory(){return this._factory}getGeometryN(t){return this}getArea(){return 0}isRectangle(){return!1}equals(){if(arguments[0]instanceof Bq){let t=arguments[0];return null!==t&&this.equalsTopo(t)}if(arguments[0]instanceof Object){let e=arguments[0];if(!(e instanceof Bq))return!1;var t=e;return this.equalsExact(t)}}equalsExact(t){return this===t||this.equalsExact(t,0)}geometryChanged(){this.apply(Bq.geometryChangedFilter)}geometryChangedAction(){this._envelope=null}equalsNorm(t){return null!==t&&this.norm().equalsExact(t.norm())}getLength(){return 0}getNumGeometries(){return 1}compareTo(){if(1===arguments.length){let e=arguments[0];var t=e;return this.getTypeCode()!==t.getTypeCode()?this.getTypeCode()-t.getTypeCode():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e)}if(2===arguments.length){let e=arguments[0],r=arguments[1];t=e;return this.getTypeCode()!==t.getTypeCode()?this.getTypeCode()-t.getTypeCode():this.isEmpty()&&t.isEmpty()?0:this.isEmpty()?-1:t.isEmpty()?1:this.compareToSameClass(e,r)}}getUserData(){return this._userData}getSRID(){return this._SRID}getEnvelope(){return this.getFactory().toGeometry(this.getEnvelopeInternal())}checkNotGeometryCollection(t){if(t.getTypeCode()===Bq.TYPECODE_GEOMETRYCOLLECTION)throw new Cq("This method does not support GeometryCollection arguments")}equal(t,e,r){return 0===r?t.equals(e):t.distance(e)<=r}norm(){var t=this.copy();return t.normalize(),t}getPrecisionModel(){return this._factory.getPrecisionModel()}getEnvelopeInternal(){return null===this._envelope&&(this._envelope=this.computeEnvelopeInternal()),new Uq(this._envelope)}setSRID(t){this._SRID=t}setUserData(t){this._userData=t}compare(t,e){for(var r=t.iterator(),n=e.iterator();r.hasNext()&&n.hasNext();){var i=r.next(),o=n.next(),a=i.compareTo(o);if(0!==a)return a}return r.hasNext()?1:n.hasNext()?-1:0}hashCode(){return this.getEnvelopeInternal().hashCode()}isGeometryCollectionOrDerived(){return this.getTypeCode()===Bq.TYPECODE_GEOMETRYCOLLECTION||this.getTypeCode()===Bq.TYPECODE_MULTIPOINT||this.getTypeCode()===Bq.TYPECODE_MULTILINESTRING||this.getTypeCode()===Bq.TYPECODE_MULTIPOLYGON}get interfaces_(){return[Sq,Pq,Rq]}getClass(){return Bq}static hasNonEmptyElements(t){for(var e=0;e0}getClass(){return Yq}get interfaces_(){return[Vq]}}Yq.constructor_=function(){};class Wq{constructor(){Wq.constructor_.apply(this,arguments)}isInBoundary(t){return t>1}getClass(){return Wq}get interfaces_(){return[Vq]}}Wq.constructor_=function(){};class Xq{constructor(){Xq.constructor_.apply(this,arguments)}isInBoundary(t){return 1===t}getClass(){return Xq}get interfaces_(){return[Vq]}}function Hq(){}function Zq(){}function Kq(t){this.message=t||""}function Jq(){}function Qq(t){this.message=t||""}function $q(t){this.message=t||""}function tY(){this.array_=[],arguments[0]instanceof Zq&&this.addAll(arguments[0])}Xq.constructor_=function(){},Vq.Mod2BoundaryNodeRule=qq,Vq.EndPointBoundaryNodeRule=Yq,Vq.MultiValentEndPointBoundaryNodeRule=Wq,Vq.MonoValentEndPointBoundaryNodeRule=Xq,Vq.constructor_=function(){},Vq.MOD2_BOUNDARY_RULE=new qq,Vq.ENDPOINT_BOUNDARY_RULE=new Yq,Vq.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new Wq,Vq.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new Xq,Vq.OGC_SFS_BOUNDARY_RULE=Vq.MOD2_BOUNDARY_RULE,Hq.prototype.hasNext=function(){},Hq.prototype.next=function(){},Hq.prototype.remove=function(){},Zq.prototype.add=function(){},Zq.prototype.addAll=function(){},Zq.prototype.isEmpty=function(){},Zq.prototype.iterator=function(){},Zq.prototype.size=function(){},Zq.prototype.toArray=function(){},Zq.prototype.remove=function(){},Kq.prototype=new Error,Kq.prototype.name="IndexOutOfBoundsException",Jq.prototype=Object.create(Zq.prototype),Jq.prototype.constructor=Jq,Jq.prototype.get=function(){},Jq.prototype.set=function(){},Jq.prototype.isEmpty=function(){},Qq.prototype=new Error,Qq.prototype.name="NoSuchElementException",$q.prototype=new Error,$q.prototype.name="OperationNotSupported",tY.prototype=Object.create(Jq.prototype),tY.prototype.constructor=tY,tY.prototype.ensureCapacity=function(){},tY.prototype.interfaces_=[Jq,Zq],tY.prototype.add=function(t){return 1===arguments.length?this.array_.push(t):this.array_.splice(arguments[0],0,arguments[1]),!0},tY.prototype.clear=function(){this.array_=[]},tY.prototype.addAll=function(t){for(var e=t.iterator();e.hasNext();)this.add(e.next());return!0},tY.prototype.set=function(t,e){var r=this.array_[t];return this.array_[t]=e,r},tY.prototype.iterator=function(){return new eY(this)},tY.prototype.get=function(t){if(t<0||t>=this.size())throw new Kq;return this.array_[t]},tY.prototype.isEmpty=function(){return 0===this.array_.length},tY.prototype.size=function(){return this.array_.length},tY.prototype.toArray=function(){for(var t=[],e=0,r=this.array_.length;e=1)if(this.get(this.size()-1).equals2D(t))return null;super.add.call(this,t)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return this.add(t,e),!0}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){let e=arguments[0],r=arguments[1];if(arguments[2])for(var t=0;t=0;t--)this.add(e[t],r);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof Dq){let t=arguments[0],r=arguments[1];if(!arguments[2]){var e=this.size();if(e>0){if(t>0)if(this.get(t-1).equals2D(r))return null;if(to&&(r=-1);for(t=i;t!==o;t+=r)this.add(e[t],n);return!0}}closeRing(){this.size()>0&&this.add(new Dq(this.get(0)),!1)}getClass(){return rY}get interfaces_(){return[]}}rY.constructor_=function(){if(0===arguments.length);else if(1===arguments.length){let t=arguments[0];this.ensureCapacity(t.length),this.add(t,!0)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.ensureCapacity(t.length),this.add(t,e)}},rY.coordArrayType=new Array(0).fill(null);class nY{constructor(){nY.constructor_.apply(this,arguments)}static log10(t){var e=Math.log(t);return Aq.isInfinite(e)||Aq.isNaN(e)?e:e/nY.LOG_10}static min(t,e,r,n){var i=t;return er?r:t}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){let t=arguments[0],e=arguments[1],r=arguments[2];return tr?r:t}}static wrap(t,e){return t<0?e- -t%e:t%e}static max(){if(3===arguments.length){let e=arguments[1],r=arguments[2];return e>(t=arguments[0])&&(t=e),r>t&&(t=r),t}if(4===arguments.length){let e=arguments[1],r=arguments[2],n=arguments[3];var t;return e>(t=arguments[0])&&(t=e),r>t&&(t=r),n>t&&(t=n),t}}static average(t,e){return(t+e)/2}getClass(){return nY}get interfaces_(){return[]}}function iY(){}nY.constructor_=function(){},nY.LOG_10=Math.log(10),iY.arraycopy=(t,e,r,n,i)=>{let o=0;for(let a=e;a({"line.separator":"\n"}[t]);class oY{constructor(){oY.constructor_.apply(this,arguments)}static isRing(t){return!(t.length<4)&&!!t[0].equals2D(t[t.length-1])}static ptNotInList(t,e){for(var r=0;r=t?e:[]}static indexOf(t,e){for(var r=0;r0)&&(e=t[r]);return e}static extract(t,e,r){e=nY.clamp(e,0,t.length);var n=(r=nY.clamp(r,-1,t.length))-e+1;r<0&&(n=0),e>=t.length&&(n=0),rn.length)return 1;if(0===r.length)return 0;var i=oY.compare(r,n);return oY.isEqualReversed(r,n)?0:i}OLDcompare(t,e){var r=t,n=e;if(r.lengthn.length)return 1;if(0===r.length)return 0;for(var i=oY.increasingDirection(r),o=oY.increasingDirection(n),a=i>0?0:r.length-1,s=o>0?0:r.length-1,l=0;l0))return e.value;e=e.right}}return null},_Y.prototype.put=function(t,e){if(null===this.root_)return this.root_={key:t,value:e,left:null,right:null,parent:null,color:0,getValue(){return this.value},getKey(){return this.key}},this.size_=1,null;var r,n,i=this.root_;do{if(r=i,(n=t.compareTo(i.key))<0)i=i.left;else{if(!(n>0)){var o=i.value;return i.value=e,o}i=i.right}}while(null!==i);var a={key:t,left:null,right:null,value:e,parent:r,color:0,getValue(){return this.value},getKey(){return this.key}};return n<0?r.left=a:r.right=a,this.fixAfterInsertion(a),this.size_++,null},_Y.prototype.fixAfterInsertion=function(t){for(t.color=1;null!=t&&t!=this.root_&&1==t.parent.color;){var e;if(dY(t)==yY(dY(dY(t))))1==pY(e=mY(dY(dY(t))))?(gY(dY(t),0),gY(e,0),gY(dY(dY(t)),1),t=dY(dY(t))):(t==mY(dY(t))&&(t=dY(t),this.rotateLeft(t)),gY(dY(t),0),gY(dY(dY(t)),1),this.rotateRight(dY(dY(t))));else 1==pY(e=yY(dY(dY(t))))?(gY(dY(t),0),gY(e,0),gY(dY(dY(t)),1),t=dY(dY(t))):(t==yY(dY(t))&&(t=dY(t),this.rotateRight(t)),gY(dY(t),0),gY(dY(dY(t)),1),this.rotateLeft(dY(dY(t))))}this.root_.color=0},_Y.prototype.values=function(){var t=new tY,e=this.getFirstEntry();if(null!==e)for(t.add(e.value);null!==(e=_Y.successor(e));)t.add(e.value);return t},_Y.prototype.entrySet=function(){var t=new hY,e=this.getFirstEntry();if(null!==e)for(t.add(e);null!==(e=_Y.successor(e));)t.add(e);return t},_Y.prototype.rotateLeft=function(t){if(null!=t){var e=t.right;t.right=e.left,null!=e.left&&(e.left.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.left==t?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e}},_Y.prototype.rotateRight=function(t){if(null!=t){var e=t.left;t.left=e.right,null!=e.right&&(e.right.parent=t),e.parent=t.parent,null==t.parent?this.root_=e:t.parent.right==t?t.parent.right=e:t.parent.left=e,e.right=t,t.parent=e}},_Y.prototype.getFirstEntry=function(){var t=this.root_;if(null!=t)for(;null!=t.left;)t=t.left;return t},_Y.successor=function(t){if(null===t)return null;if(null!==t.right){for(var e=t.right;null!==e.left;)e=e.left;return e}e=t.parent;for(var r=t;null!==e&&r===e.right;)r=e,e=e.parent;return e},_Y.prototype.size=function(){return this.size_},_Y.prototype.containsKey=function(t){for(var e=this.root_;null!==e;){var r=t.compareTo(e.key);if(r<0)e=e.left;else{if(!(r>0))return!0;e=e.right}}return!1};class vY{constructor(){vY.constructor_.apply(this,arguments)}getClass(){return vY}get interfaces_(){return[]}}function bY(){}function xY(){this.array_=[],arguments[0]instanceof Zq&&this.addAll(arguments[0])}vY.constructor_=function(){},bY.prototype=new cY,xY.prototype=new bY,xY.prototype.contains=function(t){for(var e=0,r=this.array_.length;et<=32&&t>=0||127==t,OY.toUpperCase=t=>t.toUpperCase();class IY{constructor(){IY.constructor_.apply(this,arguments)}static toDimensionSymbol(t){switch(t){case IY.FALSE:return IY.SYM_FALSE;case IY.TRUE:return IY.SYM_TRUE;case IY.DONTCARE:return IY.SYM_DONTCARE;case IY.P:return IY.SYM_P;case IY.L:return IY.SYM_L;case IY.A:return IY.SYM_A}throw new Cq("Unknown dimension value: "+t)}static toDimensionValue(t){switch(OY.toUpperCase(t)){case IY.SYM_FALSE:return IY.FALSE;case IY.SYM_TRUE:return IY.TRUE;case IY.SYM_DONTCARE:return IY.DONTCARE;case IY.SYM_P:return IY.P;case IY.SYM_L:return IY.L;case IY.SYM_A:return IY.A}throw new Cq("Unknown dimension symbol: "+t)}getClass(){return IY}get interfaces_(){return[]}}IY.constructor_=function(){},IY.P=0,IY.L=1,IY.A=2,IY.FALSE=-1,IY.TRUE=-2,IY.DONTCARE=-3,IY.SYM_FALSE="F",IY.SYM_TRUE="T",IY.SYM_DONTCARE="*",IY.SYM_P="0",IY.SYM_L="1",IY.SYM_A="2";class CY{constructor(){CY.constructor_.apply(this,arguments)}filter(t){}getClass(){return CY}get interfaces_(){return[]}}CY.constructor_=function(){};class TY{constructor(){TY.constructor_.apply(this,arguments)}filter(t,e){}isDone(){}isGeometryChanged(){}getClass(){return TY}get interfaces_(){return[]}}TY.constructor_=function(){};class PY extends Bq{constructor(){super(),PY.constructor_.apply(this,arguments)}computeEnvelopeInternal(){for(var t=new Uq,e=0;e=0;){var a=i.substring(0,o);n.add(a),o=(i=i.substring(o+r)).indexOf(e)}i.length>0&&n.add(i);for(var s=new Array(n.size()).fill(null),l=0;l0)for(var o=i;o0&&r.append(" ");for(var i=0;i0&&r.append(","),r.append(GY.toString(o.getOrdinate(n,i)))}return r.append(")"),r.toString()}}static ensureValidRing(t,e){var r=e.size();return 0===r?e:r<=3?BY.createClosedRing(t,e,4):e.getOrdinate(0,Oq.X)===e.getOrdinate(r-1,Oq.X)&&e.getOrdinate(0,Oq.Y)===e.getOrdinate(r-1,Oq.Y)?e:BY.createClosedRing(t,e,r+1)}static createClosedRing(t,e,r){var n=t.create(r,e.getDimension()),i=e.size();BY.copy(e,0,n,0,i);for(var o=i;o0){var r=this._points.copy();BY.reverse(r),this._points=r}return null}}}getCoordinate(){return this.isEmpty()?null:this._points.getCoordinate(0)}getBoundaryDimension(){return this.isClosed()?IY.FALSE:0}isClosed(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))}getEndPoint(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)}getTypeCode(){return Bq.TYPECODE_LINESTRING}getDimension(){return 1}getLength(){return AY.ofLine(this._points)}getNumPoints(){return this._points.size()}reverse(){var t=this._points.copy();return BY.reverse(t),this.getFactory().createLineString(t)}compareToSameClass(){if(1===arguments.length){for(var t=arguments[0],e=0,r=0;e= 2)");this._points=t}isCoordinate(t){for(var e=0;et?1:0},XY.isNaN=t=>Number.isNaN(t);class HY{constructor(){HY.constructor_.apply(this,arguments)}static sqr(t){return HY.valueOf(t).selfMultiply(t)}static valueOf(){if("string"==typeof arguments[0]){let t=arguments[0];return HY.parse(t)}if("number"==typeof arguments[0]){return new HY(arguments[0])}}static sqrt(t){return HY.valueOf(t).sqrt()}static parse(t){for(var e=0,r=t.length;OY.isWhitespace(t.charAt(e));)e++;var n=!1;if(e=r);){var u=t.charAt(e);if(e++,OY.isDigit(u)){var c=u-"0";o.selfMultiply(HY.TEN),o.selfAdd(c),a++}else{if("."!==u){if("e"===u||"E"===u){var h=t.substring(e);try{l=XY.parseInt(h)}catch(e){throw e instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+h+" in string "+t):e}break}throw new NumberFormatException("Unexpected character '"+u+"' at position "+e+" in string "+t)}s=a}}var f=o,p=a-s-l;if(0===p)f=o;else if(p>0){var d=HY.TEN.pow(p);f=o.divide(d)}else if(p<0){d=HY.TEN.pow(-p);f=o.multiply(d)}return n?f.negate():f}static createNaN(){return new HY(Aq.NaN,Aq.NaN)}static copy(t){return new HY(t)}static magnitude(t){var e=Math.abs(t),r=Math.log(e)/Math.log(10),n=Math.trunc(Math.floor(r));return 10*Math.pow(10,n)<=e&&(n+=1),n}static stringOfChar(t,e){for(var r=new WY,n=0;n9?(c=!0,h="9"):h="0"+u,a.append(h),r=r.subtract(HY.valueOf(u)).multiply(HY.TEN),c&&r.selfAdd(HY.TEN);var f=!0,p=HY.magnitude(r._hi);if(p<0&&Math.abs(p)>=s-l&&(f=!1),!f)break}return e[0]=n,a.toString()}sqr(){return this.multiply(this)}doubleValue(){return this._hi+this._lo}subtract(){if(arguments[0]instanceof HY){let t=arguments[0];return this.add(t.negate())}if("number"==typeof arguments[0]){let t=arguments[0];return this.add(-t)}}equals(){if(1===arguments.length&&arguments[0]instanceof HY){let t=arguments[0];return this._hi===t._hi&&this._lo===t._lo}}isZero(){return 0===this._hi&&0===this._lo}selfSubtract(){if(arguments[0]instanceof HY){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t._hi,-t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.isNaN()?this:this.selfAdd(-t,0)}}getSpecialNumberString(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null}min(t){return this.le(t)?this:t}selfDivide(){if(1===arguments.length){if(arguments[0]instanceof HY){let t=arguments[0];return this.selfDivide(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfDivide(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r,n,i=null,o=null,a=null,s=null;return r=this._hi/l,s=(i=(a=HY.SPLIT*r)-(i=a-r))*(o=(s=HY.SPLIT*l)-(o=s-l))-(n=r*l)+i*(e=l-o)+(t=r-i)*o+t*e,s=r+(a=(this._hi-n-s+this._lo-r*u)/l),this._hi=s,this._lo=r-s+a,this}}dump(){return"DD<"+this._hi+", "+this._lo+">"}divide(){if(arguments[0]instanceof HY){let l=arguments[0];var t,e,r,n,i=null,o=null,a=null,s=null;return t=(r=this._hi/l._hi)-(i=(a=HY.SPLIT*r)-(i=a-r)),s=i*(o=(s=HY.SPLIT*l._hi)-(o=s-l._hi))-(n=r*l._hi)+i*(e=l._hi-o)+t*o+t*e,a=(this._hi-n-s+this._lo-r*l._lo)/l._hi,new HY(s=r+a,r-s+a)}if("number"==typeof arguments[0]){let t=arguments[0];return Aq.isNaN(t)?HY.createNaN():HY.copy(this).selfDivide(t,0)}}ge(t){return this._hi>t._hi||this._hi===t._hi&&this._lo>=t._lo}pow(t){if(0===t)return HY.valueOf(1);var e=new HY(this),r=HY.valueOf(1),n=Math.abs(t);if(n>1)for(;n>0;)n%2==1&&r.selfMultiply(e),(n/=2)>0&&(e=e.sqr());else r=e;return t<0?r.reciprocal():r}ceil(){if(this.isNaN())return HY.NaN;var t=Math.ceil(this._hi),e=0;return t===this._hi&&(e=Math.ceil(this._lo)),new HY(t,e)}compareTo(t){var e=t;return this._hie._hi?1:this._loe._lo?1:0}rint(){return this.isNaN()?this:this.add(.5).floor()}setValue(){if(arguments[0]instanceof HY){let t=arguments[0];return this.init(t),this}if("number"==typeof arguments[0]){let t=arguments[0];return this.init(t),this}}max(t){return this.ge(t)?this:t}sqrt(){if(this.isZero())return HY.valueOf(0);if(this.isNegative())return HY.NaN;var t=1/Math.sqrt(this._hi),e=this._hi*t,r=HY.valueOf(e),n=this.subtract(r.sqr())._hi*(.5*t);return r.add(n)}selfAdd(){if(1===arguments.length){if(arguments[0]instanceof HY){let t=arguments[0];return this.selfAdd(t._hi,t._lo)}if("number"==typeof arguments[0]){let a=arguments[0];var t=null,e=null,r=null,n=null,i=null,o=null;return n=(r=this._hi+a)-(i=r-this._hi),e=(o=(n=a-i+(this._hi-n))+this._lo)+(r-(t=r+o)),this._hi=t+e,this._lo=e+(t-this._hi),this}}else if(2===arguments.length){let c=arguments[0],h=arguments[1];t=null,e=null;var a,s=null;r=null,n=null,i=null,o=null;r=this._hi+c,a=this._lo+h,n=r-(i=r-this._hi),s=a-(o=a-this._lo);var l=(t=r+(i=(n=c-i+(this._hi-n))+a))+(i=(s=h-o+(this._lo-s))+(e=i+(r-t))),u=i+(t-l);return this._hi=l,this._lo=u,this}}selfMultiply(){if(1===arguments.length){if(arguments[0]instanceof HY){let t=arguments[0];return this.selfMultiply(t._hi,t._lo)}if("number"==typeof arguments[0]){let t=arguments[0];return this.selfMultiply(t,0)}}else if(2===arguments.length){let l=arguments[0],u=arguments[1];var t,e,r=null,n=null,i=null,o=null;r=(i=HY.SPLIT*this._hi)-this._hi,o=HY.SPLIT*l,r=i-r,t=this._hi-r,n=o-l;var a=(i=this._hi*l)+(o=r*(n=o-n)-i+r*(e=l-n)+t*n+t*e+(this._hi*u+this._lo*l)),s=o+(r=i-a);return this._hi=a,this._lo=s,this}}selfSqr(){return this.selfMultiply(this)}floor(){if(this.isNaN())return HY.NaN;var t=Math.floor(this._hi),e=0;return t===this._hi&&(e=Math.floor(this._lo)),new HY(t,e)}negate(){return this.isNaN()?this:new HY(-this._hi,-this._lo)}clone(){try{return null}catch(t){if(t instanceof CloneNotSupportedException)return null;throw t}}multiply(){if(arguments[0]instanceof HY){let t=arguments[0];return t.isNaN()?HY.createNaN():HY.copy(this).selfMultiply(t)}if("number"==typeof arguments[0]){let t=arguments[0];return Aq.isNaN(t)?HY.createNaN():HY.copy(this).selfMultiply(t,0)}}isNaN(){return Aq.isNaN(this._hi)}intValue(){return Math.trunc(this._hi)}toString(){var t=HY.magnitude(this._hi);return t>=-3&&t<=20?this.toStandardNotation():this.toSciNotation()}toStandardNotation(){var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!0,e),n=e[0]+1,i=r;if("."===r.charAt(0))i="0"+r;else if(n<0)i="0."+HY.stringOfChar("0",-n)+r;else if(-1===r.indexOf(".")){var o=n-r.length;i=r+HY.stringOfChar("0",o)+".0"}return this.isNegative()?"-"+i:i}reciprocal(){var t,e,r,n,i=null,o=null,a=null,s=null;t=(r=1/this._hi)-(i=(a=HY.SPLIT*r)-(i=a-r)),o=(s=HY.SPLIT*this._hi)-this._hi;var l=r+(a=(1-(n=r*this._hi)-(s=i*(o=s-o)-n+i*(e=this._hi-o)+t*o+t*e)-r*this._lo)/this._hi);return new HY(l,r-l+a)}toSciNotation(){if(this.isZero())return HY.SCI_NOT_ZERO;var t=this.getSpecialNumberString();if(null!==t)return t;var e=new Array(1).fill(null),r=this.extractSignificantDigits(!1,e),n=HY.SCI_NOT_EXPONENT_CHAR+e[0];if("0"===r.charAt(0))throw new IllegalStateException("Found leading zero: "+r);var i="";r.length>1&&(i=r.substring(1));var o=r.charAt(0)+"."+i;return this.isNegative()?"-"+o+n:o+n}abs(){return this.isNaN()?HY.NaN:this.isNegative()?this.negate():new HY(this)}isPositive(){return this._hi>0||0===this._hi&&this._lo>0}lt(t){return this._hit._hi||this._hi===t._hi&&this._lo>t._lo}isNegative(){return this._hi<0||0===this._hi&&this._lo<0}trunc(){return this.isNaN()?HY.NaN:this.isPositive()?this.floor():this.ceil()}signum(){return this._hi>0?1:this._hi<0?-1:this._lo>0?1:this._lo<0?-1:0}getClass(){return HY}get interfaces_(){return[Rq,Pq,Sq]}}HY.constructor_=function(){if(this._hi=0,this._lo=0,0===arguments.length)this.init(0);else if(1===arguments.length){if("number"==typeof arguments[0]){let t=arguments[0];this.init(t)}else if(arguments[0]instanceof HY){let t=arguments[0];this.init(t)}else if("string"==typeof arguments[0]){let t=arguments[0];HY.constructor_.call(this,HY.parse(t))}}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.init(t,e)}},HY.PI=new HY(3.141592653589793,12246467991473532e-32),HY.TWO_PI=new HY(6.283185307179586,24492935982947064e-32),HY.PI_2=new HY(1.5707963267948966,6123233995736766e-32),HY.E=new HY(2.718281828459045,14456468917292502e-32),HY.NaN=new HY(Aq.NaN,Aq.NaN),HY.EPS=123259516440783e-46,HY.SPLIT=134217729,HY.MAX_PRINT_DIGITS=32,HY.TEN=HY.valueOf(10),HY.ONE=HY.valueOf(1),HY.SCI_NOT_EXPONENT_CHAR="E",HY.SCI_NOT_ZERO="0.0E0";class ZY{constructor(){ZY.constructor_.apply(this,arguments)}static orientationIndex(t,e,r){var n=ZY.orientationIndexFilter(t,e,r);if(n<=1)return n;var i=HY.valueOf(e.x).selfAdd(-t.x),o=HY.valueOf(e.y).selfAdd(-t.y),a=HY.valueOf(r.x).selfAdd(-e.x),s=HY.valueOf(r.y).selfAdd(-e.y);return i.selfMultiply(s).selfSubtract(o.selfMultiply(a)).signum()}static signOfDet2x2(){if(arguments[0]instanceof HY){let t=arguments[1],e=arguments[2],r=arguments[3];return arguments[0].multiply(r).selfSubtract(t.multiply(e)).signum()}if("number"==typeof arguments[0]){let i=arguments[0],o=arguments[1],a=arguments[2],s=arguments[3];var t=HY.valueOf(i),e=HY.valueOf(o),r=HY.valueOf(a),n=HY.valueOf(s);return t.multiply(n).selfSubtract(e.multiply(r)).signum()}}static intersection(t,e,r,n){var i=HY.valueOf(n.y).selfSubtract(r.y).selfMultiply(HY.valueOf(e.x).selfSubtract(t.x)),o=HY.valueOf(n.x).selfSubtract(r.x).selfMultiply(HY.valueOf(e.y).selfSubtract(t.y)),a=i.subtract(o),s=HY.valueOf(n.x).selfSubtract(r.x).selfMultiply(HY.valueOf(t.y).selfSubtract(r.y)),l=HY.valueOf(n.y).selfSubtract(r.y).selfMultiply(HY.valueOf(t.x).selfSubtract(r.x)),u=s.subtract(l).selfDivide(a).doubleValue(),c=HY.valueOf(t.x).selfAdd(HY.valueOf(e.x).selfSubtract(t.x).selfMultiply(u)).doubleValue(),h=HY.valueOf(e.x).selfSubtract(t.x).selfMultiply(HY.valueOf(t.y).selfSubtract(r.y)),f=HY.valueOf(e.y).selfSubtract(t.y).selfMultiply(HY.valueOf(t.x).selfSubtract(r.x)),p=h.subtract(f).selfDivide(a).doubleValue(),d=HY.valueOf(r.y).selfAdd(HY.valueOf(n.y).selfSubtract(r.y).selfMultiply(p)).doubleValue();return new Dq(c,d)}static orientationIndexFilter(t,e,r){var n=null,i=(t.x-r.x)*(e.y-r.y),o=(t.y-r.y)*(e.x-r.x),a=i-o;if(i>0){if(o<=0)return ZY.signum(a);n=i+o}else{if(!(i<0))return ZY.signum(a);if(o>=0)return ZY.signum(a);n=-i-o}var s=ZY.DP_SAFE_EPSILON*n;return a>=s||-a>=s?ZY.signum(a):2}static signum(t){return t>0?1:t<0?-1:0}getClass(){return ZY}get interfaces_(){return[]}}ZY.constructor_=function(){},ZY.DP_SAFE_EPSILON=1e-15;class KY{constructor(){KY.constructor_.apply(this,arguments)}static index(t,e,r){return ZY.orientationIndex(t,e,r)}static isCCW(t){var e=t.length-1;if(e<3)throw new Cq("Ring has fewer than 4 points, so orientation cannot be determined");for(var r=t[0],n=0,i=1;i<=e;i++){var o=t[i];o.y>r.y&&(r=o,n=i)}var a=n;do{(a-=1)<0&&(a=e)}while(t[a].equals2D(r)&&a!==n);var s=n;do{s=(s+1)%e}while(t[s].equals2D(r)&&s!==n);var l=t[a],u=t[s];if(l.equals2D(r)||u.equals2D(r)||l.equals2D(u))return!1;var c=KY.index(l,r,u);return 0===c?l.x>u.x:c>0}getClass(){return KY}get interfaces_(){return[]}}KY.constructor_=function(){},KY.CLOCKWISE=-1,KY.RIGHT=KY.CLOCKWISE,KY.COUNTERCLOCKWISE=1,KY.LEFT=KY.COUNTERCLOCKWISE,KY.COLLINEAR=0,KY.STRAIGHT=KY.COLLINEAR;class JY{constructor(){JY.constructor_.apply(this,arguments)}getClass(){return JY}get interfaces_(){return[]}}JY.constructor_=function(){};class QY extends Bq{constructor(){super(),QY.constructor_.apply(this,arguments)}computeEnvelopeInternal(){return this._shell.getEnvelopeInternal()}getCoordinates(){if(this.isEmpty())return[];for(var t=new Array(this.getNumPoints()).fill(null),e=-1,r=this._shell.getCoordinates(),n=0;n=1&&this.getCoordinateSequence().size()= 4)")}getGeometryType(){return Bq.TYPENAME_LINEARRING}copy(){return new tW(this._points.copy(),this._factory)}getClass(){return tW}get interfaces_(){return[]}}tW.constructor_=function(){if(arguments[0]instanceof Array&&arguments[1]instanceof vW){let t=arguments[0],e=arguments[1];tW.constructor_.call(this,e.getCoordinateSequenceFactory().create(t),e)}else if(Eq(arguments[0],Oq)&&arguments[1]instanceof vW){let t=arguments[0],e=arguments[1];zY.constructor_.call(this,t,e),this.validateConstruction()}},tW.MINIMUM_VALID_SIZE=4,tW.serialVersionUID=-0x3b229e262367a600;class eW extends PY{constructor(){super(),eW.constructor_.apply(this,arguments)}equalsExact(){if(2===arguments.length&&"number"==typeof arguments[1]&&arguments[0]instanceof Bq){let t=arguments[0],e=arguments[1];return!!this.isEquivalentClass(t)&&super.equalsExact.call(this,t,e)}return super.equalsExact.apply(this,arguments)}getBoundaryDimension(){return 1}getTypeCode(){return Bq.TYPECODE_MULTIPOLYGON}getDimension(){return 2}reverse(){for(var t=this._geometries.length,e=new Array(t).fill(null),r=0;r0){var t=new UY(17*this._coordinates.length);t.append("("),t.append(this._coordinates[0]);for(var e=1;e3&&(e=3),e<2?new sW(t):new sW(t,e)}}getClass(){return lW}get interfaces_(){return[Iq,Rq]}}lW.constructor_=function(){},lW.serialVersionUID=-0x38e49fa6cf6f2e00,lW.instanceObject=new lW;var uW=Object.defineProperty;var cW=function(t,e){function r(t){if(!this||this.constructor!==r)return new r(t);this._keys=[],this._values=[],this._itp=[],this.objectOnly=e,t&&hW.call(this,t)}e||uW(t,"size",{get:dW});return t.constructor=r,r.prototype=t,r}({delete:function(t){this.has(t)&&(this._keys.splice(wY,1),this._values.splice(wY,1),this._itp.forEach((function(t){wY-1},has:function(t){return fW.call(this,this._keys,t)},get:function(t){return this.has(t)?this._values[wY]:void 0},set:function(t,e){return this.has(t)?this._values[wY]=e:this._values[this._keys.push(t)-1]=e,this},keys:function(){return pW(this._itp,this._keys)},values:function(){return pW(this._itp,this._values)},entries:function(){return pW(this._itp,this._keys,this._values)},forEach:function(t,e){for(var r=this.entries();;){var n=r.next();if(n.done)break;t.call(e,n.value[1],n.value[0],this)}},clear:function(){(this._keys||0).length=this._values.length=0}});function hW(t){this.add?t.forEach(this.add,this):t.forEach((function(t){this.set(t[0],t[1])}),this)}function fW(t,e){if(this.objectOnly&&e!==Object(e))throw new TypeError("Invalid value used as weak collection key");if(e!=e||0===e)for(wY=t.length;wY--&&((r=t[wY])!==(n=e)&&(r==r||n==n)););else wY=t.indexOf(e);var r,n;return wY>-1}function pW(t,e,r){var n=[0],i=!1;return t.push(n),{next:function(){var o,a=n[0];return!i&&at.add(e)),t},yW.prototype.size=function(){return this.map_.size()};class mW{constructor(){mW.constructor_.apply(this,arguments)}static mostPrecise(t,e){return t.compareTo(e)>=0?t:e}equals(t){if(!(t instanceof mW))return!1;var e=t;return this._modelType===e._modelType&&this._scale===e._scale}compareTo(t){var e=t,r=this.getMaximumSignificantDigits(),n=e.getMaximumSignificantDigits();return new XY(r).compareTo(new XY(n))}getScale(){return this._scale}isFloating(){return this._modelType===mW.FLOATING||this._modelType===mW.FLOATING_SINGLE}getType(){return this._modelType}toString(){var t="UNKNOWN";return this._modelType===mW.FLOATING?t="Floating":this._modelType===mW.FLOATING_SINGLE?t="Floating-Single":this._modelType===mW.FIXED&&(t="Fixed (Scale="+this.getScale()+")"),t}makePrecise(){if("number"==typeof arguments[0]){let t=arguments[0];return Aq.isNaN(t)||this._modelType===mW.FLOATING_SINGLE?t:this._modelType===mW.FIXED?Math.round(t*this._scale)/this._scale:t}if(arguments[0]instanceof Dq){let t=arguments[0];if(this._modelType===mW.FLOATING)return null;t.x=this.makePrecise(t.x),t.y=this.makePrecise(t.y)}}getMaximumSignificantDigits(){var t=16;return this._modelType===mW.FLOATING?t=16:this._modelType===mW.FLOATING_SINGLE?t=6:this._modelType===mW.FIXED&&(t=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),t}setScale(t){this._scale=Math.abs(t)}getClass(){return mW}get interfaces_(){return[Rq,Pq]}}class _W{constructor(){_W.constructor_.apply(this,arguments)}readResolve(){return _W.nameToTypeMap.get(this._name)}toString(){return this._name}getClass(){return _W}get interfaces_(){return[Rq]}}_W.constructor_=function(){this._name=null;let t=arguments[0];this._name=t,_W.nameToTypeMap.put(t,this)},_W.serialVersionUID=-552860263173159e4,_W.nameToTypeMap=new yW,mW.Type=_W,mW.constructor_=function(){if(this._modelType=null,this._scale=null,0===arguments.length)this._modelType=mW.FLOATING;else if(1===arguments.length)if(arguments[0]instanceof _W){let t=arguments[0];this._modelType=t,t===mW.FIXED&&this.setScale(1)}else if("number"==typeof arguments[0]){let t=arguments[0];this._modelType=mW.FIXED,this.setScale(t)}else if(arguments[0]instanceof mW){let t=arguments[0];this._modelType=t._modelType,this._scale=t._scale}},mW.serialVersionUID=0x6bee6404e9a25c00,mW.FIXED=new _W("FIXED"),mW.FLOATING=new _W("FLOATING"),mW.FLOATING_SINGLE=new _W("FLOATING SINGLE"),mW.maximumPreciseValue=9007199254740992;class vW{constructor(){vW.constructor_.apply(this,arguments)}static toMultiPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toGeometryArray(t){if(null===t)return null;var e=new Array(t.size()).fill(null);return t.toArray(e)}static getDefaultCoordinateSequenceFactory(){return lW.instance()}static toMultiLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLineStringArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toMultiPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toLinearRingArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPointArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static toPolygonArray(t){var e=new Array(t.size()).fill(null);return t.toArray(e)}static createPointFromInternalCoord(t,e){return e.getPrecisionModel().makePrecise(t),e.getFactory().createPoint(t)}toGeometry(t){return t.isNull()?this.createPoint():t.getMinX()===t.getMaxX()&&t.getMinY()===t.getMaxY()?this.createPoint(new Dq(t.getMinX(),t.getMinY())):t.getMinX()===t.getMaxX()||t.getMinY()===t.getMaxY()?this.createLineString([new Dq(t.getMinX(),t.getMinY()),new Dq(t.getMaxX(),t.getMaxY())]):this.createPolygon(this.createLinearRing([new Dq(t.getMinX(),t.getMinY()),new Dq(t.getMinX(),t.getMaxY()),new Dq(t.getMaxX(),t.getMaxY()),new Dq(t.getMaxX(),t.getMinY()),new Dq(t.getMinX(),t.getMinY())]),null)}createLineString(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLineString(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(Eq(arguments[0],Oq)){return new zY(arguments[0],this)}}}createMultiLineString(){if(0===arguments.length)return new RY(null,this);if(1===arguments.length){return new RY(arguments[0],this)}}buildGeometry(t){for(var e=null,r=!1,n=!1,i=t.iterator();i.hasNext();){var o=i.next(),a=o.getClass();null===e&&(e=a),a!==e&&(r=!0),o instanceof PY&&(n=!0)}if(null===e)return this.createGeometryCollection();if(r||n)return this.createGeometryCollection(vW.toGeometryArray(t));var s=t.iterator().next();if(t.size()>1){if(s instanceof QY)return this.createMultiPolygon(vW.toPolygonArray(t));if(s instanceof zY)return this.createMultiLineString(vW.toLineStringArray(t));if(s instanceof qY)return this.createMultiPoint(vW.toPointArray(t));Fq.shouldNeverReachHere("Unhandled class: "+s.getClass().getName())}return s}createMultiPointFromCoords(t){return this.createMultiPoint(null!==t?this.getCoordinateSequenceFactory().create(t):null)}createPoint(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Dq){let t=arguments[0];return this.createPoint(null!==t?this.getCoordinateSequenceFactory().create([t]):null)}if(Eq(arguments[0],Oq)){return new qY(arguments[0],this)}}}getCoordinateSequenceFactory(){return this._coordinateSequenceFactory}createPolygon(){if(0===arguments.length)return this.createPolygon(null,null);if(1===arguments.length){if(Eq(arguments[0],Oq)){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof Array){let t=arguments[0];return this.createPolygon(this.createLinearRing(t))}if(arguments[0]instanceof tW){let t=arguments[0];return this.createPolygon(t,null)}}else if(2===arguments.length){return new QY(arguments[0],arguments[1],this)}}getSRID(){return this._SRID}createGeometryCollection(){if(0===arguments.length)return new PY(null,this);if(1===arguments.length){return new PY(arguments[0],this)}}createGeometry(t){return new rW(this).edit(t,new class{edit(){if(2===arguments.length&&arguments[1]instanceof Bq&&Eq(arguments[0],Oq)){let t=arguments[0];return this._coordinateSequenceFactory.create(t)}}})}getPrecisionModel(){return this._precisionModel}createLinearRing(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){let t=arguments[0];return this.createLinearRing(null!==t?this.getCoordinateSequenceFactory().create(t):null)}if(Eq(arguments[0],Oq)){return new tW(arguments[0],this)}}}createMultiPolygon(){if(0===arguments.length)return new eW(null,this);if(1===arguments.length){return new eW(arguments[0],this)}}createMultiPoint(){if(0===arguments.length)return new $Y(null,this);if(1===arguments.length){if(arguments[0]instanceof Array){return new $Y(arguments[0],this)}if(Eq(arguments[0],Oq)){let n=arguments[0];if(null===n)return this.createMultiPoint(new Array(0).fill(null));for(var t=new Array(n.size()).fill(null),e=0;et.x+" "+t.y,point(t){return CW.coordinate.call(this,t._coordinates._coordinates[0])},multipoint(t){var e=[];for(let r=0,n=t._geometries.length;r1||s<0||s>1)&&(i=!0)}}else i=!0;return i?nY.min(NW.pointToSegment(t,r,n),NW.pointToSegment(e,r,n),NW.pointToSegment(r,t,e),NW.pointToSegment(n,t,e)):0}static pointToSegment(t,e,r){if(e.x===r.x&&e.y===r.y)return t.distance(e);var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;if(i<=0)return t.distance(e);if(i>=1)return t.distance(r);var o=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(o)*Math.sqrt(n)}static pointToLinePerpendicular(t,e,r){var n=(r.x-e.x)*(r.x-e.x)+(r.y-e.y)*(r.y-e.y),i=((e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y))/n;return Math.abs(i)*Math.sqrt(n)}static pointToSegmentString(t,e){if(0===e.length)throw new Cq("Line array must contain at least one vertex");for(var r=t.distance(e[0]),n=0;ni?n:i;else{var a=Math.abs(t.x-e.x),s=Math.abs(t.y-e.y);0!==(o=n>i?a:s)||t.equals(e)||(o=Math.max(a,s))}return Fq.isTrue(!(0===o&&!t.equals(e)),"Bad distance calculation"),o}static nonRobustComputeEdgeDistance(t,e,r){var n=t.x-e.x,i=t.y-e.y,o=Math.sqrt(n*n+i*i);return Fq.isTrue(!(0===o&&!t.equals(e)),"Invalid distance calculation"),o}getIndexAlongSegment(t,e){return this.computeIntLineIndex(),this._intLineIndex[t][e]}getTopologySummary(){var t=new UY;return this.isEndPoint()&&t.append(" endpoint"),this._isProper&&t.append(" proper"),this.isCollinear()&&t.append(" collinear"),t.toString()}computeIntersection(t,e,r,n){this._inputLines[0][0]=t,this._inputLines[0][1]=e,this._inputLines[1][0]=r,this._inputLines[1][1]=n,this._result=this.computeIntersect(t,e,r,n)}getIntersectionNum(){return this._result}computeIntLineIndex(){if(0===arguments.length)null===this._intLineIndex&&(this._intLineIndex=Array(2).fill().map(()=>Array(2)),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){let t=arguments[0];this.getEdgeDistance(t,0)>this.getEdgeDistance(t,1)?(this._intLineIndex[t][0]=0,this._intLineIndex[t][1]=1):(this._intLineIndex[t][0]=1,this._intLineIndex[t][1]=0)}}isProper(){return this.hasIntersection()&&this._isProper}setPrecisionModel(t){this._precisionModel=t}isInteriorIntersection(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){let e=arguments[0];for(var t=0;tArray(2)),this._intPt=new Array(2).fill(null),this._intLineIndex=null,this._isProper=null,this._pa=null,this._pb=null,this._precisionModel=null,this._intPt[0]=new Dq,this._intPt[1]=new Dq,this._pa=this._intPt[0],this._pb=this._intPt[1],this._result=0},kW.DONT_INTERSECT=0,kW.DO_INTERSECT=1,kW.COLLINEAR=2,kW.NO_INTERSECTION=0,kW.POINT_INTERSECTION=1,kW.COLLINEAR_INTERSECTION=2;class jW extends kW{constructor(){super(),jW.constructor_.apply(this,arguments)}static nearestEndpoint(t,e,r,n){var i=t,o=NW.pointToSegment(t,r,n),a=NW.pointToSegment(e,r,n);return a1e-4&&iY.out.println("Distance = "+i.distance(o))}intersectionWithNormalization(t,e,r,n){var i=new Dq(t),o=new Dq(e),a=new Dq(r),s=new Dq(n),l=new Dq;this.normalizeToEnvCentre(i,o,a,s,l);var u=this.safeHCoordinateIntersection(i,o,a,s);return u.x+=l.x,u.y+=l.y,u}computeCollinearIntersection(t,e,r,n){var i=Uq.intersects(t,e,r),o=Uq.intersects(t,e,n),a=Uq.intersects(r,n,t),s=Uq.intersects(r,n,e);return i&&o?(this._intPt[0]=r,this._intPt[1]=n,kW.COLLINEAR_INTERSECTION):a&&s?(this._intPt[0]=t,this._intPt[1]=e,kW.COLLINEAR_INTERSECTION):i&&a?(this._intPt[0]=r,this._intPt[1]=t,!r.equals(t)||o||s?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):i&&s?(this._intPt[0]=r,this._intPt[1]=e,!r.equals(e)||o||a?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):o&&a?(this._intPt[0]=n,this._intPt[1]=t,!n.equals(t)||i||s?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):o&&s?(this._intPt[0]=n,this._intPt[1]=e,!n.equals(e)||i||a?kW.COLLINEAR_INTERSECTION:kW.POINT_INTERSECTION):kW.NO_INTERSECTION}normalizeToEnvCentre(t,e,r,n,i){var o=t.xe.x?t.x:e.x,l=t.y>e.y?t.y:e.y,u=r.xn.x?r.x:n.x,f=r.y>n.y?r.y:n.y,p=((o>u?o:u)+(sc?a:c)+(l0&&o>0||i<0&&o<0)return kW.NO_INTERSECTION;var a=KY.index(r,n,t),s=KY.index(r,n,e);return a>0&&s>0||a<0&&s<0?kW.NO_INTERSECTION:0===i&&0===o&&0===a&&0===s?this.computeCollinearIntersection(t,e,r,n):(0===i||0===o||0===a||0===s?(this._isProper=!1,t.equals2D(r)||t.equals2D(n)?this._intPt[0]=t:e.equals2D(r)||e.equals2D(n)?this._intPt[0]=e:0===i?this._intPt[0]=new Dq(r):0===o?this._intPt[0]=new Dq(n):0===a?this._intPt[0]=new Dq(t):0===s&&(this._intPt[0]=new Dq(e))):(this._isProper=!0,this._intPt[0]=this.intersection(t,e,r,n)),kW.POINT_INTERSECTION)}getClass(){return jW}get interfaces_(){return[]}}jW.constructor_=function(){};class FW{constructor(){FW.constructor_.apply(this,arguments)}static locatePointInRing(){if(arguments[0]instanceof Dq&&Eq(arguments[1],Oq)){let i=arguments[1];for(var t=new FW(arguments[0]),e=new Dq,r=new Dq,n=1;nn&&(r=e.x,n=t.x),this._p.x>=r&&this._p.x<=n&&(this._isPointOnSegment=!0),null}if(t.y>this._p.y&&e.y<=this._p.y||e.y>this._p.y&&t.y<=this._p.y){var i=KY.index(t,e,this._p);if(i===KY.COLLINEAR)return this._isPointOnSegment=!0,null;e.y=this._max)throw new Qq;var t=this._parent.getGeometryN(this._index++);return t instanceof PY?(this._subcollectionIterator=new GW(t),this._subcollectionIterator.next()):t}remove(){throw new UnsupportedOperationException(this.getClass().getName())}hasNext(){if(this._atStart)return!0;if(null!==this._subcollectionIterator){if(this._subcollectionIterator.hasNext())return!0;this._subcollectionIterator=null}return!(this._index>=this._max)}getClass(){return GW}get interfaces_(){return[Hq]}}GW.constructor_=function(){this._parent=null,this._atStart=null,this._max=null,this._index=null,this._subcollectionIterator=null;let t=arguments[0];this._parent=t,this._atStart=!0,this._index=0,this._max=t.getNumGeometries()};class UW{constructor(){UW.constructor_.apply(this,arguments)}locateInPolygonRing(t,e){return e.getEnvelopeInternal().intersects(t)?DW.locateInRing(t,e.getCoordinates()):RW.EXTERIOR}intersects(t,e){return this.locate(t,e)!==RW.EXTERIOR}updateLocationInfo(t){t===RW.INTERIOR&&(this._isIn=!0),t===RW.BOUNDARY&&this._numBoundaries++}computeLocation(t,e){if(e instanceof qY&&this.updateLocationInfo(this.locateOnPoint(t,e)),e instanceof zY)this.updateLocationInfo(this.locateOnLineString(t,e));else if(e instanceof QY)this.updateLocationInfo(this.locateInPolygon(t,e));else if(e instanceof RY)for(var r=e,n=0;n0||this._isIn?RW.INTERIOR:RW.EXTERIOR)}getClass(){return UW}get interfaces_(){return[]}}UW.constructor_=function(){if(this._boundaryRule=Vq.OGC_SFS_BOUNDARY_RULE,this._isIn=null,this._numBoundaries=null,0===arguments.length);else if(1===arguments.length){let t=arguments[0];if(null===t)throw new Cq("Rule must be non-null");this._boundaryRule=t}};class BW{constructor(){BW.constructor_.apply(this,arguments)}static matches(){if(Number.isInteger(arguments[0])&&"string"==typeof arguments[1]){let t=arguments[0],e=arguments[1];return e===IY.SYM_DONTCARE||(e===IY.SYM_TRUE&&(t>=0||t===IY.TRUE)||(e===IY.SYM_FALSE&&t===IY.FALSE||(e===IY.SYM_P&&t===IY.P||(e===IY.SYM_L&&t===IY.L||e===IY.SYM_A&&t===IY.A))))}if("string"==typeof arguments[0]&&"string"==typeof arguments[1]){let t=arguments[1];return new BW(arguments[0]).matches(t)}}static isTrue(t){return t>=0||t===IY.TRUE}isIntersects(){return!this.isDisjoint()}isCovers(){return(BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])||BW.isTrue(this._matrix[RW.INTERIOR][RW.BOUNDARY])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.INTERIOR])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.BOUNDARY]))&&this._matrix[RW.EXTERIOR][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.EXTERIOR][RW.BOUNDARY]===IY.FALSE}isCoveredBy(){return(BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])||BW.isTrue(this._matrix[RW.INTERIOR][RW.BOUNDARY])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.INTERIOR])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.BOUNDARY]))&&this._matrix[RW.INTERIOR][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.EXTERIOR]===IY.FALSE}set(){if(1===arguments.length){let n=arguments[0];for(var t=0;t=0&&e>=0&&this.setAtLeast(t,e,r)}isWithin(){return BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&this._matrix[RW.INTERIOR][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.EXTERIOR]===IY.FALSE}isTouches(t,e){return t>e?this.isTouches(e,t):(t===IY.A&&e===IY.A||t===IY.L&&e===IY.L||t===IY.L&&e===IY.A||t===IY.P&&e===IY.A||t===IY.P&&e===IY.L)&&(this._matrix[RW.INTERIOR][RW.INTERIOR]===IY.FALSE&&(BW.isTrue(this._matrix[RW.INTERIOR][RW.BOUNDARY])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.INTERIOR])||BW.isTrue(this._matrix[RW.BOUNDARY][RW.BOUNDARY])))}isOverlaps(t,e){return t===IY.P&&e===IY.P||t===IY.A&&e===IY.A?BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&BW.isTrue(this._matrix[RW.INTERIOR][RW.EXTERIOR])&&BW.isTrue(this._matrix[RW.EXTERIOR][RW.INTERIOR]):t===IY.L&&e===IY.L&&(1===this._matrix[RW.INTERIOR][RW.INTERIOR]&&BW.isTrue(this._matrix[RW.INTERIOR][RW.EXTERIOR])&&BW.isTrue(this._matrix[RW.EXTERIOR][RW.INTERIOR]))}isEquals(t,e){return t===e&&(BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&this._matrix[RW.INTERIOR][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.EXTERIOR]===IY.FALSE&&this._matrix[RW.EXTERIOR][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.EXTERIOR][RW.BOUNDARY]===IY.FALSE)}toString(){for(var t=new UY("123456789"),e=0;e<3;e++)for(var r=0;r<3;r++)t.setCharAt(3*e+r,IY.toDimensionSymbol(this._matrix[e][r]));return t.toString()}setAll(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this._matrix[e][r]=t}get(t,e){return this._matrix[t][e]}transpose(){var t=this._matrix[1][0];return this._matrix[1][0]=this._matrix[0][1],this._matrix[0][1]=t,t=this._matrix[2][0],this._matrix[2][0]=this._matrix[0][2],this._matrix[0][2]=t,t=this._matrix[2][1],this._matrix[2][1]=this._matrix[1][2],this._matrix[1][2]=t,this}matches(t){if(9!==t.length)throw new Cq("Should be length 9: "+t);for(var e=0;e<3;e++)for(var r=0;r<3;r++)if(!BW.matches(this._matrix[e][r],t.charAt(3*e+r)))return!1;return!0}add(t){for(var e=0;e<3;e++)for(var r=0;r<3;r++)this.setAtLeast(e,r,t.get(e,r))}isDisjoint(){return this._matrix[RW.INTERIOR][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.INTERIOR][RW.BOUNDARY]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.INTERIOR]===IY.FALSE&&this._matrix[RW.BOUNDARY][RW.BOUNDARY]===IY.FALSE}isCrosses(t,e){return t===IY.P&&e===IY.L||t===IY.P&&e===IY.A||t===IY.L&&e===IY.A?BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&BW.isTrue(this._matrix[RW.INTERIOR][RW.EXTERIOR]):t===IY.L&&e===IY.P||t===IY.A&&e===IY.P||t===IY.A&&e===IY.L?BW.isTrue(this._matrix[RW.INTERIOR][RW.INTERIOR])&&BW.isTrue(this._matrix[RW.EXTERIOR][RW.INTERIOR]):t===IY.L&&e===IY.L&&0===this._matrix[RW.INTERIOR][RW.INTERIOR]}getClass(){return BW}get interfaces_(){return[Sq]}}BW.constructor_=function(){if(this._matrix=null,0===arguments.length)this._matrix=Array(3).fill().map(()=>Array(3)),this.setAll(IY.FALSE);else if(1===arguments.length)if("string"==typeof arguments[0]){let t=arguments[0];BW.constructor_.call(this),this.set(t)}else if(arguments[0]instanceof BW){let t=arguments[0];BW.constructor_.call(this),this._matrix[RW.INTERIOR][RW.INTERIOR]=t._matrix[RW.INTERIOR][RW.INTERIOR],this._matrix[RW.INTERIOR][RW.BOUNDARY]=t._matrix[RW.INTERIOR][RW.BOUNDARY],this._matrix[RW.INTERIOR][RW.EXTERIOR]=t._matrix[RW.INTERIOR][RW.EXTERIOR],this._matrix[RW.BOUNDARY][RW.INTERIOR]=t._matrix[RW.BOUNDARY][RW.INTERIOR],this._matrix[RW.BOUNDARY][RW.BOUNDARY]=t._matrix[RW.BOUNDARY][RW.BOUNDARY],this._matrix[RW.BOUNDARY][RW.EXTERIOR]=t._matrix[RW.BOUNDARY][RW.EXTERIOR],this._matrix[RW.EXTERIOR][RW.INTERIOR]=t._matrix[RW.EXTERIOR][RW.INTERIOR],this._matrix[RW.EXTERIOR][RW.BOUNDARY]=t._matrix[RW.EXTERIOR][RW.BOUNDARY],this._matrix[RW.EXTERIOR][RW.EXTERIOR]=t._matrix[RW.EXTERIOR][RW.EXTERIOR]}};class zW{constructor(){zW.constructor_.apply(this,arguments)}static isNorthern(t){return t===zW.NE||t===zW.NW}static isOpposite(t,e){return t!==e&&2===(t-e+4)%4}static commonHalfPlane(t,e){if(t===e)return t;if(2===(t-e+4)%4)return-1;var r=te?t:e)?3:r}static isInHalfPlane(t,e){return e===zW.SE?t===zW.SE||t===zW.SW:t===e||t===e+1}static quadrant(){if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){let t=arguments[0],e=arguments[1];if(0===t&&0===e)throw new Cq("Cannot compute the quadrant for point ( "+t+", "+e+" )");return t>=0?e>=0?zW.NE:zW.SE:e>=0?zW.NW:zW.SW}if(arguments[0]instanceof Dq&&arguments[1]instanceof Dq){let t=arguments[0],e=arguments[1];if(e.x===t.x&&e.y===t.y)throw new Cq("Cannot compute the quadrant for two identical points "+t);return e.x>=t.x?e.y>=t.y?zW.NE:zW.SE:e.y>=t.y?zW.NW:zW.SW}}getClass(){return zW}get interfaces_(){return[]}}zW.constructor_=function(){},zW.NE=0,zW.NW=1,zW.SW=2,zW.SE=3;class VW{constructor(){VW.constructor_.apply(this,arguments)}compareDirection(t){return this._dx===t._dx&&this._dy===t._dy?0:this._quadrant>t._quadrant?1:this._quadrantthis.location.length){var e=new Array(3).fill(null);e[qW.ON]=this.location[qW.ON],e[qW.LEFT]=RW.NONE,e[qW.RIGHT]=RW.NONE,this.location=e}for(var r=0;r1&&t.append(RW.toLocationSymbol(this.location[qW.LEFT])),t.append(RW.toLocationSymbol(this.location[qW.ON])),this.location.length>1&&t.append(RW.toLocationSymbol(this.location[qW.RIGHT])),t.toString()}setLocations(t,e,r){this.location[qW.ON]=t,this.location[qW.LEFT]=e,this.location[qW.RIGHT]=r}get(t){return t1}isAnyNull(){for(var t=0;t=t.getNumPoints()&&null===n)return null;var o=t.getCoordinate(i);null!==n&&n.segmentIndex===r.segmentIndex&&(o=n.coord);var a=new VW(t,r.coord,o,new WW(t.getLabel()));e.add(a)}createEdgeEndForPrev(t,e,r,n){var i=r.segmentIndex;if(0===r.dist){if(0===i)return null;i--}var o=t.getCoordinate(i);null!==n&&n.segmentIndex>=i&&(o=n.coord);var a=new WW(t.getLabel());a.flip();var s=new VW(t,r.coord,o,a);e.add(s)}computeEdgeEnds(){if(1===arguments.length){let n=arguments[0];for(var t=new tY,e=n;e.hasNext();){var r=e.next();this.computeEdgeEnds(r,t)}return t}if(2===arguments.length){let t=arguments[0],e=arguments[1];var n=t.getEdgeIntersectionList();n.addEndpoints();var i=n.iterator(),o=null,a=null;if(!i.hasNext())return null;var s=i.next();do{o=a,a=s,s=null,i.hasNext()&&(s=i.next()),null!==a&&(this.createEdgeEndForPrev(t,e,a,o),this.createEdgeEndForNext(t,e,a,s))}while(null!==a)}}getClass(){return XW}get interfaces_(){return[]}}XW.constructor_=function(){};class HW{constructor(){HW.constructor_.apply(this,arguments)}setVisited(t){this._isVisited=t}setInResult(t){this._isInResult=t}isCovered(){return this._isCovered}isCoveredSet(){return this._isCoveredSet}setLabel(t){this._label=t}getLabel(){return this._label}setCovered(t){this._isCovered=t,this._isCoveredSet=!0}updateIM(t){Fq.isTrue(this._label.getGeometryCount()>=2,"found partial label"),this.computeIM(t)}isInResult(){return this._isInResult}isVisited(){return this._isVisited}getClass(){return HW}get interfaces_(){return[]}}HW.constructor_=function(){if(this._label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0===arguments.length);else if(1===arguments.length){let t=arguments[0];this._label=t}};class ZW extends HW{constructor(){super(),ZW.constructor_.apply(this,arguments)}isIncidentEdgeInResult(){for(var t=this.getEdges().getEdges().iterator();t.hasNext();){if(t.next().getEdge().isInResult())return!0}return!1}isIsolated(){return 1===this._label.getGeometryCount()}getCoordinate(){return this._coord}print(t){t.println("node "+this._coord+" lbl: "+this._label)}computeIM(t){}computeMergedLocation(t,e){var r=RW.NONE;if(r=this._label.getLocation(e),!t.isNull(e)){var n=t.getLocation(e);r!==RW.BOUNDARY&&(r=n)}return r}setLabel(){if(2!==arguments.length||!Number.isInteger(arguments[1])||!Number.isInteger(arguments[0]))return super.setLabel.apply(this,arguments);{let t=arguments[0],e=arguments[1];null===this._label?this._label=new WW(t,e):this._label.setLocation(t,e)}}getEdges(){return this._edges}mergeLabel(){if(arguments[0]instanceof ZW){let t=arguments[0];this.mergeLabel(t._label)}else if(arguments[0]instanceof WW){let r=arguments[0];for(var t=0;t<2;t++){var e=this.computeMergedLocation(r,t);this._label.getLocation(t)===RW.NONE&&this._label.setLocation(t,e)}}}add(t){this._edges.insert(t),t.setNode(this)}setLabelBoundary(t){if(null===this._label)return null;var e=RW.NONE;null!==this._label&&(e=this._label.getLocation(t));var r=null;switch(e){case RW.BOUNDARY:r=RW.INTERIOR;break;case RW.INTERIOR:default:r=RW.BOUNDARY}this._label.setLocation(t,r)}getClass(){return ZW}get interfaces_(){return[]}}ZW.constructor_=function(){this._coord=null,this._edges=null;let t=arguments[0],e=arguments[1];this._coord=t,this._edges=e,this._label=new WW(0,RW.NONE)};class KW{constructor(){KW.constructor_.apply(this,arguments)}find(t){return this.nodeMap.get(t)}addNode(){if(arguments[0]instanceof Dq){let e=arguments[0];return null===(t=this.nodeMap.get(e))&&(t=this.nodeFact.createNode(e),this.nodeMap.put(e,t)),t}if(arguments[0]instanceof ZW){let e=arguments[0];var t;return null===(t=this.nodeMap.get(e.getCoordinate()))?(this.nodeMap.put(e.getCoordinate(),e),e):(t.mergeLabel(e),t)}}print(t){for(var e=this.iterator();e.hasNext();){e.next().print(t)}}iterator(){return this.nodeMap.values().iterator()}values(){return this.nodeMap.values()}getBoundaryNodes(t){for(var e=new tY,r=this.iterator();r.hasNext();){var n=r.next();n.getLabel().getLocation(t)===RW.BOUNDARY&&e.add(n)}return e}add(t){var e=t.getCoordinate();this.addNode(e).add(t)}getClass(){return KW}get interfaces_(){return[]}}KW.constructor_=function(){this.nodeMap=new _Y,this.nodeFact=null;let t=arguments[0];this.nodeFact=t};class JW extends kq{constructor(){if(1===arguments.length){let t=arguments[0];super(t),kq.call(this,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];super(JW.msgWithCoord(t,e)),this.name="TopologyException",this.pt=new Dq(e)}}getCoordinate(){return this.pt}get interfaces_(){return[]}getClass(){return JW}static msgWithCoord(t,e){return null!==e?t+" [ "+e+" ]":t}}class QW{constructor(){QW.constructor_.apply(this,arguments)}locate(t){}getClass(){return QW}get interfaces_(){return[]}}QW.constructor_=function(){};class $W{constructor(){$W.constructor_.apply(this,arguments)}static locatePointInPolygon(t,e){if(e.isEmpty())return RW.EXTERIOR;var r=e.getExteriorRing(),n=$W.locatePointInRing(t,r);if(n!==RW.INTERIOR)return n;for(var i=0;ie._xValue?1:this._eventTypee._eventType?1:0}getInsertEvent(){return this._insertEvent}isInsert(){return this._eventType===rX.INSERT}isSameLabel(t){return null!==this._label&&this._label===t._label}getDeleteEventIndex(){return this._deleteEventIndex}getClass(){return rX}get interfaces_(){return[Pq]}}rX.constructor_=function(){if(this._label=null,this._xValue=null,this._eventType=null,this._insertEvent=null,this._deleteEventIndex=null,this._obj=null,2===arguments.length){let t=arguments[0],e=arguments[1];this._eventType=rX.DELETE,this._xValue=t,this._insertEvent=e}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._eventType=rX.INSERT,this._label=t,this._xValue=e,this._obj=r}},rX.INSERT=1,rX.DELETE=2;class nX{constructor(){nX.constructor_.apply(this,arguments)}getClass(){return nX}get interfaces_(){return[]}}nX.constructor_=function(){};const iX={reverseOrder:function(){return{compare:(t,e)=>e.compareTo(t)}},min:function(t){return iX.sort(t),t.get(0)},sort:function(t,e){const r=t.toArray();e?SY.sort(r,e):SY.sort(r);const n=t.iterator();for(let t=0,e=r.length;te||this._maxo?1:0}getClass(){return cX}get interfaces_(){return[Nq]}}cX.constructor_=function(){},uX.NodeComparator=cX,uX.constructor_=function(){this._min=Aq.POSITIVE_INFINITY,this._max=Aq.NEGATIVE_INFINITY};class hX extends uX{constructor(){super(),hX.constructor_.apply(this,arguments)}query(t,e,r){if(!this.intersects(t,e))return null;r.visitItem(this._item)}getClass(){return hX}get interfaces_(){return[]}}hX.constructor_=function(){this._item=null;let t=arguments[0],e=arguments[1],r=arguments[2];this._min=t,this._max=e,this._item=r};class fX extends uX{constructor(){super(),fX.constructor_.apply(this,arguments)}buildExtent(t,e){this._min=Math.min(t._min,e._min),this._max=Math.max(t._max,e._max)}query(t,e,r){if(!this.intersects(t,e))return null;null!==this._node1&&this._node1.query(t,e,r),null!==this._node2&&this._node2.query(t,e,r)}getClass(){return fX}get interfaces_(){return[]}}fX.constructor_=function(){this._node1=null,this._node2=null;let t=arguments[0],e=arguments[1];this._node1=t,this._node2=e,this.buildExtent(this._node1,this._node2)};class pX{constructor(){pX.constructor_.apply(this,arguments)}buildTree(){oX.sort(this._leaves,new uX.NodeComparator);for(var t=this._leaves,e=null,r=new tY;;){if(this.buildLevel(t,r),1===r.size())return r.get(0);e=t,t=r,r=e}}insert(t,e,r){if(null!==this._root)throw new IllegalStateException("Index cannot be added to once it has been queried");this._leaves.add(new hX(t,e,r))}query(t,e,r){this.init(),this._root.query(t,e,r)}buildRoot(){if(null!==this._root)return null;this._root=this.buildTree()}printNode(t){iY.out.println(PW.toLineString(new Dq(t._min,this._level),new Dq(t._max,this._level)))}init(){if(null!==this._root)return null;this.buildRoot()}buildLevel(t,e){this._level++,e.clear();for(var r=0;r=0&&e>=0||t<=0&&e<=0?Math.max(t,e):0}if(arguments[0]instanceof Dq){let t=arguments[0];return KY.index(this.p0,this.p1,t)}}toGeometry(t){return t.createLineString([this.p0,this.p1])}isVertical(){return this.p0.x===this.p1.x}equals(t){if(!(t instanceof dX))return!1;var e=t;return this.p0.equals(e.p0)&&this.p1.equals(e.p1)}intersection(t){var e=new jW;return e.computeIntersection(this.p0,this.p1,t.p0,t.p1),e.hasIntersection()?e.getIntersection(0):null}project(){if(arguments[0]instanceof Dq){let r=arguments[0];if(r.equals(this.p0)||r.equals(this.p1))return new Dq(r);var t=this.projectionFactor(r),e=new Dq;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}if(arguments[0]instanceof dX){let t=arguments[0];var r=this.projectionFactor(t.p0),n=this.projectionFactor(t.p1);if(r>=1&&n>=1)return null;if(r<=0&&n<=0)return null;var i=this.project(t.p0);r<0&&(i=this.p0),r>1&&(i=this.p1);var o=this.project(t.p1);return n<0&&(o=this.p0),n>1&&(o=this.p1),new dX(i,o)}}normalize(){this.p1.compareTo(this.p0)<0&&this.reverse()}angle(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)}getCoordinate(t){return 0===t?this.p0:this.p1}distancePerpendicular(t){return NW.pointToLinePerpendicular(t,this.p0,this.p1)}minY(){return Math.min(this.p0.y,this.p1.y)}midPoint(){return dX.midPoint(this.p0,this.p1)}projectionFactor(t){if(t.equals(this.p0))return 0;if(t.equals(this.p1))return 1;var e=this.p1.x-this.p0.x,r=this.p1.y-this.p0.y,n=e*e+r*r;return n<=0?Aq.NaN:((t.x-this.p0.x)*e+(t.y-this.p0.y)*r)/n}closestPoints(t){var e=this.intersection(t);if(null!==e)return[e,e];var r=new Array(2).fill(null),n=Aq.MAX_VALUE,i=null,o=this.closestPoint(t.p0);n=o.distance(t.p0),r[0]=o,r[1]=t.p0;var a=this.closestPoint(t.p1);(i=a.distance(t.p1))0&&e<1?this.project(t):this.p0.distance(t)1||Aq.isNaN(e))&&(e=1),e}toString(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"}isHorizontal(){return this.p0.y===this.p1.y}distance(){if(arguments[0]instanceof dX){let t=arguments[0];return NW.segmentToSegment(this.p0,this.p1,t.p0,t.p1)}if(arguments[0]instanceof Dq){let t=arguments[0];return NW.pointToSegment(t,this.p0,this.p1)}}pointAlong(t){var e=new Dq;return e.x=this.p0.x+t*(this.p1.x-this.p0.x),e.y=this.p0.y+t*(this.p1.y-this.p0.y),e}hashCode(){var t=java.lang.Double.doubleToLongBits(this.p0.x);t^=31*java.lang.Double.doubleToLongBits(this.p0.y);var e=Math.trunc(t)^Math.trunc(t>>32),r=java.lang.Double.doubleToLongBits(this.p1.x);return r^=31*java.lang.Double.doubleToLongBits(this.p1.y),e^(Math.trunc(r)^Math.trunc(r>>32))}getClass(){return dX}get interfaces_(){return[Pq,Rq]}}dX.constructor_=function(){if(this.p0=null,this.p1=null,0===arguments.length)dX.constructor_.call(this,new Dq,new Dq);else if(1===arguments.length){let t=arguments[0];dX.constructor_.call(this,t.p0,t.p1)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this.p0=t,this.p1=e}else if(4===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2],n=arguments[3];dX.constructor_.call(this,new Dq(t,e),new Dq(r,n))}},dX.serialVersionUID=0x2d2172135f411c00;class gX{constructor(){gX.constructor_.apply(this,arguments)}static getGeometry(){if(1===arguments.length){let t=arguments[0];return t.getFactory().buildGeometry(gX.getLines(t))}if(2===arguments.length){let t=arguments[0],e=arguments[1];return t.getFactory().buildGeometry(gX.getLines(t,e))}}static getLines(){if(1===arguments.length){let t=arguments[0];return gX.getLines(t,!1)}if(2===arguments.length){if(Eq(arguments[0],Zq)&&Eq(arguments[1],Zq)){let r=arguments[1];for(var t=arguments[0].iterator();t.hasNext();){var e=t.next();gX.getLines(e,r)}return r}if(arguments[0]instanceof Bq&&"boolean"==typeof arguments[1]){let t=arguments[0],e=arguments[1];var r=new tY;return t.apply(new gX(r,e)),r}if(arguments[0]instanceof Bq&&Eq(arguments[1],Zq)){let t=arguments[0],e=arguments[1];return t instanceof zY?e.add(t):t.apply(new gX(e)),e}}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&Eq(arguments[0],Zq)&&Eq(arguments[1],Zq)){let r=arguments[1],n=arguments[2];for(t=arguments[0].iterator();t.hasNext();){e=t.next();gX.getLines(e,r,n)}return r}if("boolean"==typeof arguments[2]&&arguments[0]instanceof Bq&&Eq(arguments[1],Zq)){let t=arguments[1],e=arguments[2];return arguments[0].apply(new gX(t,e)),t}}}filter(t){if(this._isForcedToLineString&&t instanceof tW){var e=t.getFactory().createLineString(t.getCoordinateSequence());return this._lines.add(e),null}t instanceof zY&&this._lines.add(t)}setForceToLineString(t){this._isForcedToLineString=t}getClass(){return gX}get interfaces_(){return[Tq]}}gX.constructor_=function(){if(this._lines=null,this._isForcedToLineString=!1,1===arguments.length){let t=arguments[0];this._lines=t}else if(2===arguments.length){let t=arguments[0],e=arguments[1];this._lines=t,this._isForcedToLineString=e}};class yX{constructor(){yX.constructor_.apply(this,arguments)}visitItem(t){this._items.add(t)}getItems(){return this._items}getClass(){return yX}get interfaces_(){return[lX]}}yX.constructor_=function(){this._items=new tY};class mX{constructor(){mX.constructor_.apply(this,arguments)}locate(t){var e=new FW(t),r=new _X(e);return this._index.query(t.y,t.y,r),e.getLocation()}getClass(){return mX}get interfaces_(){return[QW]}}class _X{constructor(){_X.constructor_.apply(this,arguments)}visitItem(t){var e=t;this._counter.countSegment(e.getCoordinate(0),e.getCoordinate(1))}getClass(){return _X}get interfaces_(){return[lX]}}_X.constructor_=function(){this._counter=null;let t=arguments[0];this._counter=t};class vX{constructor(){vX.constructor_.apply(this,arguments)}init(t){for(var e=gX.getLines(t).iterator();e.hasNext();){var r=e.next().getCoordinates();this.addLine(r)}}addLine(t){for(var e=1;e0||!e.coord.equals2D(n);i||r--;var o=new Array(r).fill(null),a=0;o[a++]=new Dq(t.coord);for(var s=t.segmentIndex+1;s<=e.segmentIndex;s++)o[a++]=this.edge.pts[s];return i&&(o[a]=e.coord),new OX(o,new WW(this.edge._label))}add(t,e,r){var n=new bX(t,e,r),i=this._nodeMap.get(n);return null!==i?i:(this._nodeMap.put(n,n),n)}isIntersection(t){for(var e=this.iterator();e.hasNext();){if(e.next().coord.equals(t))return!0}return!1}getClass(){return xX}get interfaces_(){return[]}}xX.constructor_=function(){this._nodeMap=new _Y,this.edge=null;let t=arguments[0];this.edge=t};class wX{constructor(){wX.constructor_.apply(this,arguments)}static toIntArray(t){for(var e=new Array(t.size()).fill(null),r=0;rr?e:r}getMinX(t){var e=this.pts[this.startIndex[t]].x,r=this.pts[this.startIndex[t+1]].x;return ee&&(n=1),this._depth[t][r]=n}}}getDelta(t){return this._depth[t][qW.RIGHT]-this._depth[t][qW.LEFT]}getLocation(t,e){return this._depth[t][e]<=0?RW.EXTERIOR:RW.INTERIOR}toString(){return"A: "+this._depth[0][1]+","+this._depth[0][2]+" B: "+this._depth[1][1]+","+this._depth[1][2]}add(){if(1===arguments.length){let n=arguments[0];for(var t=0;t<2;t++)for(var e=1;e<3;e++){var r=n.getLocation(t,e);r!==RW.EXTERIOR&&r!==RW.INTERIOR||(this.isNull(t,e)?this._depth[t][e]=SX.depthAtLocation(r):this._depth[t][e]+=SX.depthAtLocation(r))}}else if(3===arguments.length){let t=arguments[0],e=arguments[1];arguments[2]===RW.INTERIOR&&this._depth[t][e]++}}getClass(){return SX}get interfaces_(){return[]}}SX.constructor_=function(){this._depth=Array(2).fill().map(()=>Array(3));for(var t=0;t<2;t++)for(var e=0;e<3;e++)this._depth[t][e]=SX.NULL_VALUE},SX.NULL_VALUE=-1;class OX extends HW{constructor(){super(),OX.constructor_.apply(this,arguments)}static updateIM(){if(!(2===arguments.length&&arguments[1]instanceof BW&&arguments[0]instanceof WW))return super.updateIM.apply(this,arguments);{let t=arguments[0],e=arguments[1];e.setAtLeastIfValid(t.getLocation(0,qW.ON),t.getLocation(1,qW.ON),1),t.isArea()&&(e.setAtLeastIfValid(t.getLocation(0,qW.LEFT),t.getLocation(1,qW.LEFT),2),e.setAtLeastIfValid(t.getLocation(0,qW.RIGHT),t.getLocation(1,qW.RIGHT),2))}}getDepth(){return this._depth}getCollapsedEdge(){var t=new Array(2).fill(null);return t[0]=this.pts[0],t[1]=this.pts[1],new OX(t,WW.toLineLabel(this._label))}isIsolated(){return this._isIsolated}getCoordinates(){return this.pts}setIsolated(t){this._isIsolated=t}setName(t){this._name=t}equals(t){if(!(t instanceof OX))return!1;var e=t;if(this.pts.length!==e.pts.length)return!1;for(var r=!0,n=!0,i=this.pts.length,o=0;o0?this.pts[0]:null;if(1===arguments.length){let t=arguments[0];return this.pts[t]}}print(t){t.print("edge "+this._name+": "),t.print("LINESTRING (");for(var e=0;e0&&t.print(","),t.print(this.pts[e].x+" "+this.pts[e].y);t.print(") "+this._label+" "+this._depthDelta)}computeIM(t){OX.updateIM(this._label,t)}isCollapsed(){return!!this._label.isArea()&&(3===this.pts.length&&!!this.pts[0].equals(this.pts[2]))}isClosed(){return this.pts[0].equals(this.pts[this.pts.length-1])}getMaximumSegmentIndex(){return this.pts.length-1}getDepthDelta(){return this._depthDelta}getNumPoints(){return this.pts.length}printReverse(t){t.print("edge "+this._name+": ");for(var e=this.pts.length-1;e>=0;e--)t.print(this.pts[e]+" ");t.println("")}getMonotoneChainEdge(){return null===this._mce&&(this._mce=new EX(this)),this._mce}getEnvelope(){if(null===this._env){this._env=new Uq;for(var t=0;t0&&t.append(","),t.append(this.pts[e].x+" "+this.pts[e].y);return t.append(") "+this._label+" "+this._depthDelta),t.toString()}isPointwiseEqual(t){if(this.pts.length!==t.pts.length)return!1;for(var e=0;e=2,"found LineString with single point"),this.insertBoundaryPoint(this._argIndex,e[0]),this.insertBoundaryPoint(this._argIndex,e[e.length-1])}getInvalidPoint(){return this._invalidPoint}getBoundaryPoints(){for(var t=this.getBoundaryNodes(),e=new Array(t.size()).fill(null),r=0,n=t.iterator();n.hasNext();){var i=n.next();e[r++]=i.getCoordinate().copy()}return e}getBoundaryNodes(){return null===this._boundaryNodes&&(this._boundaryNodes=this._nodes.getBoundaryNodes(this._argIndex)),this._boundaryNodes}addSelfIntersectionNode(t,e,r){if(this.isBoundaryNode(t,e))return null;r===RW.BOUNDARY&&this._useBoundaryDeterminationRule?this.insertBoundaryPoint(t,e):this.insertPoint(t,e,r)}addPolygonRing(t,e,r){if(t.isEmpty())return null;var n=oY.removeRepeatedPoints(t.getCoordinates());if(n.length<4)return this._hasTooFewPoints=!0,this._invalidPoint=n[0],null;var i=e,o=r;KY.isCCW(n)&&(i=r,o=e);var a=new OX(n,new WW(this._argIndex,RW.BOUNDARY,i,o));this._lineEdgeMap.put(t,a),this.insertEdge(a),this.insertPoint(this._argIndex,n[0],RW.BOUNDARY)}insertPoint(t,e,r){var n=this._nodes.addNode(e),i=n.getLabel();null===i?n._label=new WW(t,r):i.setLocation(t,r)}createEdgeSetIntersector(){return new sX}addSelfIntersectionNodes(t){for(var e=this._edges.iterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.eiList.iterator();i.hasNext();){var o=i.next();this.addSelfIntersectionNode(t,o.coord,n)}}add(){if(!(1===arguments.length&&arguments[0]instanceof Bq))return super.add.apply(this,arguments);{let t=arguments[0];if(t.isEmpty())return null;if(t instanceof eW&&(this._useBoundaryDeterminationRule=!1),t instanceof QY)this.addPolygon(t);else if(t instanceof zY)this.addLineString(t);else if(t instanceof qY)this.addPoint(t);else if(t instanceof $Y)this.addCollection(t);else if(t instanceof RY)this.addCollection(t);else if(t instanceof eW)this.addCollection(t);else{if(!(t instanceof PY))throw new UnsupportedOperationException(t.getClass().getName());this.addCollection(t)}}}addCollection(t){for(var e=0;e50?(null===this._areaPtLocator&&(this._areaPtLocator=new mX(this._parentGeom)),this._areaPtLocator.locate(t)):this._ptLocator.locate(t,this._parentGeom)}findEdge(){if(1===arguments.length&&arguments[0]instanceof zY){let t=arguments[0];return this._lineEdgeMap.get(t)}return super.findEdge.apply(this,arguments)}getClass(){return PX}get interfaces_(){return[]}}PX.constructor_=function(){if(this._parentGeom=null,this._lineEdgeMap=new yW,this._boundaryNodeRule=null,this._useBoundaryDeterminationRule=!0,this._argIndex=null,this._boundaryNodes=null,this._hasTooFewPoints=!1,this._invalidPoint=null,this._areaPtLocator=null,this._ptLocator=new UW,2===arguments.length){let t=arguments[0],e=arguments[1];PX.constructor_.call(this,t,e,Vq.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];this._argIndex=t,this._parentGeom=e,this._boundaryNodeRule=r,null!==e&&this.add(e)}};class RX extends VW{constructor(){super(),RX.constructor_.apply(this,arguments)}insert(t){this._edgeEnds.add(t)}print(t){t.println("EdgeEndBundle--\x3e Label: "+this._label);for(var e=this.iterator();e.hasNext();){e.next().print(t),t.println()}}iterator(){return this._edgeEnds.iterator()}getEdgeEnds(){return this._edgeEnds}computeLabelOn(t,e){for(var r=0,n=!1,i=this.iterator();i.hasNext();){(o=i.next().getLabel().getLocation(t))===RW.BOUNDARY&&r++,o===RW.INTERIOR&&(n=!0)}var o=RW.NONE;n&&(o=RW.INTERIOR),r>0&&(o=PX.determineBoundary(e,r)),this._label.setLocation(t,o)}computeLabelSide(t,e){for(var r=this.iterator();r.hasNext();){var n=r.next();if(n.getLabel().isArea()){var i=n.getLabel().getLocation(t,e);if(i===RW.INTERIOR)return this._label.setLocation(t,e,RW.INTERIOR),null;i===RW.EXTERIOR&&this._label.setLocation(t,e,RW.EXTERIOR)}}}getLabel(){return this._label}computeLabelSides(t){this.computeLabelSide(t,qW.LEFT),this.computeLabelSide(t,qW.RIGHT)}updateIM(t){OX.updateIM(this._label,t)}computeLabel(t){for(var e=!1,r=this.iterator();r.hasNext();){r.next().getLabel().isArea()&&(e=!0)}this._label=e?new WW(RW.NONE,RW.NONE,RW.NONE):new WW(RW.NONE);for(var n=0;n<2;n++)this.computeLabelOn(n,t),e&&this.computeLabelSides(n)}getClass(){return RX}get interfaces_(){return[]}}RX.constructor_=function(){if(this._edgeEnds=new tY,1===arguments.length){let t=arguments[0];RX.constructor_.call(this,null,t)}else if(2===arguments.length){let t=arguments[1];VW.constructor_.call(this,t.getEdge(),t.getCoordinate(),t.getDirectedCoordinate(),new WW(t.getLabel())),this.insert(t)}};class LX extends tX{constructor(){super(),LX.constructor_.apply(this,arguments)}updateIM(t){for(var e=this.iterator();e.hasNext();){e.next().updateIM(t)}}insert(t){var e=this._edgeMap.get(t);null===e?(e=new RX(t),this.insertEdgeEnd(t,e)):e.insert(t)}getClass(){return LX}get interfaces_(){return[]}}LX.constructor_=function(){};class MX extends ZW{constructor(){super(),MX.constructor_.apply(this,arguments)}updateIMFromEdges(t){this._edges.updateIM(t)}computeIM(t){t.setAtLeastIfValid(this._label.getLocation(0),this._label.getLocation(1),0)}getClass(){return MX}get interfaces_(){return[]}}MX.constructor_=function(){let t=arguments[0],e=arguments[1];ZW.constructor_.call(this,t,e)};class AX extends CX{constructor(){super(),AX.constructor_.apply(this,arguments)}createNode(t){return new MX(t,new LX)}getClass(){return AX}get interfaces_(){return[]}}AX.constructor_=function(){};class NX{constructor(){NX.constructor_.apply(this,arguments)}insertEdgeEnds(t){for(var e=t.iterator();e.hasNext();){var r=e.next();this._nodes.add(r)}}computeProperIntersectionIM(t,e){var r=this._arg[0].getGeometry().getDimension(),n=this._arg[1].getGeometry().getDimension(),i=t.hasProperIntersection(),o=t.hasProperInteriorIntersection();2===r&&2===n?i&&e.setAtLeast("212101212"):2===r&&1===n?(i&&e.setAtLeast("FFF0FFFF2"),o&&e.setAtLeast("1FFFFF1FF")):1===r&&2===n?(i&&e.setAtLeast("F0FFFFFF2"),o&&e.setAtLeast("1F1FFFFFF")):1===r&&1===n&&o&&e.setAtLeast("0FFFFFFFF")}labelIsolatedEdges(t,e){for(var r=this._arg[t].getEdgeIterator();r.hasNext();){var n=r.next();n.isIsolated()&&(this.labelIsolatedEdge(n,e,this._arg[e].getGeometry()),this._isolatedEdges.add(n))}}labelIsolatedEdge(t,e,r){if(r.getDimension()>0){var n=this._ptLocator.locate(t.getCoordinate(),r);t.getLabel().setAllLocations(e,n)}else t.getLabel().setAllLocations(e,RW.EXTERIOR)}computeIM(){var t=new BW;if(t.set(RW.EXTERIOR,RW.EXTERIOR,2),!this._arg[0].getGeometry().getEnvelopeInternal().intersects(this._arg[1].getGeometry().getEnvelopeInternal()))return this.computeDisjointIM(t),t;this._arg[0].computeSelfNodes(this._li,!1),this._arg[1].computeSelfNodes(this._li,!1);var e=this._arg[0].computeEdgeIntersections(this._arg[1],this._li,!1);this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(e,t);var r=new XW,n=r.computeEdgeEnds(this._arg[0].getEdgeIterator());this.insertEdgeEnds(n);var i=r.computeEdgeEnds(this._arg[1].getEdgeIterator());return this.insertEdgeEnds(i),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(t),t}labelNodeEdges(){for(var t=this._nodes.iterator();t.hasNext();){t.next().getEdges().computeLabelling(this._arg)}}copyNodesAndLabels(t){for(var e=this._arg[t].getNodeIterator();e.hasNext();){var r=e.next();this._nodes.addNode(r.getCoordinate()).setLabel(t,r.getLabel().getLocation(t))}}labelIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.find(o.coord);a.getLabel().isNull(t)&&(n===RW.BOUNDARY?a.setLabelBoundary(t):a.setLabel(t,RW.INTERIOR))}}labelIsolatedNode(t,e){var r=this._ptLocator.locate(t.getCoordinate(),this._arg[e].getGeometry());t.getLabel().setAllLocations(e,r)}computeIntersectionNodes(t){for(var e=this._arg[t].getEdgeIterator();e.hasNext();)for(var r=e.next(),n=r.getLabel().getLocation(t),i=r.getEdgeIntersectionList().iterator();i.hasNext();){var o=i.next(),a=this._nodes.addNode(o.coord);n===RW.BOUNDARY?a.setLabelBoundary(t):a.getLabel().isNull(t)&&a.setLabel(t,RW.INTERIOR)}}labelIsolatedNodes(){for(var t=this._nodes.iterator();t.hasNext();){var e=t.next(),r=e.getLabel();Fq.isTrue(r.getGeometryCount()>0,"node with empty label found"),e.isIsolated()&&(r.isNull(0)?this.labelIsolatedNode(e,0):this.labelIsolatedNode(e,1))}}updateIM(t){for(var e=this._isolatedEdges.iterator();e.hasNext();){e.next().updateIM(t)}for(var r=this._nodes.iterator();r.hasNext();){var n=r.next();n.updateIM(t),n.updateIMFromEdges(t)}}computeDisjointIM(t){var e=this._arg[0].getGeometry();e.isEmpty()||(t.set(RW.INTERIOR,RW.EXTERIOR,e.getDimension()),t.set(RW.BOUNDARY,RW.EXTERIOR,e.getBoundaryDimension()));var r=this._arg[1].getGeometry();r.isEmpty()||(t.set(RW.EXTERIOR,RW.INTERIOR,r.getDimension()),t.set(RW.EXTERIOR,RW.BOUNDARY,r.getBoundaryDimension()))}getClass(){return NX}get interfaces_(){return[]}}NX.constructor_=function(){this._li=new jW,this._ptLocator=new UW,this._arg=null,this._nodes=new KW(new AX),this._im=null,this._isolatedEdges=new tY,this._invalidPoint=null;let t=arguments[0];this._arg=t};class kX{constructor(){kX.constructor_.apply(this,arguments)}getArgGeometry(t){return this._arg[t].getGeometry()}setComputationPrecision(t){this._resultPrecisionModel=t,this._li.setPrecisionModel(this._resultPrecisionModel)}getClass(){return kX}get interfaces_(){return[]}}kX.constructor_=function(){if(this._li=new jW,this._resultPrecisionModel=null,this._arg=null,1===arguments.length){let t=arguments[0];this.setComputationPrecision(t.getPrecisionModel()),this._arg=new Array(1).fill(null),this._arg[0]=new PX(0,t)}else if(2===arguments.length){let t=arguments[0],e=arguments[1];kX.constructor_.call(this,t,e,Vq.OGC_SFS_BOUNDARY_RULE)}else if(3===arguments.length){let t=arguments[0],e=arguments[1],r=arguments[2];t.getPrecisionModel().compareTo(e.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(e.getPrecisionModel()),this._arg=new Array(2).fill(null),this._arg[0]=new PX(0,t,r),this._arg[1]=new PX(1,e,r)}};class jX{constructor(){jX.constructor_.apply(this,arguments)}static contains(t,e){return new jX(t).contains(e)}isContainedInBoundary(t){if(t instanceof QY)return!1;if(t instanceof qY)return this.isPointContainedInBoundary(t);if(t instanceof zY)return this.isLineStringContainedInBoundary(t);for(var e=0;e0){var n=t;t=e,e=n}var i=!1;return e.y>t.y&&(i=!0),i?this._li.computeIntersection(t,e,this._diagDown0,this._diagDown1):this._li.computeIntersection(t,e,this._diagUp0,this._diagUp1),!!this._li.hasIntersection()}getClass(){return FX}get interfaces_(){return[]}}FX.constructor_=function(){this._li=new jW,this._rectEnv=null,this._diagUp0=null,this._diagUp1=null,this._diagDown0=null,this._diagDown1=null;let t=arguments[0];this._rectEnv=t,this._diagUp0=new Dq(t.getMinX(),t.getMinY()),this._diagUp1=new Dq(t.getMaxX(),t.getMaxY()),this._diagDown0=new Dq(t.getMinX(),t.getMaxY()),this._diagDown1=new Dq(t.getMaxX(),t.getMinY())};class DX{constructor(){DX.constructor_.apply(this,arguments)}applyTo(t){for(var e=0;e=this._rectEnv.getMinX()&&e.getMaxX()<=this._rectEnv.getMaxX()||e.getMinY()>=this._rectEnv.getMinY()&&e.getMaxY()<=this._rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null}intersects(){return this._intersects}getClass(){return UX}get interfaces_(){return[]}}UX.constructor_=function(){this._rectEnv=null,this._intersects=!1;let t=arguments[0];this._rectEnv=t};class BX extends DX{constructor(){super(),BX.constructor_.apply(this,arguments)}isDone(){return!0===this._containsPoint}visit(t){if(!(t instanceof QY))return null;var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;for(var r=new Dq,n=0;n<4;n++)if(this._rectSeq.getCoordinate(n,r),e.contains(r)&&$W.containsPointInPolygon(r,t))return this._containsPoint=!0,null}containsPoint(){return this._containsPoint}getClass(){return BX}get interfaces_(){return[]}}BX.constructor_=function(){this._rectSeq=null,this._rectEnv=null,this._containsPoint=!1;let t=arguments[0];this._rectSeq=t.getExteriorRing().getCoordinateSequence(),this._rectEnv=t.getEnvelopeInternal()};class zX extends DX{constructor(){super(),zX.constructor_.apply(this,arguments)}intersects(){return this._hasIntersection}isDone(){return!0===this._hasIntersection}visit(t){var e=t.getEnvelopeInternal();if(!this._rectEnv.intersects(e))return null;var r=gX.getLines(t);this.checkIntersectionWithLineStrings(r)}checkIntersectionWithLineStrings(t){for(var e=t.iterator();e.hasNext();){var r=e.next();if(this.checkIntersectionWithSegments(r),this._hasIntersection)return null}}checkIntersectionWithSegments(t){for(var e=t.getCoordinateSequence(),r=1;r0)&&(!!t.getEnvelopeInternal().covers(e.getEnvelopeInternal())&&(!!t.isRectangle()||new VX(t,e).getIntersectionMatrix().isCovers())))}static intersects(t,e){if(!t.getEnvelopeInternal().intersects(e.getEnvelopeInternal()))return!1;if(t.isRectangle())return GX.intersects(t,e);if(e.isRectangle())return GX.intersects(e,t);if(t.isGeometryCollection()||e.isGeometryCollection()){for(var r=0;r0)&&(!!t.getEnvelopeInternal().contains(e.getEnvelopeInternal())&&(t.isRectangle()?jX.contains(t,e):new VX(t,e).getIntersectionMatrix().isContains())))}getIntersectionMatrix(){return this._relate.computeIM()}getClass(){return VX}get interfaces_(){return[]}}function qX(t){return function(t){if(Array.isArray(t))return YX(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return YX(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return YX(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function YX(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0;a--)i.push(n[o][a]);return{hasZ:r.hasZ,hasM:r.hasM,rings:i}}};function sH(t,e){var r,n,i;if(!t)return null;if("number"==typeof t.x&&"number"==typeof t.y)i="Point";else if(t.points)i="MultiPoint";else if(t.paths){i=1===t.paths.length?"LineString":"MultiLineString"}else if(t.rings){var o=t,a=lH(o),s=function(t,e){var r,n,i=[],o=[],a=[];for(r=0,n=t.length;r=0;r--){var u=o[r][0];if(Object(mt.h)(new La(u).getExtent(),new La(s).getExtent())){o[r].push(s),l=!0;break}}l||o.push([s.reverse()])}return o}(o.rings,a);1===s.length?(i="Polygon",t=Object(Mi.a)({},t,((r={}).rings=s[0],r))):(i="MultiPolygon",t=Object(Mi.a)({},t,((n={}).rings=s,n)))}return pI((0,oH[i])(t),!1,e)}function lH(t){var e=$o;return!0===t.hasZ&&!0===t.hasM?e=ra:!0===t.hasZ?e=ta:!0===t.hasM&&(e=ea),e}function uH(t){var e=t.getLayout();return{hasZ:e===ta||e===ra,hasM:e===ea||e===ra}}function cH(t,e){return(0,aH[t.getType()])(pI(t,!0,e),e)}var hH=function(t){function e(e){var r=this,n=e||{};return(r=t.call(this)||this).geometryName_=n.geometryName,r}return iH(e,t),e.prototype.readFeatureFromObject=function(t,e,r){var n=t,i=sH(n.geometry,e),o=new gh;if(this.geometryName_&&o.setGeometryName(this.geometryName_),o.setGeometry(i),n.attributes){o.setProperties(n.attributes,!0);var a=n.attributes[r];void 0!==a&&o.setId(a)}return o},e.prototype.readFeaturesFromObject=function(t,e){var r=e||{};if(t.features){for(var n=[],i=t.features,o=0,a=i.length;o1,n=r&&t.imageInfo.profile[1].supports?t.imageInfo.profile[1].supports:[],i=r&&t.imageInfo.profile[1].formats?t.imageInfo.profile[1].formats:[],o=r&&t.imageInfo.profile[1].qualities?t.imageInfo.profile[1].qualities:[];return{url:t.imageInfo["@id"].replace(/\/?(?:info\.json)?$/g,""),sizes:void 0===t.imageInfo.sizes?void 0:t.imageInfo.sizes.map((function(t){return[t.width,t.height]})),tileSize:void 0===t.imageInfo.tiles?void 0:[t.imageInfo.tiles.map((function(t){return t.width}))[0],t.imageInfo.tiles.map((function(t){return void 0===t.height?t.width:t.height}))[0]],resolutions:void 0===t.imageInfo.tiles?void 0:t.imageInfo.tiles.map((function(t){return t.scaleFactors}))[0],supports:nZ(nZ([],e.supports,!0),n,!0),formats:nZ(nZ([],e.formats,!0),i,!0),qualities:nZ(nZ([],e.qualities,!0),o,!0)}},hZ[aZ]=function(t){var e=t.getComplianceLevelSupportedFeatures(),r=void 0===t.imageInfo.extraFormats?e.formats:nZ(nZ([],e.formats,!0),t.imageInfo.extraFormats,!0),n=void 0!==t.imageInfo.preferredFormats&&Array.isArray(t.imageInfo.preferredFormats)&&t.imageInfo.preferredFormats.length>0?t.imageInfo.preferredFormats.filter((function(t){return Object(h.f)(["jpg","png","gif"],t)})).reduce((function(t,e){return void 0===t&&Object(h.f)(r,e)?e:t}),void 0):void 0;return{url:t.imageInfo.id,sizes:void 0===t.imageInfo.sizes?void 0:t.imageInfo.sizes.map((function(t){return[t.width,t.height]})),tileSize:void 0===t.imageInfo.tiles?void 0:[t.imageInfo.tiles.map((function(t){return t.width}))[0],t.imageInfo.tiles.map((function(t){return t.height}))[0]],resolutions:void 0===t.imageInfo.tiles?void 0:t.imageInfo.tiles.map((function(t){return t.scaleFactors}))[0],supports:void 0===t.imageInfo.extraFeatures?e.supports:nZ(nZ([],e.supports,!0),t.imageInfo.extraFeatures,!0),formats:r,qualities:void 0===t.imageInfo.extraQualities?e.qualities:nZ(nZ([],e.qualities,!0),t.imageInfo.extraQualities,!0),preferredFormat:n}};var fZ=function(){function t(t){this.setImageInfo(t)}return t.prototype.setImageInfo=function(t){this.imageInfo="string"==typeof t?JSON.parse(t):t},t.prototype.getImageApiVersion=function(){if(void 0!==this.imageInfo){var t=this.imageInfo["@context"]||"ol-no-context";"string"==typeof t&&(t=[t]);for(var e=0;e0&&"string"==typeof this.imageInfo.profile[0]&&uZ.test(this.imageInfo.profile[0]))return this.imageInfo.profile[0]}},t.prototype.getComplianceLevelFromProfile=function(t){var e=this.getComplianceLevelEntryFromProfile(t);if(void 0!==e){var r=e.match(/level[0-2](?:\.json)?$/g);return Array.isArray(r)?r[0].replace(".json",""):void 0}},t.prototype.getComplianceLevelSupportedFeatures=function(){if(void 0!==this.imageInfo){var t=this.getImageApiVersion(),e=this.getComplianceLevelFromProfile(t);return void 0===e?sZ.none.none:sZ[t][e]}},t.prototype.getTileSourceOptions=function(t){var e=t||{},r=this.getImageApiVersion();if(void 0!==r){var n=void 0===r?void 0:hZ[r](this);if(void 0!==n)return{url:n.url,version:r,size:[this.imageInfo.width,this.imageInfo.height],sizes:n.sizes,format:void 0!==e.format&&Object(h.f)(n.formats,e.format)?e.format:void 0!==n.preferredFormat?n.preferredFormat:"jpg",supports:n.supports,quality:e.quality&&Object(h.f)(n.qualities,e.quality)?e.quality:Object(h.f)(n.qualities,"native")?"native":"default",resolutions:Array.isArray(n.resolutions)?n.resolutions.sort((function(t,e){return e-t})):void 0,tileSize:n.tileSize}}},t}(),pZ=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),dZ=[null],gZ=T(dZ,{nd:function(t,e){e[e.length-1].ndrefs.push(t.getAttribute("ref"))},tag:vZ}),yZ=T(dZ,{node:function(t,e){var r=e[0],n=e[e.length-1],i=t.getAttribute("id"),o=[parseFloat(t.getAttribute("lon")),parseFloat(t.getAttribute("lat"))];n.nodes[i]=o;var a=R({tags:{}},_Z,t,e);if(!Object(Mi.d)(a.tags)){var s=new Aa(o);pI(s,!1,r);var l=new gh(s);void 0!==i&&l.setId(i),l.setProperties(a.tags,!0),n.features.push(l)}},way:function(t,e){var r=R({id:t.getAttribute("id"),ndrefs:[],tags:{}},gZ,t,e);e[e.length-1].ways.push(r)}}),mZ=function(t){function e(){var e=t.call(this)||this;return e.dataProjection=Object(u.o)("EPSG:4326"),e}return pZ(e,t),e.prototype.readFeaturesFromNode=function(t,e){var r=this.getReadOptions(t,e);if("osm"==t.localName){for(var n=R({nodes:{},ways:[],features:[]},yZ,t,[r]),i=0;i>1):i>>1}return e}(t),i=0,o=n.length;i=32;)e=63+(32|31&t),r+=String.fromCharCode(e),t>>=5;return e=t+63,r+=String.fromCharCode(e)}var TZ=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.dataProjection=Object(u.o)("EPSG:4326"),r.factor_=n.factor?n.factor:1e5,r.geometryLayout_=n.geometryLayout?n.geometryLayout:$o,r}return wZ(e,t),e.prototype.readFeatureFromText=function(t,e){var r=this.readGeometryFromText(t,e);return new gh(r)},e.prototype.readFeaturesFromText=function(t,e){return[this.readFeatureFromText(t,e)]},e.prototype.readGeometryFromText=function(t,e){var r=ca(this.geometryLayout_),n=SZ(t,r,this.factor_);xZ(n,0,n.length,r,n);var i=Oa(n,0,n.length,r);return pI(new Eh(i,this.geometryLayout_),!1,this.adaptOptions(e))},e.prototype.writeFeatureText=function(t,e){var r=t.getGeometry();return r?this.writeGeometryText(r,e):(Object(go.a)(!1,40),"")},e.prototype.writeFeaturesText=function(t,e){return this.writeFeatureText(t[0],e)},e.prototype.writeGeometryText=function(t,e){var r=(t=pI(t,!0,this.adaptOptions(e))).getFlatCoordinates(),n=t.getStride();return xZ(r,0,r.length,n,r),EZ(r,n,this.factor_)},e}(TG),PZ=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),RZ=function(t){function e(e){var r=t.call(this)||this,n=e||{};return r.layerName_=n.layerName,r.layers_=n.layers?n.layers:null,r.dataProjection=Object(u.o)(n.dataProjection?n.dataProjection:"EPSG:4326"),r}return PZ(e,t),e.prototype.readFeaturesFromObject=function(t,e){if("Topology"==t.type){var r=t,n=void 0,i=null,o=null;r.transform&&(i=(n=r.transform).scale,o=n.translate);var a=r.arcs;n&&function(t,e,r){for(var n=0,i=t.length;n0&&n.pop(),r>=0)for(var a=0,s=(l=e[r]).length;a=0;--a)n.push(l[a].slice(0))}return n}function AZ(t,e,r,n,i,o,a){for(var s=t.geometries,l=[],u=0,c=s.length;u0,r=this.readUint32(e),n=Math.floor((268435455&r)/1e3),i=Boolean(2147483648&r)||1===n||3===n,o=Boolean(1073741824&r)||2===n||3===n,a=Boolean(536870912&r),s=(268435455&r)%1e3,l=["XY",i?"Z":"",o?"M":""].join(""),u=a?this.readUint32(e):null;if(void 0!==t&&t!==s)throw new Error("Unexpected WKB geometry type "+s);if(this.initialized_){if(this.isLittleEndian_!==e)throw new Error("Inconsistent endian");if(this.layout_!==l)throw new Error("Inconsistent geometry layout");if(u&&this.srid_!==u)throw new Error("Inconsistent coordinate system (SRID)")}else this.isLittleEndian_=e,this.hasZ_=i,this.hasM_=o,this.layout_=l,this.srid_=u,this.initialized_=!0;return s},t.prototype.readWkbPayload=function(t){switch(t){case GZ:return this.readPoint();case UZ:return this.readLineString();case BZ:case HZ:return this.readPolygon();case zZ:return this.readMultiPoint();case VZ:return this.readMultiLineString();case qZ:case WZ:case XZ:return this.readMultiPolygon();case YZ:return this.readGeometryCollection();default:throw new Error("Unsupported WKB geometry type "+t+" is found")}},t.prototype.readWkbBlock=function(t){return this.readWkbPayload(this.readWkbHeader(t))},t.prototype.readWkbCollection=function(t,e){for(var r=this.readUint32(),n=[],i=0;i=0&&(t+=this.isEWKB_?2147483648:1e3),this.layout_.indexOf("M")>=0&&(t+=this.isEWKB_?1073741824:2e3),this.isEWKB_&&Number.isInteger(e)&&(t|=536870912),this.writeUint8(this.isLittleEndian_?1:0),this.writeUint32(t),this.isEWKB_&&Number.isInteger(e)&&this.writeUint32(e)},t.prototype.writeMultiPoint=function(t,e){this.writeUint32(t.length);for(var r=0;r0){this.source_&&(this.source_.clear(),this.source_.addFeatures(h)),this.dispatchEvent(new nK(rK,t,h,o));break}}},e.prototype.registerListeners_=function(){var t=this.getMap();if(t){var e=this.target?this.target:t.getViewport();this.dropListenKeys_=[Object(eo.a)(e,fo.a.DROP,this.handleDrop,this),Object(eo.a)(e,fo.a.DRAGENTER,this.handleStop,this),Object(eo.a)(e,fo.a.DRAGOVER,this.handleStop,this),Object(eo.a)(e,fo.a.DROP,this.handleStop,this)]}},e.prototype.setActive=function(e){!this.getActive()&&e&&this.registerListeners_(),this.getActive()&&!e&&this.unregisterListeners_(),t.prototype.setActive.call(this,e)},e.prototype.setMap=function(e){this.unregisterListeners_(),t.prototype.setMap.call(this,e),this.getActive()&&this.registerListeners_()},e.prototype.tryReadFeatures_=function(t,e,r){try{return t.readFeatures(e,r)}catch(t){return null}},e.prototype.unregisterListeners_=function(){this.dropListenKeys_&&(this.dropListenKeys_.forEach(eo.c),this.dropListenKeys_=null)},e.prototype.handleDrop=function(t){for(var e=t.dataTransfer.files,r=0,n=e.length;r1?1:-1;return e.endInteraction(this.duration_,r),this.lastScaleDelta_=0,!1},e.prototype.handleDownEvent=function(t){return!!Ds(t)&&(!!this.condition_(t)&&(t.map.getView().beginInteraction(),this.lastAngle_=void 0,this.lastMagnitude_=void 0,!0))},e}(Os),sK=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),lK="Point",uK="LineString",cK="Polygon",hK="Circle",fK="drawstart",pK="drawend",dK="drawabort",gK=function(t){function e(e,r){var n=t.call(this,e)||this;return n.feature=r,n}return sK(e,t),e}(so.a);var yK=function(t){function e(e){var r=this,n=e;n.stopDown||(n.stopDown=ai.a),(r=t.call(this,n)||this).on,r.once,r.un,r.shouldHandle_=!1,r.downPx_=null,r.downTimeout_,r.lastDragTime_,r.pointerType_,r.freehand_=!1,r.source_=e.source?e.source:null,r.features_=e.features?e.features:null,r.snapTolerance_=e.snapTolerance?e.snapTolerance:12,r.type_=e.type,r.mode_=function(t){switch(t){case"Point":case"MultiPoint":return lK;case"LineString":case"MultiLineString":return uK;case"Polygon":case"MultiPolygon":return cK;case"Circle":return hK;default:throw new Error("Invalid type: "+t)}}(r.type_),r.stopClick_=!!e.stopClick,r.minPoints_=e.minPoints?e.minPoints:r.mode_===cK?3:2,r.maxPoints_=r.mode_===hK?2:e.maxPoints?e.maxPoints:1/0,r.finishCondition_=e.finishCondition?e.finishCondition:ai.b,r.geometryLayout_=e.geometryLayout?e.geometryLayout:$o;var i,o=e.geometryFunction;if(!o){var a,s=r.mode_;if(s===hK)o=function(t,e,r){var n=e||new Dh([NaN,NaN]),i=Object(u.l)(t[0],r),o=Object(di.l)(i,Object(u.l)(t[t.length-1],r));n.setCenterAndRadius(i,Math.sqrt(o),this.geometryLayout_);var a=Object(u.s)();return a&&n.transform(r,a),n};else s===lK?a=Aa:s===uK?a=Eh:s===cK&&(a=Xa),o=function(t,e,r){return e?s===cK?t[0].length?e.setCoordinates([t[0].concat([t[0][0]])],this.geometryLayout_):e.setCoordinates([],this.geometryLayout_):e.setCoordinates(t,this.geometryLayout_):e=new a(t,this.geometryLayout_),e}}return r.geometryFunction_=o,r.dragVertexDelay_=void 0!==e.dragVertexDelay?e.dragVertexDelay:500,r.finishCoordinate_=null,r.sketchFeature_=null,r.sketchPoint_=null,r.sketchCoords_=null,r.sketchLine_=null,r.sketchLineCoords_=null,r.squaredClickTolerance_=e.clickTolerance?e.clickTolerance*e.clickTolerance:36,r.overlay_=new Gv({source:new qg({useSpatialIndex:!1,wrapX:!!e.wrapX&&e.wrapX}),style:e.style?e.style:(i=nm(),function(t,e){return i[t.getGeometry().getType()]}),updateWhileInteracting:!0}),r.geometryName_=e.geometryName,r.condition_=e.condition?e.condition:ks,r.freehandCondition_,e.freehand?r.freehandCondition_=Ls:r.freehandCondition_=e.freehandCondition?e.freehandCondition:js,r.addChangeListener(ms,r.updateState_),r}return sK(e,t),e.prototype.setMap=function(e){t.prototype.setMap.call(this,e),this.updateState_()},e.prototype.getOverlay=function(){return this.overlay_},e.prototype.handleEvent=function(e){e.originalEvent.type===fo.a.CONTEXTMENU&&e.originalEvent.preventDefault(),this.freehand_=this.mode_!==lK&&this.freehandCondition_(e);var r=e.type===So.POINTERMOVE,n=!0;!this.freehand_&&this.lastDragTime_&&e.type===So.POINTERDRAG&&(Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=e.pixel,this.shouldHandle_=!this.freehand_,r=!0):this.lastDragTime_=void 0,this.shouldHandle_&&void 0!==this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0));return this.freehand_&&e.type===So.POINTERDRAG&&null!==this.sketchFeature_?(this.addToDrawing_(e.coordinate),n=!1):this.freehand_&&e.type===So.POINTERDOWN?n=!1:r&&this.getPointerCount()<2?(n=e.type===So.POINTERMOVE)&&this.freehand_?(this.handlePointerMove_(e),this.shouldHandle_&&e.originalEvent.preventDefault()):("mouse"===e.originalEvent.pointerType||e.type===So.POINTERDRAG&&void 0===this.downTimeout_)&&this.handlePointerMove_(e):e.type===So.DBLCLICK&&(n=!1),t.prototype.handleEvent.call(this,e)&&n},e.prototype.handleDownEvent=function(t){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=t.pixel,this.finishCoordinate_||this.startDrawing_(t.coordinate),!0):this.condition_(t)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout(function(){this.handlePointerMove_(new Eo(So.POINTERMOVE,t.map,t.originalEvent,!1,t.frameState))}.bind(this),this.dragVertexDelay_),this.downPx_=t.pixel,!0):(this.lastDragTime_=void 0,!1)},e.prototype.handleUpEvent=function(t){var e=!0;if(0===this.getPointerCount())if(this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0),this.handlePointerMove_(t),this.shouldHandle_){var r=!this.finishCoordinate_;r&&this.startDrawing_(t.coordinate),!r&&this.freehand_?this.finishDrawing():this.freehand_||r&&this.mode_!==lK||(this.atFinish_(t.pixel)?this.finishCondition_(t)&&this.finishDrawing():this.addToDrawing_(t.coordinate)),e=!1}else this.freehand_&&this.abortDrawing();return!e&&this.stopClick_&&t.preventDefault(),e},e.prototype.handlePointerMove_=function(t){if(this.pointerType_=t.originalEvent.pointerType,this.downPx_&&(!this.freehand_&&this.shouldHandle_||this.freehand_&&!this.shouldHandle_)){var e=this.downPx_,r=t.pixel,n=e[0]-r[0],i=e[1]-r[1],o=n*n+i*i;if(this.shouldHandle_=this.freehand_?o>this.squaredClickTolerance_:o<=this.squaredClickTolerance_,!this.shouldHandle_)return}this.finishCoordinate_?this.modifyDrawing_(t.coordinate):this.createOrUpdateSketchPoint_(t.coordinate.slice())},e.prototype.atFinish_=function(t){var e=!1;if(this.sketchFeature_){var r=!1,n=[this.finishCoordinate_],i=this.mode_;if(i===lK)e=!0;else if(i===hK)e=2===this.sketchCoords_.length;else if(i===uK)r=this.sketchCoords_.length>this.minPoints_;else if(i===cK){var o=this.sketchCoords_;r=o[0].length>this.minPoints_,n=[o[0][0],o[0][o[0].length-2]]}if(r)for(var a=this.getMap(),s=0,l=n.length;s=this.maxPoints_&&(this.freehand_?r.pop():e=!0),r.push(t.slice()),this.geometryFunction_(r,n,i)):o===cK&&((r=this.sketchCoords_[0]).length>=this.maxPoints_&&(this.freehand_?r.pop():e=!0),r.push(t.slice()),e&&(this.finishCoordinate_=r[0]),this.geometryFunction_(this.sketchCoords_,n,i)),this.createOrUpdateSketchPoint_(t.slice()),this.updateSketchFeatures_(),e&&this.finishDrawing()},e.prototype.removeLastPoint=function(){if(this.sketchFeature_){var t,e=this.sketchFeature_.getGeometry(),r=this.getMap().getView().getProjection(),n=this.mode_;if(n===uK||n===hK){if((t=this.sketchCoords_).splice(-2,1),t.length>=2){this.finishCoordinate_=t[t.length-2].slice();var i=this.finishCoordinate_.slice();t[t.length-1]=i,this.createOrUpdateSketchPoint_(i)}this.geometryFunction_(t,e,r),"Polygon"===e.getType()&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(e)}else if(n===cK){(t=this.sketchCoords_[0]).splice(-2,1);var o=this.sketchLine_.getGeometry();if(t.length>=2){i=t[t.length-2].slice();t[t.length-1]=i,this.createOrUpdateSketchPoint_(i)}o.setCoordinates(t),this.geometryFunction_(this.sketchCoords_,e,r)}1===t.length&&this.abortDrawing(),this.updateSketchFeatures_()}},e.prototype.finishDrawing=function(){var t=this.abortDrawing_();if(t){var e=this.sketchCoords_,r=t.getGeometry(),n=this.getMap().getView().getProjection();this.mode_===uK?(e.pop(),this.geometryFunction_(e,r,n)):this.mode_===cK&&(e[0].pop(),this.geometryFunction_(e,r,n),e=r.getCoordinates()),"MultiPoint"===this.type_?t.setGeometry(new mh([e])):"MultiLineString"===this.type_?t.setGeometry(new Oh([e])):"MultiPolygon"===this.type_&&t.setGeometry(new Th([e])),this.dispatchEvent(new gK(pK,t)),this.features_&&this.features_.push(t),this.source_&&this.source_.addFeature(t)}},e.prototype.abortDrawing_=function(){this.finishCoordinate_=null;var t=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),t},e.prototype.abortDrawing=function(){var t=this.abortDrawing_();t&&this.dispatchEvent(new gK(dK,t))},e.prototype.appendCoordinates=function(t){var e,r=this.mode_,n=!this.sketchFeature_;if(n&&this.startDrawing_(t[0]),r===uK||r===hK)e=this.sketchCoords_;else{if(r!==cK)return;e=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[]}n&&e.shift(),e.pop();for(var i=0;ih?o[1]:o[0]),a}}return null},e.prototype.handlePointerMove_=function(t){var e=t.pixel,r=t.map,n=this.snapToVertex_(e,r);n||(n=r.getCoordinateFromPixelInternal(e)),this.createOrUpdatePointerFeature_(n)},e.prototype.createOrUpdateExtentFeature_=function(t){var e=this.extentFeature_;return e?t?e.setGeometry(Za(t)):e.setGeometry(void 0):(e=new gh(t?Za(t):{}),this.extentFeature_=e,this.extentOverlay_.getSource().addFeature(e)),e},e.prototype.createOrUpdatePointerFeature_=function(t){var e=this.vertexFeature_;e?e.getGeometry().setCoordinates(t):(e=new gh(new Aa(t)),this.vertexFeature_=e,this.vertexOverlay_.getSource().addFeature(e));return e},e.prototype.handleEvent=function(e){return!e.originalEvent||!this.condition_(e)||(e.type!=So.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(e),t.prototype.handleEvent.call(this,e),!1)},e.prototype.handleDownEvent=function(t){var e=t.pixel,r=t.map,n=this.getExtentInternal(),i=this.snapToVertex_(e,r),o=function(t){var e=null,r=null;return t[0]==n[0]?e=n[2]:t[0]==n[2]&&(e=n[0]),t[1]==n[1]?r=n[3]:t[1]==n[3]&&(r=n[1]),null!==e&&null!==r?[e,r]:null};if(i&&n){var a=i[0]==n[0]||i[0]==n[2]?i[0]:null,s=i[1]==n[1]||i[1]==n[3]?i[1]:null;null!==a&&null!==s?this.pointerHandler_=xK(o(i)):null!==a?this.pointerHandler_=wK(o([a,n[1]]),o([a,n[3]])):null!==s&&(this.pointerHandler_=wK(o([n[0],s]),o([n[2],s])))}else i=r.getCoordinateFromPixelInternal(e),this.setExtent([i[0],i[1],i[0],i[1]]),this.pointerHandler_=xK(i);return!0},e.prototype.handleDragEvent=function(t){if(this.pointerHandler_){var e=t.coordinate;this.setExtent(this.pointerHandler_(e)),this.createOrUpdatePointerFeature_(e)}},e.prototype.handleUpEvent=function(t){this.pointerHandler_=null;var e=this.getExtentInternal();return e&&0!==Object(mt.u)(e)||this.setExtent(null),!1},e.prototype.setMap=function(e){this.extentOverlay_.setMap(e),this.vertexOverlay_.setMap(e),t.prototype.setMap.call(this,e)},e.prototype.getExtent=function(){return Object(u.x)(this.getExtentInternal(),this.getMap().getView().getProjection())},e.prototype.getExtentInternal=function(){return this.extent_},e.prototype.setExtent=function(t){this.extent_=t||null,this.createOrUpdateExtentFeature_(t),this.dispatchEvent(new vK(this.extent_))},e}(Os),SK=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function OK(t){return parseFloat(t)}function IK(t){return function(t){return Object(qo.m)(t,5)}(t).toString()}function CK(t,e){return!isNaN(t)&&t!==OK(IK(e))}var TK=function(t){function e(e){var r,n=t.call(this)||this,i=Object(Mi.a)({animate:!0,replace:!1,prefix:""},e||{});return r=!0===i.animate?{duration:250}:i.animate?i.animate:null,n.animationOptions_=r,n.replace_=i.replace,n.prefix_=i.prefix,n.listenerKeys_=[],n.initial_=!0,n.updateState_=n.updateState_.bind(n),n}return SK(e,t),e.prototype.getParamName_=function(t){return this.prefix_?this.prefix_+t:t},e.prototype.get_=function(t,e){return t.get(this.getParamName_(e))},e.prototype.set_=function(t,e,r){t.set(this.getParamName_(e),r)},e.prototype.delete_=function(t,e){t.delete(this.getParamName_(e))},e.prototype.setMap=function(e){var r=this.getMap();t.prototype.setMap.call(this,e),e!==r&&(r&&this.unregisterListeners_(r),e&&(this.initial_=!0,this.updateState_(),this.registerListeners_(e)))},e.prototype.registerListeners_=function(t){this.listenerKeys_.push(Object(eo.a)(t,Ao,this.updateUrl_,this),Object(eo.a)(t.getLayerGroup(),fo.a.CHANGE,this.updateUrl_,this),Object(eo.a)(t,"change:layergroup",this.handleChangeLayerGroup_,this)),this.replace_||addEventListener("popstate",this.updateState_)},e.prototype.unregisterListeners_=function(t){for(var e=0,r=this.listenerKeys_.length;e=0;--n){for(var i=r[n],o=this.dragSegments_.length-1;o>=0;--o)this.dragSegments_[o][0]===i&&this.dragSegments_.splice(o,1);e.remove(i)}},e.prototype.setActive=function(e){this.vertexFeature_&&!e&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),t.prototype.setActive.call(this,e)},e.prototype.setMap=function(e){this.overlay_.setMap(e),t.prototype.setMap.call(this,e)},e.prototype.getOverlay=function(){return this.overlay_},e.prototype.handleSourceAdd_=function(t){t.feature&&this.features_.push(t.feature)},e.prototype.handleSourceRemove_=function(t){t.feature&&this.features_.remove(t.feature)},e.prototype.handleFeatureAdd_=function(t){this.addFeature_(t.element)},e.prototype.handleFeatureChange_=function(t){if(!this.changingFeature_){var e=t.target;this.removeFeature_(e),this.addFeature_(e)}},e.prototype.handleFeatureRemove_=function(t){var e=t.element;this.removeFeature_(e)},e.prototype.writePointGeometry_=function(t,e){var r=e.getCoordinates(),n={feature:t,geometry:e,segment:[r,r]};this.rBush_.insert(e.getExtent(),n)},e.prototype.writeMultiPointGeometry_=function(t,e){for(var r=e.getCoordinates(),n=0,i=r.length;n=0;--m)this.insertVertex_(i[m],o)}return!!this.vertexFeature_},e.prototype.handleUpEvent=function(t){for(var e=this.dragSegments_.length-1;e>=0;--e){var r=this.dragSegments_[e][0],n=r.geometry;if("Circle"===n.getType()){var i=n.getCenter(),o=r.featureSegments[0],a=r.featureSegments[1];o.segment[0]=i,o.segment[1]=i,a.segment[0]=i,a.segment[1]=i,this.rBush_.update(Object(mt.n)(i),o);var s=n,l=Object(u.s)();if(l){var c=t.map.getView().getProjection();s=Ka(s=s.clone().transform(l,c)).transform(c,l)}this.rBush_.update(s.getExtent(),a)}else this.rBush_.update(Object(mt.c)(r.segment),r)}return this.featuresBeingModified_&&(this.dispatchEvent(new kK(NK,this.featuresBeingModified_,t)),this.featuresBeingModified_=null),!1},e.prototype.handlePointerMove_=function(t){this.lastPixel_=t.pixel,this.handlePointerAtPixel_(t.pixel,t.map,t.coordinate)},e.prototype.handlePointerAtPixel_=function(t,e,r){var n,i,o=this,a=r||e.getCoordinateFromPixel(t),s=e.getView().getProjection();if(this.hitDetection_){var l="object"===PK(this.hitDetection_)?function(t){return t===o.hitDetection_}:void 0;e.forEachFeatureAtPixel(t,(function(t,e,r){if("Point"===(r=r||t.getGeometry()).getType()&&Object(h.f)(o.features_.getArray(),t)){i=r;var a=r.getFlatCoordinates().slice(0,2);n=[{feature:t,geometry:r,segment:[a,a]}]}return!0}),{layerFilter:l})}if(!n){var c=Object(u.m)(Object(mt.n)(a,LK),s),f=e.getView().getResolution()*this.pixelTolerance_,p=Object(u.x)(Object(mt.d)(c,f,LK),s);n=this.rBush_.getInExtent(p)}if(n&&n.length>0){var d=n.sort((function(t,e){return FK(a,t,s)-FK(a,e,s)}))[0],g=d.segment,y=DK(a,d,s),m=e.getPixelFromCoordinate(y),_=Object(di.f)(t,m);if(i||_<=this.pixelTolerance_){var v={};if(v[Object(si.c)(g)]=!0,this.snapToPointer_||(this.delta_[0]=y[0]-a[0],this.delta_[1]=y[1]-a[1]),"Circle"===d.geometry.getType()&&1===d.index)this.snappedToVertex_=!0,this.createOrUpdateVertexFeature_(y,[d.feature],[d.geometry]);else{var b=e.getPixelFromCoordinate(g[0]),x=e.getPixelFromCoordinate(g[1]),w=Object(di.l)(m,b),E=Object(di.l)(m,x);_=Math.sqrt(Math.min(w,E)),this.snappedToVertex_=_<=this.pixelTolerance_,this.snappedToVertex_&&(y=w>E?g[1]:g[0]),this.createOrUpdateVertexFeature_(y,[d.feature],[d.geometry]);var S={};S[Object(si.c)(d.geometry)]=!0;for(var O=1,I=n.length;O=0;--i)u=(r=h[i])[0],c=Object(si.c)(u.feature),u.depth&&(c+="-"+u.depth.join("-")),c in f||(f[c]={}),0===r[1]?(f[c].right=u,f[c].index=u.index):1==r[1]&&(f[c].left=u,f[c].index=u.index+1);for(c in f){switch(l=f[c].right,a=f[c].left,(s=(o=f[c].index)-1)<0&&(s=0),t=e=(n=(u=void 0!==a?a:l).geometry).getCoordinates(),p=!1,n.getType()){case"MultiLineString":e[u.depth[0]].length>2&&(e[u.depth[0]].splice(o,1),p=!0);break;case"LineString":e.length>2&&(e.splice(o,1),p=!0);break;case"MultiPolygon":t=t[u.depth[1]];case"Polygon":(t=t[u.depth[0]]).length>4&&(o==t.length-1&&(o=0),t.splice(o,1),p=!0,0===o&&(t.pop(),t.push(t[0]),s=t.length-1))}if(p){this.setGeometryCoordinates_(n,e);var d=[];if(void 0!==a&&(this.rBush_.remove(a),d.push(a.segment[0])),void 0!==l&&(this.rBush_.remove(l),d.push(l.segment[1])),void 0!==a&&void 0!==l){var g={depth:u.depth,feature:u.feature,geometry:u.geometry,index:s,segment:d};this.rBush_.insert(Object(mt.c)(g.segment),g)}this.updateSegmentIndices_(n,o,u.depth,-1),this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),h.length=0}}return p},e.prototype.setGeometryCoordinates_=function(t,e){this.changingFeature_=!0,t.setCoordinates(e),this.changingFeature_=!1},e.prototype.updateSegmentIndices_=function(t,e,r,n){this.rBush_.forEachInExtent(t.getExtent(),(function(i){i.geometry===t&&(void 0===r||void 0===i.depth||Object(h.b)(i.depth,r))&&i.index>e&&(i.index+=n)}))},e}(Os),UK=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function BK(t){return t.feature?t.feature:t.element?t.element:void 0}var zK=[],VK=function(t){function e(e){var r=this,n=e||{},i=n;return i.handleDownEvent||(i.handleDownEvent=ai.b),i.stopDown||(i.stopDown=ai.a),(r=t.call(this,i)||this).source_=n.source?n.source:null,r.vertex_=void 0===n.vertex||n.vertex,r.edge_=void 0===n.edge||n.edge,r.features_=n.features?n.features:null,r.featuresListenerKeys_=[],r.featureChangeListenerKeys_={},r.indexedFeaturesExtents_={},r.pendingFeatures_={},r.pixelTolerance_=void 0!==n.pixelTolerance?n.pixelTolerance:10,r.rBush_=new Pg,r.GEOMETRY_SEGMENTERS_={Point:r.segmentPointGeometry_.bind(r),LineString:r.segmentLineStringGeometry_.bind(r),LinearRing:r.segmentLineStringGeometry_.bind(r),Polygon:r.segmentPolygonGeometry_.bind(r),MultiPoint:r.segmentMultiPointGeometry_.bind(r),MultiLineString:r.segmentMultiLineStringGeometry_.bind(r),MultiPolygon:r.segmentMultiPolygonGeometry_.bind(r),GeometryCollection:r.segmentGeometryCollectionGeometry_.bind(r),Circle:r.segmentCircleGeometry_.bind(r)},r}return UK(e,t),e.prototype.addFeature=function(t,e){var r=void 0===e||e,n=Object(si.c)(t),i=t.getGeometry();if(i){var o=this.GEOMETRY_SEGMENTERS_[i.getType()];if(o){this.indexedFeaturesExtents_[n]=i.getExtent(Object(mt.k)());var a=[];if(o(a,i),1===a.length)this.rBush_.insert(Object(mt.c)(a[0]),{feature:t,segment:a[0]});else if(a.length>1){var s=a.map((function(t){return Object(mt.c)(t)})),l=a.map((function(e){return{feature:t,segment:e}}));this.rBush_.load(s,l)}}}r&&(this.featureChangeListenerKeys_[n]=Object(eo.a)(t,fo.a.CHANGE,this.handleFeatureChange_,this))},e.prototype.forEachFeatureAdd_=function(t){this.addFeature(t)},e.prototype.forEachFeatureRemove_=function(t){this.removeFeature(t)},e.prototype.getFeatures_=function(){var t;return this.features_?t=this.features_:this.source_&&(t=this.source_.getFeatures()),t},e.prototype.handleEvent=function(e){var r=this.snapTo(e.pixel,e.coordinate,e.map);return r&&(e.coordinate=r.vertex.slice(0,2),e.pixel=r.vertexPixel),t.prototype.handleEvent.call(this,e)},e.prototype.handleFeatureAdd_=function(t){var e=BK(t);this.addFeature(e)},e.prototype.handleFeatureRemove_=function(t){var e=BK(t);this.removeFeature(e)},e.prototype.handleFeatureChange_=function(t){var e=t.target;if(this.handlingDownUpSequence){var r=Object(si.c)(e);r in this.pendingFeatures_||(this.pendingFeatures_[r]=e)}else this.updateFeature_(e)},e.prototype.handleUpEvent=function(t){var e=Object(Mi.c)(this.pendingFeatures_);return e.length&&(e.forEach(this.updateFeature_.bind(this)),this.pendingFeatures_={}),!1},e.prototype.removeFeature=function(t,e){var r=void 0===e||e,n=Object(si.c)(t),i=this.indexedFeaturesExtents_[n];if(i){var o=this.rBush_,a=[];o.forEachInExtent(i,(function(e){t===e.feature&&a.push(e)}));for(var s=a.length-1;s>=0;--s)o.remove(a[s])}r&&(Object(eo.c)(this.featureChangeListenerKeys_[n]),delete this.featureChangeListenerKeys_[n])},e.prototype.setMap=function(e){var r=this.getMap(),n=this.featuresListenerKeys_,i=this.getFeatures_();r&&(n.forEach(eo.c),n.length=0,i.forEach(this.forEachFeatureRemove_.bind(this))),t.prototype.setMap.call(this,e),e&&(this.features_?n.push(Object(eo.a)(this.features_,oo,this.handleFeatureAdd_,this),Object(eo.a)(this.features_,ao,this.handleFeatureRemove_,this)):this.source_&&n.push(Object(eo.a)(this.source_,Lg,this.handleFeatureAdd_,this),Object(eo.a)(this.source_,Ng,this.handleFeatureRemove_,this)),i.forEach(this.forEachFeatureAdd_.bind(this)))},e.prototype.snapTo=function(t,e,r){var n=r.getCoordinateFromPixel([t[0]-this.pixelTolerance_,t[1]+this.pixelTolerance_]),i=r.getCoordinateFromPixel([t[0]+this.pixelTolerance_,t[1]-this.pixelTolerance_]),o=Object(mt.c)([n,i]),a=this.rBush_.getInExtent(o),s=a.length;if(0===s)return null;var l,c=r.getView().getProjection(),h=Object(u.l)(e,c),f=1/0,p=this.pixelTolerance_*this.pixelTolerance_,d=function(){if(l){var e=r.getPixelFromCoordinate(l);if(Object(di.l)(t,e)<=p)return{vertex:l,vertexPixel:[Math.round(e[0]),Math.round(e[1])]}}return null};if(this.vertex_){for(var g=0;g0&&y.length>0;)o=y.pop(),c=d.pop(),f=g.pop(),(l=o.toString())in m||(u.push(f[0],f[1]),m[l]=!0),a=y.pop(),h=d.pop(),p=g.pop(),i=e(n=t(s=(o+a)/2)),Object(qo.k)(i[0],i[1],f[0],f[1],p[0],p[1])this.featurePool_.length;)l=new gh,this.featurePool_.push(l);var h=n.getFeaturesCollection();h.clear();var f,p,d=0;for(f=0,p=this.meridians_.length;fMath.PI/2);for(var d=my(t),g=u;g<=c;++g){var y=this.meridians_.length+this.parallels_.length,m=void 0,_=void 0,v=void 0,b=void 0;if(this.meridiansLabels_)for(_=0,v=this.meridiansLabels_.length;_=s?(t[0]=a[0],t[2]=a[2]):o=!0);var l=[Object(qo.b)(e[0],this.minX_,this.maxX_),Object(qo.b)(e[1],this.minY_,this.maxY_)],u=this.toLonLatTransform_(l);isNaN(u[1])&&(u[1]=Math.abs(this.maxLat_)>=Math.abs(this.minLat_)?this.maxLat_:this.minLat_);var c,h,f,p,d=Object(qo.b)(u[0],this.minLon_,this.maxLon_),g=Object(qo.b)(u[1],this.minLat_,this.maxLat_),y=this.maxLines_,m=t;o||(m=[Object(qo.b)(t[0],this.minX_,this.maxX_),Object(qo.b)(t[1],this.minY_,this.maxY_),Object(qo.b)(t[2],this.minX_,this.maxX_),Object(qo.b)(t[3],this.minY_,this.maxY_)]);var _=Object(mt.a)(m,this.toLonLatTransform_,void 0,8),v=_[3],b=_[2],x=_[1],w=_[0];if(o||(Object(mt.g)(m,this.bottomLeft_)&&(w=this.minLon_,x=this.minLat_),Object(mt.g)(m,this.bottomRight_)&&(b=this.maxLon_,x=this.minLat_),Object(mt.g)(m,this.topLeft_)&&(w=this.minLon_,v=this.maxLat_),Object(mt.g)(m,this.topRight_)&&(b=this.maxLon_,v=this.maxLat_),v=Object(qo.b)(v,g,this.maxLat_),b=Object(qo.b)(b,d,this.maxLon_),x=Object(qo.b)(x,this.minLat_,g),w=Object(qo.b)(w,this.minLon_,d)),d=Math.floor(d/i)*i,p=Object(qo.b)(d,this.minLon_,this.maxLon_),h=this.addMeridian_(p,x,v,n,t,0),c=0,o)for(;(p-=i)>=w&&c++n[o]&&(i=o,o=1);var a=Math.max(e[1],n[i]),s=Math.min(e[3],n[o]),l=Object(qo.b)(e[1]+Math.abs(e[1]-e[3])*this.lonLabelPosition_,a,s),u=[n[i-1]+(n[o-1]-n[i-1])*(l-n[i])/(n[o]-n[i]),l],c=this.meridiansLabels_[r].geom;return c.setCoordinates(u),c},e.prototype.getMeridians=function(){return this.meridians_},e.prototype.getParallel_=function(t,e,r,n,i){var o=function(t,e,r,n,i){var o=Object(u.o)("EPSG:4326");return QK((function(n){return[e+(r-e)*n,t]}),Object(u.q)(o,n),i)}(t,e,r,this.projection_,n),a=this.parallels_[i];return a?(a.setFlatCoordinates($o,o),a.changed()):a=new Eh(o,$o),a},e.prototype.getParallelPoint_=function(t,e,r){var n=t.getFlatCoordinates(),i=0,o=n.length-2;n[i]>n[o]&&(i=o,o=0);var a=Math.max(e[0],n[i]),s=Math.min(e[2],n[o]),l=Object(qo.b)(e[0]+Math.abs(e[0]-e[2])*this.latLabelPosition_,a,s),u=[l,n[i+1]+(n[o+1]-n[i+1])*(l-n[i])/(n[o]-n[i])],c=this.parallelsLabels_[r].geom;return c.setCoordinates(u),c},e.prototype.getParallels=function(){return this.parallels_},e.prototype.updateProjectionInfo_=function(t){var e=Object(u.o)("EPSG:4326"),r=t.getWorldExtent();this.maxLat_=r[3],this.maxLon_=r[2],this.minLat_=r[1],this.minLon_=r[0];var n=Object(u.q)(t,e);if(this.minLon_=Math.abs(this.minLat_)?this.maxLat_:this.minLat_),this.projection_=t},e}(Gv),nJ=r(64),iJ=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),oJ=function(t){function e(e){var r=this,n=void 0===e.imageSmoothing||e.imageSmoothing;if(void 0!==e.interpolate&&(n=e.interpolate),(r=t.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:n,projection:Object(u.o)("EPSG:3857"),reprojectionErrorThreshold:e.reprojectionErrorThreshold,state:"loading",tileLoadFunction:e.tileLoadFunction,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:e.zDirection})||this).tileJSON_=null,r.tileSize_=e.tileSize,e.url)if(e.jsonp)Object(nJ.a)(e.url,r.handleTileJSONResponse.bind(r),r.handleTileJSONError.bind(r));else{var i=new XMLHttpRequest;i.addEventListener("load",r.onXHRLoad_.bind(r)),i.addEventListener("error",r.onXHRError_.bind(r)),i.open("GET",e.url),i.send()}else e.tileJSON?r.handleTileJSONResponse(e.tileJSON):Object(go.a)(!1,51);return r}return iJ(e,t),e.prototype.onXHRLoad_=function(t){var e=t.target;if(!e.status||e.status>=200&&e.status<300){var r=void 0;try{r=JSON.parse(e.responseText)}catch(t){return void this.handleTileJSONError()}this.handleTileJSONResponse(r)}else this.handleTileJSONError()},e.prototype.onXHRError_=function(t){this.handleTileJSONError()},e.prototype.getTileJSON=function(){return this.tileJSON_},e.prototype.handleTileJSONResponse=function(t){var e,r=Object(u.o)("EPSG:4326"),n=this.getProjection();if(void 0!==t.bounds){var i=Object(u.r)(r,n);e=Object(mt.a)(t.bounds,i)}var o=Object(ap.b)(n),a=t.minzoom||0,s=t.maxzoom||22,l=Object(ap.a)({extent:o,maxZoom:s,minZoom:a,tileSize:this.tileSize_});if(this.tileGrid=l,this.tileUrlFunction=$f(t.tiles,l),void 0!==t.attribution&&!this.getAttributions()){var c=void 0!==e?e:o;this.setAttributions((function(e){return Object(mt.H)(c,e.extent)?[t.attribution]:null}))}this.tileJSON_=t,this.setState("ready")},e.prototype.handleTileJSONError=function(){this.setState("error")},e}(up);function aJ(t){return(aJ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var sJ,lJ={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function uJ(t){return(t=Math.round(t))<0?0:t>255?255:t}function cJ(t){return t<0?0:t>1?1:t}function hJ(t){return"%"===t[t.length-1]?uJ(parseFloat(t)/100*255):uJ(parseInt(t))}function fJ(t){return"%"===t[t.length-1]?cJ(parseFloat(t)/100):cJ(parseFloat(t))}function pJ(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{sJ={}.parseCSSColor=function(t){var e,r=t.replace(/ /g,"").toLowerCase();if(r in lJ)return lJ[r].slice();if("#"===r[0])return 4===r.length?(e=parseInt(r.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===r.length&&(e=parseInt(r.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var n=r.indexOf("("),i=r.indexOf(")");if(-1!==n&&i+1===r.length){var o=r.substr(0,n),a=r.substr(n+1,i-(n+1)).split(","),s=1;switch(o){case"rgba":if(4!==a.length)return null;s=fJ(a.pop());case"rgb":return 3!==a.length?null:[hJ(a[0]),hJ(a[1]),hJ(a[2]),s];case"hsla":if(4!==a.length)return null;s=fJ(a.pop());case"hsl":if(3!==a.length)return null;var l=(parseFloat(a[0])%360+360)%360/360,u=fJ(a[1]),c=fJ(a[2]),h=c<=.5?c*(u+1):c+u-c*u,f=2*c-h;return[uJ(255*pJ(f,h,l+1/3)),uJ(255*pJ(f,h,l)),uJ(255*pJ(f,h,l-1/3)),s];default:return null}}return null}}catch(t){}var dJ=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};function gJ(t){return"object"===aJ(t)?["literal",t]:t}function yJ(t,e){var r=t.stops;if(!r)return function(t,e){var r=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",r]:r;if("enum"===e.type)return["match",r,Object.keys(e.values),r,t.default];var n=["color"===e.type?"to-color":e.type,r,gJ(t.default)];return"array"===e.type&&n.splice(1,0,e.value,e.length||null),n}(t,e);var n=r&&"object"===aJ(r[0][0]),i=n||void 0!==t.property,o=n||!i;return r=r.map((function(t){return!i&&e.tokens&&"string"==typeof t[1]?[t[0],EJ(t[1])]:[t[0],gJ(t[1])]})),n?function(t,e,r){for(var n={},i={},o=[],a=0;a3&&e===t[t.length-2]||(n&&2===t.length||t.push(e),t.push(r))}function wJ(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function EJ(t){for(var e=["concat"],r=/{([^{}]+)}/g,n=0,i=r.exec(t);null!==i;i=r.exec(t)){var o=t.slice(n,r.lastIndex-i[0].length);n=r.lastIndex,o.length>0&&e.push(o),e.push(["get",i[1]])}if(1===e.length)return t;if(n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var DJ=[IJ,CJ,TJ,PJ,RJ,NJ,LJ,jJ(MJ),kJ];function GJ(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!GJ(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=DJ;r=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function XJ(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof dJ)return!0;if(t instanceof zJ)return!0;if(t instanceof qJ)return!0;if(t instanceof YJ)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in QJ)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);o=QJ[s],n++}else o=MJ;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);a=t[2],n++}r=jJ(o,a)}else r=QJ[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var tQ=function(t){this.type=NJ,this.sections=t};tQ.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"===aJ(r))return e.error("First argument must be an image or text section.");for(var n=[],i=!1,o=1;o<=t.length-1;++o){var a=t[o];if(i&&"object"===aJ(a)&&!Array.isArray(a)){i=!1;var s=null;if(a["font-scale"]&&!(s=e.parse(a["font-scale"],1,CJ)))return null;var l=null;if(a["text-font"]&&!(l=e.parse(a["text-font"],1,jJ(TJ))))return null;var u=null;if(a["text-color"]&&!(u=e.parse(a["text-color"],1,RJ)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var h=e.parse(t[o],1,MJ);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new tQ(n)},tQ.prototype.evaluate=function(t){return new qJ(this.sections.map((function(e){var r=e.content.evaluate(t);return HJ(r)===kJ?new VJ("",r,null,null,null):new VJ(ZJ(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},tQ.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},eQ.prototype.eachChild=function(t){t(this.input)},eQ.prototype.outputDefined=function(){return!1},eQ.prototype.serialize=function(){return["image",this.input.serialize()]};var rQ={"to-boolean":PJ,"to-color":RJ,"to-number":CJ,"to-string":TJ},nQ=function(t,e){this.type=t,this.args=e};nQ.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=rQ[r],i=[],o=1;o4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":WJ(e[0],e[1],e[2],e[3])))return new dJ(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new JJ(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var a=null,s=0,l=this.args;s=e[2])&&(!(t[1]<=e[1])&&!(t[3]>=e[3])))}function hQ(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),o=Math.pow(2,e.z);return[Math.round(n*o*lQ),Math.round(i*o*lQ)]}function fQ(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function pQ(t,e){for(var r,n,i,o,a,s,l,u=!1,c=0,h=e.length;c0&&h<0||c<0&&h>0}function yQ(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,o=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===o&&(o=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=o}uQ(e,t)}function wQ(t,e,r,n){var i=Math.pow(2,n.z)*lQ,o=[n.x*lQ,n.y*lQ],a=[];if(!t)return a;for(var s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!CQ(t,e)&&(r=!1)})),r}SQ.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(XJ(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new JJ("Input is not a number.");a=s-1}return 0}PQ.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},PQ.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new $J(e,[t]):"coerce"===r?new nQ(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+aJ(n)+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var o=i.parse(t,this);if(!o)return null;if(this.expectedType){var a=this.expectedType,s=o.type;if("string"!==a.kind&&"number"!==a.kind&&"boolean"!==a.kind&&"object"!==a.kind&&"array"!==a.kind||"value"!==s.kind)if("color"!==a.kind&&"formatted"!==a.kind&&"resolvedImage"!==a.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(a,s))return null}else o=r(o,a,e.typeAnnotation||"coerce");else o=r(o,a,e.typeAnnotation||"assert")}if(!(o instanceof KJ)&&"resolvedImage"!==o.type.kind&&RQ(o)){var l=new oQ;try{o=new KJ(o.type,o.evaluate(l))}catch(t){return this.error(t.message),null}}return o}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"===aJ(t)?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+aJ(t)+" instead.")},PQ.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new PQ(this.registry,n,e||null,i,this.errors)},PQ.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new SJ(n,t))},PQ.prototype.checkSubtype=function(t,e){var r=GJ(t,e);return r&&this.error(r),r};var MQ=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=a)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new MQ(i,r,n)},MQ.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[LQ(e,n)].evaluate(t)},MQ.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var AQ=NQ;function NQ(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}function kQ(t,e,r){return t*(1-r)+e*r}NQ.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},NQ.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},NQ.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},NQ.prototype.solveCurveX=function(t,e){var r,n,i,o,a;for(void 0===e&&(e=1e-6),i=t,a=0;a<8;a++){if(o=this.sampleCurveX(i)-t,Math.abs(o)(n=1))return n;for(;ro?r=i:n=i,i=.5*(n-r)+r}return i},NQ.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var jQ=Object.freeze({__proto__:null,number:kQ,color:function(t,e,r){return new dJ(kQ(t.r,e.r,r),kQ(t.g,e.g,r),kQ(t.b,e.b,r),kQ(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return kQ(t,e[n],r)}))}}),FQ=.95047,DQ=1.08883,GQ=4/29,UQ=6/29,BQ=3*UQ*UQ,zQ=Math.PI/180,VQ=180/Math.PI;function qQ(t){return t>.008856451679035631?Math.pow(t,1/3):t/BQ+GQ}function YQ(t){return t>UQ?t*t*t:BQ*(t-GQ)}function WQ(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function XQ(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function HQ(t){var e=XQ(t.r),r=XQ(t.g),n=XQ(t.b),i=qQ((.4124564*e+.3575761*r+.1804375*n)/FQ),o=qQ((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*o-16,a:500*(i-o),b:200*(o-qQ((.0193339*e+.119192*r+.9503041*n)/DQ)),alpha:t.a}}function ZQ(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*YQ(e),r=FQ*YQ(r),n=DQ*YQ(n),new dJ(WQ(3.2404542*r-1.5371385*e-.4985314*n),WQ(-.969266*r+1.8760108*e+.041556*n),WQ(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function KQ(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var JQ={forward:HQ,reverse:ZQ,interpolate:function(t,e,r){return{l:kQ(t.l,e.l,r),a:kQ(t.a,e.a,r),b:kQ(t.b,e.b,r),alpha:kQ(t.alpha,e.alpha,r)}}},QQ={forward:function(t){var e=HQ(t),r=e.l,n=e.a,i=e.b,o=Math.atan2(i,n)*VQ;return{h:o<0?o+360:o,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*zQ,r=t.c;return ZQ({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:KQ(t.h,e.h,r),c:kQ(t.c,e.c,r),l:kQ(t.l,e.l,r),alpha:kQ(t.alpha,e.alpha,r)}}},$Q=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var o=0,a=i;o1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,CJ)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=RJ:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,u);if(!g)return null;u=u||g.type,l.push([h,g])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new $Q(u,r,n,i,l):e.error("Type "+FJ(u)+" is not interpolatable.")},$Q.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var o=LQ(e,n),a=e[o],s=e[o+1],l=$Q.interpolationFactor(this.interpolation,n,a,s),u=r[o].evaluate(t),c=r[o+1].evaluate(t);return"interpolate"===this.operator?jQ[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?QQ.reverse(QQ.interpolate(QQ.forward(u),QQ.forward(c),l)):JQ.reverse(JQ.interpolate(JQ.forward(u),JQ.forward(c),l))},$Q.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new JJ("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new JJ("Array index must be an integer, but found "+e+" instead.");return r[e]},n$.prototype.eachChild=function(t){t(this.index),t(this.input)},n$.prototype.outputDefined=function(){return!1},n$.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var i$=function(t,e){this.type=PJ,this.needle=t,this.haystack=e};i$.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,MJ),n=e.parse(t[2],2,MJ);return r&&n?UJ(r.type,[PJ,TJ,CJ,IJ,MJ])?new i$(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+FJ(r.type)+" instead"):null},i$.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(null==r)return!1;if(!BJ(e,["boolean","string","number","null"]))throw new JJ("Expected first argument to be of type boolean, string, number or null, but found "+FJ(HJ(e))+" instead.");if(!BJ(r,["string","array"]))throw new JJ("Expected second argument to be of type array or string, but found "+FJ(HJ(r))+" instead.");return r.indexOf(e)>=0},i$.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},i$.prototype.outputDefined=function(){return!0},i$.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var o$=function(t,e,r){this.type=CJ,this.needle=t,this.haystack=e,this.fromIndex=r};o$.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,MJ),n=e.parse(t[2],2,MJ);if(!r||!n)return null;if(!UJ(r.type,[PJ,TJ,CJ,IJ,MJ]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+FJ(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,CJ);return i?new o$(r,n,i):null}return new o$(r,n)},o$.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!BJ(e,["boolean","string","number","null"]))throw new JJ("Expected first argument to be of type boolean, string, number or null, but found "+FJ(HJ(e))+" instead.");if(!BJ(r,["string","array"]))throw new JJ("Expected second argument to be of type array or string, but found "+FJ(HJ(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},o$.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},o$.prototype.outputDefined=function(){return!1},o$.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var a$=function(t,e,r,n,i,o){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=o};a$.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},o=[],a=2;aNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,HJ(f)))return null}else r=HJ(f);if(void 0!==i[String(f)])return u.error("Branch labels must be unique.");i[String(f)]=o.length}var p=e.parse(l,a,n);if(!p)return null;n=n||p.type,o.push(p)}var d=e.parse(t[1],1,MJ);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new a$(r,n,d,i,o,g):null},a$.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(HJ(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},a$.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},a$.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},a$.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,o=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,MJ),n=e.parse(t[2],2,CJ);if(!r||!n)return null;if(!UJ(r.type,[jJ(MJ),TJ,MJ]))return e.error("Expected first argument to be of type array or string, but found "+FJ(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,CJ);return i?new l$(r.type,r,n,i):null}return new l$(r.type,r,n)},l$.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!BJ(e,["string","array"]))throw new JJ("Expected first argument to be of type array or string, but found "+FJ(HJ(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},l$.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},l$.prototype.outputDefined=function(){return!1},l$.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var f$=h$("==",(function(t,e,r){return e===r}),c$),p$=h$("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!c$(0,e,r,n)})),d$=h$("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),y$=h$("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),m$=h$(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),_$=function(t,e,r,n,i){this.type=TJ,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};_$.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,CJ);if(!r)return null;var n=t[2];if("object"!==aJ(n)||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,TJ)))return null;var o=null;if(n.currency&&!(o=e.parse(n.currency,1,TJ)))return null;var a=null;if(n["min-fraction-digits"]&&!(a=e.parse(n["min-fraction-digits"],1,CJ)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,CJ))?null:new _$(r,i,o,a,s)},_$.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},_$.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},_$.prototype.outputDefined=function(){return!1},_$.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var v$=function(t){this.type=CJ,this.input=t};v$.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+FJ(r.type)+" instead."):new v$(r):null},v$.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new JJ("Expected value to be of type string or array, but found "+FJ(HJ(e))+" instead.")},v$.prototype.eachChild=function(t){t(this.input)},v$.prototype.outputDefined=function(){return!1},v$.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var b$={"==":f$,"!=":p$,">":g$,"<":d$,">=":m$,"<=":y$,array:$J,at:n$,boolean:$J,case:s$,coalesce:e$,collator:sQ,format:tQ,image:eQ,in:i$,"index-of":o$,interpolate:$Q,"interpolate-hcl":$Q,"interpolate-lab":$Q,length:v$,let:r$,literal:KJ,match:a$,number:$J,"number-format":_$,object:$J,slice:l$,step:MQ,string:$J,"to-boolean":nQ,"to-color":nQ,"to-number":nQ,"to-string":nQ,var:TQ,within:SQ};function x$(t,e){var r=e[0],n=e[1],i=e[2],o=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var a=o?o.evaluate(t):1,s=WJ(r,n,i,a);if(s)throw new JJ(s);return new dJ(r/255*a,n/255*a,i/255*a,a)}function w$(t,e){return t in e}function E$(t,e){var r=e[t];return void 0===r?null:r}function S$(t){return{type:t}}function O$(t){return{result:"success",value:t}}function I$(t){return{result:"error",value:t}}function C$(t){return"object"===aJ(t)&&null!==t&&!Array.isArray(t)}aQ.register(b$,{error:[{kind:"error"},[TJ],function(t,e){var r=e[0];throw new JJ(r.evaluate(t))}],typeof:[TJ,[MJ],function(t,e){return FJ(HJ(e[0].evaluate(t)))}],"to-rgba":[jJ(CJ,4),[RJ],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[RJ,[CJ,CJ,CJ],x$],rgba:[RJ,[CJ,CJ,CJ,CJ],x$],has:{type:PJ,overloads:[[[TJ],function(t,e){return w$(e[0].evaluate(t),t.properties())}],[[TJ,LJ],function(t,e){var r=e[0],n=e[1];return w$(r.evaluate(t),n.evaluate(t))}]]},get:{type:MJ,overloads:[[[TJ],function(t,e){return E$(e[0].evaluate(t),t.properties())}],[[TJ,LJ],function(t,e){var r=e[0],n=e[1];return E$(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[MJ,[TJ],function(t,e){return E$(e[0].evaluate(t),t.featureState||{})}],properties:[LJ,[],function(t){return t.properties()}],"geometry-type":[TJ,[],function(t){return t.geometryType()}],id:[MJ,[],function(t){return t.id()}],zoom:[CJ,[],function(t){return t.globals.zoom}],pitch:[CJ,[],function(t){return t.globals.pitch||0}],"distance-from-center":[CJ,[],function(t){return t.distanceFromCenter()}],"heatmap-density":[CJ,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[CJ,[],function(t){return t.globals.lineProgress||0}],"sky-radial-progress":[CJ,[],function(t){return t.globals.skyRadialProgress||0}],accumulated:[MJ,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[CJ,S$(CJ),function(t,e){for(var r=0,n=0,i=e;n":[PJ,[TJ,MJ],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],o=n.value;return aJ(i)===aJ(o)&&i>o}],"filter-id->":[PJ,[MJ],function(t,e){var r=e[0],n=t.id(),i=r.value;return aJ(n)===aJ(i)&&n>i}],"filter-<=":[PJ,[TJ,MJ],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],o=n.value;return aJ(i)===aJ(o)&&i<=o}],"filter-id-<=":[PJ,[MJ],function(t,e){var r=e[0],n=t.id(),i=r.value;return aJ(n)===aJ(i)&&n<=i}],"filter->=":[PJ,[TJ,MJ],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],o=n.value;return aJ(i)===aJ(o)&&i>=o}],"filter-id->=":[PJ,[MJ],function(t,e){var r=e[0],n=t.id(),i=r.value;return aJ(n)===aJ(i)&&n>=i}],"filter-has":[PJ,[MJ],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[PJ,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[PJ,[jJ(TJ)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[PJ,[jJ(MJ)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[PJ,[TJ,jJ(MJ)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[PJ,[TJ,jJ(MJ)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:PJ,overloads:[[[PJ,PJ],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[S$(PJ),function(t,e){for(var r=0,n=e;r-1}(e))return I$([new SJ("","zoom expressions not supported")]);var o=A$(r);if(!o&&!i)return I$([new SJ("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(o instanceof SJ)return I$([o]);if(o instanceof $Q&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return I$([new SJ("",'"interpolate" expressions cannot be used with this property')]);if(!o)return O$(new R$(n?"constant":"source",t.value));var a=o instanceof $Q?o.interpolation:void 0;return O$(new L$(n?"camera":"composite",t.value,o.labels,a))}function A$(t){var e=null;if(t instanceof r$)e=A$(t.result);else if(t instanceof e$)for(var r=0,n=t.args;r":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Camera"},pitch:{group:"Camera"},"distance-from-center":{group:"Camera"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},"sky-radial-progress":{group:"sky"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},fog:{range:{type:"array",default:[.5,10],minimum:-20,maximum:20,length:2,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"high-color":{type:"color","property-type":"data-constant",default:"#245cdf",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"space-color":{type:"color","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-blend":{type:"number","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],4,.2,7,.1],minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"star-intensity":{type:"number","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],5,.35,6,0],minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},projection:{name:{type:"enum",values:{albers:{},equalEarth:{},equirectangular:{},lambertConformalConic:{},mercator:{},naturalEarth:{},winkelTripel:{},globe:{}},default:"mercator",required:!0},center:{type:"array",length:2,value:"number","property-type":"data-constant",minimum:[-180,-90],maximum:[180,90],transition:!1,requires:[{name:["albers","lambertConformalConic"]}]},parallels:{type:"array",length:2,value:"number","property-type":"data-constant",minimum:[-90,-90],maximum:[90,90],transition:!1,requires:[{name:["albers","lambertConformalConic"]}]}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number","property-type":"data-constant",default:1,minimum:0,maximum:1e3,expression:{interpolated:!0,parameters:["zoom"]},transition:!0,requires:["source"]}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{type:"array",value:"number",length:2,default:[0,0],minimum:[0,0],maximum:[1,1],transition:!1,requires:[{source:"geojson",has:{lineMetrics:!0}}],"property-type":"constant"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_sky:{"sky-type":{type:"enum",values:{gradient:{},atmosphere:{}},default:"atmosphere",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{type:"array",value:"number",length:2,units:"degrees",minimum:[0,0],maximum:[360,180],transition:!1,requires:[{"sky-type":"atmosphere"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{type:"number",requires:[{"sky-type":"atmosphere"}],default:10,minimum:0,maximum:100,transition:!1,"property-type":"data-constant"},"sky-gradient-center":{type:"array",requires:[{"sky-type":"gradient"}],value:"number",default:[0,0],length:2,units:"degrees",minimum:[0,0],maximum:[360,180],transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{type:"number",requires:[{"sky-type":"gradient"}],default:90,minimum:0,maximum:180,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-gradient":{type:"color",default:["interpolate",["linear"],["sky-radial-progress"],.8,"#87ceeb",1,"white"],transition:!1,requires:[{"sky-type":"gradient"}],expression:{interpolated:!0,parameters:["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{type:"color",default:"white",transition:!1,requires:[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{type:"color",default:"white",transition:!1,requires:[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};function j$(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e",">=","<","<=","to-boolean"]);function z$(t,e){return te?1:0}function V$(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Y$(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(q$))):"all"===r?["all"].concat(t.slice(1).map(q$)):"none"===r?["all"].concat(t.slice(1).map(q$).map(H$)):"in"===r?W$(t[1],t.slice(2)):"!in"===r?H$(W$(t[1],t.slice(2))):"has"===r?X$(t[1]):"!has"===r?H$(X$(t[1])):"within"!==r||t}function Y$(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function W$(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return aJ(t)!==aJ(e[0])}))?["filter-in-large",t,["literal",e.sort(z$)]]:["filter-in-small",t,["literal",e]]}}function X$(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function H$(t){return["!",t]}var Z$=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function K$(t,e){var r={};for(var n in t)"ref"!==n&&(r[n]=t[n]);return Z$.forEach((function(t){t in e&&(r[t]=e[t])})),r}var J$={thin:100,hairline:100,"ultra-light":100,"extra-light":100,light:200,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,heavy:800,black:800,"extra-bold":800,"ultra-black":900,"extra-black":900,"ultra-bold":900,"heavy-black":900,fat:900,poster:900},Q$=" ",$$=/(italic|oblique)$/i,t0={},e0=function(t,e,r){var n=t0[t];if(!n){Array.isArray(t)||(t=[t]);for(var i=400,o="normal",a=[],s=0,l=t.length;s1?u[u.length-2].toLowerCase():"";if(c==h||c==h.replace("-","")||f+"-"+c==h){i=J$[h],u.pop(),f&&h.startsWith(f)&&u.pop();break}}"number"==typeof c&&(i=c);var p=u.join(Q$).replace("Klokantech Noto Sans","Noto Sans");-1!==p.indexOf(Q$)&&(p='"'+p+'"'),a.push(p)}n=t0[t]=[o,i,a]}return n[0]+Q$+n[1]+Q$+e+"px"+(r?"/"+r:"")+Q$+n[2]},r0="https://api.mapbox.com";function n0(t){var e="mapbox://";return 0!==t.indexOf(e)?"":t.slice(e.length)}function i0(t,e){var r=n0(t);if(!r)return decodeURI(new URL(t,location.href).href);var n="styles/";if(0!==r.indexOf(n))throw new Error("unexpected style url: "+t);var i=r.slice(n.length);return r0+"/styles/v1/"+i+"?&access_token="+e}function o0(t,e,r,n){var i=new URL(t,n),o=n0(t);return o?"https://{a-d}.tiles.mapbox.com/v4/"+o+"/{z}/{x}/{y}.vector.pbf?access_token="+e:e?(i.searchParams.set(r,e),decodeURI(i.href)):decodeURI(i.href)}function a0(t){return t*Math.PI/180}var s0=function(){for(var t=[],e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function l0(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);var r=document.createElement("canvas");return r.width=t,r.height=e,r}var u0={};function c0(t,e,r){if(void 0===r&&(r={}),e in u0)return u0[e];var n=r.transformRequest&&r.transformRequest(e,t)||new Request(e);n.headers.get("Accept")||n.headers.set("Accept","application/json");var i=fetch(n).then((function(t){return delete u0[e],t.ok?t.json():Promise.reject(new Error("Error fetching source "+e))})).catch((function(t){return delete u0[e],Promise.reject(new Error("Error fetching source "+e))}));return u0[e]=i,i}function h0(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return c0("Style",t=i0(t,e.accessToken),e);try{var r=JSON.parse(t);return Promise.resolve(r)}catch(t){return Promise.reject(t)}}var f0={};function p0(t,e,r){void 0===r&&(r={});var n=[e,JSON.stringify(t)].toString(),i=f0[n];if(!i||r.transformRequest){var o=t.url;if(o&&!t.tiles){var a=o0(o,r.accessToken,r.accessTokenParam||"access_token",e||location.href);i=o.startsWith("mapbox://")?Promise.resolve(Object.assign({},t,{url:void 0,tiles:a})):c0("Source",a,r).then((function(t){for(var e=0,n=t.tiles.length;e=.05){for(var r="",n=t.split("\n"),i=g0.slice(0,Math.round(e/.1)),o=0,a=n.length;o0&&(r+="\n"),r+=n[o].split("").join(i);return r}return t}function m0(){return d0||(d0=l0(1,1).getContext("2d")),d0}function _0(t,e){return m0().measureText(t).width+(t.length-1)*e}var v0={};function b0(t,e,r,n){if(-1!==t.indexOf("\n")){for(var i=t.split("\n"),o=[],a=0,s=i.length;a1){var h=m0();h.font=e;for(var f=h.measureText("M").width*r,p="",d=[],g=0,y=c.length;g1;++v){var x=d[v];if(_0(x,n)<.35*f){var w=v>0?_0(d[v-1],n):1/0,E=v.7*f&&_0(C,n)<.6*f){var T=I.split(" "),P=T.pop();_0(P,n)<.2*f&&(d[S]=T.join(" "),d[S+1]=P+" "+C),O-=1}}u=d.join("\n")}else u=t;u=y0(u,n),v0[l]=u}return u}var x0,w0=/font-family: ?([^;]*);/,E0=/("|')/g;function S0(t){if(!x0){x0={};for(var e=document.styleSheets,r=0,n=e.length;r0&&"string"==typeof l[0]&&l[0]in b$);if(!f&&C$(c)&&(c=yJ(c,h),f=!0),f){var p=function(t,e){var r=M$(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}(c,h);u[r]=p.evaluate.bind(p)}else"color"==h.type&&(c=dJ.parse(c)),u[r]=function(){return c}}return M0.zoom=n,u[r](M0,i,a)}function N0(t,e,r,n){return A0(t,"layout","icon-allow-overlap",e,r,n)?A0(t,"layout","icon-ignore-placement",e,r,n)?"none":"obstacle":"declutter"}function k0(t,e,r,n,i){return i||console.warn("No filterCache provided to evaluateFilter()"),t in i||(i[t]=F$(e).filter),M0.zoom=n,i[t](M0,r)}var j0=!1;function F0(t,e){if(t){if(!j0&&(0===t.a||0===e))return;var r=t.a;return e=void 0===e?1:e,0===r?"transparent":"rgba("+Math.round(255*t.r/r)+","+Math.round(255*t.g/r)+","+Math.round(255*t.b/r)+","+r*e+")"}return t}var D0=/\{[^{}}]*\}/g;function G0(t,e){return t.replace(D0,(function(t){return e[t.slice(1,-1)]||""}))}var U0=!1;function B0(t,e,r,n,i,o,a){if(void 0===n&&(n=s0),void 0===i&&(i=void 0),void 0===o&&(o=void 0),void 0===a&&(a=void 0),"string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");var s,l;if(o)if("undefined"!=typeof Image){var u=new Image;u.crossOrigin="anonymous",u.onload=function(){s=u,l=[u.width,u.height],t.changed(),u.onload=null},u.src=o}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){var c=self;c.postMessage({action:"loadImage",src:o}),c.addEventListener("message",(function(t){"imageLoaded"===t.data.action&&t.data.src===o&&(s=t.data.image,l=[s.width,s.height])}))}for(var h,f=function(t){t=t.slice();for(var e=Object.create(null),r=0;r=S.maxzoom)){var L=S.filter;if(!L||k0(O,L,d,c,_)){h=S;var M=void 0,A=void 0,N=void 0,k=void 0,j=void 0,F=void 0,D=E.index;if(3==f&&("fill"==S.type||"fill-extrusion"==S.type))if(A=A0(S,"paint",S.type+"-opacity",c,d,m,v),S.type+"-pattern"in R){var G=A0(S,"paint",S.type+"-pattern",c,d,m,v);if(G){var U="string"==typeof G?G0(G,o):G.toString();if(s&&i&&i[U]){++b,(F=P[b])&&F.getFill()&&!F.getStroke()&&!F.getText()||(F=new om({fill:new Jy}),P[b]=F),N=F.getFill(),F.setZIndex(D);var B=U+"."+A,z=y[B];if(!z){var V=i[U],q=l0(V.width,V.height),Y=q.getContext("2d");Y.globalAlpha=A,Y.drawImage(s,V.x,V.y,V.width,V.height,0,0,V.width,V.height),z=Y.createPattern(q,"repeat"),y[B]=z}N.setColor(z)}}}else M=F0(A0(S,"paint",S.type+"-color",c,d,m,v),A),S.type+"-outline-color"in R&&(j=F0(A0(S,"paint",S.type+"-outline-color",c,d,m,v),A)),j||(j=M),(M||j)&&(++b,(!(F=P[b])||M&&!F.getFill()||!M&&F.getFill()||j&&!F.getStroke()||!j&&F.getStroke()||F.getText())&&(F=new om({fill:M?new Jy:void 0,stroke:j?new Qy:void 0}),P[b]=F),M&&(N=F.getFill()).setColor(M),j&&((k=F.getStroke()).setColor(j),k.setWidth(.5)),F.setZIndex(D));if(1!=f&&"line"==S.type){M=!("line-pattern"in R)&&"line-color"in R?F0(A0(S,"paint","line-color",c,d,m,v),A0(S,"paint","line-opacity",c,d,m,v)):void 0;var W=A0(S,"paint","line-width",c,d,m,v);M&&W>0&&(++b,(F=P[b])&&F.getStroke()&&!F.getFill()&&!F.getText()||(F=new om({stroke:new Qy}),P[b]=F),(k=F.getStroke()).setLineCap(A0(S,"layout","line-cap",c,d,m,v)),k.setLineJoin(A0(S,"layout","line-join",c,d,m,v)),k.setMiterLimit(A0(S,"layout","line-miter-limit",c,d,m,v)),k.setColor(M),k.setWidth(W),k.setLineDash(R["line-dasharray"]?A0(S,"paint","line-dasharray",c,d,m,v).map((function(t){return t*W})):null),F.setZIndex(D))}var X=!1,H=null,Z=0,K=void 0,J=void 0,Q=void 0;if((1==f||2==f)&&"icon-image"in I){var $=A0(S,"layout","icon-image",c,d,m,v);if($){K="string"==typeof $?G0($,o):$.toString();var tt=void 0;if(s&&i&&i[K]){var et=A0(S,"layout","icon-rotation-alignment",c,d,m,v);if(2==f){var rt=e.getGeometry();if(rt.getFlatMidpoint||rt.getFlatMidpoints){var nt=rt.getExtent();if(Math.sqrt(Math.max(Math.pow((nt[2]-nt[0])/r,2),Math.pow((nt[3]-nt[1])/r,2)))>150){var it="MultiLineString"===rt.getType()?rt.getFlatMidpoints():rt.getFlatMidpoint();if(T0||(T0=new Mh("Point",C0=[NaN,NaN],[],{},null)),tt=T0,C0[0]=it[0],C0[1]=it[1],"line"===A0(S,"layout","symbol-placement",c,d,m,v)&&"map"===et)for(var ot=rt.getStride(),at=rt.getFlatCoordinates(),st=0,lt=at.length-ot;st=pt&&it[0]<=gt&&it[1]>=dt&&it[1]<=yt){Z=Math.atan2(ct-ft,ht-ut);break}}}}}if(2!==f||tt){var mt=A0(S,"layout","icon-size",c,d,m,v),_t=void 0!==R["icon-color"]?A0(S,"paint","icon-color",c,d,m,v):null;if(!_t||0!==_t.a){var vt=K+"."+mt;if(null!==_t&&(vt+="."+_t),!(J=g[vt])){var bt=i[K],xt=N0(S,c,d,m);J=new oy({color:_t?[255*_t.r,255*_t.g,255*_t.b,_t.a]:void 0,img:s,imgSize:l,size:[bt.width,bt.height],offset:[bt.x,bt.y],rotateWithView:"map"===et,scale:mt/bt.pixelRatio,displacement:"icon-offset"in I?A0(S,"layout","icon-offset",c,d,m,v).map((function(t){return-t*bt.pixelRatio})):void 0,declutterMode:xt}),g[vt]=J}}J&&(++b,(F=P[b])&&F.getImage()&&!F.getFill()&&!F.getStroke()||(F=new om,P[b]=F),F.setGeometry(tt),J.setRotation(Z+a0(A0(S,"layout","icon-rotate",c,d,m,v))),J.setOpacity(A0(S,"paint","icon-opacity",c,d,m,v)),J.setAnchor(R0[A0(S,"layout","icon-anchor",c,d,m,v)]),F.setImage(J),H=F.getText(),F.setText(void 0),F.setZIndex(D),X=!0,Q=!1)}else Q=!0}}}if(1==f&&"circle"===S.type){++b,(F=P[b])&&F.getImage()&&!F.getFill()&&!F.getStroke()||(F=new om,P[b]=F);var wt="circle-radius"in R?A0(S,"paint","circle-radius",c,d,m,v):5,Et=F0(A0(S,"paint","circle-stroke-color",c,d,m,v),A0(S,"paint","circle-stroke-opacity",c,d,m,v)),St=F0(A0(S,"paint","circle-color",c,d,m,v),A0(S,"paint","circle-opacity",c,d,m,v)),Ot=A0(S,"paint","circle-stroke-width",c,d,m,v),It=wt+"."+Et+"."+St+"."+Ot;(J=g[It])||(J=new Ky({radius:wt,stroke:Et&&Ot>0?new Qy({width:Ot,color:Et}):void 0,fill:St?new Jy({color:St}):void 0,declutterMode:"none"}),g[It]=J),F.setImage(J),H=F.getText(),F.setText(void 0),F.setGeometry(void 0),F.setZIndex(D),X=!0}var Ct=void 0,Tt=void 0,Pt=void 0,Rt=void 0,Lt=void 0,Mt=void 0;if("text-field"in I){Rt=Math.round(A0(S,"layout","text-size",c,d,m,v));var At=A0(S,"layout","text-font",c,d,m,v);Pt=A0(S,"layout","text-line-height",c,d,m,v),(Tt=e0(a?a(At):At,Rt,Pt)).includes("sans-serif")||(Tt+=",sans-serif"),Lt=A0(S,"layout","text-letter-spacing",c,d,m,v),Mt=A0(S,"layout","text-max-width",c,d,m,v);var Nt=A0(S,"layout","text-field",c,d,m,v);Ct="object"===aJ(Nt)&&Nt.sections?1===Nt.sections.length?Nt.toString():Nt.sections.reduce((function(t,e,r){var n=e.fontStack?e.fontStack.split(","):At,i=e0(a?a(n):n,Rt*(e.scale||1),Pt),o=e.text;if("\n"===o)return t.push("\n",""),t;if(2!=f){for(var s=0,l=(o=b0(o,i,Mt,Lt).split("\n")).length;s0&&t.push("\n",""),t.push(o[s],i);return t}t.push(y0(o,Lt),i)}),[]):G0(Nt,o).trim(),A=A0(S,"paint","text-opacity",c,d,m,v)}if(Ct&&A&&!Q){X||(++b,(F=P[b])&&F.getText()&&!F.getFill()&&!F.getStroke()||(F=new om,P[b]=F),F.setImage(void 0),F.setGeometry(void 0)),F.getText()||F.setText(H||new lm({padding:[2,2,2,2]})),H=F.getText();var kt=I["text-transform"];"uppercase"==kt?Ct=Array.isArray(Ct)?Ct.map((function(t,e){return e%2?t:t.toUpperCase()})):Ct.toUpperCase():"lowercase"==kt&&(Ct=Array.isArray(Ct)?Ct.map((function(t,e){return e%2?t:t.toLowerCase()})):Ct.toLowerCase());var jt=Array.isArray(Ct)?Ct:2==f?y0(Ct,Lt):b0(Ct,Tt,Mt,Lt);H.setText(jt),H.setFont(Tt),H.setRotation(a0(A0(S,"layout","text-rotate",c,d,m,v)));var Ft=A0(S,"layout","text-anchor",c,d,m,v),Dt=X||1==f?"point":A0(S,"layout","symbol-placement",c,d,m,v);H.setPlacement(Dt),H.setOverflow("point"===Dt);var Gt=A0(S,"paint","text-halo-width",c,d,m,v),Ut=A0(S,"layout","text-offset",c,d,m,v),Bt=A0(S,"paint","text-translate",c,d,m,v),zt=0,Vt=0;if("point"==Dt){var qt="center";-1!==Ft.indexOf("left")?(qt="left",Vt=Gt):-1!==Ft.indexOf("right")&&(qt="right",Vt=-Gt),H.setTextAlign(qt);var Yt=A0(S,"layout","text-rotation-alignment",c,d,m,v);H.setRotateWithView("map"==Yt)}else H.setMaxAngle(a0(A0(S,"layout","text-max-angle",c,d,m,v))*Ct.length/jt.length),H.setTextAlign(),H.setRotateWithView(!1);var Wt="middle";0==Ft.indexOf("bottom")?(Wt="bottom",zt=-Gt-.5*(Pt-1)*Rt):0==Ft.indexOf("top")&&(Wt="top",zt=Gt+.5*(Pt-1)*Rt),H.setTextBaseline(Wt),H.setOffsetX(Ut[0]*Rt+Vt+Bt[0]),H.setOffsetY(Ut[1]*Rt+zt+Bt[1]),T.setColor(F0(A0(S,"paint","text-color",c,d,m,v),A)),H.setFill(T);var Xt=F0(A0(S,"paint","text-halo-color",c,d,m,v),A);if(Xt){C.setColor(Xt),Gt*=2;var Ht=.5*Rt;C.setWidth(Gt<=Ht?Gt:Ht),H.setStroke(C)}else H.setStroke(void 0);var Zt=A0(S,"layout","text-padding",c,d,m,v),Kt=H.getPadding();Zt!==Kt[0]&&(Kt[0]=Zt,Kt[1]=Zt,Kt[2]=Zt,Kt[3]=Zt),F.setZIndex(D)}}}}return b>-1?(P.length=b+1,U0&&("function"==typeof e.set?e.set("mapbox-layer",h):e.getProperties()["mapbox-layer"]=h),P):void 0}};return t.setStyle(R),t.set("mapbox-source",h),t.set("mapbox-layers",d),t.set("mapbox-featurestate",{}),R}function z0(t,e){e.accessToken||(e=Object.assign({},e),new URL(t).searchParams.forEach((function(t,r){e.accessToken=t,e.accessTokenParam=r})));return e}function V0(t,e,r,n,i){var o,a,s;return void 0===r&&(r=""),void 0===n&&(n={}),void 0===i&&(i=void 0),"string"==typeof n?(o=n,s={}):(o=n.styleUrl,s=n),i||(i=s.resolutions),o||"string"!=typeof e||e.trim().startsWith("{")||(o=e),o&&(o=o.startsWith("data:")?location.href:i0(o,s.accessToken),s=z0(o,s)),new Promise((function(n,l){h0(e,s).then((function(e){if(8!=e.version)return l(new Error("glStyle version 8 required."));if(!(t instanceof Gv||t instanceof _j))return l(new Error("Can only apply to VectorLayer or VectorTileLayer"));var c,h,f,p=t instanceof _j?"vector":"geojson";if(r?a=Array.isArray(r)?e.layers.find((function(t){return t.id===r[0]})).source:r:(a=Object.keys(e.sources).find((function(t){return e.sources[t].type===p})),r=a),!a)return l(new Error("No "+p+" source found in the glStyle."));function d(){if(t instanceof _j)return H0(e.sources[a],o,s).then((function(e){var r=t.getSource();if(r?e!==r&&(r.setTileUrlFunction(e.getTileUrlFunction()),r.format_||(r.format_=e.format_),r.getAttributions()||r.setAttributions(e.getAttributions()),r.getTileLoadFunction()===sj&&r.setTileLoadFunction(e.getTileLoadFunction()),Object(u.j)(r.getProjection(),e.getProjection())&&(r.tileGrid=e.getTileGrid())):t.setSource(e),!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())){var n=t.getSource().getTileGrid();t.setMaxResolution(n.getResolution(n.getMinZoom()))}}));var r=e.sources[a],n=t.getSource();n&&n.get("mapbox-source")===r||(n=K0(r,o,s));var i=t.getSource();return i?n!==i&&(i.getAttributions()||i.setAttributions(n.getAttributions()),i.format_||(i.format_=n.getFormat()),i.url_=n.getUrl()):t.setSource(n),Promise.resolve()}function g(){f||e.sprite&&!c?f?(t.setStyle(f),d().then(n).catch(l)):l(new Error("Something went wrong trying to apply style.")):(f=B0(t,e,r,i,c,h,I0),t.getStyle()?d().then(n).catch(l):l(new Error("Nothing to show for source ["+a+"]")))}if(e.sprite){var y=new URL(function(t,e,r){var n=n0(t);if(!n)return decodeURI(new URL(t,r).href);var i="sprites/";if(0!==n.indexOf(i))throw new Error("unexpected sprites url: "+t);var o=n.slice(i.length);return r0+"/styles/v1/"+o+"/sprite?access_token="+e}(e.sprite,s.accessToken,o||location.href)),m=.5==(window.devicePixelRatio>=1.5?.5:1)?"@2x":"",_=y.origin+y.pathname+m+".json"+y.search;new Promise((function(t,e){c0("Sprite",_,s).then(t).catch((function(r){c0("Sprite",_=y.origin+y.pathname+".json"+y.search,s).then(t).catch(e)}))})).then((function(t){if(void 0===t&&l(new Error("No sprites found.")),c=t,h=y.origin+y.pathname+m+".png"+y.search,s.transformRequest){var e=s.transformRequest(h,"SpriteImage");e instanceof Request&&(h=encodeURI(e.url))}g()})).catch((function(t){l(new Error("Sprites cannot be loaded: "+_+": "+t.message))}))}else g()})).catch(l)}))}var q0={};function Y0(t,e){var r={id:e.id,type:e.type},n={};function i(i){var o=e.layout||{},a=e.paint||{};r.paint=a;var s,l,u="function"==typeof t.getSource?t.getSource().getTileGrid().getZForResolution(i):t.getView().getZoom(),c="function"==typeof t.getTargetElement?t.getTargetElement():void 0;if(void 0!==a["background-color"]&&(s=A0(r,"paint","background-color",u,q0,n),c&&(c.style.background=dJ.parse(s).toString())),void 0!==a["background-opacity"]&&(l=A0(r,"paint","background-opacity",u,q0,n),c&&(c.style.opacity=l)),"none"!=o.visibility)return F0(s,l);c&&(c.style.backgroundColor="",c.style.opacity="")}if("function"==typeof t.getTargetElement)t.getTargetElement()&&i(),t.on(["change:resolution","change:target"],i);else{if("function"!=typeof t.setBackground)throw new Error("Unable to apply background.");t.setBackground(i)}}function W0(t,e){e.layers.some((function(e){if("background"===e.type)return Y0(t,e),!0}))}function X0(t){var e=t.bounds;if(e){var r=Object(u.k)([e[0],e[1]]),n=Object(u.k)([e[2],e[3]]);return[r[0],r[1],n[0],n[1]]}}function H0(t,e,r){return new Promise((function(n,i){p0(t,e,r).then((function(t){var e=new oJ({tileJSON:t}),r=e.getTileJSON(),i=e.getTileGrid(),o=X0(r),a=r.minzoom||0,s=r.maxzoom||22,l={attributions:e.getAttributions(),format:new Ij,tileGrid:new nh.a({origin:i.getOrigin(0),extent:o||i.getExtent(),minZoom:a,resolutions:s0.slice(0,s+1),tileSize:512})};Array.isArray(r.tiles)?l.urls=r.tiles:l.url=r.tiles,t.olSourceOptions&&Object.assign(l,t.olSourceOptions),n(new aj(l))})).catch(i)}))}var Z0=new WM;function K0(t,e,r){var n=t.data,i={};if("string"==typeof n){var o=o0(n,r.accessToken,r.accessTokenParam||"access_token",e||location.href);if(r.transformRequest){var a=r.transformRequest(o,"GeoJSON");a instanceof Request&&(o=encodeURI(a.url))}i.url=o}else i.features=Z0.readFeatures(n,{featureProjection:Object(u.s)()||"EPSG:3857"});var s=new qg(Object.assign({attributions:t.attribution,format:Z0},i));return s.set("mapbox-source",t),s}var J0=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Q0=function(t){function e(e){var r=t.call(this,fo.a.ERROR)||this;return r.error=e,r}return J0(e,t),e}(so.a),$0=function(t){function e(e){var r=this,n=!("declutter"in e)||e.declutter,i=new aj({state:"loading",format:new Ij});r=t.call(this,{source:i,background:e.background,declutter:n,className:e.className,opacity:e.opacity,visible:e.visible,zIndex:e.zIndex,minResolution:e.minResolution,maxResolution:e.maxResolution,minZoom:e.minZoom,maxZoom:e.maxZoom,renderOrder:e.renderOrder,renderBuffer:e.renderBuffer,renderMode:e.renderMode,map:e.map,updateWhileAnimating:e.updateWhileAnimating,updateWhileInteracting:e.updateWhileInteracting,preload:e.preload,useInterimTilesOnError:e.useInterimTilesOnError,properties:e.properties})||this,e.accessToken&&(r.accessToken=e.accessToken);var o=e.styleUrl;return V0(r,o,e.layers||e.source,{accessToken:r.accessToken}).then((function(){i.setState("ready")})).catch((function(t){r.dispatchEvent(new Q0(t)),r.getSource().setState("error")})),void 0===r.getBackground()&&function(t,e,r){void 0===r&&(r={}),"object"===aJ(e)?(W0(t,e),Promise.resolve()):h0(e,r).then((function(e){W0(t,e)}))}(r,e.styleUrl,{accessToken:r.accessToken}),r}return J0(e,t),e}(_j),t1=r(72),e1=r(74),r1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),n1=function(t){function e(e){var r=t.call(this,e)||this;return r.vectorRenderer_=new Fv(e),r.layerImageRatio_=e.getImageRatio(),r.coordinateToVectorPixelTransform_=Object(li.d)(),r.renderedPixelToCoordinateTransform_=null,r}return r1(e,t),e.prototype.disposeInternal=function(){this.vectorRenderer_.dispose(),t.prototype.disposeInternal.call(this)},e.prototype.getFeatures=function(t){if(!this.vectorRenderer_)return new Promise((function(t){return t([])}));var e=Object(li.a)(this.coordinateToVectorPixelTransform_,Object(li.a)(this.renderedPixelToCoordinateTransform_,t.slice()));return this.vectorRenderer_.getFeatures(e)},e.prototype.handleFontsChanged=function(){this.vectorRenderer_.handleFontsChanged()},e.prototype.prepareFrame=function(t){var e=t.pixelRatio,r=t.viewState,n=r.resolution,i=t.viewHints,o=this.vectorRenderer_,a=t.extent;1!==this.layerImageRatio_&&(a=a.slice(0),Object(mt.L)(a,this.layerImageRatio_));var s=Object(mt.G)(a)/n,l=Object(mt.A)(a)/n;if(!i[Bo.a.ANIMATING]&&!i[Bo.a.INTERACTING]&&!Object(mt.J)(a)){o.useContainer(null,null);var u=o.context,c=t.layerStatesArray[t.layerIndex];u.globalAlpha=c.opacity;var h=Object(Mi.a)({},c,{opacity:1}),f=Object(Mi.a)({},t,{declutterTree:new Tg.a(9),extent:a,size:[s,l],viewState:Object(Mi.a)({},t.viewState,{rotation:0}),layerStatesArray:[h],layerIndex:0}),p=!0,d=new e1.a(a,n,e,u.canvas,(function(t){o.prepareFrame(f)&&o.replayGroupChanged&&(o.clipping=!1,o.renderFrame(f,null)&&(o.renderDeclutter(f),p=!1),t())}));d.addEventListener(fo.a.CHANGE,function(){if(d.getState()===$g.a.LOADED){this.image_=p?null:d;var t=d.getResolution(),n=d.getPixelRatio(),i=t*e/n;this.renderedResolution=i,this.coordinateToVectorPixelTransform_=Object(li.b)(this.coordinateToVectorPixelTransform_,s/2,l/2,1/i,-1/i,0,-r.center[0],-r.center[1])}}.bind(this)),d.load()}return this.image_&&(this.renderedPixelToCoordinateTransform_=t.pixelToCoordinateTransform.slice()),!!this.image_},e.prototype.preRender=function(){},e.prototype.postRender=function(){},e.prototype.renderDeclutter=function(){},e.prototype.forEachFeatureAtCoordinate=function(e,r,n,i,o){return this.vectorRenderer_?this.vectorRenderer_.forEachFeatureAtCoordinate(e,r,n,i,o):t.prototype.forEachFeatureAtCoordinate.call(this,e,r,n,i,o)},e}(t1.a),i1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),o1=function(t){function e(e){var r=this,n=e||{},i=Object(Mi.a)({},n);return delete i.imageRatio,(r=t.call(this,i)||this).imageRatio_=void 0!==n.imageRatio?n.imageRatio:1,r}return i1(e,t),e.prototype.getImageRatio=function(){return this.imageRatio_},e.prototype.createRenderer=function(){return new n1(this)},e}(K_),a1=r(63),s1=r(48),l1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),u1=function(t){function e(e){var r=this,n=Wf.a.IDLE;return(r=t.call(this,e.tileCoord,n,{transition:e.transition,interpolate:e.interpolate})||this).loader_=e.loader,r.data_=null,r.error_=null,r.size_=e.size||[256,256],r}return l1(e,t),e.prototype.getSize=function(){return this.size_},e.prototype.getData=function(){return this.data_},e.prototype.getError=function(){return this.error_},e.prototype.load=function(){if(this.state===Wf.a.IDLE||this.state===Wf.a.ERROR){this.state=Wf.a.LOADING,this.changed();var t=this;this.loader_().then((function(e){t.data_=e,t.state=Wf.a.LOADED,t.changed()})).catch((function(e){t.error_=e,t.state=Wf.a.ERROR,t.changed()}))}},e}($k.a),c1=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function h1(t,e,r){var n=r?t.LINEAR:t.NEAREST;t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n)}function f1(t,e,r,n,i,o){var a,s,l=t.getGL();r instanceof Float32Array?(a=l.FLOAT,t.getExtension("OES_texture_float"),s=null!==t.getExtension("OES_texture_float_linear")):(a=l.UNSIGNED_BYTE,s=!0);h1(l,e,o&&s);var u,c=r.byteLength/n[1],h=1;switch(c%8==0?h=8:c%4==0?h=4:c%2==0&&(h=2),i){case 1:u=l.LUMINANCE;break;case 2:u=l.LUMINANCE_ALPHA;break;case 3:u=l.RGB;break;case 4:u=l.RGBA;break;default:throw new Error("Unsupported number of bands: ".concat(i))}var f=l.getParameter(l.UNPACK_ALIGNMENT);l.pixelStorei(l.UNPACK_ALIGNMENT,h),l.texImage2D(l.TEXTURE_2D,0,u,n[0],n[1],0,u,a,r),l.pixelStorei(l.UNPACK_ALIGNMENT,f)}var p1=null;var d1=function(t){function e(e){var r=t.call(this)||this;r.tile,r.textures=[],r.handleTileChange_=r.handleTileChange_.bind(r),r.renderSize_=Object(ns.d)(e.grid.getTileSize(e.tile.tileCoord[0])),r.gutter_=e.gutter||0,r.bandCount=NaN,r.helper_=e.helper;var n=new PU(xU,EU);return n.fromArray([0,1,1,1,1,0,0,0]),r.helper_.flushBufferData(n),r.coords=n,r.setTile(e.tile),r}return c1(e,t),e.prototype.setTile=function(t){if(t!==this.tile)if(this.tile&&this.tile.removeEventListener(fo.a.CHANGE,this.handleTileChange_),this.tile=t,this.textures.length=0,this.loaded=t.getState()===Wf.a.LOADED,this.loaded)this.uploadTile_();else{if(t instanceof Vf.a){var e=t.getImage();e instanceof Image&&!e.crossOrigin&&(e.crossOrigin="anonymous")}t.addEventListener(fo.a.CHANGE,this.handleTileChange_)}},e.prototype.uploadTile_=function(){var t=this.helper_,e=t.getGL(),r=this.tile;if(r instanceof Vf.a||r instanceof qf.a){var n=e.createTexture();return this.textures.push(n),this.bandCount=4,void function(t,e,r,n){h1(t,e,n),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)}(e,n,r.getImage(),r.interpolate)}var i=r.getSize(),o=[i[0]+2*this.gutter_,i[1]+2*this.gutter_],a=r.getData(),s=a instanceof Float32Array,l=o[0]*o[1],u=s?Float32Array:Uint8Array,c=u.BYTES_PER_ELEMENT,h=a.byteLength/o[1];this.bandCount=Math.floor(h/c/o[0]);var f=Math.ceil(this.bandCount/4);if(1===f){n=e.createTexture();return this.textures.push(n),void f1(t,n,a,o,this.bandCount,r.interpolate)}for(var p=new Array(f),d=0;d=f;--p)for(var d=s.getTileRangeForExtentAndZ(e,p,this.tempTileRange_),g=s.getResolution(p),y=d.minX;y<=d.maxX;++y)for(var m=d.minY;m<=d.maxY;++m){var _=Object(Jf.a)(p,y,m,this.tempTileCoord_),v=N1(a,_),b=void 0,x=void 0;if(h.containsKey(v)&&(x=(b=h.get(v)).tile),!b||b.tile.key!==a.getKey())if(x=a.getTile(p,y,m,t.pixelRatio,i.projection),b)if(this.isDrawableTile_(x))b.setTile(x);else{var w=x.getInterimTile();b.setTile(w)}else b=new d1({tile:x,grid:s,helper:this.helper,gutter:l}),h.set(v,b);M1(n,b,p);var E=x.getKey();c[E]=!0,x.getState()===Wf.a.IDLE&&(t.tileQueue.isKeyQueued(E)||t.tileQueue.enqueue([x,u,s.getTileCoordCenter(_),g]))}},e.prototype.renderFrame=function(t){this.frameState_=t,this.renderComplete=!0;var e=this.helper.getGL();this.preRender(e,t);var r=t.viewState,n=this.getLayer().getRenderSource(),i=n.getTileGridForProjection(r.projection),o=n.getGutterForProjection(r.projection),a=A1(t,t.extent),s=i.getZForResolution(r.resolution,n.zDirection),l={};if(t.nextExtent){var u=i.getZForResolution(r.nextResolution,n.zDirection),c=A1(t,t.nextExtent);this.enqueueTiles(t,c,u,l)}this.enqueueTiles(t,a,s,l);for(var f={},p=Object(si.c)(this),d=t.time,g=!1,y=l[s],m=0,_=y.length;m<_;++m){var v=(G=($=y[m]).tile).tileCoord;if($.loaded){if(1===(U=G.getAlpha(p,d))){G.endTransition(p);continue}g=!0,f[B=Object(Jf.d)(v)]=U}if(this.renderComplete=!1,!this.findAltTiles_(i,v,s+1,l))for(var b=i.getMinZoom(),x=s-1;x>=b;--x){if(this.findAltTiles_(i,v,x,l))break}}this.helper.useProgram(this.program_),this.helper.prepareDraw(t,!g);for(var w=Object.keys(l).map(Number).sort(h.i),E=r.center[0],S=r.center[1],O=0,I=w.length;O0&&(K=i.getTileCoordExtent(v),Object(mt.B)(K,a,K)),this.helper.setUniformFloatVec4(O1,K),this.helper.setUniformFloatValue(I1,r.resolution),this.helper.setUniformFloatValue(C1,r.zoom),this.helper.drawElements(0,this.indices_.getSize())}}}this.helper.finalizeDraw(t,this.dispatchPreComposeEvent,this.dispatchPostComposeEvent);for(var J=this.helper.getCanvas(),Q=this.tileTextureCache_;Q.canExpireCache();){var $;($=Q.pop()).dispose()}return t.postRenderFunctions.push((function(t,e){n.expireCache(e.viewState.projection,R1)})),this.postRender(e,t),J},e.prototype.getData=function(t){if(!this.helper.getGL())return null;var e=this.frameState_;if(!e)return null;var r=this.getLayer(),n=Object(li.a)(e.pixelToCoordinateTransform,t.slice()),i=e.viewState,o=r.getExtent();if(o&&!Object(mt.g)(Object(u.m)(o,i.projection),n))return null;var a,s,l,c=r.getSources(Object(mt.c)([n]),i.resolution);for(a=c.length-1;a>=0;--a)if("ready"===(s=c[a]).getState()){if(l=s.getTileGridForProjection(i.projection),s.getWrapX())break;var h=l.getExtent();if(!h||Object(mt.g)(h,n))break}if(a<0)return null;for(var f=this.tileTextureCache_,p=l.getZForResolution(i.resolution);p>=l.getMinZoom();--p){var d=l.getTileCoordForCoordAndZ(n,p),g=N1(s,d);if(f.containsKey(g)){var y=f.get(g);if(y.loaded){var m=l.getOrigin(p),_=Object(ns.d)(l.getTileSize(p)),v=l.getResolution(p),b=(n[0]-m[0])/v-d[1]*_[0],x=(m[1]-n[1])/v-d[2]*_[1];return y.getPixelData(b,x)}}}return null},e.prototype.findAltTiles_=function(t,e,r,n){var i=t.getTileRangeForTileCoordAndZ(e,r,this.tempTileRange_);if(!i)return!1;for(var o=!0,a=this.tileTextureCache_,s=this.getLayer().getRenderSource(),l=i.minX;l<=i.maxX;++l)for(var u=i.minY;u<=i.maxY;++u){var c=N1(s,[r,l,u]),h=!1;if(a.containsKey(c)){var f=a.get(c);f.loaded&&(M1(n,f,r),h=!0)}h||(o=!1)}return o},e.prototype.removeHelper=function(){if(this.helper){var e=this.tileTextureCache_;e.forEach((function(t){return t.dispose()})),e.clear()}t.prototype.removeHelper.call(this)},e.prototype.disposeInternal=function(){var e=this.helper;e&&(e.getGL().deleteProgram(this.program_),delete this.program_,e.deleteBuffer(this.indices_));t.prototype.disposeInternal.call(this),delete this.indices_,delete this.tileTextureCache_,delete this.frameState_},e}($U),j1=function(){function t(t,e){this.name=t,this.data=e,this.texture_=null}return t.prototype.getTexture=function(t){if(!this.texture_){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,this.data.length/4,1,0,t.RGBA,t.UNSIGNED_BYTE,this.data),this.texture_=e}return this.texture_},t}(),F1=1,D1=2,G1=4,U1=8,B1=16,z1=31,V1=0,q1={};function Y1(t){if("number"==typeof t)return F1;if("boolean"==typeof t)return U1;if("string"==typeof t)return Object(ui.d)(t)?G1|D1:D1;if(!Array.isArray(t))throw new Error("Unhandled value type: ".concat(JSON.stringify(t)));var e=t;if(e.every((function(t){return"number"==typeof t})))return 3===e.length||4===e.length?G1|B1:B1;if("string"!=typeof e[0])throw new Error("Expected an expression operator but received: ".concat(JSON.stringify(e)));var r=q1[e[0]];if(void 0===r)throw new Error("Unrecognized expression operator: ".concat(JSON.stringify(e)));return r.getReturnType(e.slice(1))}function W1(t){var e=t.toString();return-1===e.indexOf(".")?e+".0":e}function X1(t){if(t.length<2||t.length>4)throw new Error("`formatArray` can only output `vec2`, `vec3` or `vec4` arrays.");return"vec".concat(t.length,"(").concat(t.map(W1).join(", "),")")}function H1(t,e){return void 0===t.stringLiteralsMap[e]&&(t.stringLiteralsMap[e]=Object.keys(t.stringLiteralsMap).length),t.stringLiteralsMap[e]}function Z1(t,e,r){if(Array.isArray(e)&&"string"==typeof e[0]){var n=q1[e[0]];if(void 0===n)throw new Error("Unrecognized expression operator: ".concat(JSON.stringify(e)));return n.toGlsl(t,e.slice(1),r)}var i,o,a=Y1(e);if((a&F1)>0)return W1(e);if((a&U1)>0)return e.toString();if((a&D1)>0&&(void 0===r||r==D1))return function(t,e){return W1(H1(t,e))}(t,e.toString());if((a&G1)>0&&(void 0===r||r==G1))return i=e,(o=Object(ui.a)(i).slice()).length<4&&o.push(1),X1(o.map((function(t,e){return e<3?t/255:t})));if((a&B1)>0)return X1(e);throw new Error("Unexpected expression ".concat(e," (expected type ").concat(r,")"))}function K1(t){if(!(Y1(t)&F1))throw new Error("A numeric value was expected, got ".concat(JSON.stringify(t)," instead"))}function J1(t){for(var e=0;ee)throw new Error("At most ".concat(e," arguments were expected, got ").concat(t.length," instead"))}function n2(t){if(t.length%2!=0)throw new Error("An even amount of arguments was expected, got ".concat(t," instead"))}function i2(t,e){if(r=e,Object(qo.f)(r)%1!=0)throw new Error("Could not infer only one type from the following expression: ".concat(JSON.stringify(t)));var r}function o2(t){return"u_var_"+t}q1.get={getReturnType:function(t){return z1},toGlsl:function(t,e){t2(e,1),Q1(e[0]);var r=e[0].toString();return-1===t.attributes.indexOf(r)&&t.attributes.push(r),(t.inFragmentShader?"v_":"a_")+r}},q1.var={getReturnType:function(t){return z1},toGlsl:function(t,e){t2(e,1),Q1(e[0]);var r=e[0].toString();return-1===t.variables.indexOf(r)&&t.variables.push(r),o2(r)}};var a2="u_paletteTextures";q1.palette={getReturnType:function(t){return G1},toGlsl:function(t,e){t2(e,2),K1(e[0]);var r=Z1(t,e[0]),n=e[1];if(!Array.isArray(n))throw new Error("The second argument of palette must be an array");for(var i=n.length,o=new Uint8Array(4*i),a=0;a"]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," > ").concat(Z1(t,e[1]),")")}},q1[">="]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," >= ").concat(Z1(t,e[1]),")")}},q1["<"]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," < ").concat(Z1(t,e[1]),")")}},q1["<="]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,2),J1(e),"(".concat(Z1(t,e[0])," <= ").concat(Z1(t,e[1]),")")}},q1["=="]=l2("=="),q1["!="]=l2("!="),q1["!"]={getReturnType:function(t){return U1},toGlsl:function(t,e){return t2(e,1),$1(e[0]),"(!".concat(Z1(t,e[0]),")")}},q1.all=u2("&&"),q1.any=u2("||"),q1.between={getReturnType:function(t){return U1},toGlsl:function(t,e){t2(e,3),J1(e);var r=Z1(t,e[1]),n=Z1(t,e[2]),i=Z1(t,e[0]);return"(".concat(i," >= ").concat(r," && ").concat(i," <= ").concat(n,")")}},q1.array={getReturnType:function(t){return B1},toGlsl:function(t,e){e2(e,2),r2(e,4),J1(e);var r=e.map((function(e){return Z1(t,e,F1)}));return"vec".concat(e.length,"(").concat(r.join(", "),")")}},q1.color={getReturnType:function(t){return G1},toGlsl:function(t,e){e2(e,3),r2(e,4),J1(e);var r=e;3===e.length&&r.push(1);var n=e.map((function(e,r){return Z1(t,e,F1)+(r<3?" / 255.0":"")}));return"vec".concat(e.length,"(").concat(n.join(", "),")")}},q1.interpolate={getReturnType:function(t){for(var e=G1|F1,r=3;r=1;l-=2){var u=Z1(t,e[l]),c=Z1(t,e[l+1],i);s="(".concat(o," == ").concat(u," ? ").concat(c," : ").concat(s||a,")")}return s}},q1.case={getReturnType:function(t){for(var e=z1,r=1;r=0;o-=2){var l=Z1(t,e[o]),u=Z1(t,e[o+1],i);s="(".concat(l," ? ").concat(u," : ").concat(s||a,")")}return s}};var c2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();function h2(t,e){var r="\n attribute vec2 ".concat(T1,";\n uniform mat4 ").concat(m1,";\n uniform float ").concat(b1,";\n uniform float ").concat(x1,";\n uniform float ").concat(w1,";\n uniform float ").concat(E1,";\n uniform float ").concat(S1,";\n uniform float ").concat(v1,";\n\n varying vec2 v_textureCoord;\n varying vec2 v_mapCoord;\n\n void main() {\n v_textureCoord = ").concat(T1,";\n v_mapCoord = vec2(\n ").concat(E1," + ").concat(w1," * ").concat(b1," * v_textureCoord[0],\n ").concat(S1," - ").concat(w1," * ").concat(x1," * v_textureCoord[1]\n );\n gl_Position = ").concat(m1," * vec4(").concat(T1,", ").concat(v1,", 1.0);\n }\n "),n={inFragmentShader:!0,variables:[],attributes:[],stringLiteralsMap:{},functions:{},bandCount:e},i=[];if(void 0!==t.color){var o=Z1(n,t.color,G1);i.push("color = ".concat(o,";"))}if(void 0!==t.contrast){var a=Z1(n,t.contrast,F1);i.push("color.rgb = clamp((".concat(a," + 1.0) * color.rgb - (").concat(a," / 2.0), vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))}if(void 0!==t.exposure){var s=Z1(n,t.exposure,F1);i.push("color.rgb = clamp((".concat(s," + 1.0) * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))}if(void 0!==t.saturation){var l=Z1(n,t.saturation,F1);i.push("\n float saturation = ".concat(l," + 1.0;\n float sr = (1.0 - saturation) * 0.2126;\n float sg = (1.0 - saturation) * 0.7152;\n float sb = (1.0 - saturation) * 0.0722;\n mat3 saturationMatrix = mat3(\n sr + saturation, sr, sr,\n sg, sg + saturation, sg,\n sb, sb, sb + saturation\n );\n color.rgb = clamp(saturationMatrix * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));\n "))}if(void 0!==t.gamma){var u=Z1(n,t.gamma,F1);i.push("color.rgb = pow(color.rgb, vec3(1.0 / ".concat(u,"));"))}if(void 0!==t.brightness){var c=Z1(n,t.brightness,F1);i.push("color.rgb = clamp(color.rgb + ".concat(c,", vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))}var h={},f=n.variables.length;if(f>1&&!t.variables)throw new Error("Missing variables in style (expected ".concat(n.variables,")"));for(var p=function(e){var r=n.variables[e];if(!(r in t.variables))throw new Error("Missing '".concat(r,"' in style variables"));var i=o2(r);h[i]=function(){var e=t.variables[r];return"string"==typeof e&&(e=H1(n,e)),void 0!==e?e:-9999999}},d=0;d ").concat(O1,"[2] ||\n v_mapCoord[1] > ").concat(O1,"[3]\n ) {\n discard;\n }\n\n vec4 color = texture2D(").concat(y1,"[0], v_textureCoord);\n\n ").concat(i.join("\n"),"\n\n if (color.a == 0.0) {\n discard;\n }\n\n gl_FragColor = color;\n gl_FragColor.rgb *= gl_FragColor.a;\n gl_FragColor *= ").concat(_1,";\n }"),uniforms:h,paletteTextures:n.paletteTextures}}var f2=function(t){function e(e){var r=this,n=e?Object(Mi.a)({},e):{},i=n.style||{};delete n.style;var o=n.cacheSize;return delete n.cacheSize,(r=t.call(this,n)||this).sources_=n.sources,r.renderedSource_=null,r.renderedResolution_=NaN,r.style_=i,r.cacheSize_=o,r.styleVariables_=r.style_.variables||{},r.addChangeListener(RU.a.SOURCE,r.handleSourceUpdate_),r}return c2(e,t),e.prototype.getSources=function(t,e){var r=this.getSource();return this.sources_?"function"==typeof this.sources_?this.sources_(t,e):this.sources_:r?[r]:[]},e.prototype.getRenderSource=function(){return this.renderedSource_||this.getSource()},e.prototype.getSourceState=function(){var t=this.getRenderSource();return t?t.getState():"undefined"},e.prototype.handleSourceUpdate_=function(){this.getSource()&&this.setStyle(this.style_)},e.prototype.getSourceBandCount_=function(){var t=Number.MAX_SAFE_INTEGER,e=this.getSources([-t,-t,t,t],t);return e&&e.length&&"bandCount"in e[0]?e[0].bandCount:4},e.prototype.createRenderer=function(){var t=h2(this.style_,this.getSourceBandCount_());return new k1(this,{vertexShader:t.vertexShader,fragmentShader:t.fragmentShader,uniforms:t.uniforms,cacheSize:this.cacheSize_,paletteTextures:t.paletteTextures})},e.prototype.renderSources=function(t,e){for(var r,n=this.getRenderer(),i=0,o=e.length;i.5*n.resolution){var c=this.getSources(t.extent,this.renderedResolution_).filter((function(t){return!i.includes(t)}));if(c.length>0)return this.renderSources(t,c)}return u},e.prototype.setStyle=function(t){this.styleVariables_=t.variables||{},this.style_=t;var e=h2(this.style_,this.getSourceBandCount_());this.getRenderer().reset({vertexShader:e.vertexShader,fragmentShader:e.fragmentShader,uniforms:e.uniforms,paletteTextures:e.paletteTextures}),this.changed()},e.prototype.updateStyleVariables=function(t){Object(Mi.a)(this.styleVariables_,t),this.changed()},e}(JK.a);f2.prototype.dispose;var p2=f2,d2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();var g2=function(t){function e(e){var r=this,n=void 0!==e.hidpi&&e.hidpi,i=void 0===e.imageSmoothing||e.imageSmoothing;void 0!==e.interpolate&&(i=e.interpolate),(r=t.call(this,{cacheSize:e.cacheSize,crossOrigin:"anonymous",interpolate:i,opaque:!0,projection:Object(u.o)("EPSG:3857"),reprojectionErrorThreshold:e.reprojectionErrorThreshold,state:"loading",tileLoadFunction:e.tileLoadFunction,tilePixelRatio:n?2:1,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:e.zDirection})||this).hidpi_=n,r.culture_=void 0!==e.culture?e.culture:"en-us",r.maxZoom_=void 0!==e.maxZoom?e.maxZoom:-1,r.apiKey_=e.key,r.imagerySet_=e.imagerySet;var o="https://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+r.imagerySet_+"?uriScheme=https&include=ImageryProviders&key="+r.apiKey_+"&c="+r.culture_;return Object(nJ.a)(o,r.handleImageryMetadataResponse.bind(r),void 0,"jsonp"),r}return d2(e,t),e.prototype.getApiKey=function(){return this.apiKey_},e.prototype.getImagerySet=function(){return this.imagerySet_},e.prototype.handleImageryMetadataResponse=function(t){if(200==t.statusCode&&"OK"==t.statusDescription&&"ValidCredentials"==t.authenticationResultCode&&1==t.resourceSets.length&&1==t.resourceSets[0].resources.length){var e=t.resourceSets[0].resources[0],r=-1==this.maxZoom_?e.zoomMax:this.maxZoom_,n=this.getProjection(),i=Object(ap.b)(n),o=this.hidpi_?2:1,a=e.imageWidth==e.imageHeight?e.imageWidth/o:[e.imageWidth/o,e.imageHeight/o],s=Object(ap.a)({extent:i,minZoom:e.zoomMin,maxZoom:r,tileSize:a});this.tileGrid=s;var l=this.culture_,c=this.hidpi_;if(this.tileUrlFunction=tp(e.imageUrlSubdomains.map((function(t){var r=[0,0,0],n=e.imageUrl.replace("{subdomain}",t).replace("{culture}",l);return function(t,e,i){if(t){Object(Jf.a)(t[0],t[1],t[2],r);var o=n;return c&&(o+="&dpi=d1&device=mobile"),o.replace("{quadkey}",function(t){var e,r,n=t[0],i=new Array(n),o=1<>=1;return i.join("")}(r))}}}))),e.imageryProviders){var h=Object(u.r)(Object(u.o)("EPSG:4326"),this.getProjection());this.setAttributions(function(t){var r=[],n=t.viewState,i=this.getTileGrid(),o=i.getZForResolution(n.resolution,this.zDirection),a=i.getTileCoordForCoordAndZ(n.center,o)[0];return e.imageryProviders.map((function(e){for(var n=!1,i=e.coverageAreas,o=0,s=i.length;o=l.zoomMin&&a<=l.zoomMax){var u=l.bbox,c=[u[1],u[0],u[3],u[2]],f=Object(mt.a)(c,h);if(Object(mt.H)(f,t.extent)){n=!0;break}}}n&&r.push(e.attribution)})),r.push('Terms of Use'),r}.bind(this))}this.setState("ready")}else this.setState("error")},e}(up),y2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),m2=function(t){function e(e){var r=t.call(this,{attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,maxZoom:void 0!==e.maxZoom?e.maxZoom:18,minZoom:e.minZoom,projection:e.projection,transition:e.transition,wrapX:e.wrapX,zDirection:e.zDirection})||this;return r.account_=e.account,r.mapId_=e.map||"",r.config_=e.config||{},r.templateCache_={},r.initializeMap_(),r}return y2(e,t),e.prototype.getConfig=function(){return this.config_},e.prototype.updateConfig=function(t){Object(Mi.a)(this.config_,t),this.initializeMap_()},e.prototype.setConfig=function(t){this.config_=t||{},this.initializeMap_()},e.prototype.initializeMap_=function(){var t=JSON.stringify(this.config_);if(this.templateCache_[t])this.applyTemplate_(this.templateCache_[t]);else{var e="https://"+this.account_+".carto.com/api/v1/map";this.mapId_&&(e+="/named/"+this.mapId_);var r=new XMLHttpRequest;r.addEventListener("load",this.handleInitResponse_.bind(this,t)),r.addEventListener("error",this.handleInitError_.bind(this)),r.open("POST",e),r.setRequestHeader("Content-type","application/json"),r.send(JSON.stringify(this.config_))}},e.prototype.handleInitResponse_=function(t,e){var r=e.target;if(!r.status||r.status>=200&&r.status<300){var n=void 0;try{n=JSON.parse(r.responseText)}catch(t){return void this.setState("error")}this.applyTemplate_(n),this.templateCache_[t]=n,this.setState("ready")}else this.setState("error")},e.prototype.handleInitError_=function(t){this.setState("error")},e.prototype.applyTemplate_=function(t){var e="https://"+t.cdn_url.https+"/"+this.account_+"/api/v1/map/"+t.layergroupid+"/{z}/{x}/{y}.png";this.setUrl(e)},e}(mk),_2=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),v2=function(t){function e(e){var r=this,n=void 0===e.projection?"EPSG:3857":e.projection,i=e.tileGrid;if(void 0===i&&n&&(i=Object(ap.a)({extent:Object(ap.b)(n),maxResolution:e.maxResolution,maxZoom:e.maxZoom,minZoom:e.minZoom,tileSize:e.tileSize})),(r=t.call(this,{cacheSize:.1,attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:n,tileGrid:i,opaque:e.opaque,state:e.state,tilePixelRatio:e.tilePixelRatio,wrapX:e.wrapX,transition:e.transition,interpolate:e.interpolate})||this).gutter_=void 0!==e.gutter?e.gutter:0,r.tileSize_=e.tileSize?Object(ns.d)(e.tileSize):null,!r.tileSize_&&e.tilePixelRatio&&i){var o=Object(ns.d)(i.getTileSize(0));r.tileSize_=[o[0]*e.tilePixelRatio,o[1]*e.tilePixelRatio]}return r.tileSizes_=null,r.tileLoadingKeys_={},r.loader_=e.loader,r.handleTileChange_=r.handleTileChange_.bind(r),r.bandCount=void 0===e.bandCount?4:e.bandCount,r}return _2(e,t),e.prototype.setTileSizes=function(t){this.tileSizes_=t},e.prototype.getTileSize=function(t){if(this.tileSizes_)return this.tileSizes_[t];if(this.tileSize_)return this.tileSize_;var e=this.getTileGrid();return e?Object(ns.d)(e.getTileSize(t)):[256,256]},e.prototype.getGutterForProjection=function(t){return this.gutter_},e.prototype.setLoader=function(t){this.loader_=t},e.prototype.getTile=function(t,e,r,n,i){var o=this.getTileSize(t),a=Object(Jf.e)(t,e,r);if(this.tileCache.containsKey(a))return this.tileCache.get(a);var s=this.loader_;var l=Object(Mi.a)({tileCoord:[t,e,r],loader:function(){return Object(ai.e)((function(){return s(t,e,r)}))},size:o},this.tileOptions),u=new u1(l);return u.key=this.getKey(),u.addEventListener(fo.a.CHANGE,this.handleTileChange_),this.tileCache.set(a,u),u},e.prototype.handleTileChange_=function(t){var e,r=t.target,n=Object(si.c)(r),i=r.getState();i==Wf.a.LOADING?(this.tileLoadingKeys_[n]=!0,e=Xf):n in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[n],e=i==Wf.a.ERROR?Zf:i==Wf.a.LOADED?Hf:void 0),e&&this.dispatchEvent(new Kf.a(e,r))},e}(Kf.b);const b2=new Map;function x2(t,e){Array.isArray(t)||(t=[t]),t.forEach(t=>b2.set(t,e))}async function w2(t){const e=b2.get(t.Compression);if(!e)throw new Error("Unknown compression method identifier: "+t.Compression);return new(await e())(t)}x2([void 0,1],()=>Promise.resolve().then(r.bind(null,168)).then(t=>t.default)),x2(5,()=>Promise.resolve().then(r.bind(null,169)).then(t=>t.default)),x2(6,()=>{throw new Error("old style JPEG compression is not supported.")}),x2(7,()=>Promise.resolve().then(r.bind(null,170)).then(t=>t.default)),x2([8,32946],()=>Promise.resolve().then(r.bind(null,171)).then(t=>t.default)),x2(32773,()=>Promise.resolve().then(r.bind(null,172)).then(t=>t.default)),x2(34887,()=>Promise.resolve().then(r.bind(null,173)).then(t=>t.default)),x2(50001,()=>Promise.resolve().then(r.bind(null,174)).then(t=>t.default));const E2="undefined"!=typeof navigator&&navigator.hardwareConcurrency||2;var S2=class{constructor(t=E2,e){this.workers=null,this._awaitingDecoder=null,this.size=t,this.messageId=0,t&&(this._awaitingDecoder=e?Promise.resolve(e):new Promise(t=>{Promise.resolve().then(r.bind(null,167)).then(e=>{t(e.create)})}),this._awaitingDecoder.then(e=>{this._awaitingDecoder=null,this.workers=[];for(let r=0;rr.decode(t,e)):new Promise(r=>{const n=this.workers.find(t=>t.idle)||this.workers[Math.floor(Math.random()*this.size)];n.idle=!1;const i=this.messageId++,o=t=>{t.data.id===i&&(n.idle=!0,r(t.data.decoded),n.worker.removeEventListener("message",o))};n.worker.addEventListener("message",o),n.worker.postMessage({fileDirectory:t,buffer:e,id:i},[e])})}destroy(){this.workers&&(this.workers.forEach(t=>{t.worker.terminate()}),this.workers=null)}},O2=r(83),I2=r(85),C2=r.n(I2),T2=r(114),P2=r.n(T2),R2=r(11);function L2(t,e,r,n=1){return new(Object.getPrototypeOf(t).constructor)(e*r*n)}function M2(t,e,r){return(1-r)*t+r*e}function A2(t,e,r,n,i,o="nearest"){switch(o.toLowerCase()){case"nearest":return function(t,e,r,n,i){const o=e/n,a=r/i;return t.map(t=>{const s=L2(t,n,i);for(let l=0;l{const s=L2(t,n,i);for(let l=0;l=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${t} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[t]/8)}getReaderForSample(t){const e=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1,r=this.fileDirectory.BitsPerSample[t];switch(e){case 1:if(r<=8)return DataView.prototype.getUint8;if(r<=16)return DataView.prototype.getUint16;if(r<=32)return DataView.prototype.getUint32;break;case 2:if(r<=8)return DataView.prototype.getInt8;if(r<=16)return DataView.prototype.getInt16;if(r<=32)return DataView.prototype.getInt32;break;case 3:switch(r){case 16:return function(t,e){return Object(O2.getFloat16)(this,t,e)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(t=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[t]:1}getBitsPerSample(t=0){return this.fileDirectory.BitsPerSample[t]}getArrayForSample(t,e){return j2(this.getSampleFormat(t),this.getBitsPerSample(t),e)}async getTileOrStrip(t,e,r,n,i){const o=Math.ceil(this.getWidth()/this.getTileWidth()),a=Math.ceil(this.getHeight()/this.getTileHeight());let s;const{tiles:l}=this;let u,c;1===this.planarConfiguration?s=e*o+t:2===this.planarConfiguration&&(s=r*o*a+e*o+t),this.isTiled?(u=this.fileDirectory.TileOffsets[s],c=this.fileDirectory.TileByteCounts[s]):(u=this.fileDirectory.StripOffsets[s],c=this.fileDirectory.StripByteCounts[s]);const h=(await this.source.fetch([{offset:u,length:c}],i))[0];let f;return null!==l&&l[s]?f=l[s]:(f=(async()=>{let t=await n.decode(this.fileDirectory,h);const r=this.getSampleFormat(),i=this.getBitsPerSample();return function(t,e){return(1!==t&&2!==t||!(e<=32)||e%8!=0)&&(3!==t||16!==e&&32!==e&&64!==e)}(r,i)&&(t=function(t,e,r,n,i,o,a){const s=new DataView(t),l=2===r?1:n,u=j2(e,i,2===r?a*o:a*o*n),c=parseInt("1".repeat(i),2);if(1===e){let t;t=1===r?n*i:i;let e=o*t;0!=(7&e)&&(e=e+7&-8);for(let t=0;t>8-i-p&c;else if(p+i<=16)u[h]=s.getUint16(f)>>16-i-p&c;else if(p+i<=24){const t=s.getUint16(f)<<8|s.getUint8(f+2);u[h]=t>>24-i-p&c}else u[h]=s.getUint32(f)>>32-i-p&c}}}}return u.buffer}(t,r,this.planarConfiguration,this.getSamplesPerPixel(),i,this.getTileWidth(),this.getBlockHeight(e))),t})(),null!==l&&(l[s]=f)),{x:t,y:e,sample:r,data:await f}}async _readRaster(t,e,r,n,i,o,a,s,l){const u=this.getTileWidth(),c=this.getTileHeight(),h=this.getWidth(),f=this.getHeight(),p=Math.max(Math.floor(t[0]/u),0),d=Math.min(Math.ceil(t[2]/u),Math.ceil(h/u)),g=Math.max(Math.floor(t[1]/c),0),y=Math.min(Math.ceil(t[3]/c),Math.ceil(f/c)),m=t[2]-t[0];let _=this.getBytesPerPixel();const v=[],b=[];for(let t=0;t{const o=i.data,a=new DataView(o),s=this.getBlockHeight(i.y),l=i.y*c,d=i.x*u,g=l+s,y=(i.x+1)*u,x=b[p],E=Math.min(s,s-(g-t[3]),f-l),S=Math.min(u,u-(y-t[2]),h-d);for(let i=Math.max(0,t[1]-l);iu[2]||u[1]>u[3])throw new Error("Invalid subsets");const c=(u[2]-u[0])*(u[3]-u[1]),h=this.getSamplesPerPixel();if(e&&e.length){for(let t=0;t=h)return Promise.reject(new RangeError(`Invalid sample index '${e[t]}'.`))}else for(let t=0;tl[2]||l[1]>l[3])throw new Error("Invalid subsets");const u=this.fileDirectory.PhotometricInterpretation;if(u===R2.j.RGB){let l=[0,1,2];if(this.fileDirectory.ExtraSamples!==R2.a.Unspecified&&a){l=[];for(let t=0;t>24)/500+s,u=s-(t[e+2]<<24>>24)/200;l=.95047*(l*l*l>.008856?l*l*l:(l-16/116)/7.787),s=1*(s*s*s>.008856?s*s*s:(s-16/116)/7.787),u=1.08883*(u*u*u>.008856?u*u*u:(u-16/116)/7.787),i=3.2406*l+-1.5372*s+-.4986*u,o=-.9689*l+1.8758*s+.0415*u,a=.0557*l+-.204*s+1.057*u,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,a=a>.0031308?1.055*a**(1/2.4)-.055:12.92*a,n[r]=255*Math.max(0,Math.min(1,i)),n[r+1]=255*Math.max(0,Math.min(1,o)),n[r+2]=255*Math.max(0,Math.min(1,a))}return n}(p);break;default:throw new Error("Unsupported photometric interpretation.")}if(!e){const t=new Uint8Array(g.length/3),e=new Uint8Array(g.length/3),r=new Uint8Array(g.length/3);for(let n=0,i=0;nvoid 0===C2()(t,"sample")):n.filter(e=>Number(C2()(e,"sample"))===t);for(let t=0;t0;let i=!0;for(let o=0;o<8;o++){let a=this._dataView.getUint8(t+(e?o:7-o));n&&(i?0!==a&&(a=255&~(a-1),i=!1):a=255&~a),r+=a*256**o}return n&&(r=-r),r}getUint8(t,e){return this._dataView.getUint8(t,e)}getInt8(t,e){return this._dataView.getInt8(t,e)}getUint16(t,e){return this._dataView.getUint16(t,e)}getInt16(t,e){return this._dataView.getInt16(t,e)}getUint32(t,e){return this._dataView.getUint32(t,e)}getInt32(t,e){return this._dataView.getInt32(t,e)}getFloat16(t,e){return Object(O2.getFloat16)(this._dataView,t,e)}getFloat32(t,e){return this._dataView.getFloat32(t,e)}getFloat64(t,e){return this._dataView.getFloat64(t,e)}}class G2{constructor(t,e,r,n){this._dataView=new DataView(t),this._sliceOffset=e,this._littleEndian=r,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(t,e){return this.sliceOffset<=t&&this.sliceTop>=t+e}readUint8(t){return this._dataView.getUint8(t-this._sliceOffset,this._littleEndian)}readInt8(t){return this._dataView.getInt8(t-this._sliceOffset,this._littleEndian)}readUint16(t){return this._dataView.getUint16(t-this._sliceOffset,this._littleEndian)}readInt16(t){return this._dataView.getInt16(t-this._sliceOffset,this._littleEndian)}readUint32(t){return this._dataView.getUint32(t-this._sliceOffset,this._littleEndian)}readInt32(t){return this._dataView.getInt32(t-this._sliceOffset,this._littleEndian)}readFloat32(t){return this._dataView.getFloat32(t-this._sliceOffset,this._littleEndian)}readFloat64(t){return this._dataView.getFloat64(t-this._sliceOffset,this._littleEndian)}readUint64(t){const e=this.readUint32(t),r=this.readUint32(t+4);let n;if(this._littleEndian){if(n=e+2**32*r,!Number.isSafeInteger(n))throw new Error(n+" exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");return n}if(n=2**32*e+r,!Number.isSafeInteger(n))throw new Error(n+" exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");return n}readInt64(t){let e=0;const r=(128&this._dataView.getUint8(t+(this._littleEndian?7:0)))>0;let n=!0;for(let i=0;i<8;i++){let o=this._dataView.getUint8(t+(this._littleEndian?i:7-i));r&&(n?0!==o&&(o=255&~(o-1),n=!1):o=255&~o),e+=o*256**i}return r&&(e=-e),e}readOffset(t){return this._bigTiff?this.readUint64(t):this.readUint32(t)}}const U2="\r\n\r\n";function B2(t){if(void 0!==Object.fromEntries)return Object.fromEntries(t);const e={};for(const[r,n]of t)e[r.toLowerCase()]=n;return e}function z2(t){return B2(t.split("\r\n").map(t=>{const e=t.split(":").map(t=>t.trim());return e[0]=e[0].toLowerCase(),e}))}function V2(t){let e,r,n;return t&&([,e,r,n]=t.match(/bytes (\d+)-(\d+)\/(\d+)/),e=parseInt(e,10),r=parseInt(r,10),n=parseInt(n,10)),{start:e,end:r,total:n}}var q2=r(55),Y2=r(115),W2=r.n(Y2),X2=r(20);class H2{constructor(t,e,r=null){this.offset=t,this.length=e,this.data=r}get top(){return this.offset+this.length}}class Z2{constructor(t,e,r){this.offset=t,this.length=e,this.blockIds=r}}class K2 extends q2.a{constructor(t,{blockSize:e=65536,cacheSize:r=100}={}){super(),this.source=t,this.blockSize=e,this.blockCache=new W2.a({max:r}),this.blockRequests=new Map,this.blockIdsToFetch=new Set}get fileSize(){return this.source.fileSize}async fetch(t,e){const r=new Map,n=new Map,i=new Set;for(const{offset:e,length:o}of t){let t=e+o;const{fileSize:a}=this;null!==a&&(t=Math.min(t,a));for(let o=Math.floor(e/this.blockSize)*this.blockSize;o"rejected"===t.status)){const t=new Set;for(const[r,i]of Object(X2.i)(n.keys(),o)){const{rejected:n,reason:o}=i;n&&"AbortError"===o.name&&o.signal!==e&&(this.blockIdsToFetch.add(r),t.add(r))}if(this.blockIdsToFetch.length>0){this.fetchBlocks(e);for(const e of t){const t=this.blockRequests.get(e);if(!t)throw new Error(`Block ${e} is not in the block requests`);n.set(e,t)}o=await Promise.allSettled(Array.from(n.values()))}}if(o.some(t=>"rejected"===t.status)){if(e&&e.aborted)throw new X2.a("Request was aborted");throw new X2.b(o.filter(t=>"rejected"===t.status).map(t=>t.reason),"Request failed")}const a=o.map(t=>t.value),s=new Map(Object(X2.i)(Array.from(n.keys()),a));for(const[t,e]of r)s.set(t,e);return this.readSliceData(t,s)}fetchBlocks(t){if(this.blockIdsToFetch.size>0){const e=this.groupBlocks(this.blockIdsToFetch),r=this.source.fetch(e,t);for(let n=0;n{try{const t=(await r)[n],i=e*this.blockSize,o=i-t.offset,a=Math.min(o+this.blockSize,t.data.byteLength),s=t.data.slice(o,a),l=new H2(i,s.byteLength,s);return this.blockCache.set(e,l),l}catch(e){throw"AbortError"===e.name&&(e.signal=t),e}finally{this.blockRequests.delete(e)}})();this.blockRequests.set(e,i)}}this.blockIdsToFetch.clear()}}groupBlocks(t){const e=Array.from(t).sort((t,e)=>t-e);if(0===e.length)return[];let r=[],n=null;const i=[];for(const t of e)null===n||n+1===t?(r.push(t),n=t):(i.push(new Z2(r[0]*this.blockSize,r.length*this.blockSize,r)),r=[t],n=t);return i.push(new Z2(r[0]*this.blockSize,r.length*this.blockSize,r)),i}readSliceData(t,e){return t.map(t=>{const r=t.offset+t.length,n=Math.floor(t.offset/this.blockSize),i=Math.floor((t.offset+t.length)/this.blockSize),o=new ArrayBuffer(t.length),a=new Uint8Array(o);for(let o=n;o<=i;++o){const n=e.get(o),i=n.offset-t.offset,s=n.top-r;let l,u=0,c=0;i<0?u=-i:i>0&&(c=i),l=s<0?n.length-u:r-n.offset-u;const h=new Uint8Array(n.data,u,l);a.set(h,c)}return o})}}var J2=r(61);class Q2 extends J2.b{constructor(t){super(),this.response=t}get status(){return this.response.status}getHeader(t){return this.response.headers.get(t)}async getData(){return this.response.arrayBuffer?await this.response.arrayBuffer():(await this.response.buffer()).buffer}}class $2 extends J2.a{constructor(t,e){super(t),this.credentials=e}async request({headers:t,credentials:e,signal:r}={}){const n=await fetch(this.url,{headers:t,credentials:e,signal:r});return new Q2(n)}}class t3 extends J2.b{constructor(t,e){super(),this.xhr=t,this.data=e}get status(){return this.xhr.status}getHeader(t){return this.xhr.getResponseHeader(t)}async getData(){return this.data}}class e3 extends J2.a{constructRequest(t,e){return new Promise((r,n)=>{const i=new XMLHttpRequest;i.open("GET",this.url),i.responseType="arraybuffer";for(const[e,r]of Object.entries(t))i.setRequestHeader(e,r);i.onload=()=>{const t=i.response;r(new t3(i,t))},i.onerror=n,i.onabort=()=>n(new X2.a("Request aborted")),i.send(),e&&(e.aborted&&i.abort(),e.addEventListener("abort",()=>i.abort()))})}async request({headers:t,signal:e}={}){return await this.constructRequest(t,e)}}var r3=r(116);class n3 extends q2.a{constructor(t,e,r,n){super(),this.client=t,this.headers=e,this.maxRanges=r,this.allowFullFile=n,this._fileSize=null}async fetch(t,e){return this.maxRanges>=t.length?this.fetchSlices(t,e):(this.maxRanges>0&&t.length,Promise.all(t.map(t=>this.fetchSlice(t,e))))}async fetchSlices(t,e){const r=await this.client.request({headers:{...this.headers,Range:"bytes="+t.map(({offset:t,length:e})=>`${t}-${t+e}`).join(",")},signal:e});if(r.ok){if(206===r.status){const{type:n,params:i}=function(t){const[e,...r]=t.split(";").map(t=>t.trim());return{type:e,params:B2(r.map(t=>t.split("=")))}}(r.getHeader("content-type"));if("multipart/byteranges"===n){const t=function(t,e){let r=null;const n=new TextDecoder("ascii"),i=[],o="--"+e,a=o+"--";for(let e=0;e<10;++e)n.decode(new Uint8Array(t,e,o.length))===o&&(r=e);if(null===r)throw new Error("Could not find initial boundary");for(;r1){const r=await Promise.all(t.slice(1).map(t=>this.fetchSlice(t,e)));return u.concat(r)}return u}{if(!this.allowFullFile)throw new Error("Server responded with full file");const t=await r.getData();return this._fileSize=t.byteLength,[{data:t,offset:0,length:t.byteLength}]}}throw new Error("Error fetching data.")}async fetchSlice(t,e){const{offset:r,length:n}=t,i=await this.client.request({headers:{...this.headers,Range:`bytes=${r}-${r+n}`},signal:e});if(i.ok){if(206===i.status){const t=await i.getData(),{total:e}=V2(i.getHeader("content-range"));return this._fileSize=e||null,{data:t,offset:r,length:n}}{if(!this.allowFullFile)throw new Error("Server responded with full file");const t=await i.getData();return this._fileSize=t.byteLength,{data:t,offset:0,length:t.byteLength}}}throw new Error("Error fetching data.")}get fileSize(){return this._fileSize}}function i3(t,{blockSize:e,cacheSize:r}){return null===e?t:new K2(t,e,r)}function o3(t,{forceXHR:e=!1,...r}={}){return"function"!=typeof fetch||e?"undefined"!=typeof XMLHttpRequest?function(t,{headers:e={},maxRanges:r=0,allowFullFile:n=!1,...i}={}){const o=new e3(t);return i3(new n3(o,e,r,n),i)}(t,r):function(t,{headers:e={},maxRanges:r=0,allowFullFile:n=!1,...i}={}){const o=new r3.a(t);return i3(new n3(o,e,r,n),i)}(t,r):function(t,{headers:e={},credentials:r,maxRanges:n=0,allowFullFile:i=!1,...o}={}){const a=new $2(t,r);return i3(new n3(a,e,n,i),o)}(t,r)}q2.a;class a3 extends q2.a{constructor(t){super(),this.file=t}async fetchSlice(t,e){return new Promise((r,n)=>{const i=this.file.slice(t.offset,t.offset+t.length),o=new FileReader;o.onload=t=>r(t.target.result),o.onerror=n,o.onabort=n,o.readAsArrayBuffer(i),e&&e.addEventListener("abort",()=>o.abort())})}}r(120);const s3=Object(X2.f)(R2.e),l3=Object(X2.f)(R2.i),u3={};Object(X2.c)(u3,s3),Object(X2.c)(u3,l3);Object(X2.f)(R2.g);const c3={nextZero:(t,e)=>{let r=e;for(;0!==t[r];)r++;return r},readUshort:(t,e)=>t[e]<<8|t[e+1],readShort:(t,e)=>{const r=c3.ui8;return r[0]=t[e+1],r[1]=t[e+0],c3.i16[0]},readInt:(t,e)=>{const r=c3.ui8;return r[0]=t[e+3],r[1]=t[e+2],r[2]=t[e+1],r[3]=t[e+0],c3.i32[0]},readUint:(t,e)=>{const r=c3.ui8;return r[0]=t[e+3],r[1]=t[e+2],r[2]=t[e+1],r[3]=t[e+0],c3.ui32[0]},readASCII:(t,e,r)=>r.map(r=>String.fromCharCode(t[e+r])).join(""),readFloat:(t,e)=>{const r=c3.ui8;return Object(X2.g)(4,n=>{r[n]=t[e+3-n]}),c3.fl32[0]},readDouble:(t,e)=>{const r=c3.ui8;return Object(X2.g)(8,n=>{r[n]=t[e+7-n]}),c3.fl64[0]},writeUshort:(t,e,r)=>{t[e]=r>>8&255,t[e+1]=255&r},writeUint:(t,e,r)=>{t[e]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255},writeASCII:(t,e,r)=>{Object(X2.g)(r.length,n=>{t[e+n]=r.charCodeAt(n)})},ui8:new Uint8Array(8)};c3.fl64=new Float64Array(c3.ui8.buffer),c3.writeDouble=(t,e,r)=>{c3.fl64[0]=r,Object(X2.g)(8,r=>{t[e+r]=c3.ui8[7-r]})};function h3(t){switch(t){case R2.h.BYTE:case R2.h.ASCII:case R2.h.SBYTE:case R2.h.UNDEFINED:return 1;case R2.h.SHORT:case R2.h.SSHORT:return 2;case R2.h.LONG:case R2.h.SLONG:case R2.h.FLOAT:case R2.h.IFD:return 4;case R2.h.RATIONAL:case R2.h.SRATIONAL:case R2.h.DOUBLE:case R2.h.LONG8:case R2.h.SLONG8:case R2.h.IFD8:return 8;default:throw new RangeError("Invalid field type: "+t)}}function f3(t,e,r,n){let i=null,o=null;const a=h3(e);switch(e){case R2.h.BYTE:case R2.h.ASCII:case R2.h.UNDEFINED:i=new Uint8Array(r),o=t.readUint8;break;case R2.h.SBYTE:i=new Int8Array(r),o=t.readInt8;break;case R2.h.SHORT:i=new Uint16Array(r),o=t.readUint16;break;case R2.h.SSHORT:i=new Int16Array(r),o=t.readInt16;break;case R2.h.LONG:case R2.h.IFD:i=new Uint32Array(r),o=t.readUint32;break;case R2.h.SLONG:i=new Int32Array(r),o=t.readInt32;break;case R2.h.LONG8:case R2.h.IFD8:i=new Array(r),o=t.readUint64;break;case R2.h.SLONG8:i=new Array(r),o=t.readInt64;break;case R2.h.RATIONAL:i=new Uint32Array(2*r),o=t.readUint32;break;case R2.h.SRATIONAL:i=new Int32Array(2*r),o=t.readInt32;break;case R2.h.FLOAT:i=new Float32Array(r),o=t.readFloat32;break;case R2.h.DOUBLE:i=new Float64Array(r),o=t.readFloat64;break;default:throw new RangeError("Invalid field type: "+e)}if(e!==R2.h.RATIONAL&&e!==R2.h.SRATIONAL)for(let e=0;et.getWidth()-e.getWidth());for(let e=0;en||o&&o>a)break}}let h=e;if(a){const[t,e]=s.getOrigin(),[r,n]=l.getResolution(s);h=[Math.round((a[0]-t)/r),Math.round((a[1]-e)/n),Math.round((a[2]-t)/r),Math.round((a[3]-e)/n)],h=[Math.min(h[0],h[2]),Math.min(h[1],h[3]),Math.max(h[0],h[2]),Math.max(h[1],h[3])]}return l.readRasters({...t,window:h})}}class y3 extends g3{constructor(t,e,r,n,i={}){super(),this.source=t,this.littleEndian=e,this.bigTiff=r,this.firstIFDOffset=n,this.cache=i.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(t,e){const r=this.bigTiff?4048:1024;return new G2((await this.source.fetch([{offset:t,length:void 0!==e?e:r}]))[0],t,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(t){const e=this.bigTiff?20:12,r=this.bigTiff?8:2;let n=await this.getSlice(t);const i=this.bigTiff?n.readUint64(t):n.readUint16(t),o=i*e+(this.bigTiff?16:6);n.covers(t,o)||(n=await this.getSlice(t,o));const a={};let s=t+(this.bigTiff?8:2);for(let t=0;t{const e=await this.ifdRequests[t-1];if(0===e.nextIFDByteOffset)throw new d3(t);return this.parseFileDirectoryAt(e.nextIFDByteOffset)})(),this.ifdRequests[t]}async getImage(t=0){const e=await this.requestIFD(t);return new F2(e.fileDirectory,e.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let t=0,e=!0;for(;e;)try{await this.requestIFD(t),++t}catch(t){if(!(t instanceof d3))throw t;e=!1}return t}async getGhostValues(){const t=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const e="GDAL_STRUCTURAL_METADATA_SIZE=",r=e.length+100;let n=await this.getSlice(t,r);if(e===f3(n,R2.h.ASCII,e.length,t)){const e=f3(n,R2.h.ASCII,r,t).split("\n")[0],i=Number(e.split("=")[1].split(" ")[0])+e.length;i>r&&(n=await this.getSlice(t,i));const o=f3(n,R2.h.ASCII,i,t);this.ghostValues={},o.split("\n").filter(t=>t.length>0).map(t=>t.split("=")).forEach(([t,e])=>{this.ghostValues[t]=e})}return this.ghostValues}static async fromSource(t,e,r){const n=(await t.fetch([{offset:0,length:1024}],r))[0],i=new D2(n),o=i.getUint16(0,0);let a;if(18761===o)a=!0;else{if(19789!==o)throw new TypeError("Invalid byte order value.");a=!1}const s=i.getUint16(2,a);let l;if(42===s)l=!1;else{if(43!==s)throw new TypeError("Invalid magic number.");l=!0;if(8!==i.getUint16(4,a))throw new Error("Unsupported offset byte-size.")}const u=l?i.getUint64(8,a):i.getUint32(4,a);return new y3(t,a,l,u,e)}close(){return"function"==typeof this.source.close&&this.source.close()}}class m3 extends g3{constructor(t,e){super(),this.mainFile=t,this.overviewFiles=e,this.imageFiles=[t].concat(e),this.fileDirectoriesPerFile=null,this.fileDirectoriesPerFileParsing=null,this.imageCount=null}async parseFileDirectoriesPerFile(){const t=[this.mainFile.parseFileDirectoryAt(this.mainFile.firstIFDOffset)].concat(this.overviewFiles.map(t=>t.parseFileDirectoryAt(t.firstIFDOffset)));return this.fileDirectoriesPerFile=await Promise.all(t),this.fileDirectoriesPerFile}async getImage(t=0){await this.getImageCount(),await this.parseFileDirectoriesPerFile();let e=0,r=0;for(let n=0;nt.getImageCount()));return this.imageCounts=await Promise.all(t),this.imageCount=this.imageCounts.reduce((t,e)=>t+e,0),this.imageCount}}async function _3(t,e){return y3.fromSource(new a3(t),e)}var v3,b3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),x3="STATISTICS_MAXIMUM",w3="STATISTICS_MINIMUM";function E3(t){try{return t.getBoundingBox()}catch(r){var e=t.fileDirectory;return[0,0,e.ImageWidth,e.ImageLength]}}function S3(t){try{return t.getOrigin().slice(0,2)}catch(e){return[0,t.fileDirectory.ImageLength]}}function O3(t,e){try{return t.getResolution(e)}catch(r){return[e.fileDirectory.ImageWidth/t.fileDirectory.ImageWidth,e.fileDirectory.ImageHeight/t.fileDirectory.ImageHeight]}}function I3(t){var e=t.geoKeys;if(!e)return null;if(e.ProjectedCSTypeGeoKey){var r="EPSG:"+e.ProjectedCSTypeGeoKey;if(!(n=Object(u.o)(r)))(i=Object(Jn.c)(e.ProjLinearUnitsGeoKey))&&(n=new u.b({code:r,units:i}));return n}if(e.GeographicTypeGeoKey){var n,i;r="EPSG:"+e.GeographicTypeGeoKey;if(!(n=Object(u.o)(r)))(i=Object(Jn.c)(e.GeogAngularUnitsGeoKey))&&(n=new u.b({code:r,units:i}));return n}return null}function C3(t){return t.getImageCount().then((function(e){for(var r=new Array(e),n=0;ny3.fromSource(o3(t,r))));return new m3(i,o)}(t.url,t.overviews,e):async function(t,e={},r){return y3.fromSource(o3(t,e),r)}(t.url,e)).then(C3)}function P3(t,e,r,n,i){if(Array.isArray(t)){var o=t.length;if(!Array.isArray(e)||o!=e.length){var a=new Error(n);throw i(a),a}for(var s=0;sr*t)throw new Error(n)}function R3(t){return t instanceof Int8Array?127:t instanceof Uint8Array||t instanceof Uint8ClampedArray?255:t instanceof Int16Array?32767:t instanceof Uint16Array?65535:t instanceof Int32Array?2147483647:t instanceof Uint32Array?4294967295:t instanceof Float32Array?34e37:255}var L3=function(t){function e(e){var r=t.call(this,{state:"loading",tileGrid:null,projection:null,opaque:e.opaque,transition:e.transition,interpolate:!1!==e.interpolate,wrapX:e.wrapX})||this;r.sourceInfo_=e.sources;var n=r.sourceInfo_.length;r.sourceOptions_=e.sourceOptions,r.sourceImagery_=new Array(n),r.resolutionFactors_=new Array(n),r.samplesPerPixel_,r.nodataValues_,r.metadata_,r.normalize_=!1!==e.normalize,r.addAlpha_=!1,r.error_=null,r.readMethod_=e.convertToRGB?"readRGB":"readRasters",r.setKey(r.sourceInfo_.map((function(t){return t.url})).join(","));for(var i=r,o=new Array(n),a=0;a_.length&&(c=o.length-_.length);var T=o[o.length-1]/_[_.length-1];p.resolutionFactors_[u]=T;var P=_.map((function(t){return t*T}));C="Resolution mismatch for source ".concat(u,", got [").concat(P,"] but expected [").concat(o,"]");P3(o.slice(c,o.length),P,.02,C,p.viewRejector)}else o=_,p.resolutionFactors_[u]=1;n?P3(n.slice(c,n.length),m,.01,"Tile size mismatch for source ".concat(u),p.viewRejector):n=m,i?P3(i.slice(c,i.length),y,0,"Tile size mismatch for source ".concat(u),p.viewRejector):i=y,p.sourceImagery_[u]=h.reverse()},p=this,d=0;d=0;--g){var v=I3(_[g]);if(v){this.projection=v;break}}}this.samplesPerPixel_=a,this.nodataValues_=s,this.metadata_=l;t:for(d=0;df||u>f;)c.push([Math.ceil(l/f),Math.ceil(u/f)]),f+=f;break;case k3:for(var p=l,d=u;p>f||d>f;)c.push([Math.ceil(p/f),Math.ceil(d/f)]),p>>=1,d>>=1;break;default:Object(go.a)(!1,53)}c.push([1,1]),c.reverse();for(var g=[s],y=[0],m=1,_=c.length;m<_;m++)g.push(s<0&&!isNaN(l[1])&&l[1]>0,60);var u,c,f,p=l[0],d=l[1],g=n.tileSize,y=n.tilePixelRatio||1,m=n.format||"jpg",_=n.quality||(n.version==iZ?"native":"default"),v=n.resolutions||[],b=n.supports||[],x=n.extent||[0,-d,p,0],w=null!=s&&Array.isArray(s)&&s.length>0,E=void 0!==g&&("number"==typeof g&&Number.isInteger(g)&&g>0||Array.isArray(g)&&g.length>0),S=null!=b&&Array.isArray(b)&&(Object(h.f)(b,"regionByPx")||Object(h.f)(b,"regionByPct"))&&(Object(h.f)(b,"sizeByWh")||Object(h.f)(b,"sizeByH")||Object(h.f)(b,"sizeByW")||Object(h.f)(b,"sizeByPct"));if(v.sort((function(t,e){return e-t})),E||S)if(null!=g&&("number"==typeof g&&Number.isInteger(g)&&g>0?(u=g,c=g):Array.isArray(g)&&g.length>0&&((1==g.length||null==g[1]&&Number.isInteger(g[0]))&&(u=g[0],c=g[0]),2==g.length&&(Number.isInteger(g[0])&&Number.isInteger(g[1])?(u=g[0],c=g[1]):null==g[0]&&Number.isInteger(g[1])&&(u=g[1],c=g[1])))),void 0!==u&&void 0!==c||(u=Vo.b,c=Vo.b),0==v.length)for(var O=f=Math.max(Math.ceil(Math.log(p/u)/Math.LN2),Math.ceil(Math.log(d/c)/Math.LN2));O>=0;O--)v.push(Math.pow(2,O));else{var I=Math.max.apply(Math,v);f=Math.round(Math.log(I)/Math.LN2)}else if(u=p,c=d,v=[],w){s.sort((function(t,e){return t[0]-e[0]})),f=-1;var C=[];for(O=0;O0&&v[v.length-1]==T?C.push(O):(v.push(T),f++)}if(C.length>0)for(O=0;Of)){var g=t[1],y=t[2],x=v[l];if(!(void 0===g||void 0===y||void 0===x||g<0||Math.ceil(p/x/u)<=g||y<0||Math.ceil(d/x/c)<=y)){if(S||E){var O=g*u*x,I=y*c*x,C=u*x,T=c*x,P=u,R=c;if(O+C>p&&(C=p-O),I+T>d&&(T=d-I),O+u*x>p&&(P=Math.floor((p-O+x-1)/x)),I+c*x>d&&(R=Math.floor((d-I+x-1)/x)),0==O&&C==p&&0==I&&T==d)n="full";else if(!S||Object(h.f)(b,"regionByPx"))n=O+","+I+","+C+","+T;else if(Object(h.f)(b,"regionByPct")){n="pct:"+G3(O/p*100)+","+G3(I/d*100)+","+G3(C/p*100)+","+G3(T/d*100)}a!=aZ||S&&!Object(h.f)(b,"sizeByWh")?!S||Object(h.f)(b,"sizeByW")?i=P+",":Object(h.f)(b,"sizeByH")?i=","+R:Object(h.f)(b,"sizeByWh")?i=P+","+R:Object(h.f)(b,"sizeByPct")&&(i="pct:"+G3(100/x)):i=P+","+R}else if(n="full",w){var L=s[l][0],M=s[l][1];i=a==aZ?L==p&&M==d?"max":L+","+M:L==p?"full":L+","}else i=a==aZ?"max":"full";return o+n+"/"+i+"/0/"+_+"."+m}}},transition:n.transition})||this).zDirection=n.zDirection,r}return D3(e,t),e}(up),B3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),z3=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,interpolate:i,projection:n.projection,resolutions:n.resolutions})||this).crossOrigin_=void 0!==n.crossOrigin?n.crossOrigin:null,r.hidpi_=void 0===n.hidpi||n.hidpi,r.url_=n.url,r.imageLoadFunction_=void 0!==n.imageLoadFunction?n.imageLoadFunction:Sp.b,r.params_=n.params||{},r.image_=null,r.imageSize_=[0,0],r.renderedRevision_=0,r.ratio_=void 0!==n.ratio?n.ratio:1.5,r}return B3(e,t),e.prototype.getParams=function(){return this.params_},e.prototype.getImageInternal=function(t,e,r,n){if(void 0===this.url_)return null;e=this.findNearestResolution(e),r=this.hidpi_?r:1;var i=this.image_;if(i&&this.renderedRevision_==this.getRevision()&&i.getResolution()==e&&i.getPixelRatio()==r&&Object(mt.h)(i.getExtent(),t))return i;var o={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};Object(Mi.a)(o,this.params_);var a=((t=t.slice())[0]+t[2])/2,s=(t[1]+t[3])/2;if(1!=this.ratio_){var l=this.ratio_*Object(mt.G)(t)/2,u=this.ratio_*Object(mt.A)(t)/2;t[0]=a-l,t[1]=s-u,t[2]=a+l,t[3]=s+u}var c=e/r,h=Math.ceil(Object(mt.G)(t)/c),f=Math.ceil(Object(mt.A)(t)/c);t[0]=a-c*h/2,t[2]=a+c*h/2,t[1]=s-c*f/2,t[3]=s+c*f/2,this.imageSize_[0]=h,this.imageSize_[1]=f;var p=this.getRequestUrl_(t,this.imageSize_,r,n,o);return this.image_=new Op.a(t,e,r,p,this.crossOrigin_,this.imageLoadFunction_),this.renderedRevision_=this.getRevision(),this.image_.addEventListener(fo.a.CHANGE,this.handleImageChange.bind(this)),this.image_},e.prototype.getImageLoadFunction=function(){return this.imageLoadFunction_},e.prototype.getRequestUrl_=function(t,e,r,n,i){var o=n.getCode().split(/:(?=\d+$)/).pop();i.SIZE=e[0]+","+e[1],i.BBOX=t.join(","),i.BBOXSR=o,i.IMAGESR=o,i.DPI=Math.round(90*r);var a=this.url_,s=a.replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage");return s==a&&Object(go.a)(!1,50),hp(s,i)},e.prototype.getUrl=function(){return this.url_},e.prototype.setImageLoadFunction=function(t){this.image_=null,this.imageLoadFunction_=t,this.changed()},e.prototype.setUrl=function(t){t!=this.url_&&(this.url_=t,this.image_=null,this.changed())},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.image_=null,this.changed()},e}(Sp.a),V3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),q3=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,interpolate:i,projection:n.projection,resolutions:n.resolutions,state:n.state})||this).canvasFunction_=n.canvasFunction,r.canvas_=null,r.renderedRevision_=0,r.ratio_=void 0!==n.ratio?n.ratio:1.5,r}return V3(e,t),e.prototype.getImageInternal=function(t,e,r,n){e=this.findNearestResolution(e);var i=this.canvas_;if(i&&this.renderedRevision_==this.getRevision()&&i.getResolution()==e&&i.getPixelRatio()==r&&Object(mt.h)(i.getExtent(),t))return i;t=t.slice(),Object(mt.L)(t,this.ratio_);var o=[Object(mt.G)(t)/e*r,Object(mt.A)(t)/e*r],a=this.canvasFunction_.call(this,t,e,r,o,n);return a&&(i=new e1.a(t,e,r,a)),this.canvas_=i,this.renderedRevision_=this.getRevision(),i},e}(Sp.a),Y3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();var W3=function(t){function e(e){var r=this,n=void 0===e.imageSmoothing||e.imageSmoothing;return void 0!==e.interpolate&&(n=e.interpolate),(r=t.call(this,{interpolate:n,projection:e.projection,resolutions:e.resolutions})||this).crossOrigin_=void 0!==e.crossOrigin?e.crossOrigin:null,r.displayDpi_=void 0!==e.displayDpi?e.displayDpi:96,r.params_=e.params||{},r.url_=e.url,r.imageLoadFunction_=void 0!==e.imageLoadFunction?e.imageLoadFunction:Sp.b,r.hidpi_=void 0===e.hidpi||e.hidpi,r.metersPerUnit_=void 0!==e.metersPerUnit?e.metersPerUnit:1,r.ratio_=void 0!==e.ratio?e.ratio:1,r.useOverlay_=void 0!==e.useOverlay&&e.useOverlay,r.image_=null,r.renderedRevision_=0,r}return Y3(e,t),e.prototype.getParams=function(){return this.params_},e.prototype.getImageInternal=function(t,e,r,n){e=this.findNearestResolution(e),r=this.hidpi_?r:1;var i=this.image_;if(i&&this.renderedRevision_==this.getRevision()&&i.getResolution()==e&&i.getPixelRatio()==r&&Object(mt.h)(i.getExtent(),t))return i;1!=this.ratio_&&(t=t.slice(),Object(mt.L)(t,this.ratio_));var o=[Object(mt.G)(t)/e*r,Object(mt.A)(t)/e*r];if(void 0!==this.url_){var a=this.getUrl(this.url_,this.params_,t,o,n);(i=new Op.a(t,e,r,a,this.crossOrigin_,this.imageLoadFunction_)).addEventListener(fo.a.CHANGE,this.handleImageChange.bind(this))}else i=null;return this.image_=i,this.renderedRevision_=this.getRevision(),i},e.prototype.getImageLoadFunction=function(){return this.imageLoadFunction_},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.changed()},e.prototype.getUrl=function(t,e,r,n,i){var o=function(t,e,r,n){var i=Object(mt.G)(t),o=Object(mt.A)(t),a=e[0],s=e[1],l=.0254/n;return s*i>a*o?i*r/(a*l):o*r/(s*l)}(r,n,this.metersPerUnit_,this.displayDpi_),a=Object(mt.x)(r),s={OPERATION:this.useOverlay_?"GETDYNAMICMAPOVERLAYIMAGE":"GETMAPIMAGE",VERSION:"2.0.0",LOCALE:"en",CLIENTAGENT:"ol/source/ImageMapGuide source",CLIP:"1",SETDISPLAYDPI:this.displayDpi_,SETDISPLAYWIDTH:Math.round(n[0]),SETDISPLAYHEIGHT:Math.round(n[1]),SETVIEWSCALE:o,SETVIEWCENTERX:a[0],SETVIEWCENTERY:a[1]};return Object(Mi.a)(s,e),hp(t,s)},e.prototype.setImageLoadFunction=function(t){this.image_=null,this.imageLoadFunction_=t,this.changed()},e}(Sp.a),X3=r(50),H3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Z3=function(t){function e(e){var r=this,n=void 0!==e.crossOrigin?e.crossOrigin:null,i=void 0!==e.imageLoadFunction?e.imageLoadFunction:Sp.b,o=void 0===e.imageSmoothing||e.imageSmoothing;return void 0!==e.interpolate&&(o=e.interpolate),(r=t.call(this,{attributions:e.attributions,interpolate:o,projection:Object(u.o)(e.projection)})||this).url_=e.url,r.imageExtent_=e.imageExtent,r.image_=new Op.a(r.imageExtent_,void 0,1,r.url_,n,i),r.imageSize_=e.imageSize?e.imageSize:null,r.image_.addEventListener(fo.a.CHANGE,r.handleImageChange.bind(r)),r}return H3(e,t),e.prototype.getImageExtent=function(){return this.imageExtent_},e.prototype.getImageInternal=function(t,e,r,n){return Object(mt.H)(t,this.image_.getExtent())?this.image_:null},e.prototype.getUrl=function(){return this.url_},e.prototype.handleImageChange=function(e){if(this.image_.getState()==$g.a.LOADED){var r=this.image_.getExtent(),n=this.image_.getImage(),i=void 0,o=void 0;this.imageSize_?(i=this.imageSize_[0],o=this.imageSize_[1]):(i=n.width,o=n.height);var a=Object(mt.G)(r),s=Object(mt.A)(r),l=a/i,u=s/o,c=i,h=o;if(l>u?c=Math.round(a/u):h=Math.round(s/l),c!==i||h!==o){var f=Object(Ai.a)(c,h);this.getInterpolate()||Object(Mi.a)(f,X3.a);var p=f.canvas;f.drawImage(n,0,0,i,o,0,0,p.width,p.height),this.image_.setImage(p)}}t.prototype.handleImageChange.call(this,e)},e}(Sp.a),K3=r(76),J3=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Q3=['Map tiles by Stamen Design, under CC BY 3.0.',kk],$3={terrain:{extension:"jpg",opaque:!0},"terrain-background":{extension:"jpg",opaque:!0},"terrain-labels":{extension:"png",opaque:!1},"terrain-lines":{extension:"png",opaque:!1},"toner-background":{extension:"png",opaque:!0},toner:{extension:"png",opaque:!0},"toner-hybrid":{extension:"png",opaque:!1},"toner-labels":{extension:"png",opaque:!1},"toner-lines":{extension:"png",opaque:!1},"toner-lite":{extension:"png",opaque:!0},watercolor:{extension:"jpg",opaque:!0}},t5={terrain:{minZoom:0,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:0,maxZoom:18}},e5=function(t){function e(e){var r=void 0===e.imageSmoothing||e.imageSmoothing;void 0!==e.interpolate&&(r=e.interpolate);var n=e.layer.indexOf("-"),i=-1==n?e.layer:e.layer.slice(0,n),o=t5[i],a=$3[e.layer],s=void 0!==e.url?e.url:"https://stamen-tiles-{a-d}.a.ssl.fastly.net/"+e.layer+"/{z}/{x}/{y}."+a.extension;return t.call(this,{attributions:Q3,cacheSize:e.cacheSize,crossOrigin:"anonymous",interpolate:r,maxZoom:null!=e.maxZoom?e.maxZoom:o.maxZoom,minZoom:null!=e.minZoom?e.minZoom:o.minZoom,opaque:a.opaque,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileLoadFunction:e.tileLoadFunction,transition:e.transition,url:s,wrapX:e.wrapX,zDirection:e.zDirection})||this}return J3(e,t),e}(mk),r5=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),n5=function(t){function e(e){var r=this,n=e||{},i=void 0===n.imageSmoothing||n.imageSmoothing;return void 0!==n.interpolate&&(i=n.interpolate),(r=t.call(this,{attributions:n.attributions,cacheSize:n.cacheSize,crossOrigin:n.crossOrigin,interpolate:i,projection:n.projection,reprojectionErrorThreshold:n.reprojectionErrorThreshold,tileGrid:n.tileGrid,tileLoadFunction:n.tileLoadFunction,url:n.url,urls:n.urls,wrapX:void 0===n.wrapX||n.wrapX,transition:n.transition,zDirection:n.zDirection})||this).params_=n.params||{},r.hidpi_=void 0===n.hidpi||n.hidpi,r.tmpExtent_=Object(mt.k)(),r.setKey(r.getKeyForParams_()),r}return r5(e,t),e.prototype.getKeyForParams_=function(){var t=0,e=[];for(var r in this.params_)e[t++]=r+"-"+this.params_[r];return e.join("/")},e.prototype.getParams=function(){return this.params_},e.prototype.getRequestUrl_=function(t,e,r,n,i,o){var a=this.urls;if(a){var s,l=i.getCode().split(/:(?=\d+$)/).pop();if(o.SIZE=e[0]+","+e[1],o.BBOX=r.join(","),o.BBOXSR=l,o.IMAGESR=l,o.DPI=Math.round(o.DPI?o.DPI*n:90*n),1==a.length)s=a[0];else s=a[Object(qo.g)(Object(Jf.f)(t),a.length)];return hp(s.replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage"),o)}},e.prototype.getTilePixelRatio=function(t){return this.hidpi_?t:1},e.prototype.updateParams=function(t){Object(Mi.a)(this.params_,t),this.setKey(this.getKeyForParams_())},e.prototype.tileUrlFunction=function(t,e,r){var n=this.getTileGrid();if(n||(n=this.getTileGridForProjection(r)),!(n.getResolutions().length<=t[0])){1==e||this.hidpi_||(e=1);var i=n.getTileCoordExtent(t,this.tmpExtent_),o=Object(ns.d)(n.getTileSize(t[0]),this.tmpSize);1!=e&&(o=Object(ns.c)(o,e,this.tmpSize));var a={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};return Object(Mi.a)(a,this.params_),this.getRequestUrl_(t,o,i,e,r,a)}},e}(up),i5=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),o5=function(t){function e(e){var r=this,n=e||{};return r=t.call(this,{opaque:!1,projection:n.projection,tileGrid:n.tileGrid,wrapX:void 0===n.wrapX||n.wrapX,zDirection:n.zDirection,url:n.template||"z:{z} x:{x} y:{y}",tileLoadFunction:function(t,e){var n=t.getTileCoord()[0],i=Object(ns.d)(r.tileGrid.getTileSize(n)),o=Object(Ai.a)(i[0],i[1]);o.strokeStyle="grey",o.strokeRect(.5,.5,i[0]+.5,i[1]+.5),o.fillStyle="grey",o.strokeStyle="white",o.textAlign="center",o.textBaseline="middle",o.font="24px sans-serif",o.lineWidth=4,o.strokeText(e,i[0]/2,i[1]/2,i[0]),o.fillText(e,i[0]/2,i[1]/2,i[0]),t.setImage(o.canvas)}})||this}return i5(e,t),e}(mk),a5=function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(e,r)};return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),s5=function(t){function e(e,r,n,i,o,a){var s=t.call(this,e,r)||this;return s.src_=n,s.extent_=i,s.preemptive_=o,s.grid_=null,s.keys_=null,s.data_=null,s.jsonp_=a,s}return a5(e,t),e.prototype.getImage=function(){return null},e.prototype.getData=function(t){if(!this.grid_||!this.keys_)return null;var e=(t[0]-this.extent_[0])/(this.extent_[2]-this.extent_[0]),r=(t[1]-this.extent_[1])/(this.extent_[3]-this.extent_[1]),n=this.grid_[Math.floor((1-r)*this.grid_.length)];if("string"!=typeof n)return null;var i=n.charCodeAt(Math.floor(e*n.length));i>=93&&i--,i>=35&&i--;var o=null;if((i-=32)in this.keys_){var a=this.keys_[i];o=this.data_&&a in this.data_?this.data_[a]:a}return o},e.prototype.forDataAtCoordinate=function(t,e,r){this.state==Wf.a.EMPTY&&!0===r?(this.state=Wf.a.IDLE,Object(eo.b)(this,fo.a.CHANGE,(function(r){e(this.getData(t))}),this),this.loadInternal_()):!0===r?setTimeout(function(){e(this.getData(t))}.bind(this),0):e(this.getData(t))},e.prototype.getKey=function(){return this.src_},e.prototype.handleError_=function(){this.state=Wf.a.ERROR,this.changed()},e.prototype.handleLoad_=function(t){this.grid_=t.grid,this.keys_=t.keys,this.data_=t.data,this.state=Wf.a.LOADED,this.changed()},e.prototype.loadInternal_=function(){if(this.state==Wf.a.IDLE)if(this.state=Wf.a.LOADING,this.jsonp_)Object(nJ.a)(this.src_,this.handleLoad_.bind(this),this.handleError_.bind(this));else{var t=new XMLHttpRequest;t.addEventListener("load",this.onXHRLoad_.bind(this)),t.addEventListener("error",this.onXHRError_.bind(this)),t.open("GET",this.src_),t.send()}},e.prototype.onXHRLoad_=function(t){var e=t.target;if(!e.status||e.status>=200&&e.status<300){var r=void 0;try{r=JSON.parse(e.responseText)}catch(t){return void this.handleError_()}this.handleLoad_(r)}else this.handleError_()},e.prototype.onXHRError_=function(t){this.handleError_()},e.prototype.load=function(){this.preemptive_?this.loadInternal_():this.setState(Wf.a.EMPTY)},e}($k.a),l5=function(t){function e(e){var r=t.call(this,{projection:Object(u.o)("EPSG:3857"),state:"loading",zDirection:e.zDirection})||this;if(r.preemptive_=void 0===e.preemptive||e.preemptive,r.tileUrlFunction_=ep,r.template_=void 0,r.jsonp_=e.jsonp||!1,e.url)if(r.jsonp_)Object(nJ.a)(e.url,r.handleTileJSONResponse.bind(r),r.handleTileJSONError.bind(r));else{var n=new XMLHttpRequest;n.addEventListener("load",r.onXHRLoad_.bind(r)),n.addEventListener("error",r.onXHRError_.bind(r)),n.open("GET",e.url),n.send()}else e.tileJSON?r.handleTileJSONResponse(e.tileJSON):Object(go.a)(!1,51);return r}return a5(e,t),e.prototype.onXHRLoad_=function(t){var e=t.target;if(!e.status||e.status>=200&&e.status<300){var r=void 0;try{r=JSON.parse(e.responseText)}catch(t){return void this.handleTileJSONError()}this.handleTileJSONResponse(r)}else this.handleTileJSONError()},e.prototype.onXHRError_=function(t){this.handleTileJSONError()},e.prototype.getTemplate=function(){return this.template_},e.prototype.forDataAtCoordinateAndResolution=function(t,e,r,n){if(this.tileGrid){var i=this.tileGrid.getZForResolution(e,this.zDirection),o=this.tileGrid.getTileCoordForCoordAndZ(t,i);this.getTile(o[0],o[1],o[2],1,this.getProjection()).forDataAtCoordinate(t,r,n)}else!0===n?setTimeout((function(){r(null)}),0):r(null)},e.prototype.handleTileJSONError=function(){this.setState("error")},e.prototype.handleTileJSONResponse=function(t){var e,r=Object(u.o)("EPSG:4326"),n=this.getProjection();if(void 0!==t.bounds){var i=Object(u.r)(r,n);e=Object(mt.a)(t.bounds,i)}var o=Object(ap.b)(n),a=t.minzoom||0,s=t.maxzoom||22,l=Object(ap.a)({extent:o,maxZoom:s,minZoom:a});this.tileGrid=l,this.template_=t.template;var c=t.grids;if(c){if(this.tileUrlFunction_=$f(c,l),void 0!==t.attribution){var h=void 0!==e?e:o;this.setAttributions((function(e){return Object(mt.H)(h,e.extent)?[t.attribution]:null}))}this.setState("ready")}else this.setState("error")},e.prototype.getTile=function(t,e,r,n,i){var o=Object(Jf.e)(t,e,r);if(this.tileCache.containsKey(o))return this.tileCache.get(o);var a=[t,e,r],s=this.getTileCoordForTileUrlFunction(a,i),l=this.tileUrlFunction_(s,n,i),u=new s5(a,void 0!==l?Wf.a.IDLE:Wf.a.EMPTY,void 0!==l?l:"",this.tileGrid.getTileCoordExtent(a),this.preemptive_,this.jsonp_);return this.tileCache.set(o,u),u},e.prototype.useTile=function(t,e,r){var n=Object(Jf.e)(t,e,r);this.tileCache.containsKey(n)&&this.tileCache.get(n)},e}(Kf.b);var u5=window.M={},c5=window.ol={};u5.ClusteredFeature=nG,u5.Control=Gu,u5.Feature=JD,u5.Filter=Yx,u5.Label=TP,u5.Layer=th,u5.Map=MF,u5.Object=Cl,u5.Parameters=LP,u5.Plugin=hG,u5.Popup=Ix,u5.RenderFeature=DP,u5.Style=__,u5.addProxyException=function(t){var e=new URL(t).origin;-1===NF.indexOf(e)&&NF.push(e)},u5.config=function t(e,r){t[e]=r},u5.control={},u5.control.GetFeatureInfo=WT,u5.control.LayerSwitcher=Rw,u5.control.Location=uE,u5.control.Mouse=cO,u5.control.Navtoolbar=XO,u5.control.OverviewMap=kO,u5.control.Panzoom=hI,u5.control.Panzoombar=$u,u5.control.Rotate=tS,u5.control.Rotate.onClick=JE,u5.control.Rotate.onMouseDown=ZE,u5.control.Rotate.onMouseMove=QE,u5.control.Rotate.onMouseUp=KE,u5.control.Scale=RE,u5.control.ScaleLine=kS,u5.control.WMCSelector=Jd,u5.dialog={},u5.dialog.error=zx,u5.dialog.info=Bx,u5.dialog.show=Ux,u5.dialog.success=Vx,u5.evt={},u5.evt.ACTIVATED=su,u5.evt.ADDED_GEOPACKAGE="added:geopackage",u5.evt.ADDED_GEOPACKAGE_TILE="added:geopackagetile",u5.evt.ADDED_GEOPACKAGE_VECTOR="added:geopackagevector",u5.evt.ADDED_KML=tu,u5.evt.ADDED_LAYER=Ql,u5.evt.ADDED_MBTILES="added:mbtiles",u5.evt.ADDED_MBTILES_VECTOR="added:mbtilesvector",u5.evt.ADDED_TO_MAP=Kl,u5.evt.ADDED_TO_PANEL=Jl,u5.evt.ADDED_VECTOR_TILE=nu,u5.evt.ADDED_WFS=ru,u5.evt.ADDED_WMC=$l,u5.evt.ADDED_WMS=eu,u5.evt.ADDED_WMTS=au,u5.evt.CHANGE=_u,u5.evt.CHANGE_PROJ=bu,u5.evt.CHANGE_ROTATION=Eu,u5.evt.CHANGE_STYLE=xu,u5.evt.CHANGE_WMC=vu,u5.evt.CHANGE_ZOOM=wu,u5.evt.CLICK=Su,u5.evt.COMPLETED=mu,u5.evt.DEACTIVATED=lu,u5.evt.DESTROY=hu,u5.evt.DOUBLE_CLICK="doubleclick",u5.evt.EventsManager=Ol,u5.evt.HIDE=cu,u5.evt.HOVER_FEATURES=du,u5.evt.LEAVE_FEATURES=gu,u5.evt.LOAD=yu,u5.evt.LOAD_LAYERS="load:layers",u5.evt.Listener=El,u5.evt.MOVE=Ou,u5.evt.POPUP_ADDED=Iu,u5.evt.POPUP_ADDED_TAB=Tu,u5.evt.POPUP_REMOVED=Cu,u5.evt.POPUP_REMOVED_TAB=Pu,u5.evt.REMOVED_FROM_MAP=ou,u5.evt.REMOVED_LAYER=iu,u5.evt.SELECT_FEATURES=fu,u5.evt.SHOW=uu,u5.evt.UNSELECT_FEATURES=pu,u5.exception=Bl,u5.facade={},u5.facade.Base=Zl,u5.filter=OG,u5.filter.AND=function(t){var e="",r=t.length;return t.forEach((function(t,n){e+="(".concat(t.toCQL(),")"),ne}),{cqlFilter:"".concat(t," > '").concat(e,"'")})},u5.filter.GTE=function(t,e){return new vG((function(r){return null!=r.getAttribute(t)&&r.getAttribute(t)>=e}),{cqlFilter:"".concat(t," >= '").concat(e,"'")})},u5.filter.LIKE=function(t,e){return new vG((function(r){return r.getAttribute(t).toString().match(new RegExp(e))}),{cqlFilter:"".concat(t," LIKE '%").concat(e,"%'")})},u5.filter.LT=function(t,e){return new vG((function(r){return null!=r.getAttribute(t)&&r.getAttribute(t)/g,">").replace(/'/g,""").replace(/'/g,"'").replace(/\//g,"/")},u5.utils.extend=vD,u5.utils.extendsObj=TD,u5.utils.fillResolutions=cD,u5.utils.generateColorScale=ID,u5.utils.generateIntervals=PD,u5.utils.generateRandom=sD,u5.utils.generateResolutionsFromExtent=fD,u5.utils.generateResolutionsFromScales=function(t,e,r,n){var i=hD(t,n),o=hD(e,n);return cD(i,o,r)},u5.utils.getEnvolvedExtent=UD,u5.utils.getImageSize=LD,u5.utils.getOpacityFromRgba=function(t){var e,r=/^rgba\s*\((\s*\d+\s*,){3}\s*([\d.]+)\s*\)$/;if(r.test(t)){e=t.replace(r,"$2");try{e=parseFloat(e)}catch(t){throw t}}return e},u5.utils.getParameterValue=oD,u5.utils.getResolutionFromScale=hD,u5.utils.getRgba=function(t,e){return l()(t).alpha(e).css()},u5.utils.getScaleFromResolution=pD,u5.utils.getSystem=BD,u5.utils.getTextFromHtml=OD,u5.utils.getWMSGetCapabilitiesUrl=lD,u5.utils.getWMTSGetCapabilitiesUrl=uD,u5.utils.htmlToString=function(t){var e;if(!QF(t)){var r=document.createElement("div");r.appendChild(t),e=r.innerHTML}return e},u5.utils.includes=_D,u5.utils.inverseColor=CD,u5.utils.isArray=JF,u5.utils.isBoolean=ZF,u5.utils.isDynamic=FD,u5.utils.isFunction=$F,u5.utils.isGeometryType=ED,u5.utils.isNull=KF,u5.utils.isNullOrEmpty=QF,u5.utils.isNumber=nD,u5.utils.isObject=tD,u5.utils.isPositiveNumber=function(t){return nD(t)&&t>0},u5.utils.isString=eD,u5.utils.isUndefined=HF,u5.utils.isUrl=rD,u5.utils.normalize=iD,u5.utils.rgbToHex=function(t){var e;try{e=l()(t).hex()}catch(t){throw t}return e},u5.utils.rgbaToHex=function(t){var e;try{e=l()(t).hex()}catch(t){throw t}return e},u5.utils.sameUrl=wD,u5.utils.setDynamicLegend=function(t){DD=t},u5.utils.setEquals=function(t,e){var r=!1;return t.length===e.length&&(r=t.every((function(t){return e.some((function(e){return e.equals(t)}))}))),r},u5.utils.stringToHtml=dD,u5.utils.stringifyFunctions=MD,u5.utils.styleComparator=RD,u5.version=kF,u5.window=ix,c5.AssertionError=io.a,c5.Collection=ho,c5.Feature=gh,c5.Geolocation=Vw,c5.Kinetic=ul,c5.Map=bl,c5.MapBrowserEvent=Eo,c5.Object=Pi.a,c5.Observable=Ig.a,c5.Observable.unByKey=Ig.b,c5.Overlay=ex,c5.PluggableMap=ss,c5.View=rs,c5.View=rs,c5.array={},c5.array.stableSort=h.k,c5.color={},c5.color.asArray=ui.a,c5.color.asString=ui.b,c5.colorlike={},c5.colorlike.asColorLike=sy,c5.control={},c5.control.Attribution=hs,c5.control.Control=us,c5.control.FullScreen=eH,c5.control.MousePosition=BS,c5.control.OverviewMap=gO,c5.control.Rotate=ps,c5.control.ScaleLine=cS,c5.control.Zoom=gs,c5.control.ZoomSlider=Al,c5.control.ZoomToExtent=nH,c5.control.defaults=ys,c5.coordinate={},c5.coordinate.add=di.a,c5.coordinate.createStringXY=di.d,c5.coordinate.format=di.h,c5.coordinate.rotate=di.j,c5.coordinate.toStringHDMS=di.n,c5.coordinate.toStringXY=di.o,c5.easing={},c5.easing.easeIn=Qo.easeIn,c5.easing.easeOut=Qo.easeOut,c5.easing.inAndOut=Qo.inAndOut,c5.easing.linear=Qo.linear,c5.easing.upAndDown=Qo.upAndDown,c5.events={},c5.events.condition={},c5.events.condition.altKeyOnly=Cs,c5.events.condition.altShiftKeysOnly=Ts,c5.events.condition.always=Ls,c5.events.condition.click=function(t){return t.type==So.CLICK},c5.events.condition.doubleClick=function(t){return t.type==So.DBLCLICK},c5.events.condition.focus=Ps,c5.events.condition.mouseOnly=Ds,c5.events.condition.never=As,c5.events.condition.noModifierKeys=ks,c5.events.condition.penOnly=function(t){var e=t.originalEvent;return Object(go.a)(void 0!==e,56),"pen"===e.pointerType},c5.events.condition.platformModifierKeyOnly=function(t){var e=t.originalEvent;return!e.altKey&&(Li.d?e.metaKey:e.ctrlKey)&&!e.shiftKey},c5.events.condition.pointerMove=function(t){return"pointermove"==t.type},c5.events.condition.primaryAction=Gs,c5.events.condition.shiftKeyOnly=js,c5.events.condition.singleClick=Ns,c5.events.condition.targetNotEditable=Fs,c5.events.condition.touchOnly=function(t){var e=t.originalEvent;return Object(go.a)(void 0!==e,56),"touch"===e.pointerType},c5.extent={},c5.extent.applyTransform=mt.a,c5.extent.boundingExtent=mt.c,c5.extent.buffer=mt.d,c5.extent.containsCoordinate=mt.g,c5.extent.containsExtent=mt.h,c5.extent.containsXY=mt.i,c5.extent.createEmpty=mt.k,c5.extent.equals=mt.p,c5.extent.extend=mt.q,c5.extent.getArea=mt.u,c5.extent.getBottomLeft=mt.v,c5.extent.getBottomRight=mt.w,c5.extent.getCenter=mt.x,c5.extent.getHeight=mt.A,c5.extent.getIntersection=mt.B,c5.extent.getSize=mt.D,c5.extent.getTopLeft=mt.E,c5.extent.getTopRight=mt.F,c5.extent.getWidth=mt.G,c5.extent.intersects=mt.H,c5.extent.isEmpty=mt.J,c5.featureloader={},c5.featureloader.setWithCredentials=function(t){Gg=t},c5.featureloader.xhr=Bg,c5.format={},c5.format.EsriJSON=hH,c5.format.Feature=fI,c5.format.GML=OA,c5.format.GML2=OI,c5.format.GML3=PI,c5.format.GML32=MI,c5.format.GMLBase=xI,c5.format.GPX=XH,c5.format.GeoJSON=WM,c5.format.IGC=rZ,c5.format.IIIFInfo=fZ,c5.format.KML=fM,c5.format.MVT=Ij,c5.format.OSMXML=bZ,c5.format.Polyline=TZ,c5.format.Polyline.decodeDeltas=SZ,c5.format.Polyline.decodeFloats=IZ,c5.format.Polyline.encodeDeltas=EZ,c5.format.Polyline.encodeFloats=OZ,c5.format.TopoJSON=FZ,c5.format.WFS=xT,c5.format.WFS.writeFilter=function(t,e){var r=e||"1.1.0",n=p(bT(r),"Filter"),i={node:n};return Object(Mi.a)(i,{version:r,filter:t}),iT(n,t,[i]),n},c5.format.WKB=QZ,c5.format.WKT=HG,c5.format.WMSCapabilities=Pf,c5.format.WMSGetFeatureInfo=tK,c5.format.WMTSCapabilities=kt,c5.format.filter={},c5.format.filter.Bbox=GI,c5.format.filter.Contains=VI,c5.format.filter.DWithin=YI,c5.format.filter.Disjoint=XI,c5.format.filter.During=JI,c5.format.filter.EqualTo=eC,c5.format.filter.GreaterThan=nC,c5.format.filter.GreaterThanOrEqualTo=oC,c5.format.filter.Intersects=sC,c5.format.filter.IsBetween=uC,c5.format.filter.IsLike=hC,c5.format.filter.IsNull=pC,c5.format.filter.LessThan=gC,c5.format.filter.LessThanOrEqualTo=mC,c5.format.filter.Not=vC,c5.format.filter.NotEqualTo=xC,c5.format.filter.Or=EC,c5.format.filter.Within=IC,c5.format.filter.and=CC,c5.format.filter.bbox=TC,c5.format.filter.between=function(t,e,r){return new uC(t,e,r)},c5.format.filter.contains=function(t,e,r){return new VI(t,e,r)},c5.format.filter.disjoint=function(t,e,r){return new XI(t,e,r)},c5.format.filter.during=function(t,e,r){return new JI(t,e,r)},c5.format.filter.dwithin=function(t,e,r,n,i){return new YI(t,e,r,n,i)},c5.format.filter.equalTo=function(t,e,r){return new eC(t,e,r)},c5.format.filter.greaterThan=function(t,e){return new nC(t,e)},c5.format.filter.greaterThanOrEqualTo=function(t,e){return new oC(t,e)},c5.format.filter.intersects=function(t,e,r){return new sC(t,e,r)},c5.format.filter.isNull=function(t){return new pC(t)},c5.format.filter.lessThan=function(t,e){return new gC(t,e)},c5.format.filter.lessThanOrEqualTo=function(t,e){return new mC(t,e)},c5.format.filter.like=function(t,e,r,n,i,o){return new hC(t,e,r,n,i,o)},c5.format.filter.not=function(t){return new vC(t)},c5.format.filter.notEqualTo=function(t,e,r){return new xC(t,e,r)},c5.format.filter.or=function(t){var e=[null].concat(Array.prototype.slice.call(arguments));return new(Function.prototype.bind.apply(EC,e))},c5.format.filter.within=function(t,e,r){return new IC(t,e,r)},c5.geom={},c5.geom.Circle=Dh,c5.geom.Geometry=la,c5.geom.GeometryCollection=kh,c5.geom.LineString=Eh,c5.geom.LinearRing=La,c5.geom.MultiLineString=Oh,c5.geom.MultiPoint=mh,c5.geom.MultiPolygon=Th,c5.geom.Point=Aa,c5.geom.Polygon=Xa,c5.geom.Polygon.circular=Ha,c5.geom.Polygon.fromCircle=Ka,c5.geom.Polygon.fromExtent=Za,c5.geom.SimpleGeometry=ha,c5.has={},c5.has.DEVICE_PIXEL_RATIO=Li.a,c5.interaction={},c5.interaction.DoubleClickZoom=ws,c5.interaction.DragAndDrop=iK,c5.interaction.DragBox=Qs,c5.interaction.DragPan=Bs,c5.interaction.DragRotate=Vs,c5.interaction.DragRotateAndZoom=aK,c5.interaction.DragZoom=tl,c5.interaction.Draw=yK,c5.interaction.Draw.createBox=function(){return function(t,e,r){var n=Object(mt.c)([t[0],t[t.length-1]].map((function(t){return Object(u.l)(t,r)}))),i=[[Object(mt.v)(n),Object(mt.w)(n),Object(mt.F)(n),Object(mt.E)(n),Object(mt.v)(n)]],o=e;o?o.setCoordinates(i):o=new Xa(i);var a=Object(u.s)();return a&&o.transform(r,a),o}},c5.interaction.Draw.createRegularPolygon=function(t,e){return function(r,n,i){var o=Object(u.l)(r[0],i),a=Object(u.l)(r[r.length-1],i),s=Math.sqrt(Object(di.l)(o,a)),l=n||Ka(new Dh(o),t),c=e;if(!e&&0!==e){var h=a[0]-o[0],f=a[1]-o[1];c=Math.atan2(f,h)}Ja(l,o,s,c);var p=Object(u.s)();return p&&l.transform(i,p),l}},c5.interaction.Extent=EK,c5.interaction.Interaction=bs,c5.interaction.KeyboardPan=al,c5.interaction.KeyboardZoom=ll,c5.interaction.Link=TK,c5.interaction.Modify=GK,c5.interaction.MouseWheelZoom=pl,c5.interaction.PinchRotate=gl,c5.interaction.PinchZoom=ml,c5.interaction.Pointer=Os,c5.interaction.Select=tb,c5.interaction.Snap=VK,c5.interaction.Translate=ZK,c5.interaction.defaults=_l,c5.layer={},c5.layer.Base=po.a,c5.layer.BaseImage=KK.a,c5.layer.BaseTile=JK.a,c5.layer.BaseVector=K_,c5.layer.Graticule=rJ,c5.layer.Group=vo,c5.layer.Heatmap=cB,c5.layer.Image=rh.a,c5.layer.Layer=pi.a,c5.layer.MapboxVector=$0,c5.layer.Tile=eh.a,c5.layer.Vector=Gv,c5.layer.VectorImage=o1,c5.layer.VectorTile=_j,c5.layer.VectorTileRenderType={},c5.layer.VectorTileRenderType.HYBRID=void 0,c5.layer.VectorTileRenderType.IMAGE=void 0,c5.layer.VectorTileRenderType.VECTOR=void 0,c5.layer.WebGLTile=p2,c5.loadingstrategy={},c5.loadingstrategy.all=Dg,c5.loadingstrategy.bbox=function(t,e){return[t]},c5.loadingstrategy.tile=function(t){return function(e,r,n){var i=t.getZForResolution(Object(u.n)(r,n)),o=t.getTileRangeForExtentAndZ(Object(u.m)(e,n),i),a=[],s=[i,0,0];for(s[1]=o.minX;s[1]<=o.maxX;++s[1])for(s[2]=o.minY;s[2]<=o.maxY;++s[2])a.push(Object(u.x)(t.getTileCoordExtent(s),n));return a}},c5.proj={},c5.proj.Projection=Kn.a,c5.proj.Units=Jn.b,c5.proj.Units.METERS_PER_UNIT=Jn.a,c5.proj.addCoordinateTransforms=u.c,c5.proj.addEquivalentProjections=u.d,c5.proj.addProjection=u.e,c5.proj.clearUserProjection=u.f,c5.proj.equivalent=u.j,c5.proj.fromLonLat=u.k,c5.proj.get=u.o,c5.proj.getPointResolution=u.p,c5.proj.getTransform=u.q,c5.proj.getUserProjection=u.s,c5.proj.proj4={},c5.proj.proj4.register=$n,c5.proj.setUserProjection=u.u,c5.proj.toLonLat=u.v,c5.proj.transform=u.z,c5.proj.transformExtent=u.A,c5.proj.useGeographic=u.B,c5.render={},c5.render.Feature={},c5.render.Feature.toFeature=function(t,e){var r=t.getId(),n=Lh(t),i=t.getProperties(),o=new gh;return void 0!==e&&o.setGeometryName(e),o.setGeometry(n),void 0!==r&&o.setId(r),o.setProperties(i,!0),o},c5.render.Feature.toGeometry=Lh,c5.render.VectorContext=ay,c5.render.canvas={},c5.render.canvas.checkedFonts=Vi,c5.render.canvas.labelCache=qi,c5.render.canvas.registerFont=Zi,c5.render.getRenderPixel=function(t,e){return Object(li.a)(t.inversePixelTransform,e.slice(0))},c5.render.getVectorContext=my,c5.render.toContext=yy,c5.renderer={},c5.renderer.Composite=no,c5.renderer.canvas={},c5.renderer.canvas.ImageLayer=t1.a,c5.renderer.canvas.TileLayer=lj.a,c5.renderer.canvas.VectorImageLayer=n1,c5.renderer.canvas.VectorLayer=Fv,c5.renderer.canvas.VectorTileLayer=gj,c5.renderer.webgl={},c5.renderer.webgl.PointsLayer=iB,c5.renderer.webgl.TileLayer=k1,c5.size={},c5.size.toSize=ns.d,c5.source={},c5.source.BingMaps=g2,c5.source.CartoDB=m2,c5.source.Cluster=Wg,c5.source.DataTile=v2,c5.source.GeoTIFF=M3,c5.source.IIIF=U3,c5.source.Image=Sp.a,c5.source.ImageArcGISRest=z3,c5.source.ImageCanvas=q3,c5.source.ImageMapGuide=W3,c5.source.ImageStatic=Z3,c5.source.ImageWMS=Tp,c5.source.OSM=jk,c5.source.OSM.ATTRIBUTION=kk,c5.source.Raster=K3.a,c5.source.Source=Rg.a,c5.source.Stamen=e5,c5.source.Tile=Kf.b,c5.source.TileArcGISRest=n5,c5.source.TileDebug=o5,c5.source.TileImage=up,c5.source.TileJSON=oJ,c5.source.TileWMS=dp,c5.source.UTFGrid=l5,c5.source.Vector=qg,c5.source.VectorTile=aj,c5.source.WMTS=QN,c5.source.WMTS.optionsFromCapabilities=$N,c5.source.XYZ=mk,c5.source.Zoomify=F3,c5.source.sourcesFromTileGrid=function(t,e){var r=new a1.a(32),n=t.getExtent();return function(i,o){r.expireCache(),n&&(i=Object(mt.B)(n,i));var a=t.getZForResolution(o),s=[];return t.forEachTileCoord(i,a,(function(t){var n=t.toString();if(!r.containsKey(n)){var i=e(t);r.set(n,i)}s.push(r.get(n))})),s}},c5.sphere={},c5.sphere.getArea=qa.a,c5.sphere.getDistance=qa.b,c5.sphere.getLength=qa.c,c5.style={},c5.style.Circle=Ky,c5.style.Fill=Jy,c5.style.Icon=oy,c5.style.IconAnchorUnits={},c5.style.IconAnchorUnits.FRACTION=void 0,c5.style.IconAnchorUnits.PIXELS=void 0,c5.style.IconImageCache={},c5.style.IconImageCache.shared=fi,c5.style.IconOrigin={},c5.style.IconOrigin.BOTTOM_LEFT=void 0,c5.style.IconOrigin.BOTTOM_RIGHT=void 0,c5.style.IconOrigin.TOP_LEFT=void 0,c5.style.IconOrigin.TOP_RIGHT=void 0,c5.style.Image=ty,c5.style.RegularShape=vy,c5.style.Stroke=Qy,c5.style.Style=om,c5.style.Text=lm,c5.tilegrid={},c5.tilegrid.TileGrid=nh.a,c5.tilegrid.WMTS=ZN,c5.tilegrid.WMTS.createFromCapabilitiesMatrixSet=KN,c5.tilegrid.createXYZ=ap.a,c5.transform={},c5.transform.composeCssTransform=li.c,c5.util={},c5.util.getUid=si.c,c5.webgl={},c5.webgl.ARRAY_BUFFER=xU,c5.webgl.Buffer=PU,c5.webgl.DYNAMIC_DRAW=SU,c5.webgl.ELEMENT_ARRAY_BUFFER=wU,c5.webgl.Helper=ZU,c5.webgl.Helper.computeAttributesStride=XU,c5.webgl.PostProcessingPass=NU,c5.webgl.RenderTarget=eB,c5.webgl.STATIC_DRAW=EU,c5.webgl.STREAM_DRAW=35040,c5.xml={},c5.xml.getAllTextContent=d,c5.xml.parse=m,c5.xml.registerDocument=function(t){k=t},c5.xml.registerXMLSerializer=function(t){N=t},window.jsts=r(163),window.Handlebars=r(60),u5.plugin={}},,,function(t,e,r){"use strict";r.r(e),function(t){r.d(e,"create",(function(){return o}));var n=r(121),i=r.n(n);function o(){const e='function e(e,t,r,n,i,a,o){try{var s=e[a](o),f=s.value}catch(e){return void r(e)}s.done?t(f):Promise.resolve(f).then(n,i)}function t(t){return function(){var r=this,n=arguments;return new Promise((function(i,a){var o=t.apply(r,n);function s(t){e(o,i,a,s,f,"next",t)}function f(t){e(o,i,a,s,f,"throw",t)}s(void 0)}))}}function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var n={exports:{}};!function(e){var t=function(e){var t,n=Object.prototype,i=n.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",f=a.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var i=t&&t.prototype instanceof y?t:y,a=Object.create(i.prototype),o=new T(n||[]);return a._invoke=function(e,t,r){var n=h;return function(i,a){if(n===p)throw new Error("Generator is already running");if(n===m){if("throw"===i)throw a;return E()}for(r.method=i,r.arg=a;;){var o=r.delegate;if(o){var s=I(o,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===h)throw n=m,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var f=c(e,t,r);if("normal"===f.type){if(n=r.done?m:d,f.arg===v)continue;return{value:f.arg,done:r.done}}"throw"===f.type&&(n=m,r.method="throw",r.arg=f.arg)}}}(e,r,o),a}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var h="suspendedStart",d="suspendedYield",p="executing",m="completed",v={};function y(){}function w(){}function g(){}var b={};l(b,o,(function(){return this}));var k=Object.getPrototypeOf,x=k&&k(k(D([])));x&&x!==n&&i.call(x,o)&&(b=x);var _=g.prototype=y.prototype=Object.create(b);function A(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function P(e,t){function n(a,o,s,f){var l=c(e[a],e,o);if("throw"!==l.type){var u=l.arg,h=u.value;return h&&"object"===r(h)&&i.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,s,f)}),(function(e){n("throw",e,s,f)})):t.resolve(h).then((function(e){u.value=e,s(u)}),(function(e){return n("throw",e,s,f)}))}f(l.arg)}var a;this._invoke=function(e,r){function i(){return new t((function(t,i){n(e,r,t,i)}))}return a=a?a.then(i,i):i()}}function I(e,r){var n=e.iterator[r.method];if(n===t){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=t,I(e,r),"throw"===r.method))return v;r.method="throw",r.arg=new TypeError("The iterator does not provide a \'throw\' method")}return v}var i=c(n,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,v;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function U(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(U,this),this.reset(!0)}function D(e){if(e){var r=e[o];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function r(){for(;++n=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var f=i.call(o,"catchLoc"),l=i.call(o,"finallyLoc");if(f&&l){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&i.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),S(r),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;S(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:D(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}(e.exports);try{regeneratorRuntime=t}catch(e){"object"===("undefined"==typeof globalThis?"undefined":r(globalThis))?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}(n);var i=n.exports,a=new Map;function o(e,t){Array.isArray(e)||(e=[e]),e.forEach((function(e){return a.set(e,t)}))}function s(e){return f.apply(this,arguments)}function f(){return(f=t(i.mark((function e(t){var r,n;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.get(t.Compression)){e.next=3;break}throw new Error("Unknown compression method identifier: ".concat(t.Compression));case 3:return e.next=5,r();case 5:return n=e.sent,e.abrupt("return",new n(t));case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}o([void 0,1],(function(){return Promise.resolve().then((function(){return _})).then((function(e){return e.default}))})),o(5,(function(){return Promise.resolve().then((function(){return S})).then((function(e){return e.default}))})),o(6,(function(){throw new Error("old style JPEG compression is not supported.")})),o(7,(function(){return Promise.resolve().then((function(){return L})).then((function(e){return e.default}))})),o([8,32946],(function(){return Promise.resolve().then((function(){return Ne})).then((function(e){return e.default}))})),o(32773,(function(){return Promise.resolve().then((function(){return Ye})).then((function(e){return e.default}))})),o(34887,(function(){return Promise.resolve().then((function(){return ut})).then((function(e){return e.default}))})),o(50001,(function(){return Promise.resolve().then((function(){return dt})).then((function(e){return e.default}))}));var l=globalThis;function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){for(var r=0;r0;i--)e[n+t]+=e[n],n++;r-=t}while(r>0)}function w(e,t,r){for(var n=0,i=e.length,a=i/r;i>t;){for(var o=t;o>0;--o)e[n+t]+=e[n],++n;i-=t}for(var s=e.slice(),f=0;f=e.byteLength);++l){var u=void 0;if(2===t){switch(i[0]){case 8:u=new Uint8Array(e,l*f*r*s,f*r*s);break;case 16:u=new Uint16Array(e,l*f*r*s,f*r*s/2);break;case 32:u=new Uint32Array(e,l*f*r*s,f*r*s/4);break;default:throw new Error("Predictor 2 not allowed with ".concat(i[0]," bits per sample."))}y(u,f)}else 3===t&&w(u=new Uint8Array(e,l*f*r*s,f*r*s),f,s)}return e}l.addEventListener("message",function(){var e=t(i.mark((function e(t){var r,n,a,o,f,u;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.data,n=r.id,a=r.fileDirectory,o=r.buffer,e.next=3,s(a);case 3:return f=e.sent,e.next=6,f.decode(a,o);case 6:u=e.sent,l.postMessage({decoded:u,id:n},[u]);case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());var b=function(){function e(){u(this,e)}var r;return h(e,[{key:"decode",value:(r=t(i.mark((function e(t,r){var n,a,o,s,f;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decodeBlock(r);case 2:if(n=e.sent,1===(a=t.Predictor||1)){e.next=9;break}return o=!t.StripOffsets,s=o?t.TileWidth:t.ImageWidth,f=o?t.TileLength:t.RowsPerStrip||t.ImageLength,e.abrupt("return",g(n,a,s,f,t.BitsPerSample,t.PlanarConfiguration));case 9:return e.abrupt("return",n);case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})}]),e}();function k(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var x=function(e){p(r,b);var t=k(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){return e}}]),r}(),_=Object.freeze({__proto__:null,default:x});function A(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}function P(e,t){for(var r=t.length-1;r>=0;r--)e.push(t[r]);return e}function I(e){for(var t=new Uint16Array(4093),r=new Uint8Array(4093),n=0;n<=257;n++)t[n]=4096,r[n]=n;var i=258,a=9,o=0;function s(){i=258,a=9}function f(e){var t=function(e,t,r){var n=t%8,i=Math.floor(t/8),a=8-n,o=t+r-8*(i+1),s=8*(i+2)-(t+r),f=8*(i+2)-t;if(s=Math.max(0,s),i>=e.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;var l=e[i]&Math.pow(2,8-n)-1,u=l<<=r-a;if(i+1>>s;u+=c<<=Math.max(0,r-f)}if(o>8&&i+2>>h}return u}(e,o,a);return o+=a,t}function l(e,n){return r[i]=n,t[i]=e,++i-1}function u(e){for(var n=[],i=e;4096!==i;i=t[i])n.push(r[i]);return n}var c=[];s();for(var h,d=new Uint8Array(e),p=f(d);257!==p;){if(256===p){for(s(),p=f(d);256===p;)p=f(d);if(257===p)break;if(p>256)throw new Error("corrupted code at scanline ".concat(p));P(c,u(p)),h=p}else if(p=Math.pow(2,a)&&(12===a?h=void 0:a++),p=f(d)}return new Uint8Array(c)}var U=function(e){p(r,b);var t=A(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){return I(e).buffer}}]),r}(),S=Object.freeze({__proto__:null,default:U});function T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var D=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);function E(e,t){for(var r=0,n=[],i=16;i>0&&!e[i-1];)--i;n.push({children:[],index:0});for(var a,o=n[0],s=0;s0;)o=n.pop();for(o.index++,n.push(o);n.length<=s;)n.push(a={children:[],index:0}),o.children[o.index]=a.children,o=a;r++}s+10)return m--,p>>m&1;if(255===(p=e[d++])){var t=e[d++];if(t)throw new Error("unexpected marker: ".concat((p<<8|t).toString(16)))}return m=7,p>>>7}function y(e){for(var t,n=e;null!==(t=v());){if("number"==typeof(n=n[t]))return n;if("object"!==r(n))throw new Error("invalid huffman sequence")}return null}function w(e){for(var t=e,r=0;t>0;){var n=v();if(null===n)return;r=r<<1|n,--t}return r}function g(e){var t=w(e);return t>=1<0)b--;else for(var r=o,n=s;r<=n;){var i=y(e.huffmanTableAC),a=15&i,f=i>>4;if(0===a){if(f<15){b=w(f)+(1<>4,0===c)i<15?(b=w(i)+(1<>4;if(0===o){if(s<15)break;i+=16}else t[D[i+=s]]=g(o),i++}};var O,M,C=0;M=1===B?i[0].blocksPerLine*i[0].blocksPerColumn:u*n.mcusPerColumn;for(var L=a||M;C=65488&&O<=65495))break;d+=2}return d-h}function O(e,t){var r=[],n=t.blocksPerLine,i=t.blocksPerColumn,a=n<<3,o=new Int32Array(64),s=new Uint8Array(64);function f(e,r,n){var i,a,o,s,f,l,u,c,h,d,p=t.quantizationTable,m=n;for(d=0;d<64;d++)m[d]=e[d]*p[d];for(d=0;d<8;++d){var v=8*d;0!==m[1+v]||0!==m[2+v]||0!==m[3+v]||0!==m[4+v]||0!==m[5+v]||0!==m[6+v]||0!==m[7+v]?(i=5793*m[0+v]+128>>8,a=5793*m[4+v]+128>>8,o=m[2+v],s=m[6+v],f=2896*(m[1+v]-m[7+v])+128>>8,c=2896*(m[1+v]+m[7+v])+128>>8,l=m[3+v]<<4,h=i-a+1>>1,i=i+a+1>>1,a=h,h=3784*o+1567*s+128>>8,o=1567*o-3784*s+128>>8,s=h,h=f-(u=m[5+v]<<4)+1>>1,f=f+u+1>>1,u=h,h=c+l+1>>1,l=c-l+1>>1,c=h,h=i-s+1>>1,i=i+s+1>>1,s=h,h=a-o+1>>1,a=a+o+1>>1,o=h,h=2276*f+3406*c+2048>>12,f=3406*f-2276*c+2048>>12,c=h,h=799*l+4017*u+2048>>12,l=4017*l-799*u+2048>>12,u=h,m[0+v]=i+c,m[7+v]=i-c,m[1+v]=a+u,m[6+v]=a-u,m[2+v]=o+l,m[5+v]=o-l,m[3+v]=s+f,m[4+v]=s-f):(h=5793*m[0+v]+512>>10,m[0+v]=h,m[1+v]=h,m[2+v]=h,m[3+v]=h,m[4+v]=h,m[5+v]=h,m[6+v]=h,m[7+v]=h)}for(d=0;d<8;++d){var y=d;0!==m[8+y]||0!==m[16+y]||0!==m[24+y]||0!==m[32+y]||0!==m[40+y]||0!==m[48+y]||0!==m[56+y]?(i=5793*m[0+y]+2048>>12,a=5793*m[32+y]+2048>>12,o=m[16+y],s=m[48+y],f=2896*(m[8+y]-m[56+y])+2048>>12,c=2896*(m[8+y]+m[56+y])+2048>>12,l=m[24+y],h=i-a+1>>1,i=i+a+1>>1,a=h,h=3784*o+1567*s+2048>>12,o=1567*o-3784*s+2048>>12,s=h,h=f-(u=m[40+y])+1>>1,f=f+u+1>>1,u=h,h=c+l+1>>1,l=c-l+1>>1,c=h,h=i-s+1>>1,i=i+s+1>>1,s=h,h=a-o+1>>1,a=a+o+1>>1,o=h,h=2276*f+3406*c+2048>>12,f=3406*f-2276*c+2048>>12,c=h,h=799*l+4017*u+2048>>12,l=4017*l-799*u+2048>>12,u=h,m[0+y]=i+c,m[56+y]=i-c,m[8+y]=a+u,m[48+y]=a-u,m[16+y]=o+l,m[40+y]=o-l,m[24+y]=s+f,m[32+y]=s-f):(h=5793*n[d+0]+8192>>14,m[0+y]=h,m[8+y]=h,m[16+y]=h,m[24+y]=h,m[32+y]=h,m[40+y]=h,m[48+y]=h,m[56+y]=h)}for(d=0;d<64;++d){var w=128+(m[d]+8>>4);r[d]=w<0?0:w>255?255:w}}for(var l=0;l>4==0)for(var c=0;c<64;c++){u[D[c]]=e[t++]}else{if(l>>4!=1)throw new Error("DQT: invalid table spec");for(var h=0;h<64;h++){u[D[h]]=r()}}this.quantizationTables[15&l]=u}break;case 65472:case 65473:case 65474:r();for(var d={extended:65473===o,progressive:65474===o,precision:e[t++],scanLines:r(),samplesPerLine:r(),components:{},componentsOrder:[]},p=e[t++],m=void 0,v=0;v>4,w=15&e[t+1],g=e[t+2];d.componentsOrder.push(m),d.components[m]={h:y,v:w,quantizationIdx:g},t+=3}n(d),this.frames.push(d);break;case 65476:for(var b=r(),k=2;k>4==0?this.huffmanTablesDC[15&x]=E(_,I):this.huffmanTablesAC[15&x]=E(_,I)}break;case 65501:r(),this.resetInterval=r();break;case 65498:r();for(var S=e[t++],T=[],O=this.frames[0],M=0;M>4],C.huffmanTableAC=this.huffmanTablesAC[15&L],T.push(C)}var R=e[t++],V=e[t++],G=e[t++],F=B(e,t,O,T,this.resetInterval,R,V,G>>4,15&G);t+=F;break;case 65535:255!==e[t]&&t--;break;default:if(255===e[t-3]&&e[t-2]>=192&&e[t-2]<=254){t-=3;break}throw new Error("unknown JPEG marker ".concat(o.toString(16)))}o=r()}}},{key:"getResult",value:function(){var e=this.frames;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(var t=0;t=0;)e[t]=0}R(new Array(576)),R(new Array(60)),R(new Array(512)),R(new Array(256)),R(new Array(29)),R(new Array(30));var V=function(e,t,r,n){for(var i=65535&e|0,a=e>>>16&65535|0,o=0;0!==r;){r-=o=r>2e3?2e3:r;do{a=a+(i=i+t[n++]|0)|0}while(--o);i%=65521,a%=65521}return i|a<<16|0},G=new Uint32Array(function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}()),F=function(e,t,r,n){var i=G,a=n+r;e^=-1;for(var o=n;o>>8^i[255&(e^t[o])];return-1^e},z={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},j={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},N=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Z=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!==r(n))throw new TypeError(n+"must be non-object");for(var i in n)N(n,i)&&(e[i]=n[i])}}return e},K=function(e){for(var t=0,r=0,n=e.length;r=252?6:X>=248?5:X>=240?4:X>=224?3:X>=192?2:1;Y[254]=Y[254]=1;var W=function(e){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,r,n,i,a,o=e.length,s=0;for(i=0;i>>6,t[a++]=128|63&r):r<65536?(t[a++]=224|r>>>12,t[a++]=128|r>>>6&63,t[a++]=128|63&r):(t[a++]=240|r>>>18,t[a++]=128|r>>>12&63,t[a++]=128|r>>>6&63,t[a++]=128|63&r);return t},q=function(e,t){var r,n,i=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var a=new Array(2*i);for(n=0,r=0;r4)a[n++]=65533,r+=s-1;else{for(o&=2===s?31:3===s?15:7;s>1&&r1?a[n++]=65533:o<65536?a[n++]=o:(o-=65536,a[n++]=55296|o>>10&1023,a[n++]=56320|1023&o)}}}return function(e,t){if(t<65534&&e.subarray&&H)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var r="",n=0;ne.length&&(t=e.length);for(var r=t-1;r>=0&&128==(192&e[r]);)r--;return r<0||0===r?t:r+Y[e[r]]>t?r:t};var Q=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},$=function(e,t){var r,n,i,a,o,s,f,l,u,c,h,d,p,m,v,y,w,g,b,k,x,_,A,P,I=e.state;r=e.next_in,A=e.input,n=r+(e.avail_in-5),i=e.next_out,P=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=I.dmax,f=I.wsize,l=I.whave,u=I.wnext,c=I.window,h=I.hold,d=I.bits,p=I.lencode,m=I.distcode,v=(1<>>=g=w>>>24,d-=g,0===(g=w>>>16&255))P[i++]=65535&w;else{if(!(16&g)){if(0==(64&g)){w=p[(65535&w)+(h&(1<>>=g,d-=g),d<15&&(h+=A[r++]<>>=g=w>>>24,d-=g,!(16&(g=w>>>16&255))){if(0==(64&g)){w=m[(65535&w)+(h&(1<s){e.msg="invalid distance too far back",I.mode=30;break e}if(h>>>=g,d-=g,k>(g=i-a)){if((g=k-g)>l&&I.sane){e.msg="invalid distance too far back",I.mode=30;break e}if(x=0,_=c,0===u){if(x+=f-g,g2;)P[i++]=_[x++],P[i++]=_[x++],P[i++]=_[x++],b-=3;b&&(P[i++]=_[x++],b>1&&(P[i++]=_[x++]))}else{x=i-k;do{P[i++]=P[x++],P[i++]=P[x++],P[i++]=P[x++],b-=3}while(b>2);b&&(P[i++]=P[x++],b>1&&(P[i++]=P[x++]))}break}}break}}while(r>3,h&=(1<<(d-=b<<3))-1,e.next_in=r,e.next_out=i,e.avail_in=r=1&&0===D[k];k--);if(x>k&&(x=k),0===k)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(b=1;b0&&(0===e||1!==k))return-1;for(E[1]=0,w=1;w<15;w++)E[w+1]=E[w]+D[w];for(g=0;g852||2===e&&I>592)return 1;for(;;){p=w-A,o[g]d?(m=B[O+o[g]],v=S[T+o[g]]):(m=96,v=0),f=1<>A)+(l-=f)]=p<<24|m<<16|v|0}while(0!==l);for(f=1<>=1;if(0!==f?(U&=f-1,U+=f):U=0,g++,0==--D[w]){if(w===k)break;w=t[r+o[g]]}if(w>x&&(U&c)!==u){for(0===A&&(A=x),h+=b,P=1<<(_=w-A);_+A852||2===e&&I>592)return 1;i[u=U&c]=x<<24|_<<16|h-a|0}}return 0!==U&&(i[h+U]=w-A<<24|64<<16|0),s.bits=x,0},ae=j.Z_FINISH,oe=j.Z_BLOCK,se=j.Z_TREES,fe=j.Z_OK,le=j.Z_STREAM_END,ue=j.Z_NEED_DICT,ce=j.Z_STREAM_ERROR,he=j.Z_DATA_ERROR,de=j.Z_MEM_ERROR,pe=j.Z_BUF_ERROR,me=j.Z_DEFLATED,ve=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function ye(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var we,ge,be=function(e){if(!e||!e.state)return ce;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,fe},ke=function(e){if(!e||!e.state)return ce;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,be(e)},xe=function(e,t){var r;if(!e||!e.state)return ce;var n=e.state;return t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ce:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,ke(e))},_e=function(e,t){if(!e)return ce;var r=new ye;e.state=r,r.window=null;var n=xe(e,t);return n!==fe&&(e.state=null),n},Ae=!0,Pe=function(e){if(Ae){we=new Int32Array(512),ge=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ie(1,e.lens,0,288,we,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ie(2,e.lens,0,32,ge,0,e.work,{bits:5}),Ae=!1}e.lencode=we,e.lenbits=9,e.distcode=ge,e.distbits=5},Ie=function(e,t,r,n){var i,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(r-a.wsize,r),0),a.wnext=0,a.whave=a.wsize):((i=a.wsize-a.wnext)>n&&(i=n),a.window.set(t.subarray(r-n,r-n+i),a.wnext),(n-=i)?(a.window.set(t.subarray(r-n,r),0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,r.check=F(r.check,U,2,0),l=0,u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",r.mode=30;break}if((15&l)!==me){e.msg="unknown compression method",r.mode=30;break}if(u-=4,x=8+(15&(l>>>=4)),0===r.wbits)r.wbits=x;else if(x>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(U[0]=255&l,U[1]=l>>>8&255,r.check=F(r.check,U,2,0)),l=0,u=0,r.mode=3;case 3:for(;u<32;){if(0===s)break e;s--,l+=n[a++]<>>8&255,U[2]=l>>>16&255,U[3]=l>>>24&255,r.check=F(r.check,U,4,0)),l=0,u=0,r.mode=4;case 4:for(;u<16;){if(0===s)break e;s--,l+=n[a++]<>8),512&r.flags&&(U[0]=255&l,U[1]=l>>>8&255,r.check=F(r.check,U,2,0)),l=0,u=0,r.mode=5;case 5:if(1024&r.flags){for(;u<16;){if(0===s)break e;s--,l+=n[a++]<>>8&255,r.check=F(r.check,U,2,0)),l=0,u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&((d=r.length)>s&&(d=s),d&&(r.head&&(x=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(n.subarray(a,a+d),x)),512&r.flags&&(r.check=F(r.check,n,d,a)),s-=d,a+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===s)break e;d=0;do{x=n[a+d++],r.head&&x&&r.length<65536&&(r.head.name+=String.fromCharCode(x))}while(x&&d>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;u<32;){if(0===s)break e;s--,l+=n[a++]<>>=7&u,u-=7&u,r.mode=27;break}for(;u<3;){if(0===s)break e;s--,l+=n[a++]<>>=1)){case 0:r.mode=14;break;case 1:if(Pe(r),r.mode=20,t===se){l>>>=2,u-=2;break e}break;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}l>>>=2,u-=2;break;case 14:for(l>>>=7&u,u-=7&u;u<32;){if(0===s)break e;s--,l+=n[a++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&l,l=0,u=0,r.mode=15,t===se)break e;case 15:r.mode=16;case 16:if(d=r.length){if(d>s&&(d=s),d>f&&(d=f),0===d)break e;i.set(n.subarray(a,a+d),o),s-=d,a+=d,f-=d,o+=d,r.length-=d;break}r.mode=12;break;case 17:for(;u<14;){if(0===s)break e;s--,l+=n[a++]<>>=5,u-=5,r.ndist=1+(31&l),l>>>=5,u-=5,r.ncode=4+(15&l),l>>>=4,u-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[S[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,A={bits:r.lenbits},_=ie(0,r.lens,0,19,r.lencode,0,r.work,A),r.lenbits=A.bits,_){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,w=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>>=v,u-=v,r.lens[r.have++]=w;else{if(16===w){for(P=v+2;u>>=v,u-=v,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}x=r.lens[r.have-1],d=3+(3&l),l>>>=2,u-=2}else if(17===w){for(P=v+3;u>>=v)),l>>>=3,u-=3}else{for(P=v+7;u>>=v)),l>>>=7,u-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=x}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,A={bits:r.lenbits},_=ie(1,r.lens,0,r.nlen,r.lencode,0,r.work,A),r.lenbits=A.bits,_){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,A={bits:r.distbits},_=ie(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,A),r.distbits=A.bits,_){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,t===se)break e;case 20:r.mode=21;case 21:if(s>=6&&f>=258){e.next_out=o,e.avail_out=f,e.next_in=a,e.avail_in=s,r.hold=l,r.bits=u,$(e,h),o=e.next_out,i=e.output,f=e.avail_out,a=e.next_in,n=e.input,s=e.avail_in,l=r.hold,u=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;y=(I=r.lencode[l&(1<>>16&255,w=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>g)])>>>16&255,w=65535&I,!(g+(v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>>=g,u-=g,r.back+=g}if(l>>>=v,u-=v,r.back+=v,r.length=w,0===y){r.mode=26;break}if(32&y){r.back=-1,r.mode=12;break}if(64&y){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&y,r.mode=22;case 22:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;y=(I=r.distcode[l&(1<>>16&255,w=65535&I,!((v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>g)])>>>16&255,w=65535&I,!(g+(v=I>>>24)<=u);){if(0===s)break e;s--,l+=n[a++]<>>=g,u-=g,r.back+=g}if(l>>>=v,u-=v,r.back+=v,64&y){e.msg="invalid distance code",r.mode=30;break}r.offset=w,r.extra=15&y,r.mode=24;case 24:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===f)break e;if(d=h-f,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}d>r.wnext?(d-=r.wnext,p=r.wsize-d):p=r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=o-r.offset,d=r.length;d>f&&(d=f),f-=d,r.length-=d;do{i[o++]=m[p++]}while(--d);0===r.length&&(r.mode=21);break;case 26:if(0===f)break e;i[o++]=r.length,f--,r.mode=21;break;case 27:if(r.wrap){for(;u<32;){if(0===s)break e;s--,l|=n[a++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Q,this.strm.avail_out=0;var r=Ue.inflateInit2(this.strm,t.windowBits);if(r!==Be)throw new Error(z[r]);if(this.header=new Se,Ue.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=W(t.dictionary):"[object ArrayBuffer]"===Te.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(r=Ue.inflateSetDictionary(this.strm,t.dictionary))!==Be))throw new Error(z[r])}function Ge(e,t){var r=new Ve(t);if(r.push(e),r.err)throw r.msg||z[r.err];return r.result}Ve.prototype.push=function(e,t){var r,n,i,a=this.strm,o=this.options.chunkSize,s=this.options.dictionary;if(this.ended)return!1;for(n=t===~~t?t:!0===t?Ee:De,"[object ArrayBuffer]"===Te.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(o),a.next_out=0,a.avail_out=o),(r=Ue.inflate(a,n))===Me&&s&&((r=Ue.inflateSetDictionary(a,s))===Be?r=Ue.inflate(a,n):r===Le&&(r=Me));a.avail_in>0&&r===Oe&&a.state.wrap>0&&0!==e[a.next_in];)Ue.inflateReset(a),r=Ue.inflate(a,n);switch(r){case Ce:case Le:case Me:case Re:return this.onEnd(r),this.ended=!0,!1}if(i=a.avail_out,a.next_out&&(0===a.avail_out||r===Oe))if("string"===this.options.to){var f=J(a.output,a.next_out),l=a.next_out-f,u=q(a.output,f);a.next_out=l,a.avail_out=o-l,l&&a.output.set(a.output.subarray(f,f+l),0),this.onData(u)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(r!==Be||0!==i){if(r===Oe)return r=Ue.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},Ve.prototype.onData=function(e){this.chunks.push(e)},Ve.prototype.onEnd=function(e){e===Be&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=K(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Fe={Inflate:Ve,inflate:Ge,inflateRaw:function(e,t){return(t=t||{}).raw=!0,Ge(e,t)},ungzip:Ge,constants:j}.inflate;function ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var je=function(e){p(r,b);var t=ze(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){return Fe(new Uint8Array(e)).buffer}}]),r}(),Ne=Object.freeze({__proto__:null,default:je});function Ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,n=v(e);if(t){var i=v(this).constructor;r=Reflect.construct(n,arguments,i)}else r=n.apply(this,arguments);return m(this,r)}}var Ke,He=function(e){p(r,b);var t=Ze(r);function r(){return u(this,r),t.apply(this,arguments)}return h(r,[{key:"decodeBlock",value:function(e){for(var t=new DataView(e),r=[],n=0;n>3],I<<=7&U),v=0;v>3]),128&I?(f&&(f[U]=1),m=m>(o=T.encoding<2?_[A++]:P)?o:m,s[U++]=o):(f&&(f[U]=0),s[U++]=n),I<<=1;U+=S}else if(T.encoding<2)for(y=0;y(o=_[A++])?o:m,s[U++]=o;U+=S}else for(m=m>P?P:m,y=0;y0){var o=new Uint8Array(Math.ceil(n.width*n.height/8)),s=(a=new DataView(e,t,n.mask.numBytes)).getInt16(0,!0),f=2,l=0;do{if(s>0)for(;s--;)o[l++]=a.getUint8(f++);else{var u=a.getUint8(f++);for(s=-s;s--;)o[l++]=u}s=a.getInt16(f,!0),f+=2}while(f0?1:0),p=h+(n.height%h>0?1:0);n.pixels.blocks=new Array(d*p);for(var m=0,v=0;v3)throw"Invalid block encoding ("+b.encoding+")";if(2!==b.encoding){if(0!==k&&2!==k){if(k>>=6,b.offsetType=k,2===k)b.offset=a.getInt8(1),w++;else if(1===k)b.offset=a.getInt16(1,!0),w+=2;else{if(0!==k)throw"Invalid block offset type";b.offset=a.getFloat32(1,!0),w+=4}if(1===b.encoding)if(k=a.getUint8(w),w++,b.bitsPerPixel=63&k,k>>=6,b.numValidPixelsType=k,2===k)b.numValidPixels=a.getUint8(w),w++;else if(1===k)b.numValidPixels=a.getUint16(w,!0),w+=2;else{if(0!==k)throw"Invalid valid pixel count type";b.numValidPixels=a.getUint32(w,!0),w+=4}}var x;if(t+=w,3!==b.encoding)if(0===b.encoding){var _=(n.pixels.numBytes-1)/4;if(_!==Math.floor(_))throw"uncompressed block has invalid length";x=new ArrayBuffer(4*_),new Uint8Array(x).set(new Uint8Array(e,t,4*_));var A=new Float32Array(x);b.rawData=A,t+=4*_}else if(1===b.encoding){var P=Math.ceil(b.numValidPixels*b.bitsPerPixel/8),I=Math.ceil(P/4);x=new ArrayBuffer(4*I),new Uint8Array(x).set(new Uint8Array(e,t,P)),b.stuffedData=new Uint32Array(x),t+=P}}else t++}return n.eofOffset=t,n},a=function(e,t,r,n,i,a,o){var s,f,l,u=(1<=t)f=l>>>h-t&u,h-=t;else{var m=t-h;f=(l&u)<>>(h=32-m)}a[s]=f=r?(l=u>>>m-r&d,m-=r):(l=(u&d)<<(c=r-m)&d,l+=(u=e[p++])>>>(m=32-c)),t[f]=i[l];else for(h=Math.ceil((s-a)/o),f=0;f=r?(l=u>>>m-r&d,m-=r):(l=(u&d)<<(c=r-m)&d,l+=(u=e[p++])>>>(m=32-c)),t[f]=l=t?(h=o>>>c-t&s,c-=t):(h=(o&s)<<(u=t-c)&s,h+=(o=e[f++])>>>(c=32-u)),d[l]=h=r?(l=u>>>m&h,p-=r,m+=r):(l=u>>>m&h,p=32-(c=r-p),l|=((u=e[d++])&(1<=r?(l=u>>>m&h,p-=r,m+=r):(l=u>>>m&h,p=32-(c=r-p),l|=((u=e[d++])&(1<=t?(h=o>>>d&s,c-=t,d+=t):(h=o>>>d&s,c=32-(u=t-c),h|=((o=e[f++])&(1<=r?(a=o>>>u-r&f,u-=r):(a=(o&f)<<(s=r-u)&f,a+=(o=e[l++])>>>(u=32-s)),t[i]=a;return t},c=function(e,t,r,n){var i,a,o,s,f=(1<=r?(a=o>>>c&f,u-=r,c+=r):(a=o>>>c&f,u=32-(s=r-u),a|=((o=e[l++])&(1<=359?359:i;i-=o;do{t+=e[a++]<<8,r+=t+=e[a++]}while(--o);t=(65535&t)+(t>>>16),r=(65535&r)+(r>>>16)}return 1&n&&(r+=t+=e[a]<<8),((r=(65535&r)+(r>>>16))<<16|(t=(65535&t)+(t>>>16)))>>>0},readHeaderInfo:function(e,t){var r=t.ptr,n=new Uint8Array(e,r,6),i={};if(i.fileIdentifierString=String.fromCharCode.apply(null,n),0!==i.fileIdentifierString.lastIndexOf("Lerc2",0))throw"Unexpected file identifier string (expect Lerc2 ): "+i.fileIdentifierString;r+=6;var a,o=new DataView(e,r,8),s=o.getInt32(0,!0);if(i.fileVersion=s,r+=4,s>=3&&(i.checksum=o.getUint32(4,!0),r+=4),o=new DataView(e,r,12),i.height=o.getUint32(0,!0),i.width=o.getUint32(4,!0),r+=8,s>=4?(i.numDims=o.getUint32(8,!0),r+=4):i.numDims=1,o=new DataView(e,r,40),i.numValidPixel=o.getUint32(0,!0),i.microBlockSize=o.getInt32(4,!0),i.blobSize=o.getInt32(8,!0),i.imageType=o.getInt32(12,!0),i.maxZError=o.getFloat64(16,!0),i.zMin=o.getFloat64(24,!0),i.zMax=o.getFloat64(32,!0),r+=40,t.headerInfo=i,t.ptr=r,s>=3&&(a=s>=4?52:48,this.computeChecksumFletcher32(new Uint8Array(e,r-a,i.blobSize-14))!==i.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(e,t){var r=t.headerInfo,n=this.getDataTypeArray(r.imageType),i=r.numDims*this.getDataTypeSize(r.imageType),a=this.readSubArray(e,t.ptr,n,i),o=this.readSubArray(e,t.ptr+i,n,i);t.ptr+=2*i;var s,f=!0;for(s=0;s0){r=new Uint8Array(Math.ceil(o/8));var u=(f=new DataView(e,i,l.numBytes)).getInt16(0,!0),c=2,h=0,d=0;do{if(u>0)for(;u--;)r[h++]=f.getUint8(c++);else for(d=f.getUint8(c++),u=-u;u--;)r[h++]=d;u=f.getInt16(c,!0),c+=2}while(c>3],p<<=7&m):p=r[m>>3],128&p&&(n[m]=1);t.pixels.resultMask=n,l.bitset=r,i+=l.numBytes}return t.ptr=i,t.mask=l,!0},readDataOneSweep:function(e,t,r,n){var i,a=t.ptr,o=t.headerInfo,s=o.numDims,f=o.width*o.height,l=o.imageType,u=o.numValidPixel*h.getDataTypeSize(l)*s,c=t.pixels.resultMask;if(r===Uint8Array)i=new Uint8Array(e,a,u);else{var d=new ArrayBuffer(u);new Uint8Array(d).set(new Uint8Array(e,a,u)),i=new r(d)}if(i.length===f*s)t.pixels.resultPixels=n?h.swapDimensionOrder(i,f,s,r,!0):i;else{t.pixels.resultPixels=new r(f*s);var p=0,m=0,v=0,y=0;if(s>1){if(n){for(m=0;m=o)return!1;var s=new Uint32Array(o-a);h.decodeBits(e,t,s);var f,l,u,c,p=[];for(f=a;f0&&(p[l].second=w<>>32-c,32-b>=c?32===(b+=c)&&(b=0,w=g[++k]):(b+=c-32,w=g[++k],p[l].second|=w>>>32-b));var x=0,_=0,A=new d;for(f=0;f=r?r:x;var P,I,U,S,T,D=[];for(f=a;f0)if(P=[c,l],c<=_)for(I=p[l].second<<_-c,U=1<<_-c,u=0;u=0;S--)I>>>S&1?(T.right||(T.right=new d),T=T.right):(T.left||(T.left=new d),T=T.left),0!==S||T.val||(T.val=P[1]);return{decodeLut:D,numBitsLUTQick:_,numBitsLUT:x,tree:A,stuffedData:g,srcPtr:k,bitPos:b}},readHuffman:function(e,t,r,n){var i,a,o,s,f,l,u,c,d,p=t.headerInfo.numDims,m=t.headerInfo.height,v=t.headerInfo.width,y=v*m,w=this.readHuffmanTree(e,t),g=w.decodeLut,b=w.tree,k=w.stuffedData,x=w.srcPtr,_=w.bitPos,A=w.numBitsLUTQick,P=w.numBitsLUT,I=0===t.headerInfo.imageType?128:0,U=t.pixels.resultMask,S=0;_>0&&(x++,_=0);var T,D=k[x],E=1===t.encodeMode,B=new r(y*p),O=B;if(p<2||E){for(T=0;T1&&(O=new r(B.buffer,y*T,y),S=0),t.headerInfo.numValidPixel===v*m)for(c=0,l=0;l>>32-A,32-_>>64-_-A),g[f])a=g[f][1],_+=g[f][0];else for(f=s=D<<_>>>32-P,32-_>>64-_-P),i=b,d=0;d>>P-d-1&1?i.right:i.left).left&&!i.right){a=i.val,_=_+d+1;break}_>=32&&(_-=32,D=k[++x]),o=a-I,E?(o+=u>0?S:l>0?O[c-v]:S,o&=255,O[c]=o,S=o):O[c]=o}else for(c=0,l=0;l>>32-A,32-_>>64-_-A),g[f])a=g[f][1],_+=g[f][0];else for(f=s=D<<_>>>32-P,32-_>>64-_-P),i=b,d=0;d>>P-d-1&1?i.right:i.left).left&&!i.right){a=i.val,_=_+d+1;break}_>=32&&(_-=32,D=k[++x]),o=a-I,E?(u>0&&U[c-1]?o+=S:l>0&&U[c-v]?o+=O[c-v]:o+=S,o&=255,O[c]=o,S=o):O[c]=o}}else for(c=0,l=0;l>>32-A,32-_>>64-_-A),g[f])a=g[f][1],_+=g[f][0];else for(f=s=D<<_>>>32-P,32-_>>64-_-P),i=b,d=0;d>>P-d-1&1?i.right:i.left).left&&!i.right){a=i.val,_=_+d+1;break}_>=32&&(_-=32,D=k[++x]),o=a-I,O[c]=o}t.ptr=t.ptr+4*(x+1)+(_>0?4:0),t.pixels.resultPixels=B,p>1&&!n&&(t.pixels.resultPixels=h.swapDimensionOrder(B,y,p,r))},decodeBits:function(e,t,r,n,i){var a=t.headerInfo,h=a.fileVersion,d=0,p=e.byteLength-t.ptr>=5?5:e.byteLength-t.ptr,m=new DataView(e,t.ptr,p),v=m.getUint8(0);d++;var y=v>>6,w=0===y?4:3-y,g=(32&v)>0,b=31&v,k=0;if(1===w)k=m.getUint8(d),d++;else if(2===w)k=m.getUint16(d,!0),d+=2;else{if(4!==w)throw"Invalid valid pixel count type";k=m.getUint32(d,!0),d+=4}var x,_,A,P,I,U,S,T,D,E=2*a.maxZError,B=a.numDims>1?a.maxValues[i]:a.zMax;if(g){for(t.counter.lut++,T=m.getUint8(d),d++,P=Math.ceil((T-1)*b/8),I=Math.ceil(P/4),_=new ArrayBuffer(4*I),A=new Uint8Array(_),t.ptr+=d,A.set(new Uint8Array(e,t.ptr,P)),S=new Uint32Array(_),t.ptr+=P,D=0;T-1>>>D;)D++;P=Math.ceil(k*D/8),I=Math.ceil(P/4),_=new ArrayBuffer(4*I),(A=new Uint8Array(_)).set(new Uint8Array(e,t.ptr,P)),x=new Uint32Array(_),t.ptr+=P,U=h>=3?l(S,b,T-1,n,E,B):s(S,b,T-1,n,E,B),h>=3?f(x,r,D,k,U):o(x,r,D,k,U)}else t.counter.bitstuffer++,D=b,t.ptr+=d,D>0&&(P=Math.ceil(k*D/8),I=Math.ceil(P/4),_=new ArrayBuffer(4*I),(A=new Uint8Array(_)).set(new Uint8Array(e,t.ptr,P)),x=new Uint32Array(_),t.ptr+=P,h>=3?null==n?c(x,r,D,k):f(x,r,D,k,!1,n,E,B):null==n?u(x,r,D,k):o(x,r,D,k,!1,n,E,B))},readTiles:function(e,t,r,n){var i=t.headerInfo,a=i.width,o=i.height,s=a*o,f=i.microBlockSize,l=i.imageType,u=h.getDataTypeSize(l),c=Math.ceil(a/f),d=Math.ceil(o/f);t.pixels.numBlocksY=d,t.pixels.numBlocksX=c,t.pixels.ptr=0;var p,m,v,y,w,g,b,k,x,_,A=0,P=0,I=0,U=0,S=0,T=0,D=0,E=0,B=0,O=0,M=0,C=0,L=0,R=0,V=0,G=new r(f*f),F=o%f||f,z=a%f||f,j=i.numDims,N=t.pixels.resultMask,Z=t.pixels.resultPixels,K=i.fileVersion>=5?14:15,H=i.zMax;for(I=0;I1?(_=Z,O=I*a*f+U*f,Z=new r(t.pixels.resultPixels.buffer,s*k*u,s),H=i.maxValues[k]):_=null,D=e.byteLength-t.ptr,m={},V=0,E=(p=new DataView(e,t.ptr,Math.min(10,D))).getUint8(0),V++,x=i.fileVersion>=5?4&E:0,B=E>>6&255,(E>>2&K)!=(U*f>>3&K))throw"integrity issue";if(x&&0===k)throw"integrity issue";if((w=3&E)>3)throw t.ptr+=V,"Invalid block encoding ("+w+")";if(2!==w)if(0===w){if(x)throw"integrity issue";if(t.counter.uncompressed++,t.ptr+=V,C=(C=S*T*u)<(L=e.byteLength-t.ptr)?C:L,v=new ArrayBuffer(C%u==0?C:C+u-C%u),new Uint8Array(v).set(new Uint8Array(e,t.ptr,C)),y=new r(v),R=0,N)for(A=0;A1&&!n&&(t.pixels.resultPixels=h.swapDimensionOrder(t.pixels.resultPixels,s,j,r))},formatFileInfo:function(e){return{fileIdentifierString:e.headerInfo.fileIdentifierString,fileVersion:e.headerInfo.fileVersion,imageType:e.headerInfo.imageType,height:e.headerInfo.height,width:e.headerInfo.width,numValidPixel:e.headerInfo.numValidPixel,microBlockSize:e.headerInfo.microBlockSize,blobSize:e.headerInfo.blobSize,maxZError:e.headerInfo.maxZError,pixelType:h.getPixelType(e.headerInfo.imageType),eofOffset:e.eofOffset,mask:e.mask?{numBytes:e.mask.numBytes}:null,pixels:{numBlocksX:e.pixels.numBlocksX,numBlocksY:e.pixels.numBlocksY,maxValue:e.headerInfo.zMax,minValue:e.headerInfo.zMin,noDataValue:e.noDataValue}}},constructConstantSurface:function(e,t){var r=e.headerInfo.zMax,n=e.headerInfo.zMin,i=e.headerInfo.maxValues,a=e.headerInfo.numDims,o=e.headerInfo.height*e.headerInfo.width,s=0,f=0,l=0,u=e.pixels.resultMask,c=e.pixels.resultPixels;if(u)if(a>1){if(t)for(s=0;s1&&n!==r)if(t)for(s=0;s=-128&&t<=127;break;case 1:r=t>=0&&t<=255;break;case 2:r=t>=-32768&&t<=32767;break;case 3:r=t>=0&&t<=65536;break;case 4:r=t>=-2147483648&&t<=2147483647;break;case 5:r=t>=0&&t<=4294967296;break;case 6:r=t>=-34027999387901484e22&&t<=34027999387901484e22;break;case 7:r=t>=-17976931348623157e292&&t<=17976931348623157e292;break;default:r=!1}return r},getDataTypeSize:function(e){var t=0;switch(e){case 0:case 1:t=1;break;case 2:case 3:t=2;break;case 4:case 5:case 6:t=4;break;case 7:t=8;break;default:t=e}return t},getDataTypeUsed:function(e,t){var r=e;switch(e){case 2:case 4:r=e-t;break;case 3:case 5:r=e-2*t;break;case 6:r=0===t?e:1===t?2:1;break;case 7:r=0===t?e:e-2*t+1;break;default:r=e}return r},getOnePixel:function(e,t,r,n){var i=0;switch(r){case 0:i=n.getInt8(t);break;case 1:i=n.getUint8(t);break;case 2:i=n.getInt16(t,!0);break;case 3:i=n.getUint16(t,!0);break;case 4:i=n.getInt32(t,!0);break;case 5:i=n.getUInt32(t,!0);break;case 6:i=n.getFloat32(t,!0);break;case 7:i=n.getFloat64(t,!0);break;default:throw"the decoder does not understand this pixel type"}return i},swapDimensionOrder:function(e,t,r,n,i){var a=0,o=0,s=0,f=0,l=e;if(r>1)if(l=new n(t*r),i)for(a=0;a5)throw"unsupported lerc version 2."+o;h.readMask(e,i),a.numValidPixel===a.width*a.height||i.pixels.resultMask||(i.pixels.resultMask=t.maskData);var f=a.width*a.height;i.pixels.resultPixels=new s(f*a.numDims),i.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var l,u=!t.returnPixelInterleavedDims;if(0!==a.numValidPixel)if(a.zMax===a.zMin)h.constructConstantSurface(i,u);else if(o>=4&&h.checkMinMaxRanges(e,i))h.constructConstantSurface(i,u);else{var c=new DataView(e,i.ptr,2),d=c.getUint8(0);if(i.ptr++,d)h.readDataOneSweep(e,i,s,u);else if(o>1&&a.imageType<=1&&Math.abs(a.maxZError-.5)<1e-5){var p=c.getUint8(1);if(i.ptr++,i.encodeMode=p,p>2||o<4&&p>1)throw"Invalid Huffman flag "+p;p?h.readHuffman(e,i,s,u):h.readTiles(e,i,s,u)}else h.readTiles(e,i,s,u)}i.eofOffset=i.ptr,t.inputOffset?(l=i.headerInfo.blobSize+t.inputOffset-i.ptr,Math.abs(l)>=1&&(i.eofOffset=t.inputOffset+i.headerInfo.blobSize)):(l=i.headerInfo.blobSize-i.ptr,Math.abs(l)>=1&&(i.eofOffset=i.headerInfo.blobSize));var m={width:a.width,height:a.height,pixelData:i.pixels.resultPixels,minValue:a.zMin,maxValue:a.zMax,validPixelCount:a.numValidPixel,dimCount:a.numDims,dimStats:{minValues:a.minValues,maxValues:a.maxValues},maskData:i.pixels.resultMask};if(i.pixels.resultMask&&h.isValidPixelValue(a.imageType,r)){var v=i.pixels.resultMask;for(n=0;n1&&(l&&m.push(l),k.fileInfo.mask&&k.fileInfo.mask.numBytes>0&&b++),d++,g.pixels.push(k.pixelData),g.statistics.push({minValue:k.minValue,maxValue:k.maxValue,noDataValue:k.noDataValue,dimStats:k.dimStats})}if(n>1&&b>1){for(h=g.width*g.height,g.bandMasks=m,(l=new Uint8Array(h)).set(m[0]),u=1;u=0;r--)t.push(e[r]);return t}function o(t){const e=new Uint16Array(4093),r=new Uint8Array(4093);for(let t=0;t<=257;t++)e[t]=4096,r[t]=t;let n=258,o=9,a=0;function s(){n=258,o=9}function l(t){const e=function(t,e,r){const n=e%8,i=Math.floor(e/8),o=8-n,a=e+r-8*(i+1);let s=8*(i+2)-(e+r);const l=8*(i+2)-e;if(s=Math.max(0,s),i>=t.length)return console.warn("ran off the end of the buffer before finding EOI_CODE (end on input code)"),257;let u=t[i]&2**(8-n)-1;u<<=r-o;let c=u;if(i+1>>s;e<<=Math.max(0,r-l),c+=e}if(a>8&&i+2>>n}return c}(t,a,o);return a+=o,e}function u(t,i){return r[n]=i,e[n]=t,n++,n-1}function c(t){const n=[];for(let i=t;4096!==i;i=e[i])n.push(r[i]);return n}const h=[];s();const f=new Uint8Array(t);let p,d=l(f);for(;257!==d;){if(256===d){for(s(),d=l(f);256===d;)d=l(f);if(257===d)break;if(d>256)throw new Error("corrupted code at scanline "+d);i(h,c(d)),p=d}else if(d=2**o&&(12===o?p=void 0:o++),d=l(f)}return new Uint8Array(h)}class a extends n.a{decodeBlock(t){return o(t).buffer}}},function(t,e,r){"use strict";r.r(e),r.d(e,"default",(function(){return m}));var n=r(40);const i=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),o=4017,a=799,s=3406,l=2276,u=1567,c=3784,h=5793,f=2896;function p(t,e){let r=0;const n=[];let i=16;for(;i>0&&!t[i-1];)--i;n.push({children:[],index:0});let o,a=n[0];for(let s=0;s0;)a=n.pop();for(a.index++,n.push(a);n.length<=s;)n.push(o={children:[],index:0}),a.children[a.index]=o.children,a=o;r++}s+10)return g--,d>>g&1;if(d=t[p++],255===d){const e=t[p++];if(e)throw new Error("unexpected marker: "+(d<<8|e).toString(16))}return g=7,d>>>7}function m(t){let e,r=t;for(;null!==(e=y());){if(r=r[e],"number"==typeof r)return r;if("object"!=typeof r)throw new Error("invalid huffman sequence")}return null}function _(t){let e=t,r=0;for(;e>0;){const t=y();if(null===t)return;r=r<<1|t,--e}return r}function v(t){const e=_(t);return e>=1<0)return void b--;let r=a;const n=s;for(;r<=n;){const n=m(t.huffmanTableAC),o=15&n,a=n>>4;if(0===o){if(a<15){b=_(a)+(1<>4,0===r)o<15?(b=_(o)+(1<>4;if(0===n){if(a<15)break;o+=16}else o+=a,e[i[o]]=v(n),o++}};let M,A,N=0;A=1===O?n[0].blocksPerLine*n[0].blocksPerColumn:c*r.mcusPerColumn;const k=o||A;for(;N=65488&&M<=65495))break;p+=2}return p-f}function g(t,e){const r=[],{blocksPerLine:n,blocksPerColumn:i}=e,p=n<<3,d=new Int32Array(64),g=new Uint8Array(64);function y(t,r,n){const i=e.quantizationTable;let p,d,g,y,m,_,v,b,x;const w=n;let E;for(E=0;E<64;E++)w[E]=t[E]*i[E];for(E=0;E<8;++E){const t=8*E;0!==w[1+t]||0!==w[2+t]||0!==w[3+t]||0!==w[4+t]||0!==w[5+t]||0!==w[6+t]||0!==w[7+t]?(p=h*w[0+t]+128>>8,d=h*w[4+t]+128>>8,g=w[2+t],y=w[6+t],m=f*(w[1+t]-w[7+t])+128>>8,b=f*(w[1+t]+w[7+t])+128>>8,_=w[3+t]<<4,v=w[5+t]<<4,x=p-d+1>>1,p=p+d+1>>1,d=x,x=g*c+y*u+128>>8,g=g*u-y*c+128>>8,y=x,x=m-v+1>>1,m=m+v+1>>1,v=x,x=b+_+1>>1,_=b-_+1>>1,b=x,x=p-y+1>>1,p=p+y+1>>1,y=x,x=d-g+1>>1,d=d+g+1>>1,g=x,x=m*l+b*s+2048>>12,m=m*s-b*l+2048>>12,b=x,x=_*a+v*o+2048>>12,_=_*o-v*a+2048>>12,v=x,w[0+t]=p+b,w[7+t]=p-b,w[1+t]=d+v,w[6+t]=d-v,w[2+t]=g+_,w[5+t]=g-_,w[3+t]=y+m,w[4+t]=y-m):(x=h*w[0+t]+512>>10,w[0+t]=x,w[1+t]=x,w[2+t]=x,w[3+t]=x,w[4+t]=x,w[5+t]=x,w[6+t]=x,w[7+t]=x)}for(E=0;E<8;++E){const t=E;0!==w[8+t]||0!==w[16+t]||0!==w[24+t]||0!==w[32+t]||0!==w[40+t]||0!==w[48+t]||0!==w[56+t]?(p=h*w[0+t]+2048>>12,d=h*w[32+t]+2048>>12,g=w[16+t],y=w[48+t],m=f*(w[8+t]-w[56+t])+2048>>12,b=f*(w[8+t]+w[56+t])+2048>>12,_=w[24+t],v=w[40+t],x=p-d+1>>1,p=p+d+1>>1,d=x,x=g*c+y*u+2048>>12,g=g*u-y*c+2048>>12,y=x,x=m-v+1>>1,m=m+v+1>>1,v=x,x=b+_+1>>1,_=b-_+1>>1,b=x,x=p-y+1>>1,p=p+y+1>>1,y=x,x=d-g+1>>1,d=d+g+1>>1,g=x,x=m*l+b*s+2048>>12,m=m*s-b*l+2048>>12,b=x,x=_*a+v*o+2048>>12,_=_*o-v*a+2048>>12,v=x,w[0+t]=p+b,w[56+t]=p-b,w[8+t]=d+v,w[48+t]=d-v,w[16+t]=g+_,w[40+t]=g-_,w[24+t]=y+m,w[32+t]=y-m):(x=h*n[E+0]+8192>>14,w[0+t]=x,w[8+t]=x,w[16+t]=x,w[24+t]=x,w[32+t]=x,w[40+t]=x,w[48+t]=x,w[56+t]=x)}for(E=0;E<64;++E){const t=128+(w[E]+8>>4);r[E]=t<0?0:t>255?255:t}}for(let t=0;t>4==0)for(let r=0;r<64;r++){o[i[r]]=t[e++]}else{if(n>>4!=1)throw new Error("DQT: invalid table spec");for(let t=0;t<64;t++){o[i[t]]=r()}}this.quantizationTables[15&n]=o}break}case 65472:case 65473:case 65474:{r();const n={extended:65473===a,progressive:65474===a,precision:t[e++],scanLines:r(),samplesPerLine:r(),components:{},componentsOrder:[]},i=t[e++];let s;for(let r=0;r>4,i=15&t[e+1],o=t[e+2];n.componentsOrder.push(s),n.components[s]={h:r,v:i,quantizationIdx:o},e+=3}o(n),this.frames.push(n);break}case 65476:{const n=r();for(let r=2;r>4==0?this.huffmanTablesDC[15&n]=p(i,a):this.huffmanTablesAC[15&n]=p(i,a)}break}case 65501:r(),this.resetInterval=r();break;case 65498:{r();const n=t[e++],i=[],o=this.frames[0];for(let r=0;r>4],r.huffmanTableAC=this.huffmanTablesAC[15&n],i.push(r)}const a=t[e++],s=t[e++],l=t[e++],u=d(t,e,o,i,this.resetInterval,a,s,l>>4,15&l);e+=u;break}case 65535:255!==t[e]&&e--;break;default:if(255===t[e-3]&&t[e-2]>=192&&t[e-2]<=254){e-=3;break}throw new Error("unknown JPEG marker "+a.toString(16))}a=r()}}getResult(){const{frames:t}=this;if(0===this.frames.length)throw new Error("no frames were decoded");this.frames.length>1&&console.warn("more than one frame is not supported");for(let t=0;t