rails_accordion 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +13 -12
- data/README.md +6 -52
- data/app/assets/config/rails_accordion_manifest.js +1 -0
- data/app/helpers/rails_accordion/application_helper.rb +15 -0
- data/app/views/rails_accordion/_assets.html.erb +2 -0
- data/bin/rails +0 -1
- data/lib/rails_accordion/engine.rb +17 -0
- data/lib/rails_accordion.rb +2 -26
- data/lib/tasks/rails_accordion_tasks.rake +7 -4
- metadata +6 -5
- data/vendor/assets/javascripts/rails_accordion.js +0 -19707
- data/vendor/assets/javascripts/rails_accordion.js.map +0 -7
- data/vendor/assets/stylesheets/rails_accordion.css +0 -534
@@ -1,7 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"version": 3,
|
3
|
-
"sources": ["../../../node_modules/mapkick/dist/mapkick.bundle.js", "../../../node_modules/@hotwired/stimulus/dist/stimulus.js", "../../javascript/controllers/accordion_controller.js", "../../javascript/rails_accordion.js"],
|
4
|
-
"sourcesContent": ["/*\n * This bundle includes:\n *\n * Mapkick.js v0.2.5\n * https://github.com/ankane/mapkick.js\n * MIT License\n *\n * @mapbox/geojson-rewind v0.5.0\n * https://github.com/mapbox/geojson-rewind\n * ISC License\n *\n * @mapbox/geojson-types v1.0.2\n * https://github.com/mapbox/geojson-types\n * ISC License\n *\n * @mapbox/jsonlint-lines-primitives v2.0.2\n * https://github.com/mapbox/jsonlint\n * MIT License\n *\n * @mapbox/mapbox-gl-supported v1.5.0\n * https://github.com/mapbox/mapbox-gl-supported\n * BSD-3-Clause License\n *\n * @mapbox/point-geometry v0.1.0\n * https://github.com/mapbox/point-geometry\n * ISC License\n *\n * @mapbox/tiny-sdf v1.1.1\n * https://github.com/mapbox/tiny-sdf\n * BSD-2-Clause License\n *\n * @mapbox/unitbezier v0.0.0\n * https://github.com/mapbox/unitbezier\n * BSD-2-Clause License\n *\n * @mapbox/vector-tile v1.3.1\n * https://github.com/mapbox/vector-tile-js\n * BSD-3-Clause License\n *\n * @mapbox/whoots-js v3.1.0\n * https://github.com/mapbox/whoots-js\n * ISC License\n *\n * buffer-from v1.1.1\n * https://github.com/LinusU/buffer-from\n * MIT License\n *\n * concat-stream v2.0.0\n * https://github.com/maxogden/concat-stream\n * MIT License\n *\n * csscolorparser v1.0.3\n * https://github.com/deanm/css-color-parser-js\n * MIT License\n *\n * earcut v2.2.2\n * https://github.com/mapbox/earcut\n * ISC License\n *\n * geojson-vt v3.2.1\n * https://github.com/mapbox/geojson-vt\n * ISC License\n *\n * gl-matrix v3.2.1\n * https://github.com/toji/gl-matrix\n * MIT License\n *\n * grid-index v1.1.0\n * https://github.com/mapbox/grid-index\n * ISC License\n *\n * ieee754 v1.1.13\n * https://github.com/feross/ieee754\n * BSD-3-Clause License\n *\n * inherits v2.0.4\n * https://github.com/isaacs/inherits\n * ISC License\n *\n * kdbush v3.0.0\n * https://github.com/mourner/kdbush\n * ISC License\n *\n * mapbox-gl v1.13.3\n * https://github.com/mapbox/mapbox-gl-js\n * BSD-3-Clause License\n *\n * minimist v1.2.5\n * https://github.com/substack/minimist\n * MIT License\n *\n * murmurhash-js v1.0.0\n * https://github.com/mikolalysenko/murmurhash-js\n * MIT License\n *\n * pbf v3.2.1\n * https://github.com/mapbox/pbf\n * BSD-3-Clause License\n *\n * potpack v1.0.1\n * https://github.com/mapbox/potpack\n * ISC License\n *\n * protocol-buffers-schema v3.4.0\n * https://github.com/mafintosh/protocol-buffers-schema\n * MIT License\n *\n * quickselect v2.0.0\n * https://github.com/mourner/quickselect\n * ISC License\n *\n * readable-stream v3.6.0\n * https://github.com/nodejs/readable-stream\n * MIT License\n *\n * resolve-protobuf-schema v2.1.0\n * https://github.com/mafintosh/resolve-protobuf-schema\n * MIT License\n *\n * rw v1.3.3\n * https://github.com/mbostock/rw\n * BSD-3-Clause License\n *\n * safe-buffer v5.2.0\n * https://github.com/feross/safe-buffer\n * MIT License\n *\n * string_decoder v1.3.0\n * https://github.com/nodejs/string_decoder\n * MIT License\n *\n * supercluster v7.1.0\n * https://github.com/mapbox/supercluster\n * ISC License\n *\n * tinyqueue v2.0.3\n * https://github.com/mourner/tinyqueue\n * ISC License\n *\n * typedarray v0.0.6\n * https://github.com/substack/typedarray\n * MIT License\n *\n * util-deprecate v1.0.2\n * https://github.com/TooTallNate/util-deprecate\n * MIT License\n *\n * vt-pbf v3.1.1\n * https://github.com/mapbox/vt-pbf\n * MIT License\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Mapkick = factory());\n})(this, (function () { 'use strict';\n\n function styleInject(css, ref) {\n if ( ref === void 0 ) { ref = {}; }\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n }\n\n var css_248z = \".mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mapboxgl-canvas{position:absolute;left:0;top:0}.mapboxgl-map:-webkit-full-screen{width:100%;height:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{position:absolute;pointer-events:none;z-index:2}.mapboxgl-ctrl-top-left{top:0;left:0}.mapboxgl-ctrl-top-right{top:0;right:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{right:0;bottom:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{margin:10px 0 0 10px;float:left}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{margin:10px 10px 0 0;float:right}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{margin:0 0 10px 10px;float:left}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{margin:0 10px 10px 0;float:right}.mapboxgl-ctrl-group{border-radius:4px;background:#fff}.mapboxgl-ctrl-group:not(:empty){-moz-box-shadow:0 0 2px rgba(0,0,0,.1);-webkit-box-shadow:0 0 2px rgba(0,0,0,.1);box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{width:29px;height:29px;display:block;padding:0;outline:none;border:0;box-sizing:border-box;background-color:transparent;cursor:pointer}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{display:block;width:100%;height:100%;background-repeat:no-repeat;background-position:50%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl button::-moz-focus-inner{border:0;padding:0}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:focus:only-child{border-radius:inherit}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{-webkit-animation:mapboxgl-spin 2s linear infinite;-moz-animation:mapboxgl-spin 2s infinite linear;-o-animation:mapboxgl-spin 2s infinite linear;-ms-animation:mapboxgl-spin 2s infinite linear;animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 005.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 009 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 003.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0011 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 110 7 3.5 3.5 0 110-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='M14 5l1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}}@-webkit-keyframes mapboxgl-spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@-moz-keyframes mapboxgl-spin{0%{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(1turn)}}@-o-keyframes mapboxgl-spin{0%{-o-transform:rotate(0deg)}to{-o-transform:rotate(1turn)}}@-ms-keyframes mapboxgl-spin{0%{-ms-transform:rotate(0deg)}to{-ms-transform:rotate(1turn)}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{width:88px;height:23px;margin:0 0 -4px -4px;display:block;background-repeat:no-repeat;cursor:pointer;overflow:hidden;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\\\")}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='88' height='23' viewBox='0 0 88 23' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{padding:0 5px;background-color:hsla(0,0%,100%,.5);margin:0}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:20px;padding:2px 24px 2px 0;margin:10px;position:relative;background-color:#fff;border-radius:12px}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 8px 2px 28px;border-radius:12px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{display:none;cursor:pointer;position:absolute;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1012 0 6 6 0 10-12 0m5-3a1 1 0 102 0 1 1 0 10-2 0m0 3a1 1 0 112 0v3a1 1 0 11-2 0'/%3E%3C/svg%3E\\\");background-color:hsla(0,0%,100%,.5);width:24px;height:24px;box-sizing:border-box;border-radius:12px;outline:none;top:0;right:0;border:0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;right:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;left:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1012 0 6 6 0 10-12 0m5-3a1 1 0 102 0 1 1 0 10-2 0m0 3a1 1 0 112 0v3a1 1 0 11-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1012 0 6 6 0 10-12 0m5-3a1 1 0 102 0 1 1 0 10-2 0m0 3a1 1 0 112 0v3a1 1 0 11-2 0'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);font-size:10px;border:2px solid #333;border-top:#333;padding:0 5px;color:#333;box-sizing:border-box}.mapboxgl-popup{position:absolute;top:0;left:0;display:-webkit-flex;display:flex;will-change:transform;pointer-events:none}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{-webkit-flex-direction:column;flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{-webkit-flex-direction:column-reverse;flex-direction:column-reverse}.mapboxgl-popup-anchor-left{-webkit-flex-direction:row;flex-direction:row}.mapboxgl-popup-anchor-right{-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.mapboxgl-popup-tip{width:0;height:0;border:10px solid transparent;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{-webkit-align-self:center;align-self:center;border-top:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{-webkit-align-self:flex-start;align-self:flex-start;border-top:none;border-left:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{-webkit-align-self:flex-end;align-self:flex-end;border-top:none;border-right:none;border-bottom-color:#fff}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{-webkit-align-self:center;align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{-webkit-align-self:flex-start;align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{-webkit-align-self:flex-end;align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{-webkit-align-self:center;align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{-webkit-align-self:center;align-self:center;border-right:none;border-left-color:#fff}.mapboxgl-popup-close-button{position:absolute;right:0;top:0;border:0;border-radius:0 3px 0 0;cursor:pointer;background-color:transparent}.mapboxgl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.mapboxgl-popup-content{position:relative;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{position:absolute;top:0;left:0;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;width:15px;height:15px;border-radius:50%}.mapboxgl-user-location-dot:before{content:\\\"\\\";position:absolute;-webkit-animation:mapboxgl-user-location-dot-pulse 2s infinite;-moz-animation:mapboxgl-user-location-dot-pulse 2s infinite;-ms-animation:mapboxgl-user-location-dot-pulse 2s infinite;animation:mapboxgl-user-location-dot-pulse 2s infinite}.mapboxgl-user-location-dot:after{border-radius:50%;border:2px solid #fff;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px;box-sizing:border-box;box-shadow:0 0 3px rgba(0,0,0,.35)}@-webkit-keyframes mapboxgl-user-location-dot-pulse{0%{-webkit-transform:scale(1);opacity:1}70%{-webkit-transform:scale(3);opacity:0}to{-webkit-transform:scale(1);opacity:0}}@-ms-keyframes mapboxgl-user-location-dot-pulse{0%{-ms-transform:scale(1);opacity:1}70%{-ms-transform:scale(3);opacity:0}to{-ms-transform:scale(1);opacity:0}}@keyframes mapboxgl-user-location-dot-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:0}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:rgba(29,161,242,.2);width:1px;height:1px;border-radius:100%}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{position:absolute;top:0;left:0;width:0;height:0;background:#fff;border:2px dotted #202020;opacity:.5}@media print{.mapbox-improve-map{display:none}}\";\n styleInject(css_248z);\n\n var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n var mapboxGlExports = {};\n var mapboxGl = {\n get exports(){ return mapboxGlExports; },\n set exports(v){ mapboxGlExports = v; },\n };\n\n /* Mapbox GL JS is licensed under the 3-Clause BSD License. Full text of license: https://github.com/mapbox/mapbox-gl-js/blob/v1.13.3/LICENSE.txt */\n\n (function (module, exports) {\n \t(function (global, factory) {\n \tmodule.exports = factory() ;\n \t}(commonjsGlobal, (function () {\n \t/* eslint-disable */\n\n \tvar shared, worker, mapboxgl;\n \t// define gets called three times: one for each chunk. we rely on the order\n \t// they're imported to know which is which\n \tfunction define(_, chunk) {\n \tif (!shared) {\n \t shared = chunk;\n \t} else if (!worker) {\n \t worker = chunk;\n \t} else {\n \t var workerBundleString = 'var sharedChunk = {}; (' + shared + ')(sharedChunk); (' + worker + ')(sharedChunk);';\n\n \t var sharedChunk = {};\n \t shared(sharedChunk);\n \t mapboxgl = chunk(sharedChunk);\n \t if (typeof window !== 'undefined') {\n \t mapboxgl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n \t }\n \t}\n \t}\n\n\n \tdefine([\"exports\"],(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(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;}n.prototype.sampleCurveX=function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return ((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e){ return i; }var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6){ break; }i-=a/s;}if((i=t)<(r=0)){ return r; }if(i>(n=1)){ return n; }for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e){ return i; }t>a?r=i:n=i,i=.5*(n-r)+r;}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=a;function a(t,e){this.x=t,this.y=e;}a.prototype={clone:function(){return new a(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},a.convert=function(t){return t instanceof a?t:Array.isArray(t)?new a(t[0],t[1]):t};var o=\"undefined\"!=typeof self?self:{},s=Math.pow(2,53)-1;function u(t,e,n,i){var a=new r(t,e,n,i);return function(t){return a.solve(t)}}var l=u(.25,.1,.25,1);function p(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function h(t){\n \tvar arguments$1 = arguments;\n for(var e=[],r=arguments.length-1;r-- >0;){ e[r]=arguments$1[r+1]; }for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a){ t[o]=a[o]; }}return t}var f=1;function y(){return f++}function d(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function m(t){return !!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e));}));}function g(t,e){return -1!==t.indexOf(e,t.length-e.length)}function x(t,e,r){var n={};for(var i in t){ n[i]=e.call(r||this,t[i],i,t); }return n}function b(t,e,r){var n={};for(var i in t){ e.call(r||this,t[i],i,t)&&(n[i]=t[i]); }return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?x(t,w):t}var _={};function A(t){_[t]||(\"undefined\"!=typeof console&&console.warn(t),_[t]=!0);}function S(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++){ e+=((o=t[i]).x-(a=t[r]).x)*(a.y+o.y); }return e}function I(){return \"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope}function z(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"})),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r;}return e}var C=null;function E(t){if(null==C){var e=t.navigator?t.navigator.userAgent:null;C=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return C}function P(t){try{var e=o[t];return e.setItem(\"_mapbox_test_\",1),e.removeItem(\"_mapbox_test_\"),!0}catch(t$1){return !1}}var M,B,T,V,F=o.performance&&o.performance.now?o.performance.now.bind(o.performance):Date.now.bind(Date),D=o.requestAnimationFrame||o.mozRequestAnimationFrame||o.webkitRequestAnimationFrame||o.msRequestAnimationFrame,L=o.cancelAnimationFrame||o.mozCancelAnimationFrame||o.webkitCancelAnimationFrame||o.msCancelAnimationFrame,O={now:F,frame:function(t){var e=D(t);return {cancel:function(){return L(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=o.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n){ throw new Error(\"failed to create canvas 2d context\"); }return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return M||(M=o.document.createElement(\"a\")),M.href=t,M.href},hardwareConcurrency:o.navigator&&o.navigator.hardwareConcurrency||4,get devicePixelRatio(){return o.devicePixelRatio},get prefersReducedMotion(){return !!o.matchMedia&&(null==B&&(B=o.matchMedia(\"(prefers-reduced-motion: reduce)\")),B.matches)}},R={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf(\"https://api.mapbox.cn\")?\"https://events.mapbox.cn/events/v2\":0===this.API_URL.indexOf(\"https://api.mapbox.com\")?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!j&&V&&(q?N(t):T=t);}},j=!1,q=!1;function N(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,V),t.isContextLost()){ return; }U.supported=!0;}catch(t$1){}t.deleteTexture(e),j=!0;}o.document&&((V=o.document.createElement(\"img\")).onload=function(){T&&N(T),T=null,q=!0;},V.onerror=function(){j=!0,T=null;},V.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");var K=\"01\",G=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken();};function Z(t){return 0===t.indexOf(\"mapbox:\")}G.prototype._createSkuToken=function(){var t=function(){for(var t=\"\",e=0;e<10;e++){ t+=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"[Math.floor(62*Math.random())]; }return {token:[\"1\",K,t].join(\"\"),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt;},G.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},G.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},G.prototype.normalizeStyleURL=function(t,e){if(!Z(t)){ return t; }var r=Y(t);return r.path=\"/styles/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeGlyphsURL=function(t,e){if(!Z(t)){ return t; }var r=Y(t);return r.path=\"/fonts/v1\"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeSourceURL=function(t,e){if(!Z(t)){ return t; }var r=Y(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),this._makeAPIURL(r,this._customAccessToken||e)},G.prototype.normalizeSpriteURL=function(t,e,r,n){var i=Y(t);return Z(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=\"\"+e+r,$(i))},G.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Z(t)){ return t; }var r=Y(t);r.path=r.path.replace(/(\\.(png|jpg)\\d*)(?=$)/,(O.devicePixelRatio>=2||512===e?\"@2x\":\"\")+(U.supported?\".webp\":\"$1\")),r.path=r.path.replace(/^.+\\/v4\\//,\"/\"),r.path=\"/v4\"+r.path;var n=this._customAccessToken||function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n){ return n[1] }}return null}(r.params)||R.ACCESS_TOKEN;return R.REQUIRE_ACCESS_TOKEN&&n&&this._skuToken&&r.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(r,n)},G.prototype.canonicalizeTileURL=function(t,e){var r=Y(t);if(!r.path.match(/(^\\/v4\\/)/)||!r.path.match(/\\.[\\w]+$/)){ return t; }var n=\"mapbox://tiles/\";n+=r.path.replace(\"/v4/\",\"\");var i=r.params;return e&&(i=i.filter((function(t){return !t.match(/^access_token=/)}))),i.length&&(n+=\"?\"+i.join(\"&\")),n},G.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&Z(e),n=[],i=0,a=t.tiles||[];i<a.length;i+=1){var o=a[i];J(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o);}return n},G.prototype._makeAPIURL=function(t,e){var r=\"See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\",n=Y(R.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,\"http\"===t.protocol){var i=t.params.indexOf(\"secure\");i>=0&&t.params.splice(i,1);}if(\"/\"!==n.path&&(t.path=\"\"+n.path+t.path),!R.REQUIRE_ACCESS_TOKEN){ return $(t); }if(!(e=e||R.ACCESS_TOKEN)){ throw new Error(\"An API access token is required to use Mapbox GL. \"+r); }if(\"s\"===e[0]){ throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+r); }return t.params=t.params.filter((function(t){return -1===t.indexOf(\"access_token\")})),t.params.push(\"access_token=\"+e),$(t)};var X=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function J(t){return X.test(t)}var H=/^(\\w+):\\/\\/([^/?]*)(\\/[^?]+)?\\??(.+)?/;function Y(t){var e=t.match(H);if(!e){ throw new Error(\"Unable to parse URL object\"); }return {protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function $(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}function W(t){if(!t){ return null; }var e=t.split(\".\");if(!e||3!==e.length){ return null; }try{return JSON.parse(decodeURIComponent(o.atob(e[1]).split(\"\").map((function(t){return \"%\"+(\"00\"+t.charCodeAt(0).toString(16)).slice(-2)})).join(\"\")))}catch(t$1){return null}}var Q=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null;};Q.prototype.getStorageKey=function(t){var e,r=W(R.ACCESS_TOKEN);return e=r&&r.u?o.btoa(encodeURIComponent(r.u).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number(\"0x\"+e))}))):R.ACCESS_TOKEN||\"\",t?\"mapbox.eventData.\"+t+\":\"+e:\"mapbox.eventData:\"+e},Q.prototype.fetchEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t){ try{var n=o.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=o.localStorage.getItem(r);i&&(this.anonId=i);}catch(t$1){A(\"Unable to read from LocalStorage\");} }},Q.prototype.saveEventData=function(){var t=P(\"localStorage\"),e=this.getStorageKey(),r=this.getStorageKey(\"uuid\");if(t){ try{o.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&o.localStorage.setItem(e,JSON.stringify(this.eventData));}catch(t$1){A(\"Unable to write to LocalStorage\");} }},Q.prototype.processRequests=function(t){},Q.prototype.postEvent=function(t,e,r,n){var i=this;if(R.EVENTS_URL){var a=Y(R.EVENTS_URL);a.params.push(\"access_token=\"+(n||R.ACCESS_TOKEN||\"\"));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:\"1.13.3\",skuId:K,userId:this.anonId},s=e?h(o,e):o,u={url:$(a),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([s])};this.pendingRequest=wt(u,(function(t){i.pendingRequest=null,r(t),i.saveEventData(),i.processRequests(n);}));}},Q.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e);};var tt,et,rt=function(t){function e(){t.call(this,\"map.load\"),this.success={},this.skuToken=\"\";}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r;var i=!(!n&&!R.ACCESS_TOKEN),a=Array.isArray(t)&&t.some((function(t){return Z(t)||J(t)}));R.EVENTS_URL&&i&&a&&this.queueRequest({id:e,timestamp:Date.now()},n);},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),m(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0);}),t));}},e}(Q),nt=new(function(t){function e(e){t.call(this,\"appUserTurnstile\"),this._customAccessToken=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.postTurnstileEvent=function(t,e){R.EVENTS_URL&&R.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Z(t)||J(t)}))&&this.queueRequest(Date.now(),e);},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=W(R.ACCESS_TOKEN),n=r?r.u:R.ACCESS_TOKEN,i=n!==this.eventData.tokenU;m(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),u=(a-this.eventData.lastSuccess)/864e5;i=i||u>=1||u<-1||o.getDate()!==s.getDate();}else { i=!0; }if(!i){ return this.processRequests(); }this.postEvent(a,{\"enabled.telemetry\":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n);}),t);}},e}(Q)),it=nt.postTurnstileEvent.bind(nt),at=new rt,ot=at.postMapLoadEvent.bind(at),st=500,ut=50;function lt(){o.caches&&!tt&&(tt=o.caches.open(\"mapbox-tiles\"));}function pt(t){var e=t.indexOf(\"?\");return e<0?t:t.slice(0,e)}var ct,ht=1/0;function ft(){return null==ct&&(ct=o.OffscreenCanvas&&new o.OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof o.createImageBitmap),ct}var yt={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(yt);var dt=function(t){function e(e,r,n){401===r&&J(n)&&(e+=\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes\"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error),mt=I()?function(){return self.worker&&self.worker.referrer}:function(){return (\"blob:\"===o.location.protocol?o.parent:o).location.href};var vt,gt,xt=function(t,e){if(!(/^file:/.test(r=t.url)||/^file:/.test(mt())&&!/^\\w+:/.test(r))){if(o.fetch&&o.Request&&o.AbortController&&o.Request.prototype.hasOwnProperty(\"signal\")){ return function(t,e){var r,n=new o.AbortController,i=new o.Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,referrer:mt(),signal:n.signal}),a=!1,s=!1,u=(r=i.url).indexOf(\"sku=\")>0&&J(r);\"json\"===t.type&&i.headers.set(\"Accept\",\"application/json\");var l=function(r,n,a){if(!s){if(r&&\"SecurityError\"!==r.message&&A(r),n&&a){ return p(n); }var l=Date.now();o.fetch(i).then((function(r){if(r.ok){var n=u?r.clone():null;return p(r,n,l)}return e(new dt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message));}));}},p=function(r,n,u){(\"arrayBuffer\"===t.type?r.arrayBuffer():\"json\"===t.type?r.json():r.text()).then((function(t){s||(n&&u&&function(t,e,r){if(lt(),tt){var n={status:e.status,statusText:e.statusText,headers:new o.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=z(e.headers.get(\"Cache-Control\")||\"\");i[\"no-store\"]||(i[\"max-age\"]&&n.headers.set(\"Expires\",new Date(r+1e3*i[\"max-age\"]).toUTCString()),new Date(n.headers.get(\"Expires\")).getTime()-r<42e4||function(t,e){if(void 0===et){ try{new Response(new ReadableStream),et=!0;}catch(t$1){et=!1;} }et?e(t.body):t.blob().then(e);}(e,(function(e){var r=new o.Response(e,n);lt(),tt&&tt.then((function(e){return e.put(pt(t.url),r)})).catch((function(t){return A(t.message)}));})));}}(i,n,u),a=!0,e(null,t,r.headers.get(\"Cache-Control\"),r.headers.get(\"Expires\")));})).catch((function(t){s||e(new Error(t.message));}));};return u?function(t,e){if(lt(),!tt){ return e(null); }var r=pt(t.url);tt.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t){ return !1; }var e=new Date(t.headers.get(\"Expires\")||0),r=z(t.headers.get(\"Cache-Control\")||\"\");return e>Date.now()&&!r[\"no-cache\"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i);})).catch(e);})).catch(e);}(i,l):l(null,null),{cancel:function(){s=!0,a||n.abort();}}}(t,e); }if(I()&&self.worker&&self.worker.actor){ return self.worker.actor.send(\"getResource\",t,e,void 0,!0) }}var r;return function(t,e){var r=new o.XMLHttpRequest;for(var n in r.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"===t.type&&(r.responseType=\"arraybuffer\"),t.headers){ r.setRequestHeader(n,t.headers[n]); }return \"json\"===t.type&&(r.responseType=\"text\",r.setRequestHeader(\"Accept\",\"application/json\")),r.withCredentials=\"include\"===t.credentials,r.onerror=function(){e(new Error(r.statusText));},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if(\"json\"===t.type){ try{n=JSON.parse(r.response);}catch(t$1){return e(t$1)} }e(null,n,r.getResponseHeader(\"Cache-Control\"),r.getResponseHeader(\"Expires\"));}else { e(new dt(r.statusText,r.status,t.url)); }},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},bt=function(t,e){return xt(h(t,{type:\"arrayBuffer\"}),e)},wt=function(t,e){return xt(h(t,{method:\"POST\"}),e)},_t=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";vt=[],gt=0;var At=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),gt>=R.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0;}};return vt.push(r),r}gt++;var n=!1,i=function(){if(!n){ for(n=!0,gt--;vt.length&><R.MAX_PARALLEL_IMAGE_REQUESTS;){var t=vt.shift();t.cancelled||(t.cancel=At(t.requestParameters,t.callback).cancel);} }},a=bt(t,(function(t,r,n,a){i(),t?e(t):r&&(ft()?function(t,e){var r=new o.Blob([new Uint8Array(t)],{type:\"image/png\"});o.createImageBitmap(r).then((function(t){e(null,t);})).catch((function(t){e(new Error(\"Could not load image because of \"+t.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));}));}(r,e):function(t,e,r,n){var i=new o.Image,a=o.URL;i.onload=function(){e(null,i),a.revokeObjectURL(i.src),i.onload=null,o.requestAnimationFrame((function(){i.src=_t;}));},i.onerror=function(){return e(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var s=new o.Blob([new Uint8Array(t)],{type:\"image/png\"});i.cacheControl=r,i.expires=n,i.src=t.byteLength?a.createObjectURL(s):_t;}(r,e,n,a));}));return {cancel:function(){a.cancel(),i();}}};function St(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function kt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}var It=function(t,e){void 0===e&&(e={}),h(this,e),this.type=t;},zt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,\"error\",h({error:e},r));}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(It),Ct=function(){};Ct.prototype.on=function(t,e){return this._listeners=this._listeners||{},St(t,e,this._listeners),this},Ct.prototype.off=function(t,e){return kt(t,e,this._listeners),kt(t,e,this._oneTimeListeners),this},Ct.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},St(t,e,this._oneTimeListeners),this},Ct.prototype.fire=function(t,e){\"string\"==typeof t&&(t=new It(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1){ i[n].call(this,t); }for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];kt(r,s,this._oneTimeListeners),s.call(this,t);}var u=this._eventedParent;u&&(h(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),u.fire(t));}else { t instanceof zt&&console.error(t.error); }return this},Ct.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Ct.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Et={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},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},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}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],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\"]},\"property-type\":\"cross-faded\"},\"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-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},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\"}},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\"}}},Pt=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__);};function Mt(t){var e=t.value;return e?[new Pt(t.key,e,\"constants have been deprecated as of v8\")]:[]}function Bt(t){\n \tvar arguments$1 = arguments;\n for(var e=[],r=arguments.length-1;r-- >0;){ e[r]=arguments$1[r+1]; }for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a){ t[o]=a[o]; }}return t}function Tt(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function Vt(t){if(Array.isArray(t)){ return t.map(Vt); }if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t){ e[r]=Vt(t[r]); }return e}return Tt(t)}var Ft=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(Error),Dt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r];this.bindings[i[0]]=i[1];}};Dt.prototype.concat=function(t){return new Dt(this,t)},Dt.prototype.get=function(t){if(this.bindings[t]){ return this.bindings[t]; }if(this.parent){ return this.parent.get(t); }throw new Error(t+\" not found in scope.\")},Dt.prototype.has=function(t){return !!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Lt={kind:\"null\"},Ot={kind:\"number\"},Rt={kind:\"string\"},Ut={kind:\"boolean\"},jt={kind:\"color\"},qt={kind:\"object\"},Nt={kind:\"value\"},Kt={kind:\"collator\"},Gt={kind:\"formatted\"},Zt={kind:\"resolvedImage\"};function Xt(t,e){return {kind:\"array\",itemType:t,N:e}}function Jt(t){if(\"array\"===t.kind){var e=Jt(t.itemType);return \"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var Ht=[Lt,Ot,Rt,Ut,jt,Gt,qt,Xt(Nt),Zt];function Yt(t,e){if(\"error\"===e.kind){ return null; }if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!Yt(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=Ht;r<n.length;r+=1){ if(!Yt(n[r],e)){ return null } } }}return \"Expected \"+Jt(t)+\" but found \"+Jt(e)+\" instead.\"}function $t(t,e){return e.some((function(e){return e.kind===t.kind}))}function Wt(t,e){return e.some((function(e){return \"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t}))}var Qt=e((function(t,e){var r={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 n(t){return (t=Math.round(t))<0?0:t>255?255:t}function i(t){return n(\"%\"===t[t.length-1]?parseFloat(t)/100*255:parseInt(t))}function a(t){return (e=\"%\"===t[t.length-1]?parseFloat(t)/100:parseFloat(t))<0?0:e>1?1:e;var e;}function o(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{e.parseCSSColor=function(t){var e,s=t.replace(/ /g,\"\").toLowerCase();if(s in r){ return r[s].slice(); }if(\"#\"===s[0]){ return 4===s.length?(e=parseInt(s.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===s.length&&(e=parseInt(s.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null; }var u=s.indexOf(\"(\"),l=s.indexOf(\")\");if(-1!==u&&l+1===s.length){var p=s.substr(0,u),c=s.substr(u+1,l-(u+1)).split(\",\"),h=1;switch(p){case\"rgba\":if(4!==c.length){ return null; }h=a(c.pop());case\"rgb\":return 3!==c.length?null:[i(c[0]),i(c[1]),i(c[2]),h];case\"hsla\":if(4!==c.length){ return null; }h=a(c.pop());case\"hsl\":if(3!==c.length){ return null; }var f=(parseFloat(c[0])%360+360)%360/360,y=a(c[1]),d=a(c[2]),m=d<=.5?d*(y+1):d+y-d*y,v=2*d-m;return [n(255*o(v,m,f+1/3)),n(255*o(v,m,f)),n(255*o(v,m,f-1/3)),h];default:return null}}return null};}catch(t$1){}})).parseCSSColor,te=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n;};te.parse=function(t){if(t){if(t instanceof te){ return t; }if(\"string\"==typeof t){var e=Qt(t);if(e){ return new te(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3]) }}}},te.prototype.toString=function(){var t=this.toArray(),e=t[1],r=t[2],n=t[3];return \"rgba(\"+Math.round(t[0])+\",\"+Math.round(e)+\",\"+Math.round(r)+\",\"+n+\")\"},te.prototype.toArray=function(){var t=this.a;return 0===t?[0,0,0,0]:[255*this.r/t,255*this.g/t,255*this.b/t,t]},te.black=new te(0,0,0,1),te.white=new te(1,1,1,1),te.transparent=new te(0,0,0,0),te.red=new te(1,0,0,1);var ee=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});};ee.prototype.compare=function(t,e){return this.collator.compare(t,e)},ee.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var re=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;},ne=function(t){this.sections=t;};ne.fromString=function(t){return new ne([new re(t,null,null,null,null)])},ne.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},ne.factory=function(t){return t instanceof ne?t:ne.fromString(t)},ne.prototype.toString=function(){return 0===this.sections.length?\"\":this.sections.map((function(t){return t.text})).join(\"\")},ne.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image){ t.push([\"image\",n.image.name]); }else {t.push(n.text);var i={};n.fontStack&&(i[\"text-font\"]=[\"literal\",n.fontStack.split(\",\")]),n.scale&&(i[\"font-scale\"]=n.scale),n.textColor&&(i[\"text-color\"]=[\"rgba\"].concat(n.textColor.toArray())),t.push(i);}}return t};var ie=function(t){this.name=t.name,this.available=t.available;};function ae(t,e,r,n){return \"number\"==typeof t&&t>=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 oe(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 te){ return !0; }if(t instanceof ee){ return !0; }if(t instanceof ne){ return !0; }if(t instanceof ie){ return !0; }if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1){ if(!oe(r[e])){ return !1; } }return !0}if(\"object\"==typeof t){for(var n in t){ if(!oe(t[n])){ return !1; } }return !0}return !1}function se(t){if(null===t){ return Lt; }if(\"string\"==typeof t){ return Rt; }if(\"boolean\"==typeof t){ return Ut; }if(\"number\"==typeof t){ return Ot; }if(t instanceof te){ return jt; }if(t instanceof ee){ return Kt; }if(t instanceof ne){ return Gt; }if(t instanceof ie){ return Zt; }if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=se(i[n]);if(e){if(e===a){ continue; }e=Nt;break}e=a;}return Xt(e||Nt,r)}return qt}function ue(t){var e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof te||t instanceof ne||t instanceof ie?t.toString():JSON.stringify(t)}ie.prototype.toString=function(){return this.name},ie.fromString=function(t){return t?new ie({name:t,available:!1}):null},ie.prototype.serialize=function(){return [\"image\",this.name]};var le=function(t,e){this.type=t,this.value=e;};le.parse=function(t,e){if(2!==t.length){ return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\"); }if(!oe(t[1])){ return e.error(\"invalid value\"); }var r=t[1],n=se(r),i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new le(n,r)},le.prototype.evaluate=function(){return this.value},le.prototype.eachChild=function(){},le.prototype.outputDefined=function(){return !0},le.prototype.serialize=function(){return \"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof te?[\"rgba\"].concat(this.value.toArray()):this.value instanceof ne?this.value.serialize():this.value};var pe=function(t){this.name=\"ExpressionEvaluationError\",this.message=t;};pe.prototype.toJSON=function(){return this.message};var ce={string:Rt,number:Ot,boolean:Ut,object:qt},he=function(t,e){this.type=t,this.args=e;};he.parse=function(t,e){if(t.length<2){ return e.error(\"Expected at least one argument.\"); }var r,n=1,i=t[0];if(\"array\"===i){var a,o;if(t.length>2){var s=t[1];if(\"string\"!=typeof s||!(s in ce)||\"object\"===s){ return e.error('The item type argument of \"array\" must be one of string, number, boolean',1); }a=ce[s],n++;}else { a=Nt; }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); }o=t[2],n++;}r=Xt(a,o);}else { r=ce[i]; }for(var u=[];n<t.length;n++){var l=e.parse(t[n],n,Nt);if(!l){ return null; }u.push(l);}return new he(r,u)},he.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Yt(this.type,se(r))){ return r; }if(e===this.args.length-1){ throw new pe(\"Expected value to be of type \"+Jt(this.type)+\", but found \"+Jt(se(r))+\" instead.\") }}return null},he.prototype.eachChild=function(t){this.args.forEach(t);},he.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},he.prototype.serialize=function(){var t=this.type,e=[t.kind];if(\"array\"===t.kind){var r=t.itemType;if(\"string\"===r.kind||\"number\"===r.kind||\"boolean\"===r.kind){e.push(r.kind);var n=t.N;(\"number\"==typeof n||this.args.length>1)&&e.push(n);}}return e.concat(this.args.map((function(t){return t.serialize()})))};var fe=function(t){this.type=Gt,this.sections=t;};fe.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\"==typeof r){ return e.error(\"First argument must be an image or text section.\"); }for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&\"object\"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o[\"font-scale\"]&&!(s=e.parse(o[\"font-scale\"],1,Ot))){ return null; }var u=null;if(o[\"text-font\"]&&!(u=e.parse(o[\"text-font\"],1,Xt(Rt)))){ return null; }var l=null;if(o[\"text-color\"]&&!(l=e.parse(o[\"text-color\"],1,jt))){ return null; }var p=n[n.length-1];p.scale=s,p.font=u,p.textColor=l;}else {var c=e.parse(t[a],1,Nt);if(!c){ return null; }var h=c.type.kind;if(\"string\"!==h&&\"value\"!==h&&\"null\"!==h&&\"resolvedImage\"!==h){ return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\"); }i=!0,n.push({content:c,scale:null,font:null,textColor:null});}}return new fe(n)},fe.prototype.evaluate=function(t){return new ne(this.sections.map((function(e){var r=e.content.evaluate(t);return se(r)===Zt?new re(\"\",r,null,null,null):new re(ue(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))},fe.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor);}},fe.prototype.outputDefined=function(){return !1},fe.prototype.serialize=function(){for(var t=[\"format\"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var i={};n.scale&&(i[\"font-scale\"]=n.scale.serialize()),n.font&&(i[\"text-font\"]=n.font.serialize()),n.textColor&&(i[\"text-color\"]=n.textColor.serialize()),t.push(i);}return t};var ye=function(t){this.type=Zt,this.input=t;};ye.parse=function(t,e){if(2!==t.length){ return e.error(\"Expected two arguments.\"); }var r=e.parse(t[1],1,Rt);return r?new ye(r):e.error(\"No image name provided.\")},ye.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ie.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},ye.prototype.eachChild=function(t){t(this.input);},ye.prototype.outputDefined=function(){return !1},ye.prototype.serialize=function(){return [\"image\",this.input.serialize()]};var de={\"to-boolean\":Ut,\"to-color\":jt,\"to-number\":Ot,\"to-string\":Rt},me=function(t,e){this.type=t,this.args=e;};me.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=de[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Nt);if(!o){ return null; }i.push(o);}return new me(n,i)},me.prototype.evaluate=function(t){if(\"boolean\"===this.type.kind){ return Boolean(this.args[0].evaluate(t)); }if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof te){ return e; }if(\"string\"==typeof e){var a=t.parseColor(e);if(a){ return a }}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":ae(e[0],e[1],e[2],e[3]))){ return new te(e[0]/255,e[1]/255,e[2]/255,e[3]) }}throw new pe(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:String(JSON.stringify(e)))+\"'\")}if(\"number\"===this.type.kind){for(var o=null,s=0,u=this.args;s<u.length;s+=1){if(null===(o=u[s].evaluate(t))){ return 0; }var l=Number(o);if(!isNaN(l)){ return l }}throw new pe(\"Could not convert \"+JSON.stringify(o)+\" to number.\")}return \"formatted\"===this.type.kind?ne.fromString(ue(this.args[0].evaluate(t))):\"resolvedImage\"===this.type.kind?ie.fromString(ue(this.args[0].evaluate(t))):ue(this.args[0].evaluate(t))},me.prototype.eachChild=function(t){this.args.forEach(t);},me.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},me.prototype.serialize=function(){if(\"formatted\"===this.type.kind){ return new fe([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize(); }if(\"resolvedImage\"===this.type.kind){ return new ye(this.args[0]).serialize(); }var t=[\"to-\"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize());})),t};var ve=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],ge=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;};ge.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},ge.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?ve[this.feature.type]:this.feature.type:null},ge.prototype.geometry=function(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null},ge.prototype.canonicalID=function(){return this.canonical},ge.prototype.properties=function(){return this.feature&&this.feature.properties||{}},ge.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=te.parse(t)),e};var xe=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;};xe.prototype.evaluate=function(t){return this._evaluate(t,this.args)},xe.prototype.eachChild=function(t){this.args.forEach(t);},xe.prototype.outputDefined=function(){return !1},xe.prototype.serialize=function(){return [this.name].concat(this.args.map((function(t){return t.serialize()})))},xe.parse=function(t,e){var r,n=t[0],i=xe.definitions[n];if(!i){ return e.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0); }for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return !Array.isArray(r)||r.length===t.length-1})),u=null,l=0,p=s;l<p.length;l+=1){var c=p[l],h=c[0],f=c[1];u=new je(e.registry,e.path,null,e.scope);for(var y=[],d=!1,m=1;m<t.length;m++){var v=t[m],g=Array.isArray(h)?h[m-1]:h.type,x=u.parse(v,1+y.length,g);if(!x){d=!0;break}y.push(x);}if(!d){ if(Array.isArray(h)&&h.length!==y.length){ u.error(\"Expected \"+h.length+\" arguments, but found \"+y.length+\" instead.\"); }else {for(var b=0;b<y.length;b++){var w=Array.isArray(h)?h[b]:h.type,_=y[b];u.concat(b+1).checkSubtype(w,_.type);}if(0===u.errors.length){ return new xe(n,a,f,y) }} }}if(1===s.length){ (r=e.errors).push.apply(r,u.errors); }else {for(var A=(s.length?s:o).map((function(t){var e;return e=t[0],Array.isArray(e)?\"(\"+e.map(Jt).join(\", \")+\")\":\"(\"+Jt(e.type)+\"...)\"})).join(\" | \"),S=[],k=1;k<t.length;k++){var I=e.parse(t[k],1+S.length);if(!I){ return null; }S.push(Jt(I.type));}e.error(\"Expected arguments of type \"+A+\", but found (\"+S.join(\", \")+\") instead.\");}return null},xe.register=function(t,e){for(var r in xe.definitions=e,e){ t[r]=xe; }};var be=function(t,e,r){this.type=Kt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;};function we(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function _e(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ae(t,e){var r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*8192),Math.round(n*i*8192)]}function Se(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 ke(t,e){for(var r,n,i,a,o,s,u,l=!1,p=0,c=e.length;p<c;p++){ for(var h=e[p],f=0,y=h.length;f<y-1;f++){if((a=(r=t)[0]-(n=h[f])[0])*(u=r[1]-(i=h[f+1])[1])-(s=r[0]-i[0])*(o=r[1]-n[1])==0&&a*s<=0&&o*u<=0){ return !1; }Se(t,h[f],h[f+1])&&(l=!l);} }return l}function Ie(t,e){for(var r=0;r<e.length;r++){ if(ke(t,e[r])){ return !0; } }return !1}function ze(t,e,r,n){var i=n[0]-r[0],a=n[1]-r[1],o=(t[0]-r[0])*a-i*(t[1]-r[1]),s=(e[0]-r[0])*a-i*(e[1]-r[1]);return o>0&&s<0||o<0&&s>0}function Ce(t,e,r){for(var n=0,i=r;n<i.length;n+=1){ for(var a=i[n],o=0;o<a.length-1;++o){ if(0!=(c=[(p=a[o+1])[0]-(l=a[o])[0],p[1]-l[1]])[0]*(h=[(u=e)[0]-(s=t)[0],u[1]-s[1]])[1]-c[1]*h[0]&&ze(s,u,l,p)&&ze(l,p,s,u)){ return !0; } } }var s,u,l,p,c,h;return !1}function Ee(t,e){for(var r=0;r<t.length;++r){ if(!ke(t[r],e)){ return !1; } }for(var n=0;n<t.length-1;++n){ if(Ce(t[n],t[n+1],e)){ return !1; } }return !0}function Pe(t,e){for(var r=0;r<e.length;r++){ if(Ee(t,e[r])){ return !0; } }return !1}function Me(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=Ae(t[i][o],r);we(e,s),a.push(s);}n.push(a);}return n}function Be(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Me(t[i],e,r);n.push(a);}return n}function Te(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a;}we(e,t);}function Ve(t,e,r,n){for(var i=8192*Math.pow(2,n.z),a=[8192*n.x,8192*n.y],o=[],s=0,u=t;s<u.length;s+=1){ for(var l=0,p=u[s];l<p.length;l+=1){var c=p[l],h=[c.x+a[0],c.y+a[1]];Te(h,e,r,i),o.push(h);} }return o}function Fe(t,e,r,n){for(var i,a=8192*Math.pow(2,n.z),o=[8192*n.x,8192*n.y],s=[],u=0,l=t;u<l.length;u+=1){for(var p=[],c=0,h=l[u];c<h.length;c+=1){var f=h[c],y=[f.x+o[0],f.y+o[1]];we(e,y),p.push(y);}s.push(p);}if(e[2]-e[0]<=a/2){(i=e)[0]=i[1]=1/0,i[2]=i[3]=-1/0;for(var d=0,m=s;d<m.length;d+=1){ for(var v=0,g=m[d];v<g.length;v+=1){ Te(g[v],e,r,a); } }}return s}be.parse=function(t,e){if(2!==t.length){ return e.error(\"Expected one argument.\"); }var r=t[1];if(\"object\"!=typeof r||Array.isArray(r)){ return e.error(\"Collator options argument must be an object.\"); }var n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,Ut);if(!n){ return null; }var i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,Ut);if(!i){ return null; }var a=null;return r.locale&&!(a=e.parse(r.locale,1,Rt))?null:new be(n,i,a)},be.prototype.evaluate=function(t){return new ee(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},be.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);},be.prototype.outputDefined=function(){return !1},be.prototype.serialize=function(){var t={};return t[\"case-sensitive\"]=this.caseSensitive.serialize(),t[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),[\"collator\",t]};var De=function(t,e){this.type=Ut,this.geojson=t,this.geometries=e;};function Le(t){if(t instanceof xe){if(\"get\"===t.name&&1===t.args.length){ return !1; }if(\"feature-state\"===t.name){ return !1; }if(\"has\"===t.name&&1===t.args.length){ return !1; }if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name){ return !1; }if(/^filter-/.test(t.name)){ return !1 }}if(t instanceof De){ return !1; }var e=!0;return t.eachChild((function(t){e&&!Le(t)&&(e=!1);})),e}function Oe(t){if(t instanceof xe&&\"feature-state\"===t.name){ return !1; }var e=!0;return t.eachChild((function(t){e&&!Oe(t)&&(e=!1);})),e}function Re(t,e){if(t instanceof xe&&e.indexOf(t.name)>=0){ return !1; }var r=!0;return t.eachChild((function(t){r&&!Re(t,e)&&(r=!1);})),r}De.parse=function(t,e){if(2!==t.length){ return e.error(\"'within' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\"); }if(oe(t[1])){var r=t[1];if(\"FeatureCollection\"===r.type){ for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if(\"Polygon\"===i||\"MultiPolygon\"===i){ return new De(r,r.features[n].geometry) }} }else if(\"Feature\"===r.type){var a=r.geometry.type;if(\"Polygon\"===a||\"MultiPolygon\"===a){ return new De(r,r.geometry) }}else if(\"Polygon\"===r.type||\"MultiPolygon\"===r.type){ return new De(r,r) }}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")},De.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType()){ return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){var a=Me(e.coordinates,n,i),o=Ve(t.geometry(),r,n,i);if(!_e(r,n)){ return !1; }for(var s=0,u=o;s<u.length;s+=1){ if(!ke(u[s],a)){ return !1 } }}if(\"MultiPolygon\"===e.type){var l=Be(e.coordinates,n,i),p=Ve(t.geometry(),r,n,i);if(!_e(r,n)){ return !1; }for(var c=0,h=p;c<h.length;c+=1){ if(!Ie(h[c],l)){ return !1 } }}return !0}(t,this.geometries); }if(\"LineString\"===t.geometryType()){ return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){var a=Me(e.coordinates,n,i),o=Fe(t.geometry(),r,n,i);if(!_e(r,n)){ return !1; }for(var s=0,u=o;s<u.length;s+=1){ if(!Ee(u[s],a)){ return !1 } }}if(\"MultiPolygon\"===e.type){var l=Be(e.coordinates,n,i),p=Fe(t.geometry(),r,n,i);if(!_e(r,n)){ return !1; }for(var c=0,h=p;c<h.length;c+=1){ if(!Pe(h[c],l)){ return !1 } }}return !0}(t,this.geometries) }}return !1},De.prototype.eachChild=function(){},De.prototype.outputDefined=function(){return !0},De.prototype.serialize=function(){return [\"within\",this.geojson]};var Ue=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e;};Ue.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1]){ return e.error(\"'var' expression requires exactly one string literal argument.\"); }var r=t[1];return e.scope.has(r)?new Ue(r,e.scope.get(r)):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Ue.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Ue.prototype.eachChild=function(){},Ue.prototype.outputDefined=function(){return !1},Ue.prototype.serialize=function(){return [\"var\",this.name]};var je=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new Dt),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return \"[\"+t+\"]\"})).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r;};function qe(t,e){for(var r,n=t.length-1,i=0,a=n,o=0;i<=a;){ if((r=t[o=Math.floor((i+a)/2)])<=e){if(o===n||e<t[o+1]){ return o; }i=o+1;}else {if(!(r>e)){ throw new pe(\"Input is not a number.\"); }a=o-1;} }return 0}je.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)},je.prototype._parse=function(t,e){function r(t,e,r){return \"assert\"===r?new he(e,[t]):\"coerce\"===r?new me(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 \"+typeof n+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null; }var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a){ return null; }if(this.expectedType){var o=this.expectedType,s=a.type;if(\"string\"!==o.kind&&\"number\"!==o.kind&&\"boolean\"!==o.kind&&\"object\"!==o.kind&&\"array\"!==o.kind||\"value\"!==s.kind){ if(\"color\"!==o.kind&&\"formatted\"!==o.kind&&\"resolvedImage\"!==o.kind||\"value\"!==s.kind&&\"string\"!==s.kind){if(this.checkSubtype(o,s)){ return null }}else { a=r(a,o,e.typeAnnotation||\"coerce\"); } }else { a=r(a,o,e.typeAnnotation||\"assert\"); }}if(!(a instanceof le)&&\"resolvedImage\"!==a.type.kind&&function t(e){if(e instanceof Ue){ return t(e.boundExpression); }if(e instanceof xe&&\"error\"===e.name){ return !1; }if(e instanceof be){ return !1; }if(e instanceof De){ return !1; }var r=e instanceof me||e instanceof he,n=!0;return e.eachChild((function(e){n=r?n&&t(e):n&&e instanceof le;})),!!n&&Le(e)&&Re(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}(a)){var u=new ge;try{a=new le(a.type,a.evaluate(u));}catch(t$1){return this.error(t$1.message),null}}return a}return this.error('Unknown expression \"'+n+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':\"Expected an array, but found \"+typeof t+\" instead.\")},je.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 je(this.registry,n,e||null,i,this.errors)},je.prototype.error=function(t){\n \tvar arguments$1 = arguments;\n for(var e=[],r=arguments.length-1;r-- >0;){ e[r]=arguments$1[r+1]; }var n=\"\"+this.key+e.map((function(t){return \"[\"+t+\"]\"})).join(\"\");this.errors.push(new Ft(n,t));},je.prototype.checkSubtype=function(t,e){var r=Yt(t,e);return r&&this.error(r),r};var Ne=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[1];this.labels.push(a[0]),this.outputs.push(o);}};function Ke(t,e,r){return t*(1-r)+e*r}Ne.parse=function(t,e){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.\"); }var r=e.parse(t[1],1,Ot);if(!r){ return null; }var n=[],i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],u=a,l=a+1;if(\"number\"!=typeof o){ return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',u); }if(n.length&&n[n.length-1][0]>=o){ return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',u); }var p=e.parse(s,l,i);if(!p){ return null; }i=i||p.type,n.push([o,p]);}return new Ne(i,r,n)},Ne.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[qe(e,n)].evaluate(t)},Ne.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1){ t(r[e]); }},Ne.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},Ne.prototype.serialize=function(){for(var t=[\"step\",this.input.serialize()],e=0;e<this.labels.length;e++){ e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize()); }return t};var Ge=Object.freeze({__proto__:null,number:Ke,color:function(t,e,r){return new te(Ke(t.r,e.r,r),Ke(t.g,e.g,r),Ke(t.b,e.b,r),Ke(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ke(t,e[n],r)}))}}),Ze=6/29*3*(6/29),Xe=Math.PI/180,Je=180/Math.PI;function He(t){return t>.008856451679035631?Math.pow(t,1/3):t/Ze+4/29}function Ye(t){return t>6/29?t*t*t:Ze*(t-4/29)}function $e(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function We(t){return (t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Qe(t){var e=We(t.r),r=We(t.g),n=We(t.b),i=He((.4124564*e+.3575761*r+.1804375*n)/.95047),a=He((.2126729*e+.7151522*r+.072175*n)/1);return {l:116*a-16,a:500*(i-a),b:200*(a-He((.0193339*e+.119192*r+.9503041*n)/1.08883)),alpha:t.a}}function tr(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*Ye(e),r=.95047*Ye(r),n=1.08883*Ye(n),new te($e(3.2404542*r-1.5371385*e-.4985314*n),$e(-.969266*r+1.8760108*e+.041556*n),$e(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function er(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var rr={forward:Qe,reverse:tr,interpolate:function(t,e,r){return {l:Ke(t.l,e.l,r),a:Ke(t.a,e.a,r),b:Ke(t.b,e.b,r),alpha:Ke(t.alpha,e.alpha,r)}}},nr={forward:function(t){var e=Qe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*Je;return {h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Xe,r=t.c;return tr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return {h:er(t.h,e.h,r),c:Ke(t.c,e.c,r),l:Ke(t.l,e.l,r),alpha:Ke(t.alpha,e.alpha,r)}}},ir=Object.freeze({__proto__:null,lab:rr,hcl:nr}),ar=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],u=s[1];this.labels.push(s[0]),this.outputs.push(u);}};function or(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}ar.interpolationFactor=function(t,e,n,i){var a=0;if(\"exponential\"===t.name){ a=or(e,t.base,n,i); }else if(\"linear\"===t.name){ a=or(e,1,n,i); }else if(\"cubic-bezier\"===t.name){var o=t.controlPoints;a=new r(o[0],o[1],o[2],o[3]).solve(or(e,1,n,i));}return a},ar.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length){ return e.error(\"Expected an interpolation type expression.\",1); }if(\"linear\"===n[0]){ n={name:\"linear\"}; }else if(\"exponential\"===n[0]){var o=n[1];if(\"number\"!=typeof o){ return e.error(\"Exponential interpolation requires a numeric base.\",1,1); }n={name:\"exponential\",base:o};}else {if(\"cubic-bezier\"!==n[0]){ return e.error(\"Unknown interpolation type \"+String(n[0]),1,0); }var s=n.slice(1);if(4!==s.length||s.some((function(t){return \"number\"!=typeof t||t<0||t>1}))){ 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,Ot))){ return null; }var u=[],l=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?l=jt:e.expectedType&&\"value\"!==e.expectedType.kind&&(l=e.expectedType);for(var p=0;p<a.length;p+=2){var c=a[p],h=a[p+1],f=p+3,y=p+4;if(\"number\"!=typeof c){ return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',f); }if(u.length&&u[u.length-1][0]>=c){ return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',f); }var d=e.parse(h,y,l);if(!d){ return null; }l=l||d.type,u.push([c,d]);}return \"number\"===l.kind||\"color\"===l.kind||\"array\"===l.kind&&\"number\"===l.itemType.kind&&\"number\"==typeof l.N?new ar(l,r,n,i,u):e.error(\"Type \"+Jt(l)+\" is not interpolatable.\")},ar.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 a=qe(e,n),o=ar.interpolationFactor(this.interpolation,n,e[a],e[a+1]),s=r[a].evaluate(t),u=r[a+1].evaluate(t);return \"interpolate\"===this.operator?Ge[this.type.kind.toLowerCase()](s,u,o):\"interpolate-hcl\"===this.operator?nr.reverse(nr.interpolate(nr.forward(s),nr.forward(u),o)):rr.reverse(rr.interpolate(rr.forward(s),rr.forward(u),o))},ar.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1){ t(r[e]); }},ar.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},ar.prototype.serialize=function(){var t;t=\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++){ e.push(this.labels[r],this.outputs[r].serialize()); }return e};var sr=function(t,e){this.type=t,this.args=e;};sr.parse=function(t,e){if(t.length<2){ return e.error(\"Expectected at least one argument.\"); }var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=e.parse(o[a],1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!s){ return null; }r=r||s.type,i.push(s);}var u=n&&i.some((function(t){return Yt(n,t.type)}));return new sr(u?Nt:r,i)},sr.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(t))&&r instanceof ie&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);i+=1){ }return r},sr.prototype.eachChild=function(t){this.args.forEach(t);},sr.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},sr.prototype.serialize=function(){var t=[\"coalesce\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var ur=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;};ur.prototype.evaluate=function(t){return this.result.evaluate(t)},ur.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1){ t(r[e][1]); }t(this.result);},ur.parse=function(t,e){if(t.length<4){ return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\"); }for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if(\"string\"!=typeof i){ return e.error(\"Expected string, but found \"+typeof i+\" instead.\",n); }if(/[^a-zA-Z0-9_]/.test(i)){ return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",n); }var a=e.parse(t[n+1],n+1);if(!a){ return null; }r.push([i,a]);}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new ur(r,o):null},ur.prototype.outputDefined=function(){return this.result.outputDefined()},ur.prototype.serialize=function(){for(var t=[\"let\"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e];t.push(n[0],n[1].serialize());}return t.push(this.result.serialize()),t};var lr=function(t,e,r){this.type=t,this.index=e,this.input=r;};lr.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,Ot),n=e.parse(t[2],2,Xt(e.expectedType||Nt));return r&&n?new lr(n.type.itemType,r,n):null},lr.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0){ throw new pe(\"Array index out of bounds: \"+e+\" < 0.\"); }if(e>=r.length){ throw new pe(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\"); }if(e!==Math.floor(e)){ throw new pe(\"Array index must be an integer, but found \"+e+\" instead.\"); }return r[e]},lr.prototype.eachChild=function(t){t(this.index),t(this.input);},lr.prototype.outputDefined=function(){return !1},lr.prototype.serialize=function(){return [\"at\",this.index.serialize(),this.input.serialize()]};var pr=function(t,e){this.type=Ut,this.needle=t,this.haystack=e;};pr.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,Nt),n=e.parse(t[2],2,Nt);return r&&n?$t(r.type,[Ut,Rt,Ot,Lt,Nt])?new pr(r,n):e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(r.type)+\" instead\"):null},pr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r){ return !1; }if(!Wt(e,[\"boolean\",\"string\",\"number\",\"null\"])){ throw new pe(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(se(e))+\" instead.\"); }if(!Wt(r,[\"string\",\"array\"])){ throw new pe(\"Expected second argument to be of type array or string, but found \"+Jt(se(r))+\" instead.\"); }return r.indexOf(e)>=0},pr.prototype.eachChild=function(t){t(this.needle),t(this.haystack);},pr.prototype.outputDefined=function(){return !0},pr.prototype.serialize=function(){return [\"in\",this.needle.serialize(),this.haystack.serialize()]};var cr=function(t,e,r){this.type=Ot,this.needle=t,this.haystack=e,this.fromIndex=r;};cr.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,Nt),n=e.parse(t[2],2,Nt);if(!r||!n){ return null; }if(!$t(r.type,[Ut,Rt,Ot,Lt,Nt])){ return e.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(r.type)+\" instead\"); }if(4===t.length){var i=e.parse(t[3],3,Ot);return i?new cr(r,n,i):null}return new cr(r,n)},cr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!Wt(e,[\"boolean\",\"string\",\"number\",\"null\"])){ throw new pe(\"Expected first argument to be of type boolean, string, number or null, but found \"+Jt(se(e))+\" instead.\"); }if(!Wt(r,[\"string\",\"array\"])){ throw new pe(\"Expected second argument to be of type array or string, but found \"+Jt(se(r))+\" instead.\"); }if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},cr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);},cr.prototype.outputDefined=function(){return !1},cr.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 hr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a;};hr.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={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],u=t[o+1];Array.isArray(s)||(s=[s]);var l=e.concat(o);if(0===s.length){ return l.error(\"Expected at least one branch label.\"); }for(var p=0,c=s;p<c.length;p+=1){var h=c[p];if(\"number\"!=typeof h&&\"string\"!=typeof h){ return l.error(\"Branch labels must be numbers or strings.\"); }if(\"number\"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER){ return l.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\"); }if(\"number\"==typeof h&&Math.floor(h)!==h){ return l.error(\"Numeric branch labels must be integer values.\"); }if(r){if(l.checkSubtype(r,se(h))){ return null }}else { r=se(h); }if(void 0!==i[String(h)]){ return l.error(\"Branch labels must be unique.\"); }i[String(h)]=a.length;}var f=e.parse(u,o,n);if(!f){ return null; }n=n||f.type,a.push(f);}var y=e.parse(t[1],1,Nt);if(!y){ return null; }var d=e.parse(t[t.length-1],t.length-1,n);return d?\"value\"!==y.type.kind&&e.concat(1).checkSubtype(r,y.type)?null:new hr(r,n,y,i,a,d):null},hr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return (se(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},hr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);},hr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},hr.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(c=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[c][1].push(o);}for(var s=function(e){return \"number\"===t.inputType.kind?Number(e):e},u=0,l=r;u<l.length;u+=1){var p=l[u],c=p[0],h=p[1];e.push(1===h.length?s(h[0]):h.map(s)),e.push(this.outputs[outputIndex$1].serialize());}return e.push(this.otherwise.serialize()),e};var fr=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r;};fr.parse=function(t,e){if(t.length<4){ return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\"); }if(t.length%2!=0){ return e.error(\"Expected an odd number of arguments.\"); }var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,Ut);if(!a){ return null; }var o=e.parse(t[i+1],i+1,r);if(!o){ return null; }n.push([a,o]),r=r||o.type;}var s=e.parse(t[t.length-1],t.length-1,r);return s?new fr(r,n,s):null},fr.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];if(n[0].evaluate(t)){ return i.evaluate(t) }}return this.otherwise.evaluate(t)},fr.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[1];t(n[0]),t(i);}t(this.otherwise);},fr.prototype.outputDefined=function(){return this.branches.every((function(t){return t[1].outputDefined()}))&&this.otherwise.outputDefined()},fr.prototype.serialize=function(){var t=[\"case\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var yr=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;};function dr(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function mr(t,e,r,n){return 0===n.compare(e,r)}function vr(t,e,r){var n=\"==\"!==t&&\"!=\"!==t;return function(){function i(t,e,r){this.type=Ut,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}return i.parse=function(t,e){if(3!==t.length&&4!==t.length){ return e.error(\"Expected two or three arguments.\"); }var r=t[0],a=e.parse(t[1],1,Nt);if(!a){ return null; }if(!dr(r,a.type)){ return e.concat(1).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Jt(a.type)+\"'.\"); }var o=e.parse(t[2],2,Nt);if(!o){ return null; }if(!dr(r,o.type)){ return e.concat(2).error('\"'+r+\"\\\" comparisons are not supported for type '\"+Jt(o.type)+\"'.\"); }if(a.type.kind!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind){ return e.error(\"Cannot compare types '\"+Jt(a.type)+\"' and '\"+Jt(o.type)+\"'.\"); }n&&(\"value\"===a.type.kind&&\"value\"!==o.type.kind?a=new he(o.type,[a]):\"value\"!==a.type.kind&&\"value\"===o.type.kind&&(o=new he(a.type,[o])));var s=null;if(4===t.length){if(\"string\"!==a.type.kind&&\"string\"!==o.type.kind&&\"value\"!==a.type.kind&&\"value\"!==o.type.kind){ return e.error(\"Cannot use collator to compare non-string types.\"); }if(!(s=e.parse(t[3],3,Kt))){ return null }}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=se(a),u=se(o);if(s.kind!==u.kind||\"string\"!==s.kind&&\"number\"!==s.kind){ throw new pe('Expected arguments for \"'+t+'\" to be (string, string) or (number, number), but found ('+s.kind+\", \"+u.kind+\") instead.\") }}if(this.collator&&!n&&this.hasUntypedArgument){var l=se(a),p=se(o);if(\"string\"!==l.kind||\"string\"!==p.kind){ return e(i,a,o) }}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);},i.prototype.outputDefined=function(){return !0},i.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize());})),e},i}()}yr.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,Nt),n=e.parse(t[2],2,Ot);if(!r||!n){ return null; }if(!$t(r.type,[Xt(Nt),Rt,Nt])){ return e.error(\"Expected first argument to be of type array or string, but found \"+Jt(r.type)+\" instead\"); }if(4===t.length){var i=e.parse(t[3],3,Ot);return i?new yr(r.type,r,n,i):null}return new yr(r.type,r,n)},yr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!Wt(e,[\"string\",\"array\"])){ throw new pe(\"Expected first argument to be of type array or string, but found \"+Jt(se(e))+\" instead.\"); }if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},yr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);},yr.prototype.outputDefined=function(){return !1},yr.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 gr=vr(\"==\",(function(t,e,r){return e===r}),mr),xr=vr(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !mr(0,e,r,n)})),br=vr(\"<\",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),wr=vr(\">\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),_r=vr(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Ar=vr(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Sr=function(t,e,r,n,i){this.type=Rt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;};Sr.parse=function(t,e){if(3!==t.length){ return e.error(\"Expected two arguments.\"); }var r=e.parse(t[1],1,Ot);if(!r){ return null; }var n=t[2];if(\"object\"!=typeof 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,Rt))){ return null; }var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Rt))){ return null; }var o=null;if(n[\"min-fraction-digits\"]&&!(o=e.parse(n[\"min-fraction-digits\"],1,Ot))){ return null; }var s=null;return n[\"max-fraction-digits\"]&&!(s=e.parse(n[\"max-fraction-digits\"],1,Ot))?null:new Sr(r,i,a,o,s)},Sr.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))},Sr.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);},Sr.prototype.outputDefined=function(){return !1},Sr.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 kr=function(t){this.type=Ot,this.input=t;};kr.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 \"+Jt(r.type)+\" instead.\"):new kr(r):null},kr.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 pe(\"Expected value to be of type string or array, but found \"+Jt(se(e))+\" instead.\")},kr.prototype.eachChild=function(t){t(this.input);},kr.prototype.outputDefined=function(){return !1},kr.prototype.serialize=function(){var t=[\"length\"];return this.eachChild((function(e){t.push(e.serialize());})),t};var Ir={\"==\":gr,\"!=\":xr,\">\":wr,\"<\":br,\">=\":Ar,\"<=\":_r,array:he,at:lr,boolean:he,case:fr,coalesce:sr,collator:be,format:fe,image:ye,in:pr,\"index-of\":cr,interpolate:ar,\"interpolate-hcl\":ar,\"interpolate-lab\":ar,length:kr,let:ur,literal:le,match:hr,number:he,\"number-format\":Sr,object:he,slice:yr,step:Ne,string:he,\"to-boolean\":me,\"to-color\":me,\"to-number\":me,\"to-string\":me,var:Ue,within:De};function zr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ae(r,n,i,o);if(s){ throw new pe(s); }return new te(r/255*o,n/255*o,i/255*o,o)}function Cr(t,e){return t in e}function Er(t,e){var r=e[t];return void 0===r?null:r}function Pr(t){return {type:t}}function Mr(t){return {result:\"success\",value:t}}function Br(t){return {result:\"error\",value:t}}function Tr(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function Vr(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function Fr(t){return !!t.expression&&t.expression.interpolated}function Dr(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function Lr(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Or(t){return t}function Rr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function Ur(t,e,r,n,i){return Rr(typeof r===i?n[r]:void 0,t.default,e.default)}function jr(t,e,r){if(\"number\"!==Dr(r)){ return Rr(t.default,e.default); }var n=t.stops.length;if(1===n){ return t.stops[0][1]; }if(r<=t.stops[0][0]){ return t.stops[0][1]; }if(r>=t.stops[n-1][0]){ return t.stops[n-1][1]; }var i=qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function qr(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==Dr(r)){ return Rr(t.default,e.default); }var i=t.stops.length;if(1===i){ return t.stops[0][1]; }if(r<=t.stops[0][0]){ return t.stops[0][1]; }if(r>=t.stops[i-1][0]){ return t.stops[i-1][1]; }var a=qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],u=t.stops[a+1][1],l=Ge[e.type]||Or;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var p=ir[t.colorSpace];l=function(t,e){return p.reverse(p.interpolate(p.forward(t),p.forward(e),o))};}return \"function\"==typeof s.evaluate?{evaluate:function(){\n \tvar arguments$1 = arguments;\n for(var t=[],e=arguments.length;e--;){ t[e]=arguments$1[e]; }var r=s.evaluate.apply(void 0,t),n=u.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n){ return l(r,n,o) }}}:l(s,u,o)}function Nr(t,e,r){return \"color\"===e.type?r=te.parse(r):\"formatted\"===e.type?r=ne.fromString(r.toString()):\"resolvedImage\"===e.type?r=ie.fromString(r.toString()):Dr(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),Rr(r,t.default,e.default)}xe.register(Ir,{error:[{kind:\"error\"},[Rt],function(t,e){throw new pe(e[0].evaluate(t))}],typeof:[Rt,[Nt],function(t,e){return Jt(se(e[0].evaluate(t)))}],\"to-rgba\":[Xt(Ot,4),[jt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[jt,[Ot,Ot,Ot],zr],rgba:[jt,[Ot,Ot,Ot,Ot],zr],has:{type:Ut,overloads:[[[Rt],function(t,e){return Cr(e[0].evaluate(t),t.properties())}],[[Rt,qt],function(t,e){var r=e[1];return Cr(e[0].evaluate(t),r.evaluate(t))}]]},get:{type:Nt,overloads:[[[Rt],function(t,e){return Er(e[0].evaluate(t),t.properties())}],[[Rt,qt],function(t,e){var r=e[1];return Er(e[0].evaluate(t),r.evaluate(t))}]]},\"feature-state\":[Nt,[Rt],function(t,e){return Er(e[0].evaluate(t),t.featureState||{})}],properties:[qt,[],function(t){return t.properties()}],\"geometry-type\":[Rt,[],function(t){return t.geometryType()}],id:[Nt,[],function(t){return t.id()}],zoom:[Ot,[],function(t){return t.globals.zoom}],\"heatmap-density\":[Ot,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[Ot,[],function(t){return t.globals.lineProgress||0}],accumulated:[Nt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],\"+\":[Ot,Pr(Ot),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1){ r+=i[n].evaluate(t); }return r}],\"*\":[Ot,Pr(Ot),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1){ r*=i[n].evaluate(t); }return r}],\"-\":{type:Ot,overloads:[[[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)-r.evaluate(t)}],[[Ot],function(t,e){return -e[0].evaluate(t)}]]},\"/\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)/r.evaluate(t)}],\"%\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return e[0].evaluate(t)%r.evaluate(t)}],ln2:[Ot,[],function(){return Math.LN2}],pi:[Ot,[],function(){return Math.PI}],e:[Ot,[],function(){return Math.E}],\"^\":[Ot,[Ot,Ot],function(t,e){var r=e[1];return Math.pow(e[0].evaluate(t),r.evaluate(t))}],sqrt:[Ot,[Ot],function(t,e){return Math.sqrt(e[0].evaluate(t))}],log10:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN10}],ln:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))}],log2:[Ot,[Ot],function(t,e){return Math.log(e[0].evaluate(t))/Math.LN2}],sin:[Ot,[Ot],function(t,e){return Math.sin(e[0].evaluate(t))}],cos:[Ot,[Ot],function(t,e){return Math.cos(e[0].evaluate(t))}],tan:[Ot,[Ot],function(t,e){return Math.tan(e[0].evaluate(t))}],asin:[Ot,[Ot],function(t,e){return Math.asin(e[0].evaluate(t))}],acos:[Ot,[Ot],function(t,e){return Math.acos(e[0].evaluate(t))}],atan:[Ot,[Ot],function(t,e){return Math.atan(e[0].evaluate(t))}],min:[Ot,Pr(Ot),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Ot,Pr(Ot),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Ot,[Ot],function(t,e){return Math.abs(e[0].evaluate(t))}],round:[Ot,[Ot],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Ot,[Ot],function(t,e){return Math.floor(e[0].evaluate(t))}],ceil:[Ot,[Ot],function(t,e){return Math.ceil(e[0].evaluate(t))}],\"filter-==\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[Ut,[Nt],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[Ut,[Rt],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[Ut,[Rt,Nt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[Ut,[Nt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[Ut,[Nt],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[Ut,[],function(t){return null!==t.id()&&void 0!==t.id()}],\"filter-type-in\":[Ut,[Xt(Rt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[Ut,[Xt(Nt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[Ut,[Rt,Xt(Nt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[Ut,[Rt,Xt(Nt)],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:Ut,overloads:[[[Ut,Ut],function(t,e){var r=e[1];return e[0].evaluate(t)&&r.evaluate(t)}],[Pr(Ut),function(t,e){for(var r=0,n=e;r<n.length;r+=1){ if(!n[r].evaluate(t)){ return !1; } }return !0}]]},any:{type:Ut,overloads:[[[Ut,Ut],function(t,e){var r=e[1];return e[0].evaluate(t)||r.evaluate(t)}],[Pr(Ut),function(t,e){for(var r=0,n=e;r<n.length;r+=1){ if(n[r].evaluate(t)){ return !0; } }return !1}]]},\"!\":[Ut,[Ut],function(t,e){return !e[0].evaluate(t)}],\"is-supported-script\":[Ut,[Rt],function(t,e){var r=t.globals&&t.globals.isSupportedScript;return !r||r(e[0].evaluate(t))}],upcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Rt,[Rt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Rt,Pr(Nt),function(t,e){return e.map((function(e){return ue(e.evaluate(t))})).join(\"\")}],\"resolved-locale\":[Rt,[Kt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Kr=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new ge,this._defaultValue=e?function(t){return \"color\"===t.type&&Lr(t.default)?new te(0,0,0,0):\"color\"===t.type?te.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&\"enum\"===e.type?e.values:null;};function Gr(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Ir}function Zr(t,e){var r=new je(Ir,[],e?function(t){var e={color:jt,string:Rt,number:Ot,enum:Rt,boolean:Ut,formatted:Gt,resolvedImage:Zt};return \"array\"===t.type?Xt(e[t.value]||Nt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?Mr(new Kr(n,e)):Br(r.errors)}Kr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},Kr.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||\"number\"==typeof o&&o!=o){ return this._defaultValue; }if(this._enumValues&&!(o in this._enumValues)){ throw new pe(\"Expected value to be one of \"+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(\", \")+\", but found \"+JSON.stringify(o)+\" instead.\"); }return o}catch(t$1){return this._warningHistory[t$1.message]||(this._warningHistory[t$1.message]=!0,\"undefined\"!=typeof console&&console.warn(t$1.message)),this._defaultValue}};var Xr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!Oe(e.expression);};Xr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Xr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var Jr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!Oe(e.expression),this.interpolationType=n;};function Hr(t,e){if(\"error\"===(t=Zr(t,e)).result){ return t; }var r=t.value.expression,n=Le(r);if(!n&&!Tr(e)){ return Br([new Ft(\"\",\"data expressions not supported\")]); }var i=Re(r,[\"zoom\"]);if(!i&&!Vr(e)){ return Br([new Ft(\"\",\"zoom expressions not supported\")]); }var a=function t(e){var r=null;if(e instanceof ur){ r=t(e.result); }else if(e instanceof sr){ for(var n=0,i=e.args;n<i.length&&!(r=t(i[n]));n+=1){ } }else { (e instanceof Ne||e instanceof ar)&&e.input instanceof xe&&\"zoom\"===e.input.name&&(r=e); }return r instanceof Ft||e.eachChild((function(e){var n=t(e);n instanceof Ft?r=n:!r&&n?r=new Ft(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new Ft(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),r}(r);return a||i?a instanceof Ft?Br([a]):a instanceof ar&&!Fr(e)?Br([new Ft(\"\",'\"interpolate\" expressions cannot be used with this property')]):Mr(a?new Jr(n?\"camera\":\"composite\",t.value,a.labels,a instanceof ar?a.interpolation:void 0):new Xr(n?\"constant\":\"source\",t.value)):Br([new Ft(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}Jr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},Jr.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},Jr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?ar.interpolationFactor(this.interpolationType,t,e,r):0};var Yr=function(t,e){this._parameters=t,this._specification=e,Bt(this,function t(e,r){var n,i,a,o=\"color\"===r.type,s=e.stops&&\"object\"==typeof e.stops[0][0],u=s||!(s||void 0!==e.property),l=e.type||(Fr(r)?\"exponential\":\"interval\");if(o&&((e=Bt({},e)).stops&&(e.stops=e.stops.map((function(t){return [t[0],te.parse(t[1])]}))),e.default=te.parse(e.default?e.default:r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!ir[e.colorSpace]){ throw new Error(\"Unknown color space: \"+e.colorSpace); }if(\"exponential\"===l){ n=qr; }else if(\"interval\"===l){ n=jr; }else if(\"categorical\"===l){n=Ur,i=Object.create(null);for(var p=0,c=e.stops;p<c.length;p+=1){var h=c[p];i[h[0]]=h[1];}a=typeof e.stops[0][0];}else {if(\"identity\"!==l){ throw new Error('Unknown function type \"'+l+'\"'); }n=Nr;}if(s){for(var f={},y=[],d=0;d<e.stops.length;d++){var m=e.stops[d],v=m[0].zoom;void 0===f[v]&&(f[v]={zoom:v,type:e.type,property:e.property,default:e.default,stops:[]},y.push(v)),f[v].stops.push([m[0].value,m[1]]);}for(var g=[],x=0,b=y;x<b.length;x+=1){var w=b[x];g.push([f[w].zoom,t(f[w],r)]);}var _={name:\"linear\"};return {kind:\"composite\",interpolationType:_,interpolationFactor:ar.interpolationFactor.bind(void 0,_),zoomStops:g.map((function(t){return t[0]})),evaluate:function(t,n){var i=t.zoom;return qr({stops:g,base:e.base},r,i).evaluate(i,n)}}}if(u){var A=\"exponential\"===l?{name:\"exponential\",base:void 0!==e.base?e.base:1}:null;return {kind:\"camera\",interpolationType:A,interpolationFactor:ar.interpolationFactor.bind(void 0,A),zoomStops:e.stops.map((function(t){return t[0]})),evaluate:function(t){return n(e,r,t.zoom,i,a)}}}return {kind:\"source\",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?Rr(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification));};function $r(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],u=Dr(r);if(\"object\"!==u){ return [new Pt(e,r,\"object expected, \"+u+\" found\")]; }for(var l in r){var p=l.split(\".\")[0],c=n[p]||n[\"*\"],h=void 0;if(i[p]){ h=i[p]; }else if(n[p]){ h=An; }else if(i[\"*\"]){ h=i[\"*\"]; }else {if(!n[\"*\"]){s.push(new Pt(e,r[l],'unknown property \"'+l+'\"'));continue}h=An;}s=s.concat(h({key:(e?e+\".\":e)+l,value:r[l],valueSpec:c,style:a,styleSpec:o,object:r,objectKey:l},r));}for(var f in n){ i[f]||n[f].required&&void 0===n[f].default&&void 0===r[f]&&s.push(new Pt(e,r,'missing required property \"'+f+'\"')); }return s}function Wr(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||An;if(\"array\"!==Dr(e)){ return [new Pt(a,e,\"array expected, \"+Dr(e)+\" found\")]; }if(r.length&&e.length!==r.length){ return [new Pt(a,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")]; }if(r[\"min-length\"]&&e.length<r[\"min-length\"]){ return [new Pt(a,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")]; }var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),\"object\"===Dr(r.value)&&(s=r.value);for(var u=[],l=0;l<e.length;l++){ u=u.concat(o({array:e,arrayIndex:l,value:e[l],valueSpec:s,style:n,styleSpec:i,key:a+\"[\"+l+\"]\"})); }return u}function Qr(t){var e=t.key,r=t.value,n=t.valueSpec,i=Dr(r);return \"number\"===i&&r!=r&&(i=\"NaN\"),\"number\"!==i?[new Pt(e,r,\"number expected, \"+i+\" found\")]:\"minimum\"in n&&r<n.minimum?[new Pt(e,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new Pt(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function tn(t){var e,r,n,i=t.valueSpec,a=Tt(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,u=!s,l=\"array\"===Dr(t.value.stops)&&\"array\"===Dr(t.value.stops[0])&&\"object\"===Dr(t.value.stops[0][0]),p=$r({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a){ return [new Pt(t.key,t.value,'identity function may not have a \"stops\" property')]; }var e=[],r=t.value;return e=e.concat(Wr({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:c})),\"array\"===Dr(r)&&0===r.length&&e.push(new Pt(t.key,r,\"array must have at least one stop\")),e},default:function(t){return An({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===a&&s&&p.push(new Pt(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||p.push(new Pt(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&t.valueSpec.expression&&!Fr(t.valueSpec)&&p.push(new Pt(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(u&&!Tr(t.valueSpec)?p.push(new Pt(t.key,t.value,\"property functions not supported\")):s&&!Vr(t.valueSpec)&&p.push(new Pt(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!l||void 0!==t.value.property||p.push(new Pt(t.key,t.value,'\"property\" property is required')),p;function c(t){var e=[],a=t.value,s=t.key;if(\"array\"!==Dr(a)){ return [new Pt(s,a,\"array expected, \"+Dr(a)+\" found\")]; }if(2!==a.length){ return [new Pt(s,a,\"array length 2 expected, length \"+a.length+\" found\")]; }if(l){if(\"object\"!==Dr(a[0])){ return [new Pt(s,a,\"object expected, \"+Dr(a[0])+\" found\")]; }if(void 0===a[0].zoom){ return [new Pt(s,a,\"object stop key must have zoom\")]; }if(void 0===a[0].value){ return [new Pt(s,a,\"object stop key must have value\")]; }if(n&&n>Tt(a[0].zoom)){ return [new Pt(s,a[0].zoom,\"stop zoom values must appear in ascending order\")]; }Tt(a[0].zoom)!==n&&(n=Tt(a[0].zoom),r=void 0,o={}),e=e.concat($r({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Qr,value:h}}));}else { e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a)); }return Gr(Vt(a[1]))?e.concat([new Pt(s+\"[1]\",a[1],\"expressions are not allowed in function stops.\")]):e.concat(An({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Dr(t.value),u=Tt(t.value),l=null!==t.value?t.value:n;if(e){if(s!==e){ return [new Pt(t.key,l,s+\" stop domain type must match previous stop domain type \"+e)] }}else { e=s; }if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s){ return [new Pt(t.key,l,\"stop domain value must be a number, string, or boolean\")]; }if(\"number\"!==s&&\"categorical\"!==a){var p=\"number expected, \"+s+\" found\";return Tr(i)&&void 0===a&&(p+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new Pt(t.key,l,p)]}return \"categorical\"!==a||\"number\"!==s||isFinite(u)&&Math.floor(u)===u?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&u<r?[new Pt(t.key,l,\"stop domain values must appear in ascending order\")]:(r=u,\"categorical\"===a&&u in o?[new Pt(t.key,l,\"stop domain values must be unique\")]:(o[u]=!0,[])):[new Pt(t.key,l,\"integer expected, found \"+u)]}}function en(t){var e=(\"property\"===t.expressionContext?Hr:Zr)(Vt(t.value),t.valueSpec);if(\"error\"===e.result){ return e.value.map((function(e){return new Pt(\"\"+t.key+e.key,t.value,e.message)})); }var r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined()){ return [new Pt(t.key,t.value,'Invalid data expression for \"'+t.propertyKey+'\". Output values must be contained as literals within the expression.')]; }if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!Oe(r)){ return [new Pt(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')]; }if(\"filter\"===t.expressionContext&&!Oe(r)){ return [new Pt(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')]; }if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!Re(r,[\"zoom\",\"feature-state\"])){ return [new Pt(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')]; }if(\"cluster-initial\"===t.expressionContext&&!Le(r)){ return [new Pt(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")] }}return []}function rn(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Tt(r))&&i.push(new Pt(e,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(Tt(r))&&i.push(new Pt(e,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),i}function nn(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<r.length;e+=1){var n=r[e];if(!nn(n)&&\"boolean\"!=typeof n){ return !1 }}return !0;default:return !0}}Yr.deserialize=function(t){return new Yr(t._parameters,t._specification)},Yr.serialize=function(t){return {_parameters:t._parameters,_specification:t._specification}};var an={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function on(t){if(null==t){ return {filter:function(){return !0},needGeometry:!1}; }nn(t)||(t=un(t));var e=Zr(t,an);if(\"error\"===e.result){ throw new Error(e.value.map((function(t){return t.key+\": \"+t.message})).join(\", \")); }return {filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:function t(e){if(!Array.isArray(e)){ return !1; }if(\"within\"===e[0]){ return !0; }for(var r=1;r<e.length;r++){ if(t(e[r])){ return !0; } }return !1}(t)}}function sn(t,e){return t<e?-1:t>e?1:0}function un(t){if(!t){ return !0; }var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?ln(t[1],t[2],\"==\"):\"!=\"===r?hn(ln(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?ln(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(un))):\"all\"===r?[\"all\"].concat(t.slice(1).map(un)):\"none\"===r?[\"all\"].concat(t.slice(1).map(un).map(hn)):\"in\"===r?pn(t[1],t.slice(2)):\"!in\"===r?hn(pn(t[1],t.slice(2))):\"has\"===r?cn(t[1]):\"!has\"===r?hn(cn(t[1])):\"within\"!==r||t}function ln(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 pn(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 typeof t!=typeof e[0]}))?[\"filter-in-large\",t,[\"literal\",e.sort(sn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function cn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function hn(t){return [\"!\",t]}function fn(t){return nn(Vt(t.value))?en(Bt({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==Dr(r)){ return [new Pt(n,r,\"array expected, \"+Dr(r)+\" found\")]; }var i,a=e.styleSpec,o=[];if(r.length<1){ return [new Pt(n,r,\"filter array must have at least 1 element\")]; }switch(o=o.concat(rn({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),Tt(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===Tt(r[1])&&o.push(new Pt(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new Pt(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=Dr(r[1]))&&o.push(new Pt(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s<r.length;s++){ i=Dr(r[s]),\"$type\"===Tt(r[1])?o=o.concat(rn({key:n+\"[\"+s+\"]\",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==i&&\"number\"!==i&&\"boolean\"!==i&&o.push(new Pt(n+\"[\"+s+\"]\",r[s],\"string, number, or boolean expected, \"+i+\" found\")); }break;case\"any\":case\"all\":case\"none\":for(var u=1;u<r.length;u++){ o=o.concat(t({key:n+\"[\"+u+\"]\",value:r[u],style:e.style,styleSpec:e.styleSpec})); }break;case\"has\":case\"!has\":i=Dr(r[1]),2!==r.length?o.push(new Pt(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==i&&o.push(new Pt(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));break;case\"within\":i=Dr(r[1]),2!==r.length?o.push(new Pt(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"object\"!==i&&o.push(new Pt(n+\"[1]\",r[1],\"object expected, \"+i+\" found\"));}return o}(t)}function yn(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+\"_\"+t.layerType];if(!s){ return []; }var u=o.match(/^(.*)-transition$/);if(\"paint\"===e&&u&&s[u[1]]&&s[u[1]].transition){ return An({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i}); }var l,p=t.valueSpec||s[o];if(!p){ return [new Pt(r,a,'unknown property \"'+o+'\"')]; }if(\"string\"===Dr(a)&&Tr(p)&&!p.tokens&&(l=/^{([^}]+)}$/.exec(a))){ return [new Pt(r,a,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(l[1])+\" }`.\")]; }var c=[];return \"symbol\"===t.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&c.push(new Pt(r,a,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&Lr(Vt(a))&&\"identity\"===Tt(a.type)&&c.push(new Pt(r,a,'\"text-font\" does not support identity functions'))),c.concat(An({key:t.key,value:a,valueSpec:p,style:n,styleSpec:i,expressionContext:\"property\",propertyType:e,propertyKey:o}))}function dn(t){return yn(t,\"paint\")}function mn(t){return yn(t,\"layout\")}function vn(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new Pt(n,r,'either \"type\" or \"ref\" is required'));var o,s=Tt(r.type),u=Tt(r.ref);if(r.id){ for(var l=Tt(r.id),p=0;p<t.arrayIndex;p++){var c=i.layers[p];Tt(c.id)===l&&e.push(new Pt(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+c.id.__line__));} }if(\"ref\"in r){ [\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach((function(t){t in r&&e.push(new Pt(n,r[t],'\"'+t+'\" is prohibited for ref layers'));})),i.layers.forEach((function(t){Tt(t.id)===u&&(o=t);})),o?o.ref?e.push(new Pt(n,r.ref,\"ref cannot reference another ref layer\")):s=Tt(o.type):e.push(new Pt(n,r.ref,'ref layer \"'+u+'\" not found')); }else if(\"background\"!==s){ if(r.source){var h=i.sources&&i.sources[r.source],f=h&&Tt(h.type);h?\"vector\"===f&&\"raster\"===s?e.push(new Pt(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===f&&\"raster\"!==s?e.push(new Pt(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==f||r[\"source-layer\"]?\"raster-dem\"===f&&\"hillshade\"!==s?e.push(new Pt(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===f&&h.lineMetrics||e.push(new Pt(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new Pt(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new Pt(n,r.source,'source \"'+r.source+'\" not found'));}else { e.push(new Pt(n,r,'missing required property \"source\"')); } }return e=e.concat($r({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return []},type:function(){return An({key:n+\".type\",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},filter:fn,layout:function(t){return $r({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return mn(Bt({layerType:s},t))}}})},paint:function(t){return $r({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return dn(Bt({layerType:s},t))}}})}}}))}function gn(t){var e=t.value,r=t.key,n=Dr(e);return \"string\"!==n?[new Pt(r,e,\"string expected, \"+n+\" found\")]:[]}var xn={promoteId:function(t){var e=t.key,r=t.value;if(\"string\"===Dr(r)){ return gn({key:e,value:r}); }var n=[];for(var i in r){ n.push.apply(n,gn({key:e+\".\"+i,value:r[i]})); }return n}};function bn(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type){ return [new Pt(r,e,'\"type\" is required')]; }var a,o=Tt(e.type);switch(o){case\"vector\":case\"raster\":case\"raster-dem\":return $r({key:r,value:e,valueSpec:n[\"source_\"+o.replace(\"-\",\"_\")],style:t.style,styleSpec:n,objectElementValidators:xn});case\"geojson\":if(a=$r({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:xn}),e.cluster){ for(var s in e.clusterProperties){var u=e.clusterProperties[s],l=u[0],p=\"string\"==typeof l?[l,[\"accumulated\"],[\"get\",s]]:l;a.push.apply(a,en({key:r+\".\"+s+\".map\",value:u[1],expressionContext:\"cluster-map\"})),a.push.apply(a,en({key:r+\".\"+s+\".reduce\",value:p,expressionContext:\"cluster-reduce\"}));} }return a;case\"video\":return $r({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return $r({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return [new Pt(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return rn({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function wn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=Dr(e);if(void 0===e){ return a; }if(\"object\"!==o){ return a.concat([new Pt(\"light\",e,\"object expected, \"+o+\" found\")]); }for(var s in e){var u=s.match(/^(.*)-transition$/);a=a.concat(u&&n[u[1]]&&n[u[1]].transition?An({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r}):n[s]?An({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new Pt(s,e[s],'unknown property \"'+s+'\"')]);}return a}var _n={\"*\":function(){return []},array:Wr,boolean:function(t){var e=t.value,r=t.key,n=Dr(e);return \"boolean\"!==n?[new Pt(r,e,\"boolean expected, \"+n+\" found\")]:[]},number:Qr,color:function(t){var e=t.key,r=t.value,n=Dr(r);return \"string\"!==n?[new Pt(e,r,\"color expected, \"+n+\" found\")]:null===Qt(r)?[new Pt(e,r,'color expected, \"'+r+'\" found')]:[]},constants:Mt,enum:rn,filter:fn,function:tn,layer:vn,object:$r,source:bn,light:wn,string:gn,formatted:function(t){return 0===gn(t).length?[]:en(t)},resolvedImage:function(t){return 0===gn(t).length?[]:en(t)}};function An(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Lr(Tt(e))?tn(t):r.expression&&Gr(Vt(e))?en(t):r.type&&_n[r.type]?_n[r.type](t):$r(Bt({},t,{valueSpec:r.type?n[r.type]:r}))}function Sn(t){var e=t.value,r=t.key,n=gn(t);return n.length||(-1===e.indexOf(\"{fontstack}\")&&n.push(new Pt(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new Pt(r,e,'\"glyphs\" url must include a \"{range}\" token'))),n}function kn(t,e){void 0===e&&(e=Et);var r=[];return r=r.concat(An({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Sn,\"*\":function(){return []}}})),t.constants&&(r=r.concat(Mt({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),In(r)}function In(t){return [].concat(t).sort((function(t,e){return t.line-e.line}))}function zn(t){return function(){\n \tvar arguments$1 = arguments;\n for(var e=[],r=arguments.length;r--;){ e[r]=arguments$1[r]; }return In(t.apply(this,e))}}kn.source=zn(bn),kn.light=zn(wn),kn.layer=zn(vn),kn.filter=zn(fn),kn.paintProperty=zn(dn),kn.layoutProperty=zn(mn);var Cn=kn,En=Cn.light,Pn=Cn.paintProperty,Mn=Cn.layoutProperty;function Bn(t,e){var r=!1;if(e&&e.length){ for(var n=0,i=e;n<i.length;n+=1){ t.fire(new zt(new Error(i[n].message))),r=!0; } }return r}var Tn=Vn;function Vn(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s));}var u=i[3+n.length+1];this.keys=i.subarray(i[3+n.length],u),this.bboxes=i.subarray(u),this.insert=this._insertReadonly;}else {this.d=e+2*r;for(var l=0;l<this.d*this.d;l++){ n.push([]); }this.keys=[],this.bboxes=[];}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var p=r/e*t;this.min=-p,this.max=t+p;}Vn.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i);},Vn.prototype._insertReadonly=function(){throw \"Cannot insert into a GridIndex created from an ArrayBuffer.\"},Vn.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a);},Vn.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i){ return Array.prototype.slice.call(this.keys); }var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},Vn.prototype._queryCell=function(t,e,r,n,i,a,o,s){var u=this.cells[i];if(null!==u){ for(var l=this.keys,p=this.bboxes,c=0;c<u.length;c++){var h=u[c];if(void 0===o[h]){var f=4*h;(s?s(p[f+0],p[f+1],p[f+2],p[f+3]):t<=p[f+2]&&e<=p[f+3]&&r>=p[f+0]&&n>=p[f+1])?(o[h]=!0,a.push(l[h])):o[h]=!1;}} }},Vn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var u=this._convertToCellCoord(t),l=this._convertToCellCoord(e),p=this._convertToCellCoord(r),c=this._convertToCellCoord(n),h=u;h<=p;h++){ for(var f=l;f<=c;f++){var y=this.d*f+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(f),this._convertFromCellCoord(h+1),this._convertFromCellCoord(f+1)))&&i.call(this,t,e,r,n,y,a,o,s)){ return }} }},Vn.prototype._convertFromCellCoord=function(t){return (t-this.padding)/this.scale},Vn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Vn.prototype.toArrayBuffer=function(){if(this.arrayBuffer){ return this.arrayBuffer; }for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++){ r+=this.cells[n].length; }var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length;}return i[3+t.length]=a,i.set(this.keys,a),i[3+t.length+1]=a+=this.keys.length,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var Fn=o.ImageData,Dn=o.ImageBitmap,Ln={};function On(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),Ln[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]};}for(var Rn in On(\"Object\",Object),Tn.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Tn.deserialize=function(t){return new Tn(t.buffer)},On(\"Grid\",Tn),On(\"Color\",te),On(\"Error\",Error),On(\"ResolvedImage\",ie),On(\"StylePropertyFunction\",Yr),On(\"StyleExpression\",Kr,{omit:[\"_evaluator\"]}),On(\"ZoomDependentExpression\",Jr),On(\"ZoomConstantExpression\",Xr),On(\"CompoundExpression\",xe,{omit:[\"_evaluate\"]}),Ir){ Ir[Rn]._classRegistryKey||On(\"Expression_\"+Rn,Ir[Rn]); }function Un(t){return t&&\"undefined\"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&\"ArrayBuffer\"===t.constructor.name)}function jn(t){return Dn&&t instanceof Dn}function qn(t,e){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp){ return t; }if(Un(t)||jn(t)){ return e&&e.push(t),t; }if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof Fn){ return e&&e.push(t.data.buffer),t; }if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1){ n.push(qn(a[i],e)); }return n}if(\"object\"==typeof t){var o=t.constructor,s=o._classRegistryKey;if(!s){ throw new Error(\"can't serialize object of unregistered class\"); }var u=o.serialize?o.serialize(t,e):{};if(!o.serialize){for(var l in t){ if(t.hasOwnProperty(l)&&!(Ln[s].omit.indexOf(l)>=0)){var p=t[l];u[l]=Ln[s].shallow.indexOf(l)>=0?p:qn(p,e);} }t instanceof Error&&(u.message=t.message);}if(u.$name){ throw new Error(\"$name property is reserved for worker serialization logic.\"); }return \"Object\"!==s&&(u.$name=s),u}throw new Error(\"can't serialize object of type \"+typeof t)}function Nn(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||Un(t)||jn(t)||ArrayBuffer.isView(t)||t instanceof Fn){ return t; }if(Array.isArray(t)){ return t.map(Nn); }if(\"object\"==typeof t){var e=t.$name||\"Object\",r=Ln[e].klass;if(!r){ throw new Error(\"can't deserialize unregistered class \"+e); }if(r.deserialize){ return r.deserialize(t); }for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i<a.length;i+=1){var o=a[i];if(\"$name\"!==o){var s=t[o];n[o]=Ln[e].shallow.indexOf(o)>=0?s:Nn(s);}}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}var Kn=function(){this.first=!0;};Kn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var Gn={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function Zn(t){for(var e=0,r=t;e<r.length;e+=1){ if(Xn(r[e].charCodeAt(0))){ return !0; } }return !1}function Xn(t){return !(746!==t&&747!==t&&(t<4352||!(Gn[\"Bopomofo Extended\"](t)||Gn.Bopomofo(t)||Gn[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Gn[\"CJK Compatibility Ideographs\"](t)||Gn[\"CJK Compatibility\"](t)||Gn[\"CJK Radicals Supplement\"](t)||Gn[\"CJK Strokes\"](t)||!(!Gn[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Gn[\"CJK Unified Ideographs Extension A\"](t)||Gn[\"CJK Unified Ideographs\"](t)||Gn[\"Enclosed CJK Letters and Months\"](t)||Gn[\"Hangul Compatibility Jamo\"](t)||Gn[\"Hangul Jamo Extended-A\"](t)||Gn[\"Hangul Jamo Extended-B\"](t)||Gn[\"Hangul Jamo\"](t)||Gn[\"Hangul Syllables\"](t)||Gn.Hiragana(t)||Gn[\"Ideographic Description Characters\"](t)||Gn.Kanbun(t)||Gn[\"Kangxi Radicals\"](t)||Gn[\"Katakana Phonetic Extensions\"](t)||Gn.Katakana(t)&&12540!==t||!(!Gn[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Gn[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Gn[\"Unified Canadian Aboriginal Syllabics\"](t)||Gn[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Gn[\"Vertical Forms\"](t)||Gn[\"Yijing Hexagram Symbols\"](t)||Gn[\"Yi Syllables\"](t)||Gn[\"Yi Radicals\"](t))))}function Jn(t){return !(Xn(t)||function(t){return !!(Gn[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Gn[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Gn[\"Letterlike Symbols\"](t)||Gn[\"Number Forms\"](t)||Gn[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Gn[\"Control Pictures\"](t)&&9251!==t||Gn[\"Optical Character Recognition\"](t)||Gn[\"Enclosed Alphanumerics\"](t)||Gn[\"Geometric Shapes\"](t)||Gn[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Gn[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Gn[\"CJK Symbols and Punctuation\"](t)||Gn.Katakana(t)||Gn[\"Private Use Area\"](t)||Gn[\"CJK Compatibility Forms\"](t)||Gn[\"Small Form Variants\"](t)||Gn[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Hn(t){return t>=1424&&t<=2303||Gn[\"Arabic Presentation Forms-A\"](t)||Gn[\"Arabic Presentation Forms-B\"](t)}function Yn(t,e){return !(!e&&Hn(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Gn.Khmer(t))}function $n(t){for(var e=0,r=t;e<r.length;e+=1){ if(Hn(r[e].charCodeAt(0))){ return !0; } }return !1}var Wn=null,Qn=\"unavailable\",ti=null,ei=function(t){t&&\"string\"==typeof t&&t.indexOf(\"NetworkError\")>-1&&(Qn=\"error\"),Wn&&Wn(t);};function ri(){ni.fire(new It(\"pluginStateChange\",{pluginStatus:Qn,pluginURL:ti}));}var ni=new Ct,ii=function(){return Qn},ai=function(){if(\"deferred\"!==Qn||!ti){ throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\"); }Qn=\"loading\",ri(),ti&&bt({url:ti},(function(t){t?ei(t):(Qn=\"loaded\",ri());}));},oi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return \"loaded\"===Qn||null!=oi.applyArabicShaping},isLoading:function(){return \"loading\"===Qn},setState:function(t){Qn=t.pluginStatus,ti=t.pluginURL;},isParsed:function(){return null!=oi.applyArabicShaping&&null!=oi.processBidirectionalText&&null!=oi.processStyledBidirectionalText},getPluginURL:function(){return ti}},si=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Kn,this.transition={});};si.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1){ if(!Yn(n[r].charCodeAt(0),e)){ return !1; } }return !0}(t,oi.isLoaded())},si.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},si.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var ui=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Lr(t)){ return new Yr(t,e); }if(Gr(t)){var r=Hr(t,e);if(\"error\"===r.result){ throw new Error(r.value.map((function(t){return t.key+\": \"+t.message})).join(\", \")); }return r.value}var n=t;return \"string\"==typeof t&&\"color\"===e.type&&(n=te.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification);};ui.prototype.isDataDriven=function(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind},ui.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var li=function(t){this.property=t,this.value=new ui(t,void 0);};li.prototype.transitioned=function(t,e){return new ci(this.property,this.value,e,h({},t.transition,this.transition),t.now)},li.prototype.untransitioned=function(){return new ci(this.property,this.value,null,{},0)};var pi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);};pi.prototype.getValue=function(t){return w(this._values[t].value.value)},pi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new li(this._values[t].property)),this._values[t].value=new ui(this._values[t].property,null===e?void 0:w(e));},pi.prototype.getTransition=function(t){return w(this._values[t].transition)},pi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new li(this._values[t].property)),this._values[t].transition=w(e)||void 0;},pi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+\"-transition\"]=a);}return t},pi.prototype.transitioned=function(t,e){for(var r=new hi(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a]);}return r},pi.prototype.untransitioned=function(){for(var t=new hi(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned();}return t};var ci=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);};ci.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end){ return this.prior=null,i; }if(this.value.isDataDriven()){ return this.prior=null,i; }if(n<this.begin){ return a.possiblyEvaluate(t,e,r); }var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0){ return 0; }if(t>=1){ return 1; }var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var hi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);};hi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new di(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n},hi.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){ if(this._values[e[t]].prior){ return !0; } }return !1};var fi=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);};fi.prototype.getValue=function(t){return w(this._values[t].value)},fi.prototype.setValue=function(t,e){this._values[t]=new ui(this._values[t].property,null===e?void 0:w(e));},fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);}return t},fi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new di(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r);}return n};var yi=function(t,e,r){this.property=t,this.value=e,this.parameters=r;};yi.prototype.isConstant=function(){return \"constant\"===this.value.kind},yi.prototype.constantOr=function(t){return \"constant\"===this.value.kind?this.value.value:t},yi.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var di=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);};di.prototype.get=function(t){return this._values[t]};var mi=function(t){this.specification=t;};mi.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},mi.prototype.interpolate=function(t,e,r){var n=Ge[this.specification.type];return n?n(t,e,r):t};var vi=function(t,e){this.specification=t,this.overrides=e;};vi.prototype.possiblyEvaluate=function(t,e,r,n){return new yi(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)},vi.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind){ return t; }if(void 0===t.value.value||void 0===e.value.value){ return new yi(this,{kind:\"constant\",value:void 0},t.parameters); }var n=Ge[this.specification.type];return n?new yi(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.parameters):t},vi.prototype.evaluate=function(t,e,r,n,i,a){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value){ return new yi(this,{kind:\"constant\",value:void 0},e); }if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n),a=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new yi(this,{kind:\"constant\",value:o},e)}if(\"camera\"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new yi(this,{kind:\"constant\",value:s},e)}return new yi(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if(\"source\"===t.kind){var o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(vi),xi=function(t){this.specification=t;};xi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new si(Math.floor(e.zoom-1),e)),t.expression.evaluate(new si(Math.floor(e.zoom),e)),t.expression.evaluate(new si(Math.floor(e.zoom+1),e)),e)}},xi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},xi.prototype.interpolate=function(t){return t};var bi=function(t){this.specification=t;};bi.prototype.possiblyEvaluate=function(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)},bi.prototype.interpolate=function(){return !1};var wi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new ui(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new li(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}};On(\"DataDrivenProperty\",vi),On(\"DataConstantProperty\",mi),On(\"CrossFadedDataDrivenProperty\",gi),On(\"CrossFadedProperty\",xi),On(\"ColorRampProperty\",bi);var _i=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return !0},needGeometry:!1},\"custom\"!==e.type&&(this.metadata=(e=e).metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new fi(r.layout)),r.paint)){for(var n in this._transitionablePaint=new pi(r.paint),e.paint){ this.setPaintProperty(n,e.paint[n],{validate:!1}); }for(var i in e.layout){ this.setLayoutProperty(i,e.layout[i],{validate:!1}); }this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new di(r.paint);}}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){void 0===r&&(r={}),null!=e&&this._validate(Mn,\"layers.\"+this.id+\".layout.\"+t,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);},e.prototype.getPaintProperty=function(t){return g(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e&&this._validate(Pn,\"layers.\"+this.id+\".paint.\"+t,t,e,r)){ return !1; }if(g(t,\"-transition\")){ return this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0),!1; }var n=this._transitionablePaint._values[t],i=\"cross-faded-data-driven\"===n.property.specification[\"property-type\"],a=n.value.isDataDriven(),o=n.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var s=this._transitionablePaint._values[t].value;return s.isDataDriven()||a||i||this._handleOverridablePaintPropertyUpdate(t,o,s)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return !1},e.prototype.isHidden=function(t){return !!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,(function(t,e){return !(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Bn(this,t.call(Cn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Et,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return !1},e.prototype.isTileClipped=function(){return !1},e.prototype.hasOffscreenPass=function(){return !1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof yi&&Tr(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent){ return !0 }}return !1},e}(Ct),Ai={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Si=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;},ki=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0);};function Ii(t,e){void 0===e&&(e=1);var r=0,n=0;return {members:t.map((function(t){var i=Ai[t.type].BYTES_PER_ELEMENT,a=r=zi(r,Math.max(e,i)),o=t.components||1;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:zi(r,Math.max(n,e)),alignment:e}}function zi(t,e){return Math.ceil(t/e)*e}ki.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},ki.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},ki.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());},ki.prototype.clear=function(){this.length=0;},ki.prototype.resize=function(t){this.reserve(t),this.length=t;},ki.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}},ki.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var Ci=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(ki);Ci.prototype.bytesPerElement=4,On(\"StructArrayLayout2i4\",Ci);var Ei=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(ki);Ei.prototype.bytesPerElement=8,On(\"StructArrayLayout4i8\",Ei);var Pi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(ki);Pi.prototype.bytesPerElement=12,On(\"StructArrayLayout2i4i12\",Pi);var Mi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,u=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[u+4]=n,this.uint8[u+5]=i,this.uint8[u+6]=a,this.uint8[u+7]=o,t},e}(ki);Mi.prototype.bytesPerElement=8,On(\"StructArrayLayout2i4ub8\",Mi);var Bi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(ki);Bi.prototype.bytesPerElement=8,On(\"StructArrayLayout2f8\",Bi);var Ti=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l){var p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,a,o,s,u,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p){var c=10*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=i,this.uint16[c+4]=a,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=u,this.uint16[c+8]=l,this.uint16[c+9]=p,t},e}(ki);Ti.prototype.bytesPerElement=20,On(\"StructArrayLayout10ui20\",Ti);var Vi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,u,l,p,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=u,this.int16[f+8]=l,this.int16[f+9]=p,this.int16[f+10]=c,this.int16[f+11]=h,t},e}(ki);Vi.prototype.bytesPerElement=24,On(\"StructArrayLayout4i4ui4i24\",Vi);var Fi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(ki);Fi.prototype.bytesPerElement=12,On(\"StructArrayLayout3f12\",Fi);var Di=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint32[1*t+0]=e,t},e}(ki);Di.prototype.bytesPerElement=4,On(\"StructArrayLayout1ul4\",Di);var Li=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,i,a,o,s,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l){var p=10*t,c=5*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.int16[p+4]=a,this.int16[p+5]=o,this.uint32[c+3]=s,this.uint16[p+8]=u,this.uint16[p+9]=l,t},e}(ki);Li.prototype.bytesPerElement=20,On(\"StructArrayLayout6i1ul2ui20\",Li);var Oi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(ki);Oi.prototype.bytesPerElement=12,On(\"StructArrayLayout2i2i2i12\",Oi);var Ri=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(ki);Ri.prototype.bytesPerElement=16,On(\"StructArrayLayout2f1f2i16\",Ri);var Ui=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(ki);Ui.prototype.bytesPerElement=12,On(\"StructArrayLayout2ub2f12\",Ui);var ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(ki);ji.prototype.bytesPerElement=6,On(\"StructArrayLayout3ui6\",ji);var qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v){var g=24*t,x=12*t,b=48*t;return this.int16[g+0]=e,this.int16[g+1]=r,this.uint16[g+2]=n,this.uint16[g+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[g+10]=u,this.uint16[g+11]=l,this.uint16[g+12]=p,this.float32[x+7]=c,this.float32[x+8]=h,this.uint8[b+36]=f,this.uint8[b+37]=y,this.uint8[b+38]=d,this.uint32[x+10]=m,this.int16[g+22]=v,t},e}(ki);qi.prototype.bytesPerElement=48,On(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",qi);var Ni=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z){var C=this.length;return this.resize(C+1),this.emplace(C,t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,A,S,k,I,z,C){var E=34*t,P=17*t;return this.int16[E+0]=e,this.int16[E+1]=r,this.int16[E+2]=n,this.int16[E+3]=i,this.int16[E+4]=a,this.int16[E+5]=o,this.int16[E+6]=s,this.int16[E+7]=u,this.uint16[E+8]=l,this.uint16[E+9]=p,this.uint16[E+10]=c,this.uint16[E+11]=h,this.uint16[E+12]=f,this.uint16[E+13]=y,this.uint16[E+14]=d,this.uint16[E+15]=m,this.uint16[E+16]=v,this.uint16[E+17]=g,this.uint16[E+18]=x,this.uint16[E+19]=b,this.uint16[E+20]=w,this.uint16[E+21]=_,this.uint16[E+22]=A,this.uint32[P+12]=S,this.float32[P+13]=k,this.float32[P+14]=I,this.float32[P+15]=z,this.float32[P+16]=C,t},e}(ki);Ni.prototype.bytesPerElement=68,On(\"StructArrayLayout8i15ui1ul4f68\",Ni);var Ki=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.float32[1*t+0]=e,t},e}(ki);Ki.prototype.bytesPerElement=4,On(\"StructArrayLayout1f4\",Ki);var Gi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(ki);Gi.prototype.bytesPerElement=6,On(\"StructArrayLayout3i6\",Gi);var Zi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(ki);Zi.prototype.bytesPerElement=8,On(\"StructArrayLayout1ul2ui8\",Zi);var Xi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(ki);Xi.prototype.bytesPerElement=4,On(\"StructArrayLayout2ui4\",Xi);var Ji=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){return this.uint16[1*t+0]=e,t},e}(ki);Ji.prototype.bytesPerElement=2,On(\"StructArrayLayout1ui2\",Ji);var Hi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(ki);Hi.prototype.bytesPerElement=16,On(\"StructArrayLayout4f16\",Hi);var Yi=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new i(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Si);Yi.prototype.size=20;var $i=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Yi(this,t)},e}(Li);On(\"CollisionBoxArray\",$i);var Wi=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t;},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t;},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t;},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Si);Wi.prototype.size=48;var Qi=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new Wi(this,t)},e}(qi);On(\"PlacedSymbolArray\",Qi);var ta=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t;},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Si);ta.prototype.size=68;var ea=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ta(this,t)},e}(Ni);On(\"SymbolInstanceArray\",ea);var ra=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(Ki);On(\"GlyphOffsetArray\",ra);var na=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(Gi);On(\"SymbolLineVertexArray\",na);var ia=function(t){function e(){t.apply(this,arguments);}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Si);ia.prototype.size=8;var aa=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.get=function(t){return new ia(this,t)},e}(Zi);On(\"FeatureIndexArray\",aa);var oa=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,sa=function(t){void 0===t&&(t=[]),this.segments=t;};function ua(t,e){return 256*(t=p(Math.floor(t),0,255))+p(Math.floor(e),0,255)}sa.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>sa.MAX_VERTEX_ARRAY_LENGTH&&A(\"Max vertices per segment is \"+sa.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!i||i.vertexLength+t>sa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},sa.prototype.get=function(){return this.segments},sa.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos){ r.vaos[n].destroy(); }}},sa.simpleSegment=function(t,e,r,n){return new sa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},sa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,On(\"SegmentVector\",sa);var la=Ii([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]),pa=e((function(t){t.exports=function(t,e){var r,n,i,a,o,s,u,l;for(n=t.length-(r=3&t.length),i=e,o=3432918353,s=461845907,l=0;l<n;){ u=255&t.charCodeAt(l)|(255&t.charCodeAt(++l))<<8|(255&t.charCodeAt(++l))<<16|(255&t.charCodeAt(++l))<<24,++l,i=27492+(65535&(a=5*(65535&(i=(i^=u=(65535&(u=(u=(65535&u)*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16); }switch(u=0,r){case 3:u^=(255&t.charCodeAt(l+2))<<16;case 2:u^=(255&t.charCodeAt(l+1))<<8;case 1:i^=u=(65535&(u=(u=(65535&(u^=255&t.charCodeAt(l)))*o+(((u>>>16)*o&65535)<<16)&4294967295)<<15|u>>>17))*s+(((u>>>16)*s&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};})),ca=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;){ r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a; }switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};})),ha=pa,fa=ca;ha.murmur3=pa,ha.murmur2=fa;var ya=function(){this.ids=[],this.positions=[],this.indexed=!1;};ya.prototype.add=function(t,e,r,n){this.ids.push(ma(t)),this.positions.push(e,r,n);},ya.prototype.getPositions=function(t){for(var e=ma(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=e?n=i:r=i+1;}for(var a=[];this.ids[r]===e;){ a.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++; }return a},ya.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,i){for(;n<i;){for(var a=e[n+i>>1],o=n-1,s=i+1;;){do{o++;}while(e[o]<a);do{s--;}while(e[s]>a);if(o>=s){ break; }va(e,o,s),va(r,3*o,3*s),va(r,3*o+1,3*s+1),va(r,3*o+2,3*s+2);}s-n<i-s?(t(e,r,n,s),n=s+1):(t(e,r,s+1,i),i=s);}}(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},ya.deserialize=function(t){var e=new ya;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var da=Math.pow(2,53)-1;function ma(t){var e=+t;return !isNaN(e)&&e<=da?e:ha(String(t))}function va(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}On(\"FeaturePositionMap\",ya);var ga=function(t,e){this.gl=t.gl,this.location=e;},xa=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t));},e}(ga),ba=function(t){function e(e,r){t.call(this,e,r),this.current=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t));},e}(ga),wa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]));},e}(ga),_a=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]));},e}(ga),Aa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0];}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]));},e}(ga),Sa=function(t){function e(e,r){t.call(this,e,r),this.current=te.transparent;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a));},e}(ga),ka=new Float32Array(16),Ia=function(t){function e(e,r){t.call(this,e,r),this.current=ka;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0]){ return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t); }for(var e=1;e<16;e++){ if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break} }},e}(ga);function za(t){return [ua(255*t.r,255*t.g),ua(255*t.b,255*t.a)]}var Ca=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return \"u_\"+t})),this.type=r;};Ca.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value));},Ca.prototype.getBinding=function(t,e,r){return \"color\"===this.type?new Sa(t,e):new ba(t,e)};var Ea=function(t,e){this.uniformNames=e.map((function(t){return \"u_\"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;};Ea.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;},Ea.prototype.setUniform=function(t,e,r,n){var i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i);},Ea.prototype.getBinding=function(t,e,r){return \"u_pattern\"===r.substr(0,9)?new Aa(t,e):new ba(t,e)};var Pa=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?2:1,offset:0}})),this.paintVertexArray=new n;};Pa.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new si(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o);},Pa.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);},Pa.prototype._setPaintValue=function(t,e,r){if(\"color\"===this.type){ for(var n=za(r),i=t;i<e;i++){ this.paintVertexArray.emplace(i,n[0],n[1]); } }else {for(var a=t;a<e;a++){ this.paintVertexArray.emplace(a,r); }this.maxValue=Math.max(this.maxValue,Math.abs(r));}},Pa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},Pa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();};var Ma=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return \"u_\"+t+\"_t\"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return {name:\"a_\"+t,type:\"Float32\",components:\"color\"===r?4:2,offset:0}})),this.paintVertexArray=new a;};Ma.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new si(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new si(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o);},Ma.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a);},Ma.prototype._setPaintValue=function(t,e,r,n){if(\"color\"===this.type){ for(var i=za(r),a=za(n),o=t;o<e;o++){ this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]); } }else {for(var s=t;s<e;s++){ this.paintVertexArray.emplace(s,r,n); }this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n));}},Ma.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent));},Ma.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy();},Ma.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=p(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n);},Ma.prototype.getBinding=function(t,e,r){return new ba(t,e)};var Ba=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i;};Ba.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r);},Ba.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i);},Ba.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=n[r.min],a=n[r.mid],o=n[r.max];if(i&&a&&o){ for(var s=t;s<e;s++){ this.zoomInPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],i.tl[0],i.tl[1],i.br[0],i.br[1],a.pixelRatio,i.pixelRatio),this.zoomOutPaintVertexArray.emplace(s,a.tl[0],a.tl[1],a.br[0],a.br[1],o.tl[0],o.tl[1],o.br[0],o.br[1],a.pixelRatio,o.pixelRatio); } }}},Ba.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,la.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,la.members,this.expression.isStateDependent));},Ba.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy();};var Ta=function(t,e,r){this.binders={},this._buffers=[];var n=[];for(var i in t.paint._values){ if(r(i)){var a=t.paint.get(i);if(a instanceof yi&&Tr(a.property.specification)){var o=Fa(i,t.type),s=a.value,u=a.property.specification.type,l=a.property.useIntegerZoom,p=a.property.specification[\"property-type\"],c=\"cross-faded\"===p||\"cross-faded-data-driven\"===p;if(\"constant\"===s.kind){ this.binders[i]=c?new Ea(s.value,o):new Ca(s.value,o,u),n.push(\"/u_\"+i); }else if(\"source\"===s.kind||c){var h=Da(i,u,\"source\");this.binders[i]=c?new Ba(s,u,l,e,h,t.id):new Pa(s,o,u,h),n.push(\"/a_\"+i);}else {var f=Da(i,u,\"composite\");this.binders[i]=new Ma(s,o,u,l,e,f),n.push(\"/z_\"+i);}}} }this.cacheKey=n.sort().join(\"\");};Ta.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Pa||e instanceof Ma?e.maxValue:0},Ta.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof Pa||o instanceof Ma||o instanceof Ba)&&o.populatePaintArray(t,e,r,n,i);}},Ta.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof Ea&&n.setConstantPatternPositions(t,e);}},Ta.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t){ for(var s=0,u=e.getPositions(o);s<u.length;s+=1){var l=u[s],p=r.feature(l.index);for(var c in this.binders){var h=this.binders[c];if((h instanceof Pa||h instanceof Ma||h instanceof Ba)&&!0===h.expression.isStateDependent){var f=n.paint.get(c);h.expression=f.value,h.updatePaintArray(l.start,l.end,p,t[o],i),a=!0;}}} }return a},Ta.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Ca||r instanceof Ea)&&t.push.apply(t,r.uniformNames.map((function(t){return \"#define HAS_UNIFORM_\"+t})));}return t},Ta.prototype.getBinderAttributes=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof Pa||r instanceof Ma){ for(var n=0;n<r.paintVertexAttributes.length;n++){ t.push(r.paintVertexAttributes[n].name); } }else if(r instanceof Ba){ for(var i=0;i<la.members.length;i++){ t.push(la.members[i].name); } }}return t},Ta.prototype.getBinderUniforms=function(){var t=[];for(var e in this.binders){var r=this.binders[e];if(r instanceof Ca||r instanceof Ea||r instanceof Ma){ for(var n=0,i=r.uniformNames;n<i.length;n+=1){ t.push(i[n]); } }}return t},Ta.prototype.getPaintVertexBuffers=function(){return this._buffers},Ta.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof Ca||i instanceof Ea||i instanceof Ma){ for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var u=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:u});}} }}return r},Ta.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,u=o.property;this.binders[u].setUniform(o.binding,n,r.get(u),s);}},Ta.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof Ba){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n);}else { (r instanceof Pa||r instanceof Ma)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer); }}},Ta.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Pa||r instanceof Ma||r instanceof Ba)&&r.upload(t);}this.updatePaintBuffers();},Ta.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Pa||e instanceof Ma||e instanceof Ba)&&e.destroy();}};var Va=function(t,e,r){void 0===r&&(r=function(){return !0}),this.programConfigurations={};for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.programConfigurations[a.id]=new Ta(a,e,r);}this.needsUpload=!1,this._featureMap=new ya,this._bufferOffset=0;};function Fa(t,e){return {\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(e+\"-\",\"\").replace(/-/g,\"_\")]}function Da(t,e,r){var n={color:{source:Bi,composite:Hi},number:{source:Ki,composite:Bi}},i=function(t){return {\"line-pattern\":{source:Ti,composite:Ti},\"fill-pattern\":{source:Ti,composite:Ti},\"fill-extrusion-pattern\":{source:Ti,composite:Ti}}[t]}(t);return i&&i[r]||n[e][r]}Va.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations){ this.programConfigurations[o].populatePaintArrays(t,e,n,i,a); }void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;},Va.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload;}},Va.prototype.get=function(t){return this.programConfigurations[t]},Va.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations){ this.programConfigurations[e].upload(t); }this.needsUpload=!1;}},Va.prototype.destroy=function(){for(var t in this.programConfigurations){ this.programConfigurations[t].destroy(); }},On(\"ConstantBinder\",Ca),On(\"CrossFadedConstantBinder\",Ea),On(\"SourceExpressionBinder\",Pa),On(\"CrossFadedCompositeBinder\",Ba),On(\"CompositeExpressionBinder\",Ma),On(\"ProgramConfiguration\",Ta,{omit:[\"_buffers\"]}),On(\"ProgramConfigurationSet\",Va);var La=Math.pow(2,14)-1,Oa=-La-1;function Ra(t){for(var e=8192/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++){ for(var i=r[n],a=0;a<i.length;a++){var o=i[a],s=Math.round(o.x*e),u=Math.round(o.y*e);o.x=p(s,Oa,La),o.y=p(u,Oa,La),(s<o.x||s>o.x+1||u<o.y||u>o.y+1)&&A(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");} }return r}function Ua(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Ra(t):[]}}function ja(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}var qa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ci,this.indexArray=new ji,this.segments=new sa,this.programConfigurations=new Va(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function Na(t,e){for(var r=0;r<t.length;r++){ if(Wa(e,t[r])){ return !0; } }for(var n=0;n<e.length;n++){ if(Wa(t,e[n])){ return !0; } }return !!Xa(t,e)}function Ka(t,e,r){return !!Wa(t,e)||!!Ha(e,t,r)}function Ga(t,e){if(1===t.length){ return $a(e,t[0]); }for(var r=0;r<e.length;r++){ for(var n=e[r],i=0;i<n.length;i++){ if(Wa(t,n[i])){ return !0; } } }for(var a=0;a<t.length;a++){ if($a(e,t[a])){ return !0; } }for(var o=0;o<e.length;o++){ if(Xa(t,e[o])){ return !0; } }return !1}function Za(t,e,r){if(t.length>1){if(Xa(t,e)){ return !0; }for(var n=0;n<e.length;n++){ if(Ha(e[n],t,r)){ return !0 } }}for(var i=0;i<t.length;i++){ if(Ha(t[i],e,r)){ return !0; } }return !1}function Xa(t,e){if(0===t.length||0===e.length){ return !1; }for(var r=0;r<t.length-1;r++){ for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++){ if(Ja(n,i,e[a],e[a+1])){ return !0; } } }return !1}function Ja(t,e,r,n){return S(t,r,n)!==S(e,r,n)&&S(t,e,r)!==S(t,e,n)}function Ha(t,e,r){var n=r*r;if(1===e.length){ return t.distSqr(e[0])<n; }for(var i=1;i<e.length;i++){ if(Ya(t,e[i-1],e[i])<n){ return !0; } }return !1}function Ya(t,e,r){var n=e.distSqr(r);if(0===n){ return t.distSqr(e); }var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return t.distSqr(i<0?e:i>1?r:r.sub(e)._mult(i)._add(e))}function $a(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++){ for(var s=0,u=(r=t[o]).length-1;s<r.length;u=s++){ (n=r[s]).y>e.y!=(i=r[u]).y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a); } }return a}function Wa(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r);}return r}function Qa(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y){ return !1; }var a=S(t,e,r[0]);return a!==S(t,e,r[1])||a!==S(t,e,r[2])||a!==S(t,e,r[3])}function to(t,e,r){var n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function eo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ro(t,e,r,n,a){if(!e[0]&&!e[1]){ return t; }var o=i.convert(e)._mult(a);\"viewport\"===r&&o._rotate(-n);for(var s=[],u=0;u<t.length;u++){ s.push(t[u].sub(o)); }return s}qa.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null;\"circle\"===n.type&&(a=n.layout.get(\"circle-sort-key\"));for(var o=0,s=t;o<s.length;o+=1){var u=s[o],l=u.feature,p=u.id,c=u.index,h=u.sourceLayerIndex,f=this.layers[0]._featureFilter.needGeometry,y=Ua(l,f);if(this.layers[0]._featureFilter.filter(new si(this.zoom),y,r)){var d=a?a.evaluate(y,{},r):void 0,m={id:p,properties:l.properties,type:l.type,sourceLayerIndex:h,index:c,geometry:f?y.geometry:Ra(l),patterns:{},sortKey:d};i.push(m);}}a&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var v=0,g=i;v<g.length;v+=1){var x=g[v],b=x.geometry,w=x.index,_=x.sourceLayerIndex,A=t[w].feature;this.addFeature(x,b,w,r),e.featureIndex.insert(A,b,w,_,this.index);}},qa.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},qa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},qa.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},qa.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,oa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},qa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},qa.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){ for(var o=0,s=a[i];o<s.length;o+=1){var u=s[o],l=u.x,p=u.y;if(!(l<0||l>=8192||p<0||p>=8192)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=c.vertexLength;ja(this.layoutVertexArray,l,p,-1,-1),ja(this.layoutVertexArray,l,p,1,-1),ja(this.layoutVertexArray,l,p,1,1),ja(this.layoutVertexArray,l,p,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),c.vertexLength+=4,c.primitiveLength+=2;}} }this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);},On(\"CircleBucket\",qa,{omit:[\"layers\"]});var no=new wi({\"circle-sort-key\":new vi(Et.layout_circle[\"circle-sort-key\"])}),io={paint:new wi({\"circle-radius\":new vi(Et.paint_circle[\"circle-radius\"]),\"circle-color\":new vi(Et.paint_circle[\"circle-color\"]),\"circle-blur\":new vi(Et.paint_circle[\"circle-blur\"]),\"circle-opacity\":new vi(Et.paint_circle[\"circle-opacity\"]),\"circle-translate\":new mi(Et.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new mi(Et.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new mi(Et.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new mi(Et.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new vi(Et.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new vi(Et.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new vi(Et.paint_circle[\"circle-stroke-opacity\"])}),layout:no},ao=\"undefined\"!=typeof Float32Array?Float32Array:Array;function oo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function so(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],d=e[12],m=e[13],v=e[14],g=e[15],x=r[0],b=r[1],w=r[2],_=r[3];return t[0]=x*n+b*s+w*c+_*d,t[1]=x*i+b*u+w*h+_*m,t[2]=x*a+b*l+w*f+_*v,t[3]=x*o+b*p+w*y+_*g,t[4]=(x=r[4])*n+(b=r[5])*s+(w=r[6])*c+(_=r[7])*d,t[5]=x*i+b*u+w*h+_*m,t[6]=x*a+b*l+w*f+_*v,t[7]=x*o+b*p+w*y+_*g,t[8]=(x=r[8])*n+(b=r[9])*s+(w=r[10])*c+(_=r[11])*d,t[9]=x*i+b*u+w*h+_*m,t[10]=x*a+b*l+w*f+_*v,t[11]=x*o+b*p+w*y+_*g,t[12]=(x=r[12])*n+(b=r[13])*s+(w=r[14])*c+(_=r[15])*d,t[13]=x*i+b*u+w*h+_*m,t[14]=x*a+b*l+w*f+_*v,t[15]=x*o+b*p+w*y+_*g,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;){ e+=t[r]*t[r]; }return Math.sqrt(e)});var uo,lo=so;function po(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}uo=new ao(3),ao!=Float32Array&&(uo[0]=0,uo[1]=0,uo[2]=0),function(){var t=new ao(4);ao!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0);}();var co=(function(){var t=new ao(2);ao!=Float32Array&&(t[0]=0,t[1]=0);}(),function(t){function e(e){t.call(this,e,io);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new qa(t)},e.prototype.queryRadius=function(t){var e=t;return to(\"circle-radius\",this,e)+to(\"circle-stroke-width\",this,e)+eo(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var u=ro(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),a.angle,o),l=this.paint.get(\"circle-radius\").evaluate(e,r)+this.paint.get(\"circle-stroke-width\").evaluate(e,r),p=\"map\"===this.paint.get(\"circle-pitch-alignment\"),c=p?u:function(t,e){return t.map((function(t){return ho(t,e)}))}(u,s),h=p?l*o:l,f=0,y=n;f<y.length;f+=1){ for(var d=0,m=y[f];d<m.length;d+=1){var v=m[d],g=p?v:ho(v,s),x=h,b=po([],[v.x,v.y,0,1],s);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?x*=b[3]/a.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(x*=a.cameraToCenterDistance/b[3]),Ka(c,g,x)){ return !0 }} }return !1},e}(_i));function ho(t,e){var r=po([],[t.x,t.y,0,1],e);return new i(r[0]/r[3],r[1]/r[3])}var fo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(qa);function yo(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray){ n=new Uint8Array(n.buffer); }else if(n.length!==i*a*r){ throw new RangeError(\"mismatched image size\") }}else { n=new Uint8Array(i*a*r); }return t.width=i,t.height=a,t.data=n,t}function mo(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=yo({},{width:n,height:i},r);vo(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data;}}function vo(t,e,r,n,i,a){if(0===i.width||0===i.height){ return e; }if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height){ throw new RangeError(\"out of range source coordinates for image copy\"); }if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height){ throw new RangeError(\"out of range destination coordinates for image copy\"); }for(var o=t.data,s=e.data,u=0;u<i.height;u++){ for(var l=((r.y+u)*t.width+r.x)*a,p=((n.y+u)*e.width+n.x)*a,c=0;c<i.width*a;c++){ s[p+c]=o[l+c]; } }return e}On(\"HeatmapBucket\",fo,{omit:[\"layers\"]});var go=function(t,e){yo(this,t,1,e);};go.prototype.resize=function(t){mo(this,t,1);},go.prototype.clone=function(){return new go({width:this.width,height:this.height},new Uint8Array(this.data))},go.copy=function(t,e,r,n,i){vo(t,e,r,n,i,1);};var xo=function(t,e){yo(this,t,4,e);};xo.prototype.resize=function(t){mo(this,t,4);},xo.prototype.replace=function(t,e){e?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t;},xo.prototype.clone=function(){return new xo({width:this.width,height:this.height},new Uint8Array(this.data))},xo.copy=function(t,e,r,n,i){vo(t,e,r,n,i,4);},On(\"AlphaImage\",go),On(\"RGBAImage\",xo);var bo={paint:new wi({\"heatmap-radius\":new vi(Et.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new vi(Et.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new mi(Et.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new bi(Et.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new mi(Et.paint_heatmap[\"heatmap-opacity\"])})};function wo(t){var e={},r=t.resolution||256,n=t.clips?t.clips.length:1,i=t.image||new xo({width:r,height:n}),a=function(r,n,a){e[t.evaluationKey]=a;var o=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a);};if(t.clips){ for(var o=0,s=0;o<n;++o,s+=4*r){ for(var u=0,l=0;u<r;u++,l+=4){var p=u/(r-1),c=t.clips[o];a(s,l,c.start*(1-p)+c.end*p);} } }else { for(var h=0,f=0;h<r;h++,f+=4){ a(0,f,h/(r-1)); } }return i}var _o=function(t){function e(e){t.call(this,e,bo),this._updateColorRamp();}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new fo(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"heatmap-color\"===t&&this._updateColorRamp();},e.prototype._updateColorRamp=function(){this.colorRamp=wo({expression:this._transitionablePaint._values[\"heatmap-color\"].value.expression,evaluationKey:\"heatmapDensity\",image:this.colorRamp}),this.colorRampTexture=null;},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null);},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return !1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(_i),Ao={paint:new wi({\"hillshade-illumination-direction\":new mi(Et.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new mi(Et.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new mi(Et.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new mi(Et.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new mi(Et.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new mi(Et.paint_hillshade[\"hillshade-accent-color\"])})},So=function(t){function e(e){t.call(this,e,Ao);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(_i),ko=Ii([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Io=Co,zo=Co;function Co(t,e,r){r=r||2;var n,i,a,o,s,u,l,p=e&&e.length,c=p?e[0]*r:t.length,h=Eo(t,0,c,r,!0),f=[];if(!h||h.next===h.prev){ return f; }if(p&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++){ (o=Eo(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Uo(o)); }for(s.sort(Do),i=0;i<s.length;i++){ Lo(s[i],r),r=Po(r,r.next); }return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var y=r;y<c;y+=r){ (s=t[y])<n&&(n=s),(u=t[y+1])<i&&(i=u),s>a&&(a=s),u>o&&(o=u); }l=0!==(l=Math.max(a-n,o-i))?1/l:0;}return Mo(h,f,r,n,i,l),f}function Eo(t,e,r,n,i){var a,o;if(i===Qo(t,e,r,n)>0){ for(a=e;a<r;a+=n){ o=Yo(a,t[a],t[a+1],o); } }else { for(a=r-n;a>=e;a-=n){ o=Yo(a,t[a],t[a+1],o); } }return o&&Ko(o,o.next)&&($o(o),o=o.next),o}function Po(t,e){if(!t){ return t; }e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ko(n,n.next)&&0!==No(n.prev,n,n.next)){ n=n.next; }else {if($o(n),(n=e=n.prev)===n.next){ break; }r=!0;}}while(r||n!==e);return e}function Mo(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Ro(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,u,l=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<l&&(s++,n=n.nextZ);e++){ }for(u=l;s>0||u>0&&n;){ 0!==s&&(0===u||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,u--),a?a.nextZ=i:t=i,i.prevZ=a,a=i; }r=n;}a.nextZ=null,l*=2;}while(o>1)}(i);}(t,n,i,a);for(var s,u,l=t;t.prev!==t.next;){ if(s=t.prev,u=t.next,a?To(t,n,i,a):Bo(t)){ e.push(s.i/r),e.push(t.i/r),e.push(u.i/r),$o(t),t=u.next,l=u.next; }else if((t=u)===l){o?1===o?Mo(t=Vo(Po(t),e,r),e,r,n,i,a,2):2===o&&Fo(t,e,r,n,i,a):Mo(Po(t),e,r,n,i,a,1);break} }}}function Bo(t){var e=t.prev,r=t,n=t.next;if(No(e,r,n)>=0){ return !1; }for(var i=t.next.next;i!==t.prev;){if(jo(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&No(i.prev,i,i.next)>=0){ return !1; }i=i.next;}return !0}function To(t,e,r,n){var i=t.prev,a=t,o=t.next;if(No(i,a,o)>=0){ return !1; }for(var s=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,l=Ro(i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,e,r,n),p=Ro(s,u,e,r,n),c=t.prevZ,h=t.nextZ;c&&c.z>=l&&h&&h.z<=p;){if(c!==t.prev&&c!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,c.x,c.y)&&No(c.prev,c,c.next)>=0){ return !1; }if(c=c.prevZ,h!==t.prev&&h!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&No(h.prev,h,h.next)>=0){ return !1; }h=h.nextZ;}for(;c&&c.z>=l;){if(c!==t.prev&&c!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,c.x,c.y)&&No(c.prev,c,c.next)>=0){ return !1; }c=c.prevZ;}for(;h&&h.z<=p;){if(h!==t.prev&&h!==t.next&&jo(i.x,i.y,a.x,a.y,o.x,o.y,h.x,h.y)&&No(h.prev,h,h.next)>=0){ return !1; }h=h.nextZ;}return !0}function Vo(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ko(i,a)&&Go(i,n,n.next,a)&&Jo(i,a)&&Jo(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),$o(n),$o(n.next),n=t=a),n=n.next;}while(n!==t);return Po(n)}function Fo(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&qo(o,s)){var u=Ho(o,s);return o=Po(o,o.next),u=Po(u,u.next),Mo(o,e,r,n,i,a),void Mo(u,e,r,n,i,a)}s=s.next;}o=o.next;}while(o!==t)}function Do(t,e){return t.x-e.x}function Lo(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y){ return n; }if(a===n.next.y){ return n.next }}r=n.x<n.next.x?n:n.next;}}n=n.next;}while(n!==e);if(!r){ return null; }if(i===o){ return r; }var u,l=r,p=r.x,c=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=p&&i!==n.x&&jo(a<c?i:o,a,p,c,a<c?o:i,a,n.x,n.y)&&(u=Math.abs(a-n.y)/(i-n.x),Jo(n,t)&&(u<h||u===h&&(n.x>r.x||n.x===r.x&&Oo(r,n)))&&(r=n,h=u)),n=n.next;}while(n!==l);return r}(t,e)){var r=Ho(e,t);Po(e,e.next),Po(r,r.next);}}function Oo(t,e){return No(t.prev,t,e.prev)<0&&No(e.next,t,t.next)<0}function Ro(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Uo(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next;}while(e!==t);return r}function jo(t,e,r,n,i,a,o,s){return (i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function qo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Go(r,r.next,t,e)){ return !0; }r=r.next;}while(r!==t);return !1}(t,e)&&(Jo(t,e)&&Jo(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(No(t.prev,t,e.prev)||No(t,e.prev,e))||Ko(t,e)&&No(t.prev,t,t.next)>0&&No(e.prev,e,e.next)>0)}function No(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ko(t,e){return t.x===e.x&&t.y===e.y}function Go(t,e,r,n){var i=Xo(No(t,e,r)),a=Xo(No(t,e,n)),o=Xo(No(r,n,t)),s=Xo(No(r,n,e));return i!==a&&o!==s||!(0!==i||!Zo(t,r,e))||!(0!==a||!Zo(t,n,e))||!(0!==o||!Zo(r,t,n))||!(0!==s||!Zo(r,e,n))}function Zo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Xo(t){return t>0?1:t<0?-1:0}function Jo(t,e){return No(t.prev,t,t.next)<0?No(t,e,t.next)>=0&&No(t,t.prev,e)>=0:No(t,e,t.prev)<0||No(t,t.next,e)<0}function Ho(t,e){var r=new Wo(t.i,t.x,t.y),n=new Wo(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Yo(t,e,r,n){var i=new Wo(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function $o(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function Wo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function Qo(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n){ i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a; }return i}function ts(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,u=Math.log(o),l=.5*Math.exp(2*u/3),p=.5*Math.sqrt(u*l*(o-l)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*l/o+p)),Math.min(i,Math.floor(r+(o-s)*l/o+p)),a);}var c=e[r],h=n,f=i;for(es(e,n,r),a(e[i],c)>0&&es(e,n,i);h<f;){for(es(e,h,f),h++,f--;a(e[h],c)<0;){ h++; }for(;a(e[f],c)>0;){ f--; }}0===a(e[n],c)?es(e,n,f):es(e,++f,i),f<=r&&(n=f+1),r<=f&&(i=f-1);}}(t,e,r||0,n||t.length-1,i||rs);}function es(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function rs(t,e){return t<e?-1:t>e?1:0}function ns(t,e){var r=t.length;if(r<=1){ return [t]; }for(var n,i,a=[],o=0;o<r;o++){var s=k(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]));}if(n&&a.push(n),e>1){ for(var u=0;u<a.length;u++){ a[u].length<=e||(ts(a[u],e,1,a[u].length-1,is),a[u]=a[u].slice(0,e)); } }return a}function is(t,e){return e.area-t.area}function as(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+\"-pattern\");s.isConstant()||(i=!0);var u=s.constantOr(null);u&&(i=!0,n[u.to]=!0,n[u.from]=!0);}return i}function os(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var u=s[o],l=u.paint.get(t+\"-pattern\").value;if(\"constant\"!==l.kind){var p=l.evaluate({zoom:n-1},r,{},i.availableImages),c=l.evaluate({zoom:n},r,{},i.availableImages),h=l.evaluate({zoom:n+1},r,{},i.availableImages);c=c&&c.name?c.name:c,h=h&&h.name?h.name:h,a[p=p&&p.name?p.name:p]=!0,a[c]=!0,a[h]=!0,r.patterns[u.id]={min:p,mid:c,max:h};}}return r}Co.deviation=function(t,e,r,n){var i=e&&e.length,a=Math.abs(Qo(t,0,i?e[0]*r:t.length,r));if(i){ for(var o=0,s=e.length;o<s;o++){ a-=Math.abs(Qo(t,e[o]*r,o<s-1?e[o+1]*r:t.length,r)); } }var u=0;for(o=0;o<n.length;o+=3){var l=n[o]*r,p=n[o+1]*r,c=n[o+2]*r;u+=Math.abs((t[l]-t[c])*(t[p+1]-t[l+1])-(t[l]-t[p])*(t[c+1]-t[l+1]));}return 0===a&&0===u?0:Math.abs((u-a)/a)},Co.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++){ for(var o=0;o<e;o++){ r.vertices.push(t[i][a][o]); } }i>0&&r.holes.push(n+=t[i-1].length);}return r},Io.default=zo;var ss=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ci,this.indexArray=new ji,this.indexArray2=new Xi,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.segments2=new sa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};ss.prototype.populate=function(t,e,r){this.hasPattern=as(\"fill\",this.layers,e);for(var n=this.layers[0].layout.get(\"fill-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],u=s.feature,l=s.id,p=s.index,c=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,f=Ua(u,h);if(this.layers[0]._featureFilter.filter(new si(this.zoom),f,r)){var y=n?n.evaluate(f,{},r,e.availableImages):void 0,d={id:l,properties:u.properties,type:u.type,sourceLayerIndex:c,index:p,geometry:h?f.geometry:Ra(u),patterns:{},sortKey:y};i.push(d);}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var g=v[m],x=g.geometry,b=g.index,w=g.sourceLayerIndex;if(this.hasPattern){var _=os(\"fill\",this.layers,g,this.zoom,e);this.patternFeatures.push(_);}else { this.addFeature(g,x,b,r,{}); }e.featureIndex.insert(t[b].feature,x,b,w,this.index);}},ss.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},ss.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},ss.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ss.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},ss.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ko),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;},ss.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());},ss.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=ns(e,500);a<o.length;a+=1){for(var s=o[a],u=0,l=0,p=s;l<p.length;l+=1){ u+=p[l].length; }for(var c=this.segments.prepareSegment(u,this.layoutVertexArray,this.indexArray),h=c.vertexLength,f=[],y=[],d=0,m=s;d<m.length;d+=1){var v=m[d];if(0!==v.length){v!==s[0]&&y.push(f.length/2);var g=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),x=g.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(x+v.length-1,x),f.push(v[0].x),f.push(v[0].y);for(var b=1;b<v.length;b++){ this.layoutVertexArray.emplaceBack(v[b].x,v[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),f.push(v[b].x),f.push(v[b].y); }g.vertexLength+=v.length,g.primitiveLength+=v.length;}}for(var w=Io(f,y),_=0;_<w.length;_+=3){ this.indexArray.emplaceBack(h+w[_],h+w[_+1],h+w[_+2]); }c.vertexLength+=u,c.primitiveLength+=w.length/3;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},On(\"FillBucket\",ss,{omit:[\"layers\",\"patternFeatures\"]});var us=new wi({\"fill-sort-key\":new vi(Et.layout_fill[\"fill-sort-key\"])}),ls={paint:new wi({\"fill-antialias\":new mi(Et.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new vi(Et.paint_fill[\"fill-opacity\"]),\"fill-color\":new vi(Et.paint_fill[\"fill-color\"]),\"fill-outline-color\":new vi(Et.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new mi(Et.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new mi(Et.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new gi(Et.paint_fill[\"fill-pattern\"])}),layout:us},ps=function(t){function e(e){t.call(this,e,ls);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values[\"fill-outline-color\"];\"constant\"===n.value.kind&&void 0===n.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"]);},e.prototype.createBucket=function(t){return new ss(t)},e.prototype.queryRadius=function(){return eo(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return Ga(ro(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),a.angle,o),n)},e.prototype.isTileClipped=function(){return !0},e}(_i),cs=Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,hs=fs;function fs(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(ys,this,e);}function ys(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i;}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos);}function ds(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++){ n+=((r=t[o]).x-(e=t[i]).x)*(e.y+r.y); }return n}fs.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],fs.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,a=0,o=0,s=0,u=[];t.pos<r;){if(a<=0){var l=t.readVarint();n=7&l,a=l>>3;}if(a--,1===n||2===n){ o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&u.push(e),e=[]),e.push(new i(o,s)); }else {if(7!==n){ throw new Error(\"unknown command \"+n); }e&&e.push(e[0].clone());}}return e&&u.push(e),u},fs.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,u=1/0,l=-1/0;t.pos<e;){if(n<=0){var p=t.readVarint();r=7&p,n=p>>3;}if(n--,1===r||2===r){ (i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<u&&(u=a),a>l&&(l=a); }else if(7!==r){ throw new Error(\"unknown command \"+r) }}return [o,u,s,l]},fs.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,u=this.loadGeometry(),l=fs.types[this.type];function p(t){for(var e=0;e<t.length;e++){var r=t[e];t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp((180-360*(r.y+s)/a)*Math.PI/180))-90];}}switch(this.type){case 1:var c=[];for(n=0;n<u.length;n++){ c[n]=u[n][0]; }p(u=c);break;case 2:for(n=0;n<u.length;n++){ p(u[n]); }break;case 3:for(u=function(t){var e=t.length;if(e<=1){ return [t]; }for(var r,n,i=[],a=0;a<e;a++){var o=ds(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]));}return r&&i.push(r),i}(u),n=0;n<u.length;n++){ for(i=0;i<u[n].length;i++){ p(u[n][i]); } }}1===u.length?u=u[0]:l=\"Multi\"+l;var h={type:\"Feature\",geometry:{type:l,coordinates:u},properties:this.properties};return \"id\"in this&&(h.id=this.id),h};var ms=vs;function vs(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(gs,this,e),this.length=this._features.length;}function gs(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}function xs(t,e,r){if(3===t){var n=new ms(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}vs.prototype.feature=function(t){if(t<0||t>=this._features.length){ throw new Error(\"feature index out of bounds\"); }this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new hs(this._pbf,e,this.extent,this._keys,this._values)};var bs={VectorTile:function(t,e){this.layers=t.readFields(xs,{},e);},VectorTileFeature:hs,VectorTileLayer:ms},ws=bs.VectorTileFeature.types,_s=Math.pow(2,13);function As(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*_s)+o,i*_s*2,a*_s*2,Math.round(s));}var Ss=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Pi,this.indexArray=new ji,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};function ks(t,e){return t.x===e.x&&(t.x<0||t.x>8192)||t.y===e.y&&(t.y<0||t.y>8192)}Ss.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=as(\"fill-extrusion\",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,u=a.index,l=a.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,c=Ua(o,p);if(this.layers[0]._featureFilter.filter(new si(this.zoom),c,r)){var h={id:s,sourceLayerIndex:l,index:u,geometry:p?c.geometry:Ra(o),properties:o.properties,type:o.type,patterns:{}};this.hasPattern?this.features.push(os(\"fill-extrusion\",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,u,r,{}),e.featureIndex.insert(o,h.geometry,u,l,this.index,!0);}}},Ss.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},Ss.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},Ss.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Ss.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},Ss.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,cs),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},Ss.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},Ss.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=ns(e,500);a<o.length;a+=1){for(var s=o[a],u=0,l=0,p=s;l<p.length;l+=1){ u+=p[l].length; }for(var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,f=s;h<f.length;h+=1){var y=f[h];if(0!==y.length&&!((B=y).every((function(t){return t.x<0}))||B.every((function(t){return t.x>8192}))||B.every((function(t){return t.y<0}))||B.every((function(t){return t.y>8192})))){ for(var d=0,m=0;m<y.length;m++){var v=y[m];if(m>=1){var g=y[m-1];if(!ks(v,g)){c.vertexLength+4>sa.MAX_VERTEX_ARRAY_LENGTH&&(c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=v.sub(g)._perp()._unit(),b=g.dist(v);d+b>32768&&(d=0),As(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,d),As(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,d),As(this.layoutVertexArray,g.x,g.y,x.x,x.y,0,0,d+=b),As(this.layoutVertexArray,g.x,g.y,x.x,x.y,0,1,d);var w=c.vertexLength;this.indexArray.emplaceBack(w,w+2,w+1),this.indexArray.emplaceBack(w+1,w+2,w+3),c.vertexLength+=4,c.primitiveLength+=2;}}} }}if(c.vertexLength+u>sa.MAX_VERTEX_ARRAY_LENGTH&&(c=this.segments.prepareSegment(u,this.layoutVertexArray,this.indexArray)),\"Polygon\"===ws[t.type]){for(var _=[],A=[],S=c.vertexLength,k=0,I=s;k<I.length;k+=1){var z=I[k];if(0!==z.length){z!==s[0]&&A.push(_.length/2);for(var C=0;C<z.length;C++){var E=z[C];As(this.layoutVertexArray,E.x,E.y,0,0,1,1,0),_.push(E.x),_.push(E.y);}}}for(var P=Io(_,A),M=0;M<P.length;M+=3){ this.indexArray.emplaceBack(S+P[M],S+P[M+2],S+P[M+1]); }c.primitiveLength+=P.length/3,c.vertexLength+=u;}}var B;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},On(\"FillExtrusionBucket\",Ss,{omit:[\"layers\",\"features\"]});var Is={paint:new wi({\"fill-extrusion-opacity\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new gi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new vi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new mi(Et[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})},zs=function(t){function e(e){t.call(this,e,Is);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.createBucket=function(t){return new Ss(t)},e.prototype.queryRadius=function(){return eo(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.is3D=function(){return !0},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s,u){var l=ro(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),o.angle,s),p=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),c=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),h=function(t,e,r,n){for(var a=[],o=0,s=t;o<s.length;o+=1){var u=s[o],l=[u.x,u.y,0,1];po(l,l,e),a.push(new i(l[0]/l[3],l[1]/l[3]));}return a}(l,u),f=function(t,e,r,n){for(var a=[],o=[],s=n[8]*e,u=n[9]*e,l=n[10]*e,p=n[11]*e,c=n[8]*r,h=n[9]*r,f=n[10]*r,y=n[11]*r,d=0,m=t;d<m.length;d+=1){for(var v=[],g=[],x=0,b=m[d];x<b.length;x+=1){var w=b[x],_=w.x,A=w.y,S=n[0]*_+n[4]*A+n[12],k=n[1]*_+n[5]*A+n[13],I=n[2]*_+n[6]*A+n[14],z=n[3]*_+n[7]*A+n[15],C=I+l,E=z+p,P=S+c,M=k+h,B=I+f,T=z+y,V=new i((S+s)/E,(k+u)/E);V.z=C/E,v.push(V);var F=new i(P/T,M/T);F.z=B/T,g.push(F);}a.push(v),o.push(g);}return [a,o]}(n,c,p,u);return function(t,e,r){var n=1/0;Ga(r,e)&&(n=Es(r,e[0]));for(var i=0;i<e.length;i++){ for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var u=a[s],l=[u,a[s+1],o[s+1],o[s],u];Na(r,l)&&(n=Math.min(n,Es(r,l)));} }return n!==1/0&&n}(f[0],f[1],h)},e}(_i);function Cs(t,e){return t.x*e.x+t.y*e.y}function Es(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);){ if(!(r=e[n++])){ return 1/0; } }for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),u=a.sub(i),l=o.sub(i),p=Cs(s,s),c=Cs(s,u),h=Cs(u,u),f=Cs(l,s),y=Cs(l,u),d=p*h-c*c,m=(h*f-c*y)/d,v=(p*y-c*f)/d,g=i.z*(1-m-v)+r.z*m+a.z*v;if(isFinite(g)){ return g }}return 1/0}for(var x=1/0,b=0,w=e;b<w.length;b+=1){ x=Math.min(x,w[b].z); }return x}var Ps=Ii([{name:\"a_pos_normal\",components:2,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,Ms=Ii([{name:\"a_uv_x\",components:1,type:\"Float32\"},{name:\"a_split_index\",components:1,type:\"Float32\"}]).members,Bs=bs.VectorTileFeature.types,Ts=Math.cos(Math.PI/180*37.5),Vs=Math.pow(2,14)/.5,Fs=function(t){var e=this;this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((function(t){e.gradients[t.id]={};})),this.layoutVertexArray=new Mi,this.layoutVertexArray2=new Bi,this.indexArray=new ji,this.programConfigurations=new Va(t.layers,t.zoom),this.segments=new sa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}));};Fs.prototype.populate=function(t,e,r){this.hasPattern=as(\"line\",this.layers,e);for(var n=this.layers[0].layout.get(\"line-sort-key\"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],u=s.feature,l=s.id,p=s.index,c=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,f=Ua(u,h);if(this.layers[0]._featureFilter.filter(new si(this.zoom),f,r)){var y=n?n.evaluate(f,{},r):void 0,d={id:l,properties:u.properties,type:u.type,sourceLayerIndex:c,index:p,geometry:h?f.geometry:Ra(u),patterns:{},sortKey:y};i.push(d);}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var m=0,v=i;m<v.length;m+=1){var g=v[m],x=g.geometry,b=g.index,w=g.sourceLayerIndex;if(this.hasPattern){var _=os(\"line\",this.layers,g,this.zoom,e);this.patternFeatures.push(_);}else { this.addFeature(g,x,b,r,{}); }e.featureIndex.insert(t[b].feature,x,b,w,this.index);}},Fs.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);},Fs.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r);}},Fs.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fs.prototype.uploadPending=function(){return !this.uploaded||this.programConfigurations.needsUpload},Fs.prototype.upload=function(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ms)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ps),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;},Fs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());},Fs.prototype.lineFeatureClips=function(t){if(t.properties&&t.properties.hasOwnProperty(\"mapbox_clip_start\")&&t.properties.hasOwnProperty(\"mapbox_clip_end\")){ return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end} }},Fs.prototype.addFeature=function(t,e,r,n,i){var a=this.layers[0].layout,o=a.get(\"line-join\").evaluate(t,{}),s=a.get(\"line-cap\"),u=a.get(\"line-miter-limit\"),l=a.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(var p=0,c=e;p<c.length;p+=1){ this.addLine(c[p],t,o,s,u,l); }this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);},Fs.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(var o=0;o<t.length-1;o++){ this.totalDistance+=t[o].dist(t[o+1]); }this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance);}for(var s=\"Polygon\"===Bs[e.type],u=t.length;u>=2&&t[u-1].equals(t[u-2]);){ u--; }for(var l=0;l<u-1&&t[l].equals(t[l+1]);){ l++; }if(!(u<(s?3:2))){\"bevel\"===r&&(i=1.05);var p,c=this.overscaling<=16?122880/(512*this.overscaling):0,h=this.segments.prepareSegment(10*u,this.layoutVertexArray,this.indexArray),f=void 0,y=void 0,d=void 0,m=void 0;this.e1=this.e2=-1,s&&(m=t[l].sub(p=t[u-2])._unit()._perp());for(var v=l;v<u;v++){ if(!(y=v===u-1?s?t[l+1]:void 0:t[v+1])||!t[v].equals(y)){m&&(d=m),p&&(f=p),p=t[v],m=y?y.sub(p)._unit()._perp():d;var g=(d=d||m).add(m);0===g.x&&0===g.y||g._unit();var x=d.x*m.x+d.y*m.y,b=g.x*m.x+g.y*m.y,w=0!==b?1/b:1/0,_=2*Math.sqrt(2-2*b),A=b<Ts&&f&&y,S=d.x*m.y-d.y*m.x>0;if(A&&v>l){var k=p.dist(f);if(k>2*c){var I=p.sub(p.sub(f)._mult(c/k)._round());this.updateDistance(f,I),this.addCurrentVertex(I,d,0,0,h),f=I;}}var z=f&&y,C=z?r:s?\"butt\":n;if(z&&\"round\"===C&&(w<a?C=\"miter\":w<=2&&(C=\"fakeround\")),\"miter\"===C&&w>i&&(C=\"bevel\"),\"bevel\"===C&&(w>2&&(C=\"flipbevel\"),w<i&&(C=\"miter\")),f&&this.updateDistance(f,p),\"miter\"===C){ g._mult(w),this.addCurrentVertex(p,g,0,0,h); }else if(\"flipbevel\"===C){if(w>100){ g=m.mult(-1); }else {var E=w*d.add(m).mag()/d.sub(m).mag();g._perp()._mult(E*(S?-1:1));}this.addCurrentVertex(p,g,0,0,h),this.addCurrentVertex(p,g.mult(-1),0,0,h);}else if(\"bevel\"===C||\"fakeround\"===C){var P=-Math.sqrt(w*w-1),M=S?P:0,B=S?0:P;if(f&&this.addCurrentVertex(p,d,M,B,h),\"fakeround\"===C){ for(var T=Math.round(180*_/Math.PI/20),V=1;V<T;V++){var F=V/T;if(.5!==F){var D=F-.5;F+=F*D*(F-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*D*D+(.848013+x*(.215638*x-1.06021)));}var L=m.sub(d)._mult(F)._add(d)._unit()._mult(S?-1:1);this.addHalfVertex(p,L.x,L.y,!1,S,0,h);} }y&&this.addCurrentVertex(p,m,-M,-B,h);}else if(\"butt\"===C){ this.addCurrentVertex(p,g,0,0,h); }else if(\"square\"===C){var O=f?1:-1;this.addCurrentVertex(p,g,O,O,h);}else { \"round\"===C&&(f&&(this.addCurrentVertex(p,d,0,0,h),this.addCurrentVertex(p,d,1,1,h,!0)),y&&(this.addCurrentVertex(p,m,-1,-1,h,!0),this.addCurrentVertex(p,m,0,0,h))); }if(A&&v<u-1){var R=p.dist(y);if(R>2*c){var U=p.add(y.sub(p)._mult(c/R)._round());this.updateDistance(p,U),this.addCurrentVertex(U,m,0,0,h),p=U;}}} }}},Fs.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.y*n-e.x,s=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,a,!1,r,i),this.addHalfVertex(t,o,s,a,!0,-n,i),this.distance>Vs/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a));},Fs.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=.5*(this.lineClips?this.scaledDistance*(Vs-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t.x<<1)+(n?1:0),(t.y<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&s)<<2,s>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),i?this.e2=u:this.e1=u;},Fs.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;},Fs.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance();},On(\"LineBucket\",Fs,{omit:[\"layers\",\"patternFeatures\"]});var Ds=new wi({\"line-cap\":new mi(Et.layout_line[\"line-cap\"]),\"line-join\":new vi(Et.layout_line[\"line-join\"]),\"line-miter-limit\":new mi(Et.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new mi(Et.layout_line[\"line-round-limit\"]),\"line-sort-key\":new vi(Et.layout_line[\"line-sort-key\"])}),Ls={paint:new wi({\"line-opacity\":new vi(Et.paint_line[\"line-opacity\"]),\"line-color\":new vi(Et.paint_line[\"line-color\"]),\"line-translate\":new mi(Et.paint_line[\"line-translate\"]),\"line-translate-anchor\":new mi(Et.paint_line[\"line-translate-anchor\"]),\"line-width\":new vi(Et.paint_line[\"line-width\"]),\"line-gap-width\":new vi(Et.paint_line[\"line-gap-width\"]),\"line-offset\":new vi(Et.paint_line[\"line-offset\"]),\"line-blur\":new vi(Et.paint_line[\"line-blur\"]),\"line-dasharray\":new xi(Et.paint_line[\"line-dasharray\"]),\"line-pattern\":new gi(Et.paint_line[\"line-pattern\"]),\"line-gradient\":new bi(Et.paint_line[\"line-gradient\"])}),layout:Ds},Os=new(function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new si(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=h({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(vi))(Ls.paint.properties[\"line-width\"].specification);Os.useIntegerZoom=!0;var Rs=function(t){function e(e){t.call(this,e,Ls),this.gradientVersion=0;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){\"line-gradient\"===t&&(this.stepInterpolant=this._transitionablePaint._values[\"line-gradient\"].value.expression._styleExpression.expression instanceof Ne,this.gradientVersion=(this.gradientVersion+1)%s);},e.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values[\"line-floorwidth\"]=Os.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e);},e.prototype.createBucket=function(t){return new Fs(t)},e.prototype.queryRadius=function(t){var e=t,r=Us(to(\"line-width\",this,e),to(\"line-gap-width\",this,e)),n=to(\"line-offset\",this,e);return r/2+Math.abs(n)+eo(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,o,s){var u=ro(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),o.angle,s),l=s/2*Us(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),p=this.paint.get(\"line-offset\").evaluate(e,r);return p&&(n=function(t,e){for(var r=[],n=new i(0,0),a=0;a<t.length;a++){for(var o=t[a],s=[],u=0;u<o.length;u++){var l=o[u],p=o[u+1],c=0===u?n:l.sub(o[u-1])._unit()._perp(),h=u===o.length-1?n:p.sub(l)._unit()._perp(),f=c._add(h)._unit();f._mult(1/(f.x*h.x+f.y*h.y)),s.push(f._mult(e)._add(l));}r.push(s);}return r}(n,p*s)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3){ for(var a=0;a<i.length;a++){ if(Wa(t,i[a])){ return !0; } } }if(Za(t,i,r)){ return !0 }}return !1}(u,n,l)},e.prototype.isTileClipped=function(){return !0},e}(_i);function Us(t,e){return e>0?e+2*t:t}var js=Ii([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),qs=Ii([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),Ns=(Ii([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Ii([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"}])),Ks=(Ii([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]),Ii([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Gs=Ii([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function Zs(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),oi.applyArabicShaping&&(t=oi.applyArabicShaping(t)),t}(t.text,e,r);})),t}Ii([{name:\"triangle\",components:3,type:\"Uint16\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),Ii([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",components:2,name:\"textOffset\"},{type:\"Float32\",name:\"collisionCircleDiameter\"}]),Ii([{type:\"Float32\",name:\"offsetX\"}]),Ii([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var Xs={\"!\":\"\uFE15\",\"#\":\"\uFF03\",$:\"\uFF04\",\"%\":\"\uFF05\",\"&\":\"\uFF06\",\"(\":\"\uFE35\",\")\":\"\uFE36\",\"*\":\"\uFF0A\",\"+\":\"\uFF0B\",\",\":\"\uFE10\",\"-\":\"\uFE32\",\".\":\"\u30FB\",\"/\":\"\uFF0F\",\":\":\"\uFE13\",\";\":\"\uFE14\",\"<\":\"\uFE3F\",\"=\":\"\uFF1D\",\">\":\"\uFE40\",\"?\":\"\uFE16\",\"@\":\"\uFF20\",\"[\":\"\uFE47\",\"\\\\\":\"\uFF3C\",\"]\":\"\uFE48\",\"^\":\"\uFF3E\",_:\"\uFE33\",\"`\":\"\uFF40\",\"{\":\"\uFE37\",\"|\":\"\u2015\",\"}\":\"\uFE38\",\"~\":\"\uFF5E\",\"\u00A2\":\"\uFFE0\",\"\u00A3\":\"\uFFE1\",\"\u00A5\":\"\uFFE5\",\"\u00A6\":\"\uFFE4\",\"\u00AC\":\"\uFFE2\",\"\u00AF\":\"\uFFE3\",\"\u2013\":\"\uFE32\",\"\u2014\":\"\uFE31\",\"\u2018\":\"\uFE43\",\"\u2019\":\"\uFE44\",\"\u201C\":\"\uFE41\",\"\u201D\":\"\uFE42\",\"\u2026\":\"\uFE19\",\"\u2027\":\"\u30FB\",\"\u20A9\":\"\uFFE6\",\"\u3001\":\"\uFE11\",\"\u3002\":\"\uFE12\",\"\u3008\":\"\uFE3F\",\"\u3009\":\"\uFE40\",\"\u300A\":\"\uFE3D\",\"\u300B\":\"\uFE3E\",\"\u300C\":\"\uFE41\",\"\u300D\":\"\uFE42\",\"\u300E\":\"\uFE43\",\"\u300F\":\"\uFE44\",\"\u3010\":\"\uFE3B\",\"\u3011\":\"\uFE3C\",\"\u3014\":\"\uFE39\",\"\u3015\":\"\uFE3A\",\"\u3016\":\"\uFE17\",\"\u3017\":\"\uFE18\",\"\uFF01\":\"\uFE15\",\"\uFF08\":\"\uFE35\",\"\uFF09\":\"\uFE36\",\"\uFF0C\":\"\uFE10\",\"\uFF0D\":\"\uFE32\",\"\uFF0E\":\"\u30FB\",\"\uFF1A\":\"\uFE13\",\"\uFF1B\":\"\uFE14\",\"\uFF1C\":\"\uFE3F\",\"\uFF1E\":\"\uFE40\",\"\uFF1F\":\"\uFE16\",\"\uFF3B\":\"\uFE47\",\"\uFF3D\":\"\uFE48\",\"\uFF3F\":\"\uFE33\",\"\uFF5B\":\"\uFE37\",\"\uFF5C\":\"\u2015\",\"\uFF5D\":\"\uFE38\",\"\uFF5F\":\"\uFE35\",\"\uFF60\":\"\uFE36\",\"\uFF61\":\"\uFE12\",\"\uFF62\":\"\uFE41\",\"\uFF63\":\"\uFE42\"},Js=function(t,e,r,n,i){var a,o,s=8*i-n-1,u=(1<<s)-1,l=u>>1,p=-7,c=r?i-1:0,h=r?-1:1,f=t[e+c];for(c+=h,a=f&(1<<-p)-1,f>>=-p,p+=s;p>0;a=256*a+t[e+c],c+=h,p-=8){ }for(o=a&(1<<-p)-1,a>>=-p,p+=n;p>0;o=256*o+t[e+c],c+=h,p-=8){ }if(0===a){ a=1-l; }else {if(a===u){ return o?NaN:1/0*(f?-1:1); }o+=Math.pow(2,n),a-=l;}return (f?-1:1)*o*Math.pow(2,a-n)},Hs=function(t,e,r,n,i,a){var o,s,u,l=8*a-i-1,p=(1<<l)-1,c=p>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:a-1,y=n?1:-1,d=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=p):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),(e+=o+c>=1?h/u:h*Math.pow(2,1-c))*u>=2&&(o++,u/=2),o+c>=p?(s=0,o=p):o+c>=1?(s=(e*u-1)*Math.pow(2,i),o+=c):(s=e*Math.pow(2,c-1)*Math.pow(2,i),o=0));i>=8;t[r+f]=255&s,f+=y,s/=256,i-=8){ }for(o=o<<i|s,l+=i;l>0;t[r+f]=255&o,f+=y,o/=256,l-=8){ }t[r+f-y]|=128*d;},Ys=$s;function $s(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}$s.Varint=0,$s.Fixed64=1,$s.Bytes=2,$s.Fixed32=5;var Ws=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function Qs(t){return t.type===$s.Bytes?t.readVarint()+t.pos:t.pos+1}function tu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function eu(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 ru(t,e){for(var r=0;r<t.length;r++){ e.writeVarint(t[r]); }}function nu(t,e){for(var r=0;r<t.length;r++){ e.writeSVarint(t[r]); }}function iu(t,e){for(var r=0;r<t.length;r++){ e.writeFloat(t[r]); }}function au(t,e){for(var r=0;r<t.length;r++){ e.writeDouble(t[r]); }}function ou(t,e){for(var r=0;r<t.length;r++){ e.writeBoolean(t[r]); }}function su(t,e){for(var r=0;r<t.length;r++){ e.writeFixed32(t[r]); }}function uu(t,e){for(var r=0;r<t.length;r++){ e.writeSFixed32(t[r]); }}function lu(t,e){for(var r=0;r<t.length;r++){ e.writeFixed64(t[r]); }}function pu(t,e){for(var r=0;r<t.length;r++){ e.writeSFixed64(t[r]); }}function cu(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function hu(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function fu(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}function yu(t,e,r){1===t&&r.readMessage(du,e);}function du(t,e,r){if(3===t){var n=r.readMessage(mu,{}),i=n.width,a=n.height,o=n.left,s=n.top,u=n.advance;e.push({id:n.id,bitmap:new go({width:i+6,height:a+6},n.bitmap),metrics:{width:i,height:a,left:o,top:s,advance:u}});}}function mu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}function vu(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w);}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,u=0,l=0,p=t;l<p.length;l+=1){ for(var c=p[l],h=o.length-1;h>=0;h--){var f=o[h];if(!(c.w>f.w||c.h>f.h)){if(c.x=f.x,c.y=f.y,u=Math.max(u,c.y+c.h),s=Math.max(s,c.x+c.w),c.w===f.w&&c.h===f.h){var y=o.pop();h<o.length&&(o[h]=y);}else { c.h===f.h?(f.x+=c.w,f.w-=c.w):c.w===f.w?(f.y+=c.h,f.h-=c.h):(o.push({x:f.x+c.w,y:f.y,w:f.w-c.w,h:c.h}),f.y+=c.h,f.h-=c.h); }break}} }return {w:s,h:u,fill:e/(s*u)||0}}$s.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=cu(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=fu(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=cu(this.buf,this.pos)+4294967296*cu(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=cu(this.buf,this.pos)+4294967296*fu(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Js(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Js(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,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128){ return tu(t,n,e); }if(n|=(127&(i=a[r.pos++]))<<3,i<128){ return tu(t,n,e); }if(n|=(127&(i=a[r.pos++]))<<10,i<128){ return tu(t,n,e); }if(n|=(127&(i=a[r.pos++]))<<17,i<128){ return tu(t,n,e); }if(n|=(127&(i=a[r.pos++]))<<24,i<128){ return tu(t,n,e); }if(n|=(1&(i=a[r.pos++]))<<31,i<128){ return tu(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&&Ws?function(t,e,r){return Ws.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i<r;){var a,o,s,u=t[i],l=null,p=u>239?4:u>223?3:u>191?2:1;if(i+p>r){ break; }1===p?u<128&&(l=u):2===p?128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)<=127&&(l=null):3===p?(o=t[i+2],128==(192&(a=t[i+1]))&&128==(192&o)&&((l=(15&u)<<12|(63&a)<<6|63&o)<=2047||l>=55296&&l<=57343)&&(l=null)):4===p&&(o=t[i+2],s=t[i+3],128==(192&(a=t[i+1]))&&128==(192&o)&&128==(192&s)&&((l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||l>=1114112)&&(l=null)),null===l?(l=65533,p=1):l>65535&&(l-=65536,n+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),n+=String.fromCharCode(l),i+=p;}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!==$s.Bytes){ return t.push(this.readVarint(e)); }var r=Qs(this);for(t=t||[];this.pos<r;){ t.push(this.readVarint(e)); }return t},readPackedSVarint:function(t){if(this.type!==$s.Bytes){ return t.push(this.readSVarint()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readSVarint()); }return t},readPackedBoolean:function(t){if(this.type!==$s.Bytes){ return t.push(this.readBoolean()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readBoolean()); }return t},readPackedFloat:function(t){if(this.type!==$s.Bytes){ return t.push(this.readFloat()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readFloat()); }return t},readPackedDouble:function(t){if(this.type!==$s.Bytes){ return t.push(this.readDouble()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readDouble()); }return t},readPackedFixed32:function(t){if(this.type!==$s.Bytes){ return t.push(this.readFixed32()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readFixed32()); }return t},readPackedSFixed32:function(t){if(this.type!==$s.Bytes){ return t.push(this.readSFixed32()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readSFixed32()); }return t},readPackedFixed64:function(t){if(this.type!==$s.Bytes){ return t.push(this.readFixed64()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readFixed64()); }return t},readPackedSFixed64:function(t){if(this.type!==$s.Bytes){ return t.push(this.readSFixed64()); }var e=Qs(this);for(t=t||[];this.pos<e;){ t.push(this.readSFixed64()); }return t},skip:function(t){var e=7&t;if(e===$s.Varint){ for(;this.buf[this.pos++]>127;){ } }else if(e===$s.Bytes){ this.pos=this.readVarint()+this.pos; }else if(e===$s.Fixed32){ this.pos+=4; }else {if(e!==$s.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;e<this.pos+t;){ e*=2; }if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e;}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),hu(this.buf,t,this.pos),this.pos+=4;},writeSFixed32:function(t){this.realloc(4),hu(this.buf,t,this.pos),this.pos+=4;},writeFixed64:function(t){this.realloc(8),hu(this.buf,-1&t,this.pos),hu(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8;},writeSFixed64:function(t){this.realloc(8),hu(this.buf,-1&t,this.pos),hu(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8;},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(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)),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,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(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,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+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&&eu(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),Hs(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),Hs(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<e;r++){ this.buf[this.pos++]=t[r]; }},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&eu(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,$s.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,ru,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,nu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ou,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,iu,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,au,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,su,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,uu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,lu,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,pu,e);},writeBytesField:function(t,e){this.writeTag(t,$s.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,$s.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,$s.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,$s.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,$s.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,$s.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,$s.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,$s.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,$s.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,$s.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var gu=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n;},xu={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};xu.tl.get=function(){return [this.paddedRect.x+1,this.paddedRect.y+1]},xu.br.get=function(){return [this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},xu.tlbr.get=function(){return this.tl.concat(this.br)},xu.displaySize.get=function(){return [(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(gu.prototype,xu);var bu=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=vu(i),o=new xo({width:a.w||1,height:a.h||1});for(var s in t){var u=t[s],l=r[s].paddedRect;xo.copy(u.data,o,{x:0,y:0},{x:l.x+1,y:l.y+1},u.data);}for(var p in e){var c=e[p],h=n[p].paddedRect,f=h.x+1,y=h.y+1,d=c.data.width,m=c.data.height;xo.copy(c.data,o,{x:0,y:0},{x:f,y:y},c.data),xo.copy(c.data,o,{x:0,y:m-1},{x:f,y:y-1},{width:d,height:1}),xo.copy(c.data,o,{x:0,y:0},{x:f,y:y+m},{width:d,height:1}),xo.copy(c.data,o,{x:d-1,y:0},{x:f-1,y:y},{width:1,height:m}),xo.copy(c.data,o,{x:0,y:0},{x:f+d,y:y},{width:1,height:m});}this.image=o,this.iconPositions=r,this.patternPositions=n;};bu.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new gu(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n);}},bu.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages){ this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e); }},bu.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl;r.update(e.data,void 0,{x:n[0],y:n[1]});}},On(\"ImagePosition\",gu),On(\"ImageAtlas\",bu);var wu={horizontal:1,vertical:2,horizontalOnly:3},_u=function(){this.scale=1,this.fontStack=\"\",this.imageName=null;};_u.forText=function(t,e){var r=new _u;return r.scale=t||1,r.fontStack=e,r},_u.forImage=function(t){var e=new _u;return e.imageName=t,e};var Au=function(){this.text=\"\",this.sectionIndex=[],this.sections=[],this.imageSectionID=null;};function Su(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d){var m,v=Au.fromFeature(t,i);c===wu.vertical&&v.verticalizePunctuation();var g=oi.processBidirectionalText,x=oi.processStyledBidirectionalText;if(g&&1===v.sections.length){m=[];for(var b=0,w=g(v.toString(),Mu(v,l,a,e,n,f,y));b<w.length;b+=1){var _=w[b],A=new Au;A.text=_,A.sections=v.sections;for(var S=0;S<_.length;S++){ A.sectionIndex.push(0); }m.push(A);}}else if(x){m=[];for(var k=0,I=x(v.text,v.sectionIndex,Mu(v,l,a,e,n,f,y));k<I.length;k+=1){var z=I[k],C=new Au;C.text=z[0],C.sectionIndex=z[1],C.sections=v.sections,m.push(C);}}else { m=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s;}return i<n.length&&r.push(t.substring(i,n.length)),r}(v,Mu(v,l,a,e,n,f,y)); }var E=[],P={positionedLines:E,text:v.toString(),top:p[1],bottom:p[1],left:p[0],right:p[0],writingMode:c,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,i,a,o,s,u,l,p,c){for(var h=0,f=-17,y=0,d=0,m=\"right\"===s?1:\"left\"===s?0:.5,v=0,g=0,x=i;g<x.length;g+=1){var b=x[g];b.trim();var w=b.getMaxScale(),_=24*(w-1),A={positionedGlyphs:[],lineOffset:0};t.positionedLines[v]=A;var S=A.positionedGlyphs,k=0;if(b.length()){for(var I=0;I<b.length();I++){var z=b.getSection(I),C=b.getSectionIndex(I),E=b.getCharCode(I),P=0,M=null,B=null,T=null,V=24,F=!(u===wu.horizontal||!p&&!Xn(E)||p&&(ku[E]||(K=E,Gn.Arabic(K)||Gn[\"Arabic Supplement\"](K)||Gn[\"Arabic Extended-A\"](K)||Gn[\"Arabic Presentation Forms-A\"](K)||Gn[\"Arabic Presentation Forms-B\"](K))));if(z.imageName){var D=n[z.imageName];if(!D){ continue; }T=z.imageName,t.iconsInText=t.iconsInText||!0,B=D.paddedRect;var L=D.displaySize;z.scale=24*z.scale/c,P=_+(24-L[1]*z.scale),V=(M={width:L[0],height:L[1],left:1,top:-3,advance:F?L[1]:L[0]}).advance;var O=F?L[0]*z.scale-24*w:L[1]*z.scale-24*w;O>0&&O>k&&(k=O);}else {var R=r[z.fontStack],U=R&&R[E];if(U&&U.rect){ B=U.rect,M=U.metrics; }else {var j=e[z.fontStack],q=j&&j[E];if(!q){ continue; }M=q.metrics;}P=24*(w-z.scale);}F?(t.verticalizable=!0,S.push({glyph:E,imageName:T,x:h,y:f+P,vertical:F,scale:z.scale,fontStack:z.fontStack,sectionIndex:C,metrics:M,rect:B}),h+=V*z.scale+l):(S.push({glyph:E,imageName:T,x:h,y:f+P,vertical:F,scale:z.scale,fontStack:z.fontStack,sectionIndex:C,metrics:M,rect:B}),h+=M.advance*z.scale+l);}0!==S.length&&(y=Math.max(h-l,y),Tu(S,0,S.length-1,m,k)),h=0;var N=a*w+k;A.lineOffset=Math.max(k,_),f+=N,d=Math.max(N,d),++v;}else { f+=a,++v; }}var K,G=f- -17,Z=Bu(o),X=Z.horizontalAlign,J=Z.verticalAlign;((function(t,e,r,n,i,a,o,s,u){var l,p=(e-r)*i;l=a!==o?-s*n- -17:(-n*u+.5)*o;for(var c=0,h=t;c<h.length;c+=1){ for(var f=0,y=h[c].positionedGlyphs;f<y.length;f+=1){var d=y[f];d.x+=p,d.y+=l;} }}))(t.positionedLines,m,X,J,y,d,a,G,i.length),t.top+=-J*G,t.bottom=t.top+G,t.left+=-X*y,t.right=t.left+y;}(P,e,r,n,m,o,s,u,c,l,h,d),!function(t){for(var e=0,r=t;e<r.length;e+=1){ if(0!==r[e].positionedGlyphs.length){ return !1; } }return !0}(E)&&P}Au.fromFeature=function(t,e){for(var r=new Au,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e);}return r},Au.prototype.length=function(){return this.text.length},Au.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},Au.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},Au.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},Au.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;e+=n&&Jn(n)&&!Xs[t[r+1]]||i&&Jn(i)&&!Xs[t[r-1]]||!Xs[t[r]]?t[r]:Xs[t[r]];}return e}(this.text);},Au.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&ku[this.text.charCodeAt(e)];e++){ t++; }for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&ku[this.text.charCodeAt(n)];n--){ r--; }this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r);},Au.prototype.substring=function(t,e){var r=new Au;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Au.prototype.toString=function(){return this.text},Au.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Au.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(_u.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n){ this.sectionIndex.push(r); }},Au.prototype.addImageSection=function(t){var e=t.image?t.image.name:\"\";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push(_u.forImage(e)),this.sectionIndex.push(this.sections.length-1)):A(\"Reached maximum number of images 6401\");}else { A(\"Can't add FormattedSection with an empty image.\"); }},Au.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var ku={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Iu={};function zu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*24/a+i:0}var s=r[e.fontStack],u=s&&s[t];return u?u.metrics.advance*e.scale+i:0}function Cu(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Eu(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function Pu(t,e,r,n,i,a){for(var o=null,s=Cu(e,r,i,a),u=0,l=n;u<l.length;u+=1){var p=l[u],c=Cu(e-p.x,r,i,a)+p.badness;c<=s&&(o=p,s=c);}return {index:t,x:e,priorBreak:o,badness:s}}function Mu(t,e,r,n,i,a,o){if(\"point\"!==a){ return []; }if(!t){ return []; }for(var s,u=[],l=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var u=t.getSection(s);o+=zu(t.getCharCode(s),u,n,i,e,a);}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),p=t.text.indexOf(\"\u200B\")>=0,c=0,h=0;h<t.length();h++){var f=t.getSection(h),y=t.getCharCode(h);if(ku[y]||(c+=zu(y,f,n,i,e,o)),h<t.length()-1){var d=!((s=y)<11904||!(Gn[\"Bopomofo Extended\"](s)||Gn.Bopomofo(s)||Gn[\"CJK Compatibility Forms\"](s)||Gn[\"CJK Compatibility Ideographs\"](s)||Gn[\"CJK Compatibility\"](s)||Gn[\"CJK Radicals Supplement\"](s)||Gn[\"CJK Strokes\"](s)||Gn[\"CJK Symbols and Punctuation\"](s)||Gn[\"CJK Unified Ideographs Extension A\"](s)||Gn[\"CJK Unified Ideographs\"](s)||Gn[\"Enclosed CJK Letters and Months\"](s)||Gn[\"Halfwidth and Fullwidth Forms\"](s)||Gn.Hiragana(s)||Gn[\"Ideographic Description Characters\"](s)||Gn[\"Kangxi Radicals\"](s)||Gn[\"Katakana Phonetic Extensions\"](s)||Gn.Katakana(s)||Gn[\"Vertical Forms\"](s)||Gn[\"Yi Radicals\"](s)||Gn[\"Yi Syllables\"](s)));(Iu[y]||d||f.imageName)&&u.push(Pu(h+1,c,l,u,Eu(y,t.getCharCode(h+1),d&&p),!1));}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(Pu(t.length(),c,l,u,0,!0))}function Bu(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0;}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0;}return {horizontalAlign:e,verticalAlign:r}}function Tu(t,e,r,n,i){if(n||i){ for(var a=t[r],o=(t[r].x+a.metrics.advance*a.scale)*n,s=e;s<=r;s++){ t[s].x-=o,t[s].y+=i; } }}function Vu(t,e,r,n,i,a){var o,s=t.image;if(s.content){var u=s.content,l=s.pixelRatio||1;o=[u[0]/l,u[1]/l,s.displaySize[0]-u[2]/l,s.displaySize[1]-u[3]/l];}var p,c,h,f,y=e.left*a,d=e.right*a;\"width\"===r||\"both\"===r?(f=i[0]+y-n[3],c=i[0]+d+n[1]):c=(f=i[0]+(y+d-s.displaySize[0])/2)+s.displaySize[0];var m=e.top*a,v=e.bottom*a;return \"height\"===r||\"both\"===r?(p=i[1]+m-n[0],h=i[1]+v+n[2]):h=(p=i[1]+(m+v-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:p,right:c,bottom:h,left:f,collisionPadding:o}}Iu[10]=!0,Iu[32]=!0,Iu[38]=!0,Iu[40]=!0,Iu[41]=!0,Iu[43]=!0,Iu[45]=!0,Iu[47]=!0,Iu[173]=!0,Iu[183]=!0,Iu[8203]=!0,Iu[8208]=!0,Iu[8211]=!0,Iu[8231]=!0;var Fu=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(i);function Du(t,e){var r=e.expression;if(\"constant\"===r.kind){ return {kind:\"constant\",layoutSize:r.evaluate(new si(t+1))}; }if(\"source\"===r.kind){ return {kind:\"source\"}; }for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;){ a++; }for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;){ o++; }o=Math.min(n.length-1,o);var s=n[a],u=n[o];return \"composite\"===r.kind?{kind:\"composite\",minZoom:s,maxZoom:u,interpolationType:i}:{kind:\"camera\",minZoom:s,maxZoom:u,minSize:r.evaluate(new si(s)),maxSize:r.evaluate(new si(u)),interpolationType:i}}function Lu(t,e,r){var n=e.uSize,i=r.lowerSize;return \"source\"===t.kind?i/128:\"composite\"===t.kind?Ke(i/128,r.upperSize/128,e.uSizeT):n}function Ou(t,e){var r=0,n=0;if(\"constant\"===t.kind){ n=t.layoutSize; }else if(\"source\"!==t.kind){var i=t.interpolationType,a=i?p(ar.interpolationFactor(i,e,t.minZoom,t.maxZoom),0,1):0;\"camera\"===t.kind?n=Ke(t.minSize,t.maxSize,a):r=a;}return {uSizeT:r,uSize:n}}On(\"Anchor\",Fu);var Ru=Object.freeze({__proto__:null,getSizeData:Du,evaluateSizeForFeature:Lu,evaluateSizeForZoom:Ou,SIZE_PACK_FACTOR:128});function Uu(t,e,r,n,i){if(void 0===e.segment){ return !0; }for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0){ return !1; }s-=t[o].dist(a),a=t[o];}s+=t[o].dist(t[o+1]),o++;for(var u=[],l=0;s<r/2;){var p=t[o],c=t[o+1];if(!c){ return !1; }var h=t[o-1].angleTo(p)-p.angleTo(c);for(h=Math.abs((h+3*Math.PI)%(2*Math.PI)-Math.PI),u.push({distance:s,angleDelta:h}),l+=h;s-u[0].distance>n;){ l-=u.shift().angleDelta; }if(l>i){ return !1; }o++,s+=p.dist(c);}return !0}function ju(t){for(var e=0,r=0;r<t.length-1;r++){ e+=t[r].dist(t[r+1]); }return e}function qu(t,e,r){return t?.6*e*r:0}function Nu(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Ku(t,e,r,n,i,a){for(var o=qu(r,i,a),s=Nu(r,n)*a,u=0,l=ju(t)/2,p=0;p<t.length-1;p++){var c=t[p],h=t[p+1],f=c.dist(h);if(u+f>l){var y=(l-u)/f,d=Ke(c.x,h.x,y),m=Ke(c.y,h.y,y),v=new Fu(d,m,h.angleTo(c),p);return v._round(),!o||Uu(t,v,s,o,e)?v:void 0}u+=f;}}function Gu(t,e,r,n,i,a,o,s,u){var l=qu(n,a,o),p=Nu(n,i),c=p*o,h=0===t[0].x||t[0].x===u||0===t[0].y||t[0].y===u;return e-c<e/4&&(e=c+e/4),function t(e,r,n,i,a,o,s,u,l){for(var p=o/2,c=ju(e),h=0,f=r-n,y=[],d=0;d<e.length-1;d++){for(var m=e[d],v=e[d+1],g=m.dist(v),x=v.angleTo(m);f+n<h+g;){var b=((f+=n)-h)/g,w=Ke(m.x,v.x,b),_=Ke(m.y,v.y,b);if(w>=0&&w<l&&_>=0&&_<l&&f-p>=0&&f+p<=c){var A=new Fu(w,_,x,d);A._round(),i&&!Uu(e,A,o,i,a)||y.push(A);}}h+=g;}return u||y.length||s||(y=t(e,h/2,n,i,a,o,s,!0,l)),y}(t,h?e/2*s%e:(p/2+2*a)*o*s%e,e,l,r,c,h,!1,u)}function Zu(t,e,r,n,a){for(var o=[],s=0;s<t.length;s++){ for(var u=t[s],l=void 0,p=0;p<u.length-1;p++){var c=u[p],h=u[p+1];c.x<e&&h.x<e||(c.x<e?c=new i(e,c.y+(e-c.x)/(h.x-c.x)*(h.y-c.y))._round():h.x<e&&(h=new i(e,c.y+(e-c.x)/(h.x-c.x)*(h.y-c.y))._round()),c.y<r&&h.y<r||(c.y<r?c=new i(c.x+(r-c.y)/(h.y-c.y)*(h.x-c.x),r)._round():h.y<r&&(h=new i(c.x+(r-c.y)/(h.y-c.y)*(h.x-c.x),r)._round()),c.x>=n&&h.x>=n||(c.x>=n?c=new i(n,c.y+(n-c.x)/(h.x-c.x)*(h.y-c.y))._round():h.x>=n&&(h=new i(n,c.y+(n-c.x)/(h.x-c.x)*(h.y-c.y))._round()),c.y>=a&&h.y>=a||(c.y>=a?c=new i(c.x+(a-c.y)/(h.y-c.y)*(h.x-c.x),a)._round():h.y>=a&&(h=new i(c.x+(a-c.y)/(h.y-c.y)*(h.x-c.x),a)._round()),l&&c.equals(l[l.length-1])||o.push(l=[c]),l.push(h)))));} }return o}function Xu(t,e,r,n){var a=[],o=t.image,s=o.pixelRatio,u=o.paddedRect.w-2,l=o.paddedRect.h-2,p=t.right-t.left,c=t.bottom-t.top,h=o.stretchX||[[0,u]],f=o.stretchY||[[0,l]],y=function(t,e){return t+e[1]-e[0]},d=h.reduce(y,0),m=f.reduce(y,0),v=u-d,g=l-m,x=0,b=d,w=0,_=m,A=0,S=v,k=0,I=g;if(o.content&&n){var z=o.content;x=Ju(h,0,z[0]),w=Ju(f,0,z[1]),b=Ju(h,z[0],z[2]),_=Ju(f,z[1],z[3]),A=z[0]-x,k=z[1]-w,S=z[2]-z[0]-b,I=z[3]-z[1]-_;}var C=function(n,a,u,l){var h=Yu(n.stretch-x,b,p,t.left),f=$u(n.fixed-A,S,n.stretch,d),y=Yu(a.stretch-w,_,c,t.top),v=$u(a.fixed-k,I,a.stretch,m),g=Yu(u.stretch-x,b,p,t.left),z=$u(u.fixed-A,S,u.stretch,d),C=Yu(l.stretch-w,_,c,t.top),E=$u(l.fixed-k,I,l.stretch,m),P=new i(h,y),M=new i(g,y),B=new i(g,C),T=new i(h,C),V=new i(f/s,v/s),F=new i(z/s,E/s),D=e*Math.PI/180;if(D){var L=Math.sin(D),O=Math.cos(D),R=[O,-L,L,O];P._matMult(R),M._matMult(R),T._matMult(R),B._matMult(R);}var U=n.stretch+n.fixed,j=a.stretch+a.fixed;return {tl:P,tr:M,bl:T,br:B,tex:{x:o.paddedRect.x+1+U,y:o.paddedRect.y+1+j,w:u.stretch+u.fixed-U,h:l.stretch+l.fixed-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:V,pixelOffsetBR:F,minFontScaleX:S/s/p,minFontScaleY:I/s/c,isSDF:r}};if(n&&(o.stretchX||o.stretchY)){ for(var E=Hu(h,v,d),P=Hu(f,g,m),M=0;M<E.length-1;M++){ for(var B=E[M],T=E[M+1],V=0;V<P.length-1;V++){ a.push(C(B,P[V],T,P[V+1])); } } }else { a.push(C({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:u+1},{fixed:0,stretch:l+1})); }return a}function Ju(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]));}return n}function Hu(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],u=o[1],l=n[n.length-1];n.push({fixed:s-l.stretch,stretch:l.stretch}),n.push({fixed:s-l.stretch,stretch:l.stretch+(u-s)});}return n.push({fixed:e+1,stretch:r}),n}function Yu(t,e,r,n){return t/e*r+n}function $u(t,e,r,n){return t-e*r/n}var Wu=function(t,e,r,n,a,o,s,u,l,p){if(this.boxStartIndex=t.length,l){var c=o.top,h=o.bottom,f=o.collisionPadding;f&&(c-=f[1],h+=f[3]);var y=h-c;y>0&&(y=Math.max(10,y),this.circleDiameter=y);}else {var d=o.top*s-u,m=o.bottom*s+u,v=o.left*s-u,g=o.right*s+u,x=o.collisionPadding;if(x&&(v-=x[0]*s,d-=x[1]*s,g+=x[2]*s,m+=x[3]*s),p){var b=new i(v,d),w=new i(g,d),_=new i(v,m),A=new i(g,m),S=p*Math.PI/180;b._rotate(S),w._rotate(S),_._rotate(S),A._rotate(S),v=Math.min(b.x,w.x,_.x,A.x),g=Math.max(b.x,w.x,_.x,A.x),d=Math.min(b.y,w.y,_.y,A.y),m=Math.max(b.y,w.y,_.y,A.y);}t.emplaceBack(e.x,e.y,v,d,g,m,r,n,a);}this.boxEndIndex=t.length;},Qu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=tl),this.data=t,this.length=this.data.length,this.compare=e,this.length>0){ for(var r=(this.length>>1)-1;r>=0;r--){ this._down(r); } }};function tl(t,e){return t<e?-1:t>e?1:0}function el(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,a=1/0,o=-1/0,s=-1/0,u=t[0],l=0;l<u.length;l++){var p=u[l];(!l||p.x<n)&&(n=p.x),(!l||p.y<a)&&(a=p.y),(!l||p.x>o)&&(o=p.x),(!l||p.y>s)&&(s=p.y);}var c=Math.min(o-n,s-a),h=c/2,f=new Qu([],rl);if(0===c){ return new i(n,a); }for(var y=n;y<o;y+=c){ for(var d=a;d<s;d+=c){ f.push(new nl(y+h,d+h,h,t)); } }for(var m=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var u=i[a],l=i[s],p=u.x*l.y-l.x*u.y;r+=(u.x+l.x)*p,n+=(u.y+l.y)*p,e+=3*p;}return new nl(r/e,n/e,0,t)}(t),v=f.length;f.length;){var g=f.pop();(g.d>m.d||!m.d)&&(m=g,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*g.d)/1e4,v)),g.max-m.d<=e||(f.push(new nl(g.p.x-(h=g.h/2),g.p.y-h,h,t)),f.push(new nl(g.p.x+h,g.p.y-h,h,t)),f.push(new nl(g.p.x-h,g.p.y+h,h,t)),f.push(new nl(g.p.x+h,g.p.y+h,h,t)),v+=4);}return r&&(console.log(\"num probes: \"+v),console.log(\"best distance: \"+m.d)),m.p}function rl(t,e){return e.max-t.max}function nl(t,e,r,n){this.p=new i(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++){ for(var a=e[i],o=0,s=a.length,u=s-1;o<s;u=o++){var l=a[o],p=a[u];l.y>t.y!=p.y>t.y&&t.x<(p.x-l.x)*(t.y-l.y)/(p.y-l.y)+l.x&&(r=!r),n=Math.min(n,Ya(t,l,p));} }return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}Qu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1);},Qu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Qu.prototype.peek=function(){return this.data[0]},Qu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0){ break; }e[t]=a,t=i;}e[t]=n;},Qu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0){ break; }e[t]=o,t=a;}e[t]=i;};var il=Number.POSITIVE_INFINITY;function al(t,e){return e[1]!==il?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-7;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=7-r;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case\"top-right\":case\"top-left\":n=i-7;break;case\"bottom-right\":case\"bottom-left\":n=7-i;break;case\"bottom\":n=7-e;break;case\"top\":n=e-7;}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e;}return [r,n]}(t,e[0])}function ol(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function sl(t,e,r,n,a,o,s,u,l,p,c,h,f,y,d){var m=function(t,e,r,n,a,o,s,u){for(var l=n.layout.get(\"text-rotate\").evaluate(o,{})*Math.PI/180,p=[],c=0,h=e.positionedLines;c<h.length;c+=1){ for(var f=h[c],y=0,d=f.positionedGlyphs;y<d.length;y+=1){var m=d[y];if(m.rect){var v=m.rect||{},g=4,x=!0,b=1,w=0,_=(a||u)&&m.vertical,A=m.metrics.advance*m.scale/2;if(u&&e.verticalizable&&(w=f.lineOffset/2-(m.imageName?-(24-m.metrics.width*m.scale)/2:24*(m.scale-1))),m.imageName){var S=s[m.imageName];x=S.sdf,g=1/(b=S.pixelRatio);}var k=a?[m.x+A,m.y]:[0,0],I=a?[0,0]:[m.x+A+r[0],m.y+r[1]-w],z=[0,0];_&&(z=I,I=[0,0]);var C=(m.metrics.left-g)*m.scale-A+I[0],E=(-m.metrics.top-g)*m.scale+I[1],P=C+v.w*m.scale/b,M=E+v.h*m.scale/b,B=new i(C,E),T=new i(P,E),V=new i(C,M),F=new i(P,M);if(_){var D=new i(-A,A- -17),L=-Math.PI/2,O=12-A,R=new i(22-O,-(m.imageName?O:0)),U=new(Function.prototype.bind.apply(i,[null].concat(z)));B._rotateAround(L,D)._add(R)._add(U),T._rotateAround(L,D)._add(R)._add(U),V._rotateAround(L,D)._add(R)._add(U),F._rotateAround(L,D)._add(R)._add(U);}if(l){var j=Math.sin(l),q=Math.cos(l),N=[q,-j,j,q];B._matMult(N),T._matMult(N),V._matMult(N),F._matMult(N);}var K=new i(0,0),G=new i(0,0);p.push({tl:B,tr:T,bl:V,br:F,tex:v,writingMode:e.writingMode,glyphOffset:k,sectionIndex:m.sectionIndex,isSDF:x,pixelOffsetTL:K,pixelOffsetBR:G,minFontScaleX:0,minFontScaleY:0});}} }return p}(0,r,u,a,o,s,n,t.allowVerticalPlacement),v=t.textSizeData,g=null;\"source\"===v.kind?(g=[128*a.layout.get(\"text-size\").evaluate(s,{})])[0]>32640&&A(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'):\"composite\"===v.kind&&((g=[128*y.compositeTextSizes[0].evaluate(s,{},d),128*y.compositeTextSizes[1].evaluate(s,{},d)])[0]>32640||g[1]>32640)&&A(t.layerIds[0]+': Value for \"text-size\" is >= 255. Reduce your \"text-size\".'),t.addSymbols(t.text,m,g,u,o,s,p,e,l.lineStartIndex,l.lineLength,f,d);for(var x=0,b=c;x<b.length;x+=1){ h[b[x]]=t.text.placedSymbolArray.length-1; }return 4*m.length}function ul(t){for(var e in t){ return t[e]; }return null}function ll(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--){ if(n.dist(a[o])<r){ return !0 } }}else { i[e]=[]; }return i[e].push(n),!1}var pl=bs.VectorTileFeature.types,cl=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function hl(t,e,r,n,i,a,o,s,u,l,p,c,h){var f=s?Math.min(32640,Math.round(s[0])):0,y=s?Math.min(32640,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(f<<1)+(u?1:0),y,16*l,16*p,256*c,256*h);}function fl(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r);}function yl(t){for(var e=0,r=t.sections;e<r.length;e+=1){ if($n(r[e].text)){ return !0; } }return !1}var dl=function(t){this.layoutVertexArray=new Vi,this.indexArray=new ji,this.programConfigurations=t,this.segments=new sa,this.dynamicLayoutVertexArray=new Fi,this.opacityVertexArray=new Di,this.placedSymbolArray=new Qi;};dl.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},dl.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,js.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,qs.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,cl,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t));},dl.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy());},On(\"SymbolBuffers\",dl);var ml=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new sa,this.collisionVertexArray=new Ui;};ml.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,Ns.members,!0);},ml.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy());},On(\"CollisionBuffers\",ml);var vl=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=oo([]),this.placementViewportMatrix=oo([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Du(this.zoom,e[\"text-size\"]),this.iconSizeData=Du(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout,n=r.get(\"symbol-sort-key\"),i=r.get(\"symbol-z-order\");this.canOverlap=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==i&&void 0!==n.constantOr(1),this.sortFeaturesByY=(\"viewport-y\"===i||\"auto\"===i&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===r.get(\"symbol-placement\")&&(this.writingModes=r.get(\"text-writing-mode\").map((function(t){return wu[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID;};vl.prototype.createArrays=function(){this.text=new dl(new Va(this.layers,this.zoom,(function(t){return /^text/.test(t)}))),this.icon=new dl(new Va(this.layers,this.zoom,(function(t){return /^icon/.test(t)}))),this.glyphOffsetArray=new ra,this.lineVertexArray=new na,this.symbolInstances=new ea;},vl.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++){ if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=Xs[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0);} }},vl.prototype.populate=function(t,e,r){var n=this.layers[0],i=n.layout,a=i.get(\"text-font\"),o=i.get(\"text-field\"),s=i.get(\"icon-image\"),u=(\"constant\"!==o.value.kind||o.value.value instanceof ne&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),l=\"constant\"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,p=i.get(\"symbol-sort-key\");if(this.features=[],u||l){for(var c=e.iconDependencies,h=e.glyphDependencies,f=e.availableImages,y=new si(this.zoom),d=0,m=t;d<m.length;d+=1){var v=m[d],g=v.feature,x=v.id,b=v.index,w=v.sourceLayerIndex,_=n._featureFilter.needGeometry,A=Ua(g,_);if(n._featureFilter.filter(y,A,r)){_||(A.geometry=Ra(g));var S=void 0;if(u){var k=n.getValueAndResolveTokens(\"text-field\",A,r,f),I=ne.factory(k);yl(I)&&(this.hasRTLText=!0),(!this.hasRTLText||\"unavailable\"===ii()||this.hasRTLText&&oi.isParsed())&&(S=Zs(I,n,A));}var z=void 0;if(l){var C=n.getValueAndResolveTokens(\"icon-image\",A,r,f);z=C instanceof ie?C:ie.fromString(C);}if(S||z){var E=this.sortFeaturesByKey?p.evaluate(A,{},r):void 0;if(this.features.push({id:x,text:S,icon:z,index:b,sourceLayerIndex:w,geometry:A.geometry,properties:g.properties,type:pl[g.type],sortKey:E}),z&&(c[z.name]=!0),S){var P=a.evaluate(A,{},r).join(\",\"),M=\"map\"===i.get(\"text-rotation-alignment\")&&\"point\"!==i.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(wu.vertical)>=0;for(var B=0,T=S.sections;B<T.length;B+=1){var V=T[B];if(V.image){ c[V.image.name]=!0; }else {var F=Zn(S.toString()),D=V.fontStack||P,L=h[D]=h[D]||{};this.calculateGlyphDependencies(V.text,L,M,this.allowVerticalPlacement,F);}}}}}}\"line\"===i.get(\"symbol-placement\")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++;}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function u(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var l=0;l<t.length;l++){var p=t[l],c=p.geometry,h=p.text?p.text.toString():null;if(h){var f=u(h,c),y=u(h,c,!0);if(f in r&&y in e&&r[f]!==e[y]){var d=s(f,y,c),m=o(f,y,n[d].geometry);delete e[f],delete r[y],r[u(h,n[m].geometry,!0)]=m,n[d].geometry=null;}else { f in r?o(f,y,c):y in e?s(f,y,c):(a(l),e[f]=i-1,r[y]=i-1); }}else { a(l); }}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}));}},vl.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));},vl.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},vl.prototype.uploadPending=function(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},vl.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;},vl.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();},vl.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();},vl.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++){ a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o])); }for(var s=t.segment||0;s>=0;s--){ a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s])); }for(var u=0;u<e.length;u++){var l=a[u];this.lineVertexArray.emplaceBack(l.x,l.y,l.tileUnitDistanceFromAnchor);}}return {lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},vl.prototype.addSymbols=function(t,e,r,n,i,a,o,s,u,l,p,c){for(var h=t.indexArray,f=t.layoutVertexArray,y=t.segments.prepareSegment(4*e.length,f,h,this.canOverlap?a.sortKey:void 0),d=this.glyphOffsetArray.length,m=y.vertexLength,v=this.allowVerticalPlacement&&o===wu.vertical?Math.PI/2:0,g=a.text&&a.text.sections,x=0;x<e.length;x++){var b=e[x],w=b.tl,_=b.tr,A=b.bl,S=b.br,k=b.tex,I=b.pixelOffsetTL,z=b.pixelOffsetBR,C=b.minFontScaleX,E=b.minFontScaleY,P=b.glyphOffset,M=b.isSDF,B=b.sectionIndex,T=y.vertexLength,V=P[1];hl(f,s.x,s.y,w.x,V+w.y,k.x,k.y,r,M,I.x,I.y,C,E),hl(f,s.x,s.y,_.x,V+_.y,k.x+k.w,k.y,r,M,z.x,I.y,C,E),hl(f,s.x,s.y,A.x,V+A.y,k.x,k.y+k.h,r,M,I.x,z.y,C,E),hl(f,s.x,s.y,S.x,V+S.y,k.x+k.w,k.y+k.h,r,M,z.x,z.y,C,E),fl(t.dynamicLayoutVertexArray,s,v),h.emplaceBack(T,T+1,T+2),h.emplaceBack(T+1,T+2,T+3),y.vertexLength+=4,y.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(P[0]),x!==e.length-1&&B===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(f.length,a,a.index,{},c,g&&g[B]);}t.placedSymbolArray.emplaceBack(s.x,s.y,d,this.glyphOffsetArray.length-d,m,u,l,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,p);},vl.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},vl.prototype.addCollisionDebugVertices=function(t,e,r,n,a,o,s){var u=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),l=u.vertexLength,p=a.layoutVertexArray,c=a.collisionVertexArray,h=s.anchorX,f=s.anchorY;this._addCollisionDebugVertex(p,c,o,h,f,new i(t,e)),this._addCollisionDebugVertex(p,c,o,h,f,new i(r,e)),this._addCollisionDebugVertex(p,c,o,h,f,new i(r,n)),this._addCollisionDebugVertex(p,c,o,h,f,new i(t,n)),u.vertexLength+=4;var y=a.indexArray;y.emplaceBack(l,l+1),y.emplaceBack(l+1,l+2),y.emplaceBack(l+2,l+3),y.emplaceBack(l+3,l),u.primitiveLength+=4;},vl.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i);this.addCollisionDebugVertices(a.x1,a.y1,a.x2,a.y2,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r);}},vl.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new ml(Oi,Ks.members,Xi),this.iconCollisionBox=new ml(Oi,Ks.members,Xi);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1);}},vl.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,u){for(var l={},p=e;p<r;p++){var c=t.get(p);l.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},l.textFeatureIndex=c.featureIndex;break}for(var h=n;h<i;h++){var f=t.get(h);l.verticalTextBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},l.verticalTextFeatureIndex=f.featureIndex;break}for(var y=a;y<o;y++){var d=t.get(y);l.iconBox={x1:d.x1,y1:d.y1,x2:d.x2,y2:d.y2,anchorPointX:d.anchorPointX,anchorPointY:d.anchorPointY},l.iconFeatureIndex=d.featureIndex;break}for(var m=s;m<u;m++){var v=t.get(m);l.verticalIconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},l.verticalIconFeatureIndex=v.featureIndex;break}return l},vl.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex));}},vl.prototype.hasTextData=function(){return this.text.segments.get().length>0},vl.prototype.hasIconData=function(){return this.icon.segments.get().length>0},vl.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},vl.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},vl.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},vl.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4){ t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3); }},vl.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes){ return this.symbolInstanceIndexes; }for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex);}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},vl.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});},vl.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=this.symbolInstances.get(n[r]);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t);})),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,i.verticalPlacedTextSymbolIndex),i.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.placedIconSymbolIndex),i.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,i.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}},On(\"SymbolBucket\",vl,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),vl.MAX_GLYPHS=65535,vl.addDynamicAttributes=fl;var gl=new wi({\"symbol-placement\":new mi(Et.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new mi(Et.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new mi(Et.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new vi(Et.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new mi(Et.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new mi(Et.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new mi(Et.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new mi(Et.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new mi(Et.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new vi(Et.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new mi(Et.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new mi(Et.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new vi(Et.layout_symbol[\"icon-image\"]),\"icon-rotate\":new vi(Et.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new mi(Et.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new mi(Et.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new vi(Et.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new vi(Et.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new mi(Et.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new mi(Et.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new mi(Et.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new vi(Et.layout_symbol[\"text-field\"]),\"text-font\":new vi(Et.layout_symbol[\"text-font\"]),\"text-size\":new vi(Et.layout_symbol[\"text-size\"]),\"text-max-width\":new vi(Et.layout_symbol[\"text-max-width\"]),\"text-line-height\":new mi(Et.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new vi(Et.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new vi(Et.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new vi(Et.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new mi(Et.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new vi(Et.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new mi(Et.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new mi(Et.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new vi(Et.layout_symbol[\"text-rotate\"]),\"text-padding\":new mi(Et.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new mi(Et.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new vi(Et.layout_symbol[\"text-transform\"]),\"text-offset\":new vi(Et.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new mi(Et.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new mi(Et.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new mi(Et.layout_symbol[\"text-optional\"])}),xl={paint:new wi({\"icon-opacity\":new vi(Et.paint_symbol[\"icon-opacity\"]),\"icon-color\":new vi(Et.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new vi(Et.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new vi(Et.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new vi(Et.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new mi(Et.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new mi(Et.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new vi(Et.paint_symbol[\"text-opacity\"]),\"text-color\":new vi(Et.paint_symbol[\"text-color\"],{runtimeType:jt,getOverride:function(t){return t.textColor},hasOverride:function(t){return !!t.textColor}}),\"text-halo-color\":new vi(Et.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new vi(Et.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new vi(Et.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new mi(Et.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new mi(Et.paint_symbol[\"text-translate-anchor\"])}),layout:gl},bl=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Lt,this.defaultValue=t;};bl.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection)){ return e.getOverride(t.formattedSection) }}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},bl.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);},bl.prototype.outputDefined=function(){return !1},bl.prototype.serialize=function(){return null},On(\"FormatSectionOverride\",bl,{omit:[\"defaultValue\"]});var wl=function(t){function e(e){t.call(this,e,xl);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){var n=this.layout.get(\"text-writing-mode\");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s);}this.layout._values[\"text-writing-mode\"]=i;}else { this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]; }}this._setPaintOverrides();},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||Gr(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):\"\"}))}(e.properties,i)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return !1},e.prototype._setPaintOverrides=function(){for(var t=0,r=xl.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new bl(a),s=new Kr(o,a.property.specification);i=\"constant\"===a.value.kind||\"source\"===a.value.kind?new Xr(\"source\",s):new Jr(\"composite\",s,a.value.zoomStops,a.value._interpolationType),this.paint._values[n]=new yi(a.property,i,a.parameters);}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return !(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get(\"text-field\"),n=xl.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1){ if(n.overrides&&n.overrides.hasOverride(r[e])){ return void(i=!0) } }};if(\"constant\"===r.value.kind&&r.value.value instanceof ne){ a(r.value.value.sections); }else if(\"source\"===r.value.kind){var o=function(t){i||(t instanceof le&&se(t.value)===Gt?a(t.value.sections):t instanceof fe?a(t.sections):t.eachChild(o));},s=r.value;s._styleExpression&&o(s._styleExpression.expression);}return i},e}(_i),_l={paint:new wi({\"background-color\":new mi(Et.paint_background[\"background-color\"]),\"background-pattern\":new xi(Et.paint_background[\"background-pattern\"]),\"background-opacity\":new mi(Et.paint_background[\"background-opacity\"])})},Al=function(t){function e(e){t.call(this,e,_l);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(_i),Sl={paint:new wi({\"raster-opacity\":new mi(Et.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new mi(Et.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new mi(Et.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new mi(Et.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new mi(Et.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new mi(Et.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new mi(Et.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new mi(Et.paint_raster[\"raster-fade-duration\"])})},kl=function(t){function e(e){t.call(this,e,Sl);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(_i),Il=function(t){function e(e){t.call(this,e,{}),this.implementation=e;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.is3D=function(){return \"3d\"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},e}(_i),zl={circle:co,heatmap:_o,hillshade:So,fill:ps,\"fill-extrusion\":zs,line:Rs,symbol:wl,background:Al,raster:kl},Cl=o.HTMLImageElement,El=o.HTMLCanvasElement,Pl=o.HTMLVideoElement,Ml=o.ImageData,Bl=o.ImageBitmap,Tl=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n);};Tl.prototype.update=function(t,e,r){var n=t.width,i=t.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),a){ this.size=[n,i],t instanceof Cl||t instanceof El||t instanceof Pl||t instanceof Ml||Bl&&t instanceof Bl?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,t.data); }else {var u=r||{x:0,y:0},l=u.x,p=u.y;t instanceof Cl||t instanceof El||t instanceof Pl||t instanceof Ml||Bl&&t instanceof Bl?s.texSubImage2D(s.TEXTURE_2D,0,l,p,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,l,p,n,i,s.RGBA,s.UNSIGNED_BYTE,t.data);}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D);},Tl.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e);},Tl.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Tl.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null;};var Vl=function(t){var e=this;this._callback=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback();});};Vl.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback();}),0));},Vl.prototype.remove=function(){delete this._channel,this._callback=function(){};};var Fl=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},v([\"receive\",\"process\"],this),this.invoker=new Vl(this.process),this.target.addEventListener(\"message\",this.receive,!1),this.globalScope=I()?t:o;};function Dl(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}Fl.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=E(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:qn(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:\"<cancel>\",targetMapId:n,sourceMapId:a.mapId});}}},Fl.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId)){ if(\"<cancel>\"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n();}else { I()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e); } }},Fl.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e);}},Fl.prototype.processTask=function(t,e){var r=this;if(\"<response>\"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(Nn(e.error)):n(null,Nn(e.data)));}else {var i=!1,a=E(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:\"<response>\",sourceMapId:r.mapId,error:e?qn(e):null,data:qn(n,a)},a);}:function(t){i=!0;},s=null,u=Nn(e.data);if(this.parent[e.type]){ s=this.parent[e.type](e.sourceMapId,u,o); }else if(this.parent.getWorkerSource){var l=e.type.split(\".\");s=this.parent.getWorkerSource(e.sourceMapId,l[0],u.source)[l[1]](u,o);}else { o(new Error(\"Could not find function \"+e.type)); }!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel);}},Fl.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1);};var Ll=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]));};Ll.prototype.setNorthEast=function(t){return this._ne=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this},Ll.prototype.setSouthWest=function(t){return this._sw=t instanceof Ol?new Ol(t.lng,t.lat):Ol.convert(t),this},Ll.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Ol){ e=t,r=t; }else {if(!(t instanceof Ll)){ return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(Ll.convert(t)):this.extend(Ol.convert(t)):this; }if(r=t._ne,!(e=t._sw)||!r){ return this }}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Ol(e.lng,e.lat),this._ne=new Ol(r.lng,r.lat)),this},Ll.prototype.getCenter=function(){return new Ol((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Ll.prototype.getSouthWest=function(){return this._sw},Ll.prototype.getNorthEast=function(){return this._ne},Ll.prototype.getNorthWest=function(){return new Ol(this.getWest(),this.getNorth())},Ll.prototype.getSouthEast=function(){return new Ol(this.getEast(),this.getSouth())},Ll.prototype.getWest=function(){return this._sw.lng},Ll.prototype.getSouth=function(){return this._sw.lat},Ll.prototype.getEast=function(){return this._ne.lng},Ll.prototype.getNorth=function(){return this._ne.lat},Ll.prototype.toArray=function(){return [this._sw.toArray(),this._ne.toArray()]},Ll.prototype.toString=function(){return \"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},Ll.prototype.isEmpty=function(){return !(this._sw&&this._ne)},Ll.prototype.contains=function(t){var e=Ol.convert(t),r=e.lng,n=e.lat,i=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(i=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=n&&n<=this._ne.lat&&i},Ll.convert=function(t){return !t||t instanceof Ll?t:new Ll(t)};var Ol=function(t,e){if(isNaN(t)||isNaN(e)){ throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\"); }if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90){ throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\") }};Ol.prototype.wrap=function(){return new Ol(c(this.lng,-180,180),this.lat)},Ol.prototype.toArray=function(){return [this.lng,this.lat]},Ol.prototype.toString=function(){return \"LngLat(\"+this.lng+\", \"+this.lat+\")\"},Ol.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return 6371008.8*Math.acos(Math.min(i,1))},Ol.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Ll(new Ol(this.lng-r,this.lat-e),new Ol(this.lng+r,this.lat+e))},Ol.convert=function(t){if(t instanceof Ol){ return t; }if(Array.isArray(t)&&(2===t.length||3===t.length)){ return new Ol(Number(t[0]),Number(t[1])); }if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t){ return new Ol(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat)); }throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var Rl=2*Math.PI*6371008.8;function Ul(t){return Rl*Math.cos(t*Math.PI/180)}function jl(t){return (180+t)/360}function ql(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nl(t,e){return t/Ul(e)}function Kl(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}var Gl=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r;};Gl.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ol.convert(t);return new Gl(jl(r.lng),ql(r.lat),Nl(e,r.lat))},Gl.prototype.toLngLat=function(){return new Ol(360*this.x-180,Kl(this.y))},Gl.prototype.toAltitude=function(){return this.z*Ul(Kl(this.y))},Gl.prototype.meterInMercatorCoordinateUnits=function(){return 1/Rl*(t=Kl(this.y),1/Math.cos(t*Math.PI/180));var t;};var Zl=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Hl(0,t,t,e,r);};Zl.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Zl.prototype.url=function(t,e){var r,n,i,a,o,s=(n=this.y,i=this.z,a=Dl(256*(r=this.x),256*(n=Math.pow(2,i)-n-1),i),o=Dl(256*(r+1),256*(n+1),i),a[0]+\",\"+a[1]+\",\"+o[0]+\",\"+o[1]),u=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--){ i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0); }return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",u).replace(\"{bbox-epsg-3857}\",s)},Zl.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new i(8192*(t.x*e-this.x),8192*(t.y*e-this.y))},Zl.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var Xl=function(t,e){this.wrap=t,this.canonical=e,this.key=Hl(t,e.z,e.z,e.x,e.y);},Jl=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new Zl(r,+n,+i),this.key=Hl(e,t,r,n,i);};function Hl(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return (a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}Jl.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Jl.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Jl(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jl(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Jl.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Hl(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Hl(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Jl.prototype.isChildOf=function(t){if(t.wrap!==this.wrap){ return !1; }var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Jl.prototype.children=function(t){if(this.overscaledZ>=t){ return [new Jl(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)]; }var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new Jl(e,this.wrap,e,r,n),new Jl(e,this.wrap,e,r+1,n),new Jl(e,this.wrap,e,r,n+1),new Jl(e,this.wrap,e,r+1,n+1)]},Jl.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Jl.prototype.wrapped=function(){return new Jl(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Jl.prototype.unwrapTo=function(t){return new Jl(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Jl.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Jl.prototype.toUnwrapped=function(){return new Xl(this.wrap,this.canonical)},Jl.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},Jl.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Gl(t.x-this.wrap,t.y))},On(\"CanonicalTileID\",Zl),On(\"OverscaledTileID\",Jl,{omit:[\"posMatrix\"]});var Yl=function(t,e,r){if(this.uid=t,e.height!==e.width){ throw new RangeError(\"DEM tiles must be square\"); }if(r&&\"mapbox\"!==r&&\"terrarium\"!==r){ return A('\"'+r+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".'); }this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||\"mapbox\";for(var i=0;i<n;i++){ this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)]; }this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)];};Yl.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return (\"terrarium\"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Yl.prototype.getUnpackVector=function(){return \"terrarium\"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Yl.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1){ throw new RangeError(\"out of range source coordinates for DEM data\"); }return (e+1)*this.stride+(t+1)},Yl.prototype._unpackMapbox=function(t,e,r){return (256*t*256+256*e+r)/10-1e4},Yl.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Yl.prototype.getPixels=function(){return new xo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Yl.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim){ throw new Error(\"dem dimension mismatch\"); }var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:a=o-1;break;case 1:o=a+1;}for(var s=-e*this.dim,u=-r*this.dim,l=a;l<o;l++){ for(var p=n;p<i;p++){ this.data[this._idx(p,l)]=t.data[this._idx(p+s,l+u)]; } }},On(\"DEMData\",Yl);var $l=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r;}};$l.prototype.encode=function(t){return this._stringToNumber[t]},$l.prototype.decode=function(t){return this._numberToString[t]};var Wl=function(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;},Ql={geometry:{configurable:!0}};Ql.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Ql.geometry.set=function(t){this._geometry=t;},Wl.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this){ \"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]); }return t},Object.defineProperties(Wl.prototype,Ql);var tp=function(){this.state={},this.stateChanges={},this.deletedStates={};};tp.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},h(this.stateChanges[t][n],r),null===this.deletedStates[t]){ for(var i in this.deletedStates[t]={},this.state[t]){ i!==n&&(this.deletedStates[t][i]=null); } }else if(this.deletedStates[t]&&null===this.deletedStates[t][n]){ for(var a in this.deletedStates[t][n]={},this.state[t][n]){ r[a]||(this.deletedStates[t][n][a]=null); } }else { for(var o in r){ this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]; } }},tp.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e){ null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null); }else if(void 0!==e){ if(this.stateChanges[t]&&this.stateChanges[t][n]){ for(r in this.deletedStates[t][n]={},this.stateChanges[t][n]){ this.deletedStates[t][n][r]=null; } }else { this.deletedStates[t][n]=null; } }else { this.deletedStates[t]=null; }}},tp.prototype.getState=function(t,e){var r=String(e),n=h({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t]){ return {}; }if(this.deletedStates[t]){var i=this.deletedStates[t][e];if(null===i){ return {}; }for(var a in i){ delete n[a]; }}return n},tp.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e);},tp.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n]){ this.state[n][a]||(this.state[n][a]={}),h(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a]; }r[n]=i;}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o]){ for(var u in this.state[o]){ s[u]={},this.state[o][u]={}; } }else { for(var l in this.deletedStates[o]){if(null===this.deletedStates[o][l]){ this.state[o][l]={}; }else { for(var p=0,c=Object.keys(this.deletedStates[o][l]);p<c.length;p+=1){ delete this.state[o][l][c[p]]; } }s[l]=this.state[o][l];} }r[o]=r[o]||{},h(r[o],s);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length){ for(var f in t){ t[f].setFeatureState(r,e); } }};var ep=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Tn(8192,16,0),this.grid3D=new Tn(8192,16,0),this.featureIndexArray=new aa,this.promoteId=e;};function rp(t,e,r,n,i){return x(t,(function(t,a){var o=e instanceof di?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function np(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);}return {minX:e,minY:r,maxX:n,maxY:i}}function ip(t,e){return e-t}ep.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,u=0;u<e.length;u++){for(var l=e[u],p=[1/0,1/0,-1/0,-1/0],c=0;c<l.length;c++){var h=l[c];p[0]=Math.min(p[0],h.x),p[1]=Math.min(p[1],h.y),p[2]=Math.max(p[2],h.x),p[3]=Math.max(p[3],h.y);}p[0]<8192&&p[1]<8192&&p[2]>=0&&p[3]>=0&&s.insert(o,p[0],p[1],p[2],p[3]);}},ep.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new bs.VectorTile(new Ys(this.rawTileData)).layers,this.sourceLayerCoder=new $l(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},ep.prototype.query=function(t,e,r,n){var a=this;this.loadVTLayers();for(var o=t.params||{},s=8192/t.tileSize/t.scale,u=on(o.filter),l=t.queryGeometry,p=t.queryPadding*s,c=np(l),h=this.grid.query(c.minX-p,c.minY-p,c.maxX+p,c.maxY+p),f=np(t.cameraQueryGeometry),y=this.grid3D.query(f.minX-p,f.minY-p,f.maxX+p,f.maxY+p,(function(e,r,n,a){return function(t,e,r,n,a){for(var o=0,s=t;o<s.length;o+=1){var u=s[o];if(e<=u.x&&r<=u.y&&n>=u.x&&a>=u.y){ return !0 }}var l=[new i(e,r),new i(e,a),new i(n,a),new i(n,r)];if(t.length>2){ for(var p=0,c=l;p<c.length;p+=1){ if(Wa(t,c[p])){ return !0; } } }for(var h=0;h<t.length-1;h++){ if(Qa(t[h],t[h+1],l)){ return !0; } }return !1}(t.cameraQueryGeometry,e-p,r-p,n+p,a+p)})),d=0,m=y;d<m.length;d+=1){ h.push(m[d]); }h.sort(ip);for(var v,g={},x=function(i){var p=h[i];if(p!==v){v=p;var c=a.featureIndexArray.get(p),f=null;a.loadMatchingFeature(g,c.bucketIndex,c.sourceLayerIndex,c.featureIndex,u,o.layers,o.availableImages,e,r,n,(function(e,r,n){return f||(f=Ra(e)),r.queryIntersectsFeature(l,e,n,f,a.z,t.transform,s,t.pixelPosMatrix)}));}},b=0;b<h.length;b++){ x(b); }return g},ep.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s,u,l,p){var c=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++){ if(e.indexOf(t[r])>=0){ return !0; } }return !1}(a,c)){var f=this.sourceLayerCoder.decode(r),y=this.vtLayers[f].feature(n);if(i.needGeometry){var d=Ua(y,!0);if(!i.filter(new si(this.tileID.overscaledZ),d,this.tileID.canonical)){ return }}else if(!i.filter(new si(this.tileID.overscaledZ),y)){ return; }for(var m=this.getId(y,f),v=0;v<c.length;v++){var g=c[v];if(!(a&&a.indexOf(g)<0)){var x=s[g];if(x){var b={};void 0!==m&&l&&(b=l.getState(x.sourceLayer||\"_geojsonTileLayer\",m));var w=h({},u[g]);w.paint=rp(w.paint,x.paint,y,b,o),w.layout=rp(w.layout,x.layout,y,b,o);var _=!p||p(y,x,b);if(_){var A=new Wl(y,this.z,this.x,this.y,m);A.layer=w;var S=t[g];void 0===S&&(S=t[g]=[]),S.push({featureIndex:n,feature:A,intersectionZ:_});}}}}}},ep.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var u={};this.loadVTLayers();for(var l=on(i),p=0,c=t;p<c.length;p+=1){ this.loadMatchingFeature(u,r,n,c[p],l,a,o,s,e); }return u},ep.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1){ for(var n=0,i=r[e];n<i.length;n+=1){ if(t===i[n]){ return !0; } } }return !1},ep.prototype.getId=function(t,e){var r=t.id;return this.promoteId&&\"boolean\"==typeof(r=t.properties[\"string\"==typeof this.promoteId?this.promoteId:this.promoteId[e]])&&(r=Number(r)),r},On(\"FeatureIndex\",ep,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var ap=function(t,e){this.tileID=t,this.uid=y(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state=\"loading\";};ap.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<O.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e);},ap.prototype.wasRequested=function(){return \"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},ap.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e){ return r; }for(var n=function(){var t=a[i],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1){ r[s[o].id]=t; }}},i=0,a=t;i<a.length;i+=1){ n(); }return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof vl){if(this.hasSymbolBuckets=!0,!r){ break; }i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets){ for(var a in this.buckets){var o=this.buckets[a];if(o instanceof vl&&o.hasRTLText){this.hasRTLText=!0,oi.isLoading()||oi.isLoaded()||\"deferred\"!==ii()||ai();break}} }for(var s in this.queryPadding=0,this.buckets){var u=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(u));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage);}else { this.collisionBoxArray=new $i; }},ap.prototype.unloadVectorData=function(){for(var t in this.buckets){ this.buckets[t].destroy(); }this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";},ap.prototype.getBucket=function(t){return this.buckets[t.id]},ap.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t);}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Tl(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Tl(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null);},ap.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);},ap.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o,s,u,l){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:s,params:o,queryPadding:this.queryPadding*u},t,e,r):{}},ap.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=e?e.sourceLayer:\"\",a=n._geojsonTileLayer||n[i];if(a){ for(var o=on(e&&e.filter),s=this.tileID.canonical,u=s.z,l=s.x,p=s.y,c={z:u,x:l,y:p},h=0;h<a.length;h++){var f=a.feature(h);if(o.needGeometry){var y=Ua(f,!0);if(!o.filter(new si(this.tileID.overscaledZ),y,this.tileID.canonical)){ continue }}else if(!o.filter(new si(this.tileID.overscaledZ),f)){ continue; }var d=r.getId(f,i),m=new Wl(f,u,l,p,d);m.tile=c,t.push(m);} }}},ap.prototype.hasData=function(){return \"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},ap.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},ap.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=z(t.cacheControl);r[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*r[\"max-age\"]);}else { t.expires&&(this.expirationTime=new Date(t.expires).getTime()); }if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n){ i=!1; }else if(e){ if(this.expirationTime<e){ i=!0; }else {var a=this.expirationTime-e;a?this.expirationTime=n+Math.max(a,3e4):i=!0;} }else { i=!0; }i?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0;}},ap.prototype.getExpiryTimeout=function(){if(this.expirationTime){ return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1) }},ap.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets){ if(e.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||\"_geojsonTileLayer\",o=r[a],s=t[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var u=e&&e.style&&e.style.getLayer(n);u&&(this.queryPadding=Math.max(this.queryPadding,u.queryRadius(i)));}} }}},ap.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},ap.prototype.symbolFadeFinished=function(){return !this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<O.now()},ap.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0;},ap.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=O.now()+t;},ap.prototype.setDependencies=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){ r[i[n]]=!0; }this.dependencies[t]=r;},ap.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=this.dependencies[n[r]];if(i){ for(var a=0,o=e;a<o.length;a+=1){ if(i[o[a]]){ return !0 } } }}return !1};var op=o.performance,sp=function(t){this._marks={start:[t.url,\"start\"].join(\"#\"),end:[t.url,\"end\"].join(\"#\"),measure:t.url.toString()},op.mark(this._marks.start);};sp.prototype.finish=function(){op.mark(this._marks.end);var t=op.getEntriesByName(this._marks.measure);return 0===t.length&&(op.measure(this._marks.measure,this._marks.start,this._marks.end),t=op.getEntriesByName(this._marks.measure),op.clearMarks(this._marks.start),op.clearMarks(this._marks.end),op.clearMeasures(this._marks.measure)),t},t.Actor=Fl,t.AlphaImage=go,t.CanonicalTileID=Zl,t.CollisionBoxArray=$i,t.Color=te,t.DEMData=Yl,t.DataConstantProperty=mi,t.DictionaryCoder=$l,t.EXTENT=8192,t.ErrorEvent=zt,t.EvaluationParameters=si,t.Event=It,t.Evented=Ct,t.FeatureIndex=ep,t.FillBucket=ss,t.FillExtrusionBucket=Ss,t.ImageAtlas=bu,t.ImagePosition=gu,t.LineBucket=Fs,t.LngLat=Ol,t.LngLatBounds=Ll,t.MercatorCoordinate=Gl,t.ONE_EM=24,t.OverscaledTileID=Jl,t.Point=i,t.Point$1=i,t.Properties=wi,t.Protobuf=Ys,t.RGBAImage=xo,t.RequestManager=G,t.RequestPerformance=sp,t.ResourceType=yt,t.SegmentVector=sa,t.SourceFeatureState=tp,t.StructArrayLayout1ui2=Ji,t.StructArrayLayout2f1f2i16=Ri,t.StructArrayLayout2i4=Ci,t.StructArrayLayout3ui6=ji,t.StructArrayLayout4i8=Ei,t.SymbolBucket=vl,t.Texture=Tl,t.Tile=ap,t.Transitionable=pi,t.Uniform1f=ba,t.Uniform1i=xa,t.Uniform2f=wa,t.Uniform3f=_a,t.Uniform4f=Aa,t.UniformColor=Sa,t.UniformMatrix4f=Ia,t.UnwrappedTileID=Xl,t.ValidationError=Pt,t.WritingMode=wu,t.ZoomHistory=Kn,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=fl,t.asyncAll=function(t,e,r){if(!t.length){ return r(null,[]); }var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i);}));}));},t.bezier=u,t.bindAll=v,t.browser=O,t.cacheEntryPossiblyAdded=function(t){++ht>ut&&(t.getActor().send(\"enforceCacheSizeLimit\",st),ht=0);},t.clamp=p,t.clearTileCache=function(t){var e=o.caches.delete(\"mapbox-tiles\");t&&e.catch(t).then((function(){return t()}));},t.clipLine=Zu,t.clone=function(t){var e=new ao(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new ao(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Gs,t.config=R,t.create=function(){var t=new ao(16);return ao!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new ao(9);return ao!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new ao(4);return ao!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=Zr,t.createLayout=Ii,t.createStyleLayer=function(t){return \"custom\"===t.type?new Il(t):new zl[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],u=r[2];return t[0]=i*u-a*s,t[1]=a*o-n*u,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length){ return !1; }for(var n=0;n<e.length;n++){ if(!t(e[n],r[n])){ return !1; } }return !0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r){ return !1; }if(Object.keys(e).length!==Object.keys(r).length){ return !1; }for(var i in e){ if(!t(e[i],r[i])){ return !1; } }return !0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=l,t.emitValidationErrors=Bn,t.endsWith=g,t.enforceCacheSizeLimit=function(t){lt(),tt&&tt.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++){ e.delete(r[n]); }}));}));},t.evaluateSizeForFeature=Lu,t.evaluateSizeForZoom=Ou,t.evaluateVariableOffset=al,t.evented=ni,t.extend=h,t.featureFilter=on,t.filterObject=b,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=Bu,t.getAnchorJustification=ol,t.getArrayBuffer=bt,t.getImage=At,t.getJSON=function(t,e){return xt(h(t,{type:\"json\"}),e)},t.getRTLTextPluginStatus=ii,t.getReferrer=mt,t.getVideo=function(t,e){var r,n,i=o.document.createElement(\"video\");i.muted=!0,i.onloadstart=function(){e(null,i);};for(var a=0;a<t.length;a++){var s=o.document.createElement(\"source\");r=t[a],n=void 0,(n=o.document.createElement(\"a\")).href=r,(n.protocol!==o.document.location.protocol||n.host!==o.document.location.host)&&(i.crossOrigin=\"Anonymous\"),s.src=t[a],i.appendChild(s);}return {cancel:function(){}}},t.identity=oo,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],u=e[6],l=e[7],p=e[8],c=e[9],h=e[10],f=e[11],y=e[12],d=e[13],m=e[14],v=e[15],g=r*s-n*o,x=r*u-i*o,b=r*l-a*o,w=n*u-i*s,_=n*l-a*s,A=i*l-a*u,S=p*d-c*y,k=p*m-h*y,I=p*v-f*y,z=c*m-h*d,C=c*v-f*d,E=h*v-f*m,P=g*E-x*C+b*z+w*I-_*k+A*S;return P?(t[0]=(s*E-u*C+l*z)*(P=1/P),t[1]=(i*C-n*E-a*z)*P,t[2]=(d*A-m*_+v*w)*P,t[3]=(h*_-c*A-f*w)*P,t[4]=(u*I-o*E-l*k)*P,t[5]=(r*E-i*I+a*k)*P,t[6]=(m*b-y*A-v*x)*P,t[7]=(p*A-h*b+f*x)*P,t[8]=(o*C-s*I+l*S)*P,t[9]=(n*I-r*C-a*S)*P,t[10]=(y*_-d*b+v*g)*P,t[11]=(c*b-p*_-f*g)*P,t[12]=(s*k-o*z-u*S)*P,t[13]=(r*z-n*k+i*S)*P,t[14]=(d*x-y*w-m*g)*P,t[15]=(p*w-c*x+h*g)*P,t):null},t.isChar=Gn,t.isMapboxURL=Z,t.keysDifference=function(t,e){var r=[];for(var n in t){ n in e||r.push(n); }return r},t.makeRequest=xt,t.mapObject=x,t.mercatorXfromLng=jl,t.mercatorYfromLat=ql,t.mercatorZfromAltitude=Nl,t.mul=lo,t.multiply=so,t.mvt=bs,t.nextPowerOfTwo=function(t){return t<=1?1:Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ke,t.offscreenCanvasSupported=ft,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),u=1/(n-i),l=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*u,t[14]=(o+a)*l,t[15]=1,t},t.parseGlyphPBF=function(t){return new Ys(t).readFields(yu,[])},t.pbf=Ys,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays(),t.tilePixelRatio=8192/(512*t.overscaling),t.compareText={},t.iconsNeedLinear=!1;var s=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,l={};if(\"composite\"===t.textSizeData.kind){var p=t.textSizeData,c=p.maxZoom;l.compositeTextSizes=[u[\"text-size\"].possiblyEvaluate(new si(p.minZoom),o),u[\"text-size\"].possiblyEvaluate(new si(c),o)];}if(\"composite\"===t.iconSizeData.kind){var h=t.iconSizeData,f=h.maxZoom;l.compositeIconSizes=[u[\"icon-size\"].possiblyEvaluate(new si(h.minZoom),o),u[\"icon-size\"].possiblyEvaluate(new si(f),o)];}l.layoutTextSize=u[\"text-size\"].possiblyEvaluate(new si(t.zoom+1),o),l.layoutIconSize=u[\"icon-size\"].possiblyEvaluate(new si(t.zoom+1),o),l.textMaxSize=u[\"text-size\"].possiblyEvaluate(new si(18));for(var y=24*s.get(\"text-line-height\"),d=\"map\"===s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\"),m=s.get(\"text-keep-upright\"),v=s.get(\"text-size\"),g=function(){var a=b[x],u=s.get(\"text-font\").evaluate(a,{},o).join(\",\"),p=v.evaluate(a,{},o),c=l.layoutTextSize.evaluate(a,{},o),h=l.layoutIconSize.evaluate(a,{},o),f={horizontal:{},vertical:void 0},g=a.text,w=[0,0];if(g){var _=g.toString(),S=24*s.get(\"text-letter-spacing\").evaluate(a,{},o),k=function(t){for(var e=0,r=t;e<r.length;e+=1){ if(n=r[e].charCodeAt(0),Gn.Arabic(n)||Gn[\"Arabic Supplement\"](n)||Gn[\"Arabic Extended-A\"](n)||Gn[\"Arabic Presentation Forms-A\"](n)||Gn[\"Arabic Presentation Forms-B\"](n)){ return !1; } }var n;return !0}(_)?S:0,I=s.get(\"text-anchor\").evaluate(a,{},o),z=s.get(\"text-variable-anchor\");if(!z){var C=s.get(\"text-radial-offset\").evaluate(a,{},o);w=C?al(I,[24*C,il]):s.get(\"text-offset\").evaluate(a,{},o).map((function(t){return 24*t}));}var E=d?\"center\":s.get(\"text-justify\").evaluate(a,{},o),P=s.get(\"symbol-placement\"),M=\"point\"===P?24*s.get(\"text-max-width\").evaluate(a,{},o):0,B=function(){t.allowVerticalPlacement&&Zn(_)&&(f.vertical=Su(g,e,r,i,u,M,y,I,\"left\",k,w,wu.vertical,!0,P,c,p));};if(!d&&z){for(var T=\"auto\"===E?z.map((function(t){return ol(t)})):[E],V=!1,F=0;F<T.length;F++){var D=T[F];if(!f.horizontal[D]){ if(V){ f.horizontal[D]=f.horizontal[0]; }else {var L=Su(g,e,r,i,u,M,y,\"center\",D,k,w,wu.horizontal,!1,P,c,p);L&&(f.horizontal[D]=L,V=1===L.positionedLines.length);} }}B();}else {\"auto\"===E&&(E=ol(I));var O=Su(g,e,r,i,u,M,y,I,E,k,w,wu.horizontal,!1,P,c,p);O&&(f.horizontal[E]=O),B(),Zn(_)&&d&&m&&(f.vertical=Su(g,e,r,i,u,M,y,I,E,k,w,wu.vertical,!1,P,c,p));}}var R=void 0,U=!1;if(a.icon&&a.icon.name){var j=n[a.icon.name];j&&(R=function(t,e,r){var n=Bu(r),i=e[0]-t.displaySize[0]*n.horizontalAlign,a=e[1]-t.displaySize[1]*n.verticalAlign;return {image:t,top:a,bottom:a+t.displaySize[1],left:i,right:i+t.displaySize[0]}}(i[a.icon.name],s.get(\"icon-offset\").evaluate(a,{},o),s.get(\"icon-anchor\").evaluate(a,{},o)),U=j.sdf,void 0===t.sdfIcons?t.sdfIcons=j.sdf:t.sdfIcons!==j.sdf&&A(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),(j.pixelRatio!==t.pixelRatio||0!==s.get(\"icon-rotate\").constantOr(1))&&(t.iconsNeedLinear=!0));}var q=ul(f.horizontal)||f.vertical;t.iconsInText=!!q&&q.iconsInText,(q||R)&&function(t,e,r,n,i,a,o,s,u,l,p){var c=a.textMaxSize.evaluate(e,{});void 0===c&&(c=o);var h,f=t.layers[0].layout,y=f.get(\"icon-offset\").evaluate(e,{},p),d=ul(r.horizontal),m=o/24,v=t.tilePixelRatio*m,g=t.tilePixelRatio*c/24,x=t.tilePixelRatio*s,b=t.tilePixelRatio*f.get(\"symbol-spacing\"),w=f.get(\"text-padding\")*t.tilePixelRatio,_=f.get(\"icon-padding\")*t.tilePixelRatio,S=f.get(\"text-max-angle\")/180*Math.PI,k=\"map\"===f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),z=f.get(\"symbol-placement\"),C=b/2,E=f.get(\"icon-text-fit\");n&&\"none\"!==E&&(t.allowVerticalPlacement&&r.vertical&&(h=Vu(n,r.vertical,E,f.get(\"icon-text-fit-padding\"),y,m)),d&&(n=Vu(n,d,E,f.get(\"icon-text-fit-padding\"),y,m)));var P=function(s,c){c.x<0||c.x>=8192||c.y<0||c.y>=8192||function(t,e,r,n,i,a,o,s,u,l,p,c,h,f,y,d,m,v,g,x,b,w,_,S,k){var I,z,C,E,P,M=t.addToLineVertexArray(e,r),B=0,T=0,V=0,F=0,D=-1,L=-1,O={},R=ha(\"\"),U=0,j=0;if(void 0===s._unevaluatedLayout.getValue(\"text-radial-offset\")?(U=(I=s.layout.get(\"text-offset\").evaluate(b,{},S).map((function(t){return 24*t})))[0],j=I[1]):(U=24*s.layout.get(\"text-radial-offset\").evaluate(b,{},S),j=il),t.allowVerticalPlacement&&n.vertical){var q=s.layout.get(\"text-rotate\").evaluate(b,{},S)+90;E=new Wu(u,e,l,p,c,n.vertical,h,f,y,q),o&&(P=new Wu(u,e,l,p,c,o,m,v,y,q));}if(i){var N=s.layout.get(\"icon-rotate\").evaluate(b,{}),K=\"none\"!==s.layout.get(\"icon-text-fit\"),G=Xu(i,N,_,K),Z=o?Xu(o,N,_,K):void 0;C=new Wu(u,e,l,p,c,i,m,v,!1,N),B=4*G.length;var X=t.iconSizeData,J=null;\"source\"===X.kind?(J=[128*s.layout.get(\"icon-size\").evaluate(b,{})])[0]>32640&&A(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'):\"composite\"===X.kind&&((J=[128*w.compositeIconSizes[0].evaluate(b,{},S),128*w.compositeIconSizes[1].evaluate(b,{},S)])[0]>32640||J[1]>32640)&&A(t.layerIds[0]+': Value for \"icon-size\" is >= 255. Reduce your \"icon-size\".'),t.addSymbols(t.icon,G,J,x,g,b,!1,e,M.lineStartIndex,M.lineLength,-1,S),D=t.icon.placedSymbolArray.length-1,Z&&(T=4*Z.length,t.addSymbols(t.icon,Z,J,x,g,b,wu.vertical,e,M.lineStartIndex,M.lineLength,-1,S),L=t.icon.placedSymbolArray.length-1);}for(var H in n.horizontal){var Y=n.horizontal[H];if(!z){R=ha(Y.text);var $=s.layout.get(\"text-rotate\").evaluate(b,{},S);z=new Wu(u,e,l,p,c,Y,h,f,y,$);}var W=1===Y.positionedLines.length;if(V+=sl(t,e,Y,a,s,y,b,d,M,n.vertical?wu.horizontal:wu.horizontalOnly,W?Object.keys(n.horizontal):[H],O,D,w,S),W){ break }}n.vertical&&(F+=sl(t,e,n.vertical,a,s,y,b,d,M,wu.vertical,[\"vertical\"],O,L,w,S));var Q=z?z.boxStartIndex:t.collisionBoxArray.length,tt=z?z.boxEndIndex:t.collisionBoxArray.length,et=E?E.boxStartIndex:t.collisionBoxArray.length,rt=E?E.boxEndIndex:t.collisionBoxArray.length,nt=C?C.boxStartIndex:t.collisionBoxArray.length,it=C?C.boxEndIndex:t.collisionBoxArray.length,at=P?P.boxStartIndex:t.collisionBoxArray.length,ot=P?P.boxEndIndex:t.collisionBoxArray.length,st=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};st=ut(z,st),st=ut(E,st),st=ut(C,st);var lt=(st=ut(P,st))>-1?1:0;lt&&(st*=k/24),t.glyphOffsetArray.length>=vl.MAX_GLYPHS&&A(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,O.right>=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,D,L,R,Q,tt,et,rt,nt,it,at,ot,l,V,F,B,T,lt,0,h,U,j,st);}(t,c,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,k,u,x,_,I,y,e,a,l,p,o);};if(\"line\"===z){ for(var M=0,B=Zu(e.geometry,0,0,8192,8192);M<B.length;M+=1){ for(var T=B[M],V=0,F=Gu(T,b,S,r.vertical||d,n,24,g,t.overscaling,8192);V<F.length;V+=1){var D=F[V];d&&ll(t,d.text,C,D)||P(T,D);} } }else if(\"line-center\"===z){ for(var L=0,O=e.geometry;L<O.length;L+=1){var R=O[L];if(R.length>1){var U=Ku(R,S,r.vertical||d,n,24,g);U&&P(R,U);}} }else if(\"Polygon\"===e.type){ for(var j=0,q=ns(e.geometry,0);j<q.length;j+=1){var N=q[j],K=el(N,16);P(N[0],new Fu(K.x,K.y,0));} }else if(\"LineString\"===e.type){ for(var G=0,Z=e.geometry;G<Z.length;G+=1){var X=Z[G];P(X,new Fu(X[0].x,X[0].y,0));} }else if(\"Point\"===e.type){ for(var J=0,H=e.geometry;J<H.length;J+=1){ for(var Y=0,$=H[J];Y<$.length;Y+=1){var W=$[Y];P([W],new Fu(W.x,W.y,0));} } }}(t,a,f,R,n,l,c,h,w,U,o);},x=0,b=t.features;x<b.length;x+=1){ g(); }a&&t.generateCollisionDebugBuffers();},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(t[10]=(i+n)*(a=1/(n-i)),t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i]);}return r},t.plugin=oi,t.polygonIntersectsPolygon=Na,t.postMapLoadEvent=ot,t.postTurnstileEvent=it,t.potpack=vu,t.refProperties=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],t.register=On,t.registerForPluginStateChange=function(t){return t({pluginStatus:Qn,pluginURL:ti}),ni.on(\"pluginStateChange\",t),t},t.renderColorRamp=wo,t.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),u=Math.cos(r);return t[0]=n*u+a*s,t[1]=i*u+o*s,t[2]=n*-s+a*u,t[3]=i*-s+o*u,t},t.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],u=e[7],l=e[8],p=e[9],c=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+l*n,t[5]=o*i+p*n,t[6]=s*i+c*n,t[7]=u*i+h*n,t[8]=l*i-a*n,t[9]=p*i-o*n,t[10]=c*i-s*n,t[11]=h*i-u*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],u=e[3],l=e[4],p=e[5],c=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+l*n,t[1]=o*i+p*n,t[2]=s*i+c*n,t[3]=u*i+h*n,t[4]=l*i-a*n,t[5]=p*i-o*n,t[6]=c*i-s*n,t[7]=h*i-u*n,t},t.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){st=t,ut=e;},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),\"deferred\"===Qn||\"loading\"===Qn||\"loaded\"===Qn){ throw new Error(\"setRTLTextPlugin cannot be called multiple times.\"); }ti=O.resolveURL(t),Qn=\"deferred\",Wn=e,ri(),r||ai();},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=function(t){var e=t[0],r=t[1];return e*e+r*r},t.styleSpec=Et,t.sub=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t},t.symbolSize=Ru,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},t.transformMat4=po,t.translate=function(t,e,r){var n,i,a,o,s,u,l,p,c,h,f,y,d=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*d+e[4]*m+e[8]*v+e[12],t[13]=e[1]*d+e[5]*m+e[9]*v+e[13],t[14]=e[2]*d+e[6]*m+e[10]*v+e[14],t[15]=e[3]*d+e[7]*m+e[11]*v+e[15]):(i=e[1],a=e[2],o=e[3],s=e[4],u=e[5],l=e[6],p=e[7],c=e[8],h=e[9],f=e[10],y=e[11],t[0]=n=e[0],t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=u,t[6]=l,t[7]=p,t[8]=c,t[9]=h,t[10]=f,t[11]=y,t[12]=n*d+s*m+c*v+e[12],t[13]=i*d+u*m+h*v+e[13],t[14]=a*d+l*m+f*v+e[14],t[15]=o*d+p*m+y*v+e[15]),t},t.triggerPluginCompletionEvent=ei,t.uniqueId=y,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:\"layers.\"+r+': missing required property \"id\"'}),void 0===t.render&&e.push({message:\"layers.\"+r+': missing required method \"render\"'}),t.renderingMode&&\"2d\"!==t.renderingMode&&\"3d\"!==t.renderingMode&&e.push({message:\"layers.\"+r+': property \"renderingMode\" must be either \"2d\" or \"3d\"'}),e},t.validateLight=En,t.validateStyle=Cn,t.values=function(t){var e=[];for(var r in t){ e.push(t[r]); }return e},t.vectorTile=bs,t.version=\"1.13.3\",t.warnOnce=A,t.webpSupported=U,t.window=o,t.wrap=c;}));\n\n \tdefine([\"./shared\"],(function(e){function t(e){var r=typeof e;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==e){ return JSON.stringify(e); }if(Array.isArray(e)){for(var i=\"[\",o=0,n=e;o<n.length;o+=1){ i+=t(n[o])+\",\"; }return i+\"]\"}for(var a=Object.keys(e).sort(),s=\"{\",l=0;l<a.length;l++){ s+=JSON.stringify(a[l])+\":\"+t(e[a[l]])+\",\"; }return s+\"}\"}function r(r){for(var i=\"\",o=0,n=e.refProperties;o<n.length;o+=1){ i+=\"/\"+t(r[n[o]]); }return i}var i=function(e){this.keyCache={},e&&this.replace(e);};i.prototype.replace=function(e){this._layerConfigs={},this._layers={},this.update(e,[]);},i.prototype.update=function(t,i){for(var o=this,n=0,a=t;n<a.length;n+=1){var s=a[n];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=e.createStyleLayer(s);l._featureFilter=e.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id];}for(var u=0,h=i;u<h.length;u+=1){var c=h[u];delete this.keyCache[c],delete this._layerConfigs[c],delete this._layers[c];}this.familiesBySource={};for(var p=0,f=function(e,t){for(var i={},o=0;o<e.length;o++){var n=t&&t[e[o].id]||r(e[o]);t&&(t[e[o].id]=n);var a=i[n];a||(a=i[n]=[]),a.push(e[o]);}var s=[];for(var l in i){ s.push(i[l]); }return s}(e.values(this._layerConfigs),this.keyCache);p<f.length;p+=1){var d=f[p].map((function(e){return o._layers[e.id]})),g=d[0];if(\"none\"!==g.visibility){var v=g.source||\"\",m=this.familiesBySource[v];m||(m=this.familiesBySource[v]={});var y=g.sourceLayer||\"_geojsonTileLayer\",x=m[y];x||(x=m[y]=[]),x.push(d);}}};var o=function(t){var r={},i=[];for(var o in t){var n=t[o],a=r[o]={};for(var s in n){var l=n[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var u={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};i.push(u),a[s]={rect:u,metrics:l.metrics};}}}var h=e.potpack(i),c=new e.AlphaImage({width:h.w||1,height:h.h||1});for(var p in t){var f=t[p];for(var d in f){var g=f[+d];if(g&&0!==g.bitmap.width&&0!==g.bitmap.height){var v=r[p][d].rect;e.AlphaImage.copy(g.bitmap,c,{x:0,y:0},{x:v.x+1,y:v.y+1},g.bitmap);}}}this.image=c,this.positions=r;};e.register(\"GlyphAtlas\",o);var n=function(t){this.tileID=new e.OverscaledTileID(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId;};function a(t,r,i){for(var o=new e.EvaluationParameters(r),n=0,a=t;n<a.length;n+=1){ a[n].recalculate(o,i); }}function s(t,r){var i=e.getArrayBuffer(t.request,(function(t,i,o,n){t?r(t):i&&r(null,{vectorTile:new e.vectorTile.VectorTile(new e.pbf(i)),rawData:i,cacheControl:o,expires:n});}));return function(){i.cancel(),r();}}n.prototype.parse=function(t,r,i,n,s){var l=this;this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.CollisionBoxArray;var u=new e.DictionaryCoder(Object.keys(t.layers).sort()),h=new e.FeatureIndex(this.tileID,this.promoteId);h.bucketLayerIDs=[];var c,p,f,d,g={},v={featureIndex:h,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:i},m=r.familiesBySource[this.source];for(var y in m){var x=t.layers[y];if(x){1===x.version&&e.warnOnce('Vector tile source \"'+this.source+'\" layer \"'+y+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var w=u.encode(y),S=[],I=0;I<x.length;I++){var M=x.feature(I),b=h.getId(M,y);S.push({feature:M,id:b,index:I,sourceLayerIndex:w});}for(var _=0,k=m[y];_<k.length;_+=1){var P=k[_],T=P[0];T.minzoom&&this.zoom<Math.floor(T.minzoom)||T.maxzoom&&this.zoom>=T.maxzoom||\"none\"!==T.visibility&&(a(P,this.zoom,i),(g[T.id]=T.createBucket({index:h.bucketLayerIDs.length,layers:P,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:w,sourceID:this.source})).populate(S,v,this.tileID.canonical),h.bucketLayerIDs.push(P.map((function(e){return e.id}))));}}}var C=e.mapObject(v.glyphDependencies,(function(e){return Object.keys(e).map(Number)}));Object.keys(C).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:C},(function(e,t){c||(c=e,p=t,z.call(l));})):p={};var D=Object.keys(v.iconDependencies);D.length?n.send(\"getImages\",{icons:D,source:this.source,tileID:this.tileID,type:\"icons\"},(function(e,t){c||(c=e,f=t,z.call(l));})):f={};var L=Object.keys(v.patternDependencies);function z(){if(c){ return s(c); }if(p&&f&&d){var t=new o(p),r=new e.ImageAtlas(f,d);for(var n in g){var l=g[n];l instanceof e.SymbolBucket?(a(l.layers,this.zoom,i),e.performSymbolLayout(l,p,t.positions,f,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof e.LineBucket||l instanceof e.FillBucket||l instanceof e.FillExtrusionBucket)&&(a(l.layers,this.zoom,i),l.addFeatures(v,this.tileID.canonical,r.patternPositions));}this.status=\"done\",s(null,{buckets:e.values(g).filter((function(e){return !e.isEmpty()})),featureIndex:h,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,imageAtlas:r,glyphMap:this.returnDependencies?p:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?t.positions:null});}}L.length?n.send(\"getImages\",{icons:L,source:this.source,tileID:this.tileID,type:\"patterns\"},(function(e,t){c||(c=e,d=t,z.call(l));})):d={},z.call(this);};var l=function(e,t,r,i){this.actor=e,this.layerIndex=t,this.availableImages=r,this.loadVectorData=i||s,this.loading={},this.loaded={};};l.prototype.loadTile=function(t,r){var i=this,o=t.uid;this.loading||(this.loading={});var a=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.RequestPerformance(t.request),s=this.loading[o]=new n(t);s.abort=this.loadVectorData(t,(function(t,n){if(delete i.loading[o],t||!n){ return s.status=\"done\",i.loaded[o]=s,r(t); }var l=n.rawData,u={};n.expires&&(u.expires=n.expires),n.cacheControl&&(u.cacheControl=n.cacheControl);var h={};if(a){var c=a.finish();c&&(h.resourceTiming=JSON.parse(JSON.stringify(c)));}s.vectorTile=n.vectorTile,s.parse(n.vectorTile,i.layerIndex,i.availableImages,i.actor,(function(t,i){if(t||!i){ return r(t); }r(null,e.extend({rawTileData:l.slice(0)},i,u,h));})),i.loaded=i.loaded||{},i.loaded[o]=s;}));},l.prototype.reloadTile=function(e,t){var r=this,i=this.loaded,o=e.uid,n=this;if(i&&i[o]){var a=i[o];a.showCollisionBoxes=e.showCollisionBoxes;var s=function(e,i){var o=a.reloadCallback;o&&(delete a.reloadCallback,a.parse(a.vectorTile,n.layerIndex,r.availableImages,n.actor,o)),t(e,i);};\"parsing\"===a.status?a.reloadCallback=s:\"done\"===a.status&&(a.vectorTile?a.parse(a.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s());}},l.prototype.abortTile=function(e,t){var r=this.loading,i=e.uid;r&&r[i]&&r[i].abort&&(r[i].abort(),delete r[i]),t();},l.prototype.removeTile=function(e,t){var r=this.loaded,i=e.uid;r&&r[i]&&delete r[i],t();};var u=e.window.ImageBitmap,h=function(){this.loaded={};};function c(e,t){if(0!==e.length){p(e[0],t);for(var r=1;r<e.length;r++){ p(e[r],!t); }}}function p(e,t){for(var r=0,i=0,o=0,n=e.length,a=n-1;o<n;a=o++){var s=(e[o][0]-e[a][0])*(e[a][1]+e[o][1]),l=r+s;i+=Math.abs(r)>=Math.abs(s)?r-l+s:s-l+r,r=l;}r+i>=0!=!!t&&e.reverse();}h.prototype.loadTile=function(t,r){var i=t.uid,o=t.encoding,n=t.rawImageData,a=u&&n instanceof u?this.getImageData(n):n,s=new e.DEMData(i,a,o);this.loaded=this.loaded||{},this.loaded[i]=s,r(null,s);},h.prototype.getImageData=function(t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(t.width,t.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext(\"2d\")),this.offscreenCanvas.width=t.width,this.offscreenCanvas.height=t.height,this.offscreenCanvasContext.drawImage(t,0,0,t.width,t.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,t.width+2,t.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new e.RGBAImage({width:r.width,height:r.height},r.data)},h.prototype.removeTile=function(e){var t=this.loaded,r=e.uid;t&&t[r]&&delete t[r];};var f=e.vectorTile.VectorTileFeature.prototype.toGeoJSON,d=function(t){this._feature=t,this.extent=e.EXTENT,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10));};d.prototype.loadGeometry=function(){if(1===this._feature.type){for(var t=[],r=0,i=this._feature.geometry;r<i.length;r+=1){var o=i[r];t.push([new e.Point$1(o[0],o[1])]);}return t}for(var n=[],a=0,s=this._feature.geometry;a<s.length;a+=1){for(var l=[],u=0,h=s[a];u<h.length;u+=1){var c=h[u];l.push(new e.Point$1(c[0],c[1]));}n.push(l);}return n},d.prototype.toGeoJSON=function(e,t,r){return f.call(this,e,t,r)};var g=function(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=e.EXTENT,this.length=t.length,this._features=t;};g.prototype.feature=function(e){return new d(this._features[e])};var v=e.vectorTile.VectorTileFeature,m=y;function y(e,t){this.options=t||{},this.features=e,this.length=e.length;}function x(e,t){this.id=\"number\"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096;}y.prototype.feature=function(e){return new x(this.features[e],this.options.extent)},x.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var r=0;r<t.length;r++){for(var i=t[r],o=[],n=0;n<i.length;n++){ o.push(new e.Point$1(i[n][0],i[n][1])); }this.geometry.push(o);}return this.geometry},x.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var e=this.geometry,t=1/0,r=-1/0,i=1/0,o=-1/0,n=0;n<e.length;n++){ for(var a=e[n],s=0;s<a.length;s++){var l=a[s];t=Math.min(t,l.x),r=Math.max(r,l.x),i=Math.min(i,l.y),o=Math.max(o,l.y);} }return [t,i,r,o]},x.prototype.toGeoJSON=v.prototype.toGeoJSON;var w=I,S=m;function I(t){var r=new e.pbf;return function(e,t){for(var r in e.layers){ t.writeMessage(3,M,e.layers[r]); }}(t,r),r.finish()}function M(e,t){var r;t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||\"\"),t.writeVarintField(5,e.extent||4096);var i={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<e.length;r++){ i.feature=e.feature(r),t.writeMessage(2,b,i); }var o=i.keys;for(r=0;r<o.length;r++){ t.writeStringField(3,o[r]); }var n=i.values;for(r=0;r<n.length;r++){ t.writeMessage(4,C,n[r]); }}function b(e,t){var r=e.feature;void 0!==r.id&&t.writeVarintField(1,r.id),t.writeMessage(2,_,e),t.writeVarintField(3,r.type),t.writeMessage(4,T,r);}function _(e,t){var r=e.feature,i=e.keys,o=e.values,n=e.keycache,a=e.valuecache;for(var s in r.properties){var l=n[s];void 0===l&&(i.push(s),n[s]=l=i.length-1),t.writeVarint(l);var u=r.properties[s],h=typeof u;\"string\"!==h&&\"boolean\"!==h&&\"number\"!==h&&(u=JSON.stringify(u));var c=h+\":\"+u,p=a[c];void 0===p&&(o.push(u),a[c]=p=o.length-1),t.writeVarint(p);}}function k(e,t){return (t<<3)+(7&e)}function P(e){return e<<1^e>>31}function T(e,t){for(var r=e.loadGeometry(),i=e.type,o=0,n=0,a=r.length,s=0;s<a;s++){var l=r[s],u=1;1===i&&(u=l.length),t.writeVarint(k(1,u));for(var h=3===i?l.length-1:l.length,c=0;c<h;c++){1===c&&1!==i&&t.writeVarint(k(2,h-1));var p=l[c].x-o,f=l[c].y-n;t.writeVarint(P(p)),t.writeVarint(P(f)),o+=p,n+=f;}3===i&&t.writeVarint(k(7,1));}}function C(e,t){var r=typeof e;\"string\"===r?t.writeStringField(1,e):\"boolean\"===r?t.writeBooleanField(7,e):\"number\"===r&&(e%1!=0?t.writeDoubleField(3,e):e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e));}function D(e,t,r,i){L(e,r,i),L(t,2*r,2*i),L(t,2*r+1,2*i+1);}function L(e,t,r){var i=e[t];e[t]=e[r],e[r]=i;}function z(e,t,r,i){var o=e-r,n=t-i;return o*o+n*n}w.fromVectorTileJs=I,w.fromGeojsonVt=function(e,t){t=t||{};var r={};for(var i in e){ r[i]=new m(e[i].features,t),r[i].name=i,r[i].version=t.version,r[i].extent=t.extent; }return I({layers:r})},w.GeoJSONWrapper=S;var O=function(e){return e[0]},E=function(e){return e[1]},F=function(e,t,r,i,o){void 0===t&&(t=O),void 0===r&&(r=E),void 0===i&&(i=64),void 0===o&&(o=Float64Array),this.nodeSize=i,this.points=e;for(var n=e.length<65536?Uint16Array:Uint32Array,a=this.ids=new n(e.length),s=this.coords=new o(2*e.length),l=0;l<e.length;l++){ a[l]=l,s[2*l]=t(e[l]),s[2*l+1]=r(e[l]); }!function e(t,r,i,o,n,a){if(!(n-o<=i)){var s=o+n>>1;!function e(t,r,i,o,n,a){for(;n>o;){if(n-o>600){var s=n-o+1,l=i-o+1,u=Math.log(s),h=.5*Math.exp(2*u/3),c=.5*Math.sqrt(u*h*(s-h)/s)*(l-s/2<0?-1:1);e(t,r,i,Math.max(o,Math.floor(i-l*h/s+c)),Math.min(n,Math.floor(i+(s-l)*h/s+c)),a);}var p=r[2*i+a],f=o,d=n;for(D(t,r,o,i),r[2*n+a]>p&&D(t,r,o,n);f<d;){for(D(t,r,f,d),f++,d--;r[2*f+a]<p;){ f++; }for(;r[2*d+a]>p;){ d--; }}r[2*o+a]===p?D(t,r,o,d):D(t,r,++d,n),d<=i&&(o=d+1),i<=d&&(n=d-1);}}(t,r,s,o,n,a%2),e(t,r,i,o,s-1,a+1),e(t,r,i,s+1,n,a+1);}}(a,s,i,0,a.length-1,0);};F.prototype.range=function(e,t,r,i){return function(e,t,r,i,o,n,a){for(var s,l,u=[0,e.length-1,0],h=[];u.length;){var c=u.pop(),p=u.pop(),f=u.pop();if(p-f<=a){ for(var d=f;d<=p;d++){ l=t[2*d+1],(s=t[2*d])>=r&&s<=o&&l>=i&&l<=n&&h.push(e[d]); } }else {var g=Math.floor((f+p)/2);l=t[2*g+1],(s=t[2*g])>=r&&s<=o&&l>=i&&l<=n&&h.push(e[g]);var v=(c+1)%2;(0===c?r<=s:i<=l)&&(u.push(f),u.push(g-1),u.push(v)),(0===c?o>=s:n>=l)&&(u.push(g+1),u.push(p),u.push(v));}}return h}(this.ids,this.coords,e,t,r,i,this.nodeSize)},F.prototype.within=function(e,t,r){return function(e,t,r,i,o,n){for(var a=[0,e.length-1,0],s=[],l=o*o;a.length;){var u=a.pop(),h=a.pop(),c=a.pop();if(h-c<=n){ for(var p=c;p<=h;p++){ z(t[2*p],t[2*p+1],r,i)<=l&&s.push(e[p]); } }else {var f=Math.floor((c+h)/2),d=t[2*f],g=t[2*f+1];z(d,g,r,i)<=l&&s.push(e[f]);var v=(u+1)%2;(0===u?r-o<=d:i-o<=g)&&(a.push(c),a.push(f-1),a.push(v)),(0===u?r+o>=d:i+o>=g)&&(a.push(f+1),a.push(h),a.push(v));}}return s}(this.ids,this.coords,e,t,r,this.nodeSize)};var N={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(e){return e}},J=function(e){this.options=V(Object.create(N),e),this.trees=new Array(this.options.maxZoom+1);};function Z(e,t,r,i,o){return {x:e,y:t,zoom:1/0,id:r,parentId:-1,numPoints:i,properties:o}}function A(e,t){var r=e.geometry.coordinates,i=r[1];return {x:Y(r[0]),y:j(i),zoom:1/0,index:t,parentId:-1}}function B(e){return {type:\"Feature\",id:e.id,properties:G(e),geometry:{type:\"Point\",coordinates:[(i=e.x,360*(i-.5)),(t=e.y,r=(180-360*t)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var t,r,i;}function G(e){var t=e.numPoints,r=t>=1e4?Math.round(t/1e3)+\"k\":t>=1e3?Math.round(t/100)/10+\"k\":t;return V(V({},e.properties),{cluster:!0,cluster_id:e.id,point_count:t,point_count_abbreviated:r})}function Y(e){return e/360+.5}function j(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function V(e,t){for(var r in t){ e[r]=t[r]; }return e}function X(e){return e.x}function W(e){return e.y}function R(e,t,r,i,o,n){var a=o-r,s=n-i;if(0!==a||0!==s){var l=((e-r)*a+(t-i)*s)/(a*a+s*s);l>1?(r=o,i=n):l>0&&(r+=a*l,i+=s*l);}return (a=e-r)*a+(s=t-i)*s}function q(e,t,r,i){var o={id:void 0===e?null:e,type:t,geometry:r,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r){ U(e,t); }else if(\"Polygon\"===r||\"MultiLineString\"===r){ for(var i=0;i<t.length;i++){ U(e,t[i]); } }else if(\"MultiPolygon\"===r){ for(i=0;i<t.length;i++){ for(var o=0;o<t[i].length;o++){ U(e,t[i][o]); } } }}(o),o}function U(e,t){for(var r=0;r<t.length;r+=3){ e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1]); }}function $(e,t,r,i){if(t.geometry){var o=t.geometry.coordinates,n=t.geometry.type,a=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=t.id;if(r.promoteId?l=t.properties[r.promoteId]:r.generateId&&(l=i||0),\"Point\"===n){ H(o,s); }else if(\"MultiPoint\"===n){ for(var u=0;u<o.length;u++){ H(o[u],s); } }else if(\"LineString\"===n){ K(o,s,a,!1); }else if(\"MultiLineString\"===n){if(r.lineMetrics){for(u=0;u<o.length;u++){ K(o[u],s=[],a,!1),e.push(q(l,\"LineString\",s,t.properties)); }return}Q(o,s,a,!1);}else if(\"Polygon\"===n){ Q(o,s,a,!0); }else {if(\"MultiPolygon\"!==n){if(\"GeometryCollection\"===n){for(u=0;u<t.geometry.geometries.length;u++){ $(e,{id:l,geometry:t.geometry.geometries[u],properties:t.properties},r,i); }return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(u=0;u<o.length;u++){var h=[];Q(o[u],h,a,!0),s.push(h);}}e.push(q(l,n,s,t.properties));}}function H(e,t){t.push(ee(e[0])),t.push(te(e[1])),t.push(0);}function K(e,t,r,i){for(var o,n,a=0,s=0;s<e.length;s++){var l=ee(e[s][0]),u=te(e[s][1]);t.push(l),t.push(u),t.push(0),s>0&&(a+=i?(o*u-l*n)/2:Math.sqrt(Math.pow(l-o,2)+Math.pow(u-n,2))),o=l,n=u;}var h=t.length-3;t[2]=1,function e(t,r,i,o){for(var n,a=o,s=i-r>>1,l=i-r,u=t[r],h=t[r+1],c=t[i],p=t[i+1],f=r+3;f<i;f+=3){var d=R(t[f],t[f+1],u,h,c,p);if(d>a){ n=f,a=d; }else if(d===a){var g=Math.abs(f-s);g<l&&(n=f,l=g);}}a>o&&(n-r>3&&e(t,r,n,o),t[n+2]=a,i-n>3&&e(t,n,i,o));}(t,0,h,r),t[h+2]=1,t.size=Math.abs(a),t.start=0,t.end=t.size;}function Q(e,t,r,i){for(var o=0;o<e.length;o++){var n=[];K(e[o],n,r,i),t.push(n);}}function ee(e){return e/360+.5}function te(e){var t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function re(e,t,r,i,o,n,a,s){if(i/=t,n>=(r/=t)&&a<i){ return e; }if(a<r||n>=i){ return null; }for(var l=[],u=0;u<e.length;u++){var h=e[u],c=h.geometry,p=h.type,f=0===o?h.minX:h.minY,d=0===o?h.maxX:h.maxY;if(f>=r&&d<i){ l.push(h); }else if(!(d<r||f>=i)){var g=[];if(\"Point\"===p||\"MultiPoint\"===p){ ie(c,g,r,i,o); }else if(\"LineString\"===p){ oe(c,g,r,i,o,!1,s.lineMetrics); }else if(\"MultiLineString\"===p){ ae(c,g,r,i,o,!1); }else if(\"Polygon\"===p){ ae(c,g,r,i,o,!0); }else if(\"MultiPolygon\"===p){ for(var v=0;v<c.length;v++){var m=[];ae(c[v],m,r,i,o,!0),m.length&&g.push(m);} }if(g.length){if(s.lineMetrics&&\"LineString\"===p){for(v=0;v<g.length;v++){ l.push(q(h.id,p,g[v],h.tags)); }continue}\"LineString\"!==p&&\"MultiLineString\"!==p||(1===g.length?(p=\"LineString\",g=g[0]):p=\"MultiLineString\"),\"Point\"!==p&&\"MultiPoint\"!==p||(p=3===g.length?\"Point\":\"MultiPoint\"),l.push(q(h.id,p,g,h.tags));}}}return l.length?l:null}function ie(e,t,r,i,o){for(var n=0;n<e.length;n+=3){var a=e[n+o];a>=r&&a<=i&&(t.push(e[n]),t.push(e[n+1]),t.push(e[n+2]));}}function oe(e,t,r,i,o,n,a){for(var s,l,u=ne(e),h=0===o?le:ue,c=e.start,p=0;p<e.length-3;p+=3){var f=e[p],d=e[p+1],g=e[p+2],v=e[p+3],m=e[p+4],y=0===o?f:d,x=0===o?v:m,w=!1;a&&(s=Math.sqrt(Math.pow(f-v,2)+Math.pow(d-m,2))),y<r?x>r&&(l=h(u,f,d,v,m,r),a&&(u.start=c+s*l)):y>i?x<i&&(l=h(u,f,d,v,m,i),a&&(u.start=c+s*l)):se(u,f,d,g),x<r&&y>=r&&(l=h(u,f,d,v,m,r),w=!0),x>i&&y<=i&&(l=h(u,f,d,v,m,i),w=!0),!n&&w&&(a&&(u.end=c+s*l),t.push(u),u=ne(e)),a&&(c+=s);}var S=e.length-3;f=e[S],d=e[S+1],g=e[S+2],(y=0===o?f:d)>=r&&y<=i&&se(u,f,d,g),S=u.length-3,n&&S>=3&&(u[S]!==u[0]||u[S+1]!==u[1])&&se(u,u[0],u[1],u[2]),u.length&&t.push(u);}function ne(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function ae(e,t,r,i,o,n){for(var a=0;a<e.length;a++){ oe(e[a],t,r,i,o,n,!1); }}function se(e,t,r,i){e.push(t),e.push(r),e.push(i);}function le(e,t,r,i,o,n){var a=(n-t)/(i-t);return e.push(n),e.push(r+(o-r)*a),e.push(1),a}function ue(e,t,r,i,o,n){var a=(n-r)/(o-r);return e.push(t+(i-t)*a),e.push(n),e.push(1),a}function he(e,t){for(var r=[],i=0;i<e.length;i++){var o,n=e[i],a=n.type;if(\"Point\"===a||\"MultiPoint\"===a||\"LineString\"===a){ o=ce(n.geometry,t); }else if(\"MultiLineString\"===a||\"Polygon\"===a){o=[];for(var s=0;s<n.geometry.length;s++){ o.push(ce(n.geometry[s],t)); }}else if(\"MultiPolygon\"===a){ for(o=[],s=0;s<n.geometry.length;s++){for(var l=[],u=0;u<n.geometry[s].length;u++){ l.push(ce(n.geometry[s][u],t)); }o.push(l);} }r.push(q(n.id,a,o,n.tags));}return r}function ce(e,t){var r=[];r.size=e.size,void 0!==e.start&&(r.start=e.start,r.end=e.end);for(var i=0;i<e.length;i+=3){ r.push(e[i]+t,e[i+1],e[i+2]); }return r}function pe(e,t){if(e.transformed){ return e; }var r,i,o,n=1<<e.z,a=e.x,s=e.y;for(r=0;r<e.features.length;r++){var l=e.features[r],u=l.geometry,h=l.type;if(l.geometry=[],1===h){ for(i=0;i<u.length;i+=2){ l.geometry.push(fe(u[i],u[i+1],t,n,a,s)); } }else { for(i=0;i<u.length;i++){var c=[];for(o=0;o<u[i].length;o+=2){ c.push(fe(u[i][o],u[i][o+1],t,n,a,s)); }l.geometry.push(c);} }}return e.transformed=!0,e}function fe(e,t,r,i,o,n){return [Math.round(r*(e*i-o)),Math.round(r*(t*i-n))]}function de(e,t,r,i,o){for(var n=t===o.maxZoom?0:o.tolerance/((1<<t)*o.extent),a={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:i,z:t,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<e.length;s++){a.numFeatures++,ge(a,e[s],n,o);var l=e[s].minX,u=e[s].minY,h=e[s].maxX,c=e[s].maxY;l<a.minX&&(a.minX=l),u<a.minY&&(a.minY=u),h>a.maxX&&(a.maxX=h),c>a.maxY&&(a.maxY=c);}return a}function ge(e,t,r,i){var o=t.geometry,n=t.type,a=[];if(\"Point\"===n||\"MultiPoint\"===n){ for(var s=0;s<o.length;s+=3){ a.push(o[s]),a.push(o[s+1]),e.numPoints++,e.numSimplified++; } }else if(\"LineString\"===n){ ve(a,o,e,r,!1,!1); }else if(\"MultiLineString\"===n||\"Polygon\"===n){ for(s=0;s<o.length;s++){ ve(a,o[s],e,r,\"Polygon\"===n,0===s); } }else if(\"MultiPolygon\"===n){ for(var l=0;l<o.length;l++){var u=o[l];for(s=0;s<u.length;s++){ ve(a,u[s],e,r,!0,0===s); }} }if(a.length){var h=t.tags||null;if(\"LineString\"===n&&i.lineMetrics){for(var c in h={},t.tags){ h[c]=t.tags[c]; }h.mapbox_clip_start=o.start/o.size,h.mapbox_clip_end=o.end/o.size;}var p={geometry:a,type:\"Polygon\"===n||\"MultiPolygon\"===n?3:\"LineString\"===n||\"MultiLineString\"===n?2:1,tags:h};null!==t.id&&(p.id=t.id),e.features.push(p);}}function ve(e,t,r,i,o,n){var a=i*i;if(i>0&&t.size<(o?a:i)){ r.numPoints+=t.length/3; }else {for(var s=[],l=0;l<t.length;l+=3){ (0===i||t[l+2]>a)&&(r.numSimplified++,s.push(t[l]),s.push(t[l+1])),r.numPoints++; }o&&function(e,t){for(var r=0,i=0,o=e.length,n=o-2;i<o;n=i,i+=2){ r+=(e[i]-e[n])*(e[i+1]+e[n+1]); }if(r>0===t){ for(i=0,o=e.length;i<o/2;i+=2){var a=e[i],s=e[i+1];e[i]=e[o-2-i],e[i+1]=e[o-1-i],e[o-2-i]=a,e[o-1-i]=s;} }}(s,n),e.push(s);}}function me(e,t){var r=(t=this.options=function(e,t){for(var r in t){ e[r]=t[r]; }return e}(Object.create(this.options),t)).debug;if(r&&console.time(\"preprocess data\"),t.maxZoom<0||t.maxZoom>24){ throw new Error(\"maxZoom should be in the 0-24 range\"); }if(t.promoteId&&t.generateId){ throw new Error(\"promoteId and generateId cannot be used together.\"); }var i=function(e,t){var r=[];if(\"FeatureCollection\"===e.type){ for(var i=0;i<e.features.length;i++){ $(r,e.features[i],t,i); } }else { $(r,\"Feature\"===e.type?e:{geometry:e},t); }return r}(e,t);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",t.indexMaxZoom,t.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(i=function(e,t){var r=t.buffer/t.extent,i=e,o=re(e,1,-1-r,r,0,-1,2,t),n=re(e,1,1-r,2+r,0,-1,2,t);return (o||n)&&(i=re(e,1,-r,1+r,0,-1,2,t)||[],o&&(i=he(o,1).concat(i)),n&&(i=i.concat(he(n,-1)))),i}(i,t)).length&&this.splitTile(i,0,0,0),r&&(i.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)));}function ye(e,t,r){return 32*((1<<e)*r+t)+e}function xe(e,t){var r=e.tileID.canonical;if(!this._geoJSONIndex){ return t(null,null); }var i=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!i){ return t(null,null); }var o=new g(i.features),n=w(o);0===n.byteOffset&&n.byteLength===n.buffer.byteLength||(n=new Uint8Array(n)),t(null,{vectorTile:o,rawData:n.buffer});}J.prototype.load=function(e){var t=this.options,r=t.log,i=t.minZoom,o=t.maxZoom,n=t.nodeSize;r&&console.time(\"total time\");var a=\"prepare \"+e.length+\" points\";r&&console.time(a),this.points=e;for(var s=[],l=0;l<e.length;l++){ e[l].geometry&&s.push(A(e[l],l)); }this.trees[o+1]=new F(s,X,W,n,Float32Array),r&&console.timeEnd(a);for(var u=o;u>=i;u--){var h=+Date.now();s=this._cluster(s,u),this.trees[u]=new F(s,X,W,n,Float32Array),r&&console.log(\"z%d: %d clusters in %dms\",u,s.length,+Date.now()-h);}return r&&console.timeEnd(\"total time\"),this},J.prototype.getClusters=function(e,t){var r=((e[0]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[1])),o=180===e[2]?180:((e[2]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360){ r=-180,o=180; }else if(r>o){var a=this.getClusters([r,i,180,n],t),s=this.getClusters([-180,i,o,n],t);return a.concat(s)}for(var l=this.trees[this._limitZoom(t)],u=[],h=0,c=l.range(Y(r),j(n),Y(o),j(i));h<c.length;h+=1){var p=l.points[c[h]];u.push(p.numPoints?B(p):this.points[p.index]);}return u},J.prototype.getChildren=function(e){var t=this._getOriginId(e),r=this._getOriginZoom(e),i=\"No cluster with the specified id.\",o=this.trees[r];if(!o){ throw new Error(i); }var n=o.points[t];if(!n){ throw new Error(i); }for(var a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,u=o.within(n.x,n.y,a);l<u.length;l+=1){var h=o.points[u[l]];h.parentId===e&&s.push(h.numPoints?B(h):this.points[h.index]);}if(0===s.length){ throw new Error(i); }return s},J.prototype.getLeaves=function(e,t,r){var i=[];return this._appendLeaves(i,e,t=t||10,r=r||0,0),i},J.prototype.getTile=function(e,t,r){var i=this.trees[this._limitZoom(e)],o=Math.pow(2,e),n=this.options,a=n.radius/n.extent,s=(r-a)/o,l=(r+1+a)/o,u={features:[]};return this._addTileFeatures(i.range((t-a)/o,s,(t+1+a)/o,l),i.points,t,r,o,u),0===t&&this._addTileFeatures(i.range(1-a/o,s,1,l),i.points,o,r,o,u),t===o-1&&this._addTileFeatures(i.range(0,s,a/o,l),i.points,-1,r,o,u),u.features.length?u:null},J.prototype.getClusterExpansionZoom=function(e){for(var t=this._getOriginZoom(e)-1;t<=this.options.maxZoom;){var r=this.getChildren(e);if(t++,1!==r.length){ break; }e=r[0].properties.cluster_id;}return t},J.prototype._appendLeaves=function(e,t,r,i,o){for(var n=0,a=this.getChildren(t);n<a.length;n+=1){var s=a[n],l=s.properties;if(l&&l.cluster?o+l.point_count<=i?o+=l.point_count:o=this._appendLeaves(e,l.cluster_id,r,i,o):o<i?o++:e.push(s),e.length===r){ break }}return o},J.prototype._addTileFeatures=function(e,t,r,i,o,n){for(var a=0,s=e;a<s.length;a+=1){var l=t[s[a]],u=l.numPoints,h={type:1,geometry:[[Math.round(this.options.extent*(l.x*o-r)),Math.round(this.options.extent*(l.y*o-i))]],tags:u?G(l):this.points[l.index].properties},c=void 0;u?c=l.id:this.options.generateId?c=l.index:this.points[l.index].id&&(c=this.points[l.index].id),void 0!==c&&(h.id=c),n.features.push(h);}},J.prototype._limitZoom=function(e){return Math.max(this.options.minZoom,Math.min(+e,this.options.maxZoom+1))},J.prototype._cluster=function(e,t){for(var r=[],i=this.options,o=i.reduce,n=i.minPoints,a=i.radius/(i.extent*Math.pow(2,t)),s=0;s<e.length;s++){var l=e[s];if(!(l.zoom<=t)){l.zoom=t;for(var u=this.trees[t+1],h=u.within(l.x,l.y,a),c=l.numPoints||1,p=c,f=0,d=h;f<d.length;f+=1){var g=u.points[d[f]];g.zoom>t&&(p+=g.numPoints||1);}if(p>=n){for(var v=l.x*c,m=l.y*c,y=o&&c>1?this._map(l,!0):null,x=(s<<5)+(t+1)+this.points.length,w=0,S=h;w<S.length;w+=1){var I=u.points[S[w]];if(!(I.zoom<=t)){I.zoom=t;var M=I.numPoints||1;v+=I.x*M,m+=I.y*M,I.parentId=x,o&&(y||(y=this._map(l,!0)),o(y,this._map(I)));}}l.parentId=x,r.push(Z(v/p,m/p,x,p,y));}else if(r.push(l),p>1){ for(var b=0,_=h;b<_.length;b+=1){var k=u.points[_[b]];k.zoom<=t||(k.zoom=t,r.push(k));} }}}return r},J.prototype._getOriginId=function(e){return e-this.points.length>>5},J.prototype._getOriginZoom=function(e){return (e-this.points.length)%32},J.prototype._map=function(e,t){if(e.numPoints){ return t?V({},e.properties):e.properties; }var r=this.points[e.index].properties,i=this.options.map(r);return t&&i===r?V({},i):i},me.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},me.prototype.splitTile=function(e,t,r,i,o,n,a){for(var s=[e,t,r,i],l=this.options,u=l.debug;s.length;){i=s.pop(),r=s.pop(),t=s.pop(),e=s.pop();var h=1<<t,c=ye(t,r,i),p=this.tiles[c];if(!p&&(u>1&&console.time(\"creation\"),p=this.tiles[c]=de(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i}),u)){u>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,r,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd(\"creation\"));var f=\"z\"+t;this.stats[f]=(this.stats[f]||0)+1,this.total++;}if(p.source=e,o){if(t===l.maxZoom||t===o){ continue; }var d=1<<o-t;if(r!==Math.floor(n/d)||i!==Math.floor(a/d)){ continue }}else if(t===l.indexMaxZoom||p.numPoints<=l.indexMaxPoints){ continue; }if(p.source=null,0!==e.length){u>1&&console.time(\"clipping\");var g,v,m,y,x,w,S=.5*l.buffer/l.extent,I=.5-S,M=.5+S,b=1+S;g=v=m=y=null,x=re(e,h,r-S,r+M,0,p.minX,p.maxX,l),w=re(e,h,r+I,r+b,0,p.minX,p.maxX,l),e=null,x&&(g=re(x,h,i-S,i+M,1,p.minY,p.maxY,l),v=re(x,h,i+I,i+b,1,p.minY,p.maxY,l),x=null),w&&(m=re(w,h,i-S,i+M,1,p.minY,p.maxY,l),y=re(w,h,i+I,i+b,1,p.minY,p.maxY,l),w=null),u>1&&console.timeEnd(\"clipping\"),s.push(g||[],t+1,2*r,2*i),s.push(v||[],t+1,2*r,2*i+1),s.push(m||[],t+1,2*r+1,2*i),s.push(y||[],t+1,2*r+1,2*i+1);}}},me.prototype.getTile=function(e,t,r){var i=this.options,o=i.extent,n=i.debug;if(e<0||e>24){ return null; }var a=1<<e,s=ye(e,t=(t%a+a)%a,r);if(this.tiles[s]){ return pe(this.tiles[s],o); }n>1&&console.log(\"drilling down to z%d-%d-%d\",e,t,r);for(var l,u=e,h=t,c=r;!l&&u>0;){ u--,h=Math.floor(h/2),c=Math.floor(c/2),l=this.tiles[ye(u,h,c)]; }return l&&l.source?(n>1&&console.log(\"found parent tile z%d-%d-%d\",u,h,c),n>1&&console.time(\"drilling down\"),this.splitTile(l.source,u,h,c,e,t,r),n>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?pe(this.tiles[s],o):null):null};var we=function(t){function r(e,r,i,o){t.call(this,e,r,i,xe),o&&(this.loadGeoJSON=o);}return t&&(r.__proto__=t),(r.prototype=Object.create(t&&t.prototype)).constructor=r,r.prototype.loadData=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=t,this._pendingLoadDataParams=e,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData());},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,i=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var o=!!(i&&i.request&&i.request.collectResourceTiming)&&new e.RequestPerformance(i.request);this.loadGeoJSON(i,(function(n,a){if(n||!a){ return r(n); }if(\"object\"!=typeof a){ return r(new Error(\"Input data given to '\"+i.source+\"' is not a valid GeoJSON object.\")); }!function e(t,r){var i,o=t&&t.type;if(\"FeatureCollection\"===o){ for(i=0;i<t.features.length;i++){ e(t.features[i],r); } }else if(\"GeometryCollection\"===o){ for(i=0;i<t.geometries.length;i++){ e(t.geometries[i],r); } }else if(\"Feature\"===o){ e(t.geometry,r); }else if(\"Polygon\"===o){ c(t.coordinates,r); }else if(\"MultiPolygon\"===o){ for(i=0;i<t.coordinates.length;i++){ c(t.coordinates[i],r); } }return t}(a,!0);try{if(i.filter){var s=e.createExpression(i.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===s.result){ throw new Error(s.value.map((function(e){return e.key+\": \"+e.message})).join(\", \")); }var l=a.features.filter((function(e){return s.value.evaluate({zoom:0},e)}));a={type:\"FeatureCollection\",features:l};}t._geoJSONIndex=i.cluster?new J(function(t){var r=t.superclusterOptions,i=t.clusterProperties;if(!i||!r){ return r; }for(var o={},n={},a={accumulated:null,zoom:0},s={properties:null},l=Object.keys(i),u=0,h=l;u<h.length;u+=1){var c=h[u],p=i[c],f=p[0],d=e.createExpression(p[1]),g=e.createExpression(\"string\"==typeof f?[f,[\"accumulated\"],[\"get\",c]]:f);o[c]=d.value,n[c]=g.value;}return r.map=function(e){s.properties=e;for(var t={},r=0,i=l;r<i.length;r+=1){var n=i[r];t[n]=o[n].evaluate(a,s);}return t},r.reduce=function(e,t){s.properties=t;for(var r=0,i=l;r<i.length;r+=1){var o=i[r];a.accumulated=e[o],e[o]=n[o].evaluate(a,s);}},r}(i)).load(a.features):function(e,t){return new me(e,t)}(a,i.geojsonVtOptions);}catch(n$1){return r(n$1)}t.loaded={};var u={};if(o){var h=o.finish();h&&(u.resourceTiming={},u.resourceTiming[i.source]=JSON.parse(JSON.stringify(h)));}r(null,u);}));}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData());},r.prototype.reloadTile=function(e,r){var i=this.loaded;return i&&i[e.uid]?t.prototype.reloadTile.call(this,e,r):this.loadTile(e,r)},r.prototype.loadGeoJSON=function(t,r){if(t.request){ e.getJSON(t.request,r); }else {if(\"string\"!=typeof t.data){ return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\")); }try{return r(null,JSON.parse(t.data))}catch(e$1){return r(new Error(\"Input data given to '\"+t.source+\"' is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(e,t){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),t();},r.prototype.getClusterExpansionZoom=function(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId));}catch(e$1){t(e$1);}},r.prototype.getClusterChildren=function(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId));}catch(e$1){t(e$1);}},r.prototype.getClusterLeaves=function(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset));}catch(e$1){t(e$1);}},r}(l),Se=function(t){var r=this;this.self=t,this.actor=new e.Actor(t,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:we},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(e,t){if(r.workerSourceTypes[e]){ throw new Error('Worker source with name \"'+e+'\" already registered.'); }r.workerSourceTypes[e]=t;},this.self.registerRTLTextPlugin=function(t){if(e.plugin.isParsed()){ throw new Error(\"RTL text plugin already registered.\"); }e.plugin.applyArabicShaping=t.applyArabicShaping,e.plugin.processBidirectionalText=t.processBidirectionalText,e.plugin.processStyledBidirectionalText=t.processStyledBidirectionalText;};};return Se.prototype.setReferrer=function(e,t){this.referrer=t;},Se.prototype.setImages=function(e,t,r){for(var i in this.availableImages[e]=t,this.workerSources[e]){var o=this.workerSources[e][i];for(var n in o){ o[n].availableImages=t; }}r();},Se.prototype.setLayers=function(e,t,r){this.getLayerIndex(e).replace(t),r();},Se.prototype.updateLayers=function(e,t,r){this.getLayerIndex(e).update(t.layers,t.removedIds),r();},Se.prototype.loadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).loadTile(t,r);},Se.prototype.loadDEMTile=function(e,t,r){this.getDEMWorkerSource(e,t.source).loadTile(t,r);},Se.prototype.reloadTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).reloadTile(t,r);},Se.prototype.abortTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).abortTile(t,r);},Se.prototype.removeTile=function(e,t,r){this.getWorkerSource(e,t.type,t.source).removeTile(t,r);},Se.prototype.removeDEMTile=function(e,t){this.getDEMWorkerSource(e,t.source).removeTile(t);},Se.prototype.removeSource=function(e,t,r){if(this.workerSources[e]&&this.workerSources[e][t.type]&&this.workerSources[e][t.type][t.source]){var i=this.workerSources[e][t.type][t.source];delete this.workerSources[e][t.type][t.source],void 0!==i.removeSource?i.removeSource(t,r):r();}},Se.prototype.loadWorkerSource=function(e,t,r){try{this.self.importScripts(t.url),r();}catch(e$1){r(e$1.toString());}},Se.prototype.syncRTLPluginState=function(t,r,i){try{e.plugin.setState(r);var o=e.plugin.getPluginURL();if(e.plugin.isLoaded()&&!e.plugin.isParsed()&&null!=o){this.self.importScripts(o);var n=e.plugin.isParsed();i(n?void 0:new Error(\"RTL Text Plugin failed to import scripts from \"+o),n);}}catch(e$1){i(e$1.toString());}},Se.prototype.getAvailableImages=function(e){var t=this.availableImages[e];return t||(t=[]),t},Se.prototype.getLayerIndex=function(e){var t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new i),t},Se.prototype.getWorkerSource=function(e,t,r){var i=this;return this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),this.workerSources[e][t][r]||(this.workerSources[e][t][r]=new this.workerSourceTypes[t]({send:function(t,r,o){i.actor.send(t,r,o,e);}},this.getLayerIndex(e),this.getAvailableImages(e))),this.workerSources[e][t][r]},Se.prototype.getDEMWorkerSource=function(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new h),this.demWorkerSources[e][t]},Se.prototype.enforceCacheSizeLimit=function(t,r){e.enforceCacheSizeLimit(r);},\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new Se(self)),Se}));\n\n \tdefine([\"./shared\"],(function(t){var e=t.createCommonjsModule((function(t){function e(t){return !i(t)}function i(t){return \"undefined\"==typeof window||\"undefined\"==typeof document?\"not a browser\":Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON?function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window)){ return !1; }var t,e,i=new Blob([\"\"],{type:\"text/javascript\"}),o=URL.createObjectURL(i);try{e=new Worker(o),t=!0;}catch(e$1){t=!1;}return e&&e.terminate(),URL.revokeObjectURL(o),t}()?\"Uint8ClampedArray\"in window?ArrayBuffer.isView?function(){var t=document.createElement(\"canvas\");t.width=t.height=1;var e=t.getContext(\"2d\");if(!e){ return !1; }var i=e.getImageData(0,0,1,1);return i&&i.width===t.width}()?(void 0===o[i=t&&t.failIfMajorPerformanceCaveat]&&(o[i]=function(t){var i=function(t){var i=document.createElement(\"canvas\"),o=Object.create(e.webGLContextAttributes);return o.failIfMajorPerformanceCaveat=t,i.probablySupportsContext?i.probablySupportsContext(\"webgl\",o)||i.probablySupportsContext(\"experimental-webgl\",o):i.supportsContext?i.supportsContext(\"webgl\",o)||i.supportsContext(\"experimental-webgl\",o):i.getContext(\"webgl\",o)||i.getContext(\"experimental-webgl\",o)}(t);if(!i){ return !1; }var o=i.createShader(i.VERTEX_SHADER);return !(!o||i.isContextLost())&&(i.shaderSource(o,\"void main() {}\"),i.compileShader(o),!0===i.getShaderParameter(o,i.COMPILE_STATUS))}(i)),o[i]?void 0:\"insufficient WebGL support\"):\"insufficient Canvas/getImageData support\":\"insufficient ArrayBuffer support\":\"insufficient Uint8ClampedArray support\":\"insufficient worker support\":\"insufficient JSON support\":\"insufficient Object support\":\"insufficient Function support\":\"insufficent Array support\";var i;}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=i);var o={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0};})),i={create:function(e,i,o){var r=t.window.document.createElement(e);return void 0!==i&&(r.className=i),o&&o.appendChild(r),r},createNS:function(e,i){return t.window.document.createElementNS(e,i)}},o=t.window.document&&t.window.document.documentElement.style;function r(t){if(!o){ return t[0]; }for(var e=0;e<t.length;e++){ if(t[e]in o){ return t[e]; } }return t[0]}var a,n=r([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);i.disableDrag=function(){o&&n&&(a=o[n],o[n]=\"none\");},i.enableDrag=function(){o&&n&&(o[n]=a);};var s=r([\"transform\",\"WebkitTransform\"]);i.setTransform=function(t,e){t.style[s]=e;};var l=!1;try{var c=Object.defineProperty({},\"passive\",{get:function(){l=!0;}});t.window.addEventListener(\"test\",c,c),t.window.removeEventListener(\"test\",c,c);}catch(t$1){l=!1;}i.addEventListener=function(t,e,i,o){void 0===o&&(o={}),t.addEventListener(e,i,\"passive\"in o&&l?o:o.capture);},i.removeEventListener=function(t,e,i,o){void 0===o&&(o={}),t.removeEventListener(e,i,\"passive\"in o&&l?o:o.capture);};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener(\"click\",u,!0);};function h(t){var e=t.userImage;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}i.suppressClick=function(){t.window.addEventListener(\"click\",u,!0),t.window.setTimeout((function(){t.window.removeEventListener(\"click\",u,!0);}),0);},i.mousePos=function(e,i){var o=e.getBoundingClientRect();return new t.Point(i.clientX-o.left-e.clientLeft,i.clientY-o.top-e.clientTop)},i.touchPos=function(e,i){for(var o=e.getBoundingClientRect(),r=[],a=0;a<i.length;a++){ r.push(new t.Point(i[a].clientX-o.left-e.clientLeft,i[a].clientY-o.top-e.clientTop)); }return r},i.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:e.button},i.remove=function(t){t.parentNode&&t.parentNode.removeChild(t);};var p=function(e){function i(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.isLoaded=function(){return this.loaded},i.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,i=this.requestors;e<i.length;e+=1){var o=i[e];this._notify(o.ids,o.callback);}this.requestors=[];}},i.prototype.getImage=function(t){return this.images[t]},i.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e);},i.prototype._validate=function(e,i){var o=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchX\" value'))),o=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"stretchY\" value'))),o=!1),this._validateContent(i.content,i)||(this.fire(new t.ErrorEvent(new Error('Image \"'+e+'\" has invalid \"content\" value'))),o=!1),o},i.prototype._validateStretch=function(t,e){if(!t){ return !0; }for(var i=0,o=0,r=t;o<r.length;o+=1){var a=r[o];if(a[0]<i||a[1]<a[0]||e<a[1]){ return !1; }i=a[1];}return !0},i.prototype._validateContent=function(t,e){return !(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},i.prototype.updateImage=function(t,e){e.version=this.images[t].version+1,this.images[t]=e,this.updatedImages[t]=!0;},i.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove();},i.prototype.listImages=function(){return Object.keys(this.images)},i.prototype.getImages=function(t,e){var i=!0;if(!this.isLoaded()){ for(var o=0,r=t;o<r.length;o+=1){ this.images[r[o]]||(i=!1); } }this.isLoaded()||i?this._notify(t,e):this.requestors.push({ids:t,callback:e});},i.prototype._notify=function(e,i){for(var o={},r=0,a=e;r<a.length;r+=1){var n=a[r];this.images[n]||this.fire(new t.Event(\"styleimagemissing\",{id:n}));var s=this.images[n];s?o[n]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image \"'+n+'\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.');}i(null,o);},i.prototype.getPixelSize=function(){var t=this.atlasImage;return {width:t.width,height:t.height}},i.prototype.getPattern=function(e){var i=this.patterns[e],o=this.getImage(e);if(!o){ return null; }if(i&&i.position.version===o.version){ return i.position; }if(i){ i.position.version=o.version; }else {var r={w:o.data.width+2,h:o.data.height+2,x:0,y:0},a=new t.ImagePosition(r,o);this.patterns[e]={bin:r,position:a};}return this._updatePatternAtlas(),this.patterns[e].position},i.prototype.bind=function(e){var i=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,i.RGBA),this.atlasTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE);},i.prototype._updatePatternAtlas=function(){var e=[];for(var i in this.patterns){ e.push(this.patterns[i].bin); }var o=t.potpack(e),r=o.w,a=o.h,n=this.atlasImage;for(var s in n.resize({width:r||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,h=this.images[s].data,p=h.width,d=h.height;t.RGBAImage.copy(h,n,{x:0,y:0},{x:c,y:u},{width:p,height:d}),t.RGBAImage.copy(h,n,{x:0,y:d-1},{x:c,y:u-1},{width:p,height:1}),t.RGBAImage.copy(h,n,{x:0,y:0},{x:c,y:u+d},{width:p,height:1}),t.RGBAImage.copy(h,n,{x:p-1,y:0},{x:c-1,y:u},{width:1,height:d}),t.RGBAImage.copy(h,n,{x:0,y:0},{x:c+p,y:u},{width:1,height:d});}this.dirty=!0;},i.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={};},i.prototype.dispatchRenderCallbacks=function(t){for(var e=0,i=t;e<i.length;e+=1){var o=i[e];if(!this.callbackDispatchedThisFrame[o]){this.callbackDispatchedThisFrame[o]=!0;var r=this.images[o];h(r)&&this.updateImage(o,r);}}},i}(t.Evented),d=m,_=m,f=1e20;function m(t,e,i,o,r,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=o||.25,this.fontFamily=r||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=i||8;var n=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=n,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.d=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Int16Array(n),this.middle=Math.round(n/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1));}function g(t,e,i,o,r,a,n){for(var s=0;s<e;s++){for(var l=0;l<i;l++){ o[l]=t[l*e+s]; }for(v(o,r,a,n,i),l=0;l<i;l++){ t[l*e+s]=r[l]; }}for(l=0;l<i;l++){for(s=0;s<e;s++){ o[s]=t[l*e+s]; }for(v(o,r,a,n,e),s=0;s<e;s++){ t[l*e+s]=Math.sqrt(r[s]); }}}function v(t,e,i,o,r){i[0]=0,o[0]=-f,o[1]=+f;for(var a=1,n=0;a<r;a++){for(var s=(t[a]+a*a-(t[i[n]]+i[n]*i[n]))/(2*a-2*i[n]);s<=o[n];){ n--,s=(t[a]+a*a-(t[i[n]]+i[n]*i[n]))/(2*a-2*i[n]); }i[++n]=a,o[n]=s,o[n+1]=+f;}for(a=0,n=0;a<r;a++){for(;o[n+1]<a;){ n++; }e[a]=(a-i[n])*(a-i[n])+t[i[n]];}}m.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),i=new Uint8ClampedArray(this.size*this.size),o=0;o<this.size*this.size;o++){var r=e.data[4*o+3]/255;this.gridOuter[o]=1===r?0:0===r?f:Math.pow(Math.max(0,.5-r),2),this.gridInner[o]=1===r?f:0===r?0:Math.pow(Math.max(0,r-.5),2);}for(g(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),g(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),o=0;o<this.size*this.size;o++){ i[o]=Math.max(0,Math.min(255,Math.round(255-255*((this.gridOuter[o]-this.gridInner[o])/this.radius+this.cutoff)))); }return i},d.default=_;var y=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={};};y.prototype.setURL=function(t){this.url=t;},y.prototype.getGlyphs=function(e,i){var o=this,r=[];for(var a in e){ for(var n=0,s=e[a];n<s.length;n+=1){ r.push({stack:a,id:s[n]}); } }t.asyncAll(r,(function(t,e){var i=t.stack,r=t.id,a=o.entries[i];a||(a=o.entries[i]={glyphs:{},requests:{},ranges:{}});var n=a.glyphs[r];if(void 0===n){if(n=o._tinySDF(a,i,r)){ return a.glyphs[r]=n,void e(null,{stack:i,id:r,glyph:n}); }var s=Math.floor(r/256);if(256*s>65535){ e(new Error(\"glyphs > 65535 not supported\")); }else if(a.ranges[s]){ e(null,{stack:i,id:r,glyph:n}); }else {var l=a.requests[s];l||(l=a.requests[s]=[],y.loadGlyphRange(i,s,o.url,o.requestManager,(function(t,e){if(e){for(var i in e){ o._doesCharSupportLocalGlyph(+i)||(a.glyphs[+i]=e[+i]); }a.ranges[s]=!0;}for(var r=0,n=l;r<n.length;r+=1){ (0, n[r])(t,e); }delete a.requests[s];}))),l.push((function(t,o){t?e(t):o&&e(null,{stack:i,id:r,glyph:o[r]||null});}));}}else { e(null,{stack:i,id:r,glyph:n}); }}),(function(t,e){if(t){ i(t); }else if(e){for(var o={},r=0,a=e;r<a.length;r+=1){var n=a[r],s=n.stack,l=n.id,c=n.glyph;(o[s]||(o[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics};}i(null,o);}}));},y.prototype._doesCharSupportLocalGlyph=function(e){return !!this.localIdeographFontFamily&&(t.isChar[\"CJK Unified Ideographs\"](e)||t.isChar[\"Hangul Syllables\"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},y.prototype._tinySDF=function(e,i,o){var r=this.localIdeographFontFamily;if(r&&this._doesCharSupportLocalGlyph(o)){var a=e.tinySDF;if(!a){var n=\"400\";/bold/i.test(i)?n=\"900\":/medium/i.test(i)?n=\"500\":/light/i.test(i)&&(n=\"200\"),a=e.tinySDF=new y.TinySDF(24,3,8,.25,r,n);}return {id:o,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(o))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},y.loadGlyphRange=function(e,i,o,r,a){var n=256*i,s=n+255,l=r.transformRequest(r.normalizeGlyphsURL(o).replace(\"{fontstack}\",e).replace(\"{range}\",n+\"-\"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,i){if(e){ a(e); }else if(i){for(var o={},r=0,n=t.parseGlyphPBF(i);r<n.length;r+=1){var s=n[r];o[s.id]=s;}a(null,o);}}));},y.TinySDF=d;var x=function(){this.specification=t.styleSpec.light.position;};x.prototype.possiblyEvaluate=function(e,i){return t.sphericalToCartesian(e.expression.evaluate(i))},x.prototype.interpolate=function(e,i,o){return {x:t.number(e.x,i.x,o),y:t.number(e.y,i.y,o),z:t.number(e.z,i.z,o)}};var b=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new x,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function i(i){e.call(this),this._transitionable=new t.Transitionable(b),this.setLight(i),this._transitioning=this._transitionable.untransitioned();}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getLight=function(){return this._transitionable.serialize()},i.prototype.setLight=function(e,i){if(void 0===i&&(i={}),!this._validate(t.validateLight,e,i)){ for(var o in e){var r=e[o];t.endsWith(o,\"-transition\")?this._transitionable.setTransition(o.slice(0,-\"-transition\".length),r):this._transitionable.setValue(o,r);} }},i.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning);},i.prototype.hasTransition=function(){return this._transitioning.hasTransition()},i.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t);},i.prototype._validate=function(e,i,o){return (!o||!1!==o.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:i,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},i}(t.Evented),T=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={};};T.prototype.getDash=function(t,e){var i=t.join(\",\")+String(e);return this.dashEntry[i]||(this.dashEntry[i]=this.addDash(t,e)),this.dashEntry[i]},T.prototype.getDashRanges=function(t,e,i){var o=[],r=t.length%2==1?-t[t.length-1]*i:0,a=t[0]*i,n=!0;o.push({left:r,right:a,isDash:n,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){var c=t[l];o.push({left:r=s*i,right:a=(s+=c)*i,isDash:n=!n,zeroLength:0===c});}return o},T.prototype.addRoundDash=function(t,e,i){for(var o=e/2,r=-i;r<=i;r++){ for(var a=this.width*(this.nextRow+i+r),n=0,s=t[n],l=0;l<this.width;l++){l/s.right>1&&(s=t[++n]);var c=Math.abs(l-s.left),u=Math.abs(l-s.right),h=Math.min(c,u),p=void 0,d=r/i*(o+1);if(s.isDash){var _=o-Math.abs(d);p=Math.sqrt(h*h+_*_);}else { p=o-Math.sqrt(h*h+d*d); }this.data[a+l]=Math.max(0,Math.min(255,p+128));} }},T.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var i=t[e],o=t[e+1];i.zeroLength?t.splice(e,1):o&&o.isDash===i.isDash&&(o.left=i.left,t.splice(e,1));}var r=t[0],a=t[t.length-1];r.isDash===a.isDash&&(r.left=a.left-this.width,a.right=r.right+this.width);for(var n=this.width*this.nextRow,s=0,l=t[s],c=0;c<this.width;c++){c/l.right>1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),p=Math.min(u,h);this.data[n+c]=Math.max(0,Math.min(255,(l.isDash?p:-p)+128));}},T.prototype.addDash=function(e,i){var o=i?7:0,r=2*o+1;if(this.nextRow+r>this.height){ return t.warnOnce(\"LineAtlas out of space\"),null; }for(var a=0,n=0;n<e.length;n++){ a+=e[n]; }if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);i?this.addRoundDash(l,s,o):this.addRegularDash(l);}var c={y:(this.nextRow+o+.5)/this.height,height:2*o/this.height,width:a};return this.nextRow+=r,this.dirty=!0,c},T.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data));};var E=function e(i,o){this.workerPool=i,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var r=this.workerPool.acquire(this.id),a=0;a<r.length;a++){var n=new e.Actor(r[a],o,this.id);n.name=\"Worker \"+a,this.actors.push(n);}};function I(e,i,o){var r=function(r,a){if(r){ return o(r); }if(a){var n=t.pick(t.extend(a,e),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);a.vector_layers&&(n.vectorLayers=a.vector_layers,n.vectorLayerIds=n.vectorLayers.map((function(t){return t.id}))),n.tiles=i.canonicalizeTileset(n,e.url),o(null,n);}};return e.url?t.getJSON(i.transformRequest(i.normalizeSourceURL(e.url),t.ResourceType.Source),r):t.browser.frame((function(){return r(null,e)}))}E.prototype.broadcast=function(e,i,o){t.asyncAll(this.actors,(function(t,o){t.send(e,i,o);}),o=o||function(){});},E.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},E.prototype.remove=function(){this.actors.forEach((function(t){t.remove();})),this.actors=[],this.workerPool.release(this.id);},E.Actor=t.Actor;var P=function(e,i,o){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=i||0,this.maxzoom=o||24;};P.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},P.prototype.contains=function(e){var i=Math.pow(2,e.z),o=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*i),r=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*i),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*i),n=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*i);return e.x>=o&&e.x<a&&e.y>=r&&e.y<n};var S=function(e){function i(i,o,r,a){if(e.call(this),this.id=i,this.dispatcher=r,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(o,[\"url\",\"scheme\",\"tileSize\",\"promoteId\"])),this._options=t.extend({type:\"vector\"},o),this._collectResourceTiming=o.collectResourceTiming,512!==this.tileSize){ throw new Error(\"vector tile sources must have a tileSize of 512\"); }this.setEventedParent(a);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=I(this._options,this.map._requestManager,(function(i,o){e._tileJSONRequest=null,e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(t.extend(e,o),o.bounds&&(e.tileBounds=new P(o.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(o.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(o.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setSourceProperty=function(t){this._tileJSONRequest&&this._tileJSONRequest.cancel(),t(),this.map.style.sourceCaches[this.id].clearTiles(),this.load();},i.prototype.setTiles=function(t){var e=this;return this.setSourceProperty((function(){e._options.tiles=t;})),this},i.prototype.setUrl=function(t){var e=this;return this.setSourceProperty((function(){e.url=t,e._options.url=t;})),this},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.loadTile=function(e,i){var o=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),r={request:this.map._requestManager.transformRequest(o,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(o,r){return delete e.request,e.aborted?i(null):o&&404!==o.status?i(o):(r&&r.resourceTiming&&(e.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&r&&e.setExpiryData(r),e.loadVectorData(r,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),i(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}r.request.collectResourceTiming=this._collectResourceTiming,e.actor&&\"expired\"!==e.state?\"loading\"===e.state?e.reloadCallback=i:e.request=e.actor.send(\"reloadTile\",r,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send(\"loadTile\",r,a.bind(this)));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0);},i.prototype.hasTransition=function(){return !1},i}(t.Evented),C=function(e){function i(i,o,r,a){e.call(this),this.id=i,this.dispatcher=r,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:\"raster\"},o),t.extend(this,t.pick(o,[\"url\",\"scheme\",\"tileSize\"]));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=I(this._options,this.map._requestManager,(function(i,o){e._tileJSONRequest=null,e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(t.extend(e,o),o.bounds&&(e.tileBounds=new P(o.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(o.tiles),t.postMapLoadEvent(o.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null);},i.prototype.serialize=function(){return t.extend({},this._options)},i.prototype.hasTile=function(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)},i.prototype.loadTile=function(e,i){var o=this,r=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(r,t.ResourceType.Tile),(function(r,a){if(delete e.request,e.aborted){ e.state=\"unloaded\",i(null); }else if(r){ e.state=\"errored\",i(r); }else if(a){o.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var n=o.map.painter.context,s=n.gl;e.texture=o.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.Texture(n,a,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),n.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,n.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,n.extTextureFilterAnisotropicMax)),e.state=\"loaded\",t.cacheEntryPossiblyAdded(o.dispatcher),i(null);}}));},i.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e();},i.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e();},i.prototype.hasTransition=function(){return !1},i}(t.Evented),z=function(e){function i(i,o,r,a){e.call(this,i,o,r,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({type:\"raster-dem\"},o),this.encoding=o.encoding||\"mapbox\";}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.serialize=function(){return {type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},i.prototype.loadTile=function(e,i){var o=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function r(t,o){t&&(e.state=\"errored\",i(t)),o&&(e.dem=o,e.needsHillshadePrepare=!0,e.state=\"loaded\",i(null));}e.request=t.getImage(this.map._requestManager.transformRequest(o,t.ResourceType.Tile),function(o,a){if(delete e.request,e.aborted){ e.state=\"unloaded\",i(null); }else if(o){ e.state=\"errored\",i(o); }else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var n=t.window.ImageBitmap&&a instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?a:t.browser.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:n,encoding:this.encoding};e.actor&&\"expired\"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send(\"loadDEMTile\",s,r.bind(this)));}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID);},i.prototype._getNeighboringTiles=function(e){var i=e.canonical,o=Math.pow(2,i.z),r=(i.x-1+o)%o,a=0===i.x?e.wrap-1:e.wrap,n=(i.x+1+o)%o,s=i.x+1===o?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},i.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1}),i.y+1<o&&(l[new t.OverscaledTileID(e.overscaledZ,a,i.z,r,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,i.z,i.x,i.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,i.z,n,i.y+1).key]={backfilled:!1}),l},i.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",t.actor&&t.actor.send(\"removeDEMTile\",{uid:t.uid,source:this.id});},i}(C),D=function(e){function i(i,o,r,a){e.call(this),this.id=i,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=r.getActor(),this.setEventedParent(a),this._data=o.data,this._options=t.extend({},o),this._collectResourceTiming=o.collectResourceTiming,this._resourceTiming=[],void 0!==o.maxzoom&&(this.maxzoom=o.maxzoom),o.type&&(this.type=o.type),o.attribution&&(this.attribution=o.attribution),this.promoteId=o.promoteId;var n=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:o.cluster||!1,geojsonVtOptions:{buffer:(void 0!==o.buffer?o.buffer:128)*n,tolerance:(void 0!==o.tolerance?o.tolerance:.375)*n,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:o.lineMetrics||!1,generateId:o.generateId||!1},superclusterOptions:{maxZoom:void 0!==o.clusterMaxZoom?Math.min(o.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,minPoints:Math.max(2,o.clusterMinPoints||2),extent:t.EXTENT,radius:(o.clusterRadius||50)*n,log:!1,generateId:o.generateId||!1},clusterProperties:o.clusterProperties,filter:o.filter},o.workerOptions);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(i){if(i){ e.fire(new t.ErrorEvent(i)); }else {var o={dataType:\"source\",sourceDataType:\"metadata\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(o.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",o));}}));},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setData=function(e){var i=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData((function(e){if(e){ i.fire(new t.ErrorEvent(e)); }else {var o={dataType:\"source\",sourceDataType:\"content\"};i._collectResourceTiming&&i._resourceTiming&&i._resourceTiming.length>0&&(o.resourceTiming=i._resourceTiming,i._resourceTiming=[]),i.fire(new t.Event(\"data\",o));}})),this},i.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:t,source:this.id},e),this},i.prototype.getClusterChildren=function(t,e){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:t,source:this.id},e),this},i.prototype.getClusterLeaves=function(t,e,i,o){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:t,limit:e,offset:i},o),this},i.prototype._updateWorkerData=function(e){var i=this;this._loaded=!1;var o=t.extend({},this.workerOptions),r=this._data;\"string\"==typeof r?(o.request=this.map._requestManager.transformRequest(t.browser.resolveURL(r),t.ResourceType.Source),o.request.collectResourceTiming=this._collectResourceTiming):o.data=JSON.stringify(r),this.actor.send(this.type+\".loadData\",o,(function(t,r){i._removed||r&&r.abandoned||(i._loaded=!0,r&&r.resourceTiming&&r.resourceTiming[i.id]&&(i._resourceTiming=r.resourceTiming[i.id].slice(0)),i.actor.send(i.type+\".coalesce\",{source:o.source},null),e(t));}));},i.prototype.loaded=function(){return this._loaded},i.prototype.loadTile=function(e,i){var o=this,r=e.actor?\"reloadTile\":\"loadTile\";e.actor=this.actor,e.request=this.actor.send(r,{type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId},(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?i(null):t?i(t):(e.loadVectorData(a,o.map.painter,\"reloadTile\"===r),i(null))}));},i.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0;},i.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id});},i.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id});},i.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},i.prototype.hasTransition=function(){return !1},i}(t.Evented),A=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),M=function(e){function i(t,i,o,r){e.call(this),this.id=t,this.dispatcher=o,this.coordinates=i.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(e,i){var o=this;this._loaded=!1,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(r,a){o._loaded=!0,r?o.fire(new t.ErrorEvent(r)):a&&(o.image=a,e&&(o.coordinates=e),i&&i(),o._finishLoading());}));},i.prototype.loaded=function(){return this._loaded},i.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null;})),this):this},i.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));},i.prototype.onAdd=function(t){this.map=t,this.load();},i.prototype.setCoordinates=function(e){var i=this;this.coordinates=e;var o=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var i=1/0,o=1/0,r=-1/0,a=-1/0,n=0,s=e;n<s.length;n+=1){var l=s[n];i=Math.min(i,l.x),o=Math.min(o,l.y),r=Math.max(r,l.x),a=Math.max(a,l.y);}var c=Math.max(r-i,a-o),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2)),h=Math.pow(2,u);return new t.CanonicalTileID(u,Math.floor((i+r)/2*h),Math.floor((o+a)/2*h))}(o),this.minzoom=this.maxzoom=this.tileID.z;var r=o.map((function(t){return i.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(r[2].x,r[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},i.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,i=e.gl;for(var o in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var r=this.tiles[o];\"loaded\"!==r.state&&(r.state=\"loaded\",r.texture=this.texture);}}},i.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null));},i.prototype.serialize=function(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return !1},i}(t.Evented),L=function(e){function i(t,i,o,r){e.call(this,t,i,o,r),this.roundZoom=!0,this.type=\"video\",this.options=i;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){var e=this;this._loaded=!1;var i=this.options;this.urls=[];for(var o=0,r=i.urls;o<r.length;o+=1){ this.urls.push(this.map._requestManager.transformRequest(r[o],t.ResourceType.Source).url); }t.getVideo(this.urls,(function(i,o){e._loaded=!0,i?e.fire(new t.ErrorEvent(i)):o&&(e.video=o,e.video.loop=!0,e.video.setAttribute(\"playsinline\",\"\"),e.video.addEventListener(\"playing\",(function(){e.map.triggerRepaint();})),e.map&&e.video.play(),e._finishLoading());}));},i.prototype.pause=function(){this.video&&this.video.pause();},i.prototype.play=function(){this.video&&this.video.play();},i.prototype.seek=function(e){if(this.video){var i=this.video.seekable;e<i.start(0)||e>i.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+i.start(0)+\" and \"+i.end(0)+\"-second mark.\"))):this.video.currentTime=e;}},i.prototype.getVideo=function(){return this.video},i.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));},i.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,i=e.gl;for(var o in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE)),this.tiles){var r=this.tiles[o];\"loaded\"!==r.state&&(r.state=\"loaded\",r.texture=this.texture);}}},i.prototype.serialize=function(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this.video&&!this.video.paused},i}(M),R=function(e){function i(i,o,r,a){e.call(this,i,o,r,a),o.coordinates?Array.isArray(o.coordinates)&&4===o.coordinates.length&&!o.coordinates.some((function(t){return !Array.isArray(t)||2!==t.length||t.some((function(t){return \"number\"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'missing required property \"coordinates\"'))),o.animate&&\"boolean\"!=typeof o.animate&&this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'optional \"animate\" property must be a boolean value'))),o.canvas?\"string\"==typeof o.canvas||o.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError(\"sources.\"+i,null,'missing required property \"canvas\"'))),this.options=o,this.animate=void 0===o.animate||o.animate;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());},i.prototype.getCanvas=function(){return this.canvas},i.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();},i.prototype.onRemove=function(){this.pause();},i.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var i=this.map.painter.context,o=i.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,A.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(i,this.canvas,o.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[r];\"loaded\"!==a.state&&(a.state=\"loaded\",a.texture=this.texture);}}},i.prototype.serialize=function(){return {type:\"canvas\",coordinates:this.coordinates}},i.prototype.hasTransition=function(){return this._playing},i.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var i=e[t];if(isNaN(i)||i<=0){ return !0 }}return !1},i}(M),k={vector:S,raster:C,\"raster-dem\":z,geojson:D,video:L,image:M,canvas:R};function B(e,i){var o=t.identity([]);return t.translate(o,o,[1,1,0]),t.scale(o,o,[.5*e.width,.5*e.height,1]),t.multiply(o,o,e.calculatePosMatrix(i.toUnwrapped()))}function O(t,e,i,o,r,a){var n=function(t,e,i){if(t){ for(var o=0,r=t;o<r.length;o+=1){var a=e[r[o]];if(a&&a.source===i&&\"fill-extrusion\"===a.type){ return !0 }} }else { for(var n in e){var s=e[n];if(s.source===i&&\"fill-extrusion\"===s.type){ return !0 }} }return !1}(r&&r.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(o,s,n);l.sort(F);for(var c=[],u=0,h=l;u<h.length;u+=1){var p=h[u];c.push({wrappedTileID:p.tileID.wrapped().key,queryResults:p.tile.queryRenderedFeatures(e,i,t._state,p.queryGeometry,p.cameraQueryGeometry,p.scale,r,a,s,B(t.transform,p.tileID))});}var d=function(t){for(var e={},i={},o=0,r=t;o<r.length;o+=1){var a=r[o],n=a.queryResults,s=a.wrappedTileID,l=i[s]=i[s]||{};for(var c in n){ for(var u=n[c],h=l[c]=l[c]||{},p=e[c]=e[c]||[],d=0,_=u;d<_.length;d+=1){var f=_[d];h[f.featureIndex]||(h[f.featureIndex]=!0,p.push(f));} }}return e}(c);for(var _ in d){ d[_].forEach((function(e){var i=e.feature,o=t.getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=o;})); }return d}function F(t,e){var i=t.tileID,o=e.tileID;return i.overscaledZ-o.overscaledZ||i.canonical.y-o.canonical.y||i.wrap-o.wrap||i.canonical.x-o.canonical.x}var U=function(t,e){this.max=t,this.onRemove=e,this.reset();};U.prototype.reset=function(){for(var t in this.data){ for(var e=0,i=this.data[t];e<i.length;e+=1){var o=i[e];o.timeout&&clearTimeout(o.timeout),this.onRemove(o.value);} }return this.data={},this.order=[],this},U.prototype.add=function(t,e,i){var o=this,r=t.wrapped().key;void 0===this.data[r]&&(this.data[r]=[]);var a={value:e,timeout:void 0};if(void 0!==i&&(a.timeout=setTimeout((function(){o.remove(t,a);}),i)),this.data[r].push(a),this.order.push(r),this.order.length>this.max){var n=this._getAndRemoveByKey(this.order[0]);n&&this.onRemove(n);}return this},U.prototype.has=function(t){return t.wrapped().key in this.data},U.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},U.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},U.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},U.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},U.prototype.remove=function(t,e){if(!this.has(t)){ return this; }var i=t.wrapped().key,o=void 0===e?0:this.data[i].indexOf(e),r=this.data[i][o];return this.data[i].splice(o,1),r.timeout&&clearTimeout(r.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(r.value),this.order.splice(this.order.indexOf(i),1),this},U.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e);}return this},U.prototype.filter=function(t){var e=[];for(var i in this.data){ for(var o=0,r=this.data[i];o<r.length;o+=1){var a=r[o];t(a.value)||e.push(a);} }for(var n=0,s=e;n<s.length;n+=1){var l=s[n];this.remove(l.value.tileID,l);}};var N=function(t,e,i){this.context=t;var o=t.gl;this.buffer=o.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};N.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer);},N.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);},N.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var Z={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},q=function(t,e,i,o){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=o,this.context=t;var r=t.gl;this.buffer=r.createBuffer(),t.bindVertexBuffer.set(this.buffer),r.bufferData(r.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;};q.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer);},q.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);},q.prototype.enableAttributes=function(t,e){for(var i=0;i<this.attributes.length;i++){var o=e.attributes[this.attributes[i].name];void 0!==o&&t.enableVertexAttribArray(o);}},q.prototype.setVertexAttribPointers=function(t,e,i){for(var o=0;o<this.attributes.length;o++){var r=this.attributes[o],a=e.attributes[r.name];void 0!==a&&t.vertexAttribPointer(a,r.components,t[Z[r.type]],!1,this.itemSize,r.offset+this.itemSize*(i||0));}},q.prototype.destroy=function(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);};var j=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1;};j.prototype.get=function(){return this.current},j.prototype.set=function(t){},j.prototype.getDefault=function(){return this.default},j.prototype.setDefault=function(){this.set(this.default);};var V=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(j),G=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1);},e}(j),W=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1);},e}(j),X=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(j),H=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1);},e}(j),K=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1);},e}(j),Y=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return {func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1);},e}(j),J=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1);},e}(j),Q=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1;}},e}(j),$=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return [0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1);},e}(j),tt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1;}},e}(j),et=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1);},e}(j),it=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1;}},e}(j),ot=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1);},e}(j),rt=function(e){function i(){e.apply(this,arguments);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getDefault=function(){return t.Color.transparent},i.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1);},i}(j),at=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1);},e}(j),nt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1;}},e}(j),st=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1);},e}(j),lt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1);},e}(j),ct=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1);},e}(j),ut=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1);},e}(j),ht=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){var t=this.gl;return [0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1);},e}(j),pt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1;}},e}(j),dt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(j),_t=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1;}},e}(j),ft=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1;}},e}(j),mt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1;},e}(j),gt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1);},e}(j),vt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1;}},e}(j),yt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1;}},e}(j),xt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return !1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1;}},e}(j),bt=function(t){function e(e,i){t.call(this,e),this.context=e,this.parent=i;}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.getDefault=function(){return null},e}(j),wt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.setDirty=function(){this.dirty=!0;},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1;}},e}(bt),Tt=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1;}},e}(bt),Et=function(t,e,i,o){this.context=t,this.width=e,this.height=i;var r=this.framebuffer=t.gl.createFramebuffer();this.colorAttachment=new wt(t,r),o&&(this.depthAttachment=new Tt(t,r));};Et.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var i=this.depthAttachment.get();i&&t.deleteRenderbuffer(i);}t.deleteFramebuffer(this.framebuffer);};var It=function(t,e,i){this.func=t,this.mask=e,this.range=i;};It.ReadOnly=!1,It.ReadWrite=!0,It.disabled=new It(519,It.ReadOnly,[0,1]);var Pt=function(t,e,i,o,r,a){this.test=t,this.ref=e,this.mask=i,this.fail=o,this.depthFail=r,this.pass=a;};Pt.disabled=new Pt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,i){this.blendFunction=t,this.blendColor=e,this.mask=i;};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Ct=function(t,e,i){this.enable=t,this.mode=e,this.frontFace=i;};Ct.disabled=new Ct(!1,1029,2305),Ct.backCCW=new Ct(!0,1029,2305);var zt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.clearColor=new V(this),this.clearDepth=new G(this),this.clearStencil=new W(this),this.colorMask=new X(this),this.depthMask=new H(this),this.stencilMask=new K(this),this.stencilFunc=new Y(this),this.stencilOp=new J(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new it(this),this.blendFunc=new ot(this),this.blendColor=new rt(this),this.blendEquation=new at(this),this.cullFace=new nt(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ht(this),this.bindFramebuffer=new pt(this),this.bindRenderbuffer=new dt(this),this.bindTexture=new _t(this),this.bindVertexBuffer=new ft(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new gt(this),this.pixelStoreUnpack=new vt(this),this.pixelStoreUnpackPremultiplyAlpha=new yt(this),this.pixelStoreUnpackFlipY=new xt(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&(t.getExtension(\"OES_texture_half_float_linear\"),this.extRenderToTextureHalfFloat=t.getExtension(\"EXT_color_buffer_half_float\")),this.extTimerQuery=t.getExtension(\"EXT_disjoint_timer_query\"),this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE);};zt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault();},zt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0;},zt.prototype.createIndexBuffer=function(t,e){return new N(this,t,e)},zt.prototype.createVertexBuffer=function(t,e,i){return new q(this,t,e,i)},zt.prototype.createRenderbuffer=function(t,e,i){var o=this.gl,r=o.createRenderbuffer();return this.bindRenderbuffer.set(r),o.renderbufferStorage(o.RENDERBUFFER,t,e,i),this.bindRenderbuffer.set(null),r},zt.prototype.createFramebuffer=function(t,e,i){return new Et(this,t,e,i)},zt.prototype.clear=function(t){var e=t.color,i=t.depth,o=this.gl,r=0;e&&(r|=o.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==i&&(r|=o.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(i),this.depthMask.set(!0)),o.clear(r);},zt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace));},zt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1);},zt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1);},zt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask);},zt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null);};var Dt=function(e){function i(i,o,r){var a=this;e.call(this),this.id=i,this.dispatcher=r,this.on(\"data\",(function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform));})),this.on(\"error\",(function(){a._sourceErrored=!0;})),this._source=function(e,i,o,r){var a=new k[i.type](e,i,o,r);if(a.id!==e){ throw new Error(\"Expected Source id to be \"+e+\" instead of \"+a.id); }return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],a),a}(i,o,r,this),this._tiles={},this._cache=new U(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState;}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t);},i.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t);},i.prototype.loaded=function(){if(this._sourceErrored){ return !0; }if(!this._sourceLoaded){ return !1; }if(!this._source.loaded()){ return !1; }for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state){ return !1 }}return !0},i.prototype.getSource=function(){return this._source},i.prototype.pause=function(){this._paused=!0;},i.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform);}},i.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},i.prototype._unloadTile=function(t){if(this._source.unloadTile){ return this._source.unloadTile(t,(function(){})) }},i.prototype._abortTile=function(t){if(this._source.abortTile){ return this._source.abortTile(t,(function(){})) }},i.prototype.serialize=function(){return this._source.serialize()},i.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}},i.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(At).map((function(t){return t.key}))},i.prototype.getRenderableIds=function(e){var i=this,o=[];for(var r in this._tiles){ this._isIdRenderable(r,e)&&o.push(this._tiles[r]); }return e?o.sort((function(e,o){var r=e.tileID,a=o.tileID,n=new t.Point(r.canonical.x,r.canonical.y)._rotate(i.transform.angle),s=new t.Point(a.canonical.x,a.canonical.y)._rotate(i.transform.angle);return r.overscaledZ-a.overscaledZ||s.y-n.y||s.x-n.x})).map((function(t){return t.tileID.key})):o.map((function(t){return t.tileID})).sort(At).map((function(t){return t.key}))},i.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)},i.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},i.prototype.reload=function(){if(this._paused){ this._shouldReloadOnResume=!0; }else { for(var t in this._cache.reset(),this._tiles){ \"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\"); } }},i.prototype._reloadTile=function(t,e){var i=this._tiles[t];i&&(\"loading\"!==i.state&&(i.state=e),this._loadTile(i,this._tileLoaded.bind(this,i,t,e)));},i.prototype._tileLoaded=function(e,i,o,r){if(r){ return e.state=\"errored\",void(404!==r.status?this._source.fire(new t.ErrorEvent(r,{tile:e})):this.update(this.transform)); }e.timeAdded=t.browser.now(),\"expired\"===o&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(i,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID}));},i.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),i=0;i<e.length;i++){var o=e[i];if(t.neighboringTiles&&t.neighboringTiles[o]){var r=this.getTileByID(o);a(t,r),a(r,t);}}function a(t,e){t.needsHillshadePrepare=!0;var i=e.tileID.canonical.x-t.tileID.canonical.x,o=e.tileID.canonical.y-t.tileID.canonical.y,r=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===i&&0===o||Math.abs(o)>1||(Math.abs(i)>1&&(1===Math.abs(i+r)?i+=r:1===Math.abs(i-r)&&(i-=r)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,o),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)));}},i.prototype.getTile=function(t){return this.getTileByID(t.key)},i.prototype.getTileByID=function(t){return this._tiles[t]},i.prototype._retainLoadedChildren=function(t,e,i,o){for(var r in this._tiles){var a=this._tiles[r];if(!(o[r]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>i)){for(var n=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(n=s);}for(var l=n;l.overscaledZ>e;){ if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){o[n.key]=n;break} }}}},i.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(var o=t.overscaledZ-1;o>=e;o--){var r=t.scaledTo(o),a=this._getLoadedTile(r);if(a){ return a }}},i.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},i.prototype.updateCacheSize=function(t){var e=Math.ceil(t.width/this._source.tileSize)+1,i=Math.ceil(t.height/this._source.tileSize)+1,o=Math.floor(e*i*5),r=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(r);},i.prototype.handleWrapJump=function(t){var e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){var i={};for(var o in this._tiles){var r=this._tiles[o];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),i[r.tileID.key]=r;}for(var a in this._tiles=i,this._timers){ clearTimeout(this._timers[a]),delete this._timers[a]; }for(var n in this._tiles){ this._setTileReloadTimer(n,this._tiles[n]); }}},i.prototype.update=function(e){var o=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var r;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?r=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(r=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(r=r.filter((function(t){return o._source.hasTile(t)})))):r=[];var a=e.coveringZoomLevel(this._source),n=Math.max(a-i.maxOverzooming,this._source.minzoom),s=Math.max(a+i.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(r,a);if(Mt(this._source.type)){for(var c={},u={},h=0,p=Object.keys(l);h<p.length;h+=1){var d=p[h],_=l[d],f=this._tiles[d];if(f&&!(f.fadeEndTime&&f.fadeEndTime<=t.browser.now())){var m=this.findLoadedParent(_,n);m&&(this._addTile(m.tileID),c[m.tileID.key]=m.tileID),u[d]=_;}}for(var g in this._retainLoadedChildren(u,a,s,l),c){ l[g]||(this._coveredTiles[g]=!0,l[g]=c[g]); }}for(var v in l){ this._tiles[v].clearFadeHold(); }for(var y=0,x=t.keysDifference(this._tiles,l);y<x.length;y+=1){var b=x[y],w=this._tiles[b];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(b);}this._updateLoadedParentTileCache();}},i.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles){ this._tiles[t].holdingForFade()&&this._removeTile(t); }},i.prototype._updateRetainedTiles=function(t,e){for(var o={},r={},a=Math.max(e-i.maxOverzooming,this._source.minzoom),n=Math.max(e+i.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],h=this._addTile(u);o[u.key]=u,h.hasData()||e<this._source.maxzoom&&(s[u.key]=u);}this._retainLoadedChildren(s,e,n,o);for(var p=0,d=t;p<d.length;p+=1){var _=d[p],f=this._tiles[_.key];if(!f.hasData()){if(e+1>this._source.maxzoom){var m=_.children(this._source.maxzoom)[0],g=this.getTile(m);if(g&&g.hasData()){o[m.key]=m;continue}}else {var v=_.children(this._source.maxzoom);if(o[v[0].key]&&o[v[1].key]&&o[v[2].key]&&o[v[3].key]){ continue }}for(var y=f.wasRequested(),x=_.overscaledZ-1;x>=a;--x){var b=_.scaledTo(x);if(r[b.key]){ break; }if(r[b.key]=!0,!(f=this.getTile(b))&&y&&(f=this._addTile(b)),f&&(o[b.key]=b,y=f.wasRequested(),f.hasData())){ break }}}}return o},i.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],i=void 0,o=this._tiles[t].tileID;o.overscaledZ>0;){if(o.key in this._loadedParentTiles){i=this._loadedParentTiles[o.key];break}e.push(o.key);var r=o.scaledTo(o.overscaledZ-1);if(i=this._getLoadedTile(r)){ break; }o=r;}for(var a=0,n=e;a<n.length;a+=1){ this._loadedParentTiles[n[a]]=i; }}},i.prototype._addTile=function(e){var i=this._tiles[e.key];if(i){ return i; }(i=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,i),i.tileID=e,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,i)));var o=Boolean(i);return o||(i=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(i,this._tileLoaded.bind(this,i,e.key,i.state))),i?(i.uses++,this._tiles[e.key]=i,o||this._source.fire(new t.Event(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i):null},i.prototype._setTileReloadTimer=function(t,e){var i=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var o=e.getExpiryTimeout();o&&(this._timers[t]=setTimeout((function(){i._reloadTile(t,\"expired\"),delete i._timers[t];}),o));},i.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));},i.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles){ this._removeTile(t); }this._cache.reset();},i.prototype.tilesIn=function(e,i,o){var r=this,a=[],n=this.transform;if(!n){ return a; }for(var s=o?n.getCameraQueryGeometry(e):e,l=e.map((function(t){return n.pointCoordinate(t)})),c=s.map((function(t){return n.pointCoordinate(t)})),u=this.getIds(),h=1/0,p=1/0,d=-1/0,_=-1/0,f=0,m=c;f<m.length;f+=1){var g=m[f];h=Math.min(h,g.x),p=Math.min(p,g.y),d=Math.max(d,g.x),_=Math.max(_,g.y);}for(var v=function(e){var o=r._tiles[u[e]];if(!o.holdingForFade()){var s=o.tileID,f=Math.pow(2,n.zoom-o.tileID.overscaledZ),m=i*o.queryPadding*t.EXTENT/o.tileSize/f,g=[s.getTilePoint(new t.MercatorCoordinate(h,p)),s.getTilePoint(new t.MercatorCoordinate(d,_))];if(g[0].x-m<t.EXTENT&&g[0].y-m<t.EXTENT&&g[1].x+m>=0&&g[1].y+m>=0){var v=l.map((function(t){return s.getTilePoint(t)})),y=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:o,tileID:s,queryGeometry:v,cameraQueryGeometry:y,scale:f});}}},y=0;y<u.length;y++){ v(y); }return a},i.prototype.getVisibleCoordinates=function(t){for(var e=this,i=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),o=0,r=i;o<r.length;o+=1){var a=r[o];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped());}return i},i.prototype.hasTransition=function(){if(this._source.hasTransition()){ return !0; }if(Mt(this._source.type)){ for(var e in this._tiles){var i=this._tiles[e];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=t.browser.now()){ return !0 }} }return !1},i.prototype.setFeatureState=function(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);},i.prototype.removeFeatureState=function(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);},i.prototype.getFeatureState=function(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)},i.prototype.setDependencies=function(t,e,i){var o=this._tiles[t];o&&o.setDependencies(e,i);},i.prototype.reloadTilesForDependencies=function(t,e){for(var i in this._tiles){ this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\"); }this._cache.filter((function(i){return !i.hasDependency(t,e)}));},i}(t.Evented);function At(t,e){var i=Math.abs(2*t.wrap)-+(t.wrap<0),o=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||o-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Mt(t){return \"raster\"===t||\"image\"===t||\"video\"===t}function Lt(){return new t.window.Worker(Kr.workerUrl)}Dt.maxOverzooming=10,Dt.maxUnderzooming=3;var Rt=\"mapboxgl_preloaded_worker_pool\",kt=function(){this.active={};};kt.prototype.acquire=function(t){if(!this.workers){ for(this.workers=[];this.workers.length<kt.workerCount;){ this.workers.push(new Lt); } }return this.active[t]=!0,this.workers.slice()},kt.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate();})),this.workers=null);},kt.prototype.isPreloaded=function(){return !!this.active[Rt]},kt.prototype.numActive=function(){return Object.keys(this.active).length};var Bt,Ot=Math.floor(t.browser.hardwareConcurrency/2);function Ft(){return Bt||(Bt=new kt),Bt}function Ut(e,i){var o={};for(var r in e){ \"ref\"!==r&&(o[r]=e[r]); }return t.refProperties.forEach((function(t){t in i&&(o[t]=i[t]);})),o}function Nt(t){t=t.slice();for(var e=Object.create(null),i=0;i<t.length;i++){ e[t[i].id]=t[i]; }for(var o=0;o<t.length;o++){ \"ref\"in t[o]&&(t[o]=Ut(t[o],e[t[o].ref])); }return t}kt.workerCount=Math.max(Math.min(Ot,6),1);var Zt={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function qt(t,e,i){i.push({command:Zt.addSource,args:[t,e[t]]});}function jt(t,e,i){e.push({command:Zt.removeSource,args:[t]}),i[t]=!0;}function Vt(t,e,i,o){jt(t,i,o),qt(t,e,i);}function Gt(e,i,o){var r;for(r in e[o]){ if(e[o].hasOwnProperty(r)&&\"data\"!==r&&!t.deepEqual(e[o][r],i[o][r])){ return !1; } }for(r in i[o]){ if(i[o].hasOwnProperty(r)&&\"data\"!==r&&!t.deepEqual(e[o][r],i[o][r])){ return !1; } }return !0}function Wt(e,i,o,r,a,n){var s;for(s in i=i||{},e=e||{}){ e.hasOwnProperty(s)&&(t.deepEqual(e[s],i[s])||o.push({command:n,args:[r,s,i[s],a]})); }for(s in i){ i.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],i[s])||o.push({command:n,args:[r,s,i[s],a]})); }}function Xt(t){return t.id}function Ht(t,e){return t[e.id]=e,t}var Kt=function(t,e){this.reset(t,e);};Kt.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var i=1;i<this.points.length;i++){ this._distances[i]=this._distances[i-1]+this.points[i].dist(this.points[i-1]); }this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding;},Kt.prototype.lerp=function(e){if(1===this.points.length){ return this.points[0]; }e=t.clamp(e,0,1);for(var i=1,o=this._distances[i],r=e*this.paddedLength+this.padding;o<r&&i<this._distances.length;){ o=this._distances[++i]; }var a=i-1,n=this._distances[a],s=o-n,l=s>0?(r-n)/s:0;return this.points[a].mult(1-l).add(this.points[i].mult(l))};var Yt=function(t,e,i){var o=this.boxCells=[],r=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(var a=0;a<this.xCellCount*this.yCellCount;a++){ o.push([]),r.push([]); }this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0;};function Jt(e,i,o,r,a){var n=t.create();return i?(t.scale(n,n,[1/a,1/a,1]),o||t.rotateZ(n,n,r.angle)):t.multiply(n,r.labelPlaneMatrix,e),n}function Qt(e,i,o,r,a){if(i){var n=t.clone(e);return t.scale(n,n,[a,a,1]),o||t.rotateZ(n,n,-r.angle),n}return r.glCoordMatrix}function $t(e,i){var o=[e.x,e.y,0,1];ue(o,o,i);var r=o[3];return {point:new t.Point(o[0]/r,o[1]/r),signedDistanceFromCamera:r}}function te(t,e){return .5+t/e*.5}function ee(t,e){var i=t[0]/t[3],o=t[1]/t[3];return i>=-e[0]&&i<=e[0]&&o>=-e[1]&&o<=e[1]}function ie(e,i,o,r,a,n,s,l){var c=r?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,o.transform.zoom),h=[256/o.width*2+1,256/o.height*2+1],p=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;p.clear();for(var d=e.lineVertexArray,_=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,f=o.transform.width/o.transform.height,m=!1,g=0;g<_.length;g++){var v=_.get(g);if(v.hidden||v.writingMode===t.WritingMode.vertical&&!m){ ce(v.numGlyphs,p); }else {m=!1;var y=[v.anchorX,v.anchorY,0,1];if(t.transformMat4(y,y,i),ee(y,h)){var x=te(o.transform.cameraToCenterDistance,y[3]),b=t.evaluateSizeForFeature(c,u,v),w=s?b/x:b*x,T=new t.Point(v.anchorX,v.anchorY),E=$t(T,a).point,I={},P=ae(v,w,!1,l,i,a,n,e.glyphOffsetArray,d,p,E,T,I,f);m=P.useVertical,(P.notEnoughRoom||m||P.needsFlipping&&ae(v,w,!0,l,i,a,n,e.glyphOffsetArray,d,p,E,T,I,f).notEnoughRoom)&&ce(v.numGlyphs,p);}else { ce(v.numGlyphs,p); }}}r?e.text.dynamicLayoutVertexBuffer.updateData(p):e.icon.dynamicLayoutVertexBuffer.updateData(p);}function oe(t,e,i,o,r,a,n,s,l,c,u){var h=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,_=e.getoffsetX(s.glyphStartIndex),f=e.getoffsetX(h-1),m=se(t*_,i,o,r,a,n,s.segment,p,d,l,c,u);if(!m){ return null; }var g=se(t*f,i,o,r,a,n,s.segment,p,d,l,c,u);return g?{first:m,last:g}:null}function re(e,i,o,r){return e===t.WritingMode.horizontal&&Math.abs(o.y-i.y)>Math.abs(o.x-i.x)*r?{useVertical:!0}:(e===t.WritingMode.vertical?i.y<o.y:i.x>o.x)?{needsFlipping:!0}:null}function ae(e,i,o,r,a,n,s,l,c,u,h,p,d,_){var f,m=i/24,g=e.lineOffsetX*m,v=e.lineOffsetY*m;if(e.numGlyphs>1){var y=e.glyphStartIndex+e.numGlyphs,x=e.lineStartIndex,b=e.lineStartIndex+e.lineLength,w=oe(m,l,g,v,o,h,p,e,c,n,d);if(!w){ return {notEnoughRoom:!0}; }var T=$t(w.first.point,s).point,E=$t(w.last.point,s).point;if(r&&!o){var I=re(e.writingMode,T,E,_);if(I){ return I }}f=[w.first];for(var P=e.glyphStartIndex+1;P<y-1;P++){ f.push(se(m*l.getoffsetX(P),g,v,o,h,p,e.segment,x,b,c,n,d)); }f.push(w.last);}else {if(r&&!o){var S=$t(p,a).point,C=e.lineStartIndex+e.segment+1,z=new t.Point(c.getx(C),c.gety(C)),D=$t(z,a),A=D.signedDistanceFromCamera>0?D.point:ne(p,z,S,1,a),M=re(e.writingMode,S,A,_);if(M){ return M }}var L=se(m*l.getoffsetX(e.glyphStartIndex),g,v,o,h,p,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,n,d);if(!L){ return {notEnoughRoom:!0}; }f=[L];}for(var R=0,k=f;R<k.length;R+=1){var B=k[R];t.addDynamicAttributes(u,B.point,B.angle);}return {}}function ne(t,e,i,o,r){var a=$t(t.add(t.sub(e)._unit()),r).point,n=i.sub(a);return i.add(n._mult(o/n.mag()))}function se(e,i,o,r,a,n,s,l,c,u,h,p){var d=r?e-i:e+i,_=d>0?1:-1,f=0;r&&(_*=-1,f=Math.PI),_<0&&(f+=Math.PI);for(var m=_>0?l+s:l+s+1,g=a,v=a,y=0,x=0,b=Math.abs(d),w=[];y+x<=b;){if((m+=_)<l||m>=c){ return null; }if(v=g,w.push(g),void 0===(g=p[m])){var T=new t.Point(u.getx(m),u.gety(m)),E=$t(T,h);if(E.signedDistanceFromCamera>0){ g=p[m]=E.point; }else {var I=m-_;g=ne(0===y?n:new t.Point(u.getx(I),u.gety(I)),T,v,b-y+1,h);}}y+=x,x=v.dist(g);}var P=(b-y)/x,S=g.sub(v),C=S.mult(P)._add(v);C._add(S._unit()._perp()._mult(o*_));var z=f+Math.atan2(g.y-v.y,g.x-v.x);return w.push(C),{point:C,angle:z,path:w}}Yt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Yt.prototype.insert=function(t,e,i,o,r){this._forEachCell(e,i,o,r,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(i),this.bboxes.push(o),this.bboxes.push(r);},Yt.prototype.insertCircle=function(t,e,i,o){this._forEachCell(e-o,i-o,e+o,i+o,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(i),this.circles.push(o);},Yt.prototype._insertBoxCell=function(t,e,i,o,r,a){this.boxCells[r].push(a);},Yt.prototype._insertCircleCell=function(t,e,i,o,r,a){this.circleCells[r].push(a);},Yt.prototype._query=function(t,e,i,o,r,a){if(i<0||t>this.width||o<0||e>this.height){ return !r&&[]; }var n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=o){if(r){ return !0; }for(var s=0;s<this.boxKeys.length;s++){ n.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]}); }for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],h=this.circles[3*l+2];n.push({key:this.circleKeys[l],x1:c-h,y1:u-h,x2:c+h,y2:u+h});}return a?n.filter(a):n}return this._forEachCell(t,e,i,o,this._queryCell,n,{hitTest:r,seenUids:{box:{},circle:{}}},a),r?n.length>0:n},Yt.prototype._queryCircle=function(t,e,i,o,r){var a=t-i,n=t+i,s=e-i,l=e+i;if(n<0||a>this.width||l<0||s>this.height){ return !o&&[]; }var c=[];return this._forEachCell(a,s,n,l,this._queryCellCircle,c,{hitTest:o,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},r),o?c.length>0:c},Yt.prototype.query=function(t,e,i,o,r){return this._query(t,e,i,o,!1,r)},Yt.prototype.hitTest=function(t,e,i,o,r){return this._query(t,e,i,o,!0,r)},Yt.prototype.hitTestCircle=function(t,e,i,o){return this._queryCircle(t,e,i,!0,o)},Yt.prototype._queryCell=function(t,e,i,o,r,a,n,s){var l=n.seenUids,c=this.boxCells[r];if(null!==c){ for(var u=this.bboxes,h=0,p=c;h<p.length;h+=1){var d=p[h];if(!l.box[d]){l.box[d]=!0;var _=4*d;if(t<=u[_+2]&&e<=u[_+3]&&i>=u[_+0]&&o>=u[_+1]&&(!s||s(this.boxKeys[d]))){if(n.hitTest){ return a.push(!0),!0; }a.push({key:this.boxKeys[d],x1:u[_],y1:u[_+1],x2:u[_+2],y2:u[_+3]});}}} }var f=this.circleCells[r];if(null!==f){ for(var m=this.circles,g=0,v=f;g<v.length;g+=1){var y=v[g];if(!l.circle[y]){l.circle[y]=!0;var x=3*y;if(this._circleAndRectCollide(m[x],m[x+1],m[x+2],t,e,i,o)&&(!s||s(this.circleKeys[y]))){if(n.hitTest){ return a.push(!0),!0; }var b=m[x],w=m[x+1],T=m[x+2];a.push({key:this.circleKeys[y],x1:b-T,y1:w-T,x2:b+T,y2:w+T});}}} }},Yt.prototype._queryCellCircle=function(t,e,i,o,r,a,n,s){var l=n.circle,c=n.seenUids,u=this.boxCells[r];if(null!==u){ for(var h=this.bboxes,p=0,d=u;p<d.length;p+=1){var _=d[p];if(!c.box[_]){c.box[_]=!0;var f=4*_;if(this._circleAndRectCollide(l.x,l.y,l.radius,h[f+0],h[f+1],h[f+2],h[f+3])&&(!s||s(this.boxKeys[_]))){ return a.push(!0),!0 }}} }var m=this.circleCells[r];if(null!==m){ for(var g=this.circles,v=0,y=m;v<y.length;v+=1){var x=y[v];if(!c.circle[x]){c.circle[x]=!0;var b=3*x;if(this._circlesCollide(g[b],g[b+1],g[b+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[x]))){ return a.push(!0),!0 }}} }},Yt.prototype._forEachCell=function(t,e,i,o,r,a,n,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(i),h=this._convertToYCellCoord(o),p=l;p<=u;p++){ for(var d=c;d<=h;d++){ if(r.call(this,t,e,i,o,this.xCellCount*d+p,a,n,s)){ return } } }},Yt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Yt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Yt.prototype._circlesCollide=function(t,e,i,o,r,a){var n=o-t,s=r-e,l=i+a;return l*l>n*n+s*s},Yt.prototype._circleAndRectCollide=function(t,e,i,o,r,a,n){var s=(a-o)/2,l=Math.abs(t-(o+s));if(l>s+i){ return !1; }var c=(n-r)/2,u=Math.abs(e-(r+c));if(u>c+i){ return !1; }if(l<=s||u<=c){ return !0; }var h=l-s,p=u-c;return h*h+p*p<=i*i};var le=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ce(t,e){for(var i=0;i<t;i++){var o=e.length;e.resize(o+4),e.float32.set(le,3*o);}}function ue(t,e,i){var o=e[0],r=e[1];return t[0]=i[0]*o+i[4]*r+i[12],t[1]=i[1]*o+i[5]*r+i[13],t[3]=i[3]*o+i[7]*r+i[15],t}var he=function(t,e,i){void 0===e&&(e=new Yt(t.width+200,t.height+200,25)),void 0===i&&(i=new Yt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=i,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200;};function pe(e,i,o){return i*(t.EXTENT/(e.tileSize*Math.pow(2,o-e.tileID.overscaledZ)))}he.prototype.placeCollisionBox=function(t,e,i,o,r){var a=this.projectAndGetPerspectiveRatio(o,t.anchorPointX,t.anchorPointY),n=i*a.perspectiveRatio,s=t.x1*n+a.point.x,l=t.y1*n+a.point.y,c=t.x2*n+a.point.x,u=t.y2*n+a.point.y;return !this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,r)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},he.prototype.placeCollisionCircles=function(e,i,o,r,a,n,s,l,c,u,h,p,d){var _=[],f=new t.Point(i.anchorX,i.anchorY),m=$t(f,n),g=te(this.transform.cameraToCenterDistance,m.signedDistanceFromCamera),v=(u?a/g:a*g)/t.ONE_EM,y=$t(f,s).point,x=oe(v,r,i.lineOffsetX*v,i.lineOffsetY*v,!1,y,f,i,o,s,{}),b=!1,w=!1,T=!0;if(x){for(var E=.5*p*g+d,I=new t.Point(-100,-100),P=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new Kt,C=x.first,z=x.last,D=[],A=C.path.length-1;A>=1;A--){ D.push(C.path[A]); }for(var M=1;M<z.path.length;M++){ D.push(z.path[M]); }var L=2.5*E;if(l){var R=D.map((function(t){return $t(t,l)}));D=R.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:R.map((function(t){return t.point}));}var k=[];if(D.length>0){for(var B=D[0].clone(),O=D[0].clone(),F=1;F<D.length;F++){ B.x=Math.min(B.x,D[F].x),B.y=Math.min(B.y,D[F].y),O.x=Math.max(O.x,D[F].x),O.y=Math.max(O.y,D[F].y); }k=B.x>=I.x&&O.x<=P.x&&B.y>=I.y&&O.y<=P.y?[D]:O.x<I.x||B.x>P.x||O.y<I.y||B.y>P.y?[]:t.clipLine([D],I.x,I.y,P.x,P.y);}for(var U=0,N=k;U<N.length;U+=1){var Z;S.reset(N[U],.25*E),Z=S.length<=.5*E?1:Math.ceil(S.paddedLength/L)+1;for(var q=0;q<Z;q++){var j=q/Math.max(Z-1,1),V=S.lerp(j),G=V.x+100,W=V.y+100;_.push(G,W,E,0);var X=G-E,H=W-E,K=G+E,Y=W+E;if(T=T&&this.isOffscreen(X,H,K,Y),w=w||this.isInsideGrid(X,H,K,Y),!e&&this.grid.hitTestCircle(G,W,E,h)&&(b=!0,!c)){ return {circles:[],offscreen:!1,collisionDetected:b} }}}}return {circles:!c&&b||!w?[]:_,offscreen:T,collisionDetected:b}},he.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength()){ return {}; }for(var i=[],o=1/0,r=1/0,a=-1/0,n=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);o=Math.min(o,u.x),r=Math.min(r,u.y),a=Math.max(a,u.x),n=Math.max(n,u.y),i.push(u);}for(var h={},p={},d=0,_=this.grid.query(o,r,a,n).concat(this.ignoredGrid.query(o,r,a,n));d<_.length;d+=1){var f=_[d],m=f.key;if(void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]={}),!h[m.bucketInstanceId][m.featureIndex]){var g=[new t.Point(f.x1,f.y1),new t.Point(f.x2,f.y1),new t.Point(f.x2,f.y2),new t.Point(f.x1,f.y2)];t.polygonIntersectsPolygon(i,g)&&(h[m.bucketInstanceId][m.featureIndex]=!0,void 0===p[m.bucketInstanceId]&&(p[m.bucketInstanceId]=[]),p[m.bucketInstanceId].push(m.featureIndex));}}return p},he.prototype.insertCollisionBox=function(t,e,i,o,r){(e?this.ignoredGrid:this.grid).insert({bucketInstanceId:i,featureIndex:o,collisionGroupID:r},t[0],t[1],t[2],t[3]);},he.prototype.insertCollisionCircles=function(t,e,i,o,r){for(var a=e?this.ignoredGrid:this.grid,n={bucketInstanceId:i,featureIndex:o,collisionGroupID:r},s=0;s<t.length;s+=4){ a.insertCircle(n,t[s],t[s+1],t[s+2]); }},he.prototype.projectAndGetPerspectiveRatio=function(e,i,o){var r=[i,o,0,1];return ue(r,r,e),{point:new t.Point((r[0]/r[3]+1)/2*this.transform.width+100,(-r[1]/r[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/r[3]*.5}},he.prototype.isOffscreen=function(t,e,i,o){return i<100||t>=this.screenRightBoundary||o<100||e>this.screenBottomBoundary},he.prototype.isInsideGrid=function(t,e,i,o){return i>=0&&t<this.gridRightBoundary&&o>=0&&e<this.gridBottomBoundary},he.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var de=function(t,e,i,o){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):o&&i?1:0,this.placed=i;};de.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var _e=function(t,e,i,o,r){this.text=new de(t?t.text:null,e,i,r),this.icon=new de(t?t.icon:null,e,o,r);};_e.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var fe=function(t,e,i){this.text=t,this.icon=e,this.skipFade=i;},me=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[];},ge=function(t,e,i,o,r){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=o,this.tileID=r;},ve=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};};function ye(e,i,o,r,a){var n=t.getAnchorAlignment(e),s=-(n.horizontalAlign-.5)*i,l=-(n.verticalAlign-.5)*o,c=t.evaluateVariableOffset(e,r);return new t.Point(s+c[0]*a,l+c[1]*a)}function xe(e,i,o,r,a,n){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,h=e.anchorPointX,p=e.anchorPointY,d=new t.Point(i,o);return r&&d._rotate(a?n:-n),{x1:s+d.x,y1:c+d.y,x2:l+d.x,y2:u+d.y,anchorPointX:h,anchorPointY:p}}ve.prototype.get=function(t){if(this.crossSourceCollisions){ return {ID:0,predicate:null}; }if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}};}return this.collisionGroups[t]};var be=function(t,e,i,o){this.transform=t.clone(),this.collisionIndex=new he(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new ve(i),this.collisionCircleArrays={},this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};};function we(t,e,i,o,r){t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0),t.emplaceBack(e?1:0,i?1:0,o||0,r||0);}be.prototype.getBucketParts=function(e,i,o,r){var a=o.getBucket(i),n=o.latestFeatureIndex;if(a&&n&&i.id===a.layerIds[0]){var s=o.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-o.tileID.overscaledZ),u=o.tileSize/t.EXTENT,h=this.transform.calculatePosMatrix(o.tileID.toUnwrapped()),p=\"map\"===l.get(\"text-pitch-alignment\"),d=\"map\"===l.get(\"text-rotation-alignment\"),_=pe(o,1,this.transform.zoom),f=Jt(h,p,d,this.transform,_),m=null;if(p){var g=Qt(h,p,d,this.transform,_);m=t.multiply([],this.transform.labelPlaneMatrix,g);}this.retainedQueryData[a.bucketInstanceId]=new ge(a.bucketInstanceId,n,a.sourceLayerIndex,a.index,o.tileID);var v={bucket:a,layout:l,posMatrix:h,textLabelPlaneMatrix:f,labelToScreenMatrix:m,scale:c,textPixelRatio:u,holdingForFade:o.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(r){ for(var y=0,x=a.sortKeyRanges;y<x.length;y+=1){var b=x[y];e.push({sortKey:b.sortKey,symbolInstanceStart:b.symbolInstanceStart,symbolInstanceEnd:b.symbolInstanceEnd,parameters:v});} }else { e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:v}); }}},be.prototype.attemptAnchorPlacement=function(t,e,i,o,r,a,n,s,l,c,u,h,p,d,_){var f,m=[h.textOffset0,h.textOffset1],g=ye(t,i,o,m,r),v=this.collisionIndex.placeCollisionBox(xe(e,g.x,g.y,a,n,this.transform.angle),u,s,l,c.predicate);if(!_||0!==this.collisionIndex.placeCollisionBox(xe(_,g.x,g.y,a,n,this.transform.angle),u,s,l,c.predicate).box.length){ return v.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(f=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:m,width:i,height:o,anchor:t,textBoxScale:r,prevAnchor:f},this.markUsedJustification(p,t,h,d),p.allowVerticalPlacement&&(this.markUsedOrientation(p,d,h),this.placedOrientations[h.crossTileID]=d),{shift:g,placedGlyphBoxes:v}):void 0 }},be.prototype.placeLayerBucketPart=function(e,i,o){var r=this,a=e.parameters,n=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,p=a.holdingForFade,d=a.collisionBoxArray,_=a.partiallyEvaluatedTextSize,f=a.collisionGroup,m=s.get(\"text-optional\"),g=s.get(\"icon-optional\"),v=s.get(\"text-allow-overlap\"),y=s.get(\"icon-allow-overlap\"),x=\"map\"===s.get(\"text-rotation-alignment\"),b=\"map\"===s.get(\"text-pitch-alignment\"),w=\"none\"!==s.get(\"icon-text-fit\"),T=\"viewport-y\"===s.get(\"symbol-z-order\"),E=v&&(y||!n.hasIconData()||g),I=y&&(v||!n.hasTextData()||m);!n.collisionArrays&&d&&n.deserializeCollisionBoxes(d);var P=function(e,a){if(!i[e.crossTileID]){ if(p){ r.placements[e.crossTileID]=new fe(!1,!1,!1); }else {var d,T=!1,P=!1,S=!0,C=null,z={box:null,offscreen:null},D={box:null,offscreen:null},A=null,M=null,L=0,R=0,k=0;a.textFeatureIndex?L=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(L=e.featureIndex),a.verticalTextFeatureIndex&&(R=a.verticalTextFeatureIndex);var B=a.textBox;if(B){var O=function(i){var o=t.WritingMode.horizontal;if(n.allowVerticalPlacement&&!i&&r.prevPlacement){var a=r.prevPlacement.placedOrientations[e.crossTileID];a&&(r.placedOrientations[e.crossTileID]=a,r.markUsedOrientation(n,o=a,e));}return o},F=function(i,o){if(n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox){ for(var r=0,s=n.writingModes;r<s.length&&(s[r]===t.WritingMode.vertical?(z=o(),D=z):z=i(),!(z&&z.box&&z.box.length));r+=1){ } }else { z=i(); }};if(s.get(\"text-variable-anchor\")){var U=s.get(\"text-variable-anchor\");if(r.prevPlacement&&r.prevPlacement.variableOffsets[e.crossTileID]){var N=r.prevPlacement.variableOffsets[e.crossTileID];U.indexOf(N.anchor)>0&&(U=U.filter((function(t){return t!==N.anchor}))).unshift(N.anchor);}var Z=function(t,i,o){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!y?i:null,p={box:[],offscreen:!1},d=v?2*U.length:U.length,_=0;_<d;++_){var m=r.attemptAnchorPlacement(U[_%U.length],t,a,s,c,x,b,h,l,f,_>=U.length,e,n,o,u);if(m&&(p=m.placedGlyphBoxes)&&p.box&&p.box.length){T=!0,C=m.shift;break}}return p};F((function(){return Z(B,a.iconBox,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&!(z&&z.box&&z.box.length)&&e.numVerticalGlyphVertices>0&&i?Z(i,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),z&&(T=z.box,S=z.offscreen);var q=O(z&&z.box);if(!T&&r.prevPlacement){var j=r.prevPlacement.variableOffsets[e.crossTileID];j&&(r.variableOffsets[e.crossTileID]=j,r.markUsedJustification(n,j.anchor,e,q));}}else {var V=function(t,i){var o=r.collisionIndex.placeCollisionBox(t,v,h,l,f.predicate);return o&&o.box&&o.box.length&&(r.markUsedOrientation(n,i,e),r.placedOrientations[e.crossTileID]=i),o};F((function(){return V(B,t.WritingMode.horizontal)}),(function(){var i=a.verticalTextBox;return n.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&i?V(i,t.WritingMode.vertical):{box:null,offscreen:null}})),O(z&&z.box&&z.box.length);}}if(T=(d=z)&&d.box&&d.box.length>0,S=d&&d.offscreen,e.useRuntimeCollisionCircles){var G=n.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(n.textSizeData,_,G),X=s.get(\"text-padding\");A=r.collisionIndex.placeCollisionCircles(v,G,n.lineVertexArray,n.glyphOffsetArray,W,l,c,u,o,b,f.predicate,e.collisionCircleDiameter,X),T=v||A.circles.length>0&&!A.collisionDetected,S=S&&A.offscreen;}if(a.iconFeatureIndex&&(k=a.iconFeatureIndex),a.iconBox){var H=function(t){var e=w&&C?xe(t,C.x,C.y,x,b,r.transform.angle):t;return r.collisionIndex.placeCollisionBox(e,y,h,l,f.predicate)};P=D&&D.box&&D.box.length&&a.verticalIconBox?(M=H(a.verticalIconBox)).box.length>0:(M=H(a.iconBox)).box.length>0,S=S&&M.offscreen;}var K=m||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,Y=g||0===e.numIconVertices;if(K||Y?Y?K||(P=P&&T):T=P&&T:P=T=P&&T,T&&d&&d.box&&r.collisionIndex.insertCollisionBox(d.box,s.get(\"text-ignore-placement\"),n.bucketInstanceId,D&&D.box&&R?R:L,f.ID),P&&M&&r.collisionIndex.insertCollisionBox(M.box,s.get(\"icon-ignore-placement\"),n.bucketInstanceId,k,f.ID),A&&(T&&r.collisionIndex.insertCollisionCircles(A.circles,s.get(\"text-ignore-placement\"),n.bucketInstanceId,L,f.ID),o)){var J=n.bucketInstanceId,Q=r.collisionCircleArrays[J];void 0===Q&&(Q=r.collisionCircleArrays[J]=new me);for(var $=0;$<A.circles.length;$+=4){ Q.circles.push(A.circles[$+0]),Q.circles.push(A.circles[$+1]),Q.circles.push(A.circles[$+2]),Q.circles.push(A.collisionDetected?1:0); }}r.placements[e.crossTileID]=new fe(T||E,P||I,S||n.justReloaded),i[e.crossTileID]=!0;} }};if(T){ for(var S=n.getSortedSymbolIndexes(this.transform.angle),C=S.length-1;C>=0;--C){var z=S[C];P(n.symbolInstances.get(z),n.collisionArrays[z]);} }else { for(var D=e.symbolInstanceStart;D<e.symbolInstanceEnd;D++){ P(n.symbolInstances.get(D),n.collisionArrays[D]); } }if(o&&n.bucketInstanceId in this.collisionCircleArrays){var A=this.collisionCircleArrays[n.bucketInstanceId];t.invert(A.invProjMatrix,l),A.viewportMatrix=this.collisionIndex.getViewportMatrix();}n.justReloaded=!1;},be.prototype.markUsedJustification=function(e,i,o,r){var a;a=r===t.WritingMode.vertical?o.verticalPlacedTextSymbolIndex:{left:o.leftJustifiedTextSymbolIndex,center:o.centerJustifiedTextSymbolIndex,right:o.rightJustifiedTextSymbolIndex}[t.getAnchorJustification(i)];for(var n=0,s=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex,o.verticalPlacedTextSymbolIndex];n<s.length;n+=1){var l=s[n];l>=0&&(e.text.placedSymbolArray.get(l).crossTileID=a>=0&&l!==a?0:o.crossTileID);}},be.prototype.markUsedOrientation=function(e,i,o){for(var r=i===t.WritingMode.horizontal||i===t.WritingMode.horizontalOnly?i:0,a=i===t.WritingMode.vertical?i:0,n=0,s=[o.leftJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.rightJustifiedTextSymbolIndex];n<s.length;n+=1){ e.text.placedSymbolArray.get(s[n]).placedOrientation=r; }o.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(o.verticalPlacedTextSymbolIndex).placedOrientation=a);},be.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var o=e?e.symbolFadeChange(t):1,r=e?e.opacities:{},a=e?e.variableOffsets:{},n=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=r[s];c?(this.opacities[s]=new _e(c,o,l.text,l.icon),i=i||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new _e(null,o,l.text,l.icon,l.skipFade),i=i||l.text||l.icon);}for(var u in r){var h=r[u];if(!this.opacities[u]){var p=new _e(h,o,!1,!1);p.isHidden()||(this.opacities[u]=p,i=i||h.text.placed||h.icon.placed);}}for(var d in a){ this.variableOffsets[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.variableOffsets[d]=a[d]); }for(var _ in n){ this.placedOrientations[_]||!this.opacities[_]||this.opacities[_].isHidden()||(this.placedOrientations[_]=n[_]); }i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);},be.prototype.updateLayerOpacities=function(t,e){for(var i={},o=0,r=e;o<r.length;o+=1){var a=r[o],n=a.getBucket(t);n&&a.latestFeatureIndex&&t.id===n.layerIds[0]&&this.updateBucketOpacities(n,i,a.collisionBoxArray);}},be.prototype.updateBucketOpacities=function(e,i,o){var r=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,n=new _e(null,0,!1,!1,!0),s=a.get(\"text-allow-overlap\"),l=a.get(\"icon-allow-overlap\"),c=a.get(\"text-variable-anchor\"),u=\"map\"===a.get(\"text-rotation-alignment\"),h=\"map\"===a.get(\"text-pitch-alignment\"),p=\"none\"!==a.get(\"icon-text-fit\"),d=new _e(null,0,s&&(l||!e.hasIconData()||a.get(\"icon-optional\")),l&&(s||!e.hasTextData()||a.get(\"text-optional\")),!0);!e.collisionArrays&&o&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(o);for(var _=function(t,e,i){for(var o=0;o<e/4;o++){ t.opacityVertexArray.emplaceBack(i); }},f=function(o){var a=e.symbolInstances.get(o),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,f=a.crossTileID,m=r.opacities[f];i[f]?m=n:m||(r.opacities[f]=m=d),i[f]=!0;var g=a.numIconVertices>0,v=r.placedOrientations[a.crossTileID],y=v===t.WritingMode.vertical,x=v===t.WritingMode.horizontal||v===t.WritingMode.horizontalOnly;if(s>0||l>0){var b=De(m.text);_(e.text,s,y?Ae:b),_(e.text,l,x?Ae:b);var w=m.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=w||y?1:0);})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=w||x?1:0);var T=r.variableOffsets[a.crossTileID];T&&r.markUsedJustification(e,T.anchor,a,v);var E=r.placedOrientations[a.crossTileID];E&&(r.markUsedJustification(e,\"left\",a,E),r.markUsedOrientation(e,E,a));}if(g){var I=De(m.icon),P=!(p&&a.verticalPlacedIconSymbolIndex&&y);a.placedIconSymbolIndex>=0&&(_(e.icon,a.numIconVertices,P?I:Ae),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=m.icon.isHidden()),a.verticalPlacedIconSymbolIndex>=0&&(_(e.icon,a.numVerticalIconVertices,P?Ae:I),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=m.icon.isHidden());}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var S=e.collisionArrays[o];if(S){var C=new t.Point(0,0);if(S.textBox||S.verticalTextBox){var z=!0;if(c){var D=r.variableOffsets[f];D?(C=ye(D.anchor,D.width,D.height,D.textOffset,D.textBoxScale),u&&C._rotate(h?r.transform.angle:-r.transform.angle)):z=!1;}S.textBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||y,C.x,C.y),S.verticalTextBox&&we(e.textCollisionBox.collisionVertexArray,m.text.placed,!z||x,C.x,C.y);}var A=Boolean(!x&&S.verticalIconBox);S.iconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,A,p?C.x:0,p?C.y:0),S.verticalIconBox&&we(e.iconCollisionBox.collisionVertexArray,m.icon.placed,!A,p?C.x:0,p?C.y:0);}}},m=0;m<e.symbolInstances.length;m++){ f(m); }if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var g=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=g.invProjMatrix,e.placementViewportMatrix=g.viewportMatrix,e.collisionCircleArray=g.circles,delete this.collisionCircleArrays[e.bucketInstanceId];}},be.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},be.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},be.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},be.prototype.stillRecent=function(t,e){var i=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*i>t},be.prototype.setStale=function(){this.stale=!0;};var Te=Math.pow(2,25),Ee=Math.pow(2,24),Ie=Math.pow(2,17),Pe=Math.pow(2,16),Se=Math.pow(2,9),Ce=Math.pow(2,8),ze=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed){ return 0; }if(1===t.opacity&&t.placed){ return 4294967295; }var e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Te+e*Ee+i*Ie+e*Pe+i*Se+e*Ce+i*ze+e}var Ae=0,Me=function(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&void 0!==t.layout.get(\"symbol-sort-key\").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];};Me.prototype.continuePlacement=function(t,e,i,o,r){for(var a=this._bucketParts;this._currentTileIndex<t.length;){ if(e.getBucketParts(a,o,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,r()){ return !0; } }for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;){ if(e.placeLayerBucketPart(a[this._currentPartIndex],this._seenCrossTileIDs,i),this._currentPartIndex++,r()){ return !0; } }return !1};var Le=function(t,e,i,o,r,a,n){this.placement=new be(t,r,a,n),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=i,this._showCollisionBoxes=o,this._done=!1;};Le.prototype.isDone=function(){return this._done},Le.prototype.continuePlacement=function(e,i,o){for(var r=this,a=t.browser.now(),n=function(){var e=t.browser.now()-a;return !r._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=i[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Me(s)),this._inProgressLayer.continuePlacement(o[s.source],this.placement,this._showCollisionBoxes,s,n)){ return; }delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;},Le.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Re=512/t.EXTENT/2,ke=function(t,e,i){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=i;for(var o=0;o<e.length;o++){var r=e.get(o),a=r.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:r.crossTileID,coord:this.getScaledCoordinates(r,t)});}};ke.prototype.getScaledCoordinates=function(e,i){var o=Re/Math.pow(2,i.canonical.z-this.tileID.canonical.z);return {x:Math.floor((i.canonical.x*t.EXTENT+e.anchorX)*o),y:Math.floor((i.canonical.y*t.EXTENT+e.anchorY)*o)}},ke.prototype.findMatches=function(t,e,i){for(var o=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),r=0;r<t.length;r++){var a=t.get(r);if(!a.crossTileID){var n=this.indexedSymbolInstances[a.key];if(n){ for(var s=this.getScaledCoordinates(a,e),l=0,c=n;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=o&&Math.abs(u.coord.y-s.y)<=o&&!i[u.crossTileID]){i[u.crossTileID]=!0,a.crossTileID=u.crossTileID;break}} }}}};var Be=function(){this.maxCrossTileID=0;};Be.prototype.generate=function(){return ++this.maxCrossTileID};var Oe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;};Oe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e){ for(var i in this.indexes){var o=this.indexes[i],r={};for(var a in o){var n=o[a];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),r[n.tileID.key]=n;}this.indexes[i]=r;} }this.lng=t;},Oe.prototype.addBucket=function(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId){ return !1; }this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(var o=0;o<e.symbolInstances.length;o++){ e.symbolInstances.get(o).crossTileID=0; }this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var r=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var n=this.indexes[a];if(Number(a)>t.overscaledZ){ for(var s in n){var l=n[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,r);} }else {var c=n[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,r);}}for(var u=0;u<e.symbolInstances.length;u++){var h=e.symbolInstances.get(u);h.crossTileID||(h.crossTileID=i.generate(),r[h.crossTileID]=!0);}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new ke(t,e.symbolInstances,e.bucketInstanceId),!0},Oe.prototype.removeBucketCrossTileIDs=function(t,e){for(var i in e.indexedSymbolInstances){ for(var o=0,r=e.indexedSymbolInstances[i];o<r.length;o+=1){ delete this.usedCrossTileIDs[t][r[o].crossTileID]; } }},Oe.prototype.removeStaleBuckets=function(t){var e=!1;for(var i in this.indexes){var o=this.indexes[i];for(var r in o){ t[o[r].bucketInstanceId]||(this.removeBucketCrossTileIDs(i,o[r]),delete o[r],e=!0); }}return e};var Fe=function(){this.layerIndexes={},this.crossTileIDs=new Be,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={};};Fe.prototype.addLayer=function(t,e,i){var o=this.layerIndexes[t.id];void 0===o&&(o=this.layerIndexes[t.id]=new Oe);var r=!1,a={};o.handleWrapJump(i);for(var n=0,s=e;n<s.length;n+=1){var l=s[n],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),o.addBucket(l.tileID,c,this.crossTileIDs)&&(r=!0),a[c.bucketInstanceId]=!0);}return o.removeStaleBuckets(a)&&(r=!0),r},Fe.prototype.pruneUnusedLayers=function(t){var e={};for(var i in t.forEach((function(t){e[t]=!0;})),this.layerIndexes){ e[i]||delete this.layerIndexes[i]; }};var Ue=function(e,i){return t.emitValidationErrors(e,i&&i.filter((function(t){return \"source.canvas\"!==t.identifier})))},Ne=t.pick(Zt,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),Ze=t.pick(Zt,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),qe=function(){var e={},i=t.styleSpec.$version;for(var o in t.styleSpec.$root){var r,a=t.styleSpec.$root[o];if(a.required){ null!=(r=\"version\"===o?i:\"array\"===a.type?[]:{})&&(e[o]=r); }}return e}(),je=function(e){function i(o,r){var a=this;void 0===r&&(r={}),e.call(this),this.map=o,this.dispatcher=new E(Ft(),this),this.imageManager=new p,this.imageManager.setEventedParent(this),this.glyphManager=new y(o._requestManager,r.localIdeographFontFamily),this.lineAtlas=new T(256,512),this.crossTileSymbolIndex=new Fe,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"setReferrer\",t.getReferrer());var n=this;this._rtlTextPluginCallback=i.registerForPluginStateChange((function(e){n.dispatcher.broadcast(\"syncRTLPluginState\",{pluginStatus:e.pluginStatus,pluginURL:e.pluginURL},(function(e,i){if(t.triggerPluginCompletionEvent(e),i&&i.every((function(t){return t}))){ for(var o in n.sourceCaches){ n.sourceCaches[o].reload(); } }}));})),this.on(\"data\",(function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var i=e.getSource();if(i&&i.vectorLayerIds){ for(var o in a._layers){var r=a._layers[o];r.source===i.id&&a._validateLayer(r);} }}}}));}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.loadURL=function(e,i){var o=this;void 0===i&&(i={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));var r=\"boolean\"==typeof i.validate?i.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,i.accessToken);var a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,i){o._request=null,e?o.fire(new t.ErrorEvent(e)):i&&o._load(i,r);}));},i.prototype.loadJSON=function(e,i){var o=this;void 0===i&&(i={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._request=t.browser.frame((function(){o._request=null,o._load(e,!1!==i.validate);}));},i.prototype.loadEmpty=function(){this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),this._load(qe,!1);},i.prototype._load=function(e,i){if(!i||!Ue(this,t.validateStyle(e))){for(var o in this._loaded=!0,this.stylesheet=e,e.sources){ this.addSource(o,e.sources[o],{validate:!1}); }e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var r=Nt(this.stylesheet.layers);this._order=r.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,n=r;a<n.length;a+=1){var s=n[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize();}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"));}},i.prototype._loadSprite=function(e){var i=this;this._spriteRequest=function(e,i,o){var r,a,n,s=t.browser.devicePixelRatio>1?\"@2x\":\"\",l=t.getJSON(i.transformRequest(i.normalizeSpriteURL(e,s,\".json\"),t.ResourceType.SpriteJSON),(function(t,e){l=null,n||(n=t,r=e,u());})),c=t.getImage(i.transformRequest(i.normalizeSpriteURL(e,s,\".png\"),t.ResourceType.SpriteImage),(function(t,e){c=null,n||(n=t,a=e,u());}));function u(){if(n){ o(n); }else if(r&&a){var e=t.browser.getImageData(a),i={};for(var s in r){var l=r[s],c=l.width,u=l.height,h=l.x,p=l.y,d=l.sdf,_=l.pixelRatio,f=l.stretchX,m=l.stretchY,g=l.content,v=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,v,{x:h,y:p},{x:0,y:0},{width:c,height:u}),i[s]={data:v,pixelRatio:_,sdf:d,stretchX:f,stretchY:m,content:g};}o(null,i);}}return {cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null);}}}(e,this.map._requestManager,(function(e,o){if(i._spriteRequest=null,e){ i.fire(new t.ErrorEvent(e)); }else if(o){ for(var r in o){ i.imageManager.addImage(r,o[r]); } }i.imageManager.setLoaded(!0),i._availableImages=i.imageManager.listImages(),i.dispatcher.broadcast(\"setImages\",i._availableImages),i.fire(new t.Event(\"data\",{dataType:\"style\"}));}));},i.prototype._validateLayer=function(e){var i=this.sourceCaches[e.source];if(i){var o=e.sourceLayer;if(o){var r=i.getSource();(\"geojson\"===r.type||r.vectorLayerIds&&-1===r.vectorLayerIds.indexOf(o))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+o+'\" does not exist on source \"'+r.id+'\" as specified by style layer \"'+e.id+'\"')));}}},i.prototype.loaded=function(){if(!this._loaded){ return !1; }if(Object.keys(this._updatedSources).length){ return !1; }for(var t in this.sourceCaches){ if(!this.sourceCaches[t].loaded()){ return !1; } }return !!this.imageManager.isLoaded()},i.prototype._serializeLayers=function(t){for(var e=[],i=0,o=t;i<o.length;i+=1){var r=this._layers[o[i]];\"custom\"!==r.type&&e.push(r.serialize());}return e},i.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition()){ return !0; }for(var t in this.sourceCaches){ if(this.sourceCaches[t].hasTransition()){ return !0; } }for(var e in this._layers){ if(this._layers[e].hasTransition()){ return !0; } }return !1},i.prototype._checkLoaded=function(){if(!this._loaded){ throw new Error(\"Style is not done loading\") }},i.prototype.update=function(e){if(this._loaded){var i=this._changed;if(this._changed){var o=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);for(var a in (o.length||r.length)&&this._updateWorkerLayers(o,r),this._updatedSources){var n=this._updatedSources[a];\"reload\"===n?this._reloadSource(a):\"clear\"===n&&this._clearSource(a);}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps){ this._layers[s].updateTransitions(e); }this.light.updateTransitions(e),this._resetUpdates();}var l={};for(var c in this.sourceCaches){var u=this.sourceCaches[c];l[c]=u.used,u.used=!1;}for(var h=0,p=this._order;h<p.length;h+=1){var d=this._layers[p[h]];d.recalculate(e,this._availableImages),!d.isHidden(e.zoom)&&d.source&&(this.sourceCaches[d.source].used=!0);}for(var _ in l){var f=this.sourceCaches[_];l[_]!==f.used&&f.fire(new t.Event(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:_}));}this.light.recalculate(e),this.z=e.zoom,i&&this.fire(new t.Event(\"data\",{dataType:\"style\"}));}},i.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches){ this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t); }this._changedImages={};}},i.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e});},i.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={};},i.prototype.setState=function(e){var i=this;if(this._checkLoaded(),Ue(this,t.validateStyle(e))){ return !1; }(e=t.clone$1(e)).layers=Nt(e.layers);var o=function(e,i){if(!e){ return [{command:Zt.setStyle,args:[i]}]; }var o=[];try{if(!t.deepEqual(e.version,i.version)){ return [{command:Zt.setStyle,args:[i]}]; }t.deepEqual(e.center,i.center)||o.push({command:Zt.setCenter,args:[i.center]}),t.deepEqual(e.zoom,i.zoom)||o.push({command:Zt.setZoom,args:[i.zoom]}),t.deepEqual(e.bearing,i.bearing)||o.push({command:Zt.setBearing,args:[i.bearing]}),t.deepEqual(e.pitch,i.pitch)||o.push({command:Zt.setPitch,args:[i.pitch]}),t.deepEqual(e.sprite,i.sprite)||o.push({command:Zt.setSprite,args:[i.sprite]}),t.deepEqual(e.glyphs,i.glyphs)||o.push({command:Zt.setGlyphs,args:[i.glyphs]}),t.deepEqual(e.transition,i.transition)||o.push({command:Zt.setTransition,args:[i.transition]}),t.deepEqual(e.light,i.light)||o.push({command:Zt.setLight,args:[i.light]});var r={},a=[];!function(e,i,o,r){var a;for(a in i=i||{},e=e||{}){ e.hasOwnProperty(a)&&(i.hasOwnProperty(a)||jt(a,o,r)); }for(a in i){ i.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.deepEqual(e[a],i[a])||(\"geojson\"===e[a].type&&\"geojson\"===i[a].type&&Gt(e,i,a)?o.push({command:Zt.setGeoJSONSourceData,args:[a,i[a].data]}):Vt(a,i,o,r)):qt(a,i,o)); }}(e.sources,i.sources,a,r);var n=[];e.layers&&e.layers.forEach((function(t){r[t.source]?o.push({command:Zt.removeLayer,args:[t.id]}):n.push(t);})),o=o.concat(a),function(e,i,o){i=i||[];var r,a,n,s,l,c,u,h=(e=e||[]).map(Xt),p=i.map(Xt),d=e.reduce(Ht,{}),_=i.reduce(Ht,{}),f=h.slice(),m=Object.create(null);for(r=0,a=0;r<h.length;r++){ _.hasOwnProperty(n=h[r])?a++:(o.push({command:Zt.removeLayer,args:[n]}),f.splice(f.indexOf(n,a),1)); }for(r=0,a=0;r<p.length;r++){ f[f.length-1-r]!==(n=p[p.length-1-r])&&(d.hasOwnProperty(n)?(o.push({command:Zt.removeLayer,args:[n]}),f.splice(f.lastIndexOf(n,f.length-a),1)):a++,o.push({command:Zt.addLayer,args:[_[n],c=f[f.length-r]]}),f.splice(f.length-r,0,n),m[n]=!0); }for(r=0;r<p.length;r++){ if(s=d[n=p[r]],l=_[n],!m[n]&&!t.deepEqual(s,l)){ if(t.deepEqual(s.source,l.source)&&t.deepEqual(s[\"source-layer\"],l[\"source-layer\"])&&t.deepEqual(s.type,l.type)){for(u in Wt(s.layout,l.layout,o,n,null,Zt.setLayoutProperty),Wt(s.paint,l.paint,o,n,null,Zt.setPaintProperty),t.deepEqual(s.filter,l.filter)||o.push({command:Zt.setFilter,args:[n,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||o.push({command:Zt.setLayerZoomRange,args:[n,l.minzoom,l.maxzoom]}),s){ s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Wt(s[u],l[u],o,n,u.slice(6),Zt.setPaintProperty):t.deepEqual(s[u],l[u])||o.push({command:Zt.setLayerProperty,args:[n,u,l[u]]})); }for(u in l){ l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?Wt(s[u],l[u],o,n,u.slice(6),Zt.setPaintProperty):t.deepEqual(s[u],l[u])||o.push({command:Zt.setLayerProperty,args:[n,u,l[u]]})); }}else { o.push({command:Zt.removeLayer,args:[n]}),c=f[f.lastIndexOf(n)+1],o.push({command:Zt.addLayer,args:[l,c]}); } } }}(n,i.layers,o);}catch(t$1){console.warn(\"Unable to compute style diff:\",t$1),o=[{command:Zt.setStyle,args:[i]}];}return o}(this.serialize(),e).filter((function(t){return !(t.command in Ze)}));if(0===o.length){ return !1; }var r=o.filter((function(t){return !(t.command in Ne)}));if(r.length>0){ throw new Error(\"Unimplemented: \"+r.map((function(t){return t.command})).join(\", \")+\".\"); }return o.forEach((function(t){\"setTransition\"!==t.command&&i[t.command].apply(i,t.args);})),this.stylesheet=e,!0},i.prototype.addImage=function(e,i){if(this.getImage(e)){ return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\"))); }this.imageManager.addImage(e,i),this._afterImageUpdated(e);},i.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e);},i.prototype.getImage=function(t){return this.imageManager.getImage(t)},i.prototype.removeImage=function(e){if(!this.getImage(e)){ return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\"))); }this.imageManager.removeImage(e),this._afterImageUpdated(e);},i.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new t.Event(\"data\",{dataType:\"style\"}));},i.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},i.prototype.addSource=function(e,i,o){var r=this;if(void 0===o&&(o={}),this._checkLoaded(),void 0!==this.sourceCaches[e]){ throw new Error(\"There is already a source with this ID\"); }if(!i.type){ throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys(i).join(\", \")+\".\"); }if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,i,null,o))){this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Dt(e,i,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return {isSourceLoaded:r.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0;}},i.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e]){ throw new Error(\"There is no source with this ID\"); }for(var i in this._layers){ if(this._layers[i].source===e){ return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+i+'\" is using it.'))); } }var o=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],o.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),o.setEventedParent(null),o.clearTiles(),o.onRemove&&o.onRemove(this.map),this._changed=!0;},i.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0;},i.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},i.prototype.addLayer=function(e,i,o){void 0===o&&(o={}),this._checkLoaded();var r=e.id;if(this.getLayer(r)){ this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" already exists on this map'))); }else {var a;if(\"custom\"===e.type){if(Ue(this,t.validateCustomStyleLayer(e))){ return; }a=t.createStyleLayer(e);}else {if(\"object\"==typeof e.source&&(this.addSource(r,e.source),e=t.clone$1(e),e=t.extend(e,{source:r})),this._validate(t.validateStyle.layer,\"layers.\"+r,e,{arrayIndex:-1},o)){ return; }a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:r}}),this._serializedLayers[a.id]=a.serialize();}var n=i?this._order.indexOf(i):this._order.length;if(i&&-1===n){ this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" does not exist on this map.'))); }else {if(this._order.splice(n,0,r),this._layerOrderChanged=!0,this._layers[r]=a,this._removedLayers[r]&&a.source&&\"custom\"!==a.type){var s=this._removedLayers[r];delete this._removedLayers[r],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause());}this._updateLayer(a),a.onAdd&&a.onAdd(this.map);}}},i.prototype.moveLayer=function(e,i){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==i){var o=this._order.indexOf(e);this._order.splice(o,1);var r=i?this._order.indexOf(i):this._order.length;i&&-1===r?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" does not exist on this map.'))):(this._order.splice(r,0,e),this._layerOrderChanged=!0);}}else { this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\"))); }},i.prototype.removeLayer=function(e){this._checkLoaded();var i=this._layers[e];if(i){i.setEventedParent(null);var o=this._order.indexOf(e);this._order.splice(o,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=i,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],i.onRemove&&i.onRemove(this.map);}else { this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\"))); }},i.prototype.getLayer=function(t){return this._layers[t]},i.prototype.hasLayer=function(t){return t in this._layers},i.prototype.setLayerZoomRange=function(e,i,o){this._checkLoaded();var r=this.getLayer(e);r?r.minzoom===i&&r.maxzoom===o||(null!=i&&(r.minzoom=i),null!=o&&(r.maxzoom=o),this._updateLayer(r)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")));},i.prototype.setFilter=function(e,i,o){void 0===o&&(o={}),this._checkLoaded();var r=this.getLayer(e);if(r){if(!t.deepEqual(r.filter,i)){ return null==i?(r.filter=void 0,void this._updateLayer(r)):void(this._validate(t.validateStyle.filter,\"layers.\"+r.id+\".filter\",i,null,o)||(r.filter=t.clone$1(i),this._updateLayer(r))) }}else { this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\"))); }},i.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},i.prototype.setLayoutProperty=function(e,i,o,r){void 0===r&&(r={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(i),o)||(a.setLayoutProperty(i,o,r),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")));},i.prototype.getLayoutProperty=function(e,i){var o=this.getLayer(e);if(o){ return o.getLayoutProperty(i); }this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style.\")));},i.prototype.setPaintProperty=function(e,i,o,r){void 0===r&&(r={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(i),o)||(a.setPaintProperty(i,o,r)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")));},i.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},i.prototype.setFeatureState=function(e,i){this._checkLoaded();var o=e.source,r=e.sourceLayer,a=this.sourceCaches[o];if(void 0!==a){var n=a.getSource().type;\"geojson\"===n&&r?this.fire(new t.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==n||r?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),a.setFeatureState(r,e.id,i)):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else { this.fire(new t.ErrorEvent(new Error(\"The source '\"+o+\"' does not exist in the map's style.\"))); }},i.prototype.removeFeatureState=function(e,i){this._checkLoaded();var o=e.source,r=this.sourceCaches[o];if(void 0!==r){var a=r.getSource().type,n=\"vector\"===a?e.sourceLayer:void 0;\"vector\"!==a||n?i&&\"string\"!=typeof e.id&&\"number\"!=typeof e.id?this.fire(new t.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\"))):r.removeFeatureState(n,e.id,i):this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else { this.fire(new t.ErrorEvent(new Error(\"The source '\"+o+\"' does not exist in the map's style.\"))); }},i.prototype.getFeatureState=function(e){this._checkLoaded();var i=e.source,o=e.sourceLayer,r=this.sourceCaches[i];if(void 0!==r){if(\"vector\"!==r.getSource().type||o){ return void 0===e.id&&this.fire(new t.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),r.getFeatureState(o,e.id); }this.fire(new t.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}else { this.fire(new t.ErrorEvent(new Error(\"The source '\"+i+\"' does not exist in the map's style.\"))); }},i.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},i.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},i.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0;},i.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,i=function(t){return \"fill-extrusion\"===e._layers[t].type},o={},r=[],a=this._order.length-1;a>=0;a--){var n=this._order[a];if(i(n)){o[n]=a;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][n];if(c){ for(var u=0,h=c;u<h.length;u+=1){ r.push(h[u]); } }}}}r.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var p=[],d=this._order.length-1;d>=0;d--){var _=this._order[d];if(i(_)){ for(var f=r.length-1;f>=0;f--){var m=r[f].feature;if(o[m.layer.id]<d){ break; }p.push(m),r.pop();} }else { for(var g=0,v=t;g<v.length;g+=1){var y=v[g][_];if(y){ for(var x=0,b=y;x<b.length;x+=1){ p.push(b[x].feature); } }} }}return p},i.prototype.queryRenderedFeatures=function(e,i,o){i&&i.filter&&this._validate(t.validateStyle.filter,\"queryRenderedFeatures.filter\",i.filter,null,i);var r={};if(i&&i.layers){if(!Array.isArray(i.layers)){ return this.fire(new t.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[]; }for(var a=0,n=i.layers;a<n.length;a+=1){var s=n[a],l=this._layers[s];if(!l){ return this.fire(new t.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[]; }r[l.source]=!0;}}var c=[];for(var u in i.availableImages=this._availableImages,this.sourceCaches){ i.layers&&!r[u]||c.push(O(this.sourceCaches[u],this._layers,this._serializedLayers,e,i,o)); }return this.placement&&c.push(function(t,e,i,o,r,a,n){for(var s={},l=a.queryRenderedSymbols(o),c=[],u=0,h=Object.keys(l).map(Number);u<h.length;u+=1){ c.push(n[h[u]]); }c.sort(F);for(var p=function(){var i=_[d],o=i.featureIndex.lookupSymbolFeatures(l[i.bucketInstanceId],e,i.bucketIndex,i.sourceLayerIndex,r.filter,r.layers,r.availableImages,t);for(var a in o){var n=s[a]=s[a]||[],c=o[a];c.sort((function(t,e){var o=i.featureSortOrder;if(o){var r=o.indexOf(t.featureIndex);return o.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(var u=0,h=c;u<h.length;u+=1){ n.push(h[u]); }}},d=0,_=c;d<_.length;d+=1){ p(); }var f=function(e){s[e].forEach((function(o){var r=o.feature,a=i[t[e].source].getFeatureState(r.layer[\"source-layer\"],r.id);r.source=r.layer.source,r.layer[\"source-layer\"]&&(r.sourceLayer=r.layer[\"source-layer\"]),r.state=a;}));};for(var m in s){ f(m); }return s}(this._layers,this._serializedLayers,this.sourceCaches,e,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},i.prototype.querySourceFeatures=function(e,i){i&&i.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",i.filter,null,i);var o=this.sourceCaches[e];return o?function(t,e){for(var i=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),o=[],r={},a=0;a<i.length;a++){var n=i[a],s=n.tileID.canonical.key;r[s]||(r[s]=!0,n.querySourceFeatures(o,e));}return o}(o,i):[]},i.prototype.addSourceType=function(t,e,o){return i.getSourceType(t)?o(new Error('A source type called \"'+t+'\" already exists.')):(i.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},o):o(null,null))},i.prototype.getLight=function(){return this.light.getLight()},i.prototype.setLight=function(e,i){void 0===i&&(i={}),this._checkLoaded();var o=this.light.getLight(),r=!1;for(var a in e){ if(!t.deepEqual(e[a],o[a])){r=!0;break} }if(r){var n={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,i),this.light.updateTransitions(n);}},i.prototype._validate=function(e,i,o,r,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&Ue(this,e.call(t.validateStyle,t.extend({key:i,style:this.serialize(),value:o,styleSpec:t.styleSpec},r)))},i.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off(\"pluginStateChange\",this._rtlTextPluginCallback),this._layers){ this._layers[e].setEventedParent(null); }for(var i in this.sourceCaches){ this.sourceCaches[i].clearTiles(),this.sourceCaches[i].setEventedParent(null); }this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove();},i.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles();},i.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload();},i.prototype._updateSources=function(t){for(var e in this.sourceCaches){ this.sourceCaches[e].update(t); }},i.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches){ this._reloadSource(t); }},i.prototype._updatePlacement=function(e,i,o,r,a){void 0===a&&(a=!1);for(var n=!1,s=!1,l={},c=0,u=this._order;c<u.length;c+=1){var h=this._layers[u[c]];if(\"symbol\"===h.type){if(!l[h.source]){var p=this.sourceCaches[h.source];l[h.source]=p.getRenderableIds(!0).map((function(t){return p.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}));}var d=this.crossTileSymbolIndex.addLayer(h,l[h.source],e.center.lng);n=n||d;}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===o)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new Le(e,this._order,a,i,o,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),s=!0),n&&this.pauseablePlacement.placement.setStale()),s||n){ for(var _=0,f=this._order;_<f.length;_+=1){var m=this._layers[f[_]];\"symbol\"===m.type&&this.placement.updateLayerOpacities(m,l[m.source]);} }return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},i.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches){ this.sourceCaches[t].releaseSymbolFadeTiles(); }},i.prototype.getImages=function(t,e,i){this.imageManager.getImages(e.icons,i),this._updateTilesForChangedImages();var o=this.sourceCaches[e.source];o&&o.setDependencies(e.tileID.key,e.type,e.icons);},i.prototype.getGlyphs=function(t,e,i){this.glyphManager.getGlyphs(e.stacks,i);},i.prototype.getResource=function(e,i,o){return t.makeRequest(i,o)},i}(t.Evented);je.getSourceType=function(t){return k[t]},je.setSourceType=function(t,e){k[t]=e;},je.registerForPluginStateChange=t.registerForPluginStateChange;var Ve=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Ge=gi(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\"),We=gi(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Xe=gi(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),He=gi(\"varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),Ke=gi(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),Ye=gi(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),Je=gi(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),Qe=gi(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),$e=gi(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),ti=gi(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\"),ei=gi(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),ii=gi(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),oi=gi(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),ri=gi(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),ai=gi(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),ni=gi(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),si=gi(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),li=gi(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),ci=gi(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),ui=gi(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}\"),hi=gi(\"uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),pi=gi(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),di=gi(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),_i=gi(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}\"),fi=gi(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),mi=gi(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\");function gi(t,e){var i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,o=e.match(/attribute ([\\w]+) ([\\w]+)/g),r=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),a=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),n=a?a.concat(r):r,s={};return {fragmentSource:t=t.replace(i,(function(t,e,i,o,r){return s[r]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nvarying \"+i+\" \"+o+\" \"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\"})),vertexSource:e=e.replace(i,(function(t,e,i,o,r){var a=\"float\"===o?\"vec2\":\"vec4\",n=r.match(/color/)?\"color\":a;return s[r]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nuniform lowp float u_\"+r+\"_t;\\nattribute \"+i+\" \"+a+\" a_\"+r+\";\\nvarying \"+i+\" \"+o+\" \"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"vec4\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+r+\" = a_\"+r+\";\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+r+\" = unpack_mix_\"+n+\"(a_\"+r+\", u_\"+r+\"_t);\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\nuniform lowp float u_\"+r+\"_t;\\nattribute \"+i+\" \"+a+\" a_\"+r+\";\\n#else\\nuniform \"+i+\" \"+o+\" u_\"+r+\";\\n#endif\\n\":\"vec4\"===n?\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = a_\"+r+\";\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+r+\"\\n \"+i+\" \"+o+\" \"+r+\" = unpack_mix_\"+n+\"(a_\"+r+\", u_\"+r+\"_t);\\n#else\\n \"+i+\" \"+o+\" \"+r+\" = u_\"+r+\";\\n#endif\\n\"})),staticAttributes:o,staticUniforms:n}}var vi=Object.freeze({__proto__:null,prelude:Ge,background:We,backgroundPattern:Xe,circle:He,clippingMask:Ke,heatmap:Ye,heatmapTexture:Je,collisionBox:Qe,collisionCircle:$e,debug:ti,fill:ei,fillOutline:ii,fillOutlinePattern:oi,fillPattern:ri,fillExtrusion:ai,fillExtrusionPattern:ni,hillshadePrepare:si,hillshade:li,line:ci,lineGradient:ui,linePattern:hi,lineSDF:pi,raster:di,symbolIcon:_i,symbolSDF:fi,symbolTextAndIcon:mi}),yi=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;};function xi(t){for(var e=[],i=0;i<t.length;i++){ if(null!==t[i]){var o=t[i].split(\" \");e.push(o.pop());} }return e}yi.prototype.bind=function(t,e,i,o,r,a,n,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==o.length,c=0;!l&&c<o.length;c++){ this.boundPaintVertexBuffers[c]!==o[c]&&(l=!0); }t.extVertexArrayObject&&this.vao&&this.boundProgram===e&&this.boundLayoutVertexBuffer===i&&!l&&this.boundIndexBuffer===r&&this.boundVertexOffset===a&&this.boundDynamicVertexBuffer===n&&this.boundDynamicVertexBuffer2===s?(t.bindVertexArrayOES.set(this.vao),n&&n.bind(),r&&r.dynamicDraw&&r.bind(),s&&s.bind()):this.freshBind(e,i,o,r,a,n,s);},yi.prototype.freshBind=function(t,e,i,o,r,a,n){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject){ this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=i,this.boundIndexBuffer=o,this.boundVertexOffset=r,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=n; }else {s=c.currentNumAttributes||0;for(var h=l;h<s;h++){ u.disableVertexAttribArray(h); }}e.enableAttributes(u,t);for(var p=0,d=i;p<d.length;p+=1){ d[p].enableAttributes(u,t); }a&&a.enableAttributes(u,t),n&&n.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,r);for(var _=0,f=i;_<f.length;_+=1){var m=f[_];m.bind(),m.setVertexAttribPointers(u,t,r);}a&&(a.bind(),a.setVertexAttribPointers(u,t,r)),o&&o.bind(),n&&(n.bind(),n.setVertexAttribPointers(u,t,r)),c.currentNumAttributes=l;},yi.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null);};var bi=function(t,e,i,o,r,a){var n=t.gl;this.program=n.createProgram();for(var s=xi(i.staticAttributes),l=o?o.getBinderAttributes():[],c=s.concat(l),u=i.staticUniforms?xi(i.staticUniforms):[],h=o?o.getBinderUniforms():[],p=[],d=0,_=u.concat(h);d<_.length;d+=1){var f=_[d];p.indexOf(f)<0&&p.push(f);}var m=o?o.defines():[];a&&m.push(\"#define OVERDRAW_INSPECTOR;\");var g=m.concat(Ge.fragmentSource,i.fragmentSource).join(\"\\n\"),v=m.concat(Ge.vertexSource,i.vertexSource).join(\"\\n\"),y=n.createShader(n.FRAGMENT_SHADER);if(n.isContextLost()){ this.failedToCreate=!0; }else {n.shaderSource(y,g),n.compileShader(y),n.attachShader(this.program,y);var x=n.createShader(n.VERTEX_SHADER);if(n.isContextLost()){ this.failedToCreate=!0; }else {n.shaderSource(x,v),n.compileShader(x),n.attachShader(this.program,x),this.attributes={};var b={};this.numAttributes=c.length;for(var w=0;w<this.numAttributes;w++){ c[w]&&(n.bindAttribLocation(this.program,w,c[w]),this.attributes[c[w]]=w); }n.linkProgram(this.program),n.deleteShader(x),n.deleteShader(y);for(var T=0;T<p.length;T++){var E=p[T];if(E&&!b[E]){var I=n.getUniformLocation(this.program,E);I&&(b[E]=I);}}this.fixedUniforms=r(t,b),this.binderUniforms=o?o.getUniforms(t,b):[];}}};function wi(t,e,i){var o=1/pe(i,1,e.transform.tileZoom),r=Math.pow(2,i.tileID.overscaledZ),a=i.tileSize*Math.pow(2,e.transform.tileZoom)/r,n=a*(i.tileID.canonical.x+i.tileID.wrap*r),s=a*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[o,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[n>>16,s>>16],u_pixel_coord_lower:[65535&n,65535&s]}}bi.prototype.draw=function(t,e,i,o,r,a,n,s,l,c,u,h,p,d,_,f){var m,g=t.gl;if(!this.failedToCreate){for(var v in t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(o),t.setColorMode(r),t.setCullFace(a),this.fixedUniforms){ this.fixedUniforms[v].set(n[v]); }d&&d.setUniforms(t,this.binderUniforms,h,{zoom:p});for(var y=(m={},m[g.LINES]=2,m[g.TRIANGLES]=3,m[g.LINE_STRIP]=1,m)[e],x=0,b=u.get();x<b.length;x+=1){var w=b[x],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new yi)).bind(t,this,l,d?d.getPaintVertexBuffers():[],c,w.vertexOffset,_,f),g.drawElements(e,w.primitiveLength*y,g.UNSIGNED_SHORT,w.primitiveOffset*y*2);}}};var Ti=function(e,i,o,r){var a=i.style.light,n=a.properties.get(\"position\"),s=[n.x,n.y,n.z],l=t.create$1();\"viewport\"===a.properties.get(\"anchor\")&&t.fromRotation(l,-i.transform.angle),t.transformMat3(s,s,l);var c=a.properties.get(\"color\");return {u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get(\"intensity\"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+o,u_opacity:r}},Ei=function(e,i,o,r,a,n,s){return t.extend(Ti(e,i,o,r),wi(n,i,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Ii=function(t){return {u_matrix:t}},Pi=function(e,i,o,r){return t.extend(Ii(e),wi(o,i,r))},Si=function(t,e){return {u_matrix:t,u_world:e}},Ci=function(e,i,o,r,a){return t.extend(Pi(e,i,o,r),{u_world:a})},zi=function(e,i,o,r){var a,n,s=e.transform;if(\"map\"===r.paint.get(\"circle-pitch-alignment\")){var l=pe(o,1,s.zoom);a=!0,n=[l,l];}else { a=!1,n=s.pixelsToGLUnits; }return {u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===r.paint.get(\"circle-pitch-scale\")),u_matrix:e.translatePosMatrix(i.posMatrix,o,r.paint.get(\"circle-translate\"),r.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:n}},Di=function(t,e,i){var o=pe(i,1,e.zoom),r=Math.pow(2,e.zoom-i.tileID.overscaledZ),a=i.tileID.overscaleFactor();return {u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:o,u_extrude_scale:[e.pixelsToGLUnits[0]/(o*r),e.pixelsToGLUnits[1]/(o*r)],u_overscale_factor:a}},Ai=function(t,e,i){return {u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}},Mi=function(t,e,i){return void 0===i&&(i=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}},Li=function(t){return {u_matrix:t}},Ri=function(t,e,i,o){return {u_matrix:t,u_extrude_scale:pe(e,1,i),u_intensity:o}},ki=function(e,i,o){var r=e.transform;return {u_matrix:Ni(e,i,o),u_ratio:1/pe(i,1,r.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/r.pixelsToGLUnits[0],1/r.pixelsToGLUnits[1]]}},Bi=function(e,i,o,r){return t.extend(ki(e,i,o),{u_image:0,u_image_height:r})},Oi=function(e,i,o,r){var a=e.transform,n=Ui(i,a);return {u_matrix:Ni(e,i,o),u_texsize:i.imageAtlasTexture.size,u_ratio:1/pe(i,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[n,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Fi=function(e,i,o,r,a){var n=e.lineAtlas,s=Ui(i,e.transform),l=\"round\"===o.layout.get(\"line-cap\"),c=n.getDash(r.from,l),u=n.getDash(r.to,l),h=c.width*a.fromScale,p=u.width*a.toScale;return t.extend(ki(e,i,o),{u_patternscale_a:[s/h,-c.height/2],u_patternscale_b:[s/p,-u.height/2],u_sdfgamma:n.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:a.t})};function Ui(t,e){return 1/pe(t,1,e.tileZoom)}function Ni(t,e,i){return t.translatePosMatrix(e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}var Zi=function(t,e,i,o,r){return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:o.mix,u_opacity:o.opacity*r.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get(\"raster-brightness-min\"),u_brightness_high:r.paint.get(\"raster-brightness-max\"),u_saturation_factor:(n=r.paint.get(\"raster-saturation\"),n>0?1-1/(1.001-n):-n),u_contrast_factor:(a=r.paint.get(\"raster-contrast\"),a>0?1/(1-a):1+a),u_spin_weights:qi(r.paint.get(\"raster-hue-rotate\"))};var a,n;};function qi(t){t*=Math.PI/180;var e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}var ji,Vi=function(t,e,i,o,r,a,n,s,l,c){var u=r.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:u.width/u.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:n,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+o,u_texsize:c,u_texture:0}},Gi=function(e,i,o,r,a,n,s,l,c,u,h){var p=a.transform;return t.extend(Vi(e,i,o,r,a,n,s,l,c,u),{u_gamma_scale:r?Math.cos(p._pitch)*p.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Wi=function(e,i,o,r,a,n,s,l,c,u){return t.extend(Gi(e,i,o,r,a,n,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},Xi=function(t,e,i){return {u_matrix:t,u_opacity:e,u_color:i}},Hi=function(e,i,o,r,a,n){return t.extend(function(t,e,i,o){var r=i.imageManager.getPattern(t.from.toString()),a=i.imageManager.getPattern(t.to.toString()),n=i.imageManager.getPixelSize(),s=n.width,l=n.height,c=Math.pow(2,o.tileID.overscaledZ),u=o.tileSize*Math.pow(2,i.transform.tileZoom)/c,h=u*(o.tileID.canonical.x+o.tileID.wrap*c),p=u*o.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:r.tl,u_pattern_br_a:r.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:r.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/pe(o,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,p>>16],u_pixel_coord_lower:[65535&h,65535&p]}}(r,n,o,a),{u_matrix:e,u_opacity:i})},Ki={fillExtrusion:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fillExtrusionPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_lightpos:new t.Uniform3f(e,i.u_lightpos),u_lightintensity:new t.Uniform1f(e,i.u_lightintensity),u_lightcolor:new t.Uniform3f(e,i.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,i.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,i.u_height_factor),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade),u_opacity:new t.Uniform1f(e,i.u_opacity)}},fill:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},fillPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},fillOutline:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world)}},fillOutlinePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_texsize:new t.Uniform2f(e,i.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},circle:function(e,i){return {u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,i.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},collisionBox:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,i.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,i.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,i.u_overscale_factor)}},collisionCircle:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,i.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,i.u_viewport_size)}},debug:function(e,i){return {u_color:new t.UniformColor(e,i.u_color),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_overlay:new t.Uniform1i(e,i.u_overlay),u_overlay_scale:new t.Uniform1f(e,i.u_overlay_scale)}},clippingMask:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmap:function(e,i){return {u_extrude_scale:new t.Uniform1f(e,i.u_extrude_scale),u_intensity:new t.Uniform1f(e,i.u_intensity),u_matrix:new t.UniformMatrix4f(e,i.u_matrix)}},heatmapTexture:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_world:new t.Uniform2f(e,i.u_world),u_image:new t.Uniform1i(e,i.u_image),u_color_ramp:new t.Uniform1i(e,i.u_color_ramp),u_opacity:new t.Uniform1f(e,i.u_opacity)}},hillshade:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_latrange:new t.Uniform2f(e,i.u_latrange),u_light:new t.Uniform2f(e,i.u_light),u_shadow:new t.UniformColor(e,i.u_shadow),u_highlight:new t.UniformColor(e,i.u_highlight),u_accent:new t.UniformColor(e,i.u_accent)}},hillshadePrepare:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_image:new t.Uniform1i(e,i.u_image),u_dimension:new t.Uniform2f(e,i.u_dimension),u_zoom:new t.Uniform1f(e,i.u_zoom),u_unpack:new t.Uniform4f(e,i.u_unpack)}},line:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels)}},lineGradient:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_image:new t.Uniform1i(e,i.u_image),u_image_height:new t.Uniform1f(e,i.u_image_height)}},linePattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_texsize:new t.Uniform2f(e,i.u_texsize),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_image:new t.Uniform1i(e,i.u_image),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_scale:new t.Uniform3f(e,i.u_scale),u_fade:new t.Uniform1f(e,i.u_fade)}},lineSDF:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_ratio:new t.Uniform1f(e,i.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,i.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,i.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,i.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,i.u_sdfgamma),u_image:new t.Uniform1i(e,i.u_image),u_tex_y_a:new t.Uniform1f(e,i.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,i.u_tex_y_b),u_mix:new t.Uniform1f(e,i.u_mix)}},raster:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_tl_parent:new t.Uniform2f(e,i.u_tl_parent),u_scale_parent:new t.Uniform1f(e,i.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,i.u_buffer_scale),u_fade_t:new t.Uniform1f(e,i.u_fade_t),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image0:new t.Uniform1i(e,i.u_image0),u_image1:new t.Uniform1i(e,i.u_image1),u_brightness_low:new t.Uniform1f(e,i.u_brightness_low),u_brightness_high:new t.Uniform1f(e,i.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,i.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,i.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,i.u_spin_weights)}},symbolIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture)}},symbolSDF:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texture:new t.Uniform1i(e,i.u_texture),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},symbolTextAndIcon:function(e,i){return {u_is_size_zoom_constant:new t.Uniform1i(e,i.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,i.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,i.u_size_t),u_size:new t.Uniform1f(e,i.u_size),u_camera_to_center_distance:new t.Uniform1f(e,i.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,i.u_pitch),u_rotate_symbol:new t.Uniform1i(e,i.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,i.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,i.u_fade_change),u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,i.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,i.u_coord_matrix),u_is_text:new t.Uniform1i(e,i.u_is_text),u_pitch_with_map:new t.Uniform1i(e,i.u_pitch_with_map),u_texsize:new t.Uniform2f(e,i.u_texsize),u_texsize_icon:new t.Uniform2f(e,i.u_texsize_icon),u_texture:new t.Uniform1i(e,i.u_texture),u_texture_icon:new t.Uniform1i(e,i.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,i.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,i.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,i.u_is_halo)}},background:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_color:new t.UniformColor(e,i.u_color)}},backgroundPattern:function(e,i){return {u_matrix:new t.UniformMatrix4f(e,i.u_matrix),u_opacity:new t.Uniform1f(e,i.u_opacity),u_image:new t.Uniform1i(e,i.u_image),u_pattern_tl_a:new t.Uniform2f(e,i.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,i.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,i.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,i.u_pattern_br_b),u_texsize:new t.Uniform2f(e,i.u_texsize),u_mix:new t.Uniform1f(e,i.u_mix),u_pattern_size_a:new t.Uniform2f(e,i.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,i.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,i.u_scale_a),u_scale_b:new t.Uniform1f(e,i.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,i.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,i.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,i.u_tile_units_to_pixels)}}};function Yi(e,i,o,r,a,n,s){for(var l=e.context,c=l.gl,u=e.useProgram(\"collisionBox\"),h=[],p=0,d=0,_=0;_<r.length;_++){var f=r[_],m=i.getTile(f),g=m.getBucket(o);if(g){var v=f.posMatrix;0===a[0]&&0===a[1]||(v=e.translatePosMatrix(f.posMatrix,m,a,n));var y=s?g.textCollisionBox:g.iconCollisionBox,x=g.collisionCircleArray;if(x.length>0){var b=t.create(),w=v;t.mul(b,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(b,b,g.placementViewportMatrix),h.push({circleArray:x,circleOffset:d,transform:w,invTransform:b}),d=p+=x.length/4;}y&&u.draw(l,c.LINES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,Di(v,e.transform,m),o.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer);}}if(s&&h.length){var T=e.useProgram(\"collisionCircle\"),E=new t.StructArrayLayout2f1f2i16;E.resize(4*p),E._trim();for(var I=0,P=0,S=h;P<S.length;P+=1){ for(var C=S[P],z=0;z<C.circleArray.length/4;z++){var D=4*z,A=C.circleArray[D+0],M=C.circleArray[D+1],L=C.circleArray[D+2],R=C.circleArray[D+3];E.emplace(I++,A,M,L,R,0),E.emplace(I++,A,M,L,R,1),E.emplace(I++,A,M,L,R,2),E.emplace(I++,A,M,L,R,3);} }(!ji||ji.length<2*p)&&(ji=function(e){var i=2*e,o=new t.StructArrayLayout3ui6;o.resize(i),o._trim();for(var r=0;r<i;r++){var a=6*r;o.uint16[a+0]=4*r+0,o.uint16[a+1]=4*r+1,o.uint16[a+2]=4*r+2,o.uint16[a+3]=4*r+2,o.uint16[a+4]=4*r+3,o.uint16[a+5]=4*r+0;}return o}(p));for(var k=l.createIndexBuffer(ji,!0),B=l.createVertexBuffer(E,t.collisionCircleLayout.members,!0),O=0,F=h;O<F.length;O+=1){var U=F[O],N=Ai(U.transform,U.invTransform,e.transform);T.draw(l,c.TRIANGLES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,N,o.id,B,k,t.SegmentVector.simpleSegment(0,2*U.circleOffset,U.circleArray.length,U.circleArray.length/2),null,e.transform.zoom,null,null,null);}B.destroy(),k.destroy();}}var Ji=t.identity(new Float32Array(16));function Qi(e,i,o,r,a,n){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*i,c=-(s.verticalAlign-.5)*o,u=t.evaluateVariableOffset(e,r);return new t.Point((l/a+u[0])*n,(c/a+u[1])*n)}function $i(e,i,o,r,a,n,s,l,c,u,h){var p=e.text.placedSymbolArray,d=e.text.dynamicLayoutVertexArray,_=e.icon.dynamicLayoutVertexArray,f={};d.clear();for(var m=0;m<p.length;m++){var g=p.get(m),v=g.hidden||!g.crossTileID||e.allowVerticalPlacement&&!g.placedOrientation?null:r[g.crossTileID];if(v){var y=new t.Point(g.anchorX,g.anchorY),x=$t(y,o?l:s),b=te(n.cameraToCenterDistance,x.signedDistanceFromCamera),w=a.evaluateSizeForFeature(e.textSizeData,u,g)*b/t.ONE_EM;o&&(w*=e.tilePixelRatio/c);for(var T=Qi(v.anchor,v.width,v.height,v.textOffset,v.textBoxScale,w),E=o?$t(y.add(T),s).point:x.point.add(i?T.rotate(-n.angle):T),I=e.allowVerticalPlacement&&g.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,P=0;P<g.numGlyphs;P++){ t.addDynamicAttributes(d,E,I); }h&&g.associatedIconIndex>=0&&(f[g.associatedIconIndex]={shiftedAnchor:E,angle:I});}else { ce(g.numGlyphs,d); }}if(h){_.clear();for(var S=e.icon.placedSymbolArray,C=0;C<S.length;C++){var z=S.get(C);if(z.hidden){ ce(z.numGlyphs,_); }else {var D=f[C];if(D){ for(var A=0;A<z.numGlyphs;A++){ t.addDynamicAttributes(_,D.shiftedAnchor,D.angle); } }else { ce(z.numGlyphs,_); }}}e.icon.dynamicLayoutVertexBuffer.updateData(_);}e.text.dynamicLayoutVertexBuffer.updateData(d);}function to(t,e,i){return i.iconsInText&&e?\"symbolTextAndIcon\":t?\"symbolSDF\":\"symbolIcon\"}function eo(e,i,o,r,a,n,s,l,c,u,h,p){for(var d=e.context,_=d.gl,f=e.transform,m=\"map\"===l,g=\"map\"===c,v=m&&\"point\"!==o.layout.get(\"symbol-placement\"),y=m&&!g&&!v,x=void 0!==o.layout.get(\"symbol-sort-key\").constantOr(1),b=!1,w=e.depthModeForSublayer(0,It.ReadOnly),T=o.layout.get(\"text-variable-anchor\"),E=[],I=0,P=r;I<P.length;I+=1){var S=P[I],C=i.getTile(S),z=C.getBucket(o);if(z){var D=a?z.text:z.icon;if(D&&D.segments.get().length){var A=D.programConfigurations.get(o.id),M=a||z.sdfIcons,L=a?z.textSizeData:z.iconSizeData,R=g||0!==f.pitch,k=e.useProgram(to(M,a,z),A),B=t.evaluateSizeForZoom(L,f.zoom),O=void 0,F=[0,0],U=void 0,N=void 0,Z=null,q=void 0;if(a){ U=C.glyphAtlasTexture,N=_.LINEAR,O=C.glyphAtlasTexture.size,z.iconsInText&&(F=C.imageAtlasTexture.size,Z=C.imageAtlasTexture,q=R||e.options.rotating||e.options.zooming||\"composite\"===L.kind||\"camera\"===L.kind?_.LINEAR:_.NEAREST); }else {var j=1!==o.layout.get(\"icon-size\").constantOr(0)||z.iconsNeedLinear;U=C.imageAtlasTexture,N=M||e.options.rotating||e.options.zooming||j||R?_.LINEAR:_.NEAREST,O=C.imageAtlasTexture.size;}var V=pe(C,1,e.transform.zoom),G=Jt(S.posMatrix,g,m,e.transform,V),W=Qt(S.posMatrix,g,m,e.transform,V),X=T&&z.hasTextData(),H=\"none\"!==o.layout.get(\"icon-text-fit\")&&X&&z.hasIconData();v&&ie(z,S.posMatrix,e,a,G,W,g,u);var K=e.translatePosMatrix(S.posMatrix,C,n,s),Y=v||a&&T||H?Ji:G,J=e.translatePosMatrix(W,C,n,s,!0),Q=M&&0!==o.paint.get(a?\"text-halo-width\":\"icon-halo-width\").constantOr(1),$={program:k,buffers:D,uniformValues:M?z.iconsInText?Wi(L.kind,B,y,g,e,K,Y,J,O,F):Gi(L.kind,B,y,g,e,K,Y,J,a,O,!0):Vi(L.kind,B,y,g,e,K,Y,J,a,O),atlasTexture:U,atlasTextureIcon:Z,atlasInterpolation:N,atlasInterpolationIcon:q,isSDF:M,hasHalo:Q};if(x&&z.canOverlap){b=!0;for(var tt=0,et=D.segments.get();tt<et.length;tt+=1){var it=et[tt];E.push({segments:new t.SegmentVector([it]),sortKey:it.sortKey,state:$});}}else { E.push({segments:D.segments,sortKey:0,state:$}); }}}}b&&E.sort((function(t,e){return t.sortKey-e.sortKey}));for(var ot=0,rt=E;ot<rt.length;ot+=1){var at=rt[ot],nt=at.state;if(d.activeTexture.set(_.TEXTURE0),nt.atlasTexture.bind(nt.atlasInterpolation,_.CLAMP_TO_EDGE),nt.atlasTextureIcon&&(d.activeTexture.set(_.TEXTURE1),nt.atlasTextureIcon&&nt.atlasTextureIcon.bind(nt.atlasInterpolationIcon,_.CLAMP_TO_EDGE)),nt.isSDF){var st=nt.uniformValues;nt.hasHalo&&(st.u_is_halo=1,io(nt.buffers,at.segments,o,e,nt.program,w,h,p,st)),st.u_is_halo=0;}io(nt.buffers,at.segments,o,e,nt.program,w,h,p,nt.uniformValues);}}function io(t,e,i,o,r,a,n,s,l){var c=o.context;r.draw(c,c.gl.TRIANGLES,a,n,s,Ct.disabled,l,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,o.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function oo(t,e,i,o,r,a,n){var s,l,c,u,h,p=t.context.gl,d=i.paint.get(\"fill-pattern\"),_=d&&d.constantOr(1),f=i.getCrossfadeParameters();n?(l=_&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",s=p.LINES):(l=_?\"fillPattern\":\"fill\",s=p.TRIANGLES);for(var m=0,g=o;m<g.length;m+=1){var v=g[m],y=e.getTile(v);if(!_||y.patternsLoaded()){var x=y.getBucket(i);if(x){var b=x.programConfigurations.get(i.id),w=t.useProgram(l,b);_&&(t.context.activeTexture.set(p.TEXTURE0),y.imageAtlasTexture.bind(p.LINEAR,p.CLAMP_TO_EDGE),b.updatePaintBuffers(f));var T=d.constantOr(null);if(T&&y.imageAtlas){var E=y.imageAtlas,I=E.patternPositions[T.to.toString()],P=E.patternPositions[T.from.toString()];I&&P&&b.setConstantPatternPositions(I,P);}var S=t.translatePosMatrix(v.posMatrix,y,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(n){u=x.indexBuffer2,h=x.segments2;var C=[p.drawingBufferWidth,p.drawingBufferHeight];c=\"fillOutlinePattern\"===l&&_?Ci(S,t,f,y,C):Si(S,C);}else { u=x.indexBuffer,h=x.segments,c=_?Pi(S,t,f,y):Ii(S); }w.draw(t.context,s,r,t.stencilModeForClipping(v),a,Ct.disabled,c,i.id,x.layoutVertexBuffer,u,h,i.paint,t.transform.zoom,b);}}}}function ro(t,e,i,o,r,a,n){for(var s=t.context,l=s.gl,c=i.paint.get(\"fill-extrusion-pattern\"),u=c.constantOr(1),h=i.getCrossfadeParameters(),p=i.paint.get(\"fill-extrusion-opacity\"),d=0,_=o;d<_.length;d+=1){var f=_[d],m=e.getTile(f),g=m.getBucket(i);if(g){var v=g.programConfigurations.get(i.id),y=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",v);u&&(t.context.activeTexture.set(l.TEXTURE0),m.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),v.updatePaintBuffers(h));var x=c.constantOr(null);if(x&&m.imageAtlas){var b=m.imageAtlas,w=b.patternPositions[x.to.toString()],T=b.patternPositions[x.from.toString()];w&&T&&v.setConstantPatternPositions(w,T);}var E=t.translatePosMatrix(f.posMatrix,m,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),I=i.paint.get(\"fill-extrusion-vertical-gradient\"),P=u?Ei(E,t,I,p,f,h,m):Ti(E,t,I,p);y.draw(s,s.gl.TRIANGLES,r,a,n,Ct.backCCW,P,i.id,g.layoutVertexBuffer,g.indexBuffer,g.segments,i.paint,t.transform.zoom,v);}}}function ao(e,i,o,r,a,n){var s=e.context,l=s.gl,c=i.fbo;if(c){var u=e.useProgram(\"hillshade\");s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get());var h=function(e,i,o){var r=o.paint.get(\"hillshade-shadow-color\"),a=o.paint.get(\"hillshade-highlight-color\"),n=o.paint.get(\"hillshade-accent-color\"),s=o.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===o.paint.get(\"hillshade-illumination-anchor\")&&(s-=e.transform.angle);var l,c,u,h=!e.options.moving;return {u_matrix:e.transform.calculatePosMatrix(i.tileID.toUnwrapped(),h),u_image:0,u_latrange:(l=i.tileID,c=Math.pow(2,l.canonical.z),u=l.canonical.y,[new t.MercatorCoordinate(0,u/c).toLngLat().lat,new t.MercatorCoordinate(0,(u+1)/c).toLngLat().lat]),u_light:[o.paint.get(\"hillshade-exaggeration\"),s],u_shadow:r,u_highlight:a,u_accent:n}}(e,i,o);u.draw(s,l.TRIANGLES,r,a,n,Ct.disabled,h,o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments);}}function no(e,i,o,r,a,n){var s=e.context,l=s.gl,c=i.dem;if(c&&c.data){var u=c.dim,h=c.stride,p=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||e.getTileTexture(h),i.demTexture){var d=i.demTexture;d.update(p,{premultiply:!1}),d.bind(l.NEAREST,l.CLAMP_TO_EDGE);}else { i.demTexture=new t.Texture(s,p,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE); }s.activeTexture.set(l.TEXTURE0);var _=i.fbo;if(!_){var f=new t.Texture(s,{width:u,height:u,data:null},l.RGBA);f.bind(l.LINEAR,l.CLAMP_TO_EDGE),(_=i.fbo=s.createFramebuffer(u,u,!0)).colorAttachment.set(f.texture);}s.bindFramebuffer.set(_.framebuffer),s.viewport.set([0,0,u,u]),e.useProgram(\"hillshadePrepare\").draw(s,l.TRIANGLES,r,a,n,Ct.disabled,function(e,i){var o=i.stride,r=t.create();return t.ortho(r,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(r,r,[0,-t.EXTENT,0]),{u_matrix:r,u_image:1,u_dimension:[o,o],u_zoom:e.overscaledZ,u_unpack:i.getUnpackVector()}}(i.tileID,c),o.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function so(e,i,o,r,a){var n=r.paint.get(\"raster-fade-duration\");if(n>0){var s=t.browser.now(),l=(s-e.timeAdded)/n,c=i?(s-i.timeAdded)/n:-1,u=o.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),p=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=p&&e.refreshedUponExpiration?1:t.clamp(p?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return {opacity:1,mix:0}}var lo=new t.Color(1,0,0,1),co=new t.Color(0,1,0,1),uo=new t.Color(0,0,1,1),ho=new t.Color(1,0,1,1),po=new t.Color(0,1,1,1);function _o(t,e,i,o){mo(t,0,e+i/2,t.transform.width,i,o);}function fo(t,e,i,o){mo(t,e-i/2,0,i,t.transform.height,o);}function mo(e,i,o,r,a,n){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*t.browser.devicePixelRatio,o*t.browser.devicePixelRatio,r*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:n}),l.disable(l.SCISSOR_TEST);}function go(e,i,o){var r=e.context,a=r.gl,n=o.posMatrix,s=e.useProgram(\"debug\"),l=It.disabled,c=Pt.disabled,u=e.colorModeForRenderPass();r.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(r,a.LINE_STRIP,l,c,u,Ct.disabled,Mi(n,t.Color.red),\"$debug\",e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=i.getTileByID(o.key).latestRawTileData,p=Math.floor((h&&h.byteLength||0)/1024),d=i.getTile(o).tileSize,_=512/Math.min(d,512)*(o.overscaledZ/e.transform.zoom)*.5,f=o.canonical.toString();o.overscaledZ!==o.canonical.z&&(f+=\" => \"+o.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var i=t.debugOverlayCanvas,o=t.context.gl,r=t.debugOverlayCanvas.getContext(\"2d\");r.clearRect(0,0,i.width,i.height),r.shadowColor=\"white\",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle=\"white\",r.textBaseline=\"top\",r.font=\"bold 36px Open Sans, sans-serif\",r.fillText(e,5,5),r.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE);}(e,f+\" \"+p+\"kb\"),s.draw(r,a.TRIANGLES,l,c,St.alphaBlended,Ct.disabled,Mi(n,t.Color.transparent,_),\"$debug\",e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments);}var vo={symbol:function(e,i,o,r,a){if(\"translucent\"===e.renderPass){var n=Pt.disabled,s=e.colorModeForRenderPass();o.layout.get(\"text-variable-anchor\")&&function(e,i,o,r,a,n,s){for(var l=i.transform,c=\"map\"===a,u=\"map\"===n,h=0,p=e;h<p.length;h+=1){var d=p[h],_=r.getTile(d),f=_.getBucket(o);if(f&&f.text&&f.text.segments.get().length){var m=t.evaluateSizeForZoom(f.textSizeData,l.zoom),g=pe(_,1,i.transform.zoom),v=Jt(d.posMatrix,u,c,i.transform,g),y=\"none\"!==o.layout.get(\"icon-text-fit\")&&f.hasIconData();if(m){var x=Math.pow(2,l.zoom-_.tileID.overscaledZ);$i(f,c,u,s,t.symbolSize,l,v,d.posMatrix,x,m,y);}}}}(r,e,o,i,o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),a),0!==o.paint.get(\"icon-opacity\").constantOr(1)&&eo(e,i,o,r,!1,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),o.layout.get(\"icon-rotation-alignment\"),o.layout.get(\"icon-pitch-alignment\"),o.layout.get(\"icon-keep-upright\"),n,s),0!==o.paint.get(\"text-opacity\").constantOr(1)&&eo(e,i,o,r,!0,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),o.layout.get(\"text-rotation-alignment\"),o.layout.get(\"text-pitch-alignment\"),o.layout.get(\"text-keep-upright\"),n,s),i.map.showCollisionBoxes&&(Yi(e,i,o,r,o.paint.get(\"text-translate\"),o.paint.get(\"text-translate-anchor\"),!0),Yi(e,i,o,r,o.paint.get(\"icon-translate\"),o.paint.get(\"icon-translate-anchor\"),!1));}},circle:function(e,i,o,r){if(\"translucent\"===e.renderPass){var a=o.paint.get(\"circle-opacity\"),n=o.paint.get(\"circle-stroke-width\"),s=o.paint.get(\"circle-stroke-opacity\"),l=void 0!==o.layout.get(\"circle-sort-key\").constantOr(1);if(0!==a.constantOr(1)||0!==n.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,It.ReadOnly),p=Pt.disabled,d=e.colorModeForRenderPass(),_=[],f=0;f<r.length;f++){var m=r[f],g=i.getTile(m),v=g.getBucket(o);if(v){var y=v.programConfigurations.get(o.id),x={programConfiguration:y,program:e.useProgram(\"circle\",y),layoutVertexBuffer:v.layoutVertexBuffer,indexBuffer:v.indexBuffer,uniformValues:zi(e,m,g,o)};if(l){ for(var b=0,w=v.segments.get();b<w.length;b+=1){var T=w[b];_.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:x});} }else { _.push({segments:v.segments,sortKey:0,state:x}); }}}l&&_.sort((function(t,e){return t.sortKey-e.sortKey}));for(var E=0,I=_;E<I.length;E+=1){var P=I[E],S=P.state;S.program.draw(c,u.TRIANGLES,h,p,d,Ct.disabled,S.uniformValues,o.id,S.layoutVertexBuffer,S.indexBuffer,P.segments,o.paint,e.transform.zoom,S.programConfiguration);}}}},heatmap:function(e,i,o,r){if(0!==o.paint.get(\"heatmap-opacity\")){ if(\"offscreen\"===e.renderPass){var a=e.context,n=a.gl,s=Pt.disabled,l=new St([n.ONE,n.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,i){var o=t.gl;t.activeTexture.set(o.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var r=i.heatmapFbo;if(r){ o.bindTexture(o.TEXTURE_2D,r.colorAttachment.get()),t.bindFramebuffer.set(r.framebuffer); }else {var a=o.createTexture();o.bindTexture(o.TEXTURE_2D,a),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),r=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,i,o){var r=t.gl;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e.width/4,e.height/4,0,r.RGBA,t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:r.UNSIGNED_BYTE,null),o.colorAttachment.set(i);}(t,e,a,r);}}(a,e,o),a.clear({color:t.Color.transparent});for(var c=0;c<r.length;c++){var u=r[c];if(!i.hasRenderableParent(u)){var h=i.getTile(u),p=h.getBucket(o);if(p){var d=p.programConfigurations.get(o.id);e.useProgram(\"heatmap\",d).draw(a,n.TRIANGLES,It.disabled,s,l,Ct.disabled,Ri(u.posMatrix,h,e.transform.zoom,o.paint.get(\"heatmap-intensity\")),o.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,o.paint,e.transform.zoom,d);}}}a.viewport.set([0,0,e.width,e.height]);}else { \"translucent\"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,i){var o=e.context,r=o.gl,a=i.heatmapFbo;if(a){o.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,a.colorAttachment.get()),o.activeTexture.set(r.TEXTURE1);var n=i.colorRampTexture;n||(n=i.colorRampTexture=new t.Texture(o,i.colorRamp,r.RGBA)),n.bind(r.LINEAR,r.CLAMP_TO_EDGE),e.useProgram(\"heatmapTexture\").draw(o,r.TRIANGLES,It.disabled,Pt.disabled,e.colorModeForRenderPass(),Ct.disabled,function(e,i,o,r){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var n=e.context.gl;return {u_matrix:a,u_world:[n.drawingBufferWidth,n.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}}(e,i),i.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,i.paint,e.transform.zoom);}}(e,o)); } }},line:function(e,i,o,r){if(\"translucent\"===e.renderPass){var a=o.paint.get(\"line-opacity\"),n=o.paint.get(\"line-width\");if(0!==a.constantOr(1)&&0!==n.constantOr(1)){ for(var s=e.depthModeForSublayer(0,It.ReadOnly),l=e.colorModeForRenderPass(),c=o.paint.get(\"line-dasharray\"),u=o.paint.get(\"line-pattern\"),h=u.constantOr(1),p=o.paint.get(\"line-gradient\"),d=o.getCrossfadeParameters(),_=h?\"linePattern\":c?\"lineSDF\":p?\"lineGradient\":\"line\",f=e.context,m=f.gl,g=!0,v=0,y=r;v<y.length;v+=1){var x=y[v],b=i.getTile(x);if(!h||b.patternsLoaded()){var w=b.getBucket(o);if(w){var T=w.programConfigurations.get(o.id),E=e.context.program.get(),I=e.useProgram(_,T),P=g||I.program!==E,S=u.constantOr(null);if(S&&b.imageAtlas){var C=b.imageAtlas,z=C.patternPositions[S.to.toString()],D=C.patternPositions[S.from.toString()];z&&D&&T.setConstantPatternPositions(z,D);}var A=h?Oi(e,b,o,d):c?Fi(e,b,o,c,d):p?Bi(e,b,o,w.lineClipsArray.length):ki(e,b,o);if(h){ f.activeTexture.set(m.TEXTURE0),b.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),T.updatePaintBuffers(d); }else if(c&&(P||e.lineAtlas.dirty)){ f.activeTexture.set(m.TEXTURE0),e.lineAtlas.bind(f); }else if(p){var M=w.gradients[o.id],L=M.texture;if(o.gradientVersion!==M.version){var R=256;if(o.stepInterpolant){var k=i.getSource().maxzoom,B=x.canonical.z===k?Math.ceil(1<<e.transform.maxZoom-x.canonical.z):1;R=t.clamp(t.nextPowerOfTwo(w.maxLineLength/t.EXTENT*1024*B),256,f.maxTextureSize);}M.gradient=t.renderColorRamp({expression:o.gradientExpression(),evaluationKey:\"lineProgress\",resolution:R,image:M.gradient||void 0,clips:w.lineClipsArray}),M.texture?M.texture.update(M.gradient):M.texture=new t.Texture(f,M.gradient,m.RGBA),M.version=o.gradientVersion,L=M.texture;}f.activeTexture.set(m.TEXTURE0),L.bind(o.stepInterpolant?m.NEAREST:m.LINEAR,m.CLAMP_TO_EDGE);}I.draw(f,m.TRIANGLES,s,e.stencilModeForClipping(x),l,Ct.disabled,A,o.id,w.layoutVertexBuffer,w.indexBuffer,w.segments,o.paint,e.transform.zoom,T,w.layoutVertexBuffer2),g=!1;}}} }}},fill:function(e,i,o,r){var a=o.paint.get(\"fill-color\"),n=o.paint.get(\"fill-opacity\");if(0!==n.constantOr(1)){var s=e.colorModeForRenderPass(),l=o.paint.get(\"fill-pattern\"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===n.constantOr(0)?\"opaque\":\"translucent\";if(e.renderPass===c){var u=e.depthModeForSublayer(1,\"opaque\"===e.renderPass?It.ReadWrite:It.ReadOnly);oo(e,i,o,r,u,s,!1);}if(\"translucent\"===e.renderPass&&o.paint.get(\"fill-antialias\")){var h=e.depthModeForSublayer(o.getPaintProperty(\"fill-outline-color\")?2:0,It.ReadOnly);oo(e,i,o,r,h,s,!0);}}},\"fill-extrusion\":function(t,e,i,o){var r=i.paint.get(\"fill-extrusion-opacity\");if(0!==r&&\"translucent\"===t.renderPass){var a=new It(t.context.gl.LEQUAL,It.ReadWrite,t.depthRangeFor3D);if(1!==r||i.paint.get(\"fill-extrusion-pattern\").constantOr(1)){ ro(t,e,i,o,a,Pt.disabled,St.disabled),ro(t,e,i,o,a,t.stencilModeFor3D(),t.colorModeForRenderPass()); }else {var n=t.colorModeForRenderPass();ro(t,e,i,o,a,Pt.disabled,n);}}},hillshade:function(t,e,i,o){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){for(var r=t.context,a=t.depthModeForSublayer(0,It.ReadOnly),n=t.colorModeForRenderPass(),s=\"translucent\"===t.renderPass?t.stencilConfigForOverlap(o):[{},o],l=s[0],c=0,u=s[1];c<u.length;c+=1){var h=u[c],p=e.getTile(h);p.needsHillshadePrepare&&\"offscreen\"===t.renderPass?no(t,p,i,a,Pt.disabled,n):\"translucent\"===t.renderPass&&ao(t,p,i,a,l[h.overscaledZ],n);}r.viewport.set([0,0,t.width,t.height]);}},raster:function(t,e,i,o){if(\"translucent\"===t.renderPass&&0!==i.paint.get(\"raster-opacity\")&&o.length){ for(var r=t.context,a=r.gl,n=e.getSource(),s=t.useProgram(\"raster\"),l=t.colorModeForRenderPass(),c=n instanceof M?[{},o]:t.stencilConfigForOverlap(o),u=c[0],h=c[1],p=h[h.length-1].overscaledZ,d=!t.options.moving,_=0,f=h;_<f.length;_+=1){var m=f[_],g=t.depthModeForSublayer(m.overscaledZ-p,1===i.paint.get(\"raster-opacity\")?It.ReadWrite:It.ReadOnly,a.LESS),v=e.getTile(m),y=t.transform.calculatePosMatrix(m.toUnwrapped(),d);v.registerFadeDuration(i.paint.get(\"raster-fade-duration\"));var x=e.findLoadedParent(m,0),b=so(v,x,e,i,t.transform),w=void 0,T=void 0,E=\"nearest\"===i.paint.get(\"raster-resampling\")?a.NEAREST:a.LINEAR;r.activeTexture.set(a.TEXTURE0),v.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),r.activeTexture.set(a.TEXTURE1),x?(x.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,x.tileID.overscaledZ-v.tileID.overscaledZ),T=[v.tileID.canonical.x*w%1,v.tileID.canonical.y*w%1]):v.texture.bind(E,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var I=Zi(y,T||[0,0],w||1,b,i);n instanceof M?s.draw(r,a.TRIANGLES,g,Pt.disabled,l,Ct.disabled,I,i.id,n.boundsBuffer,t.quadTriangleIndexBuffer,n.boundsSegments):s.draw(r,a.TRIANGLES,g,u[m.overscaledZ],l,Ct.disabled,I,i.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);} }},background:function(t,e,i){var o=i.paint.get(\"background-color\"),r=i.paint.get(\"background-opacity\");if(0!==r){var a=t.context,n=a.gl,s=t.transform,l=s.tileSize,c=i.paint.get(\"background-pattern\");if(!t.isPatternMissing(c)){var u=!c&&1===o.a&&1===r&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass===u){var h=Pt.disabled,p=t.depthModeForSublayer(0,\"opaque\"===u?It.ReadWrite:It.ReadOnly),d=t.colorModeForRenderPass(),_=t.useProgram(c?\"backgroundPattern\":\"background\"),f=s.coveringTiles({tileSize:l});c&&(a.activeTexture.set(n.TEXTURE0),t.imageManager.bind(t.context));for(var m=i.getCrossfadeParameters(),g=0,v=f;g<v.length;g+=1){var y=v[g],x=t.transform.calculatePosMatrix(y.toUnwrapped()),b=c?Hi(x,r,t,c,{tileID:y,tileSize:l},m):Xi(x,r,o);_.draw(a,n.TRIANGLES,p,h,d,Ct.disabled,b,i.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments);}}}}},debug:function(t,e,i){for(var o=0;o<i.length;o++){ go(t,e,i[o]); }},custom:function(t,e,i){var o=t.context,r=i.implementation;if(\"offscreen\"===t.renderPass){var a=r.prerender;a&&(t.setCustomLayerDefaults(),o.setColorMode(t.colorModeForRenderPass()),a.call(r,o.gl,t.transform.customLayerMatrix()),o.setDirty(),t.setBaseState());}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),o.setColorMode(t.colorModeForRenderPass()),o.setStencilMode(Pt.disabled);var n=\"3d\"===r.renderingMode?new It(t.context.gl.LEQUAL,It.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,It.ReadOnly);o.setDepthMode(n),r.render(o.gl,t.transform.customLayerMatrix()),o.setDirty(),t.setBaseState(),o.bindFramebuffer.set(null);}}},yo=function(t,e){this.context=new zt(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Dt.maxUnderzooming+Dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Fe,this.gpuTimers={};};yo.prototype.resize=function(e,i){if(this.width=e*t.browser.devicePixelRatio,this.height=i*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style){ for(var o=0,r=this.style._order;o<r.length;o+=1){ this.style._layers[r[o]].resize(); } }},yo.prototype.setup=function(){var e=this.context,i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(t.EXTENT,0),i.emplaceBack(0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(i,Ve.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout2i4;o.emplaceBack(0,0),o.emplaceBack(t.EXTENT,0),o.emplaceBack(0,t.EXTENT),o.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(o,Ve.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var r=new t.StructArrayLayout4i8;r.emplaceBack(0,0,0,0),r.emplaceBack(t.EXTENT,0,t.EXTENT,0),r.emplaceBack(0,t.EXTENT,0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(r,A.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Ve.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout1ui2;n.emplaceBack(0),n.emplaceBack(1),n.emplaceBack(3),n.emplaceBack(2),n.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(n);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new Pt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);},yo.prototype.clearStencil=function(){var e=this.context,i=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var o=t.create();t.ortho(o,0,this.width,this.height,0,0,1),t.scale(o,o,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(e,i.TRIANGLES,It.disabled,this.stencilClearMode,St.disabled,Ct.disabled,Li(o),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);},yo.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var i=this.context,o=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(St.disabled),i.setDepthMode(It.disabled);var r=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var a=0,n=e;a<n.length;a+=1){var s=n[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;r.draw(i,o.TRIANGLES,It.disabled,new Pt({func:o.ALWAYS,mask:0},l,255,o.KEEP,o.KEEP,o.REPLACE),St.disabled,Ct.disabled,Li(s.posMatrix),\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}},yo.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Pt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},yo.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Pt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},yo.prototype.stencilConfigForOverlap=function(t){var e,i=this.context.gl,o=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),r=o[o.length-1].overscaledZ,a=o[0].overscaledZ-r+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var n={},s=0;s<a;s++){ n[s+r]=new Pt({func:i.GEQUAL,mask:255},s+this.nextStencilID,255,i.KEEP,i.KEEP,i.REPLACE); }return this.nextStencilID+=a,[n,o]}return [(e={},e[r]=Pt.disabled,e),o]},yo.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?St.unblended:St.alphaBlended},yo.prototype.depthModeForSublayer=function(t,e,i){if(!this.opaquePassEnabledForLayer()){ return It.disabled; }var o=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new It(i||this.context.gl.LEQUAL,e,[o,o])},yo.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},yo.prototype.render=function(e,i){var o=this;this.style=e,this.options=i,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var r=this.style._order,a=this.style.sourceCaches;for(var n in a){var s=a[n];s.used&&s.prepare(this.context);}var l,c,u={},h={},p={};for(var d in a){var _=a[d];u[d]=_.getVisibleCoordinates(),h[d]=u[d].slice().reverse(),p[d]=_.getVisibleCoordinates(!0).reverse();}this.opaquePassCutoff=1/0;for(var f=0;f<r.length;f++){ if(this.style._layers[r[f]].is3D()){this.opaquePassCutoff=f;break} }this.renderPass=\"offscreen\";for(var m=0,g=r;m<g.length;m+=1){var v=this.style._layers[g[m]];if(v.hasOffscreenPass()&&!v.isHidden(this.transform.zoom)){var y=h[v.source];(\"custom\"===v.type||y.length)&&this.renderLayer(this,a[v.source],v,y);}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:i.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass=\"opaque\",this.currentLayer=r.length-1;this.currentLayer>=0;this.currentLayer--){var x=this.style._layers[r[this.currentLayer]],b=a[x.source],w=u[x.source];this._renderTileClippingMasks(x,w),this.renderLayer(this,b,x,w);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<r.length;this.currentLayer++){var T=this.style._layers[r[this.currentLayer]],E=a[T.source],I=(\"symbol\"===T.type?p:h)[T.source];this._renderTileClippingMasks(T,u[T.source]),this.renderLayer(this,E,T,I);}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(o.transform.zoom)&&(t.source!==(c&&c.id)&&(c=o.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<c.getSource().maxzoom)&&(l=c));})),l&&vo.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&function(t){var e=t.transform.padding;_o(t,t.transform.height-(e.top||0),3,lo),_o(t,e.bottom||0,3,co),fo(t,e.left||0,3,uo),fo(t,t.transform.width-(e.right||0),3,ho);var i=t.transform.centerPoint;!function(t,e,i,o){mo(t,e-1,i-10,2,20,o),mo(t,e-10,i-1,20,2,o);}(t,i.x,t.transform.height-i.y,po);}(this),this.context.setDefault();},yo.prototype.renderLayer=function(t,e,i,o){i.isHidden(this.transform.zoom)||(\"background\"===i.type||\"custom\"===i.type||o.length)&&(this.id=i.id,this.gpuTimingStart(i),vo[i.type](t,e,i,o,this.style.placement.variableOffsets),this.gpuTimingEnd());},yo.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,i=this.gpuTimers[t.id];i||(i=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),i.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,i.query);}},yo.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT);}},yo.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},yo.prototype.queryGpuTimers=function(t){var e={};for(var i in t){var o=t[i],r=this.context.extTimerQuery,a=r.getQueryObjectEXT(o.query,r.QUERY_RESULT_EXT)/1e6;r.deleteQueryEXT(o.query),e[i]=a;}return e},yo.prototype.translatePosMatrix=function(e,i,o,r,a){if(!o[0]&&!o[1]){ return e; }var n=a?\"map\"===r?this.transform.angle:0:\"viewport\"===r?-this.transform.angle:0;if(n){var s=Math.sin(n),l=Math.cos(n);o=[o[0]*l-o[1]*s,o[0]*s+o[1]*l];}var c=[a?o[0]:pe(i,o[0],this.transform.zoom),a?o[1]:pe(i,o[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},yo.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t];},yo.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},yo.prototype.isPatternMissing=function(t){if(!t){ return !1; }if(!t.from||!t.to){ return !0; }var e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i},yo.prototype.useProgram=function(t,e){this.cache=this.cache||{};var i=\"\"+t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[i]||(this.cache[i]=new bi(this.context,t,vi[t],e,Ki[t],this._showOverdrawInspector)),this.cache[i]},yo.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();},yo.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);},yo.prototype.initDebugOverlayCanvas=function(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=t.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));},yo.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy();};var xo=function(t,e){this.points=t,this.planes=e;};xo.fromInvProjectionMatrix=function(e,i,o){var r=Math.pow(2,o),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(i){return t.transformMat4([],i,e)})).map((function(e){return t.scale$1([],e,1/e[3]/i*r)})),n=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var i=t.sub([],a[e[0]],a[e[1]]),o=t.sub([],a[e[2]],a[e[1]]),r=t.normalize([],t.cross([],i,o)),n=-t.dot(r,a[e[1]]);return r.concat(n)}));return new xo(a,n)};var bo=function(e,i){this.min=e,this.max=i,this.center=t.scale$2([],t.add([],this.min,this.max),.5);};bo.prototype.quadrant=function(e){for(var i=[e%2==0,e<2],o=t.clone$2(this.min),r=t.clone$2(this.max),a=0;a<i.length;a++){ o[a]=i[a]?this.min[a]:this.center[a],r[a]=i[a]?this.center[a]:this.max[a]; }return r[2]=this.max[2],new bo(o,r)},bo.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},bo.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},bo.prototype.intersects=function(e){for(var i=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],o=!0,r=0;r<e.planes.length;r++){for(var a=e.planes[r],n=0,s=0;s<i.length;s++){ n+=t.dot$1(a,i[s])>=0; }if(0===n){ return 0; }n!==i.length&&(o=!1);}if(o){ return 2; }for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;h<e.points.length;h++){var p=e.points[h][l]-this.min[l];c=Math.min(c,p),u=Math.max(u,p);}if(u<0||c>this.max[l]-this.min[l]){ return 0 }}return 1};var wo=function(t,e,i,o){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===o&&(o=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(o)||o<0){ throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\"); }this.top=t,this.bottom=e,this.left=i,this.right=o;};wo.prototype.interpolate=function(e,i,o){return null!=i.top&&null!=e.top&&(this.top=t.number(e.top,i.top,o)),null!=i.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,i.bottom,o)),null!=i.left&&null!=e.left&&(this.left=t.number(e.left,i.left,o)),null!=i.right&&null!=e.right&&(this.right=t.number(e.right,i.right,o)),this},wo.prototype.getCenter=function(e,i){var o=t.clamp((this.left+e-this.right)/2,0,e),r=t.clamp((this.top+i-this.bottom)/2,0,i);return new t.Point(o,r)},wo.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},wo.prototype.clone=function(){return new wo(this.top,this.bottom,this.left,this.right)},wo.prototype.toJSON=function(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var To=function(e,i,o,r,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=i||22,this._minPitch=null==o?0:o,this._maxPitch=null==r?60:r,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new wo,this._posMatrixCache={},this._alignedPosMatrixCache={};},Eo={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};To.prototype.clone=function(){var t=new To(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Eo.minZoom.get=function(){return this._minZoom},Eo.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));},Eo.maxZoom.get=function(){return this._maxZoom},Eo.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));},Eo.minPitch.get=function(){return this._minPitch},Eo.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));},Eo.maxPitch.get=function(){return this._maxPitch},Eo.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));},Eo.renderWorldCopies.get=function(){return this._renderWorldCopies},Eo.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;},Eo.worldSize.get=function(){return this.tileSize*this.scale},Eo.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Eo.size.get=function(){return new t.Point(this.width,this.height)},Eo.bearing.get=function(){return -this.angle/Math.PI*180},Eo.bearing.set=function(e){var i=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle));},Eo.pitch.get=function(){return this._pitch/Math.PI*180},Eo.pitch.set=function(e){var i=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());},Eo.fov.get=function(){return this._fov/Math.PI*180},Eo.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());},Eo.zoom.get=function(){return this._zoom},Eo.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices());},Eo.center.get=function(){return this._center},Eo.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());},Eo.padding.get=function(){return this._edgeInsets.toJSON()},Eo.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());},Eo.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},To.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},To.prototype.interpolatePadding=function(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();},To.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},To.prototype.getVisibleUnwrappedCoordinates=function(e){var i=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies){ for(var o=this.pointCoordinate(new t.Point(0,0)),r=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),n=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(o.x,r.x,a.x,n.x)),l=Math.floor(Math.max(o.x,r.x,a.x,n.x)),c=s-1;c<=l+1;c++){ 0!==c&&i.push(new t.UnwrappedTileID(c,e)); } }return i},To.prototype.coveringTiles=function(e){var i=this.coveringZoomLevel(e),o=i;if(void 0!==e.minzoom&&i<e.minzoom){ return []; }void 0!==e.maxzoom&&i>e.maxzoom&&(i=e.maxzoom);var r=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,i),n=[a*r.x,a*r.y,0],s=xo.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,i),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=i);var c=function(t){return {aabb:new bo([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],p=i,d=e.reparseOverscaled?o:i;if(this._renderWorldCopies){ for(var _=1;_<=3;_++){ u.push(c(-_)),u.push(c(_)); } }for(u.push(c(0));u.length>0;){var f=u.pop(),m=f.x,g=f.y,v=f.fullyVisible;if(!v){var y=f.aabb.intersects(s);if(0===y){ continue; }v=2===y;}var x=f.aabb.distanceX(n),b=f.aabb.distanceY(n),w=Math.max(Math.abs(x),Math.abs(b));if(f.zoom===p||w>3+(1<<p-f.zoom)-2&&f.zoom>=l){ h.push({tileID:new t.OverscaledTileID(f.zoom===p?d:f.zoom,f.wrap,f.zoom,m,g),distanceSq:t.sqrLen([n[0]-.5-m,n[1]-.5-g])}); }else { for(var T=0;T<4;T++){var E=(m<<1)+T%2,I=(g<<1)+(T>>1);u.push({aabb:f.aabb.quadrant(T),zoom:f.zoom+1,x:E,y:I,wrap:f.wrap,fullyVisible:v});} }}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},To.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();},Eo.unmodified.get=function(){return this._unmodified},To.prototype.zoomScale=function(t){return Math.pow(2,t)},To.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},To.prototype.project=function(e){var i=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(i)*this.worldSize)},To.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Eo.point.get=function(){return this.project(this.center)},To.prototype.setLocationAtPoint=function(e,i){var o=this.pointCoordinate(i),r=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),n=new t.MercatorCoordinate(a.x-(o.x-r.x),a.y-(o.y-r.y));this.center=this.coordinateLocation(n),this._renderWorldCopies&&(this.center=this.center.wrap());},To.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},To.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},To.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},To.prototype.coordinateLocation=function(t){return t.toLngLat()},To.prototype.pointCoordinate=function(e){var i=[e.x,e.y,0,1],o=[e.x,e.y,1,1];t.transformMat4(i,i,this.pixelMatrixInverse),t.transformMat4(o,o,this.pixelMatrixInverse);var r=i[3],a=o[3],n=i[1]/r,s=o[1]/a,l=i[2]/r,c=o[2]/a,u=(0-l)/(c-l);return new t.MercatorCoordinate(t.number(i[0]/r,o[0]/a,u)/this.worldSize,t.number(n,s,u)/this.worldSize)},To.prototype.coordinatePoint=function(e){var i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix),new t.Point(i[0]/i[3],i[1]/i[3])},To.prototype.getBounds=function(){return (new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},To.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},To.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude]);},To.prototype.calculatePosMatrix=function(e,i){void 0===i&&(i=!1);var o=e.key,r=i?this._alignedPosMatrixCache:this._posMatrixCache;if(r[o]){ return r[o]; }var a=e.canonical,n=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*n,a.y*n,0]),t.scale(l,l,[n/t.EXTENT,n/t.EXTENT,1]),t.multiply(l,i?this.alignedProjMatrix:this.projMatrix,l),r[o]=new Float32Array(l),r[o]},To.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},To.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,i,o,r,a=-90,n=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=t.mercatorYfromLat(h[1])*this.worldSize,e=(n=t.mercatorYfromLat(h[0])*this.worldSize)-a<c.y?c.y/(n-a):0;}if(this.lngRange){var p=this.lngRange;s=t.mercatorXfromLng(p[0])*this.worldSize,i=(l=t.mercatorXfromLng(p[1])*this.worldSize)-s<c.x?c.x/(l-s):0;}var d=this.point,_=Math.max(i||0,e||0);if(_){ return this.center=this.unproject(new t.Point(i?(l+s)/2:d.x,e?(n+a)/2:d.y)),this.zoom+=this.scaleZoom(_),this._unmodified=u,void(this._constraining=!1); }if(this.latRange){var f=d.y,m=c.y/2;f-m<a&&(r=a+m),f+m>n&&(r=n-m);}if(this.lngRange){var g=d.x,v=c.x/2;g-v<s&&(o=s+v),g+v>l&&(o=l-v);}void 0===o&&void 0===r||(this.center=this.unproject(new t.Point(void 0!==o?o:d.x,void 0!==r?r:d.y))),this._unmodified=u,this._constraining=!1;}},To.prototype._calcMatrices=function(){if(this.height){var e=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var i=Math.PI/2+this._pitch,o=this._fov*(.5+e.y/this.height),r=Math.sin(o)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-i-o,.01,Math.PI-.01)),a=this.point,n=a.x,s=a.y,l=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),c=this.height/50,u=new Float64Array(16);t.perspective(u,this._fov,this.width/this.height,c,l),u[8]=2*-e.x/this.width,u[9]=2*e.y/this.height,t.scale(u,u,[1,-1,1]),t.translate(u,u,[0,0,-this.cameraToCenterDistance]),t.rotateX(u,u,this._pitch),t.rotateZ(u,u,this.angle),t.translate(u,u,[-n,-s,0]),this.mercatorMatrix=t.scale([],u,[this.worldSize,this.worldSize,this.worldSize]),t.scale(u,u,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=u,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),_=Math.sin(this.angle),f=n-Math.round(n)+d*h+_*p,m=s-Math.round(s)+d*p+_*h,g=new Float64Array(u);if(t.translate(g,g,[f>.5?f-1:f,m>.5?m-1:m,0]),this.alignedProjMatrix=g,u=t.create(),t.scale(u,u,[this.width/2,-this.height/2,1]),t.translate(u,u,[1,-1,0]),this.labelPlaneMatrix=u,u=t.create(),t.scale(u,u,[1,-1,1]),t.translate(u,u,[-1,-1,0]),t.scale(u,u,[2/this.width,2/this.height,1]),this.glCoordMatrix=u,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(u=t.invert(new Float64Array(16),this.pixelMatrix))){ throw new Error(\"failed to invert matrix\"); }this.pixelMatrixInverse=u,this._posMatrixCache={},this._alignedPosMatrixCache={};}},To.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse){ return 1; }var e=this.pointCoordinate(new t.Point(0,0)),i=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance},To.prototype.getCameraPoint=function(){var e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,e))},To.prototype.getCameraQueryGeometry=function(e){var i=this.getCameraPoint();if(1===e.length){ return [e[0],i]; }for(var o=i.x,r=i.y,a=i.x,n=i.y,s=0,l=e;s<l.length;s+=1){var c=l[s];o=Math.min(o,c.x),r=Math.min(r,c.y),a=Math.max(a,c.x),n=Math.max(n,c.y);}return [new t.Point(o,r),new t.Point(a,r),new t.Point(a,n),new t.Point(o,n),new t.Point(o,r)]},Object.defineProperties(To.prototype,Eo);var Io=function(e){var i,o,r,a;this._hashName=e&&encodeURIComponent(e),t.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(i=this._updateHashUnthrottled.bind(this),o=!1,r=null,a=function(){r=null,o&&(i(),r=setTimeout(a,300),o=!1);},function(){return o=!0,r||a(),r});};Io.prototype.addTo=function(e){return this._map=e,t.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Io.prototype.remove=function(){return t.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Io.prototype.getHashString=function(e){var i=this._map.getCenter(),o=Math.round(100*this._map.getZoom())/100,r=Math.ceil((o*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,r),n=Math.round(i.lng*a)/a,s=Math.round(i.lat*a)/a,l=this._map.getBearing(),c=this._map.getPitch(),u=\"\";if(u+=e?\"/\"+n+\"/\"+s+\"/\"+o:o+\"/\"+s+\"/\"+n,(l||c)&&(u+=\"/\"+Math.round(10*l)/10),c&&(u+=\"/\"+Math.round(c)),this._hashName){var h=this._hashName,p=!1,d=t.window.location.hash.slice(1).split(\"&\").map((function(t){var e=t.split(\"=\")[0];return e===h?(p=!0,e+\"=\"+u):t})).filter((function(t){return t}));return p||d.push(h+\"=\"+u),\"#\"+d.join(\"&\")}return \"#\"+u},Io.prototype._getCurrentHash=function(){var e,i=this,o=t.window.location.hash.replace(\"#\",\"\");return this._hashName?(o.split(\"&\").map((function(t){return t.split(\"=\")})).forEach((function(t){t[0]===i._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")):o.split(\"/\")},Io.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1},Io.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e);}catch(t$1){}};var Po={linearity:.3,easing:t.bezier(0,0,.3,1)},So=t.extend({deceleration:2500,maxSpeed:1400},Po),Co=t.extend({deceleration:20,maxSpeed:1400},Po),zo=t.extend({deceleration:1e3,maxSpeed:360},Po),Do=t.extend({deceleration:1e3,maxSpeed:90},Po),Ao=function(t){this._map=t,this.clear();};function Mo(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing);}function Lo(e,i,o){var r=o.maxSpeed,a=o.linearity,n=o.deceleration,s=t.clamp(e*a/(i/1e3),-r,r),l=Math.abs(s)/(n*a);return {easing:o.easing,duration:1e3*l,amount:s*(l/2)}}Ao.prototype.clear=function(){this._inertiaBuffer=[];},Ao.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e});},Ao.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,i=t.browser.now();e.length>0&&i-e[0].time>160;){ e.shift(); }},Ao.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var i={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},o=0,r=this._inertiaBuffer;o<r.length;o+=1){var a=r[o].settings;i.zoom+=a.zoomDelta||0,i.bearing+=a.bearingDelta||0,i.pitch+=a.pitchDelta||0,a.panDelta&&i.pan._add(a.panDelta),a.around&&(i.around=a.around),a.pinchAround&&(i.pinchAround=a.pinchAround);}var n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){var l=Lo(i.pan.mag(),n,t.extend({},So,e||{}));s.offset=i.pan.mult(l.amount/i.pan.mag()),s.center=this._map.transform.center,Mo(s,l);}if(i.zoom){var c=Lo(i.zoom,n,Co);s.zoom=this._map.transform.zoom+c.amount,Mo(s,c);}if(i.bearing){var u=Lo(i.bearing,n,zo);s.bearing=this._map.transform.bearing+t.clamp(u.amount,-179,179),Mo(s,u);}if(i.pitch){var h=Lo(i.pitch,n,Do);s.pitch=this._map.transform.pitch+h.amount,Mo(s,h);}if(s.zoom||s.bearing){var p=void 0===i.pinchAround?i.around:i.pinchAround;s.around=p?this._map.unproject(p):this._map.getCenter();}return this.clear(),t.extend(s,{noMoveStart:!0})}};var Ro=function(e){function o(o,r,a,n){void 0===n&&(n={});var s=i.mousePos(r.getCanvasContainer(),a),l=r.unproject(s);e.call(this,o,t.extend({point:s,lngLat:l,originalEvent:a},n)),this._defaultPrevented=!1,this.target=r;}e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o;var r={defaultPrevented:{configurable:!0}};return o.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(o.prototype,r),o}(t.Event),ko=function(e){function o(o,r,a){var n=\"touchend\"===o?a.changedTouches:a.touches,s=i.touchPos(r.getCanvasContainer(),n),l=s.map((function(t){return r.unproject(t)})),c=s.reduce((function(t,e,i,o){return t.add(e.div(o.length))}),new t.Point(0,0)),u=r.unproject(c);e.call(this,o,{points:s,point:c,lngLats:l,lngLat:u,originalEvent:a}),this._defaultPrevented=!1;}e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o;var r={defaultPrevented:{configurable:!0}};return o.prototype.preventDefault=function(){this._defaultPrevented=!0;},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(o.prototype,r),o}(t.Event),Bo=function(t){function e(e,i,o){t.call(this,e,{originalEvent:o}),this._defaultPrevented=!1;}t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e;var i={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0;},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,i),e}(t.Event),Oo=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance;};Oo.prototype.reset=function(){delete this._mousedownPos;},Oo.prototype.wheel=function(t){return this._firePreventable(new Bo(t.type,this._map,t))},Oo.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new Ro(t.type,this._map,t))},Oo.prototype.mouseup=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.dblclick=function(t){return this._firePreventable(new Ro(t.type,this._map,t))},Oo.prototype.mouseover=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.mouseout=function(t){this._map.fire(new Ro(t.type,this._map,t));},Oo.prototype.touchstart=function(t){return this._firePreventable(new ko(t.type,this._map,t))},Oo.prototype.touchmove=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype.touchend=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype.touchcancel=function(t){this._map.fire(new ko(t.type,this._map,t));},Oo.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented){ return {} }},Oo.prototype.isEnabled=function(){return !0},Oo.prototype.isActive=function(){return !1},Oo.prototype.enable=function(){},Oo.prototype.disable=function(){};var Fo=function(t){this._map=t;};Fo.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent;},Fo.prototype.mousemove=function(t){this._map.fire(new Ro(t.type,this._map,t));},Fo.prototype.mousedown=function(){this._delayContextMenu=!0;},Fo.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Ro(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);},Fo.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Ro(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();},Fo.prototype.isEnabled=function(){return !0},Fo.prototype.isActive=function(){return !1},Fo.prototype.enable=function(){},Fo.prototype.disable=function(){};var Uo=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;};function No(t,e){for(var i={},o=0;o<t.length;o++){ i[t[o].identifier]=e[o]; }return i}Uo.prototype.isEnabled=function(){return !!this._enabled},Uo.prototype.isActive=function(){return !!this._active},Uo.prototype.enable=function(){this.isEnabled()||(this._enabled=!0);},Uo.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},Uo.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(i.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);},Uo.prototype.mousemoveWindow=function(t,e){if(this._active){var o=e;if(!(this._lastPos.equals(o)||!this._box&&o.dist(this._startPos)<this._clickTolerance)){var r=this._startPos;this._lastPos=o,this._box||(this._box=i.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var a=Math.min(r.x,o.x),n=Math.max(r.x,o.x),s=Math.min(r.y,o.y),l=Math.max(r.y,o.y);i.setTransform(this._box,\"translate(\"+a+\"px,\"+s+\"px)\"),this._box.style.width=n-a+\"px\",this._box.style.height=l-s+\"px\";}}},Uo.prototype.mouseupWindow=function(e,o){var r=this;if(this._active&&0===e.button){var a=this._startPos,n=o;if(this.reset(),i.suppressClick(),a.x!==n.x||a.y!==n.y){ return this._map.fire(new t.Event(\"boxzoomend\",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(a,n,r._map.getBearing(),{linear:!0})}}; }this._fireEvent(\"boxzoomcancel\",e);}},Uo.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));},Uo.prototype.blur=function(){this.reset();},Uo.prototype.reset=function(){this._active=!1,this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(i.remove(this._box),this._box=null),i.enableDrag(),delete this._startPos,delete this._lastPos;},Uo.prototype._fireEvent=function(e,i){return this._map.fire(new t.Event(e,{originalEvent:i}))};var Zo=function(t){this.reset(),this.numTouches=t.numTouches;};Zo.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1;},Zo.prototype.touchstart=function(e,i,o){(this.centroid||o.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),o.length===this.numTouches&&(this.centroid=function(e){for(var i=new t.Point(0,0),o=0,r=e;o<r.length;o+=1){ i._add(r[o]); }return i.div(e.length)}(i),this.touches=No(o,i)));},Zo.prototype.touchmove=function(t,e,i){if(!this.aborted&&this.centroid){var o=No(i,e);for(var r in this.touches){var a=o[r];(!a||a.dist(this.touches[r])>30)&&(this.aborted=!0);}}},Zo.prototype.touchend=function(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){var o=!this.aborted&&this.centroid;if(this.reset(),o){ return o }}};var qo=function(t){this.singleTap=new Zo(t),this.numTaps=t.numTaps,this.reset();};qo.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();},qo.prototype.touchstart=function(t,e,i){this.singleTap.touchstart(t,e,i);},qo.prototype.touchmove=function(t,e,i){this.singleTap.touchmove(t,e,i);},qo.prototype.touchend=function(t,e,i){var o=this.singleTap.touchend(t,e,i);if(o){var r=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(o)<30;if(r&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=o,this.count===this.numTaps){ return this.reset(),o }}};var jo=function(){this._zoomIn=new qo({numTouches:1,numTaps:2}),this._zoomOut=new qo({numTouches:2,numTaps:1}),this.reset();};jo.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();},jo.prototype.touchstart=function(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);},jo.prototype.touchmove=function(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);},jo.prototype.touchend=function(t,e,i){var o=this,r=this._zoomIn.touchend(t,e,i),a=this._zoomOut.touchend(t,e,i);return r?(this._active=!0,t.preventDefault(),setTimeout((function(){return o.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(r)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return o.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},jo.prototype.touchcancel=function(){this.reset();},jo.prototype.enable=function(){this._enabled=!0;},jo.prototype.disable=function(){this._enabled=!1,this.reset();},jo.prototype.isEnabled=function(){return this._enabled},jo.prototype.isActive=function(){return this._active};var Vo={0:1,2:2},Go=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1;};Go.prototype.blur=function(){this.reset();},Go.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton;},Go.prototype._correctButton=function(t,e){return !1},Go.prototype._move=function(t,e){return {}},Go.prototype.mousedown=function(t,e){if(!this._lastPoint){var o=i.mouseButton(t);this._correctButton(t,o)&&(this._lastPoint=e,this._eventButton=o);}},Go.prototype.mousemoveWindow=function(t,e){var i=this._lastPoint;if(i){ if(t.preventDefault(),function(t,e){var i=Vo[e];return void 0===t.buttons||(t.buttons&i)!==i}(t,this._eventButton)){ this.reset(); }else if(this._moved||!(e.dist(i)<this._clickTolerance)){ return this._moved=!0,this._lastPoint=e,this._move(i,e) } }},Go.prototype.mouseupWindow=function(t){this._lastPoint&&i.mouseButton(t)===this._eventButton&&(this._moved&&i.suppressClick(),this.reset());},Go.prototype.enable=function(){this._enabled=!0;},Go.prototype.disable=function(){this._enabled=!1,this.reset();},Go.prototype.isEnabled=function(){return this._enabled},Go.prototype.isActive=function(){return this._active};var Wo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.mousedown=function(e,i){t.prototype.mousedown.call(this,e,i),this._lastPoint&&(this._active=!0);},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return {around:e,panDelta:e.sub(t)}},e}(Go),Xo=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=.8*(e.x-t.x);if(i){ return this._active=!0,{bearingDelta:i} }},e.prototype.contextmenu=function(t){t.preventDefault();},e}(Go),Ho=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var i=-.5*(e.y-t.y);if(i){ return this._active=!0,{pitchDelta:i} }},e.prototype.contextmenu=function(t){t.preventDefault();},e}(Go),Ko=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset();};Ko.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0);},Ko.prototype.touchstart=function(t,e,i){return this._calculateTransform(t,e,i)},Ko.prototype.touchmove=function(t,e,i){if(this._active&&!(i.length<this._minTouches)){ return t.preventDefault(),this._calculateTransform(t,e,i) }},Ko.prototype.touchend=function(t,e,i){this._calculateTransform(t,e,i),this._active&&i.length<this._minTouches&&this.reset();},Ko.prototype.touchcancel=function(){this.reset();},Ko.prototype._calculateTransform=function(e,i,o){o.length>0&&(this._active=!0);var r=No(o,i),a=new t.Point(0,0),n=new t.Point(0,0),s=0;for(var l in r){var c=r[l],u=this._touches[l];u&&(a._add(c),n._add(c.sub(u)),s++,r[l]=c);}if(this._touches=r,!(s<this._minTouches)&&n.mag()){var h=n.div(s);if(this._sum._add(h),!(this._sum.mag()<this._clickTolerance)){ return {around:a.div(s),panDelta:h} }}},Ko.prototype.enable=function(){this._enabled=!0;},Ko.prototype.disable=function(){this._enabled=!1,this.reset();},Ko.prototype.isEnabled=function(){return this._enabled},Ko.prototype.isActive=function(){return this._active};var Yo=function(){this.reset();};function Jo(t,e,i){for(var o=0;o<t.length;o++){ if(t[o].identifier===i){ return e[o] } }}function Qo(t,e){return Math.log(t/e)/Math.LN2}Yo.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches;},Yo.prototype._start=function(t){},Yo.prototype._move=function(t,e,i){return {}},Yo.prototype.touchstart=function(t,e,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([e[0],e[1]]));},Yo.prototype.touchmove=function(t,e,i){if(this._firstTwoTouches){t.preventDefault();var o=this._firstTwoTouches,r=o[1],a=Jo(i,e,o[0]),n=Jo(i,e,r);if(a&&n){var s=this._aroundCenter?null:a.add(n).div(2);return this._move([a,n],s,t)}}},Yo.prototype.touchend=function(t,e,o){if(this._firstTwoTouches){var r=this._firstTwoTouches,a=r[1],n=Jo(o,e,r[0]),s=Jo(o,e,a);n&&s||(this._active&&i.suppressClick(),this.reset());}},Yo.prototype.touchcancel=function(){this.reset();},Yo.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around;},Yo.prototype.disable=function(){this._enabled=!1,this.reset();},Yo.prototype.isEnabled=function(){return this._enabled},Yo.prototype.isActive=function(){return this._active};var $o=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance;},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(Qo(this._distance,this._startDistance))<.1)){ return this._active=!0,{zoomDelta:Qo(this._distance,i),pinchAround:e} }},e}(Yo);function tr(t,e){return 180*t.angleWith(e)/Math.PI}var er=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector;},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1]);},e.prototype._move=function(t,e){var i=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector)){ return this._active=!0,{bearingDelta:tr(this._vector,i),pinchAround:e} }},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,i=tr(t,this._startVector);return Math.abs(i)<e},e}(Yo);function ir(t){return Math.abs(t.y)>Math.abs(t.x)}var or=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints;},e.prototype._start=function(t){this._lastPoints=t,ir(t[0].sub(t[1]))&&(this._valid=!1);},e.prototype._move=function(t,e,i){var o=t[0].sub(this._lastPoints[0]),r=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(o,r,i.timeStamp),this._valid){ return this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+r.y)/2*-.5} }},e.prototype.gestureBeginsVertically=function(t,e,i){if(void 0!==this._valid){ return this._valid; }var o=t.mag()>=2,r=e.mag()>=2;if(o||r){if(!o||!r){ return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0; }var a=t.y>0==e.y>0;return ir(t)&&ir(e)&&a}},e}(Yo),rr={panStep:100,bearingStep:15,pitchStep:10},ar=function(){var t=rr;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1;};function nr(t){return t*(2-t)}ar.prototype.blur=function(){this.reset();},ar.prototype.reset=function(){this._active=!1;},ar.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var i=0,o=0,r=0,a=0,n=0;switch(t.keyCode){case 61:case 107:case 171:case 187:i=1;break;case 189:case 109:case 173:i=-1;break;case 37:t.shiftKey?o=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?o=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),n=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),n=1);break;default:return}return this._rotationDisabled&&(o=0,r=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:\"keyboardHandler\",easing:nr,zoom:i?Math.round(l)+i*(t.shiftKey?2:1):l,bearing:s.getBearing()+o*e._bearingStep,pitch:s.getPitch()+r*e._pitchStep,offset:[-a*e._panStep,-n*e._panStep],center:s.getCenter()},{originalEvent:t});}}}},ar.prototype.enable=function(){this._enabled=!0;},ar.prototype.disable=function(){this._enabled=!1,this.reset();},ar.prototype.isEnabled=function(){return this._enabled},ar.prototype.isActive=function(){return this._active},ar.prototype.disableRotation=function(){this._rotationDisabled=!0;},ar.prototype.enableRotation=function(){this._rotationDisabled=!1;};var sr=function(e,i){this._map=e,this._el=e.getCanvasContainer(),this._handler=i,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll([\"_onTimeout\"],this);};sr.prototype.setZoomRate=function(t){this._defaultZoomRate=t;},sr.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t;},sr.prototype.isEnabled=function(){return !!this._enabled},sr.prototype.isActive=function(){return !!this._active||void 0!==this._finishTimeout},sr.prototype.isZooming=function(){return !!this._zooming},sr.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around);},sr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1);},sr.prototype.wheel=function(e){if(this.isEnabled()){var i=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,o=t.browser.now(),r=o-(this._lastWheelEventTime||0);this._lastWheelEventTime=o,0!==i&&i%4.000244140625==0?this._type=\"wheel\":0!==i&&Math.abs(i)<4?this._type=\"trackpad\":r>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(r*i)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),e.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=e,this._delta-=i,this._active||this._start(e)),e.preventDefault();}},sr.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},sr.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var o=i.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(o)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame());}},sr.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var i=this._map.transform;if(0!==this._delta){var o=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,r=2/(1+Math.exp(-Math.abs(this._delta*o)));this._delta<0&&0!==r&&(r=1/r);var a=\"number\"==typeof this._targetZoom?i.zoomScale(this._targetZoom):i.scale;this._targetZoom=Math.min(i.maxZoom,Math.max(i.minZoom,i.scaleZoom(a*r))),\"wheel\"===this._type&&(this._startZoom=i.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}var n,s=\"number\"==typeof this._targetZoom?this._targetZoom:i.zoom,l=this._startZoom,c=this._easing,u=!1;if(\"wheel\"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),p=c(h);n=t.number(l,s,p),h<1?this._frameId||(this._frameId=!0):u=!0;}else { n=s,u=!0; }return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:n-i.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},sr.prototype._smoothOutEasing=function(e){var i=t.ease;if(this._prevEase){var o=this._prevEase,r=(t.browser.now()-o.start)/o.duration,a=o.easing(r+.01)-o.easing(r),n=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-n*n);i=t.bezier(n,s,.25,1);}return this._prevEase={start:t.browser.now(),duration:e,easing:i},i},sr.prototype.blur=function(){this.reset();},sr.prototype.reset=function(){this._active=!1;};var lr=function(t,e){this._clickZoom=t,this._tapZoom=e;};lr.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable();},lr.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable();},lr.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},lr.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var cr=function(){this.reset();};cr.prototype.reset=function(){this._active=!1;},cr.prototype.blur=function(){this.reset();},cr.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(i){i.easeTo({duration:300,zoom:i.getZoom()+(t.shiftKey?-1:1),around:i.unproject(e)},{originalEvent:t});}}},cr.prototype.enable=function(){this._enabled=!0;},cr.prototype.disable=function(){this._enabled=!1,this.reset();},cr.prototype.isEnabled=function(){return this._enabled},cr.prototype.isActive=function(){return this._active};var ur=function(){this._tap=new qo({numTouches:1,numTaps:1}),this.reset();};ur.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset();},ur.prototype.touchstart=function(t,e,i){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=e[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(t,e,i));},ur.prototype.touchmove=function(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch){ return; }var o=e[0],r=o.y-this._swipePoint.y;return this._swipePoint=o,t.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else { this._tap.touchmove(t,e,i); }},ur.prototype.touchend=function(t,e,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(t,e,i)&&(this._tapTime=t.timeStamp);},ur.prototype.touchcancel=function(){this.reset();},ur.prototype.enable=function(){this._enabled=!0;},ur.prototype.disable=function(){this._enabled=!1,this.reset();},ur.prototype.isEnabled=function(){return this._enabled},ur.prototype.isActive=function(){return this._active};var hr=function(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;};hr.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\");},hr.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\");},hr.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},hr.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var pr=function(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;};pr.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();},pr.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable();},pr.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},pr.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var dr=function(t,e,i,o){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0;};dr.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\");},dr.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\");},dr.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},dr.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},dr.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable();},dr.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();};var _r=function(t){return t.zoom||t.drag||t.pitch||t.rotate},fr=function(t){function e(){t.apply(this,arguments);}return t&&(e.__proto__=t),(e.prototype=Object.create(t&&t.prototype)).constructor=e,e}(t.Event);function mr(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var gr=function(e,o){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ao(e),this._bearingSnap=o.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(o),t.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var r=this._el;this._listeners=[[r,\"touchstart\",{passive:!0}],[r,\"touchmove\",{passive:!1}],[r,\"touchend\",void 0],[r,\"touchcancel\",void 0],[r,\"mousedown\",void 0],[r,\"mousemove\",void 0],[r,\"mouseup\",void 0],[t.window.document,\"mousemove\",{capture:!0}],[t.window.document,\"mouseup\",void 0],[r,\"mouseover\",void 0],[r,\"mouseout\",void 0],[r,\"dblclick\",void 0],[r,\"click\",void 0],[r,\"keydown\",{capture:!1}],[r,\"keyup\",void 0],[r,\"wheel\",{passive:!1}],[r,\"contextmenu\",void 0],[t.window,\"blur\",void 0]];for(var a=0,n=this._listeners;a<n.length;a+=1){var s=n[a],l=s[0];i.addEventListener(l,s[1],l===t.window.document?this.handleWindowEvent:this.handleEvent,s[2]);}};gr.prototype.destroy=function(){for(var e=0,o=this._listeners;e<o.length;e+=1){var r=o[e],a=r[0];i.removeEventListener(a,r[1],a===t.window.document?this.handleWindowEvent:this.handleEvent,r[2]);}},gr.prototype._addDefaultHandlers=function(t){var e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new Oo(e,t));var o=e.boxZoom=new Uo(e,t);this._add(\"boxZoom\",o);var r=new jo,a=new cr;e.doubleClickZoom=new lr(a,r),this._add(\"tapZoom\",r),this._add(\"clickZoom\",a);var n=new ur;this._add(\"tapDragZoom\",n);var s=e.touchPitch=new or;this._add(\"touchPitch\",s);var l=new Xo(t),c=new Ho(t);e.dragRotate=new pr(t,l,c),this._add(\"mouseRotate\",l,[\"mousePitch\"]),this._add(\"mousePitch\",c,[\"mouseRotate\"]);var u=new Wo(t),h=new Ko(t);e.dragPan=new hr(i,u,h),this._add(\"mousePan\",u),this._add(\"touchPan\",h,[\"touchZoom\",\"touchRotate\"]);var p=new er,d=new $o;e.touchZoomRotate=new dr(i,d,p,n),this._add(\"touchRotate\",p,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",d,[\"touchPan\",\"touchRotate\"]);var _=e.scrollZoom=new sr(e,this);this._add(\"scrollZoom\",_,[\"mousePan\"]);var f=e.keyboard=new ar;this._add(\"keyboard\",f),this._add(\"blockableMapEvent\",new Fo(e));for(var m=0,g=[\"boxZoom\",\"doubleClickZoom\",\"tapDragZoom\",\"touchPitch\",\"dragRotate\",\"dragPan\",\"touchZoomRotate\",\"scrollZoom\",\"keyboard\"];m<g.length;m+=1){var v=g[m];t.interactive&&t[v]&&e[v].enable(t[v]);}},gr.prototype._add=function(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;},gr.prototype.stop=function(t){if(!this._updatingCamera){for(var e=0,i=this._handlers;e<i.length;e+=1){ i[e].handler.reset(); }this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}},gr.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1){ if(e[t].handler.isActive()){ return !0; } }return !1},gr.prototype.isZooming=function(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},gr.prototype.isRotating=function(){return !!this._eventsInProgress.rotate},gr.prototype.isMoving=function(){return Boolean(_r(this._eventsInProgress))||this.isZooming()},gr.prototype._blockedByActive=function(t,e,i){for(var o in t){ if(o!==i&&(!e||e.indexOf(o)<0)){ return !0; } }return !1},gr.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+\"Window\");},gr.prototype._getMapTouches=function(t){for(var e=[],i=0,o=t;i<o.length;i+=1){var r=o[i];this._el.contains(r.target)&&e.push(r);}return e},gr.prototype.handleEvent=function(t,e){this._updatingCamera=!0;for(var o=\"renderFrame\"===t.type?void 0:t,r={needsRenderFrame:!1},a={},n={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?i.touchPos(this._el,s):i.mousePos(this._el,t),c=0,u=this._handlers;c<u.length;c+=1){var h=u[c],p=h.handlerName,d=h.handler,_=h.allowed;if(d.isEnabled()){var f=void 0;this._blockedByActive(n,_,p)?d.reset():d[e||t.type]&&(f=d[e||t.type](t,l,s),this.mergeHandlerResult(r,a,f,p,o),f&&f.needsRenderFrame&&this._triggerRenderFrame()),(f||d.isActive())&&(n[p]=d);}}var m={};for(var g in this._previousActiveHandlers){ n[g]||(m[g]=o); }this._previousActiveHandlers=n,(Object.keys(m).length||mr(r))&&(this._changes.push([r,a,m]),this._triggerRenderFrame()),(Object.keys(n).length||mr(r))&&this._map._stop(!0),this._updatingCamera=!1;var v=r.cameraAnimation;v&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],v(this._map));},gr.prototype.mergeHandlerResult=function(e,i,o,r,a){if(o){t.extend(e,o);var n={handlerName:r,originalEvent:o.originalEvent||a};void 0!==o.zoomDelta&&(i.zoom=n),void 0!==o.panDelta&&(i.drag=n),void 0!==o.pitchDelta&&(i.pitch=n),void 0!==o.bearingDelta&&(i.rotate=n);}},gr.prototype._applyChanges=function(){for(var e={},i={},o={},r=0,a=this._changes;r<a.length;r+=1){var n=a[r],s=n[0],l=n[1],c=n[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(i,l),t.extend(o,c);}this._updateMapTransform(e,i,o),this._changes=[];},gr.prototype._updateMapTransform=function(t,e,i){var o=this._map,r=o.transform;if(!mr(t)){ return this._fireEvents(e,i,!0); }var a=t.panDelta,n=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,c=t.around,u=t.pinchAround;void 0!==u&&(c=u),o._stop(!0),c=c||o.transform.centerPoint;var h=r.pointLocation(a?c.sub(a):c);s&&(r.bearing+=s),l&&(r.pitch+=l),n&&(r.zoom+=n),r.setLocationAtPoint(h,c),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);},gr.prototype._fireEvents=function(e,i,o){var r=this,a=_r(this._eventsInProgress),n=_r(e),s={};for(var l in e){ this._eventsInProgress[l]||(s[l+\"start\"]=e[l].originalEvent),this._eventsInProgress[l]=e[l]; }for(var c in !a&&n&&this._fireEvent(\"movestart\",n.originalEvent),s){ this._fireEvent(c,s[c]); }for(var u in n&&this._fireEvent(\"move\",n.originalEvent),e){ this._fireEvent(u,e[u].originalEvent); }var h,p={};for(var d in this._eventsInProgress){var _=this._eventsInProgress[d],f=_.handlerName,m=_.originalEvent;this._handlersById[f].isActive()||(delete this._eventsInProgress[d],p[d+\"end\"]=h=i[f]||m);}for(var g in p){ this._fireEvent(g,p[g]); }var v=_r(this._eventsInProgress);if(o&&(a||n)&&!v){this._updatingCamera=!0;var y=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),x=function(t){return 0!==t&&-r._bearingSnap<t&&t<r._bearingSnap};y?(x(y.bearing||this._map.getBearing())&&(y.bearing=0),this._map.easeTo(y,{originalEvent:h})):(this._map.fire(new t.Event(\"moveend\",{originalEvent:h})),x(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1;}},gr.prototype._fireEvent=function(e,i){this._map.fire(new t.Event(e,i?{originalEvent:i}:{}));},gr.prototype._requestFrame=function(){var t=this;return this._map.triggerRepaint(),this._map._renderTaskQueue.add((function(e){delete t._frameId,t.handleEvent(new fr(\"renderFrame\",{timeStamp:e})),t._applyChanges();}))},gr.prototype._triggerRenderFrame=function(){void 0===this._frameId&&(this._frameId=this._requestFrame());};var vr=function(e){function i(i,o){e.call(this),this._moving=!1,this._zooming=!1,this.transform=i,this._bearingSnap=o.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this);}return e&&(i.__proto__=e),(i.prototype=Object.create(e&&e.prototype)).constructor=i,i.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},i.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},i.prototype.panBy=function(e,i,o){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},i),o)},i.prototype.panTo=function(e,i,o){return this.easeTo(t.extend({center:e},i),o)},i.prototype.getZoom=function(){return this.transform.zoom},i.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},i.prototype.zoomTo=function(e,i,o){return this.easeTo(t.extend({zoom:e},i),o)},i.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},i.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},i.prototype.getBearing=function(){return this.transform.bearing},i.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},i.prototype.getPadding=function(){return this.transform.padding},i.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},i.prototype.rotateTo=function(e,i,o){return this.easeTo(t.extend({bearing:e},i),o)},i.prototype.resetNorth=function(e,i){return this.rotateTo(0,t.extend({duration:1e3},e),i),this},i.prototype.resetNorthPitch=function(e,i){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),i),this},i.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},i.prototype.getPitch=function(){return this.transform.pitch},i.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},i.prototype.cameraForBounds=function(e,i){e=t.LngLatBounds.convert(e);var o=i&&i.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),o,i)},i.prototype._cameraForBoxAndBearing=function(e,i,o,r){var a={top:0,bottom:0,right:0,left:0};if(\"number\"==typeof(r=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){var n=r.padding;r.padding={top:n,bottom:n,right:n,left:n};}r.padding=t.extend(a,r.padding);var s=this.transform,l=s.padding,c=s.project(t.LngLat.convert(e)),u=s.project(t.LngLat.convert(i)),h=c.rotate(-o*Math.PI/180),p=u.rotate(-o*Math.PI/180),d=new t.Point(Math.max(h.x,p.x),Math.max(h.y,p.y)),_=new t.Point(Math.min(h.x,p.x),Math.min(h.y,p.y)),f=d.sub(_),m=(s.width-(l.left+l.right+r.padding.left+r.padding.right))/f.x,g=(s.height-(l.top+l.bottom+r.padding.top+r.padding.bottom))/f.y;if(!(g<0||m<0)){var v=Math.min(s.scaleZoom(s.scale*Math.min(m,g)),r.maxZoom),y=\"number\"==typeof r.offset.x?new t.Point(r.offset.x,r.offset.y):t.Point.convert(r.offset),x=new t.Point((r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2).rotate(o*Math.PI/180),b=y.add(x).mult(s.scale/s.zoomScale(v));return {center:s.unproject(c.add(u).div(2).sub(b)),zoom:v,bearing:o}}t.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\");},i.prototype.fitBounds=function(t,e,i){return this._fitInternal(this.cameraForBounds(t,e),e,i)},i.prototype.fitScreenCoordinates=function(e,i,o,r,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(i)),o,r),r,a)},i.prototype._fitInternal=function(e,i,o){return e?(delete(i=t.extend(e,i)).padding,i.linear?this.easeTo(i,o):this.flyTo(i,o)):this},i.prototype.jumpTo=function(e,i){this.stop();var o=this.transform,r=!1,a=!1,n=!1;return \"zoom\"in e&&o.zoom!==+e.zoom&&(r=!0,o.zoom=+e.zoom),void 0!==e.center&&(o.center=t.LngLat.convert(e.center)),\"bearing\"in e&&o.bearing!==+e.bearing&&(a=!0,o.bearing=+e.bearing),\"pitch\"in e&&o.pitch!==+e.pitch&&(n=!0,o.pitch=+e.pitch),null==e.padding||o.isPaddingEqual(e.padding)||(o.padding=e.padding),this.fire(new t.Event(\"movestart\",i)).fire(new t.Event(\"move\",i)),r&&this.fire(new t.Event(\"zoomstart\",i)).fire(new t.Event(\"zoom\",i)).fire(new t.Event(\"zoomend\",i)),a&&this.fire(new t.Event(\"rotatestart\",i)).fire(new t.Event(\"rotate\",i)).fire(new t.Event(\"rotateend\",i)),n&&this.fire(new t.Event(\"pitchstart\",i)).fire(new t.Event(\"pitch\",i)).fire(new t.Event(\"pitchend\",i)),this.fire(new t.Event(\"moveend\",i))},i.prototype.easeTo=function(e,i){var o=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var r=this.transform,a=this.getZoom(),n=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c=\"zoom\"in e?+e.zoom:a,u=\"bearing\"in e?this._normalizeBearing(e.bearing,n):n,h=\"pitch\"in e?+e.pitch:s,p=\"padding\"in e?e.padding:r.padding,d=t.Point.convert(e.offset),_=r.centerPoint.add(d),f=r.pointLocation(_),m=t.LngLat.convert(e.center||f);this._normalizeCenter(m);var g,v,y=r.project(f),x=r.project(m).sub(y),b=r.zoomScale(c-a);e.around&&(g=t.LngLat.convert(e.around),v=r.locationPoint(g));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||c!==a,this._rotating=this._rotating||n!==u,this._pitching=this._pitching||h!==s,this._padding=!r.isPaddingEqual(p),this._easeId=e.easeId,this._prepareEase(i,e.noMoveStart,w),this._ease((function(e){if(o._zooming&&(r.zoom=t.number(a,c,e)),o._rotating&&(r.bearing=t.number(n,u,e)),o._pitching&&(r.pitch=t.number(s,h,e)),o._padding&&(r.interpolatePadding(l,p,e),_=r.centerPoint.add(d)),g){ r.setLocationAtPoint(g,v); }else {var f=r.zoomScale(r.zoom-a),m=c>a?Math.min(2,b):Math.max(.5,b),w=Math.pow(m,1-e),T=r.unproject(y.add(x.mult(e*w)).mult(f));r.setLocationAtPoint(r.renderWorldCopies?T.wrap():T,_);}o._fireMoveEvents(i);}),(function(t){o._afterEase(i,t);}),e),this},i.prototype._prepareEase=function(e,i,o){void 0===o&&(o={}),this._moving=!0,i||o.moving||this.fire(new t.Event(\"movestart\",e)),this._zooming&&!o.zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&!o.rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&!o.pitching&&this.fire(new t.Event(\"pitchstart\",e));},i.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e));},i.prototype._afterEase=function(e,i){if(!this._easeId||!i||this._easeId!==i){delete this._easeId;var o=this._zooming,r=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,o&&this.fire(new t.Event(\"zoomend\",e)),r&&this.fire(new t.Event(\"rotateend\",e)),a&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e));}},i.prototype.flyTo=function(e,i){var o=this;if(!e.essential&&t.browser.prefersReducedMotion){var r=t.pick(e,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(r,i)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,n=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u=\"zoom\"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):n,h=\"bearing\"in e?this._normalizeBearing(e.bearing,s):s,p=\"pitch\"in e?+e.pitch:l,d=\"padding\"in e?e.padding:a.padding,_=a.zoomScale(u-n),f=t.Point.convert(e.offset),m=a.centerPoint.add(f),g=a.pointLocation(m),v=t.LngLat.convert(e.center||g);this._normalizeCenter(v);var y=a.project(g),x=a.project(v).sub(y),b=e.curve,w=Math.max(a.width,a.height),T=w/_,E=x.mag();if(\"minZoom\"in e){var I=t.clamp(Math.min(e.minZoom,n,u),a.minZoom,a.maxZoom),P=w/a.zoomScale(I-n);b=Math.sqrt(P/E*2);}var S=b*b;function C(t){var e=(T*T-w*w+(t?-1:1)*S*S*E*E)/(2*(t?T:w)*S*E);return Math.log(Math.sqrt(e*e+1)-e)}function z(t){return (Math.exp(t)-Math.exp(-t))/2}function D(t){return (Math.exp(t)+Math.exp(-t))/2}var A=C(0),M=function(t){return D(A)/D(A+b*t)},L=function(t){return w*((D(A)*(z(e=A+b*t)/D(e))-z(A))/S)/E;var e;},R=(C(1)-A)/b;if(Math.abs(E)<1e-6||!isFinite(R)){if(Math.abs(w-T)<1e-6){ return this.easeTo(e,i); }var k=T<w?-1:1;R=Math.abs(Math.log(T/w))/b,L=function(){return 0},M=function(t){return Math.exp(k*b*t)};}return e.duration=\"duration\"in e?+e.duration:1e3*R/(\"screenSpeed\"in e?+e.screenSpeed/b:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=p!==l,this._padding=!a.isPaddingEqual(d),this._prepareEase(i,!1),this._ease((function(e){var r=e*R,_=1/M(r);a.zoom=1===e?u:n+a.scaleZoom(_),o._rotating&&(a.bearing=t.number(s,h,e)),o._pitching&&(a.pitch=t.number(l,p,e)),o._padding&&(a.interpolatePadding(c,d,e),m=a.centerPoint.add(f));var g=1===e?v:a.unproject(y.add(x.mult(L(r))).mult(_));a.setLocationAtPoint(a.renderWorldCopies?g.wrap():g,m),o._fireMoveEvents(i);}),(function(){return o._afterEase(i)}),e),this},i.prototype.isEasing=function(){return !!this._easeFrameId},i.prototype.stop=function(){return this._stop()},i.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var i=this._onEaseEnd;delete this._onEaseEnd,i.call(this,e);}if(!t){var o=this.handlers;o&&o.stop(!1);}return this},i.prototype._ease=function(e,i,o){!1===o.animate||0===o.duration?(e(1),i()):(this._easeStart=t.browser.now(),this._easeOptions=o,this._onEaseFrame=e,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));},i.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},i.prototype._normalizeBearing=function(e,i){e=t.wrap(e,-180,180);var o=Math.abs(e-i);return Math.abs(e-360-i)<o&&(e-=360),Math.abs(e+360-i)<o&&(e+=360),e},i.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var i=t.lng-e.center.lng;t.lng+=i>180?-360:i<-180?360:0;}},i}(t.Evented),yr=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this);};yr.prototype.getDefaultPosition=function(){return \"bottom-right\"},yr.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=i.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=i.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},yr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0;},yr.prototype._setElementTitle=function(t,e){var i=this._map._getUIString(\"AttributionControl.\"+e);t.title=i,t.setAttribute(\"aria-label\",i);},yr.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"));},yr.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var i=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var o=i.reduce((function(t,e,o){return e.value&&(t+=e.key+\"=\"+e.value+(o<i.length-1?\"&\":\"\")),t}),\"?\");e.href=t.config.FEEDBACK_URL+\"/\"+o+(this._map._hash?this._map._hash.getHashString(!0):\"\"),e.rel=\"noopener nofollow\",this._setElementTitle(e,\"MapFeedback\");}},yr.prototype._updateData=function(t){!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType||(this._updateAttributions(),this._updateEditLink());},yr.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return \"string\"!=typeof t?\"\":t}))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id;}var i=this._map.style.sourceCaches;for(var o in i){var r=i[o];if(r.used){var a=r.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution);}}t.sort((function(t,e){return t.length-e.length}));var n=(t=t.filter((function(e,i){for(var o=i+1;o<t.length;o++){ if(t[o].indexOf(e)>=0){ return !1; } }return !0}))).join(\" | \");n!==this._attribHTML&&(this._attribHTML=n,t.length?(this._innerContainer.innerHTML=n,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null);}},yr.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\");};var xr=function(){t.bindAll([\"_updateLogo\"],this),t.bindAll([\"_updateCompact\"],this);};xr.prototype.onAdd=function(t){this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl\");var e=i.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},xr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact);},xr.prototype.getDefaultPosition=function(){return \"bottom-left\"},xr.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\");},xr.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t){ if(t[e].getSource().mapbox_logo){ return !0; } }return !1}},xr.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add(\"mapboxgl-compact\"):e.classList.remove(\"mapboxgl-compact\");}};var br=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;};br.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},br.prototype.remove=function(t){for(var e=this._currentlyRunning,i=0,o=e?this._queue.concat(e):this._queue;i<o.length;i+=1){var r=o[i];if(r.id===t){ return void(r.cancelled=!0) }}},br.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var i=0,o=e;i<o.length;i+=1){var r=o[i];if(!r.cancelled&&(r.callback(t),this._cleared)){ break }}this._cleared=!1,this._currentlyRunning=!1;},br.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];};var wr={\"AttributionControl.ToggleAttribution\":\"Toggle attribution\",\"AttributionControl.MapFeedback\":\"Map feedback\",\"FullscreenControl.Enter\":\"Enter fullscreen\",\"FullscreenControl.Exit\":\"Exit fullscreen\",\"GeolocateControl.FindMyLocation\":\"Find my location\",\"GeolocateControl.LocationNotAvailable\":\"Location not available\",\"LogoControl.Title\":\"Mapbox logo\",\"NavigationControl.ResetBearing\":\"Reset bearing to north\",\"NavigationControl.ZoomIn\":\"Zoom in\",\"NavigationControl.ZoomOut\":\"Zoom out\",\"ScaleControl.Feet\":\"ft\",\"ScaleControl.Meters\":\"m\",\"ScaleControl.Kilometers\":\"km\",\"ScaleControl.Miles\":\"mi\",\"ScaleControl.NauticalMiles\":\"nm\"},Tr=t.window.HTMLImageElement,Er=t.window.HTMLElement,Ir=t.window.ImageBitmap,Pr={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:\"sans-serif\",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Sr=function(o){function r(e){var i=this;if(null!=(e=t.extend({},Pr,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom){ throw new Error(\"maxZoom must be greater than or equal to minZoom\"); }if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch){ throw new Error(\"maxPitch must be greater than or equal to minPitch\"); }if(null!=e.minPitch&&e.minPitch<0){ throw new Error(\"minPitch must be greater than or equal to 0\"); }if(null!=e.maxPitch&&e.maxPitch>60){ throw new Error(\"maxPitch must be less than or equal to 60\"); }var r=new To(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(o.call(this,r,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new br,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},wr,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),\"string\"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container){ throw new Error(\"Container '\"+e.container+\"' not found.\") }}else {if(!(e.container instanceof Er)){ throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\"); }this._container=e.container;}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter){ throw new Error(\"Failed to initialize WebGL.\"); }this.on(\"move\",(function(){return i._update(!1)})),this.on(\"moveend\",(function(){return i._update(!1)})),this.on(\"zoom\",(function(){return i._update(!0)})),void 0!==t.window&&(t.window.addEventListener(\"online\",this._onWindowOnline,!1),t.window.addEventListener(\"resize\",this._onWindowResize,!1),t.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new gr(this,e),this._hash=e.hash&&new Io(\"string\"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new yr({customAttribution:e.customAttribution})),this.addControl(new xr,e.logoPosition),this.on(\"style.load\",(function(){i.transform.unmodified&&i.jumpTo(i.style.stylesheet);})),this.on(\"data\",(function(e){i._update(\"style\"===e.dataType),i.fire(new t.Event(e.dataType+\"data\",e));})),this.on(\"dataloading\",(function(e){i.fire(new t.Event(e.dataType+\"dataloading\",e));}));}o&&(r.__proto__=o),(r.prototype=Object.create(o&&o.prototype)).constructor=r;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return r.prototype._getMapId=function(){return this._mapId},r.prototype.addControl=function(e,i){if(void 0===i&&(i=e.getDefaultPosition?e.getDefaultPosition():\"top-right\"),!e||!e.onAdd){ return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\"))); }var o=e.onAdd(this);this._controls.push(e);var r=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?r.insertBefore(o,r.firstChild):r.appendChild(o),this},r.prototype.removeControl=function(e){if(!e||!e.onRemove){ return this.fire(new t.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\"))); }var i=this._controls.indexOf(e);return i>-1&&this._controls.splice(i,1),e.onRemove(this),this},r.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},r.prototype.resize=function(e){var i=this._containerDimensions(),o=i[0],r=i[1];if(o===this.transform.width&&r===this.transform.height){ return this; }this._resizeCanvas(o,r),this.transform.resize(o,r),this.painter.resize(o,r);var a=!this._moving;return a&&this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e)),this.fire(new t.Event(\"resize\",e)),a&&this.fire(new t.Event(\"moveend\",e)),this},r.prototype.getBounds=function(){return this.transform.getBounds()},r.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},r.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},r.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom){ return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this; }throw new Error(\"minZoom must be between -2 and the current maxZoom, inclusive\")},r.prototype.getMinZoom=function(){return this.transform.minZoom},r.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom){ return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this; }throw new Error(\"maxZoom must be greater than the current minZoom\")},r.prototype.getMaxZoom=function(){return this.transform.maxZoom},r.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0){ throw new Error(\"minPitch must be greater than or equal to 0\"); }if(t>=0&&t<=this.transform.maxPitch){ return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this; }throw new Error(\"minPitch must be between 0 and the current maxPitch, inclusive\")},r.prototype.getMinPitch=function(){return this.transform.minPitch},r.prototype.setMaxPitch=function(t){if((t=null==t?60:t)>60){ throw new Error(\"maxPitch must be less than or equal to 60\"); }if(t>=this.transform.minPitch){ return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this; }throw new Error(\"maxPitch must be greater than the current minPitch\")},r.prototype.getMaxPitch=function(){return this.transform.maxPitch},r.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},r.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},r.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},r.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},r.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},r.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},r.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},r.prototype._createDelegatedListener=function(t,e,i){var o,r=this;if(\"mouseenter\"===t||\"mouseover\"===t){var a=!1;return {layer:e,listener:i,delegates:{mousemove:function(o){var n=r.getLayer(e)?r.queryRenderedFeatures(o.point,{layers:[e]}):[];n.length?a||(a=!0,i.call(r,new Ro(t,r,o.originalEvent,{features:n}))):a=!1;},mouseout:function(){a=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var n=!1;return {layer:e,listener:i,delegates:{mousemove:function(o){(r.getLayer(e)?r.queryRenderedFeatures(o.point,{layers:[e]}):[]).length?n=!0:n&&(n=!1,i.call(r,new Ro(t,r,o.originalEvent)));},mouseout:function(e){n&&(n=!1,i.call(r,new Ro(t,r,e.originalEvent)));}}}}return {layer:e,listener:i,delegates:(o={},o[t]=function(t){var o=r.getLayer(e)?r.queryRenderedFeatures(t.point,{layers:[e]}):[];o.length&&(t.features=o,i.call(r,t),delete t.features);},o)}},r.prototype.on=function(t,e,i){if(void 0===i){ return o.prototype.on.call(this,t,e); }var r=this._createDelegatedListener(t,e,i);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r),r.delegates){ this.on(a,r.delegates[a]); }return this},r.prototype.once=function(t,e,i){if(void 0===i){ return o.prototype.once.call(this,t,e); }var r=this._createDelegatedListener(t,e,i);for(var a in r.delegates){ this.once(a,r.delegates[a]); }return this},r.prototype.off=function(t,e,i){var r=this;return void 0===i?o.prototype.off.call(this,t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&function(o){for(var a=o[t],n=0;n<a.length;n++){var s=a[n];if(s.layer===e&&s.listener===i){for(var l in s.delegates){ r.off(l,s.delegates[l]); }return a.splice(n,1),r}}}(this._delegatedListeners),this)},r.prototype.queryRenderedFeatures=function(e,i){if(!this.style){ return []; }var o;if(void 0!==i||void 0===e||e instanceof t.Point||Array.isArray(e)||(i=e,e=void 0),i=i||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||\"number\"==typeof e[0]){ o=[t.Point.convert(e)]; }else {var r=t.Point.convert(e[0]),a=t.Point.convert(e[1]);o=[r,new t.Point(a.x,r.y),a,new t.Point(r.x,a.y),r];}return this.style.queryRenderedFeatures(o,i,this.transform)},r.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},r.prototype.setStyle=function(e,i){return !1!==(i=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},i)).diff&&i.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,i),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._updateStyle(e,i))},r.prototype._getUIString=function(t){var e=this._locale[t];if(null==e){ throw new Error(\"Missing UI string '\"+t+\"'\"); }return e},r.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new je(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},r.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new je(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());},r.prototype._diffStyle=function(e,i){var o=this;if(\"string\"==typeof e){var r=this._requestManager.normalizeStyleURL(e),a=this._requestManager.transformRequest(r,t.ResourceType.Style);t.getJSON(a,(function(e,r){e?o.fire(new t.ErrorEvent(e)):r&&o._updateDiff(r,i);}));}else { \"object\"==typeof e&&this._updateDiff(e,i); }},r.prototype._updateDiff=function(e,i){try{this.style.setState(e)&&this._update(!0);}catch(o){t.warnOnce(\"Unable to perform style diff: \"+(o.message||o.error||o)+\". Rebuilding the style from scratch.\"),this._updateStyle(e,i);}},r.prototype.getStyle=function(){if(this.style){ return this.style.serialize() }},r.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")},r.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},r.prototype.isSourceLoaded=function(e){var i=this.style&&this.style.sourceCaches[e];if(void 0!==i){ return i.loaded(); }this.fire(new t.ErrorEvent(new Error(\"There is no source with ID '\"+e+\"'\")));},r.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var i=t[e]._tiles;for(var o in i){var r=i[o];if(\"loaded\"!==r.state&&\"errored\"!==r.state){ return !1 }}}return !0},r.prototype.addSourceType=function(t,e,i){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,i)},r.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},r.prototype.getSource=function(t){return this.style.getSource(t)},r.prototype.addImage=function(e,i,o){void 0===o&&(o={});var r=o.pixelRatio;void 0===r&&(r=1);var a=o.sdf;void 0===a&&(a=!1);var n=o.stretchX,s=o.stretchY,l=o.content;if(this._lazyInitEmptyStyle(),i instanceof Tr||Ir&&i instanceof Ir){var c=t.browser.getImageData(i);this.style.addImage(e,{data:new t.RGBAImage({width:c.width,height:c.height},c.data),pixelRatio:r,stretchX:n,stretchY:s,content:l,sdf:a,version:0});}else {if(void 0===i.width||void 0===i.height){ return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\"))); }var u=i;this.style.addImage(e,{data:new t.RGBAImage({width:i.width,height:i.height},new Uint8Array(i.data)),pixelRatio:r,stretchX:n,stretchY:s,content:l,sdf:a,version:0,userImage:u}),u.onAdd&&u.onAdd(this,e);}},r.prototype.updateImage=function(e,i){var o=this.style.getImage(e);if(!o){ return this.fire(new t.ErrorEvent(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\"))); }var r=i instanceof Tr||Ir&&i instanceof Ir?t.browser.getImageData(i):i,a=r.width,n=r.height,s=r.data;return void 0===a||void 0===n?this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\"))):a!==o.data.width||n!==o.data.height?this.fire(new t.ErrorEvent(new Error(\"The width and height of the updated image must be that same as the previous version of the image\"))):(o.data.replace(s,!(i instanceof Tr||Ir&&i instanceof Ir)),void this.style.updateImage(e,o))},r.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)},r.prototype.removeImage=function(t){this.style.removeImage(t);},r.prototype.loadImage=function(e,i){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),i);},r.prototype.listImages=function(){return this.style.listImages()},r.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},r.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},r.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},r.prototype.getLayer=function(t){return this.style.getLayer(t)},r.prototype.setLayerZoomRange=function(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)},r.prototype.setFilter=function(t,e,i){return void 0===i&&(i={}),this.style.setFilter(t,e,i),this._update(!0)},r.prototype.getFilter=function(t){return this.style.getFilter(t)},r.prototype.setPaintProperty=function(t,e,i,o){return void 0===o&&(o={}),this.style.setPaintProperty(t,e,i,o),this._update(!0)},r.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},r.prototype.setLayoutProperty=function(t,e,i,o){return void 0===o&&(o={}),this.style.setLayoutProperty(t,e,i,o),this._update(!0)},r.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},r.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},r.prototype.getLight=function(){return this.style.getLight()},r.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},r.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},r.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},r.prototype.getContainer=function(){return this._container},r.prototype.getCanvasContainer=function(){return this._canvasContainer},r.prototype.getCanvas=function(){return this._canvas},r.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},r.prototype._detectMissingCSS=function(){\"rgb(250, 128, 114)\"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue(\"background-color\")&&t.warnOnce(\"This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.\");},r.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSCanary=i.create(\"div\",\"mapboxgl-canary\",t)).style.visibility=\"hidden\",this._detectMissingCSS();var e=this._canvasContainer=i.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=i.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");var o=this._containerDimensions();this._resizeCanvas(o[0],o[1]);var r=this._controlContainer=i.create(\"div\",\"mapboxgl-control-container\",t),a=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((function(t){a[t]=i.create(\"div\",\"mapboxgl-ctrl-\"+t,r);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);},r.prototype._resizeCanvas=function(e,i){var o=t.browser.devicePixelRatio||1;this._canvas.width=o*e,this._canvas.height=o*i,this._canvas.style.width=e+\"px\",this._canvas.style.height=i+\"px\";},r.prototype._setupPainter=function(){var i=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),o=this._canvas.getContext(\"webgl\",i)||this._canvas.getContext(\"experimental-webgl\",i);o?(this.painter=new yo(o,this.transform),t.webpSupported.testSupport(o)):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")));},r.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}));},r.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}));},r.prototype._onMapScroll=function(t){if(t.target===this._container){ return this._container.scrollTop=0,this._container.scrollLeft=0,!1 }},r.prototype.loaded=function(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},r.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},r.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},r.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t);},r.prototype._render=function(e){var i,o=this,r=0,a=this.painter.context.extTimerQuery;if(this.listens(\"gpu-timing-frame\")&&(i=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,i),r=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var c=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),u=c.crossFadingFactor();1===u&&u===this._crossFadingFactor||(n=!0,this._crossFadingFactor=u),this.style.update(c);}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens(\"gpu-timing-layer\")}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens(\"gpu-timing-frame\")){var h=t.browser.now()-r;a.endQueryEXT(a.TIME_ELAPSED_EXT,i),setTimeout((function(){var e=a.getQueryObjectEXT(i,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(i),o.fire(new t.Event(\"gpu-timing-frame\",{cpuTime:h,gpuTime:e}));}),50);}if(this.listens(\"gpu-timing-layer\")){var p=this.painter.collectGpuTimers();setTimeout((function(){var e=o.painter.queryGpuTimers(p);o.fire(new t.Event(\"gpu-timing-layer\",{layerTimes:e}));}),50);}var d=this._sourcesDirty||this._styleDirty||this._placementDirty;return d||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event(\"idle\")),!this._loaded||this._fullyLoaded||d||(this._fullyLoaded=!0),this}},r.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,i=this._controls;e<i.length;e+=1){ i[e].onRemove(this); }this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener(\"resize\",this._onWindowResize,!1),t.window.removeEventListener(\"orientationchange\",this._onWindowResize,!1),t.window.removeEventListener(\"online\",this._onWindowOnline,!1));var o=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");o&&o.loseContext(),Cr(this._canvasContainer),Cr(this._controlContainer),Cr(this._missingCSSCanary),this._container.classList.remove(\"mapboxgl-map\"),this._removed=!0,this.fire(new t.Event(\"remove\"));},r.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t);})));},r.prototype._onWindowOnline=function(){this._update();},r.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update();},a.showTileBoundaries.get=function(){return !!this._showTileBoundaries},a.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());},a.showPadding.get=function(){return !!this._showPadding},a.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update());},a.showCollisionBoxes.get=function(){return !!this._showCollisionBoxes},a.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());},a.showOverdrawInspector.get=function(){return !!this._showOverdrawInspector},a.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());},a.repaint.get=function(){return !!this._repaint},a.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());},a.vertices.get=function(){return !!this._vertices},a.vertices.set=function(t){this._vertices=t,this._update();},r.prototype._setCacheLimits=function(e,i){t.setCacheLimits(e,i);},a.version.get=function(){return t.version},Object.defineProperties(r.prototype,a),r}(vr);function Cr(t){t.parentNode&&t.parentNode.removeChild(t);}var zr={showCompass:!0,showZoom:!0,visualizePitch:!1},Dr=function(e){var o=this;this.options=t.extend({},zr,e),this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll([\"_setButtonTitle\",\"_updateZoomButtons\"],this),this._zoomInButton=this._createButton(\"mapboxgl-ctrl-zoom-in\",(function(t){return o._map.zoomIn({},{originalEvent:t})})),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",!0),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-zoom-out\",(function(t){return o._map.zoomOut({},{originalEvent:t})})),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",!0)),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-compass\",(function(t){o.options.visualizePitch?o._map.resetNorthPitch({},{originalEvent:t}):o._map.resetNorth({},{originalEvent:t});})),this._compassIcon=i.create(\"span\",\"mapboxgl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",!0));};Dr.prototype._updateZoomButtons=function(){var t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",i.toString());},Dr.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?\"scale(\"+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+\") rotateX(\"+this._map.transform.pitch+\"deg) rotateZ(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\":\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassIcon.style.transform=t;},Dr.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ar(this._map,this._compass,this.options.visualizePitch)),this._container},Dr.prototype.onRemove=function(){i.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;},Dr.prototype._createButton=function(t,e){var o=i.create(\"button\",t,this._container);return o.type=\"button\",o.addEventListener(\"click\",e),o},Dr.prototype._setButtonTitle=function(t,e){var i=this._map._getUIString(\"NavigationControl.\"+e);t.title=i,t.setAttribute(\"aria-label\",i);};var Ar=function(e,o,r){void 0===r&&(r=!1),this._clickTolerance=10,this.element=o,this.mouseRotate=new Xo({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,r&&(this.mousePitch=new Ho({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll([\"mousedown\",\"mousemove\",\"mouseup\",\"touchstart\",\"touchmove\",\"touchend\",\"reset\"],this),i.addEventListener(o,\"mousedown\",this.mousedown),i.addEventListener(o,\"touchstart\",this.touchstart,{passive:!1}),i.addEventListener(o,\"touchmove\",this.touchmove),i.addEventListener(o,\"touchend\",this.touchend),i.addEventListener(o,\"touchcancel\",this.reset);};function Mr(e,i,o){if(e=new t.LngLat(e.lng,e.lat),i){var r=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),n=o.locationPoint(e).distSqr(i);o.locationPoint(r).distSqr(i)<n?e=r:o.locationPoint(a).distSqr(i)<n&&(e=a);}for(;Math.abs(e.lng-o.center.lng)>180;){var s=o.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=o.width&&s.y<=o.height){ break; }e.lng>o.center.lng?e.lng-=360:e.lng+=360;}return e}Ar.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),i.disableDrag();},Ar.prototype.move=function(t,e){var i=this.map,o=this.mouseRotate.mousemoveWindow(t,e);if(o&&o.bearingDelta&&i.setBearing(i.getBearing()+o.bearingDelta),this.mousePitch){var r=this.mousePitch.mousemoveWindow(t,e);r&&r.pitchDelta&&i.setPitch(i.getPitch()+r.pitchDelta);}},Ar.prototype.off=function(){var t=this.element;i.removeEventListener(t,\"mousedown\",this.mousedown),i.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),i.removeEventListener(t,\"touchmove\",this.touchmove),i.removeEventListener(t,\"touchend\",this.touchend),i.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();},Ar.prototype.offTemp=function(){i.enableDrag(),i.removeEventListener(t.window,\"mousemove\",this.mousemove),i.removeEventListener(t.window,\"mouseup\",this.mouseup);},Ar.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),i.mousePos(this.element,e)),i.addEventListener(t.window,\"mousemove\",this.mousemove),i.addEventListener(t.window,\"mouseup\",this.mouseup);},Ar.prototype.mousemove=function(t){this.move(t,i.mousePos(this.element,t));},Ar.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp();},Ar.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=i.touchPos(this.element,t.targetTouches)[0],this.down({type:\"mousedown\",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos));},Ar.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=i.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos));},Ar.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset();},Ar.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();};var Lr={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Rr(t,e,i){var o=t.classList;for(var r in Lr){ o.remove(\"mapboxgl-\"+i+\"-anchor-\"+r); }o.add(\"mapboxgl-\"+i+\"-anchor-\"+e);}var kr,Br=function(e){function o(o,r){if(e.call(this),(o instanceof t.window.HTMLElement||r)&&(o=t.extend({element:o},r)),t.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=o&&o.anchor||\"center\",this._color=o&&o.color||\"#3FB1CE\",this._scale=o&&o.scale||1,this._draggable=o&&o.draggable||!1,this._clickTolerance=o&&o.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=o&&o.rotation||0,this._rotationAlignment=o&&o.rotationAlignment||\"auto\",this._pitchAlignment=o&&o.pitchAlignment&&\"auto\"!==o.pitchAlignment?o.pitchAlignment:this._rotationAlignment,o&&o.element){ this._element=o.element,this._offset=t.Point.convert(o&&o.offset||[0,0]); }else {this._defaultMarker=!0,this._element=i.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var a=i.createNS(\"http://www.w3.org/2000/svg\",\"svg\");a.setAttributeNS(null,\"display\",\"block\"),a.setAttributeNS(null,\"height\",\"41px\"),a.setAttributeNS(null,\"width\",\"27px\"),a.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var n=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"stroke\",\"none\"),n.setAttributeNS(null,\"stroke-width\",\"1\"),n.setAttributeNS(null,\"fill\",\"none\"),n.setAttributeNS(null,\"fill-rule\",\"evenodd\");var s=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");s.setAttributeNS(null,\"fill-rule\",\"nonzero\");var l=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");for(var c=0,u=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];c<u.length;c+=1){var h=u[c],p=i.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");p.setAttributeNS(null,\"opacity\",\"0.04\"),p.setAttributeNS(null,\"cx\",\"10.5\"),p.setAttributeNS(null,\"cy\",\"5.80029008\"),p.setAttributeNS(null,\"rx\",h.rx),p.setAttributeNS(null,\"ry\",h.ry),l.appendChild(p);}var d=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"fill\",this._color);var _=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),d.appendChild(_);var f=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"fill\",\"#000000\");var m=i.createNS(\"http://www.w3.org/2000/svg\",\"path\");m.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),f.appendChild(m);var g=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),g.setAttributeNS(null,\"fill\",\"#FFFFFF\");var v=i.createNS(\"http://www.w3.org/2000/svg\",\"g\");v.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var y=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");y.setAttributeNS(null,\"fill\",\"#000000\"),y.setAttributeNS(null,\"opacity\",\"0.25\"),y.setAttributeNS(null,\"cx\",\"5.5\"),y.setAttributeNS(null,\"cy\",\"5.5\"),y.setAttributeNS(null,\"r\",\"5.4999962\");var x=i.createNS(\"http://www.w3.org/2000/svg\",\"circle\");x.setAttributeNS(null,\"fill\",\"#FFFFFF\"),x.setAttributeNS(null,\"cx\",\"5.5\"),x.setAttributeNS(null,\"cy\",\"5.5\"),x.setAttributeNS(null,\"r\",\"5.4999962\"),v.appendChild(y),v.appendChild(x),s.appendChild(l),s.appendChild(d),s.appendChild(f),s.appendChild(g),s.appendChild(v),a.appendChild(s),a.setAttributeNS(null,\"height\",41*this._scale+\"px\"),a.setAttributeNS(null,\"width\",27*this._scale+\"px\"),this._element.appendChild(a),this._offset=t.Point.convert(o&&o.offset||[0,-14]);}this._element.classList.add(\"mapboxgl-marker\"),this._element.addEventListener(\"dragstart\",(function(t){t.preventDefault();})),this._element.addEventListener(\"mousedown\",(function(t){t.preventDefault();})),Rr(this._element,this._anchor,\"marker\"),this._popup=null;}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this},o.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),i.remove(this._element),this._popup&&this._popup.remove(),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},o.prototype.getElement=function(){return this._element},o.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[e,-1*(24.6+e)],\"bottom-right\":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset;}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this},o.prototype._onKeyPress=function(t){var e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();},o.prototype._onMapClick=function(t){var e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},o.prototype.getPopup=function(){return this._popup},o.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},o.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=Mr(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?e=\"rotateZ(\"+this._rotation+\"deg)\":\"map\"===this._rotationAlignment&&(e=\"rotateZ(\"+(this._rotation-this._map.getBearing())+\"deg)\");var o=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?o=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(o=\"rotateX(\"+this._map.getPitch()+\"deg)\"),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),i.setTransform(this._element,Lr[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px) \"+o+\" \"+e);}},o.prototype.getOffset=function(){return this._offset},o.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},o.prototype._onMove=function(e){if(!this._isDragging){var i=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=i;}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new t.Event(\"dragstart\"))),this.fire(new t.Event(\"drag\")));},o.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new t.Event(\"dragend\")),this._state=\"inactive\";},o.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp));},o.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},o.prototype.isDraggable=function(){return this._draggable},o.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},o.prototype.getRotation=function(){return this._rotation},o.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||\"auto\",this._update(),this},o.prototype.getRotationAlignment=function(){return this._rotationAlignment},o.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this},o.prototype.getPitchAlignment=function(){return this._pitchAlignment},o}(t.Evented),Or={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},Fr=0,Ur=!1,Nr=function(e){function o(i){e.call(this),this.options=t.extend({},Or,i),t.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this);}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.onAdd=function(e){var o;return this._map=e,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),o=this._setupUI,void 0!==kr?o(kr):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:\"geolocation\"}).then((function(t){o(kr=\"denied\"!==t.state);})):o(kr=!!t.window.navigator.geolocation),this._container},o.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),i.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Fr=0,Ur=!1;},o.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitude<e.getWest()||i.longitude>e.getEast()||i.latitude<e.getSouth()||i.latitude>e.getNorth())},o.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");}},o.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e)){ return this._setErrorState(),this.fire(new t.Event(\"outofmaxbounds\",e)),this._updateMarker(),void this._finish(); }if(this.options.trackUserLocation){ switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");} }this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish();}},o.prototype._updateCamera=function(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude),o=e.coords.accuracy,r=this._map.getBearing(),a=t.extend({bearing:r},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(o),a,{geolocateSource:!0});},o.prototype._updateMarker=function(e){if(e){var i=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else { this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove(); }},o.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),i=this._map.unproject([1,t]),o=e.distanceTo(i),r=Math.ceil(2*this._accuracy/o);this._circleElement.style.width=r+\"px\",this._circleElement.style.height=r+\"px\";},o.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},o.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation){ if(1===e.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var i=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=i,this._geolocateButton.setAttribute(\"aria-label\",i),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===e.code&&Ur){ return; }this._setErrorState();} }\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish();}},o.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},o.prototype._setupUI=function(e){var o=this;if(this._container.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this._geolocateButton=i.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),i.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",!1===e){t.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var r=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=r,this._geolocateButton.setAttribute(\"aria-label\",r);}else {var a=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=a,this._geolocateButton.setAttribute(\"aria-label\",a);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=i.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Br(this._dotElement),this._circleElement=i.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Br({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(function(e){e.geolocateSource||\"ACTIVE_LOCK\"!==o._watchState||e.originalEvent&&\"resize\"===e.originalEvent.type||(o._watchState=\"BACKGROUND\",o._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),o._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),o.fire(new t.Event(\"trackuserlocationend\")));}));},o.prototype.trigger=function(){if(!this._setup){ return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1; }if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Fr--,Ur=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"));}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\");}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID){ this._clearWatch(); }else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),++Fr>1?(e={maximumAge:6e5,timeout:0},Ur=!0):(e=this.options.positionOptions,Ur=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e);}}else { t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4); }return !0},o.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);},o}(t.Evented),Zr={maxWidth:100,unit:\"metric\"},qr=function(e){this.options=t.extend({},Zr,e),t.bindAll([\"_onMove\",\"setUnit\"],this);};function jr(t,e,i){var o=i&&i.maxWidth||100,r=t._container.clientHeight/2,a=t.unproject([0,r]),n=t.unproject([o,r]),s=a.distanceTo(n);if(i&&\"imperial\"===i.unit){var l=3.2808*s;l>5280?Vr(e,o,l/5280,t._getUIString(\"ScaleControl.Miles\")):Vr(e,o,l,t._getUIString(\"ScaleControl.Feet\"));}else { i&&\"nautical\"===i.unit?Vr(e,o,s/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):s>=1e3?Vr(e,o,s/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Vr(e,o,s,t._getUIString(\"ScaleControl.Meters\")); }}function Vr(t,e,i,o){var r,a,n,s=(r=i,(a=Math.pow(10,(\"\"+Math.floor(r)).length-1))*(n=(n=r/a)>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(n)));t.style.width=e*(s/i)+\"px\",t.innerHTML=s+\" \"+o;}qr.prototype.getDefaultPosition=function(){return \"bottom-left\"},qr.prototype._onMove=function(){jr(this._map,this._container,this.options);},qr.prototype.onAdd=function(t){return this._map=t,this._container=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},qr.prototype.onRemove=function(){i.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;},qr.prototype.setUnit=function(t){this.options.unit=t,jr(this._map,this._container,this.options);};var Gr=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce(\"Full screen control 'container' must be a DOM element.\")),t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.window.document&&(this._fullscreenchange=\"MSFullscreenChange\");};Gr.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=i.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Gr.prototype.onRemove=function(){i.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon);},Gr.prototype._checkFullscreenSupport=function(){return !!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Gr.prototype._setupUI=function(){var e=this._fullscreenButton=i.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);i.create(\"span\",\"mapboxgl-ctrl-icon\",e).setAttribute(\"aria-hidden\",!0),e.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon);},Gr.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;},Gr.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Gr.prototype._isFullscreen=function(){return this._fullscreen},Gr.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle());},Gr.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen();};var Wr={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},Xr=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),Hr=function(e){function o(i){e.call(this),this.options=t.extend(Object.create(Wr),i),t.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this);}return e&&(o.__proto__=e),(o.prototype=Object.create(e&&e.prototype)).constructor=o,o.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new t.Event(\"open\")),this},o.prototype.isOpen=function(){return !!this._map},o.prototype.remove=function(){return this._content&&i.remove(this._content),this._container&&(i.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new t.Event(\"close\")),this},o.prototype.getLngLat=function(){return this._lngLat},o.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},o.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},o.prototype.getElement=function(){return this._container},o.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},o.prototype.setHTML=function(e){var i,o=t.window.document.createDocumentFragment(),r=t.window.document.createElement(\"body\");for(r.innerHTML=e;i=r.firstChild;){ o.appendChild(i); }return this.setDOMContent(o)},o.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},o.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},o.prototype.setDOMContent=function(t){if(this._content){ for(;this._content.hasChildNodes();){ this._content.firstChild&&this._content.removeChild(this._content.firstChild); } }else { this._content=i.create(\"div\",\"mapboxgl-popup-content\",this._container); }return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},o.prototype.addClassName=function(t){this._container&&this._container.classList.add(t);},o.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t);},o.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},o.prototype.toggleClassName=function(t){if(this._container){ return this._container.classList.toggle(t) }},o.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=i.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));},o.prototype._onMouseUp=function(t){this._update(t.point);},o.prototype._onMouseMove=function(t){this._update(t.point);},o.prototype._onDrag=function(t){this._update(t.point);},o.prototype._update=function(e){var o=this;if(this._map&&(this._lngLat||this._trackPointer)&&this._content&&(this._container||(this._container=i.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=i.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach((function(t){return o._container.classList.add(t)})),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Mr(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var r=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),a=this.options.anchor,n=function e(i){if(i){if(\"number\"==typeof i){var o=Math.round(Math.sqrt(.5*Math.pow(i,2)));return {center:new t.Point(0,0),top:new t.Point(0,i),\"top-left\":new t.Point(o,o),\"top-right\":new t.Point(-o,o),bottom:new t.Point(0,-i),\"bottom-left\":new t.Point(o,-o),\"bottom-right\":new t.Point(-o,-o),left:new t.Point(i,0),right:new t.Point(-i,0)}}if(i instanceof t.Point||Array.isArray(i)){var r=t.Point.convert(i);return {center:r,top:r,\"top-left\":r,\"top-right\":r,bottom:r,\"bottom-left\":r,\"bottom-right\":r,left:r,right:r}}return {center:t.Point.convert(i.center||[0,0]),top:t.Point.convert(i.top||[0,0]),\"top-left\":t.Point.convert(i[\"top-left\"]||[0,0]),\"top-right\":t.Point.convert(i[\"top-right\"]||[0,0]),bottom:t.Point.convert(i.bottom||[0,0]),\"bottom-left\":t.Point.convert(i[\"bottom-left\"]||[0,0]),\"bottom-right\":t.Point.convert(i[\"bottom-right\"]||[0,0]),left:t.Point.convert(i.left||[0,0]),right:t.Point.convert(i.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=r.y+n.bottom.y<c?[\"top\"]:r.y>this._map.transform.height-c?[\"bottom\"]:[],r.x<l/2?s.push(\"left\"):r.x>this._map.transform.width-l/2&&s.push(\"right\"),a=0===s.length?\"bottom\":s.join(\"-\");}var u=r.add(n[a]).round();i.setTransform(this._container,Lr[a]+\" translate(\"+u.x+\"px,\"+u.y+\"px)\"),Rr(this._container,a,\"popup\");}},o.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(Xr);t&&t.focus();}},o.prototype._onClose=function(){this.remove();},o}(t.Evented),Kr={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Sr,NavigationControl:Dr,GeolocateControl:Nr,AttributionControl:yr,ScaleControl:qr,FullscreenControl:Gr,Popup:Hr,Marker:Br,Style:je,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){Ft().acquire(Rt);},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"));},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e;},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e;},get workerCount(){return kt.workerCount},set workerCount(t){kt.workerCount=t;},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e;},clearStorage:function(e){t.clearTileCache(e);},workerUrl:\"\"};return Kr}));\n\n \t//\n\n \treturn mapboxgl;\n\n \t})));\n \t\n } (mapboxGl));\n\n var mapboxgl = mapboxGlExports;\n\n function getElement(element) {\n if (typeof element === \"string\") {\n var elementId = element;\n element = document.getElementById(element);\n if (!element) {\n throw new Error(\"No element with id \" + elementId)\n }\n }\n return element\n }\n\n // check for hex or named color\n function validateColor(color) {\n if (!/^#([0-9a-f]{3}){1,2}$/i.test(color) && !/^[a-z]+$/i.test(color)) {\n throw new Error(\"Invalid color\")\n }\n }\n\n function createMarkerImage(library, color) {\n // set height to center vertically\n var height = 41;\n var width = 27;\n var scale = 2;\n\n // get marker svg\n var svg = (new library.Marker())._element.querySelector(\"svg\");\n\n // make displayable and center vertically\n svg.removeAttribute(\"display\");\n svg.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n svg.setAttribute(\"height\", height);\n svg.setAttribute(\"width\", width);\n svg.setAttribute(\"viewBox\", (\"0 0 \" + width + \" \" + height));\n\n validateColor(color);\n\n // set color\n svg.querySelector(\"*[fill='#3FB1CE']\").setAttribute(\"fill\", color);\n\n // add border to inner circle\n var circles = svg.querySelectorAll(\"circle\");\n var circle = circles[circles.length - 1];\n if (circles.length == 1) {\n // need to insert new circle for mapbox-gl v2\n var c = circle.cloneNode();\n c.setAttribute(\"fill\", \"#000000\");\n c.setAttribute(\"opacity\", 0.25);\n circle.parentNode.insertBefore(c, circle);\n }\n circle.setAttribute(\"r\", 4.5);\n\n // create image\n var image = new Image(width * scale, height * scale);\n image.src = \"data:image/svg+xml;utf8,\" + (encodeURIComponent(svg.outerHTML));\n return image\n }\n\n var maps = {};\n\n var BaseMap = function BaseMap(element, data, options, mapType) {\n var this$1$1 = this;\n\n if (!Mapkick.library && typeof window !== \"undefined\") {\n Mapkick.library = window.mapboxgl || window.maplibregl || null;\n }\n\n var library = Mapkick.library;\n if (!library) {\n throw new Error(\"No mapping library found\")\n }\n\n var map;\n var trails = {};\n var groupedData = {};\n var timestamps = [];\n var timeIndex = 0;\n\n element = getElement(element);\n\n if (element.id) {\n maps[element.id] = this;\n }\n\n function getJSON(element, url, success) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.onload = function () {\n if (xhr.status === 200) {\n success(JSON.parse(xhr.responseText));\n } else {\n showError(element, xhr.statusText);\n }\n };\n xhr.send();\n }\n\n function onMapLoad(callback) {\n if (map.loaded()) {\n callback();\n } else {\n map.on(\"load\", callback);\n }\n }\n\n function toTimestamp(ts) {\n if (typeof ts === \"number\") {\n return ts\n } else {\n return (new Date(ts)).getTime() / 1000\n }\n }\n\n function generateReplayMap(element, data, options) {\n // group data\n for (var i = 0; i < data.length; i++) {\n var row = data[i];\n var ts = toTimestamp(row.time);\n if (ts) {\n if (!groupedData[ts]) {\n groupedData[ts] = [];\n }\n groupedData[ts].push(row);\n bounds.extend(rowCoordinates(row));\n }\n }\n\n for (var i$1 in groupedData) {\n if (Object.prototype.hasOwnProperty.call(groupedData, i$1)) {\n timestamps.push(parseInt(i$1));\n }\n }\n timestamps.sort();\n\n // create map\n generateMap(element, groupedData[timestamps[timeIndex]], options);\n\n onMapLoad(function () {\n setTimeout(function () {\n nextFrame(element, options);\n }, 100);\n });\n }\n\n function nextFrame(element, options) {\n timeIndex++;\n\n updateMap(element, groupedData[timestamps[timeIndex]], options);\n\n if (timeIndex < timestamps.length - 1) {\n setTimeout(function () {\n nextFrame(element, options);\n }, 100);\n }\n }\n\n function showError(element, message) {\n element.textContent = message;\n }\n\n function errorCatcher(element, data, options, callback) {\n try {\n callback(element, data, options);\n } catch (err) {\n showError(element, err.message);\n throw err\n }\n }\n\n function fetchData(element, data, options, callback) {\n if (typeof data === \"string\") {\n getJSON(element, data, function (newData) {\n errorCatcher(element, newData, options, callback);\n });\n } else if (typeof data === \"function\") {\n data(function (newData) {\n errorCatcher(element, newData, options, callback);\n }, function (message) {\n showError(element, message);\n });\n } else {\n errorCatcher(element, data, options, callback);\n }\n }\n\n function updateMap(element, data, options) {\n onLayersReady(function () {\n if (options.trail) {\n recordTrails(data, options.trail);\n map.getSource(\"trails\").setData(generateTrailsGeoJSON(data));\n }\n map.getSource(\"objects\").setData(generateGeoJSON(data, options));\n });\n }\n\n // use Map instead of object for security\n var markerIds = new window.Map();\n\n function generateGeoJSON(data, options) {\n var geojson = {\n type: \"FeatureCollection\",\n features: []\n };\n\n for (var i = 0; i < data.length; i++) {\n var row = data[i];\n var properties = Object.assign({}, row);\n var geometry = (void 0);\n\n if (mapType === \"point\") {\n if (!properties.icon) {\n properties.icon = options.defaultIcon || \"mapkick\";\n }\n properties.mapkickIconSize = properties.icon === \"mapkick\" ? 0.5 : 1;\n properties.mapkickIconAnchor = properties.icon === \"mapkick\" ? \"bottom\" : \"center\";\n properties.mapkickIconOffset = properties.icon === \"mapkick\" ? [0, 10] : [0, 0];\n\n if (properties.icon === \"mapkick\") {\n var color = properties.color || markerOptions.color || \"#f84d4d\";\n\n var markerId = markerIds.get(color);\n if (markerId === undefined) {\n markerId = markerIds.size;\n validateColor(color);\n markerIds.set(color, markerId);\n }\n\n properties.icon = \"mapkick-\" + markerId;\n }\n\n var coordinates = rowCoordinates(row);\n\n if (!coordinates[1]) {\n throw new Error((\"missing latitude (index: \" + i + \")\"))\n }\n\n if (!coordinates[0]) {\n throw new Error((\"missing longitude (index: \" + i + \")\"))\n }\n\n geometry = {\n type: \"Point\",\n coordinates: coordinates\n };\n } else {\n geometry = row.geometry;\n\n if (!geometry) {\n throw new Error((\"missing geometry (index: \" + i + \")\"))\n }\n\n delete properties.geometry;\n\n properties.mapkickColor = properties.color || markerOptions.color || \"#0090ff\";\n\n }\n\n geojson.features.push({\n type: \"Feature\",\n id: i,\n geometry: geometry,\n properties: properties\n });\n }\n\n return geojson\n }\n\n function rowCoordinates(row) {\n return [row.longitude || row.lng || row.lon, row.latitude || row.lat]\n }\n\n function getTrailId(row) {\n return row.id\n }\n\n function recordTrails(data, trailOptions) {\n for (var i = 0; i < data.length; i++) {\n var row = data[i];\n var trailId = getTrailId(row);\n if (!trails[trailId]) {\n trails[trailId] = [];\n }\n trails[trailId].push(rowCoordinates(row));\n if (trailOptions && trailOptions.len && trails[trailId].length > trailOptions.len) {\n trails[trailId].shift();\n }\n }\n }\n\n function generateTrailsGeoJSON(data) {\n var geojson = {\n type: \"FeatureCollection\",\n features: []\n };\n\n for (var i = 0; i < data.length; i++) {\n var row = data[i];\n geojson.features.push({\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: trails[getTrailId(row)]\n }\n });\n }\n\n return geojson\n }\n\n function generateLabelGeoJSON(data) {\n var geojson = {\n type: \"FeatureCollection\",\n features: []\n };\n\n for (var i = 0; i < data.features.length; i++) {\n var feature = data.features[i];\n var coordinates = (void 0);\n\n // use center for now\n var bounds = new library.LngLatBounds();\n extendBounds(bounds, feature.geometry);\n if (!bounds.isEmpty()) {\n var center = bounds.getCenter();\n coordinates = [center.lng, center.lat];\n }\n\n if (coordinates) {\n geojson.features.push({\n type: \"Feature\",\n id: i,\n geometry: {\n type: \"Point\",\n coordinates: coordinates\n },\n properties: feature.properties\n });\n }\n }\n\n return geojson\n }\n\n function layerBeforeFill(map) {\n // place below labels\n var layers = map.getStyle().layers;\n var beforeId;\n for (var i = layers.length - 1; i >= 0; i--) {\n var layer = layers[i];\n // TODO improve\n if (!(layer.metadata && layer.metadata[\"mapbox:featureComponent\"] === \"place-labels\")) {\n break\n }\n beforeId = layer.id;\n }\n return beforeId\n }\n\n function addLayer(name, geojson) {\n var centersById = {};\n\n map.addSource(name, {\n type: \"geojson\",\n data: geojson\n });\n\n if (mapType === \"point\") {\n // use a symbol layer for markers for performance\n // https://docs.mapbox.com/help/getting-started/add-markers/#approach-1-adding-markers-inside-a-map\n // use separate layers to prevent labels from overlapping markers\n map.addLayer({\n id: (name + \"-text\"),\n source: name,\n type: \"symbol\",\n layout: {\n \"text-field\": \"{label}\",\n \"text-size\": 11,\n \"text-anchor\": \"top\",\n \"text-offset\": [0, 1]\n },\n paint: {\n \"text-halo-color\": \"rgba(255, 255, 255, 1)\",\n \"text-halo-width\": 1\n }\n });\n map.addLayer({\n id: name,\n source: name,\n type: \"symbol\",\n layout: {\n \"icon-image\": \"{icon}-15\",\n \"icon-allow-overlap\": true,\n \"icon-size\": {type: \"identity\", property: \"mapkickIconSize\"},\n \"icon-anchor\": {type: \"identity\", property: \"mapkickIconAnchor\"},\n \"icon-offset\": {type: \"identity\", property: \"mapkickIconOffset\"}\n }\n });\n } else {\n var beforeId = layerBeforeFill(map);\n\n var outlineId = name + \"-outline\";\n map.addLayer({\n id: outlineId,\n source: name,\n type: \"line\",\n paint: {\n \"line-color\": {type: \"identity\", property: \"mapkickColor\"},\n \"line-opacity\": 0.7,\n \"line-width\": 1\n }\n }, beforeId);\n\n map.addLayer({\n id: name,\n source: name,\n type: \"fill\",\n paint: {\n \"fill-color\": {type: \"identity\", property: \"mapkickColor\"},\n \"fill-opacity\": 0.3\n }\n }, outlineId);\n\n var labelName = name + \"-text\";\n var labelData = generateLabelGeoJSON(geojson);\n\n for (var i = 0; i < labelData.features.length; i++) {\n var feature = labelData.features[i];\n centersById[feature.id] = feature.geometry.coordinates;\n }\n\n map.addSource(labelName, {\n type: \"geojson\",\n data: labelData\n });\n\n map.addLayer({\n id: (name + \"-text\"),\n source: labelName,\n type: \"symbol\",\n layout: {\n \"text-field\": \"{label}\",\n \"text-size\": 11\n },\n paint: {\n \"text-halo-color\": \"rgba(255, 255, 255, 1)\",\n \"text-halo-width\": 1\n }\n });\n }\n\n var hover = !(\"hover\" in tooltipOptions) || tooltipOptions.hover;\n\n var popupOptions = {\n closeButton: false,\n closeOnClick: false\n };\n if (!hover) {\n popupOptions.anchor = \"bottom\";\n }\n\n // create a popup\n var popup = new library.Popup(popupOptions);\n\n // ensure tooltip is visible\n var panMap = function (map, popup) {\n var style = window.getComputedStyle(popup.getElement());\n var matrix = new DOMMatrixReadOnly(style.transform);\n var padding = 5;\n var extra = 5;\n var top = matrix.m42;\n var left = matrix.m41;\n\n // TODO add right and bottom\n if (top < padding || left < padding) {\n map.panBy([Math.min(left - padding - extra, 0), Math.min(top - padding - extra, 0)]);\n }\n };\n\n var showPopup = function (e) {\n var feature = selectedFeature(e);\n var tooltip = feature.properties.tooltip;\n\n if (!tooltip) {\n return\n }\n\n if (mapType === \"point\" && feature.properties.icon.startsWith(\"mapkick-\")) {\n popup.options.offset = {\n \"top\": [0, 14],\n \"top-left\": [0, 14],\n \"top-right\": [0, 14],\n \"bottom\": [0, -44],\n \"bottom-left\": [0, -44],\n \"bottom-right\": [0, -44],\n \"left\": [14, 0],\n \"right\": [-14, 0]\n };\n } else {\n popup.options.offset = 14;\n }\n\n var coordinates;\n if (mapType === \"point\") {\n coordinates = feature.geometry.coordinates;\n } else {\n coordinates = centersById[feature.id];\n }\n\n // add the tooltip\n popup.setLngLat(coordinates);\n if (tooltipOptions.html) {\n popup.setHTML(tooltip);\n } else {\n popup.setText(tooltip);\n }\n popup.addTo(map);\n\n // fix blurriness for non-retina screens\n // https://github.com/mapbox/mapbox-gl-js/pull/3258\n if (popup._container.offsetWidth % 2 !== 0) {\n popup._container.style.width = popup._container.offsetWidth + 1 + \"px\";\n }\n\n if (mapType !== \"area\") {\n panMap(map, popup);\n }\n };\n\n var getLatitude = function (feature) {\n return feature.geometry.coordinates[1]\n };\n\n var selectedFeature = function (e) {\n var features = e.features;\n var selected = features[0];\n for (var i = 1; i < features.length; i++) {\n var feature = features[i];\n // no need to handle ties since this is stable\n if (getLatitude(feature) < getLatitude(selected)) {\n selected = feature;\n }\n }\n return selected\n };\n\n if (!hover) {\n var currentPoint = null;\n\n map.on(\"click\", name, function (e) {\n var point = selectedFeature(e).id;\n if (point !== currentPoint) {\n showPopup(e);\n currentPoint = point;\n e.mapkickPopupOpened = true;\n }\n });\n\n map.on(\"click\", function (e) {\n if (!e.mapkickPopupOpened) {\n popup.remove();\n currentPoint = null;\n }\n });\n }\n\n map.on(\"mouseenter\", name, function (e) {\n var tooltip = selectedFeature(e).properties.tooltip;\n\n if (tooltip) {\n map.getCanvas().style.cursor = \"pointer\";\n\n if (hover) {\n showPopup(e);\n }\n }\n });\n\n map.on(\"mouseleave\", name, function () {\n map.getCanvas().style.cursor = \"\";\n\n if (hover) {\n popup.remove();\n }\n });\n }\n\n function extendBounds(bounds, geometry) {\n if (geometry.type === \"Point\") {\n bounds.extend(geometry.coordinates);\n } else if (geometry.type === \"Polygon\") {\n var coordinates = geometry.coordinates[0];\n for (var j = 0; j < coordinates.length; j++) {\n bounds.extend(coordinates[j]);\n }\n } else if (geometry.type === \"MultiPolygon\") {\n var coordinates$1 = geometry.coordinates;\n for (var j$1 = 0; j$1 < coordinates$1.length; j$1++) {\n var polygon = coordinates$1[j$1][0];\n for (var k = 0; k < polygon.length; k++) {\n bounds.extend(polygon[k]);\n }\n }\n }\n }\n\n var generateMap = function (element, data, options) {\n var geojson = generateGeoJSON(data, options);\n options = options || {};\n\n for (var i = 0; i < geojson.features.length; i++) {\n extendBounds(bounds, geojson.features[i].geometry);\n }\n\n // remove any child elements\n element.textContent = \"\";\n\n var style = options.style;\n if (!style) {\n var isMapLibre = !(\"accessToken\" in library) || /^1\\.1[45]/.test(library.version);\n if (isMapLibre) {\n throw new Error(\"style required for MapLibre\")\n } else {\n style = \"mapbox://styles/mapbox/streets-v12\";\n }\n }\n\n var zoom = options.zoom;\n var center = options.center;\n if (!center) {\n if (!bounds.isEmpty()) {\n center = bounds.getCenter();\n } else {\n center = [0, 0];\n if (!zoom) {\n zoom = 1;\n }\n }\n }\n\n var mapOptions = {\n container: element,\n style: style,\n dragRotate: false,\n touchZoomRotate: false,\n center: center,\n zoom: zoom || 15\n };\n if (!options.style) {\n mapOptions.projection = \"mercator\";\n }\n if (options.accessToken) {\n mapOptions.accessToken = options.accessToken;\n }\n map = new library.Map(mapOptions);\n\n if (options.controls) {\n map.addControl(new library.NavigationControl({showCompass: false}));\n }\n\n if (!options.zoom) {\n // hack to prevent error\n if (!map.style.stylesheet) {\n map.style.stylesheet = {};\n }\n\n if (!bounds.isEmpty()) {\n map.fitBounds(bounds, {padding: 40, animate: false, maxZoom: 15});\n }\n }\n\n this$1$1.map = map;\n\n onMapLoad(function () {\n if (options.trail) {\n recordTrails(data);\n\n map.addSource(\"trails\", {\n type: \"geojson\",\n data: generateTrailsGeoJSON([])\n });\n\n map.addLayer({\n id: \"trails\",\n source: \"trails\",\n type: \"line\",\n layout: {\n \"line-join\": \"round\",\n \"line-cap\": \"round\"\n },\n paint: {\n \"line-color\": \"#888\",\n \"line-width\": 2\n }\n });\n }\n\n var outstanding = markerIds.size;\n\n function checkReady() {\n if (outstanding !== 0) {\n outstanding--;\n return\n }\n\n addLayer(\"objects\", geojson);\n\n layersReady = true;\n var cb;\n while ((cb = layersReadyQueue.shift())) {\n cb();\n }\n }\n\n // load marker images\n markerIds.forEach(function (id, color) {\n var image = createMarkerImage(library, color);\n image.addEventListener(\"load\", function () {\n map.addImage((\"mapkick-\" + id + \"-15\"), image);\n checkReady();\n });\n });\n\n checkReady();\n });\n };\n\n var layersReady = false;\n var layersReadyQueue = [];\n function onLayersReady(callback) {\n if (layersReady) {\n callback();\n } else {\n layersReadyQueue.push(callback);\n }\n }\n\n // main\n\n options = options || {};\n options = Object.assign({}, Mapkick.options, options);\n var tooltipOptions = options.tooltips || {};\n var markerOptions = options.markers || {};\n var bounds = new library.LngLatBounds();\n\n if (options.replay) {\n fetchData(element, data, options, generateReplayMap);\n } else {\n fetchData(element, data, options, generateMap);\n\n if (options.refresh) {\n this.intervalId = setInterval(function () {\n fetchData(element, data, options, updateMap);\n }, options.refresh * 1000);\n }\n }\n };\n\n BaseMap.prototype.getMapObject = function getMapObject () {\n return this.map\n };\n\n BaseMap.prototype.destroy = function destroy () {\n this.stopRefresh();\n\n if (this.map) {\n this.map.remove();\n this.map = null;\n }\n };\n\n BaseMap.prototype.stopRefresh = function stopRefresh () {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n this.intervalId = null;\n }\n };\n\n var Map = /*@__PURE__*/(function (BaseMap) {\n function Map(element, data, options) {\n BaseMap.call(this, element, data, options, \"point\");\n }\n\n if ( BaseMap ) Map.__proto__ = BaseMap;\n Map.prototype = Object.create( BaseMap && BaseMap.prototype );\n Map.prototype.constructor = Map;\n\n return Map;\n }(BaseMap));\n\n var AreaMap = /*@__PURE__*/(function (BaseMap) {\n function AreaMap(element, data, options) {\n BaseMap.call(this, element, data, options, \"area\");\n }\n\n if ( BaseMap ) AreaMap.__proto__ = BaseMap;\n AreaMap.prototype = Object.create( BaseMap && BaseMap.prototype );\n AreaMap.prototype.constructor = AreaMap;\n\n return AreaMap;\n }(BaseMap));\n\n var Mapkick = {\n Map: Map,\n AreaMap: AreaMap,\n maps: maps,\n options: {},\n library: null\n };\n\n Mapkick.use = function (library) {\n Mapkick.library = library;\n };\n\n // not ideal, but allows for simpler integration\n if (typeof window !== \"undefined\" && !window.Mapkick) {\n window.Mapkick = Mapkick;\n\n // use setTimeout so mapping library can come later in same JS file\n setTimeout(function () {\n window.dispatchEvent(new Event(\"mapkick:load\"));\n }, 0);\n }\n\n Mapkick.use(mapboxgl);\n\n return Mapkick;\n\n}));\n", "/*\nStimulus 3.2.1\nCopyright \u00A9 2022 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[1];\n let keyFilter = matches[2];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[3]),\n eventName,\n eventOptions: matches[6] ? parseEventOptions(matches[6]) : {},\n identifier: matches[4],\n methodName: matches[5],\n keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n isFilterTarget(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filteres = this.keyFilter.split(\"+\");\n const modifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\n const [meta, ctrl, alt, shift] = modifiers.map((modifier) => filteres.includes(modifier));\n if (event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift) {\n return true;\n }\n const standardFilter = filteres.filter((key) => !modifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(event)) {\n this.invokeWithEvent(event);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n const { params } = this.action;\n const actionEvent = Object.assign(event, { params });\n this.method.call(this.controller, actionEvent);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.isFilterTarget(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(node, attributeName) {\n const element = node;\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details = {}) {\n this.selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const matches = element.matches(this.selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n elementMatched(element) {\n this.selectorMatched(element);\n }\n elementUnmatched(element) {\n this.selectorUnmatched(element);\n }\n elementAttributeChanged(element, _attributeName) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(this.selector, element);\n if (!matches && matchedBefore) {\n this.selectorUnmatched(element);\n }\n }\n selectorMatched(element) {\n if (this.delegate.selectorMatched) {\n this.delegate.selectorMatched(element, this.selector, this.details);\n this.matchesByElement.add(this.selector, element);\n }\n }\n selectorUnmatched(element) {\n this.delegate.selectorUnmatched(element, this.selector, this.details);\n this.matchesByElement.delete(this.selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n }\n start() {\n if (this.selectorObserverMap.size === 0) {\n this.outletDefinitions.forEach((outletName) => {\n const selector = this.selector(outletName);\n const details = { outletName };\n if (selector) {\n this.selectorObserverMap.set(outletName, new SelectorObserver(document.body, selector, this, details));\n }\n });\n this.selectorObserverMap.forEach((observer) => observer.start());\n }\n this.dependentContexts.forEach((context) => context.refresh());\n }\n stop() {\n if (this.selectorObserverMap.size > 0) {\n this.disconnectAllOutlets();\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n return (this.hasOutlet(element, outletName) &&\n element.matches(`[${this.context.application.schema.controllerAttribute}~=${outletName}]`));\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad(definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outlet = this.outlets.find(name);\n if (outlet) {\n const outletController = this.application.getControllerForElementAndIdentifier(outlet, name);\n if (outletController) {\n return outletController;\n }\n else {\n throw new Error(`Missing \"data-controller=${name}\" attribute on outlet element for \"${this.identifier}\" controller`);\n }\n }\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outlet) => {\n const controller = this.application.getControllerForElementAndIdentifier(outlet, name);\n if (controller) {\n return controller;\n }\n else {\n console.warn(`The provided outlet element is missing the outlet controller \"${name}\" for \"${this.identifier}\"`, outlet);\n }\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outlet = this.outlets.find(name);\n if (outlet) {\n return outlet;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const typeFromObject = parseValueTypeConstant(payload.typeObject.type);\n if (!typeFromObject)\n return;\n const defaultValueType = parseValueTypeDefault(payload.typeObject.default);\n if (typeFromObject !== defaultValueType) {\n const propertyPath = payload.controller ? `${payload.controller}.${payload.token}` : payload.token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${payload.typeObject.default}\" is of type \"${defaultValueType}\".`);\n }\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const typeFromObject = parseValueTypeObject({\n controller: payload.controller,\n token: payload.token,\n typeObject: payload.typeDefinition,\n });\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeDefinition);\n const typeFromConstant = parseValueTypeConstant(payload.typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = payload.controller ? `${payload.controller}.${payload.typeDefinition}` : payload.token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${payload.token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const defaultValue = typeDefinition.default;\n if (defaultValue !== undefined)\n return defaultValue;\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const key = `${dasherize(payload.token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(payload.typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(payload.typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value);\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n", "import { Controller } from \"@hotwired/stimulus\";\n\nexport default class extends Controller {\n connect() {\n this.initAccordion();\n }\n\n initAccordion() {\n const items = this.element.querySelectorAll('.accordion_item');\n\n items.forEach((item) => {\n const toggle = item.querySelector('.accordion_toggle');\n\n toggle.addEventListener('click', (e) => {\n if (item.classList.contains('active')) {\n this.hide(item);\n } else {\n this.hideAll(items);\n this.open(item);\n }\n });\n });\n }\n\n hideAll(items) {\n items.forEach((item) => this.hide(item));\n }\n\n hide(item) {\n item.classList.remove(\"active\")\n const content = item.querySelector('.accordion_content');\n content.style.height = '0px';\n }\n\n open(item) {\n item.classList.add(\"active\")\n const content = item.querySelector('.accordion_content');\n content.style.height = 'auto';\n const contentHeight = content.style.height\n // content.style.height = '0px';\n content.animate({ height: contentHeight + 'px' }, 50);\n }\n}\n", "import 'mapkick/bundle'\nimport AccordionController from './controllers/accordion_controller'\nimport { Application } from '@hotwired/stimulus'\n\nconst application = Application.start()\n\nwindow.Stimulus = application\n\napplication.register('accordion', AccordionController)\n\nexport { application }\n"],
|
5
|
-
"mappings": "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",
|
6
|
-
"names": ["global", "module", "exports", "mapboxgl", "define", "t", "e", "r", "n", "i", "a", "o", "s", "u", "l", "p", "c", "h", "f", "y", "d", "m", "v", "g", "x", "b", "w", "_", "A", "S", "k", "I", "z", "C", "E", "P", "B", "M", "T", "V", "F", "D", "L", "O", "R", "U", "K", "j", "q", "N", "G", "Z", "X", "J", "H", "Y", "$", "W", "Q", "tt", "et", "rt", "nt", "it", "at", "ot", "st", "ut", "lt", "BaseMap", "element", "data", "options", "bounds", "map", "popup", "feature", "Map", "AreaMap", "application", "error", "match", "oldValue", "error", "constructor", "module", "application", "element"]
|
7
|
-
}
|