@defra/forms-engine-plugin 4.14.4 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/.public/assets-manifest.json +10 -1
  2. package/.public/javascripts/im-search-plugin.min.js +2 -0
  3. package/.public/javascripts/im-search-plugin.min.js.map +1 -0
  4. package/.public/javascripts/shared.min.js +1 -1
  5. package/.public/javascripts/shared.min.js.map +1 -1
  6. package/.public/javascripts/vendor/@defra.min.js +2 -0
  7. package/.public/javascripts/vendor/@defra.min.js.map +1 -0
  8. package/.public/javascripts/vendor/maplibre-gl.min.js +3 -0
  9. package/.public/javascripts/vendor/maplibre-gl.min.js.LICENSE.txt +4 -0
  10. package/.public/javascripts/vendor/maplibre-gl.min.js.map +1 -0
  11. package/.public/javascripts/vendor/preact.min.js +2 -0
  12. package/.public/javascripts/vendor/preact.min.js.map +1 -0
  13. package/.public/stylesheets/application.min.css +1 -1
  14. package/.public/stylesheets/application.min.css.map +1 -1
  15. package/.server/client/javascripts/geospatial-map.js +9 -4
  16. package/.server/client/javascripts/geospatial-map.js.map +1 -1
  17. package/.server/client/javascripts/map.js +18 -12
  18. package/.server/client/javascripts/map.js.map +1 -1
  19. package/.server/client/stylesheets/shared.scss +7 -0
  20. package/.server/server/plugins/map/routes/index.d.ts +1 -2
  21. package/.server/server/plugins/map/routes/index.js +2 -32
  22. package/.server/server/plugins/map/routes/index.js.map +1 -1
  23. package/.server/server/plugins/map/service.d.ts +0 -7
  24. package/.server/server/plugins/map/service.js +0 -12
  25. package/.server/server/plugins/map/service.js.map +1 -1
  26. package/.server/server/plugins/map/service.test.js +0 -43
  27. package/.server/server/plugins/map/service.test.js.map +1 -1
  28. package/package.json +2 -1
  29. package/src/client/javascripts/geospatial-map.js +9 -5
  30. package/src/client/javascripts/map.js +18 -13
  31. package/src/client/stylesheets/shared.scss +7 -0
  32. package/src/server/plugins/map/routes/index.js +1 -37
  33. package/src/server/plugins/map/service.js +0 -13
  34. package/.server/server/plugins/map/test/__stubs__/nearest.d.ts +0 -37
  35. package/.server/server/plugins/map/test/__stubs__/nearest.js +0 -38
  36. package/.server/server/plugins/map/test/__stubs__/nearest.js.map +0 -1
  37. package/src/server/plugins/map/test/__stubs__/nearest.js +0 -46
@@ -0,0 +1,2 @@
1
+ (self.webpackChunk=self.webpackChunk||[]).push([[402],{967:(e,t,r)=>{r.r(t),r.d(t,{initialiseApp:()=>Wr});var n=r(585),o=r(505),i=r(321),a=r(818),s=r(196),l=r(452),c=r(247),u=(0,l.q6)(null);function d(){return(0,l.NT)(u)}var p=[{id:"showKeyboardHelp",group:"General",title:"Show keyboard help",command:"<kbd>Alt</kbd> + <kbd>K</kbd>",enabled:!0},{id:"selectControl",group:"General",title:"Select a map control",command:"<kbd>Tab</kbd> or <kbd>Shift</kbd> + <kbd>Tab</kbd>",enabled:!0},{id:"moveLarge",group:"Navigation",title:"Move in large steps",command:"<kbd>←</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> or <kbd>↓</kbd>",enabled:!0},{id:"nudgeMap",group:"Navigation",title:"Nudge map",command:"<kbd>Shift</kbd> + <kbd>←</kbd>, <kbd>↑</kbd>, <kbd>→</kbd> or <kbd>↓</kbd>",enabled:!1},{id:"zoomLarge",group:"Navigation",title:"Zoom in large steps",command:"<kbd>+</kbd> or <kbd>-</kbd>",enabled:!0},{id:"nudgeZoom",group:"Navigation",title:"Nudge zoom",command:"<kbd>Shift</kbd> + <kbd>+</kbd> or <kbd>-</kbd>",enabled:!1},{id:"highlightLabelAtCenter",group:"Labels",title:"Highlight label at centre",command:"<kbd>Alt</kbd> + <kbd>Enter</kbd>",enabled:!1,requiredConfig:["readMapText"]},{id:"highlightNextLabel",group:"Labels",title:"Highlight nearby label",command:"<kbd>Alt</kbd> + <kbd>→</kbd>, <kbd>←</kbd>, <kbd>↑</kbd> or <kbd>↓</kbd>",enabled:!1,requiredConfig:["readMapText"]}],h=[],f=new Set,g=new Set,y=()=>{var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return[...p.filter(t=>!!g.has(t.id)&&(!t.requiredConfig||t.requiredConfig.every(t=>e[t]))),...h]}(d()).reduce((e,t)=>(e[t.group]=e[t.group]||[],e[t.group].push(t),e),{});return(0,c.Y)("div",{className:"im-c-keyboard-help",children:Object.entries(e).map(e=>{var[t,r]=e;return(0,c.Y)("div",{className:"im-c-keyboard-help__group",children:(0,c.Y)("dl",{className:"im-c-keyboard-help__list",children:r.map(e=>(0,c.FD)("div",{className:"im-c-keyboard-help__item",children:[(0,c.Y)("dt",{className:"im-c-keyboard-help__title",children:e.title}),(0,c.Y)("dd",{className:"im-c-keyboard-help__description",dangerouslySetInnerHTML:{__html:e.command}})]},e.id))})},t)})})};function v(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?v(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):v(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var b={slot:"middle",open:!1,dismissible:!0,modal:!0},E={slot:"right-top",showLabel:!1},P={slot:"top-left",showLabel:!1},O={buttons:[{id:"exit",label:"Exit",iconId:"close",onClick:(e,t)=>{var{services:r}=t;return r.closeApp()},excludeWhen:e=>{var{appConfig:t,appState:r}=e;return!t.hasExitButton||!r.isFullscreen},mobile:P,tablet:P,desktop:P},{id:"fullscreen",label:()=>"".concat(document.fullscreenElement?"Exit":"Enter"," fullscreen"),iconId:()=>document.fullscreenElement?"minimise":"maximise",onClick:(e,t)=>{var{appState:r}=t,n=r.layoutRefs.appContainerRef.current;document.fullscreenElement?document.exitFullscreen():n.requestFullscreen()},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableFullscreen||t.isFullscreen},mobile:E,tablet:E,desktop:E},{id:"zoomIn",group:{name:"zoom",label:"Zoom controls",order:0},label:"Zoom in",iconId:"plus",onClick:(e,t)=>{var{mapProvider:r,appConfig:n}=t;return r.zoomIn(n.zoomDelta)},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableZoomControls||"touch"===t.interfaceType},enableWhen:e=>{var{mapState:t}=e;return!t.isAtMaxZoom},mobile:E,tablet:E,desktop:E},{id:"zoomOut",group:{name:"zoom",label:"Zoom controls",order:0},label:"Zoom out",iconId:"minus",onClick:(e,t)=>{var{mapProvider:r,appConfig:n}=t;return r.zoomOut(n.zoomDelta)},excludeWhen:e=>{var{appState:t,appConfig:r}=e;return!r.enableZoomControls||"touch"===t.interfaceType},enableWhen:e=>{var{mapState:t}=e;return!t.isAtMinZoom},mobile:E,tablet:E,desktop:E}],panels:[{id:"keyboardHelp",label:"Keyboard shortcuts",mobile:m({},b),tablet:m(m({},b),{},{width:"500px"}),desktop:m(m({},b),{},{width:"500px"}),render:()=>(0,c.Y)(y,{})}],icons:[{id:"maximise",svgContent:'<path d="M15 3h6v6"/><path d="m21 3-7 7"/><path d="m3 21 7-7"/><path d="M9 21H3v-6"/>'},{id:"minimise",svgContent:'<path d="m14 10 7-7"/><path d="M20 10h-6V4"/><path d="m3 21 7-7"/><path d="M4 14h6v6"/>'},{id:"plus",svgContent:'<path d="M5 12h14"/><path d="M12 5v14"/>'},{id:"minus",svgContent:'<path d="M5 12h14"/>'},{id:"chevron",svgContent:'<path d="m6 9 6 6 6-6"/>'}]},S={slot:"right-top",showLabel:!0},w={label:"Button",mobile:S,tablet:S,desktop:S},_={label:"Panel",focus:!0,mobile:{slot:"drawer",open:!0,dismissible:!0,modal:!1,showLabel:!0},tablet:{slot:"left-top",open:!0,dismissible:!0,modal:!1,showLabel:!0},desktop:{slot:"left-top",open:!0,dismissible:!0,modal:!1,showLabel:!0},render:null,html:null},M={label:"Control",mobile:{slot:"drawer"},tablet:{slot:"top-left"},desktop:{slot:"top-left"}},x={small:1,medium:1.5,large:2};function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var A=(e,t)=>{var r=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({},e);for(var o in t)"object"!=typeof t[o]||Array.isArray(t[o])||null===t[o]?r[o]=t[o]:r[o]=A(e[o]||{},t[o]);return r};function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function I(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var L=(e,t)=>I(I({},e),t),k=(e,t,r)=>{var n=A(w,r);return I(I({},e),{},{[t]:n})};function D(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var R=(e,t)=>N(N({},e),t),F=(e,t,r)=>{var n=A(_,r);return N(N({},e),{},{[t]:N(N({},n),{},{html:n.html,render:n.render})})},B=(e,t)=>{var{[t]:r}=e;return(0,o.A)(e,[t].map(D))};function V(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function G(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?V(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Y=(e,t)=>G(G({},e),t),U=(e,t,r)=>{var n=A(M,r);return G(G({},e),{},{[t]:G({id:t},n)})};function H(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?H(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var W={close:'<path d="M18 6 6 18"/><path d="m6 6 12 12"/>'},K=()=>W,J=Object.freeze({SIDE:"side",BANNER:"banner",TOP_LEFT:"top-left",TOP_MIDDLE:"top-middle",TOP_RIGHT:"top-right",LEFT_TOP:"left-top",LEFT_BOTTOM:"left-bottom",MIDDLE:"middle",RIGHT_TOP:"right-top",RIGHT_BOTTOM:"right-bottom",BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",DRAWER:"drawer",ACTIONS:"actions",MODAL:"modal"}),$=Object.freeze({control:[J.BANNER,J.TOP_LEFT,J.TOP_RIGHT,J.MIDDLE,J.RIGHT_BOTTOM,J.BOTTOM_RIGHT,J.DRAWER,J.ACTIONS],panel:[J.SIDE,J.BANNER,J.LEFT_TOP,J.LEFT_BOTTOM,J.MIDDLE,J.RIGHT_TOP,J.RIGHT_BOTTOM,J.DRAWER,J.MODAL],button:[J.TOP_LEFT,J.TOP_MIDDLE,J.TOP_RIGHT,J.LEFT_TOP,J.LEFT_BOTTOM,J.RIGHT_TOP,J.RIGHT_BOTTOM,J.BOTTOM_LEFT,J.BOTTOM_RIGHT,J.ACTIONS]}),q=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return console.warn("[interactive-map]",...t)};function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Q=e=>Array.isArray(e)?e:[e],ee=["mobile","tablet","desktop"];function te(e,t){var r=$[t];ee.forEach(n=>{var o,i=null===(o=e[n])||void 0===o?void 0:o.slot;!i||r.includes(i)||"panel"===t&&i.endsWith("-button")||q("".concat(t,' "').concat(e.id,'" has invalid slot "').concat(i,'" at breakpoint "').concat(n,'". Allowed slots: ').concat(r.join(", "),"."))})}function re(e){var{registerButton:t,registerPanel:r,registerControl:n}=e,o=[];return{registeredPlugins:o,registerPlugin:function(e){var i,a,{manifest:s}=e,l={pluginId:e.id,includeModes:null===(i=e.config)||void 0===i?void 0:i.includeModes,excludeModes:null===(a=e.config)||void 0===a?void 0:a.excludeModes};s.buttons&&Q(s.buttons).forEach(e=>{var r;te(e,"button"),t({[e.id]:X(X({},l),e)}),null==e||null===(r=e.menuItems)||void 0===r||r.forEach(e=>{t({[e.id]:X(X(X({},l),e),{},{isMenuItem:!0})})})}),s.panels&&Q(s.panels).forEach(e=>{te(e,"panel"),r({[e.id]:X(X({},l),e)})}),s.controls&&Q(s.controls).forEach(e=>{te(e,"control"),n({[e.id]:X(X({},l),e)})}),s.icons&&Q(s.icons).forEach(e=>(e=>{W=z(z({},W),e)})({[e.id]:e.svgContent})),s.keyboardShortcuts&&Q(s.keyboardShortcuts).forEach(e=>(e=>{var{shortcut:t}=e;f.has(t.id)||(f.add(t.id),h.push(t))})(X(X({},l),{},{shortcut:e}))),o.push(e)},clear:function(){o.length=0}}}function ne(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function oe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ne(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ie(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];Array.isArray(e)||(e=[]),Array.isArray(t)||(t=[]);var r=new Map(e.map(e=>[e.id,e]));return t.forEach(e=>{null!=e&&e.id&&(r.has(e.id)?r.set(e.id,oe(oe({},r.get(e.id)),e)):r.set(e.id,e))}),Array.from(r.values())},n=oe(oe({},e),t);return(e.buttons||t.buttons)&&(n.buttons=r(e.buttons,t.buttons)),(e.panels||t.panels)&&(n.panels=r(e.panels,t.panels)),(e.controls||t.controls)&&(n.controls=r(e.controls,t.controls)),(e.icons||t.icons)&&(n.icons=r(e.icons,t.icons)),n}function ae(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return Object.keys(e).forEach(o=>{var i,a=e[o][t];null!==(i=null==a?void 0:a.open)&&void 0!==i&&i&&(n[o]=r[o]||{props:{}})}),n}function se(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}function le(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?le(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):le(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ue(e,t,r,n,o){var i,a=e.panelConfig||e.panelRegistry.getPanelConfig(),s=null===(i=a[t])||void 0===i?void 0:i[r],l=!!s.exclusive&&!s.modal,c=!!s.modal,u=Object.fromEntries(Object.entries(e.openPanels).filter(e=>{var t,[n]=e;return!(null!==(t=a[n])&&void 0!==t&&null!==(t=t[r])&&void 0!==t&&t.exclusive)}));return ce(ce(ce({},l?{}:u),c?e.openPanels:{}),{},{[t]:ce({props:n},o&&{focusOnOpen:!0})})}var de={SET_BREAKPOINT:(e,t)=>{var r,{behaviour:n,hybridWidth:o,maxMobileWidth:i}=t,a=Object.keys(e.openPanels),l=a[a.length-1],c="hybrid"===n?e.isFullscreen:(0,s.g)({behaviour:n,hybridWidth:o,maxMobileWidth:i}),u=l?ue(e,l,t.breakpoint,(null===(r=e.openPanels[l])||void 0===r?void 0:r.props)||{}):{},d=e.panelConfig||e.panelRegistry.getPanelConfig(),p=Object.fromEntries(Object.entries(d).filter(e=>{var[r,n]=e,o=n[t.breakpoint];return!0===(null==o?void 0:o.open)&&!1===(null==o?void 0:o.dismissible)&&!u[r]}).map(t=>{var[r]=t;return[r,e.openPanels[r]||{props:{}}]}));return ce(ce({},e),{},{breakpoint:t.breakpoint,isFullscreen:c,previousOpenPanels:e.openPanels,openPanels:ce(ce({},u),p)})},SET_MEDIA:(e,t)=>ce(ce({},e),t),SET_HYBRID_FULLSCREEN:(e,t)=>ce(ce({},e),{},{isFullscreen:t}),SET_INTERFACE_TYPE:(e,t)=>e.interfaceType===t?e:ce(ce({},e),{},{interfaceType:t}),SET_MODE:(e,t)=>{var r=e.panelConfig||e.panelRegistry.getPanelConfig();return ce(ce({},e),{},{mode:t,previousMode:e.mode,openPanels:ae(r,e.breakpoint,e.openPanels)})},PLUGINS_EVALUATED:e=>e.arePluginsEvaluated?e:ce(ce({},e),{},{arePluginsEvaluated:!0}),CLEAR_PLUGINS_EVALUATED:e=>e.arePluginsEvaluated?ce(ce({},e),{},{arePluginsEvaluated:!1}):e,SET_SAFE_ZONE_INSET:(e,t)=>{var{safeZoneInset:r,syncMapPadding:n=!0}=t;return((e,t)=>{if(e===t)return!0;if(!e||!t||"object"!=typeof e||"object"!=typeof t)return!1;var r=Object.keys(e),n=Object.keys(t);return r.length===n.length&&r.every(r=>Object.is(e[r],t[r]))})(e.safeZoneInset,r)?e:ce(ce({},e),{},{safeZoneInset:r,syncMapPadding:n,isLayoutReady:!0})},REVERT_MODE:e=>{var t=e.panelConfig||e.panelRegistry.getPanelConfig();return ce(ce({},e),{},{mode:e.previousMode,previousMode:e.mode,openPanels:ae(t,e.breakpoint,e.openPanels)})},OPEN_PANEL:(e,t)=>{var{panelId:r,props:n={},focusOnOpen:o}=t;return ce(ce({},e),{},{previousOpenPanels:e.openPanels,openPanels:ue(e,r,e.breakpoint,n,o)})},CLOSE_PANEL:(e,t)=>{var r=e.openPanels,{[t]:n}=r,i=(0,o.A)(r,[t].map(se));return ce(ce({},e),{},{previousOpenPanels:e.openPanels,openPanels:i})},CLOSE_ALL_PANELS:e=>ce(ce({},e),{},{previousOpenPanels:e.openPanels,openPanels:{}}),RESTORE_PREVIOUS_PANELS:e=>ce(ce({},e),{},{openPanels:e.previousOpenPanels||{},previousOpenPanels:e.openPanels}),TOGGLE_APP_VISIBLE:(e,t)=>ce(ce({},e),{},{appVisible:t}),TOGGLE_HAS_EXCLUSIVE_CONTROL:(e,t)=>ce(ce({},e),{},{hasExclusiveControl:t}),TOGGLE_BUTTON_DISABLED:(e,t)=>{var{id:r,isDisabled:n}=t,o=new Set(e.disabledButtons);return n?o.add(r):o.delete(r),ce(ce({},e),{},{disabledButtons:o})},TOGGLE_BUTTON_HIDDEN:(e,t)=>{var{id:r,isHidden:n}=t,o=new Set(e.hiddenButtons);return n?o.add(r):o.delete(r),ce(ce({},e),{},{hiddenButtons:o})},TOGGLE_BUTTON_PRESSED:(e,t)=>{var{id:r,isPressed:n}=t,o=new Set(e.pressedButtons);return n?o.add(r):o.delete(r),ce(ce({},e),{},{pressedButtons:o})},TOGGLE_BUTTON_EXPANDED:(e,t)=>{var{id:r,isExpanded:n}=t,o=new Set(e.expandedButtons);return n?o.add(r):o.delete(r),ce(ce({},e),{},{expandedButtons:o})},REGISTER_BUTTON:(e,t)=>ce(ce({},e),{},{buttonConfig:L(e.buttonConfig,t)}),ADD_BUTTON:(e,t)=>{var r,{id:n,config:o}=t,i=k(e.buttonConfig,n,o),a=new Set(e.hiddenButtons);o.isHidden&&a.add(n);var s=new Set(e.disabledButtons);o.isDisabled&&s.add(n);var l=new Set(e.pressedButtons);o.isPressed&&l.add(n);var c=new Set(e.expandedButtons);return o.isExpanded&&c.add(n),null!==(r=e.buttonRegistry)&&void 0!==r&&r.addButton&&e.buttonRegistry.addButton(n,o),ce(ce({},e),{},{buttonConfig:i,hiddenButtons:a,disabledButtons:s,pressedButtons:l,expandedButtons:c})},REGISTER_PANEL:(e,t)=>ce(ce({},e),{},{panelConfig:R(e.panelConfig,t)}),ADD_PANEL:(e,t)=>{var r,{id:n,config:o}=t,i=F(e.panelConfig,n,o),a=i[n];null!==(r=e.panelRegistry)&&void 0!==r&&r.addPanel&&e.panelRegistry.addPanel(n,o);var s=null==a?void 0:a[e.breakpoint],l=null==s?void 0:s.open;return ce(ce({},e),{},{panelConfig:i,openPanels:l?ue(ce(ce({},e),{},{panelConfig:i}),n,e.breakpoint,{}):e.openPanels})},REMOVE_PANEL:(e,t)=>{var r,n=t,i=e.openPanels,{[n]:a}=i,s=(0,o.A)(i,[n].map(se));return null!==(r=e.panelRegistry)&&void 0!==r&&r.removePanel&&e.panelRegistry.removePanel(n),ce(ce({},e),{},{panelConfig:B(e.panelConfig,n),openPanels:s})},REGISTER_CONTROL:(e,t)=>ce(ce({},e),{},{controlConfig:Y(e.controlConfig,t)}),ADD_CONTROL:(e,t)=>{var r,{id:n,config:o}=t,i=U(e.controlConfig,n,o);return null!==(r=e.controlRegistry)&&void 0!==r&&r.addControl&&e.controlRegistry.addControl(n,o),ce(ce({},e),{},{controlConfig:i})}};function pe(){return{preferredColorScheme:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",prefersReducedMotion:window.matchMedia("(prefers-reduced-motion: reduce)").matches}}var he=(e,t)=>{var{type:r,payload:n}=t,o=de[r];return o?o(e,n):e},fe=["mobile","tablet","desktop"];function ge(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ye(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ge(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ge(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ve=(0,l.q6)(null),me=e=>{var{options:t,children:r}=e,{pluginRegistry:n,buttonRegistry:o,panelRegistry:i,controlRegistry:a,eventBus:d,breakpointDetector:p}=t,h={appContainerRef:(0,l.li)(null),sideRef:(0,l.li)(null),mainRef:(0,l.li)(null),topRef:(0,l.li)(null),topLeftColRef:(0,l.li)(null),topRightColRef:(0,l.li)(null),leftRef:(0,l.li)(null),leftTopRef:(0,l.li)(null),leftBottomRef:(0,l.li)(null),middleRef:(0,l.li)(null),rightRef:(0,l.li)(null),rightTopRef:(0,l.li)(null),rightBottomRef:(0,l.li)(null),drawerRef:(0,l.li)(null),bottomRef:(0,l.li)(null),bottomRightRef:(0,l.li)(null),attributionsRef:(0,l.li)(null),actionsRef:(0,l.li)(null),bannerRef:(0,l.li)(null),modalRef:(0,l.li)(null),viewportRef:(0,l.li)(null)},f=(0,l.li)({}),[g,y]=(0,l.WO)(he,(e=>{var{initialBreakpoint:t,initialInterfaceType:r,appColorScheme:n,autoColorScheme:o,pluginRegistry:i,buttonRegistry:a,panelRegistry:l,controlRegistry:c,mode:u}=e,{preferredColorScheme:d,prefersReducedMotion:p}=pe(),h=(0,s.g)(e),f=ae(l.getPanelConfig(),t);return{appVisible:null,isLayoutReady:!1,arePluginsEvaluated:!1,breakpoint:t,interfaceType:r,preferredColorScheme:o?d:n,prefersReducedMotion:p,isFullscreen:h,mode:u||null,previousMode:null,safeZoneInset:null,disabledButtons:new Set,hiddenButtons:new Set,pressedButtons:new Set,expandedButtons:new Set,hasExclusiveControl:!1,openPanels:f,previousOpenPanels:{},syncMapPadding:!0,pluginRegistry:i,buttonRegistry:a,panelRegistry:l,controlRegistry:c,buttonConfig:a.getButtonConfig(),panelConfig:l.getPanelConfig(),controlConfig:c.getControlConfig()}})(t)),v=(0,l.hb)(e=>{var r=g.panelConfig||t.panelRegistry.getPanelConfig(),n=g;y(e),function(e,t,r,n){var{type:o,payload:i}=e;if("CLOSE_PANEL"===o&&queueMicrotask(()=>{n.emit(s.E.APP_PANEL_CLOSED,{panelId:i})}),"CLOSE_ALL_PANELS"===o&&queueMicrotask(()=>{Object.keys(t.openPanels).forEach(e=>{n.emit(s.E.APP_PANEL_CLOSED,{panelId:e})})}),"OPEN_PANEL"===o){var{panelId:a,props:l}=i,c=function(e,t,r,n){var o,i=null===(o=n[e])||void 0===o?void 0:o[r],a=!(null==i||!i.exclusive||null!=i&&i.modal),s=!(null==i||!i.modal),l=[];if(s)return l;var c=Object.keys(t);return a?c.forEach(e=>{var t,o=null===(t=n[e])||void 0===t?void 0:t[r];null!=o&&o.exclusive||l.push(e)}):c.forEach(e=>{var t,o=null===(t=n[e])||void 0===t?void 0:t[r];null==o||!o.exclusive||null!=o&&o.modal||l.push(e)}),l}(a,t.openPanels,t.breakpoint,r);queueMicrotask(()=>{c.forEach(e=>{n.emit(s.E.APP_PANEL_CLOSED,{panelId:e})}),n.emit(s.E.APP_PANEL_OPENED,{panelId:a,props:l})})}if("ADD_BUTTON"===o){var{id:u,config:d}=i,p=A(w,d);fe.forEach(e=>{var t,r=null===(t=p[e])||void 0===t?void 0:t.slot;r&&!$.button.includes(r)&&q('button "'.concat(u,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat($.button.join(", "),"."))})}if("ADD_CONTROL"===o){var{id:h,config:f}=i,g=A(M,f);fe.forEach(e=>{var t,r=null===(t=g[e])||void 0===t?void 0:t.slot;r&&!$.control.includes(r)&&q('control "'.concat(h,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat($.control.join(", "),"."))})}if("ADD_PANEL"===o){var{id:y,config:v}=i,m=A(_,v);fe.forEach(e=>{var t,r=null===(t=m[e])||void 0===t?void 0:t.slot;!r||$.panel.includes(r)||r.endsWith("-button")||q('panel "'.concat(y,'" has invalid slot "').concat(r,'" at breakpoint "').concat(e,'". Allowed slots: ').concat($.panel.join(", "),"."))});var b=m[t.breakpoint];null!=b&&b.open&&queueMicrotask(()=>{var e=b.slot,{visibleGeometry:t}=m,r={panelId:y,slot:e};t&&(r.visibleGeometry=t),n.emit(s.E.APP_PANEL_OPENED,r)})}}(e,n,r,d)},[g,t,d]);!function(e,t){var{appColorScheme:r,autoColorScheme:n,behaviour:o,hybridWidth:i,maxMobileWidth:a}=t;(0,l.vJ)(()=>{var t=[window.matchMedia("(prefers-color-scheme: dark)"),window.matchMedia("(prefers-reduced-motion: reduce)")];function s(){var{preferredColorScheme:t,prefersReducedMotion:o}=pe();e({type:"SET_MEDIA",payload:{preferredColorScheme:n?t:r,prefersReducedMotion:o}})}t.forEach(e=>e.addEventListener("change",s));var l=null,c=null;if("hybrid"===o){var u=null!=i?i:a;l=window.matchMedia("(max-width: ".concat(u,"px)")),c=t=>{e({type:"SET_HYBRID_FULLSCREEN",payload:t.matches})},l.addEventListener("change",c)}return()=>{t.forEach(e=>e.removeEventListener("change",s)),l&&c&&l.removeEventListener("change",c)}},[e,o,i,a])}(y,t);var m=e=>{v({type:"SET_MODE",payload:e})},b=()=>{v({type:"REVERT_MODE"})};(0,l.vJ)(()=>{d.on(s.E.APP_SET_MODE,m),d.on(s.E.APP_REVERT_MODE,b);var e=p.subscribe(e=>{v({type:"SET_BREAKPOINT",payload:{behaviour:t.behaviour,breakpoint:e,hybridWidth:t.hybridWidth,maxMobileWidth:t.maxMobileWidth}})}),r=(0,s.s)(e=>{v({type:"SET_INTERFACE_TYPE",payload:e})});return()=>{d.off(s.E.APP_SET_MODE,m),d.off(s.E.APP_REVERT_MODE,b),e(),r()}},[]);var E=(0,l.Kr)(()=>ye(ye({},g),{},{dispatch:v,layoutRefs:h,buttonRefs:f,pluginRegistry:n,buttonRegistry:o,panelRegistry:i,controlRegistry:a}),[g,v]);return(0,c.Y)(u.Provider,{value:t,children:(0,c.Y)(ve.Provider,{value:E,children:r})})};function be(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ee(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?be(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):be(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Pe=(e,t)=>Ee(Ee({},e),t),Oe={SET_MAP_READY:e=>Ee(Ee({},e),{},{isMapReady:!0}),MAP_MOVE:Pe,MAP_MOVE_END:Pe,MAP_FIRST_IDLE:Pe,SET_MAP_STYLE:(e,t)=>Ee(Ee({},e),{},{mapStyle:t}),SET_MAP_SIZE:(e,t)=>Ee(Ee({},e),{},{mapSize:t}),UPDATE_CROSS_HAIR:(e,t)=>Ee(Ee({},e),{},{crossHair:Ee(Ee({},e.crossHair),t)}),UPSERT_LOCATION_MARKER:(e,t)=>{var r=new Map(e.markers.items.map(e=>[e.id,e]));r.set(t.id,t);var n=Array.from(r.values());return Ee(Ee({},e),{},{markers:Ee(Ee({},e.markers),{},{items:n})})},REMOVE_LOCATION_MARKER:(e,t)=>{var r=e.markers.items.filter(e=>e.id!==t);return Ee(Ee({},e),{},{markers:Ee(Ee({},e.markers),{},{items:r})})}},Se=(e,t)=>{var{type:r,payload:n}=t,o=Oe[r];return o?o(e,n):e};function we(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _e(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?we(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):we(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Me=(0,l.q6)(null),xe=e=>{var{options:t,children:r}=e,[n,o]=(0,l.WO)(Se,(e=>{var{center:t,zoom:r,bounds:n,extent:o,mapStyle:i,mapSize:a,markers:s}=e,{registeredPlugins:l}=e.pluginRegistry;return{isMapReady:!1,mapProvider:null,mapStyle:null!=l&&l.find(e=>{var t;return null===(t=e.config)||void 0===t?void 0:t.handlesMapStyle})?null:i,mapSize:a,center:t,zoom:r,bounds:n||o,resolution:null,isAtMaxZoom:null,isAtMinZoom:null,crossHair:{isVisible:!1,isPinnedToMap:!1,state:"active"},markers:{items:s||[]}}})(t)),{eventBus:i}=t,a=(0,l.li)(!1),u=()=>{o({type:"SET_MAP_READY"})},d=e=>{var r=localStorage.getItem("".concat(t.id,":mapStyleId")),n=e.find(e=>e.id===r)||e[0],i=localStorage.getItem("".concat(t.id,":mapSize"))||t.mapSize;o({type:"SET_MAP_STYLE",payload:n}),o({type:"SET_MAP_SIZE",payload:i})},p=e=>{o({type:"SET_MAP_STYLE",payload:e})},h=e=>{o({type:"SET_MAP_SIZE",payload:e})};(0,l.vJ)(()=>(i.on(s.E.MAP_READY,u),i.on(s.E.MAP_INIT_MAP_STYLES,d),i.on(s.E.MAP_SET_STYLE,p),i.on(s.E.MAP_SET_SIZE,h),()=>{i.off(s.E.MAP_READY,u),i.off(s.E.MAP_INIT_MAP_STYLES,d),i.off(s.E.MAP_SET_STYLE,p),i.off(s.E.MAP_SET_SIZE,h)}),[]),(0,l.vJ)(()=>{n.mapSize&&(a.current?i.emit(s.E.MAP_SIZE_CHANGE,{mapSize:n.mapSize}):a.current=!0)},[n.mapSize]),(0,l.vJ)(()=>{n.mapStyle&&n.mapSize&&(localStorage.setItem("".concat(t.id,":mapStyleId"),n.mapStyle.id),localStorage.setItem("".concat(t.id,":mapSize"),n.mapSize))},[n.mapStyle,n.mapSize]);var f=(0,l.Kr)(()=>_e(_e({},n),{},{dispatch:o}),[n]);return(0,c.Y)(Me.Provider,{value:f,children:r})},Te=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var r=Object.values(e)[0];return null!=r?r:null}return null},Ae={symbol:"pin",backgroundColor:"#ca3535",foregroundColor:"#ffffff",haloWidth:"1",selectedWidth:"6"},Ce={dot:"M8 3c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.241 5-5-2.24-5-5-5z",cross:"M6 3H10V6H13V10H10V13H6V10H3V6H6Z",diamond:"M8 2L14 8L8 14L2 8Z",triangle:"M8 2L14 14H2Z",square:"M3 3H13V13H3Z"},Ie={id:"pin",viewBox:"0 0 38 38",anchor:[.5,.9],graphic:Ce.dot,svg:'<path d="M19 33.499c-5.318-5-12-9.509-12-16.998 0-6.583 5.417-12 12-12s12 5.417 12 12c0 7.489-6.682 11.998-12 16.998z" fill="none" stroke="{{selectedColor}}" stroke-width="{{selectedWidth}}"/>\n <path d="M19 33.499c-5.318-5-12-9.509-12-16.998 0-6.583 5.417-12 12-12s12 5.417 12 12c0 7.489-6.682 11.998-12 16.998z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="{{haloWidth}}"/>\n <g transform="translate(19, 16) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},Le={id:"circle",viewBox:"0 0 38 38",anchor:[.5,.5],graphic:Ce.dot,svg:'<path d="M19 7C12.376 7 7 12.376 7 19s5.376 12 12 12a12.01 12.01 0 0 0 12-12A12.01 12.01 0 0 0 19 7z" fill="none" stroke="{{selectedColor}}" stroke-width="{{selectedWidth}}"/>\n <path d="M19 7C12.376 7 7 12.376 7 19s5.376 12 12 12a12.01 12.01 0 0 0 12-12A12.01 12.01 0 0 0 19 7z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="{{haloWidth}}"/>\n <g transform="translate(19, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},ke={id:"square",viewBox:"0 0 38 38",anchor:[.5,.5],graphic:Ce.dot,svg:'<path d="M28 7a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V10a3 3 0 0 1 3-3h18z" fill="none" stroke="{{selectedColor}}" stroke-width="{{selectedWidth}}"/>\n <path d="M28 7a3 3 0 0 1 3 3v18a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V10a3 3 0 0 1 3-3h18z" fill="{{backgroundColor}}" stroke="{{haloColor}}" stroke-width="{{haloWidth}}"/>\n <g transform="translate(19, 19) scale(0.8) translate(-8, -8)"><path d="{{graphic}}" fill="{{foregroundColor}}"/></g>'},De={light:{haloColor:"#ffffff",selectedColor:"#0b0c0c",foregroundColor:"#0b0c0c"},dark:{haloColor:"#0b0c0c",selectedColor:"#ffffff",foregroundColor:"#ffffff"}},je=e=>{var{haloColor:t,selectedColor:r,foregroundColor:n}=(e=>{var t,r,n,o,i=null!==(t=De[null==e?void 0:e.mapColorScheme])&&void 0!==t?t:De.light;return{haloColor:null!==(r=null==e?void 0:e.haloColor)&&void 0!==r?r:i.haloColor,selectedColor:null!==(n=null==e?void 0:e.selectedColor)&&void 0!==n?n:i.selectedColor,foregroundColor:null!==(o=null==e?void 0:e.foregroundColor)&&void 0!==o?o:i.foregroundColor}})(e);return{"--map-overlay-halo-color":t,"--map-overlay-selected-color":r,"--map-overlay-foreground-color":n}};function Ne(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Re(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ne(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ne(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Fe=new Map,Be={},Ve=new Set(["id","svg","viewBox","anchor","symbol","symbolSvgContent"]),Ge=new Set([...Ve,"selectedWidth"]);function Ye(e,t,r){var n,o,i,a=null==r?void 0:r.id,s=Object.fromEntries(Object.entries(e||{}).filter(e=>{var[t]=e;return!Ge.has(t)})),l=Object.fromEntries(Object.entries(Be).filter(e=>{var[t]=e;return!Ve.has(t)})),c=Object.fromEntries(Object.entries(t).filter(e=>{var[,t]=e;return null!=t})),u=Re(Re(Re(Re({},Ae),l),s),c),d=null!==(n=De[null==r?void 0:r.mapColorScheme])&&void 0!==n?n:De.light;return u.haloColor=null!==(o=null==r?void 0:r.haloColor)&&void 0!==o?o:d.haloColor,u.selectedColor=null!==(i=null==r?void 0:r.selectedColor)&&void 0!==i?i:d.selectedColor,"string"==typeof u.graphic&&Ce[u.graphic]&&(u.graphic=Ce[u.graphic]),Object.fromEntries(Object.entries(u).map(e=>{var[t,r]=e;return[t,Te(r,a)||""]}))}function Ue(e,t){return Object.entries(t).reduce((e,t)=>{var[r,n]=t;return e.replaceAll("{{".concat(r,"}}"),n)},e)}var He={setDefaults(e){Be=e||{}},getDefaults:()=>Re(Re({},Ae),Be),register(e){Fe.set(e.id,e)},get:e=>Fe.get(e),list:()=>[...Fe.values()],resolve(e,t,r){var n=Ye(e,t||{},r);return e?(n.selectedColor="",Ue(e.svg,n)):""},resolveSelected(e,t,r){var n=Ye(e,t||{},r);return e?Ue(e.svg,n):""}};He.register(Ie),He.register(Le),He.register(ke);var ze=new Map,We={register(e,t){ze.set(e,{id:e,svgContent:t})},get:e=>ze.get(e),list:()=>[...ze.values()]};Object.entries({"cross-hatch":'<path d="M0 4.486V3.485h3.5V.001h1v3.484h7.002V.001h1v3.484h3.5v1.001h-3.5v7h3.5v.999h-3.5v3.516h-1v-3.516H4.499v3.516h-1v-3.516H0v-.999h3.5v-7H0zm11.501 0H4.499v7h7.002v-7z" fill="{{foregroundColor}}"/>',"diagonal-cross-hatch":'<path d="M0 8.707V7.293L7.293 0h1.414L16 7.293v1.414L8.707 16H7.293L0 8.707zM.707 8L8 15.293 15.293 8 8 .707.707 8z" fill="{{foregroundColor}}"/>',"forward-diagonal-hatch":'<path d="M16 8.707V7.293L7.293 16h1.414L16 8.707zm-16 0L8.707 0H7.293L0 7.293v1.414z" fill="{{foregroundColor}}"/>',"backward-diagonal-hatch":'<path d="M0 8.707V7.293L8.707 16H7.293L0 8.707zm16 0L7.293 0h1.414L16 7.293v1.414z" fill="{{foregroundColor}}"/>',"horizontal-hatch":'<path d="M0 4.5V3.499h15.999V4.5H0zm0 7h15.999V12.5H0v-1.001z" fill="{{foregroundColor}}"/>',"vertical-hatch":'<path d="M3.501 16.001V0h1v16.001h-1zm7.998 0V0h1v16.001h-1z" fill="{{foregroundColor}}"/>',dot:'<path d="M3.999 2A2 2 0 0 1 6 3.999C6 5.103 5.103 6 3.999 6a2 2 0 0 1-1.999-2.001A2 2 0 0 1 3.999 2zm0 7.999C5.103 10 6 10.897 6 12.001A2 2 0 0 1 3.999 14a2 2 0 0 1-1.999-1.999A2 2 0 0 1 3.999 10zM11.999 2A2 2 0 0 1 14 3.999C14 5.103 13.103 6 11.999 6S10 5.103 10 3.999A2 2 0 0 1 11.999 2zm0 7.999c1.104 0 2.001.897 2.001 2.001A2 2 0 0 1 11.999 14 2 2 0 0 1 10 12.001c0-1.104.897-2.001 1.999-2.001z" fill="{{foregroundColor}}"/>',diamond:'<path d="M4 .465L7.535 4 4 7.535.465 4 4 .465zm0 7.999l3.535 3.535L4 15.535.465 11.999 4 8.464zm8-8l3.535 3.535-3.536 3.536L8.464 4 12 .464zm0 8.001L15.536 12 12 15.536 8.465 12 12 8.465z" fill="{{foregroundColor}}"/>'}).forEach(e=>{var[t,r]=e;We.register(t,r)});var Ke=(0,l.q6)(null),Je=e=>{var{eventBus:t,children:r}=e,{id:n,handleExitClick:o,symbolDefaults:i}=d(),a=(0,l.li)(null),u=(0,l.Kr)(()=>function(e){var t,r,n,o=!1,i=t=>{null!=e&&e.current&&t&&(e.current.textContent="",setTimeout(()=>{e.current&&(e.current.textContent=t)},100))},a=(t=i,r=null,n=function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];clearTimeout(r),r=setTimeout(()=>{t(...n)},500)},n.cancel=()=>{r&&(clearTimeout(r),r=null)},n);return function(e){if(e)return"plugin"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"core")?(o=!0,void i(e)):void(o?o=!1:a(e))}}(a),[]);He.setDefaults(i||{});var p=(0,l.Kr)(()=>({announce:u,reverseGeocode:(e,t)=>(0,s.r)(e,t),eventBus:t,mapStatusRef:a,closeApp:()=>function(e,t){t()}(0,o),symbolRegistry:He,patternRegistry:We}),[u]);return(0,c.Y)(Ke.Provider,{value:p,children:r})};function $e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function qe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$e(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$e(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Ze=(0,l.q6)(null),Xe=e=>{var{children:t}=e,{pluginRegistry:r}=d(),n={},o={},i=(0,l.li)({});r.registeredPlugins.forEach(e=>{var t=e.reducer;if(t){var{initialState:r,actions:a}=t;n[e.id]=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0,n=null==e?void 0:e[null==r?void 0:r.type];return n?n(t,r.payload):t}}(a),o[e.id]=r}i.current[e.id]||(i.current[e.id]={})});var[a,s]=(0,l.WO)((e,t)=>{var{pluginId:r}=t;return r&&n[r]?qe(qe({},e),{},{[r]:n[r](e[r],t)}):e},o),u=(e,t)=>(i.current[e]||(i.current[e]={}),i.current[e][t]||(i.current[e][t]=l.Ay.createRef()),i.current[e][t]),p=(0,l.Kr)(()=>({state:a,dispatch:s,refs:i,getPluginRef:u}),[a,s]);return(0,c.Y)(Ze.Provider,{value:p,children:t})},Qe=e=>{var t=(0,l.NT)(Ze);if(!t)throw new Error("usePlugin must be used within PluginProvider");var{state:r,dispatch:n,refs:o,getPluginRef:i}=t;return o.current[e]||(o.current[e]={}),qe(qe({},r[e]),{},{dispatch:t=>n(qe(qe({},t),{},{pluginId:e})),refs:o.current[e],useRef:t=>i(e,t)})};function et(){return(0,l.NT)(ve)}function tt(){return(0,l.NT)(Me)}function rt(){return(0,l.NT)(Ke)}function nt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ot(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?nt(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var it=new Map;function at(e,t){var{pluginId:r,pluginConfig:n}=t,o=e;return it.has(o)||it.set(o,function(t){var o=d(),i=et(),a=tt(),s=rt(),u=Qe(r);return(0,c.Y)(e,ot(ot({},t),{},{pluginConfig:n,pluginState:u,appConfig:o,appState:i,mapState:a,services:s,mapProvider:o.mapProvider,iconRegistry:K(),buttonConfig:(0,l.Kr)(()=>Object.fromEntries(Object.entries(i.buttonConfig).filter(e=>{var[t,n]=e;return n.pluginId===r})),[i.buttonConfig])}))}),it.get(o)}function st(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?st(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):st(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ct(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ut(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ct(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ct(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function dt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function pt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?dt(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):dt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ht(){var e=d(),t=et(),r=tt(),n=rt(),o=(0,l.NT)(Ze),i={appConfig:e,appState:t,mapState:r,services:n,mapProvider:null==e?void 0:e.mapProvider,iconRegistry:K()};function a(t,r){var n,a;if(r){var s,l,c=e.pluginRegistry.registeredPlugins.find(e=>e.id===r);n=c?pt({pluginId:c.id},c.config):{},a=pt(pt({},null!==(s=null==o||null===(l=o.state)||void 0===l?void 0:l[r])&&void 0!==s?s:{}),{},{dispatch:null==o?void 0:o.dispatch})}var u=pt(pt({},i),{},{pluginConfig:n,pluginState:a});return"function"==typeof t?t(u):t}return a.ctx=i,a}var ft=["api"],gt=e=>{var t,r,{plugin:n,mode:i}=e,a=function(e){var t=(0,l.li)(null),r=d(),n=et(),o=tt(),i=rt(),a=Qe(e);return(0,l.vJ)(()=>{t.current={appConfig:r,appState:n,mapState:o,services:i,mapProvider:r.mapProvider,pluginState:a}}),t}(n.id);(0,l.vJ)(()=>{n.api&&n._originalPlugin&&Object.entries(n.api).forEach(e=>{var[t,r]=e;n._originalPlugin[t]=function(e,t){var{pluginId:r,pluginConfig:n,stateRef:o}=t;return function(){var t=o.current;if(!t)throw new Error('Plugin API "'.concat(r,'" called before state is initialized'));for(var i=arguments.length,a=new Array(i),s=0;s<i;s++)a[s]=arguments[s];return e(lt(lt({},t),{},{pluginConfig:n,pluginId:r}),...a)}}(r,{pluginId:n.id,pluginConfig:(null==n?void 0:n.config)||{},stateRef:a})})},[n,a]);var{InitComponent:s}=n,u=(null==n?void 0:n.config)||{},{api:p}=u,h=(0,o.A)(u,ft),{includeModes:f,excludeModes:g}=n.config||{},y=null===(t=null==f?void 0:f.includes(i))||void 0===t||t,v=null!==(r=null==g?void 0:g.includes(i))&&void 0!==r&&r;if(!y||v||!s)return null;var m=at(s,{pluginId:n.id,pluginConfig:h});return(0,c.Y)(m,{})},yt=()=>{var{mode:e}=et(),{pluginRegistry:t}=d();(()=>{var{dispatch:e,hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o}=et(),{eventBus:i}=rt(),a=(0,l.li)(e),c=(0,l.li)({hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o});a.current=e,c.current={hiddenButtons:t,disabledButtons:r,pressedButtons:n,expandedButtons:o},(0,l.vJ)(()=>{var e=e=>{var{id:t,config:r}=e;a.current({type:"ADD_BUTTON",payload:{id:t,config:r}}),Array.isArray(r.menuItems)&&r.menuItems.forEach(e=>{a.current({type:"ADD_BUTTON",payload:{id:e.id,config:ut(ut({},e),{},{isMenuItem:!0})}})})},t=e=>{var{id:t,prop:r,value:n}=e,{hiddenButtons:o,disabledButtons:i,pressedButtons:s,expandedButtons:l}=c.current;switch(r){case"hidden":var u="boolean"==typeof n?n:!o.has(t);a.current({type:"TOGGLE_BUTTON_HIDDEN",payload:{id:t,isHidden:u}});break;case"disabled":var d="boolean"==typeof n?n:!i.has(t);a.current({type:"TOGGLE_BUTTON_DISABLED",payload:{id:t,isDisabled:d}});break;case"pressed":var p="boolean"==typeof n?n:!s.has(t);a.current({type:"TOGGLE_BUTTON_PRESSED",payload:{id:t,isPressed:p}});break;case"expanded":var h="boolean"==typeof n?n:!l.has(t);a.current({type:"TOGGLE_BUTTON_EXPANDED",payload:{id:t,isExpanded:h}})}},r=()=>a.current({type:"TOGGLE_APP_VISIBLE",payload:!0}),n=()=>a.current({type:"TOGGLE_APP_VISIBLE",payload:!1}),o=e=>{var{id:t,config:r}=e;return a.current({type:"ADD_PANEL",payload:{id:t,config:r}})},l=e=>a.current({type:"REMOVE_PANEL",payload:e}),u=e=>{var{id:t,focus:r=!0}=e;return a.current({type:"OPEN_PANEL",payload:{panelId:t,focusOnOpen:r}})},d=e=>a.current({type:"CLOSE_PANEL",payload:e}),p=e=>{var{id:t,config:r}=e;return a.current({type:"ADD_CONTROL",payload:{id:t,config:r}})};return i.on(s.E.APP_OPENED,r),i.on(s.E.APP_CLOSED,n),i.on(s.E.APP_ADD_BUTTON,e),i.on(s.E.APP_TOGGLE_BUTTON_STATE,t),i.on(s.E.APP_ADD_PANEL,o),i.on(s.E.APP_REMOVE_PANEL,l),i.on(s.E.APP_SHOW_PANEL,u),i.on(s.E.APP_HIDE_PANEL,d),i.on(s.E.APP_ADD_CONTROL,p),()=>{i.off(s.E.APP_OPENED,r),i.off(s.E.APP_CLOSED,n),i.off(s.E.APP_ADD_BUTTON,e),i.off(s.E.APP_TOGGLE_BUTTON_STATE,t),i.off(s.E.APP_ADD_PANEL,o),i.off(s.E.APP_REMOVE_PANEL,l),i.off(s.E.APP_SHOW_PANEL,u),i.off(s.E.APP_HIDE_PANEL,d),i.off(s.E.APP_ADD_CONTROL,p)}},[i])})();var r=ht();return function(e){var t=et(),{pluginRegistry:r}=d(),n=(0,l.NT)(Ze);(0,l.Nf)(()=>{if(null!=t&&t.dispatch&&n){var{dispatch:o}=t,i=0,a=e=>{i++,o(e)};r.registeredPlugins.forEach(r=>{var n,o;(null!==(n=null==r||null===(o=r.manifest)||void 0===o?void 0:o.buttons)&&void 0!==n?n:[]).flatMap(e=>{var t;return[e,...null!==(t=e.menuItems)&&void 0!==t?t:[]]}).forEach(n=>function(e){var{btn:t,pluginId:r,appState:n,dispatch:o,evaluateProp:i}=e;[{prop:"enableWhen",state:n.disabledButtons,action:"TOGGLE_BUTTON_DISABLED",invert:!0,key:"isDisabled"},{prop:"hiddenWhen",state:n.hiddenButtons,action:"TOGGLE_BUTTON_HIDDEN",key:"isHidden"},{prop:"pressedWhen",state:n.pressedButtons,action:"TOGGLE_BUTTON_PRESSED",key:"isPressed"},{prop:"expandedWhen",state:n.expandedButtons,action:"TOGGLE_BUTTON_EXPANDED",key:"isExpanded"}].forEach(e=>{var{prop:n,state:a,action:s,key:l,invert:c}=e;if("function"==typeof t[n])try{var u=i(t[n],r),d=c?!u:u;a.has(t.id)!==d&&o({type:s,payload:{id:t.id,[l]:d}})}catch(e){console.warn("".concat(n," error for button ").concat(t.id,":"),e)}})}({btn:n,pluginId:r.id,appState:t,dispatch:a,evaluateProp:e}))}),0!==i||t.arePluginsEvaluated||o({type:"PLUGINS_EVALUATED"})}},[t,n,e])}(r),(0,c.Y)(c.FK,{children:t.registeredPlugins.map((t,n)=>(0,c.Y)(gt,{plugin:t,mode:e,evaluateProp:r},"init-".concat(t.id,"-").concat(n)))})};function vt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function mt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?vt(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):vt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var bt=e=>{if(null==e||!e.current)return{offsetWidth:0,offsetHeight:0};var t=e.current.firstElementChild;return null!=t&&t.classList.contains("im-c-panel")&&0!==t.offsetWidth&&0!==t.offsetHeight?{offsetWidth:t.offsetWidth,offsetHeight:t.offsetHeight}:{offsetWidth:0,offsetHeight:0}},Et=e=>{var t,r=null==e||null===(t=e.current)||void 0===t?void 0:t.querySelector(".im-c-button-group");return r?r.offsetWidth:0},Pt=(e,t,r,n)=>{var o=t/n,i=e/r;return o>=.5&&i>=.5?o>=i?{colH:t,colW:e,rowW:0,rowH:0}:{colH:0,colW:0,rowW:e,rowH:t}:{colH:t,colW:e,rowW:e,rowH:t}},Ot=(e,t,r,n,o,i,a)=>{var s=Pt(e.offsetWidth,e.offsetHeight,r,n),l=Pt(t.offsetWidth,t.offsetHeight,r,n),c=0===t.offsetHeight&&0===s.colH,u=0===e.offsetHeight&&0===l.colH,d=e.offsetHeight+t.offsetHeight+(e.offsetHeight>0&&t.offsetHeight>0?a:0)>o&&!c&&!u;return{panelInset:d?i+Math.max(e.offsetWidth,t.offsetWidth)+a:0,rowA:d?{w:0,h:0}:{w:s.rowW,h:s.rowH},rowB:d?{w:0,h:0}:{w:l.rowW,h:l.rowH}}},St=(e,t,r,n,o,i,a)=>e+t>o?i+Math.max(r,n)+a:0,wt=e=>{var{mainRef:t,leftRef:r,rightRef:n,actionsRef:o,bottomRef:i,leftTopRef:a,leftBottomRef:s,rightTopRef:l,rightBottomRef:c}=e;if(![t,r,n,o,i].some(e=>!(null!=e&&e.current))){var u=t.current,d=r.current,p=o.current,h=i.current,f=Number.parseInt(getComputedStyle(document.documentElement).getPropertyValue("--divider-gap"),10),g=bt(a),y=bt(s),v=bt(l),m=bt(c),b=Math.max(Et(r),Et(n)),E=u.offsetLeft+d.offsetLeft+b+f,P=d.offsetLeft+b+f,O=d.offsetTop,S=u.offsetHeight-h.offsetTop-h.offsetHeight,w=Math.max(S,u.offsetHeight-h.offsetTop+f),_=Math.max(u.offsetHeight-p.offsetTop+f,w),M=u.offsetHeight-O-_,x=u.offsetWidth-(E-u.offsetLeft)-P,T=Ot(g,y,x,M,M/2,u.offsetLeft+d.offsetLeft,f),A=Ot(v,m,x,M,M/2,d.offsetLeft,f),C=T.panelInset,I=A.panelInset,L=St(T.rowA.w,A.rowA.w,T.rowA.h,A.rowA.h,x/2,O,f),k=St(T.rowB.w,A.rowB.w,T.rowB.h,A.rowB.h,x/2,w,f),D=u.offsetWidth-2*f,j=u.offsetHeight-2*f,N=u.offsetLeft+2*D/3,R=2*D/3,F=2*j/3;return{left:Math.max(E,Math.min(C,N)),right:Math.max(P,Math.min(I,R)),top:Math.max(O,Math.min(L,F)),bottom:Math.max(_,Math.min(k,F))}}},_t=(e,t)=>Object.entries(e).reduce((e,r)=>{var[n,o]=r;return e[n]=Math.round(o/t),e},{}),Mt=e=>"Feature"===e.type?Mt(e.geometry):"Point"===e.type?e.coordinates:"MultiPoint"===e.type?e.coordinates[0]:null;function xt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xt(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var At=e=>{var{mapContainerRef:t}=e,r=d(),{id:n,mapProvider:o}=r,{safeZoneInset:i,breakpoint:a,isLayoutReady:c,syncMapPadding:u}=et(),{isMapReady:p,mapStyle:h,mapSize:f,center:g,zoom:y,bounds:v}=tt(),m=(0,l.li)(!1),b=function(e){var{id:t,center:r,zoom:n,bounds:o,urlPosition:i="sync"}=e,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.search,s="none"===i?null:((e,t)=>{var r=new URLSearchParams(t),n=r.get("".concat(e,":center")),o=r.get("".concat(e,":zoom"));if(!n||!o)return null;var[i,a]=n.split(",").map(Number);return{center:[i,a],zoom:Number(o)}})(t,a);return s?{center:s.center,zoom:s.zoom}:o?{bounds:o}:{center:r,zoom:n}}({id:n,center:g,zoom:y,bounds:v,urlPosition:r.urlPosition});return(0,l.vJ)(()=>{if(i&&c&&h&&f&&!m.current)return requestAnimationFrame(()=>{o.initMap(Tt(Tt({},r),{},{pixelRatio:window.devicePixelRatio*x[f],container:t.current,padding:i,center:b.center,zoom:b.zoom,bounds:b.bounds,mapStyle:h,mapSize:f}))}),m.current=!0,()=>{}},[i,c,h,f]),function(){var{mapProvider:e}=d(),{dispatch:t}=tt(),{eventBus:r}=rt(),n=(0,l.li)(null),o=(0,l.li)(!1);(0,l.vJ)(()=>{if(e){var i=e=>{t({type:"MAP_MOVE",payload:e})},a=e=>{t({type:"MAP_MOVE_END",payload:e}),r.emit(s.E.MAP_STATE_UPDATED,{previous:n.current,current:e}),n.current=e},l=r=>{o.current||(n.current={center:e.getCenter(),zoom:e.getZoom()},o.current=!0),t({type:"MAP_FIRST_IDLE",payload:r})};return r.on(s.E.MAP_MOVE,i),r.on(s.E.MAP_MOVE_END,a),r.on(s.E.MAP_FIRST_IDLE,l),()=>{r.off(s.E.MAP_MOVE,i),r.off(s.E.MAP_MOVE_END,a),r.off(s.E.MAP_FIRST_IDLE,l)}}},[e,t])}(),function(){var{id:e,urlPosition:t}=d(),{eventBus:r}=rt();(0,l.vJ)(()=>{if(e&&"sync"===t){var n=t=>{var{current:r}=t;!function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.href,n=new URL(r||"http://localhost"),o=new Set,i=[];if(t.center){var a="".concat(e,":center");o.add(a),i.push("".concat(a,"=").concat(t.center[0],",").concat(t.center[1]))}if(null!=t.zoom){var s="".concat(e,":zoom");o.add(s),i.push("".concat(s,"=").concat(t.zoom))}var l=[];n.searchParams.forEach((e,t)=>{o.has(t)||l.push("".concat(t,"=").concat(e))});var c=[...l,...i].join("&"),u=c?"?"+c:"",d="".concat(n.origin).concat(n.pathname).concat(u).concat(n.hash);window.history.replaceState(window.history.state,"",d)}(e,{center:r.center,zoom:r.zoom})};return r.on(s.E.MAP_STATE_UPDATED,n),()=>r.off(s.E.MAP_STATE_UPDATED,n)}},[e,t])}(),function(){var{mapProvider:e}=d(),{eventBus:t,announce:r}=rt();(0,l.vJ)(()=>{var n=t=>{var{previous:n,current:o}=t;if(null!=n&&n.center&&null!=o&&o.center){var i=((e,t,r)=>{var n=e.zoom!==t.zoom,o=e.center[0]!==t.center[0]||e.center[1]!==t.center[1],i=r.getAreaDimensions();return o&&!n?(e=>{var{direction:t}=e;return"Map moved ".concat(t,".")})({direction:r.getCardinalMove(e.center,t.center),areaDimensions:i}):!o&&n?(e=>{var{from:t,to:r,areaDimensions:n,isAtMaxZoom:o,isAtMinZoom:i}=e;return"Map zoomed ".concat(r>t?"in":"out").concat(o?" (Maximum zoom)":"").concat(i?" (Minimum zoom)":"",". New area approximately ").concat(n,".")})(mt(mt({},t),{},{from:e.zoom,to:t.zoom,areaDimensions:i})):o||n?(e=>{var{areaDimensions:t,isAtMaxZoom:r,isAtMinZoom:n}=e;return"New area approximately ".concat(t).concat(r?" (Maximum zoom)":"").concat(n?" (Minimum zoom)":"",".")})(mt(mt({},t),{},{areaDimensions:i})):(e=>{var{isAtMaxZoom:t,isAtMinZoom:r}=e;return"No change, ".concat(t?"maximum zoom reached":"").concat(r?"minimum zoom reached":"",".")})(mt({},t))})(n,o,e);i&&r(i,"core")}};return t.on(s.E.MAP_STATE_UPDATED,n),()=>{t.off(s.E.MAP_STATE_UPDATED,n)}},[e,r])}(),(()=>{var{mapProvider:e,eventBus:t}=d(),{dispatch:r,layoutRefs:n}=et(),{mapSize:o}=tt(),i=(0,l.li)(o);i.current=o;var a=()=>{var t=wt(n),o=_t(t,x[i.current]);"function"==typeof r&&r({type:"SET_SAFE_ZONE_INSET",payload:{safeZoneInset:t,syncMapPadding:!1}}),"function"==typeof e.setPadding&&e.setPadding(o)};(0,l.vJ)(()=>{if(e){var t=e.fitToBounds;e.fitToBounds=function(r){if(r)return arguments.length>1&&void 0!==arguments[1]&&arguments[1]||a(),t.call(e,r)};var r=e.setView;return e.setView=t=>{var{center:n,zoom:o}=t;if(n)return a(),r.call(e,{center:n,zoom:o})},()=>{e.fitToBounds=t,e.setView=r}}},[e,r,n,o]),(0,l.vJ)(()=>{if(e&&t){var r=t=>e.fitToBounds(t),n=t=>e.setView(t);return t.on(s.E.MAP_FIT_TO_BOUNDS,r),t.on(s.E.MAP_SET_VIEW,n),()=>{t.off(s.E.MAP_FIT_TO_BOUNDS,r),t.off(s.E.MAP_SET_VIEW,n)}}},[e,t])})(),(()=>{var{id:e,mapProvider:t,eventBus:r}=d(),{layoutRefs:n,panelConfig:o,panelRegistry:i,breakpoint:a}=et(),c=(0,l.li)({layoutRefs:n,panelConfig:o,panelRegistry:i,breakpoint:a});c.current={layoutRefs:n,panelConfig:o,panelRegistry:i,breakpoint:a},(0,l.vJ)(()=>{if(t&&r){var o=r=>{var o,i,a,{panelId:s,visibleGeometry:l}=r,{panelConfig:u,panelRegistry:d}=c.current,p=null!=u&&u[s]?u:null!==(o=null==d?void 0:d.getPanelConfig())&&void 0!==o?o:u,h=null!=l?l:null==p||null===(i=p[s])||void 0===i?void 0:i.visibleGeometry,f=null===(a=n.appContainerRef.current)||void 0===a?void 0:a.querySelector("#".concat(e,"-panel-").concat(s));if(h&&"function"==typeof t.isGeometryObscured){var g=()=>{if(f){var e,r=f.getBoundingClientRect();if(r&&0!==r.width&&0!==r.height){if(t.isGeometryObscured(h,r))if("Point"===(e=(o=h)?"Feature"===o.type?null===(i=o.geometry)||void 0===i?void 0:i.type:o.type:null)||"MultiPoint"===e){var n=Mt(h);n&&t.setView({center:n})}else t.fitToBounds(h)}else requestAnimationFrame(g)}var o,i};requestAnimationFrame(g)}};return r.on(s.E.APP_PANEL_OPENED,o),()=>{r.off(s.E.APP_PANEL_OPENED,o)}}},[t,r])})(),(0,l.vJ)(()=>{p&&u&&o.setPadding(_t(i,x[f]))},[p,f,a,i]),null},Ct={keydown:{ArrowUp:"panUp",ArrowDown:"panDown",ArrowLeft:"panLeft",ArrowRight:"panRight","+":"zoomIn","=":"zoomIn","-":"zoomOut",_:"zoomOut"},keyup:{"Alt+k":"showKeyboardControls","Alt+K":"showKeyboardControls","Alt+ArrowRight":"highlightNextLabel","Alt+ArrowLeft":"highlightNextLabel","Alt+ArrowUp":"highlightNextLabel","Alt+ArrowDown":"highlightNextLabel","Alt+Enter":"highlightLabelAtCenter","Alt+i":"getInfo","Alt+I":"getInfo",Escape:"clearSelection"}},It=(e,t,r)=>{var n,{containerRef:o,dispatch:a,panDelta:l,nudgePanDelta:c,zoomDelta:u,nudgeZoomDelta:d,readMapText:p}=r,h=e=>e?c:l,f=e=>e?d:u;return{showKeyboardControls:()=>{a({type:"OPEN_PANEL",payload:{panelId:"keyboardHelp",props:{triggeringElement:o.current}}})},panUp:t=>e.panBy([0,-h(t.shiftKey)]),panDown:t=>e.panBy([0,h(t.shiftKey)]),panLeft:t=>e.panBy([-h(t.shiftKey),0]),panRight:t=>e.panBy([h(t.shiftKey),0]),zoomIn:t=>e.zoomIn(f(t.shiftKey)),zoomOut:t=>e.zoomOut(f(t.shiftKey)),getInfo:(n=(0,i.A)(function*(r){var n,o=e.getCenter(),i=yield(0,s.r)(e.getZoom(),o),a=null===(n=e.getAreaDimensions)||void 0===n?void 0:n.call(e),l=a?"".concat(i,". Covering ").concat(a,"."):"".concat(i,".");t(l,"core")}),function(e){return n.apply(this,arguments)}),highlightNextLabel:r=>{if(p||!e.highlightNextLabel){var n=e.highlightNextLabel(r.key);t(n,"core")}},highlightLabelAtCenter:()=>{if(p||!e.highlightNextLabel){var r=e.highlightLabelAtCenter();t(r,"core")}},clearSelection:()=>{var t;return null==e||null===(t=e.clearHighlightedLabel)||void 0===t?void 0:t.call(e)}}},Lt=()=>{var{mapStatusRef:e}=rt();return(0,c.Y)("div",{ref:e,role:"status",className:"im-c-viewport__status","aria-live":"polite","aria-atomic":"true","aria-label":"Map updates"})},kt={active:"M5.035 20H1v-2h4.035C5.525 11.069 11.069 5.525 18 5.035V1h2v4.035c6.931.49 12.475 6.034 12.965 12.965H37v2h-4.035c-.49 6.931-6.034 12.475-12.965 12.965V37h-2v-4.035C11.069 32.475 5.525 26.931 5.035 20zM19 7c-6.581.005-11.995 5.419-12 12 .005 6.581 5.419 11.995 12 12 6.581-.005 11.995-5.419 12-12-.005-6.581-5.419-11.995-12-12zm0 10a2.01 2.01 0 0 1 2 2 2.01 2.01 0 0 1-2 2 2.01 2.01 0 0 1-2-2 2.01 2.01 0 0 1 2-2z",inactive:"M5.035 20H1v-2h4.035a13.98 13.98 0 0 1 .246-1.8l1.96.399C7.083 17.375 7 18.178 7 19s.083 1.625.241 2.401l-1.96.399a13.98 13.98 0 0 1-.246-1.8zM20 5.035a13.98 13.98 0 0 1 1.8.246l-.399 1.96C20.625 7.083 19.822 7 19 7s-1.625.083-2.401.241l-.399-1.96a13.98 13.98 0 0 1 1.8-.246V1h2v4.035zm-2 27.93a13.98 13.98 0 0 1-1.8-.246l.399-1.96c.776.158 1.579.241 2.401.241s1.625-.083 2.401-.241l.399 1.96a13.98 13.98 0 0 1-1.8.246V37h-2v-4.035zM32.965 20a13.98 13.98 0 0 1-.246 1.8l-1.96-.399c.158-.776.241-1.579.241-2.401s-.083-1.625-.241-2.401l1.96-.399a13.98 13.98 0 0 1 .246 1.8H37v2h-4.035zM19 17a2.01 2.01 0 0 1 2 2 2.01 2.01 0 0 1-2 2 2.01 2.01 0 0 1-2-2 2.01 2.01 0 0 1 2-2zm3.8-9.385l.634-1.897c1.789.598 3.438 1.553 4.848 2.805l-1.327 1.496c-1.196-1.06-2.605-1.886-4.155-2.404zm5.181 3.43l1.496-1.327c1.252 1.41 2.207 3.059 2.805 4.848l-1.897.634c-.518-1.55-1.344-2.959-2.404-4.155zM30.385 22.8l1.897.634c-.598 1.789-1.553 3.438-2.805 4.848l-1.496-1.327c1.06-1.196 1.886-2.605 2.404-4.155zm-3.43 5.181l1.327 1.496c-1.41 1.252-3.059 2.207-4.848 2.805l-.634-1.897c1.55-.518 2.959-1.344 4.155-2.404zM15.2 30.385l-.634 1.897c-1.789-.598-3.438-1.553-4.848-2.805l1.327-1.496c1.196 1.06 2.605 1.886 4.155 2.404zm-5.181-3.43l-1.496 1.327c-1.252-1.41-2.207-3.059-2.805-4.848l1.897-.634c.518 1.55 1.344 2.959 2.404 4.155zM7.615 15.2l-1.897-.634c.598-1.789 1.553-3.438 2.805-4.848l1.496 1.327c-1.06 1.196-1.886 2.605-2.404 4.155zm3.43-5.181L9.718 8.523c1.41-1.252 3.059-2.207 4.848-2.805l.634 1.897c-1.55.518-2.959 1.344-4.155 2.404z"},Dt=()=>{var{id:e}=d(),{crossHairRef:t,crossHair:r}=(()=>{var{mapProvider:e}=d(),{safeZoneInset:t}=et(),{eventBus:r}=rt(),{crossHair:n,dispatch:o,mapSize:i}=tt(),a=(e,r,n)=>{if(t){var o=r*x[i],a=n*x[i];e.style.transform="translate(".concat(o-t.left,"px, ").concat(a-t.top,"px)"),e.style.left="0",e.style.top="0",e.style.display="block"}},c=(0,l.hb)(t=>{if(t){((e,t,r,n,o)=>{e.pinToMap=(i,a)=>{var{x:s,y:l}=r.mapToScreen(i);e.coords=i,n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!0,isVisible:!0,coords:i,state:a}}),o(t,s,l)},e.fixAtCenter=()=>{t.style.left="50%",t.style.top="50%",t.style.transform="translate(0,0)",t.style.display="block",n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!1,isVisible:!0}})},e.remove=()=>{t.style.display="none",n({type:"UPDATE_CROSS_HAIR",payload:{isPinnedToMap:!1,isVisible:!1}})},e.show=()=>{t.style.display="block",n({type:"UPDATE_CROSS_HAIR",payload:{isVisible:!0}})},e.hide=()=>{t.style.display="none",n({type:"UPDATE_CROSS_HAIR",payload:{isVisible:!1}})},e.setStyle=e=>{n({type:"UPDATE_CROSS_HAIR",payload:{state:e}})},e.getDetail=()=>{var t=e.isPinnedToMap?e.coords:r.getCenter();return{state:e.state,point:r.mapToScreen(t),zoom:r.getZoom(),coords:t}}})(n,t,e,o,a);var i=()=>{if(n.coords&&n.isPinnedToMap){var{x:r,y:o}=e.mapToScreen(n.coords);a(t,r,o)}};return r.on(s.E.MAP_RENDER,i),()=>{r.off(s.E.MAP_RENDER,i)}}},[n,e,i,o,t]);return(0,l.vJ)(()=>{n.coords&&n.isPinnedToMap&&n.pinToMap(n.coords,n.state)},[i]),{crossHair:n,crossHairRef:c}})(),{isVisible:n,isPinnedToMap:o,state:i}=r;return(0,c.Y)("svg",{id:"".concat(e,"-cross-hair"),ref:t,className:"im-c-cross-hair",width:"38",height:"38",viewBox:"0 0 38 38",fillRule:"evenodd",fill:"currentColor",style:{position:"absolute",left:o?0:"50%",top:o?0:"50%",pointerEvents:"none",display:n?"block":"none"},children:(0,c.Y)("path",{d:kt[i||"active"]})})};function jt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Nt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?jt(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):jt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Rt=(e,t,r,n)=>{if(!t||!n)return{x:0,y:0};var{x:o,y:i}=t.mapToScreen(e);return{x:o*x[r],y:i*x[r]}},Ft=(e,t,r,n,o)=>{e.forEach(e=>{var i=t.get(e.id);if(i&&e.coords){var{x:a,y:s}=Rt(e.coords,r,n,o);i.style.transform="translate(".concat(a,"px, ").concat(s,"px)"),i.style.display="block"}})};function Bt(e){return null==e?void 0:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}var Vt=new Set(["id","coords","x","y","isVisible","symbol","symbolSvgContent","viewBox","anchor","selectedColor","selectedWidth"]),Gt=()=>{var{id:e}=d(),{mapStyle:t,mapSize:r}=tt(),{markers:n,markerRef:o}=(()=>{var{mapProvider:e}=d(),{eventBus:t}=rt(),{markers:r,dispatch:n,mapSize:o,isMapReady:i}=tt(),a=(0,l.li)(new Map);(0,l.Nf)(()=>{e&&(r.markerRefs=a.current,r.add=(t,r,a)=>{var{x:s,y:l}=Rt(r,e,o,i);n({type:"UPSERT_LOCATION_MARKER",payload:Nt(Nt({id:t,coords:r},a),{},{x:s,y:l,isVisible:!0})})},r.remove=e=>{n({type:"REMOVE_LOCATION_MARKER",payload:e})},r.getMarker=e=>r.items.find(t=>t.id===e))},[e,r,n,o]);var c=(0,l.hb)(n=>l=>{if(l){a.current.set(n,l);var c=()=>{i&&e&&Ft(r.items,a.current,e,o,i)};return t.on(s.E.MAP_RENDER,c),()=>{t.off(s.E.MAP_RENDER,c)}}a.current.delete(n)},[r,e,i,o]);return(0,l.vJ)(()=>{i&&e&&Ft(r.items,a.current,e,o,i)},[o,r.items,e,i]),((e,t)=>{(0,l.vJ)(()=>{var r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(null!=e&&e.id&&null!=e&&e.coords){var{id:r,coords:n,options:o}=e;t.add(r,n,o)}};e.on(s.E.APP_ADD_MARKER,r);var n=e=>{e&&t.remove(e)};return e.on(s.E.APP_REMOVE_MARKER,n),()=>{e.off(s.E.APP_ADD_MARKER,r),e.off(s.E.APP_REMOVE_MARKER,n)}},[])})(t,r),{markers:r,markerRef:c}})(),{symbolRegistry:i,eventBus:a}=rt(),[u,p]=(0,l.J0)(!1),[h,f]=(0,l.J0)([]),g=(0,l.li)(null);if((0,l.vJ)(()=>{var e=e=>{var{active:t,interactionModes:r=[]}=e;return p(t&&r.includes("selectMarker"))},t=e=>{var{selectedMarkers:t=[]}=e;return f(t)};return a.on("interact:active",e),a.on("interact:selectionchange",t),()=>{a.off("interact:active",e),a.off("interact:selectionchange",t)}},[a]),(0,l.vJ)(()=>{g.current=document.querySelector(".im-c-viewport")},[]),((e,t,r)=>{(0,l.vJ)(()=>{if(t){var n=r.current;if(n){var o=t=>{var r=e.items.some(r=>{var n,o=null===(n=e.markerRefs)||void 0===n?void 0:n.get(r.id);if(!o)return!1;var{left:i,top:a,right:s,bottom:l}=o.getBoundingClientRect();return t.clientX>=i&&t.clientX<=s&&t.clientY>=a&&t.clientY<=l});n.style.cursor=r?"pointer":""};return n.addEventListener("mousemove",o),()=>{n.removeEventListener("mousemove",o),n.style.cursor=""}}}},[e,t,r])})(n,u,g),t){var y=i.getDefaults();return(0,c.Y)(c.FK,{children:n.items.map(n=>{var a,s=((e,t,r)=>{var n=e.symbolSvgContent||t.symbolSvgContent;return n?{svg:n}:r.get(e.symbol||t.symbol)})(n,y,i),l=Object.fromEntries(Object.entries(n).filter(e=>{var[t]=e;return!Vt.has(t)})),u=h.includes(n.id),d=u?i.resolveSelected(s,l,t):i.resolve(s,l,t),p=((e,t,r)=>e.viewBox||t.viewBox||(null==r?void 0:r.viewBox)||"0 0 38 38")(n,y,s),[,,f,g]=p.split(" ").map(Number),v=((e,t,r)=>{var n,o,i;return null!==(n=null!==(o=null!==(i=e.anchor)&&void 0!==i?i:t.anchor)&&void 0!==o?o:null==r?void 0:r.anchor)&&void 0!==n?n:[.5,.5]})(n,y,s),m=n.symbol||y.symbol,b=null!==(a=x[r])&&void 0!==a?a:1,E=f*b,P=g*b;return(0,c.Y)("svg",{ref:o(n.id),id:"".concat(e,"-marker-").concat(n.id),className:["im-c-marker","im-c-marker--".concat(Bt(m)),u&&"im-c-marker--selected"].filter(Boolean).join(" "),width:E,height:P,viewBox:p,overflow:"visible",style:{display:n.isVisible?"block":"none",marginLeft:"".concat(-v[0]*E,"px"),marginTop:"".concat(-v[1]*P,"px")},children:(0,c.Y)("g",{dangerouslySetInnerHTML:{__html:d}})},n.id)})})}},Yt=()=>{var{id:e,mapProvider:t,mapLabel:r,keyboardHintText:n}=d(),{interfaceType:o,mode:i,previousMode:a,layoutRefs:u,safeZoneInset:p}=et(),{mainRef:h}=u,{mapSize:f}=tt(),g=(0,l.li)(null),y=(0,l.li)(null),[v,m]=(0,l.J0)(!1);!function(e){var{mapProvider:t,panDelta:r,nudgePanDelta:n,zoomDelta:o,nudgeZoomDelta:i,readMapText:a}=d(),{interfaceType:s,dispatch:c}=et(),{announce:u}=rt();(0,l.vJ)(()=>{var l=e.current;if(l&&"keyboard"===s){var d=It(t,u,{containerRef:e,dispatch:c,panDelta:r,nudgePanDelta:n,zoomDelta:o,nudgeZoomDelta:i,readMapText:a}),p=e=>t=>{var r=Ct[e][(e=>{var t;return"Add"===(t=/^Key[A-Z]$/.test(e.code)?e.code.slice(3):e.key)||"NumpadAdd"===t?t="+":"Subtract"!==t&&"NumpadSubtract"!==t||(t="-"),e.altKey?"Alt+".concat(t):t})(t)];r&&d[r]&&(d[r](t),t.preventDefault())},h=p("keydown"),f=p("keyup");return l.addEventListener("keydown",h),l.addEventListener("keyup",f),()=>{l.removeEventListener("keydown",h),l.removeEventListener("keyup",f)}}},[e,s,t,r,n,o,i])}(u.viewportRef),function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{mapProvider:t}=d(),{eventBus:r}=rt();(0,l.vJ)(()=>{if(t){var n={};return Object.entries(e).forEach(e=>{var[t,o]=e,i=e=>o(e);n[t]=i,r.on(t,i)}),()=>{Object.entries(n).forEach(e=>{var[t,n]=e;r.off(t,n)})}}},[t,e])}({[s.E.MAP_CLICK]:()=>{var e;return null==t||null===(e=t.clearHighlightedLabel)||void 0===e?void 0:e.call(t)}});var{showHint:b,handleFocus:E,handleBlur:P}=function(e){var{interfaceType:t,containerRef:r,keyboardHintRef:n,keyboardHintVisible:o,onViewportFocusChange:i}=e,a=o;return(0,l.vJ)(()=>{if(a&&r.current){var e=r.current,t=e=>{["Escape","Tab"].includes(e.key)&&i(!1)},o=t=>{var r,o=e.contains(t.target),a=null===(r=n.current)||void 0===r?void 0:r.contains(t.target);o&&!a&&i(!1)};return e.addEventListener("keydown",t),e.addEventListener("mousedown",o),()=>{e.removeEventListener("keydown",t),e.removeEventListener("mousedown",o)}}},[a,r,n,i]),{showHint:a,handleFocus:()=>{"keyboard"===t&&i(!0)},handleBlur:()=>{i(!1)}}}({interfaceType:o,containerRef:u.viewportRef,keyboardHintRef:y,keyboardHintVisible:v,onViewportFocusChange:m});return(0,l.vJ)(()=>{var e;i&&a&&i!==a&&(null===(e=u.viewportRef)||void 0===e||e.current.focus())},[i]),(0,c.FD)(c.FK,{children:[(0,c.Y)(At,{mapContainerRef:g}),(0,c.FD)("div",{id:"".concat(e,"-viewport"),className:"im-c-viewport im-c-viewport--".concat(f),"aria-label":r,role:"application",tabIndex:"0",onFocus:E,onBlur:P,ref:u.viewportRef,children:[b&&(null==h?void 0:h.current)&&(0,l.d5)((0,c.Y)("div",{className:"im-c-viewport__keyboard-hint","aria-hidden":"true",ref:y,dangerouslySetInnerHTML:{__html:n}}),h.current),(0,c.Y)("div",{className:"im-c-viewport__map-container",ref:g}),(0,c.Y)("div",{className:"im-c-viewport__features"}),(0,c.Y)(Lt,{}),(0,c.Y)("div",{className:"im-c-viewport__safezone",style:p,ref:u.safeZoneRef,children:(0,c.Y)(Dt,{})}),(0,c.Y)(Gt,{})]})]})};function Ut(e,t){var r=(0,l.li)(),n=(0,l.li)(new WeakMap);return(0,l.vJ)(()=>{var o=(Array.isArray(e)?e:[e]).map(e=>null==e?void 0:e.current).filter(Boolean);if(o.length&&t){var i=new window.ResizeObserver(e=>{for(var r of e){var{width:o,height:i}=r.contentRect,a=n.current.get(r.target)||{};a.width===o&&a.height===i||(n.current.set(r.target,{width:o,height:i}),t(r))}});return o.forEach(e=>i.observe(e)),()=>{i.disconnect(),r.current&&cancelAnimationFrame(r.current)}}},[e,t]),{frameRef:r}}var Ht=e=>{var t,r;return null!==(t=null==e||null===(r=e.current)||void 0===r?void 0:r.offsetHeight)&&void 0!==t?t:0},zt=(e,t,r)=>e-(t?t+r:0);function Wt(e){var t,r,{appContainerRef:n,mainRef:o,topRef:i,topLeftColRef:a,topRightColRef:s,bottomRef:l,attributionsRef:c,bottomRightRef:u,leftTopRef:d,leftBottomRef:p,rightTopRef:h,rightBottomRef:f}=e,g=n.current,y=o.current,v=i.current,m=a.current,b=s.current,E=l.current,P=c.current;if(![y,v,E].some(e=>!e)){var O,S,w=document.documentElement,_=Number.parseInt(getComputedStyle(w).getPropertyValue("--divider-gap"),10);g.style.setProperty("--top-col-width","".concat((O=m.offsetWidth,S=b.offsetWidth,O||S?Math.max(O,S):0),"px"));var M=m.offsetHeight+v.offsetTop,x=E.offsetTop-M-_;g.style.setProperty("--left-offset-top","".concat(M,"px")),g.style.setProperty("--left-offset-bottom","".concat(y.offsetHeight-E.offsetTop+_,"px")),g.style.setProperty("--left-top-max-height","".concat(x,"px"));var T=null!==(t=null==u||null===(r=u.current)||void 0===r?void 0:r.offsetHeight)&&void 0!==t?t:0,A=y.offsetHeight-E.offsetTop-E.offsetHeight,C=b.offsetHeight+v.offsetTop,I=E.offsetTop+E.offsetHeight-T-C-_,L=A+(T>0?T+_:P.offsetHeight);g.style.setProperty("--right-offset-top","".concat(C,"px")),g.style.setProperty("--right-offset-bottom","".concat(L,"px")),g.style.setProperty("--right-top-max-height","".concat(I,"px")),g.style.setProperty("--keyboard-hint-bottom","".concat(y.offsetHeight-E.offsetTop-E.offsetHeight,"px")),g.style.setProperty("--left-top-panel-max-height","".concat(zt(x,Ht(p),_),"px")),g.style.setProperty("--left-bottom-panel-max-height","".concat(zt(x,Ht(d),_),"px")),g.style.setProperty("--right-top-panel-max-height","".concat(zt(I,Ht(f),_),"px")),g.style.setProperty("--right-bottom-panel-max-height","".concat(zt(I,Ht(h),_),"px"))}}var Kt=()=>{var{mapStyle:e}=tt();if(null!=e&&e.logo)return(0,c.Y)("img",{className:"im-c-logo",src:e.logo,alt:e.logoAltText})},Jt=()=>{var{breakpoint:e}=et(),{mapStyle:t}=tt();return t?"mobile"!==e&&(0,c.Y)("div",{className:"im-c-attributions",dangerouslySetInnerHTML:{__html:t.attribution}}):null},$t=(e,t)=>e.modal?"modal":"drawer"===e.slot&&["tablet","desktop"].includes(t)?"left-top":e.slot,qt=(e,t)=>{var r;return!(e.includeModes&&!e.includeModes.includes(t)||null!==(r=e.excludeModes)&&void 0!==r&&r.includes(t))},Zt=e=>"string"==typeof e.html&&!e.pluginId,Xt={"left-top":{inset:"var(--left-offset-top) auto auto var(--primary-gap)",maxHeight:"var(--left-top-max-height)"},"left-bottom":{inset:"auto auto var(--left-offset-bottom) var(--primary-gap)",maxHeight:"var(--left-top-max-height)"},"right-top":{inset:"var(--right-offset-top) var(--primary-gap) auto auto",maxHeight:"var(--right-top-max-height)"},"right-bottom":{inset:"auto var(--primary-gap) var(--right-offset-bottom) auto",maxHeight:"var(--right-top-max-height)"}},Qt="--modal-inset",er="--modal-max-height";var tr=e=>{var{id:t,svgContent:r,isMenu:n}=e,o=n?K().chevron:K()[t]||r;return(0,c.Y)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:o},className:"im-c-icon".concat(n?" im-c-icon--narrow":"")})};function rr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function nr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?rr(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):rr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var or=(e,t)=>e?"dialog":t?"complementary":"region",ir=e=>{var t,r,n,{panelId:o,panelConfig:i,props:a,focusOnOpen:u,WrappedChild:p,label:h,html:f,children:g,isOpen:y=!0,rootRef:v}=e,{id:m}=d(),{dispatch:b,breakpoint:E,layoutRefs:P,interfaceType:O}=et(),S=document.getElementById("".concat(m,"-im-app")),w=i[E],_="".concat(m,"-panel-").concat(Bt(o)),{isDialog:M,isModal:x,isDismissible:T,shouldFocus:A,buttonContainerEl:C}=((e,t,r,n)=>{var o="side"===e.slot&&e.open&&!e.modal,i=!o&&e.dismissible,a=!0===e.modal;return{isAside:o,isDialog:i,isModal:a,isDismissible:!1!==e.dismissible,shouldFocus:a||!1!==n&&(!0===n||!0===r||Boolean(t)),buttonContainerEl:e.slot.endsWith("button")?null==t?void 0:t.parentNode:void 0}})(w,null==a?void 0:a.triggeringElement,i.focus,u),I=x&&y,L=P.mainRef,k=(0,l.li)(null),D=(0,l.li)(null),j=(0,l.li)(y),N=function(e){var[t,r]=(0,l.J0)(!1),n=(0,l.hb)(()=>{var t=null==e?void 0:e.current;t&&r(t.scrollHeight>t.clientHeight)},[e]);return Ut(e,n),t}(D),R=v||k,F=()=>{requestAnimationFrame(()=>{var e,t;null===(e=(t=(null==a?void 0:a.triggeringElement)||P.viewportRef.current).focus)||void 0===e||e.call(t,{preventScroll:"keyboard"!==O})}),b({type:"CLOSE_PANEL",payload:o})};(function(e){var{mainRef:t,panelRef:r,isModal:n,rootEl:o,buttonContainerEl:i,handleClose:a}=e,{layoutRefs:c}=et();((e,t,r)=>{(0,l.vJ)(()=>{if(t){var n=t=>{"Escape"===t.key&&(t.stopPropagation(),t.preventDefault(),r()),"Tab"===t.key&&e.current&&function(e,t){if("Tab"===t.key){var r=Array.from(e.querySelectorAll(["a[href]:not([disabled])","button:not([disabled])","textarea:not([disabled])","input:not([disabled])","select:not([disabled])",'*[tabindex="0"]:not([disabled])'].join(",")));if(0!==(r=r.filter(e=>!!e.offsetParent)).length){var n=r[0],o=r[r.length-1];!t.shiftKey||document.activeElement!==e&&document.activeElement!==n||(o.focus(),t.preventDefault()),t.shiftKey||document.activeElement!==o||(n.focus(),t.preventDefault())}}}(e.current,t)},o=e.current;return null==o||o.addEventListener("keydown",n),()=>{null==o||o.removeEventListener("keydown",n)}}},[t,e,r])})(r,n,a),Ut([t],()=>{if(n&&t.current){var e=document.documentElement,o=getComputedStyle(e),a=Number.parseInt(o.getPropertyValue("--divider-gap"),10),s=Number.parseInt(o.getPropertyValue("--primary-gap"),10),l=r.current.dataset.slot;if(null!=l&&l.endsWith("-button")){var u,d,p,h=null===(u=r.current)||void 0===u?void 0:u.id,f=h?document.querySelector('[aria-controls="'.concat(h,'"]')):null,g=null!==(d=null!==(p=null==f?void 0:f.parentElement)&&void 0!==p?p:null!=i&&i.isConnected?i:null)&&void 0!==d?d:document.querySelector('[data-button-slot="'.concat(l,'"]'));if(!g)return;((e,t,r)=>{var n=document.documentElement,o=t.current.getBoundingClientRect(),i=e.getBoundingClientRect(),a=!!e.closest(".im-o-app__left-bottom, .im-o-app__right-bottom"),s=!!e.closest(".im-o-app__left-top, .im-o-app__left-bottom"),l=a?"auto":"".concat(Math.round(i.top-o.top),"px"),c=a?"".concat(Math.round(o.bottom-i.bottom),"px"):"auto",u=s?"auto":"".concat(Math.round(o.right-i.left+r),"px"),d=s?"".concat(Math.round(i.right-o.left+r),"px"):"auto",p=a?Math.round(o.bottom-i.bottom):Math.round(i.top-o.top);n.style.setProperty(Qt,"".concat(l," ").concat(u," ").concat(c," ").concat(d)),n.style.setProperty(er,"".concat(o.height-p-r,"px"))})(g,t,a)}else((e,t,r)=>{var n,o,i=document.documentElement,a=Xt[e];if(a)return i.style.setProperty(Qt,a.inset),void i.style.setProperty(er,a.maxHeight);var s=null===(n=t["".concat(e[0].toLowerCase()+e.slice(1),"Ref")])||void 0===n?void 0:n.current,l=null===(o=t.mainRef)||void 0===o?void 0:o.current;if(s&&l){var c=s.getBoundingClientRect(),u=l.getBoundingClientRect(),d=c.left-u.left,p=c.top-u.top;i.style.setProperty(Qt,"".concat(p,"px auto auto ").concat(d,"px")),i.style.setProperty(er,"".concat(u.height-p-r,"px"))}})(l,c,s)}}),(0,l.vJ)(()=>{if(n){var e=e=>{var t=e.target.closest(".im-o-app__modal-backdrop");o&&t&&o.contains(t)&&a()};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}},[n,o,a]),(0,l.vJ)(()=>{if(n&&r.current&&o)return(0,s.t)({containerEl:r.current,isFullscreen:!0,boundaryEl:o}),()=>{(0,s.t)({containerEl:r.current,isFullscreen:!1,boundaryEl:o})}},[n,r,o]),((e,t,r)=>{(0,l.vJ)(()=>{if(e){var n=e=>{var n=e.target,o=t.current;if(n&&o&&r){var i=r.contains(n),a=o.contains(n);i&&!a&&o.focus()}};return document.addEventListener("focusin",n),()=>{document.removeEventListener("focusin",n)}}},[e,t,r])})(n,r,o)})({mainRef:L,panelRef:R,isModal:I,rootEl:S,buttonContainerEl:C,handleClose:F}),(0,l.vJ)(()=>{var e,t=y&&!j.current;j.current=y,A&&(t||y)&&(null===(e=R.current)||void 0===e||e.focus())},[y]);var B,V,G=(B=w.slot,V=null===(t=w.showLabel)||void 0===t||t,["im-c-panel","im-c-panel--".concat(B),!V&&"im-c-panel--no-heading"].filter(Boolean).join(" ")),Y=((e,t)=>["im-c-panel__body",!e&&t&&"im-c-panel__body--offset"].filter(Boolean).join(" "))(null===(r=w.showLabel)||void 0===r||r,T),U=(0,l.Kr)(()=>f?{__html:f}:null,[f]),H=(e=>{var{elementId:t,shouldFocus:r,isDialog:n,isDismissible:o,isModal:i,width:a,panelClass:s,slot:l}=e;return{id:t,"aria-labelledby":"".concat(t,"-label"),tabIndex:r?-1:void 0,role:or(n,o),"aria-modal":n&&i?"true":void 0,style:a?{width:a}:void 0,className:s,"data-slot":l}})({elementId:_,shouldFocus:A,isDialog:M,isDismissible:T,isModal:x,width:w.width,panelClass:G,slot:w.slot}),z=(e=>{var{bodyRef:t,panelBodyClass:r,isBodyScrollable:n,elementId:o}=e;return{ref:t,className:r,tabIndex:n?0:void 0,role:n?"region":void 0,"aria-labelledby":n?"".concat(o,"-label"):void 0}})({bodyRef:D,panelBodyClass:Y,isBodyScrollable:N,elementId:_});return(0,c.FD)("div",nr(nr({ref:R},H),{},{children:[(0,c.Y)("h2",{id:"".concat(_,"-label"),className:null===(n=w.showLabel)||void 0===n||n?"im-c-panel__heading im-e-heading-m":"im-u-visually-hidden",children:h}),T&&(0,c.Y)("button",{"aria-label":"Close ".concat(h),className:"im-c-panel__close",onClick:F,children:(0,c.Y)(tr,{id:"close"})}),U?(0,c.Y)("div",nr(nr({},z),{},{dangerouslySetInnerHTML:U})):(0,c.FD)("div",nr(nr({},z),{},{children:[" ",p?(0,c.Y)(p,nr({},a)):g]}))]}))};function ar(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function sr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ar(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ar(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function lr(e){var{slot:t,appState:r,evaluateProp:n}=e,{breakpoint:o,pluginRegistry:i,panelConfig:a,mode:s,openPanels:l}=r,u=Object.entries(l),d=u.filter(e=>{var t,[r]=e,n=null===(t=a[r])||void 0===t?void 0:t[o];return null==n?void 0:n.modal}),p=d.length>0?d[d.length-1][0]:null;return u.map(e=>{var l,[u,{props:d,focusOnOpen:h}]=e,f=a[u];if(!f)return null;if(Zt(f))return null;var g=f[o];if(!g)return null;var y=$t(g,o);if(!((e,t,r,n)=>{var{targetSlot:o,slot:i,mode:a,isFullscreen:s,allowedModalPanelId:l}=n,c=o.endsWith("-button");return!(!$.panel.includes(o)&&!c||!qt(t,a)||!1===t.inline&&!s||o!==i||r.modal&&e!==l)})(u,f,g,{targetSlot:y,slot:t,mode:s,isFullscreen:r.isFullscreen,allowedModalPanelId:p}))return null;var v=i.registeredPlugins.find(e=>e.id===f.pluginId),m=null==v?void 0:v.id,b=f.render?at(f.render,sr(sr({},d),{},{pluginId:m,pluginConfig:null==v?void 0:v.config})):null;return{id:u,type:"panel",order:null!==(l=g.order)&&void 0!==l?l:0,element:(0,c.Y)(ir,{panelId:u,panelConfig:f,props:d,focusOnOpen:h,WrappedChild:b,label:n(f.label,m),html:m?n(f.html,m):f.html},u)}}).filter(Boolean)}var cr=0,ur=e=>{var{children:t,content:r}=e,{interfaceType:n}=et(),o=(0,l.li)(null),i=(0,l.li)(null),[a,s]=(0,l.J0)(!1),[u,d]=(0,l.J0)(!1),[p,h]=(0,l.J0)(null),[f]=(0,l.J0)(()=>"tooltip-".concat(cr+=1)),g=(0,l.li)(null),y=(0,l.li)(null),v=()=>{clearTimeout(g.current),s(!1)},m=()=>{clearTimeout(y.current),g.current=setTimeout(()=>s(!0),500)},b=()=>{clearTimeout(g.current),y.current=setTimeout(()=>s(!1),0)};(0,l.vJ)(()=>{var e=e=>{"Escape"===e.key&&(clearTimeout(g.current),clearTimeout(y.current),s(!1))};if(window.addEventListener("keydown",e),a){var t=function(e,t){if(!e)return"bottom";t||(t=e.closest(".im-o-app__main"));var r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o={top:r.top-n.top,bottom:n.bottom-r.bottom,left:r.left-n.left,right:n.right-r.right},i=Object.entries(o),a=i.toSorted((e,t)=>{var[,r]=e,[,n]=t;return r-n}),[s,l]=a[0];if("top"===s||"bottom"===s)for(var[c,u]of i)if(("left"===c||"right"===c)&&Math.abs(u-l)<=50)return"left"===c?"right":"left";return{top:"bottom",bottom:"top",left:"right",right:"left"}[s]}(o.current);h(t)}return()=>{window.removeEventListener("keydown",e),clearTimeout(g.current),clearTimeout(y.current)}},[a]);var E=(0,l.Ob)(t,{ref:e=>{var r;o.current=e;var n=null===(r=t.props)||void 0===r?void 0:r.ref;"function"==typeof n?n(e):n&&"object"==typeof n&&(n.current=e)},onMouseEnter:m,onMouseLeave:b,onMouseDown:v,onKeyDown:v,onFocus:()=>{"keyboard"===n&&m(),d(!0)},onBlur:()=>{b(),d(!1)},"aria-labelledby":f});return(0,c.FD)("div",{className:"im-c-tooltip-wrapper".concat(u?" im-c-tooltip-wrapper--has-focus":""),children:[E,(0,c.Y)("div",{id:f,ref:i,className:"im-c-tooltip im-c-tooltip--".concat(p||"hidden"," ").concat(a?"im-c-tooltip--is-visible":""),role:"tooltip","aria-hidden":!a,children:r})]})},dr=(e,t,r)=>{var{buttonConfig:n,evaluateProp:o,pluginId:i,id:a}=r,s=n[t.id];if("function"==typeof(null==s?void 0:s.onClick)?s.onClick(e,o(e=>e,i)):"function"==typeof t.onClick&&t.onClick(e.nativeEvent),e.nativeEvent instanceof KeyboardEvent){var l=document.getElementById("".concat(a,"-").concat(Bt(t.id)));if(l){var c=new MouseEvent("click",{bubbles:!0,cancelable:!0});c._fromKeyboardActivation=!0,l.dispatchEvent(c)}}},pr=e=>{var{item:t,isSelected:r,hiddenButtons:n,disabledButtons:o,pressedButtons:i,id:a,onItemClick:s}=e;return(0,c.FD)("li",{id:"".concat(a,"-").concat(Bt(t.id)),className:"im-c-popup-menu__item".concat(r?" im-c-popup-menu__item--selected":""),role:void 0!==t.isPressed||t.pressedWhen?"menuitemcheckbox":"menuitem","aria-disabled":o.has(t.id)||void 0,"aria-checked":void 0!==t.isPressed||t.pressedWhen?i.has(t.id):void 0,style:n.has(t.id)?{display:"none"}:void 0,onClick:e=>s(e,t),children:[(t.iconId||t.iconSvgContent)&&(0,c.Y)(tr,{id:t.iconId,svgContent:t.iconSvgContent}),(0,c.Y)("span",{className:"im-c-popup-menu__item-label",children:t.label})]})},hr=e=>{var t,r,{popupMenuId:n,buttonId:o,instigatorId:i,pluginId:a,startPos:s,startIndex:u,menuRef:p,items:h,setIsOpen:f,buttonRect:g}=e,{id:y}=d(),{buttonRefs:v,buttonConfig:m,hiddenButtons:b,disabledButtons:E,pressedButtons:P,layoutRefs:O}=et(),S=null!=o?o:i,w=v.current[S],_=ht(),{index:M,handleMenuKeyDown:x,handleItemClick:T,menuStyle:A,menuDirection:C,menuHAlign:I}=(e=>{var{items:t,hiddenButtons:r,startIndex:n,startPos:o,instigator:i,instigatorKey:a,buttonRefs:s,buttonConfig:c,disabledButtons:u,pluginId:d,evaluateProp:p,id:h,menuRef:f,setIsOpen:g,buttonRect:y}=e,v=(0,l.Kr)(()=>{var e=[];return t.forEach((t,n)=>{r.has(t.id)||e.push(n)}),e},[t,r]),[m,b]=(0,l.J0)(()=>{return"number"==typeof n?n:"first"===o?null!==(e=v[0])&&void 0!==e?e:-1:"last"===o&&null!==(t=v[v.length-1])&&void 0!==t?t:-1;var e,t}),E={buttonConfig:c,evaluateProp:p,pluginId:d,id:h},P=(e=>{var{items:t,visibleIndices:r,index:n,setIndex:o,disabledButtons:i,instigator:a,setIsOpen:s,activateCtx:l}=e,c=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&null!=e&&e.preventDefault&&e.preventDefault(),a.focus(),s(!1)};return e=>{["Escape","Esc"].includes(e.key)?c(e,!0):"Tab"!==e.key?["ArrowDown","ArrowUp"].includes(e.key)?(e=>{e.preventDefault();var t=r.length;if(0!==t){var i,a=r.indexOf(n);i="ArrowDown"===e.key?-1===a?0:(a+1)%t:-1===a?t-1:(a-1+t)%t,o(r[i])}})(e):"Home"===e.key&&r.length?o(r[0]):"End"===e.key&&r.length?o(r[r.length-1]):("Enter"===e.key&&(e=>{e.preventDefault();var r=t[n];r&&!i.has(r.id)&&dr(e,r,l),a.focus(),s(!1)})(e)," "===e.key&&(e=>{e.preventDefault();var r=t[n];r&&!i.has(r.id)&&(dr(e,r,l),void 0!==r.isPressed||r.pressedWhen||(a.focus(),s(!1)))})(e)):c(e)}})({items:t,visibleIndices:v,index:m,setIndex:b,disabledButtons:u,instigator:i,setIsOpen:g,activateCtx:E}),O=e=>{var t,r;null!==(t=f.current)&&void 0!==t&&t.contains(e.target)||null!==(r=s.current[a])&&void 0!==r&&r.contains(e.target)||g(!1)};(0,l.vJ)(()=>{var e,t;if(null===(e=f.current)||void 0===e||e.focus(),"first"===o)b(null!==(t=v[0])&&void 0!==t?t:-1);else if("last"===o){var r;b(null!==(r=v[v.length-1])&&void 0!==r?r:-1)}var n=()=>g(!1);return document.addEventListener("focusin",O),document.addEventListener("pointerdown",O),window.addEventListener("resize",n),()=>{document.removeEventListener("focusin",O),document.removeEventListener("pointerdown",O),window.removeEventListener("resize",n)}},[]);var{style:S,direction:w,halign:_}=(e=>{if(!e)return{style:{},direction:"below"};var t,r={};e.top>=window.innerHeight/2?(r.bottom="".concat(window.innerHeight-e.top,"px"),t="above"):(r.top="".concat(e.bottom,"px"),t="below");var n,o=(e.left+e.right)/2;return o>2*window.innerWidth/3?(r.right="".concat(window.innerWidth-e.right,"px"),n="right"):o<window.innerWidth/3?(r.left="".concat(e.left,"px"),n="left"):(r.left="".concat(o,"px"),n="center"),{style:r,direction:t,halign:n}})(y);return{index:m,handleMenuKeyDown:P,handleItemClick:(e,t)=>{e.nativeEvent._fromKeyboardActivation||u.has(t.id)||(g(!1),dr(e,t,E))},menuStyle:S,menuDirection:w,menuHAlign:_}})({items:h,hiddenButtons:b,startIndex:u,startPos:s,instigator:w,instigatorKey:S,buttonRefs:v,buttonConfig:m,disabledButtons:E,pluginId:a,evaluateProp:_,id:y,menuRef:p,setIsOpen:f,buttonRect:g});return(0,l.d5)((0,c.Y)("ul",{ref:p,id:n,className:"im-c-popup-menu","data-direction":C,"data-halign":I,style:A,role:"menu",tabIndex:"-1","aria-labelledby":S,"aria-activedescendant":M>=0?"".concat(y,"-").concat(Bt(h[M].id)):void 0,onKeyDown:x,children:h.map((e,t)=>(0,c.Y)(pr,{item:e,isSelected:M===t,hiddenButtons:b,disabledButtons:E,pressedButtons:P,id:y,onItemClick:T},e.id))}),null!==(t=null==O||null===(r=O.appContainerRef)||void 0===r?void 0:r.current)&&void 0!==t?t:document.body)};function fr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function gr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?fr(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var yr=(e,t,r)=>["im-c-map-button",e&&"im-c-map-button--".concat(Bt(e)),t&&"im-c-map-button--".concat(t),r&&"im-c-map-button--with-label"].filter(Boolean).join(" "),vr=(e,t)=>["im-c-button-wrapper",e&&"im-c-button-wrapper--".concat(Bt(e)),t&&"im-c-button-wrapper--wide"].filter(Boolean).join(" "),mr=e=>{" "!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),e.currentTarget.click())},br=(e,t,r)=>{var n=e.current[t];n&&r(n.getBoundingClientRect().toJSON())},Er=e=>{var{buttonId:t,iconId:r,iconSvgContent:n,label:o,showLabel:i,isDisabled:a,isPressed:s,isExpanded:u,isHidden:p,isPanelOpen:h,variant:f,onClick:g,panelId:y,menuItems:v,idPrefix:m,href:b}=e,{id:E}=d(),{buttonRefs:P}=et(),[O,S]=(0,l.J0)(!1),[w,_]=(0,l.J0)(null),[M,x]=(0,l.J0)(null),T=(0,l.li)(null),A=b?"a":"button",C=(null==v?void 0:v.length)>=1,I=r||n||C,L=((e,t)=>e?"".concat(Bt(t),"-button"):void 0)(y,t),k=(e=>{var{idPrefix:t,panelId:r,buttonId:n,hasMenu:o}=e;return r?{id:"".concat(t,"-panel-").concat(Bt(r)),type:"panel"}:o?{id:"".concat(t,"-popup-").concat(Bt(n)),type:"popup"}:null})({idPrefix:m,panelId:y,buttonId:t,hasMenu:C}),D=((e,t,r,n,o,i)=>a=>{e&&["ArrowDown","ArrowUp"].includes(a.key)&&(a.preventDefault(),n("ArrowUp"===a.key?"last":"first"),br(t,r,o),i(!0))})(C,P,t,_,x,S),j=(e=>{var t,{appId:r,buttonId:n,className:o,onClick:i,onKeyUp:a,buttonRefs:s,isDisabled:l,isPressed:c,isExpanded:u,isPanelOpen:d,isPopupOpen:p,controlledElement:h,href:f}=e;return"panel"===(null==h?void 0:h.type)?t=String(d):"popup"===(null==h?void 0:h.type)?t=p:"boolean"==typeof u&&(t=u),gr({id:"".concat(r,"-").concat(Bt(n)),className:o,onClick:i,onKeyUp:a,ref:e=>{s.current&&n&&(s.current[n]=e)},"aria-disabled":l||void 0,"aria-expanded":t,"aria-pressed":"boolean"==typeof c?c:void 0,"aria-controls":null==h?void 0:h.id,"aria-haspopup":"popup"===(null==h?void 0:h.type)||void 0},f?{href:f,target:"_blank",onKeyUp:mr,role:"button"}:{type:"button"})})({appId:E,buttonId:t,className:yr(t,f,i),onClick:e=>{if(!a){if("popup"===(null==k?void 0:k.type)){var r=""===e.nativeEvent.pointerType;_(r?"first":null),O||br(P,t,x),S(e=>!e)}g&&g(e)}},onKeyUp:D,buttonRefs:P,isDisabled:a,isPressed:s,isExpanded:u,isPanelOpen:h,isPopupOpen:O,controlledElement:k,href:b}),N=(0,c.FD)(A,gr(gr({},j),{},{children:[I&&(0,c.Y)(tr,{id:r,svgContent:n,isMenu:C}),i&&(0,c.Y)("span",{children:o})]}));return(0,c.FD)("div",{className:vr(t,i),"data-button-slot":L,style:p?{display:"none"}:void 0,children:[i?N:(0,c.Y)(ur,{content:o,children:N}),L&&(0,c.Y)(xr,{slot:L}),O&&(0,c.Y)(hr,{popupMenuId:k.id,buttonId:t,startPos:w,menuRef:T,items:v,setIsOpen:S,buttonRect:M})]})};function Pr(e){var t,r,{btn:n,appState:o,appConfig:i,evaluateProp:a}=e,[s,l]=n,u=null!==(t=l[o.breakpoint])&&void 0!==t?t:{},d=function(e,t,r){var[,n]=e,o=!(!n.panelId||!t.openPanels[n.panelId]);return e=>{if("function"!=typeof n.onClick){if(n.panelId){var i=e.currentTarget;t.dispatch({type:o?"CLOSE_PANEL":"OPEN_PANEL",payload:o?n.panelId:{panelId:n.panelId,props:{triggeringElement:i}}})}}else n.onClick(e,r(e=>e,n.pluginId))}}(n,o,a),p=!(!l.panelId||!o.openPanels[l.panelId]);return(0,c.Y)(Er,{buttonId:s,iconId:a(l.iconId,l.pluginId),iconSvgContent:a(l.iconSvgContent,l.pluginId),variant:l.variant,label:a(l.label,l.pluginId),href:a(l.href,l.pluginId),showLabel:null===(r=u.showLabel)||void 0===r||r,isDisabled:o.disabledButtons.has(s),isHidden:o.hiddenButtons.has(s),isPressed:void 0!==l.isPressed||l.pressedWhen?o.pressedButtons.has(s):void 0,isExpanded:void 0!==l.isExpanded||l.expandedWhen?o.expandedButtons.has(s):void 0,isPanelOpen:p,onClick:d,panelId:l.panelId,menuItems:l.menuItems,idPrefix:i.id},s)}function Or(e){var{slot:t,appState:r,appConfig:n,evaluateProp:o}=e,{buttonConfig:i,breakpoint:a}=r,s=function(e){var{appState:t,buttonConfig:r,slot:n,evaluateProp:o}=e,{breakpoint:i,mode:a}=t;return r?Object.entries(r).filter(e=>{var r,s,[l,c]=e,u=c[i];if(c.isMenuItem)return!1;if("function"==typeof c.excludeWhen&&o(c.excludeWhen,c.pluginId))return!1;if(c.includeModes&&(null===(r=c.includeModes)||void 0===r||!r.includes(a)))return!1;if(null!==(s=c.excludeModes)&&void 0!==s&&s.includes(a))return!1;if(!1===c.inline&&!t.isFullscreen)return!1;if(c.panelId){var d,p=null===(d=t.panelConfig)||void 0===d||null===(d=d[c.panelId])||void 0===d?void 0:d[i];if(!0===(null==p?void 0:p.open)&&!1===(null==p?void 0:p.dismissible))return!1}return!((null==u?void 0:u.slot)!==n||!$.button.includes(u.slot))}):[]}({appState:r,buttonConfig:i,slot:t,evaluateProp:o});if(!s.length)return[];var l=new Map,u=[];s.forEach(e=>{var[t,r]=e,{group:n}=r;if(null!=n){var o=function(e){var t;return null==e?null:"string"==typeof e?e:null!==(t=e.name)&&void 0!==t?t:null}(n),i=function(e){var t,r;return e?"string"==typeof e?e:null!==(t=null!==(r=e.label)&&void 0!==r?r:e.name)&&void 0!==t?t:"":""}(n),a=function(e){var t;return e&&"string"!=typeof e&&null!==(t=e.order)&&void 0!==t?t:0}(n);l.has(o)?l.get(o):l.set(o,{label:i,order:a,members:[]}),l.get(o).members.push([t,r])}else u.push([t,r])});var d=[];for(var p of u){var h,f,[g,y]=p,v=null!==(h=null===(f=y[a])||void 0===f?void 0:f.order)&&void 0!==h?h:0;d.push({id:g,type:"button",order:v,element:Pr({btn:p,appState:r,appConfig:n,evaluateProp:o})})}for(var[m,{label:b,order:E,members:P}]of l)if(P.length<2){var O,S=P[0],[w,_]=S,M=E||(null===(O=_[a])||void 0===O?void 0:O.order)||0;d.push({id:w,type:"button",order:M,element:Pr({btn:S,appState:r,appConfig:n,evaluateProp:o})})}else{var x=[...P].sort((e,t)=>{var r,n,o,i;return(null!==(r=null===(n=e[1][a])||void 0===n?void 0:n.order)&&void 0!==r?r:0)-(null!==(o=null===(i=t[1][a])||void 0===i?void 0:i.order)&&void 0!==o?o:0)});d.push({id:"group-".concat(m),type:"group",order:E,element:(0,c.Y)("div",{role:"group","aria-label":b,className:"im-c-button-group",children:x.map(e=>Pr({btn:e,appState:r,appConfig:n,evaluateProp:o}))},"group-".concat(m))})}return d}var Sr=["evaluateProp"];function wr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _r(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?wr(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Mr=e=>{var{children:t}=e,{openPanels:r,panelConfig:n,breakpoint:o}=et(),i=["im-c-panel","im-c-actions",!l.Ay.Children.toArray(t).find(e=>{var t,r;return!1===(null===(t=e.props)||void 0===t?void 0:t.isHidden)&&"touch"!==(null===(r=e.props)||void 0===r?void 0:r.variant)})&&"im-c-actions--hidden",Object.keys(r).some(e=>{var t;return"mobile"===o&&"drawer"===(null===(t=n[e])||void 0===t||null===(t=t[o])||void 0===t?void 0:t.slot)})&&"im-c-actions--border-top"].filter(Boolean).join(" ");return(0,c.Y)("div",{className:i,children:t})},xr=e=>{var{slot:t}=e,r=function(e){var{evaluateProp:t}=e,r=(0,o.A)(e,Sr),n=function(e){var{slot:t,appState:r,evaluateProp:n}=e,{breakpoint:o,mode:i,pluginRegistry:a,controlConfig:s}=r;return Object.values(s).filter(e=>{var n,a,s,l;if(Zt(e))return!1;var c=e[o];if(!c)return!1;var u=$.control.includes(c.slot),d=null===(n=null===(a=e.includeModes)||void 0===a?void 0:a.includes(i))||void 0===n||n,p=null!==(s=null===(l=e.excludeModes)||void 0===l?void 0:l.includes(i))&&void 0!==s&&s;return!(!1===e.inline&&!r.isFullscreen)&&d&&!p&&c.slot===t&&u}).map(e=>{var t,r,i,s=a.registeredPlugins.find(t=>{var r;return null===(r=t.manifest)||void 0===r||null===(r=r.controls)||void 0===r?void 0:r.some(t=>t.id===e.id)}),l=null==s?void 0:s.id;if(e.html)i=(0,c.Y)("div",{className:"im-c-control",dangerouslySetInnerHTML:{__html:n(e.html,l)}},e.id);else{var u=at(e.render,{pluginId:l,pluginConfig:null==s?void 0:s.config});i=(0,c.Y)(u,{},e.id)}return{id:e.id,type:"control",order:null!==(t=null===(r=e[o])||void 0===r?void 0:r.order)&&void 0!==t?t:0,element:i}})}(_r({evaluateProp:t},r)),i=[...n,...lr(_r({evaluateProp:t},r)),...Or(_r({evaluateProp:t},r))],a=i.filter(e=>null==e.order||0===e.order),s=i.filter(e=>null!=e.order&&0!==e.order);s.sort((e,t)=>e.order-t.order);var l=[...a];for(var u of s){var d=Math.min(Math.max(u.order-1,0),l.length);l.splice(d,0,u)}return l}({slot:t,appConfig:d(),appState:et(),evaluateProp:ht()});return r.length?(0,c.Y)(c.FK,{children:"actions"===t?(0,c.Y)(Mr,{slot:"actions",children:r.map(e=>e.element)}):(0,c.Y)(c.FK,{children:r.map(e=>e.element)})}):null},Tr=(e,t,r,n,o)=>{var i=(0,l.li)(n);i.current=n,(0,l.Nf)(()=>{var n=e.current;if(r){var o=((e,t)=>{var r={side:t.sideRef,banner:t.bannerRef,"top-left":t.topLeftColRef,"top-right":t.topRightColRef,"left-top":t.leftTopRef,"left-bottom":t.leftBottomRef,middle:t.middleRef,"right-top":t.rightTopRef,"right-bottom":t.rightBottomRef,"bottom-right":t.bottomRightRef,drawer:t.drawerRef,actions:t.actionsRef,modal:t.modalRef};if(null!=e&&e.endsWith("-button")){var n=document.querySelector('[data-button-slot="'.concat(e,'"]'));return n?{current:n}:null}return r[e]||null})(t,i.current);if(null!=o&&o.current){var a=o.current.querySelector(":scope > .im-o-app__modal-backdrop");a?o.current.insertBefore(n,a):o.current.appendChild(n),n.style.display=""}}else{var s,l;n.parentElement===(null===(s=i.current.modalRef)||void 0===s?void 0:s.current)&&(null===(l=i.current.appContainerRef)||void 0===l||null===(l=l.current)||void 0===l||l.appendChild(n)),n.style.display="none"}return()=>{n.style.display="none"}},[r,t,o,e])},Ar=e=>{var{panelId:t,config:r,isOpen:n,openPanelProps:o,focusOnOpen:i,allowedModalPanelId:a,appState:s}=e,u=(0,l.li)(null),{breakpoint:d,mode:p,isFullscreen:h,layoutRefs:f}=s,g=r[d],y=g?$t(g,d):null,v=(()=>{if(!n||!g||!y)return!1;var e=y.endsWith("-button");if(!$.panel.includes(y)&&!e)return!1;var o=g.modal&&t!==a,i=!1===r.inline&&!h,s=!qt(r,p);return!(o||i||s)})();return Tr(u,y,v,f,d),(0,c.Y)(ir,{panelId:t,panelConfig:r,props:o,focusOnOpen:i,html:r.html,label:r.label,isOpen:n,rootRef:u})},Cr=e=>{var{control:t,appState:r}=e,n=(0,l.li)(null),{breakpoint:o,mode:i,isFullscreen:a,layoutRefs:s}=r,u=t[o],d=((e,t)=>{var{breakpoint:r,mode:n,isFullscreen:o}=t,i=e[r];return!(!i||!$.control.includes(i.slot)||!qt(e,n)||!1===e.inline&&!o)})(t,{breakpoint:o,mode:i,isFullscreen:a}),p=(null==u?void 0:u.slot)||null;Tr(n,p,d,s,o);var h=(0,l.Kr)(()=>({__html:t.html}),[t.html]);return(0,c.Y)("div",{ref:n,className:"im-c-control",style:{display:"none"},dangerouslySetInnerHTML:h})},Ir=()=>{var e=et(),{panelConfig:t={},controlConfig:r={},openPanels:n={},breakpoint:o}=e,i=(0,l.Kr)(()=>Object.entries(t).filter(e=>{var[t,r]=e;return Zt(r)}),[t]),a=(0,l.Kr)(()=>Object.values(r).filter(e=>Zt(e)),[r]),s=(0,l.Kr)(()=>{var e=Object.entries(n).filter(e=>{var r,[n]=e,i=null===(r=t[n])||void 0===r?void 0:r[o];return null==i?void 0:i.modal});return e.length>0?e[e.length-1][0]:null},[n,t,o]);return i.length||a.length?(0,c.FD)(c.FK,{children:[i.map(t=>{var r,o,[i,a]=t;return(0,c.Y)(Ar,{panelId:i,config:a,isOpen:!!n[i],openPanelProps:null===(r=n[i])||void 0===r?void 0:r.props,focusOnOpen:null===(o=n[i])||void 0===o?void 0:o.focusOnOpen,allowedModalPanelId:s,appState:e},i)}),a.map(t=>(0,c.Y)(Cr,{control:t,appState:e},t.id))]}):null};function Lr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function kr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Lr(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Lr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Dr=()=>{var{id:e}=d(),{breakpoint:t,interfaceType:r,preferredColorScheme:n,layoutRefs:o,isLayoutReady:i,hasExclusiveControl:a,isFullscreen:s}=et(),{mapStyle:u}=tt();return function(){var{dispatch:e,breakpoint:t,layoutRefs:r,arePluginsEvaluated:n,appVisible:o,isFullscreen:i}=et(),{mapSize:a,isMapReady:s}=tt(),{bannerRef:c,mainRef:u,topRef:d,topLeftColRef:p,topRightColRef:h,bottomRef:f,bottomRightRef:g,leftTopRef:y,leftBottomRef:v,rightTopRef:m,rightBottomRef:b,drawerRef:E,actionsRef:P}=r;(0,l.Nf)(()=>{e({type:"CLEAR_PLUGINS_EVALUATED"})},[t,a,s,o,i]),(0,l.Nf)(()=>{n&&requestAnimationFrame(()=>{Wt(r);var t=wt(r);t&&e({type:"SET_SAFE_ZONE_INSET",payload:{safeZoneInset:t}})})},[n]),Ut([c,u,d,p,h,P,f,g,y,v,m,b,E],()=>{requestAnimationFrame(()=>{Wt(r)})})}(),function(){var{interfaceType:e,layoutRefs:t}=et(),r=(0,l.li)(e);r.current=e,(0,l.vJ)(()=>{if(t.appContainerRef.current)return document.addEventListener("focusin",e),document.addEventListener("focusout",n),document.addEventListener("pointerdown",o),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",n),document.removeEventListener("pointerdown",o)};function e(e){e.target.dataset.focusVisible="keyboard"===r.current}function n(e){delete e.target.dataset.focusVisible}function o(){delete document.activeElement.dataset.focusVisible}},[t.appContainerRef])}(),(0,c.FD)("div",{id:"".concat(e,"-im-app"),className:["im-o-app","im-o-app--".concat(t),"im-o-app--".concat(r),"im-o-app--".concat(s?"fullscreen":"inline"),"im-o-app--".concat((null==u?void 0:u.appColorScheme)||n,"-app"),a&&"im-o-app--exclusive-control"].filter(Boolean).join(" "),style:kr({backgroundColor:(null==u?void 0:u.backgroundColor)||void 0},je(u)),ref:o.appContainerRef,children:[(0,c.Y)(Yt,{}),(0,c.FD)("div",{className:"im-o-app__overlay".concat(i?"":" im-o-app__overlay--not-ready"),children:[(0,c.Y)("div",{className:"im-o-app__side",ref:o.sideRef,children:(0,c.Y)(xr,{slot:J.SIDE})}),(0,c.FD)("div",{className:"im-o-app__main",ref:o.mainRef,children:[["mobile","tablet"].includes(t)&&(0,c.Y)("div",{className:"im-o-app__banner",ref:o.bannerRef,children:(0,c.Y)(xr,{slot:J.BANNER})}),(0,c.FD)("div",{className:"im-o-app__top",ref:o.topRef,children:[(0,c.Y)("div",{className:"im-o-app__top-col",ref:o.topLeftColRef,children:(0,c.Y)(xr,{slot:J.TOP_LEFT})}),(0,c.FD)("div",{className:"im-o-app__top-col",children:[(0,c.Y)(xr,{slot:J.TOP_MIDDLE}),["desktop"].includes(t)&&(0,c.Y)("div",{className:"im-o-app__banner",ref:o.bannerRef,children:(0,c.Y)(xr,{slot:J.BANNER})})]}),(0,c.Y)("div",{className:"im-o-app__top-col",ref:o.topRightColRef,children:(0,c.Y)(xr,{slot:J.TOP_RIGHT})})]}),(0,c.FD)("div",{className:"im-o-app__left",ref:o.leftRef,children:[(0,c.Y)("div",{className:"im-o-app__left-top",ref:o.leftTopRef,children:(0,c.Y)(xr,{slot:J.LEFT_TOP})}),(0,c.Y)("div",{className:"im-o-app__left-bottom",ref:o.leftBottomRef,children:(0,c.Y)(xr,{slot:J.LEFT_BOTTOM})})]}),(0,c.Y)("div",{className:"im-o-app__middle",ref:o.middleRef,children:(0,c.Y)(xr,{slot:J.MIDDLE})}),(0,c.FD)("div",{className:"im-o-app__right",ref:o.rightRef,children:[(0,c.Y)("div",{className:"im-o-app__right-top",ref:o.rightTopRef,children:(0,c.Y)(xr,{slot:J.RIGHT_TOP})}),(0,c.Y)("div",{className:"im-o-app__right-bottom",ref:o.rightBottomRef,children:(0,c.Y)(xr,{slot:J.RIGHT_BOTTOM})})]}),(0,c.FD)("div",{className:"im-o-app__bottom",ref:o.bottomRef,children:[(0,c.FD)("div",{className:"im-o-app__bottom-col",children:[(0,c.Y)(Kt,{}),(0,c.Y)("div",{className:"im-o-app__bottom-left",children:(0,c.Y)(xr,{slot:J.BOTTOM_LEFT})})]}),(0,c.FD)("div",{className:"im-o-app__bottom-col",children:[(0,c.Y)("div",{className:"im-o-app__bottom-right",ref:o.bottomRightRef,children:(0,c.Y)(xr,{slot:J.BOTTOM_RIGHT})}),(0,c.Y)("div",{className:"im-o-app__attributions",ref:o.attributionsRef,children:(0,c.Y)(Jt,{})})]})]}),(0,c.Y)("div",{className:"im-o-app__drawer",ref:o.drawerRef,children:(0,c.Y)(xr,{slot:J.DRAWER})}),(0,c.Y)("div",{className:"im-o-app__actions",ref:o.actionsRef,children:(0,c.Y)(xr,{slot:J.ACTIONS})}),(0,c.FD)("div",{className:"im-o-app__modal",ref:o.modalRef,children:[(0,c.Y)(xr,{slot:J.MODAL}),(0,c.Y)("div",{className:"im-o-app__modal-backdrop"})]})]})]}),(0,c.Y)(Ir,{})]})},jr=e=>((0,l.vJ)(()=>{(0,s.a)(),e.eventBus.emit(s.E.APP_READY)},[]),(0,c.Y)(me,{options:e,children:(0,c.Y)(xe,{options:e,children:(0,c.Y)(Je,{eventBus:e.eventBus,children:(0,c.FD)(Xe,{children:[(0,c.Y)(yt,{}),(0,c.Y)(Dr,{})]})})})})),Nr=["id","load","manifest"],Rr=["InitComponent","api","reducer"],Fr=["MapProvider","mapProviderConfig","mapFramework","plugins"];function Br(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Vr(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Br(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Br(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Gr,Yr=new WeakMap,Ur=new WeakMap,Hr=new WeakMap,zr=(Gr=(0,i.A)(function*(e,t){for(var r of e)if("function"==typeof r.load){var n=yield r.load(),{id:i,load:a,manifest:s}=r,l=(0,o.A)(r,Nr),{InitComponent:c,api:u,reducer:d}=n;t({id:i,InitComponent:c,api:u,reducer:d,config:l,manifest:ie((0,o.A)(n,Rr),s),_originalPlugin:r})}}),function(e,t){return Gr.apply(this,arguments)});function Wr(e,t){return Kr.apply(this,arguments)}function Kr(){return Kr=(0,i.A)(function*(e,t){var r,{MapProvider:n,mapProviderConfig:i,mapFramework:l,plugins:u=[]}=t,d=(0,o.A)(t,Fr),{eventBus:p}=d,h=Ur.get(e);h||(h=new n({mapFramework:l,mapProviderConfig:i,events:s.E,eventBus:p}),Ur.set(e,h)),null!==(r=h.capabilities)&&void 0!==r&&r.supportedShortcuts&&function(){g=new Set(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[])}(h.capabilities.supportedShortcuts);var{buttonRegistry:f,panelRegistry:y,controlRegistry:v,pluginRegistry:m}=(e=>{var t,r,n=Hr.get(e);if(!n){var o=function(){var e={};return{registerButton:t=>{e=L(e,t)},addButton:(t,r)=>(e=k(e,t,r),t),getButtonConfig:t=>((e,t)=>t?Object.fromEntries(Object.entries(e).filter(e=>{var[r,n]=e;return n.pluginId===t})):e)(e,t),clear:()=>{e={}}}}(),i=(r={},{registerPanel:e=>{r=R(r,e)},addPanel:(e,t)=>(r=F(r,e,t))[e],removePanel:e=>{r=B(r,e)},getPanelConfig:()=>r,clear:()=>{r={}}}),a=(t={},{registerControl:e=>{t=Y(t,e)},addControl:(e,r)=>(t=U(t,e,r))[e],getControlConfig:()=>t,clear:()=>{t={}}});n={buttonRegistry:o,panelRegistry:i,controlRegistry:a,pluginRegistry:re({registerButton:o.registerButton,registerPanel:i.registerPanel,registerControl:a.registerControl})},Hr.set(e,n)}return n})(e),{registerPlugin:b}=m;m.clear(),b({id:"appConfig",manifest:O});var E=Yr.get(e);E||(E=(0,a.Hr)(e),Yr.set(e,E));var P={_root:E,on:p.on,off:p.off,emit:p.emit,unmount(){var t,r;E.unmount(),Yr.delete(e),null===(t=(r=h).destroyMap)||void 0===t||t.call(r),Ur.delete(e),m.clear()}};return yield zr(u,b),E.render((0,c.Y)(jr,Vr(Vr({},d),{},{buttonRegistry:f,panelRegistry:y,controlRegistry:v,pluginRegistry:m,mapProvider:h}))),P}),Kr.apply(this,arguments)}},886:(e,t,r)=>{r.r(t),r.d(t,{default:()=>N}),r(452),r(247);var n=r(321),o=r(585),i=(e,t,r,n,o)=>{if(e.getLayer(t)){var i=((e,t,r)=>{if(!r||0===r.length)return e;var n=["!",["in",t?["to-string",["get",t]]:["to-string",["id"]],["literal",r.map(String)]]];return e?["all",e,n]:n})(r,n,o);e.setFilter(t,i)}},a=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var r=Object.values(e)[0];return null!=r?r:null}return null},s=e=>!(!e.fillPattern&&!e.fillPatternSvgContent),l=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=((e,t)=>{return e.fillPatternSvgContent?e.fillPatternSvgContent:e.fillPattern&&null!==(r=null==t||null===(n=t.get(e.fillPattern))||void 0===n?void 0:n.svgContent)&&void 0!==r?r:null;var r,n})(e,r);if(!o)return null;var i=a(e.fillPatternForegroundColor,t)||"black",s=a(e.fillPatternBackgroundColor,t)||"transparent",l=Math.max(2,n);return"pattern-".concat((e=>{var t=0;for(var r of e)t=(t<<5)-t+r.codePointAt(0),t&=t;return Math.abs(t).toString(36)})(o+i+s),"-").concat(l,"x")},c=e=>"string"==typeof e.geojson&&!!e.idProperty&&"function"==typeof e.transformRequest,u=e=>{var t=0;for(var r of e)t=Math.trunc((t<<5)-t+r.codePointAt(0));return Math.abs(t).toString(36)},d=e=>{if(e.tiles){var t=Array.isArray(e.tiles)?e.tiles.join(","):e.tiles;return"tiles-".concat(u(t))}return e.geojson?c(e)?"geojson-dynamic-".concat(e.id):"string"==typeof e.geojson?"geojson-".concat(u(e.geojson)):"geojson-".concat(e.id):"source-".concat(e.id)},p=e=>{if((e=>!!e.symbol)(e))return{fillLayerId:null,strokeLayerId:null,symbolLayerId:e.id};var t=!!e.fill&&"transparent"!==e.fill||s(e),r=!!e.stroke,n=t?e.id:null,o=null;return r&&(o=t?"".concat(e.id,"-stroke"):e.id),{fillLayerId:n,strokeLayerId:o,symbolLayerId:null}},h=(e,t)=>({fillLayerId:"".concat(e,"-").concat(t),strokeLayerId:"".concat(e,"-").concat(t,"-stroke"),symbolLayerId:"".concat(e,"-").concat(t,"-symbol")}),f=e=>{var t;if(null!==(t=e.sublayers)&&void 0!==t&&t.length)return e.sublayers.flatMap(t=>{var{fillLayerId:r,strokeLayerId:n,symbolLayerId:o}=h(e.id,t.id);return[n,r,o]});var{fillLayerId:r,strokeLayerId:n,symbolLayerId:o}=p(e);return[n,r,o].filter(Boolean)},g=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"];function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var v=(e,t)=>{return"symbolDescription"in t?t.symbolDescription:(r=t,g.some(e=>e in r)?void 0:e.symbolDescription);var r},m=(e,t)=>{var r,n,i,a,s,l,c,u,d,p,h,f,g,m,b,E,P,O=t.style||{},S=(E=e.filter,P=t.filter,E&&P?["all",E,P]:P||E||null);return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({id:t.id,label:t.label,stroke:null!==(r=O.stroke)&&void 0!==r?r:e.stroke,strokeWidth:null!==(n=O.strokeWidth)&&void 0!==n?n:e.strokeWidth,strokeDashArray:null!==(i=O.strokeDashArray)&&void 0!==i?i:e.strokeDashArray,opacity:null!==(a=O.opacity)&&void 0!==a?a:e.opacity,keySymbolShape:null!==(s=O.keySymbolShape)&&void 0!==s?s:e.keySymbolShape,symbolDescription:v(e,O),showInKey:null!==(l=t.showInKey)&&void 0!==l?l:e.showInKey,showInMenu:null!==(c=t.showInMenu)&&void 0!==c&&c,filter:S,minZoom:e.minZoom,maxZoom:e.maxZoom,symbol:null!==(u=O.symbol)&&void 0!==u?u:e.symbol,symbolSvgContent:null!==(d=O.symbolSvgContent)&&void 0!==d?d:e.symbolSvgContent,symbolViewBox:null!==(p=O.symbolViewBox)&&void 0!==p?p:e.symbolViewBox,symbolAnchor:null!==(h=O.symbolAnchor)&&void 0!==h?h:e.symbolAnchor,symbolBackgroundColor:null!==(f=O.symbolBackgroundColor)&&void 0!==f?f:e.symbolBackgroundColor,symbolForegroundColor:null!==(g=O.symbolForegroundColor)&&void 0!==g?g:e.symbolForegroundColor,symbolHaloWidth:null!==(m=O.symbolHaloWidth)&&void 0!==m?m:e.symbolHaloWidth,symbolGraphic:null!==(b=O.symbolGraphic)&&void 0!==b?b:e.symbolGraphic},((e,t)=>{var r,n;return t.fillPattern||t.fillPatternSvgContent?{fillPattern:t.fillPattern,fillPatternSvgContent:t.fillPatternSvgContent,fillPatternForegroundColor:null!==(r=t.fillPatternForegroundColor)&&void 0!==r?r:e.fillPatternForegroundColor,fillPatternBackgroundColor:null!==(n=t.fillPatternBackgroundColor)&&void 0!==n?n:e.fillPatternBackgroundColor}:"fill"in t?{fill:t.fill}:{fill:e.fill,fillPattern:e.fillPattern,fillPatternSvgContent:e.fillPatternSvgContent,fillPatternForegroundColor:e.fillPatternForegroundColor,fillPatternBackgroundColor:e.fillPatternBackgroundColor}})(e,O))},b=(e,t)=>e.flatMap(e=>{var t,r=s(e)?[e]:[];return null!==(t=e.sublayers)&&void 0!==t&&t.length&&e.sublayers.forEach(t=>{var n=m(e,t);s(n)&&r.push(n)}),r}),E=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),P=e=>!(!e.symbol&&!e.symbolSvgContent),O=(e,t)=>e.symbolSvgContent?{svg:e.symbolSvgContent}:e.symbol?t.get(e.symbol):void 0,S=e=>{var[t,r]=e,n=(e=>e<=.25?"left":e>=.75?"right":"")(t),o=(e=>e<=.25?"top":e>=.75?"bottom":"")(r);return o+(n&&o?"-":"")+n||"center"},w=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,i=O(e,r);if(!i)return null;var a=(e=>{if(!P(e))return{};var t={};return E.forEach(r=>{if(null!=e[r]){var n=r.charAt(6).toLowerCase()+r.slice(7);t[n]=e[r]}}),t})(e),s=n?r.resolveSelected(i,a,t):r.resolve(i,a,t);return"symbol-".concat(n?"sel-":"").concat((e=>{var t=0;for(var r of e)t=Math.trunc((t<<5)-t+r.codePointAt(0));return Math.abs(t).toString(36)})(s),"-").concat(o,"x")},_=e=>e.flatMap(e=>{var t,r=P(e)?[e]:[];return null!==(t=e.sublayers)&&void 0!==t&&t.length&&e.sublayers.forEach(t=>{var n=m(e,t);P(n)&&r.push(n)}),r});function M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?M(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):M(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var T=(e,t,r,n,o,i,c)=>{var{mapStyleId:u,patternRegistry:d,pixelRatio:p=1}=c;if(r&&!e.getLayer(r)&&(t.fill||s(t))){var h=s(t)?l(t,u,d,p):null,f=h?{"fill-pattern":h,"fill-opacity":t.opacity||1}:{"fill-color":a(t.fill,u),"fill-opacity":t.opacity||1};e.addLayer(x({id:r,type:"fill",source:n,"source-layer":o,minzoom:t.minZoom,maxzoom:t.maxZoom,layout:{visibility:i},paint:f},t.filter?{filter:t.filter}:{}))}},A=(e,t,r,n,o,i,s)=>{r&&t.stroke&&!e.getLayer(r)&&e.addLayer(x({id:r,type:"line",source:n,"source-layer":o,minzoom:t.minZoom,maxzoom:t.maxZoom,layout:{visibility:i},paint:x({"line-color":a(t.stroke,s),"line-width":t.strokeWidth||1,"line-opacity":t.opacity||1},t.strokeDashArray?{"line-dasharray":t.strokeDashArray}:{})},t.filter?{filter:t.filter}:{}))},C=(e,t,r,n,o,i,a)=>{var{mapStyle:s,symbolRegistry:l,pixelRatio:c}=a;if(r&&!e.getLayer(r)){var u=O(t,l);if(u){var d=w(t,s,l,!1,c);if(d){var p=((e,t)=>{var r;return e.symbolAnchor?e.symbolAnchor:null!==(r=null==t?void 0:t.anchor)&&void 0!==r?r:[.5,.5]})(t,u);e.addLayer(x({id:r,type:"symbol",source:n,"source-layer":o,minzoom:t.minZoom,maxzoom:t.maxZoom,layout:{visibility:i,"icon-image":d,"icon-anchor":S(p),"icon-allow-overlap":!0}},t.filter?{filter:t.filter}:{}))}}}},I=(e,t,r,n,o,i)=>{var a,{mapStyle:s,symbolRegistry:l,patternRegistry:c,pixelRatio:u}=i,d=s.id,p=m(t,r),{fillLayerId:f,strokeLayerId:g,symbolLayerId:y}=h(t.id,r.id),v="hidden"===t.visibility,b="hidden"===(null===(a=t.sublayerVisibility)||void 0===a?void 0:a[r.id]),E=v||b?"none":"visible";P(p)&&l?C(e,p,y,n,o,E,{mapStyle:s,symbolRegistry:l,pixelRatio:u}):(T(e,p,f,n,o,E,{mapStyleId:d,patternRegistry:c,pixelRatio:u}),A(e,p,g,n,o,E,d))};function L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function k(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?L(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):L(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}new Set;var D={slot:"middle",open:!1,dismissible:!0,modal:!0};k({},D),k(k({},D),{},{width:"500px"}),k(k({},D),{},{width:"500px"});var j={small:1,medium:1.5,large:2};class N{constructor(e,t,r){this._mapProvider=e,this._map=e.map,this._symbolRegistry=t,this._patternRegistry=r,this._datasetSourceMap=new Map,this._symbolLayerIds=new Set}init(e,t){var r=this;return(0,n.A)(function*(){var n=t.id,o=r._pixelRatio;yield Promise.all([r._mapProvider.registerPatterns(b(e,r._patternRegistry),n,r._patternRegistry),r._mapProvider.registerSymbols(_(e),t,r._symbolRegistry)]),r._symbolLayerIds.clear(),e.forEach(e=>r._addLayers(e,t,o)),yield new Promise(e=>r._map.once("idle",e))})()}destroy(e){var t=new Set;e.forEach(e=>{var r=d(e);this._getLayersUsingSource(r).forEach(e=>{this._map.getLayer(e)&&this._map.removeLayer(e)}),!t.has(r)&&this._map.getSource(r)&&(this._map.removeSource(r),t.add(r))}),this._datasetSourceMap.clear()}onStyleChange(e,t,r,o){var i=this;return(0,n.A)(function*(){yield new Promise(e=>i._map.once("idle",e));var n=t.id,a=i._pixelRatio;yield Promise.all([i._mapProvider.registerPatterns(b(e,i._patternRegistry),n,i._patternRegistry),i._mapProvider.registerSymbols(_(e),t,i._symbolRegistry)]),i._symbolLayerIds.clear(),e.forEach(e=>i._addLayers(e,t,a)),o.forEach(e=>e.reapply()),Object.entries(r).forEach(t=>{var[r,{idProperty:n,ids:o}]=t,a=e.find(e=>e.id===r);a&&i._applyFeatureFilter(a,n,o)})})()}onSizeChange(e,t){var r=this;return(0,n.A)(function*(){var n=r._pixelRatio;yield Promise.all([r._mapProvider.registerSymbols(_(e),t,r._symbolRegistry),r._mapProvider.registerPatterns(b(e,r._patternRegistry),t.id,r._patternRegistry)]),e.forEach(e=>{var o;if(f(e).forEach(o=>{if(r._symbolLayerIds.has(o)&&r._map.getLayer(o)){var i=w(e,t,r._symbolRegistry,!1,n);i&&r._map.setLayoutProperty(o,"icon-image",i)}}),s(e)){var{fillLayerId:i}=p(e);if(r._map.getLayer(i)){var a=l(e,t.id,r._patternRegistry,n);a&&r._map.setPaintProperty(i,"fill-pattern",a)}}null===(o=e.sublayers)||void 0===o||o.forEach(o=>{var i=m(e,o),{symbolLayerId:a,fillLayerId:c}=h(e.id,o.id);if(r._map.getLayer(a)){var u=w(i,t,r._symbolRegistry,!1,n);u&&r._map.setLayoutProperty(a,"icon-image",u)}if(s(i)&&r._map.getLayer(c)){var d=l(i,t.id,r._patternRegistry,n);d&&r._map.setPaintProperty(c,"fill-pattern",d)}})})})()}addDataset(e,t){this._addLayers(e,t,this._pixelRatio)}removeDataset(e,t){var r=d(e);f(e).forEach(e=>{this._map.getLayer(e)&&this._map.removeLayer(e),this._symbolLayerIds.delete(e)}),!t.some(t=>t.id!==e.id&&d(t)===r)&&this._map.getSource(r)&&this._map.removeSource(r),this._datasetSourceMap.delete(e.id)}showDataset(e){this._setDatasetVisibility(e,"visible")}hideDataset(e){this._setDatasetVisibility(e,"none")}showSublayer(e,t){var{fillLayerId:r,strokeLayerId:n,symbolLayerId:o}=h(e,t);[r,n,o].forEach(e=>{this._map.getLayer(e)&&this._map.setLayoutProperty(e,"visibility","visible")})}hideSublayer(e,t){var{fillLayerId:r,strokeLayerId:n,symbolLayerId:o}=h(e,t);[r,n,o].forEach(e=>{this._map.getLayer(e)&&this._map.setLayoutProperty(e,"visibility","none")})}showFeatures(e,t,r){this._applyFeatureFilter(e,t,r)}hideFeatures(e,t,r){this._applyFeatureFilter(e,t,r)}setStyle(e,t){var r=this;return(0,n.A)(function*(){var n=t.id,o=r._pixelRatio;f(e).forEach(e=>{r._map.getLayer(e)&&r._map.removeLayer(e),r._symbolLayerIds.delete(e)}),yield Promise.all([r._mapProvider.registerPatterns(b([e],r._patternRegistry),n,r._patternRegistry),r._mapProvider.registerSymbols(_([e]),t,r._symbolRegistry)]),r._addLayers(e,t,o)})()}setSublayerStyle(e,t,r){var o=this;return(0,n.A)(function*(){var n,i,a=r.id,s=o._pixelRatio,{fillLayerId:l,strokeLayerId:c,symbolLayerId:u}=h(e.id,t);[l,c,u].forEach(e=>{o._map.getLayer(e)&&o._map.removeLayer(e),o._symbolLayerIds.delete(e)});var d=null===(n=e.sublayers)||void 0===n?void 0:n.find(e=>e.id===t);if(d){yield Promise.all([o._mapProvider.registerPatterns(b([e],o._patternRegistry),a,o._patternRegistry),o._mapProvider.registerSymbols(_([e]),r,o._symbolRegistry)]);var p=o._datasetSourceMap.get(e.id),f=null!==(i=e.tiles)&&void 0!==i&&i.length?e.sourceLayer:void 0;I(o._map,e,d,p,f,{mapStyle:r,symbolRegistry:o._symbolRegistry,patternRegistry:o._patternRegistry,pixelRatio:s}),o._maintainSymbolOrdering(e)}})()}setOpacity(e,t){var r=this._map.getStyle();null!=r&&r.layers&&r.layers.filter(t=>t.id===e||t.id.startsWith("".concat(e,"-"))).forEach(e=>this._setPaintOpacity(e.id,t))}setSublayerOpacity(e,t,r){var{fillLayerId:n,strokeLayerId:o}=h(e,t);this._setPaintOpacity(n,r),this._setPaintOpacity(o,r)}setData(e,t){var r=this._datasetSourceMap.get(e);if(r){var n=this._map.getSource(r);n&&"function"==typeof n.setData&&n.setData(t)}}get _pixelRatio(){return this._mapProvider.map.getPixelRatio()*(j[this._mapProvider.mapSize]||1)}_addLayers(e,t,r){var n=((e,t,r,n,o,i)=>{var a,s,l=r.id,u=d(t);((e,t,r)=>{if(!e.getSource(r))if(t.tiles)e.addSource(r,{type:"vector",tiles:t.tiles,minzoom:t.minZoom||0,maxzoom:t.maxZoom||22});else if(t.geojson){var n=c(t)?{type:"FeatureCollection",features:[]}:t.geojson;e.addSource(r,{type:"geojson",data:n,generateId:!0})}})(e,t,u);var h=null!==(a=t.tiles)&&void 0!==a&&a.length?t.sourceLayer:void 0;if(null!==(s=t.sublayers)&&void 0!==s&&s.length)return t.sublayers.forEach(a=>{I(e,t,a,u,h,{mapStyle:r,symbolRegistry:n,patternRegistry:o,pixelRatio:i})}),u;var{fillLayerId:f,strokeLayerId:g,symbolLayerId:y}=p(t),v="hidden"===t.visibility?"none":"visible";return P(t)&&n?(C(e,t,y,u,h,v,{mapStyle:r,symbolRegistry:n,pixelRatio:i}),u):(T(e,t,f,u,h,v,{mapStyleId:l,patternRegistry:o,pixelRatio:i}),A(e,t,g,u,h,v,l),u)})(this._map,e,t,this._symbolRegistry,this._patternRegistry,r);this._datasetSourceMap.set(e.id,n),this._maintainSymbolOrdering(e)}_getFirstSymbolLayerId(){var e,t=this._map.getStyle();if(null==t||!t.layers)return null;var r=t.layers.find(e=>this._symbolLayerIds.has(e.id));return null!==(e=null==r?void 0:r.id)&&void 0!==e?e:null}_maintainSymbolOrdering(e){var t=f(e).filter(e=>e&&this._map.getLayer(e));t.forEach(e=>{var t;"symbol"===(null===(t=this._map.getLayer(e))||void 0===t?void 0:t.type)?this._symbolLayerIds.add(e):this._symbolLayerIds.delete(e)});var r=this._getFirstSymbolLayerId();r&&t.forEach(e=>{this._symbolLayerIds.has(e)||this._map.moveLayer(e,r)})}_setDatasetVisibility(e,t){var r=this._map.getStyle();null!=r&&r.layers&&r.layers.filter(t=>t.id===e||t.id.startsWith("".concat(e,"-"))).forEach(e=>this._map.setLayoutProperty(e.id,"visibility",t))}_applyFeatureFilter(e,t,r){var n;if(null!==(n=e.sublayers)&&void 0!==n&&n.length)e.sublayers.forEach(n=>{var{fillLayerId:o,strokeLayerId:a}=h(e.id,n.id),s=e.filter&&n.filter?["all",e.filter,n.filter]:n.filter||e.filter||null;i(this._map,o,s,t,r),i(this._map,a,s,t,r)});else{var{fillLayerId:o,strokeLayerId:a,symbolLayerId:s}=p(e),l=e.filter||null;[o,a,s].filter(Boolean).forEach(e=>{i(this._map,e,l,t,r)})}}_setPaintOpacity(e,t){var r=this._map.getLayer(e);if(r){var n={line:"line-opacity",symbol:"icon-opacity"}[r.type]||"fill-opacity";this._map.setPaintProperty(e,n,t)}}_getLayersUsingSource(e){var t=this._map.getStyle();return null!=t&&t.layers?t.layers.filter(t=>t.source===e).map(e=>e.id):[]}}},407:(e,t,r)=>{r.r(t),r.d(t,{manifest:()=>ce});var n=r(452),o=r(247),i=r(585),a=r(321);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var c={minZoom:6,maxZoom:24,showInKey:!1,showInMenu:!1,visibility:"visible",style:{stroke:"#d4351c",strokeWidth:2,fill:"transparent",symbolDescription:"red outline"}},u=["stroke","strokeWidth","strokeDashArray","fill","fillPattern","fillPatternSvgContent","fillPatternForegroundColor","fillPatternBackgroundColor","opacity","symbolDescription","keySymbolShape","symbol","symbolSvgContent","symbolViewBox","symbolAnchor","symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"],d=["stroke","fill","fillPattern","fillPatternSvgContent","symbol","symbolSvgContent"],p=e=>d.some(t=>t in e),h=(e,t)=>{var r=e.style||{},n=l(l({},t.style),r);!("symbolDescription"in r)&&p(r)&&delete n.symbolDescription;var o=l({},e);delete o.style,u.forEach(e=>delete o[e]);var i=l({},t);return delete i.style,l(l(l({},i),o),n)};function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var m,b=e=>{var t;if(null===(t=e.sublayers)||void 0===t||!t.length)return e;var r={};return e.sublayers.forEach(e=>{r[e.id]="visible"}),v(v({},e),{},{sublayerVisibility:r})},E={BUILD_KEY_GROUPS:e=>{var t=e.datasets||[],r=new Set,n=[],o=!1;return t.forEach(e=>{var i;if(e.showInKey&&"hidden"!==e.visibility)if(null!==(i=e.sublayers)&&void 0!==i&&i.length){var{sublayerVisibility:a=[]}=e;Object.values(a).some(e=>"hidden"!==e)&&(o=!0,n.push({type:"sublayers",dataset:e}))}else{if(e.groupLabel){if(r.has(e.groupLabel))return;return r.add(e.groupLabel),o=!0,void n.push({type:"group",groupLabel:e.groupLabel,datasets:t.filter(t=>{var r;return!(null!==(r=t.sublayers)&&void 0!==r&&r.length)&&t.groupLabel===e.groupLabel})})}n.push({type:"flat",dataset:e})}}),g(g({},e),{},{key:{items:n,hasGroups:o}})},SET_DATASETS:(e,t)=>{var{datasets:r,datasetDefaults:n}=t;return v(v({},e),{},{datasets:r.map(e=>b(h(e,n)))})},ADD_DATASET:(e,t)=>{var{dataset:r,datasetDefaults:n}=t;return v(v({},e),{},{datasets:[...e.datasets||[],b(h(r,n))]})},REMOVE_DATASET:(e,t)=>{var r,{id:n}=t;return v(v({},e),{},{datasets:(null===(r=e.datasets)||void 0===r?void 0:r.filter(e=>e.id!==n))||[]})},SET_DATASET_VISIBILITY:(e,t)=>{var r,{id:n,visibility:o}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>e.id===n?v(v({},e),{},{visibility:o}):e)})},SET_GLOBAL_VISIBILITY:(e,t)=>{var r,{visibility:n}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>v(v({},e),{},{visibility:n}))})},SET_SUBLAYER_VISIBILITY:(e,t)=>{var r,{datasetId:n,sublayerId:o,visibility:i}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>e.id!==n?e:v(v({},e),{},{sublayerVisibility:v(v({},e.sublayerVisibility),{},{[o]:i})}))})},SET_DATASET_STYLE:(e,t)=>{var r,{datasetId:n,styleChanges:o}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>e.id===n?v(v({},e),o):e)})},SET_SUBLAYER_STYLE:(e,t)=>{var r,{datasetId:n,sublayerId:o,styleChanges:i}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>{var t;return e.id!==n?e:v(v({},e),{},{sublayers:null===(t=e.sublayers)||void 0===t?void 0:t.map(e=>e.id===o?v(v({},e),{},{style:v(v({},e.style),i)}):e)})})})},SET_OPACITY:(e,t)=>{var r,{datasetId:n,opacity:o}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>e.id===n?v(v({},e),{},{opacity:o}):e)})},SET_GLOBAL_OPACITY:(e,t)=>{var r,{opacity:n}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>v(v({},e),{},{opacity:n}))})},SET_SUBLAYER_OPACITY:(e,t)=>{var r,{datasetId:n,sublayerId:o,opacity:i}=t;return v(v({},e),{},{datasets:null===(r=e.datasets)||void 0===r?void 0:r.map(e=>{var t;return e.id!==n?e:v(v({},e),{},{sublayers:null===(t=e.sublayers)||void 0===t?void 0:t.map(e=>e.id===o?v(v({},e),{},{style:v(v({},e.style),{},{opacity:i})}):e)})})})},HIDE_FEATURES:(e,t)=>{var{layerId:r,idProperty:n,featureIds:o}=t,i=e.hiddenFeatures[r],a=(null==i?void 0:i.ids)||[],s=[...new Set([...a,...o])];return v(v({},e),{},{hiddenFeatures:v(v({},e.hiddenFeatures),{},{[r]:{idProperty:n,ids:s}})})},SHOW_FEATURES:(e,t)=>{var{layerId:r,featureIds:n}=t,o=e.hiddenFeatures[r];if(!o)return e;var i=o.ids.filter(e=>!n.includes(e));if(0===i.length){var a=v({},e.hiddenFeatures);return delete a[r],v(v({},e),{},{hiddenFeatures:a})}return v(v({},e),{},{hiddenFeatures:v(v({},e.hiddenFeatures),{},{[r]:v(v({},o),{},{ids:i})})})},SET_LAYER_ADAPTER:(e,t)=>v(v({},e),{},{layerAdapter:t})},P={APP_ADD_MARKER:"app:addmarker",APP_REMOVE_MARKER:"app:removemarker",APP_SET_MODE:"app:setmode",APP_REVERT_MODE:"app:revertmode",APP_ADD_BUTTON:"app:addbutton",APP_TOGGLE_BUTTON_STATE:"app:togglebuttonstate",APP_ADD_PANEL:"app:addpanel",APP_REMOVE_PANEL:"app:removepanel",APP_SHOW_PANEL:"app:showpanel",APP_HIDE_PANEL:"app:hidepanel",APP_ADD_CONTROL:"app:addcontrol",APP_READY:"app:ready",APP_OPENED:"app:opened",APP_CLOSED:"app:closed",APP_PANEL_OPENED:"app:panelopened",APP_PANEL_CLOSED:"app:panelclosed",MAP_SET_STYLE:"map:setstyle",MAP_SET_SIZE:"map:setsize",MAP_SET_PIXEL_RATIO:"map:setpixelratio",MAP_FIT_TO_BOUNDS:"map:fittobounds",MAP_SET_VIEW:"map:setview",MAP_INIT_MAP_STYLES:"map:initmapstyles",MAP_STYLE_CHANGE:"map:stylechange",MAP_LOADED:"map:loaded",MAP_READY:"map:ready",MAP_SIZE_CHANGE:"map:sizechange",MAP_FIRST_IDLE:"map:firstidle",MAP_MOVE_START:"map:movestart",MAP_MOVE:"map:move",MAP_MOVE_END:"map:moveend",MAP_STATE_UPDATED:"map:stateupdated",MAP_DATA_CHANGE:"map:datachange",MAP_RENDER:"map:render",MAP_CLICK:"map:click",MAP_DESTROY:"map:destroy"},O=(m=(0,a.A)(function*(e,t,r,n){var o=r(e,t),i="string"==typeof o?{url:o}:o,{url:a,headers:s={}}=i,l=yield fetch(a,{headers:s,signal:n});if(!l.ok)throw new Error("Failed to fetch GeoJSON: ".concat(l.status," ").concat(l.statusText));var c=yield l.json();if("FeatureCollection"===c.type)return c;if("Feature"===c.type)return{type:"FeatureCollection",features:[c]};if(Array.isArray(c))return{type:"FeatureCollection",features:c};throw new Error("Invalid GeoJSON response")}),function(e,t,r,n){return m.apply(this,arguments)}),S=(e,t)=>!(!e||!t||e[2]<t[0]||e[0]>t[2]||e[3]<t[1]||e[1]>t[3]),w=e=>{var t=1/0,r=1/0,n=-1/0,o=-1/0,i=(e,a)=>{var s;0===a?(s=e,t=Math.min(t,s[0]),r=Math.min(r,s[1]),n=Math.max(n,s[0]),o=Math.max(o,s[1])):e.forEach(e=>i(e,a-1))};switch(e.type){case"Point":i(e.coordinates,0);break;case"LineString":case"MultiPoint":i(e.coordinates,1);break;case"Polygon":case"MultiLineString":i(e.coordinates,2);break;case"MultiPolygon":i(e.coordinates,3);break;case"GeometryCollection":e.geometries.forEach(e=>{var i=w(e);t=Math.min(t,i[0]),r=Math.min(r,i[1]),n=Math.max(n,i[2]),o=Math.max(o,i[3])});break;default:throw new Error("Unsupported geometry type: ".concat(e.type))}return[t,r,n,o]},_=e=>{var t,r,n,{dataset:o,map:i,onUpdate:s}=e,{geojson:l,idProperty:c,transformRequest:u,maxFeatures:d,minZoom:p=0}=o,h=new Map,f=null,g=null,y=()=>({type:"FeatureCollection",features:Array.from(h.values()).map(e=>e.feature)}),v=function(){var e=(0,a.A)(function*(){var e=i.getZoom();if(!(e<p)){var t=(e=>{var t=e.getBounds();return[t.getWest(),t.getSouth(),t.getEast(),t.getNorth()]})(i);if(!(f&&(r=f,n=t,r&&n&&n[0]>=r[0]&&n[1]>=r[1]&&n[2]<=r[2]&&n[3]<=r[3]))){var r,n,a,v;g&&g.abort(),g=new AbortController;try{var m={bbox:t,zoom:e,dataset:o},b=yield O(l,m,u,g.signal),E=Date.now();b.features.forEach(e=>{var t=(e=>{var t,r;return c&&null!==(t=null===(r=e.properties)||void 0===r?void 0:r[c])&&void 0!==t?t:e.id})(e);null!=t?h.set(t,{feature:e,bbox:w(e.geometry),lastSeenAt:E}):console.warn("Feature missing ID, skipping:",e)}),v=t,f=(a=f)?[Math.min(a[0],v[0]),Math.min(a[1],v[1]),Math.max(a[2],v[2]),Math.max(a[3],v[3])]:[...v];var P=h.size;(e=>{if(d&&!(h.size<=1.2*d)){var t=d,r=[],n=[];for(var[o,i]of h)S(i.bbox,e)?r.push(o):n.push({id:o,lastSeenAt:i.lastSeenAt});n.sort((e,t)=>e.lastSeenAt-t.lastSeenAt);for(var a=h.size-t,s=0;s<a&&s<n.length;s++)h.delete(n[s].id);if(h.size>t)for(var l=h.size-t,c=r.map(e=>({id:e,lastSeenAt:h.get(e).lastSeenAt})).sort((e,t)=>e.lastSeenAt-t.lastSeenAt),u=0;u<l&&u<c.length;u++)h.delete(c[u].id)}})(t),h.size<P&&(f=t),s(o.id,y())}catch(e){if("AbortError"===e.name)return;console.error("Failed to fetch dynamic GeoJSON for ".concat(o.id,":"),e)}}}});return function(){return e.apply(this,arguments)}}(),m=(t=v,(n=function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];clearTimeout(r),r=setTimeout(()=>t(...n),200)}).cancel=()=>{clearTimeout(r),r=null},n),b=()=>{m()};return i.on("moveend",b),v(),{destroy(){i.off("moveend",b),m.cancel(),g&&g.abort()},clear(){h.clear(),f=null,s(o.id,{type:"FeatureCollection",features:[]})},refresh(){h.clear(),f=null,v()},getFeatureCount:()=>h.size,reapply(){h.size>0&&s(o.id,y())}}},M=e=>{var{adapter:t,pluginConfig:r,pluginStateRef:n,mapStyle:o,mapProvider:i,events:a,eventBus:s}=e,{datasets:l}=r,u=new Map,d=()=>n.current.datasets||l,p=l.map(e=>h(e,c));t.init(p,o).then(()=>{p.forEach(e=>{if((e=>"string"==typeof e.geojson&&!!e.idProperty&&"function"==typeof e.transformRequest)(e)){var r=_({dataset:e,map:i.map,onUpdate:(e,r)=>t.setData(e,r)});u.set(e.id,r)}}),s.emit("datasets:ready")});var f=o,g=e=>{f=e,t.onStyleChange(d(),e,n.current.hiddenFeatures||{},u)},y=()=>{t.onSizeChange(d(),f)};return s.on(a.MAP_SET_STYLE,g),s.on(a.MAP_SIZE_CHANGE,y),{remove(){s.off(a.MAP_SET_STYLE,g),s.off(a.MAP_SIZE_CHANGE,y),u.forEach(e=>e.destroy()),u.clear(),t.destroy(d())},refreshDataset(e){var t;null===(t=u.get(e))||void 0===t||t.refresh()},clearDatasetCache(e){var t;null===(t=u.get(e))||void 0===t||t.clear()},getFeatureCount(e){var t,r;return null!==(t=null===(r=u.get(e))||void 0===r?void 0:r.getFeatureCount())&&void 0!==t?t:null}}},x=function(e,t){var r,n,{pluginState:o}=e,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{datasetId:a,sublayerId:s}=i;if(s){var l,c=t?"visible":"hidden";return null===(l=o.layerAdapter)||void 0===l||l[t?"showSublayer":"hideSublayer"](a,s),void o.dispatch({type:"SET_SUBLAYER_VISIBILITY",payload:{datasetId:a,sublayerId:s,visibility:c}})}if(a){if(null===(n=o.layerAdapter)||void 0===n||n[t?"showDataset":"hideDataset"](a),o.dispatch({type:"SET_DATASET_VISIBILITY",payload:{id:a,visibility:t?"visible":"hidden"}}),t){var u,d=null===(u=o.datasets)||void 0===u?void 0:u.find(e=>e.id===a);Object.entries((null==d?void 0:d.sublayerVisibility)||{}).forEach(e=>{var t,[r,n]=e;"hidden"===n&&(null===(t=o.layerAdapter)||void 0===t||t.hideSublayer(a,r))})}}else o.dispatch({type:"SET_GLOBAL_VISIBILITY",payload:{visibility:t?"visible":"hidden"}}),null===(r=o.datasets)||void 0===r||r.forEach(e=>{var r;null===(r=o.layerAdapter)||void 0===r||r[t?"showDataset":"hideDataset"](e.id),t&&Object.entries(e.sublayerVisibility||{}).forEach(t=>{var r,[n,i]=t;"hidden"===i&&(null===(r=o.layerAdapter)||void 0===r||r.hideSublayer(e.id,n))})})},T="im-c-datasets-layers__item-label govuk-label govuk-checkboxes__label",A=e=>{var t;return null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu)},C=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var r=Object.values(e)[0];return null!=r?r:null}return null};function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var L=(e,t)=>"symbolDescription"in t?t.symbolDescription:p(t)?void 0:e.symbolDescription,k=e=>{var{text:t}=e;return(0,o.Y)("div",{className:"im-c-datasets-key",children:(0,o.Y)("p",{className:"im-c-datasets-key__empty-message",children:t})})},D=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),j=e=>!(!e.symbol&&!e.symbolSvgContent),N=(e,t,r)=>e.replace(/\{\{foregroundColor\}\}/g,t||"black").replace(/\{\{backgroundColor\}\}/g,r);function R(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?R(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):R(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var B=20,V={xmlns:"http://www.w3.org/2000/svg",width:B,height:B,viewBox:"0 0 ".concat(B," ").concat(B),className:"am-c-datasets-key-symbol","aria-hidden":"true",focusable:"false"},G=F(F({},V),{},{width:38,height:38,className:"am-c-datasets-key-symbol am-c-datasets-key-symbol--point"});function Y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Y(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var H=e=>{var{patternRegistry:t,mapStyle:r}=e,n=((e,t,r)=>{var n=((e,t)=>{return e.fillPatternSvgContent?e.fillPatternSvgContent:e.fillPattern&&null!==(r=null==t||null===(n=t.get(e.fillPattern))||void 0===n?void 0:n.svgContent)&&void 0!==r?r:null;var r,n})(e,r);if(!n)return null;var o=C(e.fillPatternForegroundColor,t)||"black",i=C(e.fillPatternBackgroundColor,t)||"transparent",a=C(e.stroke,t)||o;return{border:N('<path d="M19 2.862v14.275c0 1.028-.835 1.862-1.862 1.862H2.863c-1.028 0-1.862-.835-1.862-1.862V2.862C1.001 1.834 1.836 1 2.863 1h14.275C18.166 1 19 1.835 19 2.862z" fill="{{backgroundColor}}" stroke="{{foregroundColor}}" stroke-width="2"/>',a,i),content:N(n,o,i)}})(e,r.id,t);return(0,o.FD)("svg",U(U({},V),{},{children:[(0,o.Y)("g",{dangerouslySetInnerHTML:{__html:n.border}}),(0,o.Y)("g",{transform:"translate(".concat(2,", ").concat(2,")"),dangerouslySetInnerHTML:{__html:n.content}})]}))};function z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function W(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?z(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var K=e=>{var t,{symbolRegistry:r,mapStyle:n,symbolDef:i}=e,a=null!==(t=null==n?void 0:n.appColorScheme)&&void 0!==t?t:"light",s=W(W({},n),{},{mapColorScheme:a}),l=r.resolve(i,(e=>{if(!j(e))return{};var t={};return D.forEach(r=>{if(null!=e[r]){var n=r.charAt(6).toLowerCase()+r.slice(7);t[n]=e[r]}}),t})(e),s),c=((e,t)=>{var r;return e.symbolViewBox?e.symbolViewBox:null!==(r=null==t?void 0:t.viewBox)&&void 0!==r?r:"0 0 38 38"})(e,i);return(0,o.Y)("svg",W(W({},G),{},{viewBox:c,children:(0,o.Y)("g",{dangerouslySetInnerHTML:{__html:l}})}))};function J(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function $(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?J(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var q=e=>{var{mapStyle:t}=e;return(0,o.Y)("svg",$($({},V),{},{children:(0,o.Y)("line",{x1:e.strokeWidth/2,y1:10,x2:B-e.strokeWidth/2,y2:10,stroke:C(e.stroke,t.id),strokeWidth:e.strokeWidth,strokeLinecap:"round"})}))};function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Z(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Q=e=>{var{mapStyle:t}=e;return(0,o.Y)("svg",X(X({},V),{},{children:(0,o.Y)("rect",{x:e.strokeWidth/2,y:e.strokeWidth/2,width:B-e.strokeWidth,height:B-e.strokeWidth,rx:e.strokeWidth,ry:e.strokeWidth,fill:C(e.fill,t.id),stroke:C(e.stroke,t.id),strokeWidth:e.strokeWidth,strokeLinejoin:"round"})}))};function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var re=e=>{var t,{symbolRegistry:r}=e,n=j(e)&&((e,t)=>e.symbolSvgContent?{svg:e.symbolSvgContent}:e.symbol?t.get(e.symbol):void 0)(e,r);return n?(0,o.Y)(K,te(te({},e),{},{symbolDef:n})):(t=e).fillPattern||t.fillPatternSvgContent?(0,o.Y)(H,te({},e)):"line"===e.keySymbolShape?(0,o.Y)(q,te({},e)):(0,o.Y)(Q,te({},e))};function ne(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function oe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ne(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function ie(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ae(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ie(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ie(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function se(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function le(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?se(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):se(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ce={InitComponent:function(e){var t,{pluginConfig:r,pluginState:o,appState:i,mapState:s,mapProvider:l,services:u}=e,{dispatch:d}=o,{eventBus:p,symbolRegistry:h,patternRegistry:f}=u,g=!(null===(t=l.map)||void 0===t||!t.getStyle()),y=(0,n.li)(o);y.current=o;var v=(0,n.li)(null);return(0,n.vJ)(()=>{var e,t,n,u,m=null===(e=null===(t=r.includeModes)||void 0===t?void 0:t.includes(i.mode))||void 0===e||e,b=null!==(n=null===(u=r.excludeModes)||void 0===u?void 0:u.includes(i.mode))&&void 0!==n&&n;if(g&&m&&!b&&!v.current){o.datasets||d({type:"SET_DATASETS",payload:{datasets:r.datasets,datasetDefaults:c}});var E=function(){var e=(0,a.A)(function*(){if(!r.layerAdapter)throw new Error("datasets plugin: no layerAdapter provided. Import and pass maplibreLayerAdapter or a custom adapter.");var{default:e}=yield r.layerAdapter.load(),t=new e(l,h,f);d({type:"SET_LAYER_ADAPTER",payload:t}),v.current=M({adapter:t,pluginConfig:r,pluginStateRef:y,mapStyle:s.mapStyle,mapProvider:l,events:P,eventBus:p})});return function(){return e.apply(this,arguments)}}();E()}},[g,i.mode]),(0,n.vJ)(()=>{d({type:"BUILD_KEY_GROUPS",payload:null})},[o.datasets]),(0,n.vJ)(()=>()=>{v.current&&(v.current.remove(),v.current=null),d({type:"SET_LAYER_ADAPTER",payload:null})},[]),null},reducer:{initialState:{datasets:null,key:{items:[],hasGroups:!1},hiddenFeatures:{},layerAdapter:null},actions:E},panels:[{id:"datasetsLayers",label:"Layers",mobile:{slot:"drawer",modal:!0,dismissible:!0},tablet:{slot:"left-top",dismissible:!0,exclusive:!0,width:"260px"},desktop:{slot:"left-top",modal:!1,dismissible:!0,exclusive:!0,width:"280px"},render:e=>{var t,r,n,{pluginState:i}=e,a=e=>{var{value:t,checked:r}=e.target;x({pluginState:i},r,{datasetId:t})},s=e=>{var{checked:t}=e.target,r=e.target.dataset.datasetId,n=e.target.dataset.sublayerId;x({pluginState:i},t,{datasetId:r,sublayerId:n})},l=e=>{var t="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat("hidden"===e.visibility?"":" im-c-datasets-layers__item--checked");return(0,o.Y)("div",{className:t,"data-module":"govuk-checkboxes",children:(0,o.FD)("div",{className:"govuk-checkboxes__item",children:[(0,o.Y)("input",{className:"govuk-checkboxes__input",id:e.id,name:"layers",type:"checkbox",value:e.id,checked:"hidden"!==e.visibility,onChange:a}),(0,o.Y)("label",{className:T,htmlFor:e.id,children:e.label})]})},e.id)},c=(i.datasets||[]).filter(e=>e.showInMenu||A(e)),u=(t=c,r=new Set,n=[],t.forEach(e=>{if(A(e))n.push({type:"sublayers",dataset:e});else{if(e.groupLabel){if(r.has(e.groupLabel))return;return r.add(e.groupLabel),void n.push({type:"group",groupLabel:e.groupLabel,datasets:t.filter(t=>!A(t)&&t.groupLabel===e.groupLabel)})}n.push({type:"flat",dataset:e})}}),n),d=u.some(e=>"sublayers"===e.type||"group"===e.type),p="im-c-datasets-layers".concat(d?" im-c-datasets-layers--has-groups":"");return(0,o.Y)("div",{className:p,children:u.map(e=>{if("sublayers"===e.type){var{dataset:t}=e,r=t.sublayers.filter(e=>e.showInMenu).some(e=>{var r;return"hidden"!==(null===(r=t.sublayerVisibility)||void 0===r?void 0:r[e.id])}),n="govuk-form-group im-c-datasets-layers-group".concat(r?" im-c-datasets-layers-group--items-checked":"");return(0,o.Y)("div",{className:n,children:(0,o.FD)("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[(0,o.Y)("legend",{className:"im-c-datasets-layers-group__legend",children:t.label}),t.sublayers.filter(e=>e.showInMenu).map(e=>{var r,n="hidden"!==(null===(r=t.sublayerVisibility)||void 0===r?void 0:r[e.id]),i="".concat(t.id,"-").concat(e.id),a="im-c-datasets-layers__item govuk-checkboxes govuk-checkboxes--small".concat(n?" im-c-datasets-layers__item--checked":"");return(0,o.Y)("div",{className:a,"data-module":"govuk-checkboxes",children:(0,o.FD)("div",{className:"govuk-checkboxes__item",children:[(0,o.Y)("input",{className:"govuk-checkboxes__input",id:i,type:"checkbox",checked:n,"data-dataset-id":t.id,"data-sublayer-id":e.id,onChange:s}),(0,o.Y)("label",{className:T,htmlFor:i,children:e.label})]})},e.id)})]})},t.id)}if("group"===e.type){var i=e.datasets.some(e=>"hidden"!==e.visibility),a="govuk-form-group im-c-datasets-layers-group".concat(i?" im-c-datasets-layers-group--items-checked":"");return(0,o.Y)("div",{className:a,children:(0,o.FD)("fieldset",{className:"im-c-datasets-layers-group__fieldset",children:[(0,o.Y)("legend",{className:"im-c-datasets-layers-group__legend",children:e.groupLabel}),e.datasets.map(e=>l(e))]})},e.groupLabel)}return l(e.dataset)})})}},{id:"datasetsKey",label:"Key",mobile:{slot:"drawer",modal:!0},tablet:{slot:"left-top",width:"260px"},desktop:{slot:"left-top",width:"280px"},render:e=>{var t,{pluginConfig:r,mapState:n,pluginState:a,services:s}=e;if(null==a||null===(t=a.key)||void 0===t||null===(t=t.items)||void 0===t||!t.length)return(0,o.Y)(k,{text:r.noKeyItemText});var{mapStyle:l}=n,{symbolRegistry:c,patternRegistry:u}=s,d=(e,t)=>(0,o.FD)("dl",{className:"im-c-datasets-key__item",children:[(0,o.Y)("dt",{className:"im-c-datasets-key__item-symbol",children:(0,o.Y)(re,oe(oe({},t),{},{symbolRegistry:c,patternRegistry:u,mapStyle:l}))}),(0,o.FD)("dd",{className:"im-c-datasets-key__item-label",children:[t.label,t.symbolDescription&&(0,o.FD)("span",{className:"govuk-visually-hidden",children:["(",C(t.symbolDescription,l.id),")"]})]})]},e),{items:p,hasGroups:h}=a.key,f="im-c-datasets-key".concat(h?" im-c-datasets-key--has-groups":"");return(0,o.Y)("div",{className:f,children:p.map(e=>{if("sublayers"===e.type){var t="key-heading-".concat(e.dataset.id);return(0,o.FD)("section",{className:"im-c-datasets-key__group","aria-labelledby":t,children:[(0,o.Y)("h3",{id:t,className:"im-c-datasets-key__group-heading",children:e.dataset.label}),e.dataset.sublayers.filter(t=>{var r;return"hidden"!==(null===(r=e.dataset.sublayerVisibility)||void 0===r?void 0:r[t.id])}).map(t=>d("".concat(e.dataset.id,"-").concat(t.id),((e,t)=>{var r,n,o,a,s,l,c,u,d,p,h,f,g,y,v,m,b,E=t.style||{},P=(m=e.filter,b=t.filter,m&&b?["all",m,b]:b||m||null);return function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({id:t.id,label:t.label,stroke:null!==(r=E.stroke)&&void 0!==r?r:e.stroke,strokeWidth:null!==(n=E.strokeWidth)&&void 0!==n?n:e.strokeWidth,strokeDashArray:null!==(o=E.strokeDashArray)&&void 0!==o?o:e.strokeDashArray,opacity:null!==(a=E.opacity)&&void 0!==a?a:e.opacity,keySymbolShape:null!==(s=E.keySymbolShape)&&void 0!==s?s:e.keySymbolShape,symbolDescription:L(e,E),showInKey:null!==(l=t.showInKey)&&void 0!==l?l:e.showInKey,showInMenu:null!==(c=t.showInMenu)&&void 0!==c&&c,filter:P,minZoom:e.minZoom,maxZoom:e.maxZoom,symbol:null!==(u=E.symbol)&&void 0!==u?u:e.symbol,symbolSvgContent:null!==(d=E.symbolSvgContent)&&void 0!==d?d:e.symbolSvgContent,symbolViewBox:null!==(p=E.symbolViewBox)&&void 0!==p?p:e.symbolViewBox,symbolAnchor:null!==(h=E.symbolAnchor)&&void 0!==h?h:e.symbolAnchor,symbolBackgroundColor:null!==(f=E.symbolBackgroundColor)&&void 0!==f?f:e.symbolBackgroundColor,symbolForegroundColor:null!==(g=E.symbolForegroundColor)&&void 0!==g?g:e.symbolForegroundColor,symbolHaloWidth:null!==(y=E.symbolHaloWidth)&&void 0!==y?y:e.symbolHaloWidth,symbolGraphic:null!==(v=E.symbolGraphic)&&void 0!==v?v:e.symbolGraphic},((e,t)=>{var r,n;return t.fillPattern||t.fillPatternSvgContent?{fillPattern:t.fillPattern,fillPatternSvgContent:t.fillPatternSvgContent,fillPatternForegroundColor:null!==(r=t.fillPatternForegroundColor)&&void 0!==r?r:e.fillPatternForegroundColor,fillPatternBackgroundColor:null!==(n=t.fillPatternBackgroundColor)&&void 0!==n?n:e.fillPatternBackgroundColor}:"fill"in t?{fill:t.fill}:{fill:e.fill,fillPattern:e.fillPattern,fillPatternSvgContent:e.fillPatternSvgContent,fillPatternForegroundColor:e.fillPatternForegroundColor,fillPatternBackgroundColor:e.fillPatternBackgroundColor}})(e,E))})(e.dataset,t)))]},e.dataset.id)}if("group"===e.type){var r="key-heading-".concat(e.groupLabel.toLowerCase().replaceAll(/\s+/g,"-"));return(0,o.FD)("section",{className:"im-c-datasets-key__group","aria-labelledby":r,children:[(0,o.Y)("h3",{id:r,className:"im-c-datasets-key__group-heading",children:e.groupLabel}),e.datasets.map(e=>d(e.id,e))]},e.groupLabel)}return d(e.dataset.id,e.dataset)})})}}],buttons:[{id:"datasetsLayers",label:"Layers",panelId:"datasetsLayers",iconId:"layers",excludeWhen:e=>{var{pluginConfig:t}=e;return!t.datasets.some(e=>{var t;return e.showInMenu||(null===(t=e.sublayers)||void 0===t?void 0:t.some(e=>e.showInMenu))})},mobile:{slot:"top-left",showLabel:!0},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}},{id:"datasetsKey",label:"Key",panelId:"datasetsKey",iconId:"key",excludeWhen:e=>{var{pluginConfig:t}=e;return!t.datasets.some(e=>e.showInKey)},mobile:{slot:"top-left",showLabel:!1},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{id:"layers",svgContent:'<path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path>'},{id:"key",svgContent:'<path d="M3 5h.01"/><path d="M3 12h.01"/><path d="M3 19h.01"/><path d="M8 5h13"/><path d="M8 12h13"/><path d="M8 19h13"/>'}],api:{addDataset:(e,t)=>{var r,{pluginState:n,mapState:o}=e;null===(r=n.layerAdapter)||void 0===r||r.addDataset(ae(ae({},c),t),o.mapStyle),n.dispatch({type:"ADD_DATASET",payload:{dataset:t,datasetDefaults:c}})},removeDataset:(e,t)=>{var r,n,{pluginState:o}=e,i=null===(r=o.datasets)||void 0===r?void 0:r.find(e=>e.id===t);i&&(null===(n=o.layerAdapter)||void 0===n||n.removeDataset(i,o.datasets),o.dispatch({type:"REMOVE_DATASET",payload:{id:t}}))},setDatasetVisibility:x,setFeatureVisibility:function(e,t,r){var n,{pluginState:o}=e,{datasetId:i,idProperty:a=null}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=null===(n=o.datasets)||void 0===n?void 0:n.find(e=>e.id===i);if(s)if(t){var l,c=o.hiddenFeatures[i];if(!c)return;var u=c.ids.filter(e=>!r.includes(e));o.dispatch({type:"SHOW_FEATURES",payload:{layerId:i,featureIds:r}}),null===(l=o.layerAdapter)||void 0===l||l.showFeatures(s,a,u)}else{var d,p=o.hiddenFeatures[i],h=(null==p?void 0:p.ids)||[],f=[...new Set([...h,...r])];o.dispatch({type:"HIDE_FEATURES",payload:{layerId:i,idProperty:a,featureIds:r}}),null===(d=o.layerAdapter)||void 0===d||d.hideFeatures(s,a,f)}},setStyle:function(e,t){var r,n,{pluginState:o,mapState:i}=e,{datasetId:a,sublayerId:s}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l=null===(r=o.datasets)||void 0===r?void 0:r.find(e=>e.id===a);if(l)if(s){var c,u;o.dispatch({type:"SET_SUBLAYER_STYLE",payload:{datasetId:a,sublayerId:s,styleChanges:t}});var d=le(le({},l),{},{sublayers:null===(c=l.sublayers)||void 0===c?void 0:c.map(e=>e.id===s?le(le({},e),{},{style:le(le({},e.style),t)}):e)});null===(u=o.layerAdapter)||void 0===u||u.setSublayerStyle(d,s,i.mapStyle)}else{o.dispatch({type:"SET_DATASET_STYLE",payload:{datasetId:a,styleChanges:t}});var p=le(le({},l),t);null===(n=o.layerAdapter)||void 0===n||n.setStyle(p,i.mapStyle)}},getStyle:function(e){var t,r,{pluginState:n}=e,{datasetId:o,sublayerId:i}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=null===(t=n.datasets)||void 0===t?void 0:t.find(e=>e.id===o);if(!a)return null;if(i){var s,l,c=null===(s=a.sublayers)||void 0===s?void 0:s.find(e=>e.id===i);return null!==(l=null==c?void 0:c.style)&&void 0!==l?l:null}return null!==(r=a.style)&&void 0!==r?r:null},setOpacity:(e,t,r)=>{var n,{pluginState:o}=e,{datasetId:i,sublayerId:a}=r||{};if(a){var s,l;if(!(null===(s=o.datasets)||void 0===s?void 0:s.find(e=>e.id===i)))return;return o.dispatch({type:"SET_SUBLAYER_OPACITY",payload:{datasetId:i,sublayerId:a,opacity:t}}),void(null===(l=o.layerAdapter)||void 0===l||l.setSublayerOpacity(i,a,t))}if(i){var c,u;if(!(null===(c=o.datasets)||void 0===c?void 0:c.find(e=>e.id===i)))return;return o.dispatch({type:"SET_OPACITY",payload:{datasetId:i,opacity:t}}),void(null===(u=o.layerAdapter)||void 0===u||u.setOpacity(i,t))}o.dispatch({type:"SET_GLOBAL_OPACITY",payload:{opacity:t}}),null===(n=o.datasets)||void 0===n||n.forEach(e=>{var r;null===(r=o.layerAdapter)||void 0===r||r.setOpacity(e.id,t)})},getOpacity:(e,t)=>{var r,n,{pluginState:o}=e,{datasetId:i,sublayerId:a}=t||{};if(a){var s,l,c,u,d=null===(s=o.datasets)||void 0===s?void 0:s.find(e=>e.id===i),p=null==d||null===(l=d.sublayers)||void 0===l?void 0:l.find(e=>e.id===a);return null!==(c=null==p||null===(u=p.style)||void 0===u?void 0:u.opacity)&&void 0!==c?c:null}if(i){var h,f,g=null===(h=o.datasets)||void 0===h?void 0:h.find(e=>e.id===i);return null!==(f=null==g?void 0:g.opacity)&&void 0!==f?f:null}return null!==(r=null===(n=o.datasets)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.opacity)&&void 0!==r?r:null},setData:(e,t,r)=>{var n,o,{pluginState:i}=e,{datasetId:a}=r,s=null===(n=i.datasets)||void 0===n?void 0:n.find(e=>e.id===a);null!=s&&s.tiles?function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];console.warn("[interactive-map]",...t)}('setData called on vector tile dataset "'.concat(a,'" — has no effect')):null===(o=i.layerAdapter)||void 0===o||o.setData(a,t)}}}},327:(e,t,r)=>{r.r(t),r.d(t,{manifest:()=>ji});var n=r(585),o=r(452),i=r(505);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var l={SET_MODE:(e,t)=>s(s({},e),{},{mode:t}),SET_ACTION:(e,t)=>s(s({},e),{},{action:t.name,actionValid:t.isValid}),SET_FEATURE:(e,t)=>s(s({},e),{},{feature:void 0===t.feature?e.feature:t.feature,tempFeature:void 0===t.tempFeature?e.tempFeature:t.tempFeature}),SET_SELECTED_VERTEX_INDEX:(e,t)=>s(s({},e),{},{selectedVertexIndex:t.index,numVertecies:t.numVertecies}),TOGGLE_SNAP:e=>s(s({},e),{},{snap:!e.snap}),SET_SNAP:(e,t)=>s(s({},e),{},{snap:!!t}),SET_HAS_SNAP_LAYERS:(e,t)=>s(s({},e),{},{hasSnapLayers:!!t}),SET_UNDO_STACK_LENGTH:(e,t)=>s(s({},e),{},{undoStackLength:t})},c={APP_ADD_MARKER:"app:addmarker",APP_REMOVE_MARKER:"app:removemarker",APP_SET_MODE:"app:setmode",APP_REVERT_MODE:"app:revertmode",APP_ADD_BUTTON:"app:addbutton",APP_TOGGLE_BUTTON_STATE:"app:togglebuttonstate",APP_ADD_PANEL:"app:addpanel",APP_REMOVE_PANEL:"app:removepanel",APP_SHOW_PANEL:"app:showpanel",APP_HIDE_PANEL:"app:hidepanel",APP_ADD_CONTROL:"app:addcontrol",APP_READY:"app:ready",APP_OPENED:"app:opened",APP_CLOSED:"app:closed",APP_PANEL_OPENED:"app:panelopened",APP_PANEL_CLOSED:"app:panelclosed",MAP_SET_STYLE:"map:setstyle",MAP_SET_SIZE:"map:setsize",MAP_SET_PIXEL_RATIO:"map:setpixelratio",MAP_FIT_TO_BOUNDS:"map:fittobounds",MAP_SET_VIEW:"map:setview",MAP_INIT_MAP_STYLES:"map:initmapstyles",MAP_STYLE_CHANGE:"map:stylechange",MAP_LOADED:"map:loaded",MAP_READY:"map:ready",MAP_SIZE_CHANGE:"map:sizechange",MAP_FIRST_IDLE:"map:firstidle",MAP_MOVE_START:"map:movestart",MAP_MOVE:"map:move",MAP_MOVE_END:"map:moveend",MAP_STATE_UPDATED:"map:stateupdated",MAP_DATA_CHANGE:"map:datachange",MAP_RENDER:"map:render",MAP_CLICK:"map:click",MAP_DESTROY:"map:destroy"};function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function p(e){var t;return null!==(t=null==e?void 0:e._snapInstance)&&void 0!==t?t:null}function h(e){var t;return!!(null!=e&&e.status&&null!=e&&e.snapStatus&&(null===(t=e.snapCoords)||void 0===t?void 0:t.length)>=2)}function f(e){return h(e)?{lng:e.snapCoords[0],lat:e.snapCoords[1]}:null}function g(e,t,r){if(!e||!t||!e.status)return!1;var n=t.unproject(r);return e.snapToClosestPoint({point:r,lngLat:n}),!0}function y(e,t){var r,n,o;e&&(e.snapStatus=!1,e.snapCoords=null,null!==(r=e.snappedFeatures)&&void 0!==r&&r.length&&(e.snappedFeatures.length=0),null!==(n=e.closeFeatures)&&void 0!==n&&n.length&&(e.closeFeatures.length=0),null!==(o=e.lines)&&void 0!==o&&o.length&&(e.lines.length=0)),null!=t&&t.getLayer("snap-helper-circle")&&t.setLayoutProperty("snap-helper-circle","visibility","none")}function v(e){var t,r,n;e&&(e.snapStatus=!1,e.snapCoords=null,null!==(t=e.snappedFeatures)&&void 0!==t&&t.length&&(e.snappedFeatures.length=0),null!==(r=e.closeFeatures)&&void 0!==r&&r.length&&(e.closeFeatures.length=0),null!==(n=e.lines)&&void 0!==n&&n.length&&(e.lines.length=0))}function m(e){return"function"==typeof(null==e?void 0:e.getSnapEnabled)&&!0===e.getSnapEnabled()}const b={CANVAS:"mapboxgl-canvas",CONTROL_BASE:"mapboxgl-ctrl",CONTROL_PREFIX:"mapboxgl-ctrl-",CONTROL_BUTTON:"mapbox-gl-draw_ctrl-draw-btn",CONTROL_BUTTON_LINE:"mapbox-gl-draw_line",CONTROL_BUTTON_POLYGON:"mapbox-gl-draw_polygon",CONTROL_BUTTON_POINT:"mapbox-gl-draw_point",CONTROL_BUTTON_TRASH:"mapbox-gl-draw_trash",CONTROL_BUTTON_COMBINE_FEATURES:"mapbox-gl-draw_combine",CONTROL_BUTTON_UNCOMBINE_FEATURES:"mapbox-gl-draw_uncombine",CONTROL_GROUP:"mapboxgl-ctrl-group",ATTRIBUTION:"mapboxgl-ctrl-attrib",ACTIVE_BUTTON:"active",BOX_SELECT:"mapbox-gl-draw_boxselect"},E={HOT:"mapbox-gl-draw-hot",COLD:"mapbox-gl-draw-cold"},P={ADD:"add",MOVE:"move",DRAG:"drag",POINTER:"pointer",NONE:"none"},O={POLYGON:"polygon",LINE:"line_string",POINT:"point"},S={FEATURE:"Feature",POLYGON:"Polygon",LINE_STRING:"LineString",POINT:"Point",FEATURE_COLLECTION:"FeatureCollection",MULTI_PREFIX:"Multi",MULTI_POINT:"MultiPoint",MULTI_LINE_STRING:"MultiLineString",MULTI_POLYGON:"MultiPolygon"},w={DRAW_LINE_STRING:"draw_line_string",DRAW_POLYGON:"draw_polygon",DRAW_POINT:"draw_point",SIMPLE_SELECT:"simple_select",DIRECT_SELECT:"direct_select"},_={CREATE:"draw.create",DELETE:"draw.delete",UPDATE:"draw.update",SELECTION_CHANGE:"draw.selectionchange",MODE_CHANGE:"draw.modechange",ACTIONABLE:"draw.actionable",RENDER:"draw.render",COMBINE_FEATURES:"draw.combine",UNCOMBINE_FEATURES:"draw.uncombine"},M={MOVE:"move",CHANGE_PROPERTIES:"change_properties",CHANGE_COORDINATES:"change_coordinates"},x={FEATURE:"feature",MIDPOINT:"midpoint",VERTEX:"vertex"},T={ACTIVE:"true",INACTIVE:"false"},A=["scrollZoom","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate"];var C=Object.freeze({__proto__:null,LAT_MAX:90,LAT_MIN:-90,LAT_RENDERED_MAX:85,LAT_RENDERED_MIN:-85,LNG_MAX:270,LNG_MIN:-270,activeStates:T,classes:b,cursors:P,events:_,geojsonTypes:S,interactions:A,meta:x,modes:w,sources:E,types:O,updateActions:M});function I(e){return function(t){const r=t.featureTarget;return!!r&&!!r.properties&&r.properties.meta===e}}function L(e){return!!e.originalEvent&&!!e.originalEvent.shiftKey&&0===e.originalEvent.button}function k(e){return!!e.featureTarget&&!!e.featureTarget.properties&&e.featureTarget.properties.active===T.ACTIVE&&e.featureTarget.properties.meta===x.FEATURE}function D(e){return!!e.featureTarget&&!!e.featureTarget.properties&&e.featureTarget.properties.active===T.INACTIVE&&e.featureTarget.properties.meta===x.FEATURE}function j(e){return void 0===e.featureTarget}function N(e){return!!e.featureTarget&&!!e.featureTarget.properties&&e.featureTarget.properties.meta===x.FEATURE}function R(e){const t=e.featureTarget;return!!t&&!!t.properties&&t.properties.meta===x.VERTEX}function F(e){return!!e.originalEvent&&!0===e.originalEvent.shiftKey}function B(e){return"Escape"===e.key||27===e.keyCode}function V(e){return"Enter"===e.key||13===e.keyCode}function G(e){return"Backspace"===e.key||8===e.keyCode}function Y(e){return"Delete"===e.key||46===e.keyCode}function U(e){return"1"===e.key||49===e.keyCode}function H(e){return"2"===e.key||50===e.keyCode}function z(e){return"3"===e.key||51===e.keyCode}function W(e){const t=e.key||String.fromCharCode(e.keyCode);return t>="0"&&t<="9"}var K=Object.freeze({__proto__:null,isActiveFeature:k,isBackspaceKey:G,isDeleteKey:Y,isDigit1Key:U,isDigit2Key:H,isDigit3Key:z,isDigitKey:W,isEnterKey:V,isEscapeKey:B,isFeature:N,isInactiveFeature:D,isOfMetaType:I,isShiftDown:F,isShiftMousedown:L,isTrue:function(){return!0},isVertex:R,noTarget:j});function J(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var $,q,Z={},X={},Q=function(){if(q)return Z;q=1;var e=($||($=1,X.RADIUS=6378137,X.FLATTENING=1/298.257223563,X.POLAR_RADIUS=6356752.3142),X);function t(e){var t=0;if(e&&e.length>0){t+=Math.abs(r(e[0]));for(var n=1;n<e.length;n++)t-=Math.abs(r(e[n]))}return t}function r(t){var r,o,i,a,s,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(i=u-2,a=u-1,s=0):l===u-1?(i=u-1,a=0,s=1):(i=l,a=l+1,s=l+2),r=t[i],o=t[a],c+=(n(t[s][0])-n(r[0]))*Math.sin(n(o[1]));c=c*e.RADIUS*e.RADIUS/2}return c}function n(e){return e*Math.PI/180}return Z.geometry=function e(r){var n,o=0;switch(r.type){case"Polygon":return t(r.coordinates);case"MultiPolygon":for(n=0;n<r.coordinates.length;n++)o+=t(r.coordinates[n]);return o;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(n=0;n<r.geometries.length;n++)o+=e(r.geometries[n]);return o}},Z.ring=r,Z}(),ee=J(Q);const te={Point:0,LineString:1,MultiLineString:1,Polygon:2};function re(e,t){const r=te[e.geometry.type]-te[t.geometry.type];return 0===r&&e.geometry.type===S.POLYGON?e.area-t.area:r}function ne(e){return e.map(e=>(e.geometry.type===S.POLYGON&&(e.area=ee.geometry({type:S.FEATURE,property:{},geometry:e.geometry})),e)).sort(re).map(e=>(delete e.area,e))}function oe(e,t=0){return[[e.point.x-t,e.point.y-t],[e.point.x+t,e.point.y+t]]}function ie(e){if(this._items={},this._nums={},this._length=e?e.length:0,e)for(let t=0,r=e.length;t<r;t++)this.add(e[t]),void 0!==e[t]&&("string"==typeof e[t]?this._items[e[t]]=t:this._nums[e[t]]=t)}ie.prototype.add=function(e){return this.has(e)||(this._length++,"string"==typeof e?this._items[e]=this._length:this._nums[e]=this._length),this},ie.prototype.delete=function(e){return!1===this.has(e)||(this._length--,delete this._items[e],delete this._nums[e]),this},ie.prototype.has=function(e){return!("string"!=typeof e&&"number"!=typeof e||void 0===this._items[e]&&void 0===this._nums[e])},ie.prototype.values=function(){const e=[];return Object.keys(this._items).forEach(t=>{e.push({k:t,v:this._items[t]})}),Object.keys(this._nums).forEach(t=>{e.push({k:JSON.parse(t),v:this._nums[t]})}),e.sort((e,t)=>e.v-t.v).map(e=>e.k)},ie.prototype.clear=function(){return this._length=0,this._items={},this._nums={},this};const ae=[x.FEATURE,x.MIDPOINT,x.VERTEX];var se={click:function(e,t,r){return le(e,t,r,r.options.clickBuffer)},touch:function(e,t,r){return le(e,t,r,r.options.touchBuffer)}};function le(e,t,r,n){if(null===r.map)return[];const o=e?oe(e,n):t,i={};r.options.styles&&(i.layers=r.options.styles.map(e=>e.id).filter(e=>null!=r.map.getLayer(e)));const a=r.map.queryRenderedFeatures(o,i).filter(e=>-1!==ae.indexOf(e.properties.meta)),s=new ie,l=[];return a.forEach(e=>{const t=e.properties.id;s.has(t)||(s.add(t),l.push(e))}),ne(l)}function ce(e,t){const r=se.click(e,null,t),n={mouse:P.NONE};return r[0]&&(n.mouse=r[0].properties.active===T.ACTIVE?P.MOVE:P.POINTER,n.feature=r[0].properties.meta),-1!==t.events.currentModeName().indexOf("draw")&&(n.mouse=P.ADD),t.ui.queueMapClasses(n),t.ui.updateMapClasses(),r[0]}function ue(e,t){const r=e.x-t.x,n=e.y-t.y;return Math.sqrt(r*r+n*n)}function de(e,t,r={}){const n=null!=r.fineTolerance?r.fineTolerance:4,o=null!=r.grossTolerance?r.grossTolerance:12,i=null!=r.interval?r.interval:500;e.point=e.point||t.point,e.time=e.time||t.time;const a=ue(e.point,t.point);return a<n||a<o&&t.time-e.time<i}function pe(e,t,r={}){const n=null!=r.tolerance?r.tolerance:25,o=null!=r.interval?r.interval:250;return e.point=e.point||t.point,e.time=e.time||t.time,ue(e.point,t.point)<n&&t.time-e.time<o}const he=function(e,t){const r={drag:[],click:[],mousemove:[],mousedown:[],mouseup:[],mouseout:[],keydown:[],keyup:[],touchstart:[],touchmove:[],touchend:[],tap:[]},n={on(e,t,n){if(void 0===r[e])throw new Error(`Invalid event type: ${e}`);r[e].push({selector:t,fn:n})},render(e){t.store.featureChanged(e)}},o=function(e,o){const i=r[e];let a=i.length;for(;a--;){const e=i[a];if(e.selector(o)){e.fn.call(n,o)||t.store.render(),t.ui.updateMapClasses();break}}};return e.start.call(n),{render:e.render,stop(){e.stop&&e.stop()},trash(){e.trash&&(e.trash(),t.store.render())},combineFeatures(){e.combineFeatures&&e.combineFeatures()},uncombineFeatures(){e.uncombineFeatures&&e.uncombineFeatures()},drag(e){o("drag",e)},click(e){o("click",e)},mousemove(e){o("mousemove",e)},mousedown(e){o("mousedown",e)},mouseup(e){o("mouseup",e)},mouseout(e){o("mouseout",e)},keydown(e){o("keydown",e)},keyup(e){o("keyup",e)},touchstart(e){o("touchstart",e)},touchmove(e){o("touchmove",e)},touchend(e){o("touchend",e)},tap(e){o("tap",e)}}},fe=((e,t=21)=>(r=t)=>{let n="",o=0|r;for(;o--;)n+=e[Math.random()*e.length|0];return n})("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",32);function ge(){return fe()}const ye=function(e,t){this.ctx=e,this.properties=t.properties||{},this.coordinates=t.geometry.coordinates,this.id=t.id||ge(),this.type=t.geometry.type};ye.prototype.changed=function(){this.ctx.store.featureChanged(this.id)},ye.prototype.incomingCoords=function(e){this.setCoordinates(e)},ye.prototype.setCoordinates=function(e){this.coordinates=e,this.changed()},ye.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.coordinates))},ye.prototype.setProperty=function(e,t){this.properties[e]=t},ye.prototype.toGeoJSON=function(){return JSON.parse(JSON.stringify({id:this.id,type:S.FEATURE,properties:this.properties,geometry:{coordinates:this.getCoordinates(),type:this.type}}))},ye.prototype.internal=function(e){const t={id:this.id,meta:x.FEATURE,"meta:type":this.type,active:T.INACTIVE,mode:e};if(this.ctx.options.userProperties)for(const r in this.properties)t[`user_${r}`]=this.properties[r];return{type:S.FEATURE,properties:t,geometry:{coordinates:this.getCoordinates(),type:this.type}}};const ve=function(e,t){ye.call(this,e,t)};(ve.prototype=Object.create(ye.prototype)).isValid=function(){return"number"==typeof this.coordinates[0]&&"number"==typeof this.coordinates[1]},ve.prototype.updateCoordinate=function(e,t,r){this.coordinates=3===arguments.length?[t,r]:[e,t],this.changed()},ve.prototype.getCoordinate=function(){return this.getCoordinates()};const me=function(e,t){ye.call(this,e,t)};(me.prototype=Object.create(ye.prototype)).isValid=function(){return this.coordinates.length>1},me.prototype.addCoordinate=function(e,t,r){this.changed();const n=parseInt(e,10);this.coordinates.splice(n,0,[t,r])},me.prototype.getCoordinate=function(e){const t=parseInt(e,10);return JSON.parse(JSON.stringify(this.coordinates[t]))},me.prototype.removeCoordinate=function(e){this.changed(),this.coordinates.splice(parseInt(e,10),1)},me.prototype.updateCoordinate=function(e,t,r){const n=parseInt(e,10);this.coordinates[n]=[t,r],this.changed()};const be=function(e,t){ye.call(this,e,t),this.coordinates=this.coordinates.map(e=>e.slice(0,-1))};(be.prototype=Object.create(ye.prototype)).isValid=function(){return 0!==this.coordinates.length&&this.coordinates.every(e=>e.length>2)},be.prototype.incomingCoords=function(e){this.coordinates=e.map(e=>e.slice(0,-1)),this.changed()},be.prototype.setCoordinates=function(e){this.coordinates=e,this.changed()},be.prototype.addCoordinate=function(e,t,r){this.changed();const n=e.split(".").map(e=>parseInt(e,10));this.coordinates[n[0]].splice(n[1],0,[t,r])},be.prototype.removeCoordinate=function(e){this.changed();const t=e.split(".").map(e=>parseInt(e,10)),r=this.coordinates[t[0]];r&&(r.splice(t[1],1),r.length<3&&this.coordinates.splice(t[0],1))},be.prototype.getCoordinate=function(e){const t=e.split(".").map(e=>parseInt(e,10)),r=this.coordinates[t[0]];return JSON.parse(JSON.stringify(r[t[1]]))},be.prototype.getCoordinates=function(){return this.coordinates.map(e=>e.concat([e[0]]))},be.prototype.updateCoordinate=function(e,t,r){this.changed();const n=e.split("."),o=parseInt(n[0],10),i=parseInt(n[1],10);void 0===this.coordinates[o]&&(this.coordinates[o]=[]),this.coordinates[o][i]=[t,r]};const Ee={MultiPoint:ve,MultiLineString:me,MultiPolygon:be},Pe=(e,t,r,n,o)=>{const i=r.split("."),a=parseInt(i[0],10),s=i[1]?i.slice(1).join("."):null;return e[a][t](s,n,o)},Oe=function(e,t){if(ye.call(this,e,t),delete this.coordinates,this.model=Ee[t.geometry.type],void 0===this.model)throw new TypeError(`${t.geometry.type} is not a valid type`);this.features=this._coordinatesToFeatures(t.geometry.coordinates)};function Se(e){this.map=e.map,this.drawConfig=JSON.parse(JSON.stringify(e.options||{})),this._ctx=e}(Oe.prototype=Object.create(ye.prototype))._coordinatesToFeatures=function(e){const t=this.model.bind(this);return e.map(e=>new t(this.ctx,{id:ge(),type:S.FEATURE,properties:{},geometry:{coordinates:e,type:this.type.replace("Multi","")}}))},Oe.prototype.isValid=function(){return this.features.every(e=>e.isValid())},Oe.prototype.setCoordinates=function(e){this.features=this._coordinatesToFeatures(e),this.changed()},Oe.prototype.getCoordinate=function(e){return Pe(this.features,"getCoordinate",e)},Oe.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.features.map(e=>e.type===S.POLYGON?e.getCoordinates():e.coordinates)))},Oe.prototype.updateCoordinate=function(e,t,r){Pe(this.features,"updateCoordinate",e,t,r),this.changed()},Oe.prototype.addCoordinate=function(e,t,r){Pe(this.features,"addCoordinate",e,t,r),this.changed()},Oe.prototype.removeCoordinate=function(e){Pe(this.features,"removeCoordinate",e),this.changed()},Oe.prototype.getFeatures=function(){return this.features},Se.prototype.setSelected=function(e){return this._ctx.store.setSelected(e)},Se.prototype.setSelectedCoordinates=function(e){this._ctx.store.setSelectedCoordinates(e),e.reduce((e,t)=>(void 0===e[t.feature_id]&&(e[t.feature_id]=!0,this._ctx.store.get(t.feature_id).changed()),e),{})},Se.prototype.getSelected=function(){return this._ctx.store.getSelected()},Se.prototype.getSelectedIds=function(){return this._ctx.store.getSelectedIds()},Se.prototype.isSelected=function(e){return this._ctx.store.isSelected(e)},Se.prototype.getFeature=function(e){return this._ctx.store.get(e)},Se.prototype.select=function(e){return this._ctx.store.select(e)},Se.prototype.deselect=function(e){return this._ctx.store.deselect(e)},Se.prototype.deleteFeature=function(e,t={}){return this._ctx.store.delete(e,t)},Se.prototype.addFeature=function(e,t={}){return this._ctx.store.add(e,t)},Se.prototype.clearSelectedFeatures=function(){return this._ctx.store.clearSelected()},Se.prototype.clearSelectedCoordinates=function(){return this._ctx.store.clearSelectedCoordinates()},Se.prototype.setActionableState=function(e={}){const t={trash:e.trash||!1,combineFeatures:e.combineFeatures||!1,uncombineFeatures:e.uncombineFeatures||!1};return this._ctx.events.actionable(t)},Se.prototype.changeMode=function(e,t={},r={}){return this._ctx.events.changeMode(e,t,r)},Se.prototype.fire=function(e,t){return this._ctx.events.fire(e,t)},Se.prototype.updateUIClasses=function(e){return this._ctx.ui.queueMapClasses(e)},Se.prototype.activateUIButton=function(e){return this._ctx.ui.setActiveButton(e)},Se.prototype.featuresAt=function(e,t,r="click"){if("click"!==r&&"touch"!==r)throw new Error("invalid buffer type");return se[r](e,t,this._ctx)},Se.prototype.newFeature=function(e){const t=e.geometry.type;return t===S.POINT?new ve(this._ctx,e):t===S.LINE_STRING?new me(this._ctx,e):t===S.POLYGON?new be(this._ctx,e):new Oe(this._ctx,e)},Se.prototype.isInstanceOf=function(e,t){if(e===S.POINT)return t instanceof ve;if(e===S.LINE_STRING)return t instanceof me;if(e===S.POLYGON)return t instanceof be;if("MultiFeature"===e)return t instanceof Oe;throw new Error(`Unknown feature class: ${e}`)},Se.prototype.doRender=function(e){return this._ctx.store.featureChanged(e)},Se.prototype.onSetup=function(){},Se.prototype.onDrag=function(){},Se.prototype.onClick=function(){},Se.prototype.onMouseMove=function(){},Se.prototype.onMouseDown=function(){},Se.prototype.onMouseUp=function(){},Se.prototype.onMouseOut=function(){},Se.prototype.onKeyUp=function(){},Se.prototype.onKeyDown=function(){},Se.prototype.onTouchStart=function(){},Se.prototype.onTouchMove=function(){},Se.prototype.onTouchEnd=function(){},Se.prototype.onTap=function(){},Se.prototype.onStop=function(){},Se.prototype.onTrash=function(){},Se.prototype.onCombineFeature=function(){},Se.prototype.onUncombineFeature=function(){},Se.prototype.toDisplayFeatures=function(){throw new Error("You must overwrite toDisplayFeatures")};const we={drag:"onDrag",click:"onClick",mousemove:"onMouseMove",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseout:"onMouseOut",keyup:"onKeyUp",keydown:"onKeyDown",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",tap:"onTap"},_e=Object.keys(we);function Me(e){return[].concat(e).filter(e=>void 0!==e)}function xe(){const e=this;if(!e.ctx.map||void 0===e.ctx.map.getSource(E.HOT))return s();const t=e.ctx.events.currentModeName();e.ctx.ui.queueMapClasses({mode:t});let r=[],n=[];e.isDirty?n=e.getAllIds():(r=e.getChangedIds().filter(t=>void 0!==e.get(t)),n=e.sources.hot.filter(t=>t.properties.id&&-1===r.indexOf(t.properties.id)&&void 0!==e.get(t.properties.id)).map(e=>e.properties.id)),e.sources.hot=[];const o=e.sources.cold.length;e.sources.cold=e.isDirty?[]:e.sources.cold.filter(e=>{const t=e.properties.id||e.properties.parent;return-1===r.indexOf(t)});const i=o!==e.sources.cold.length||n.length>0;function a(r,n){const o=e.get(r).internal(t);e.ctx.events.currentModeRender(o,r=>{r.properties.mode=t,e.sources[n].push(r)})}function s(){e.isDirty=!1,e.clearChangedIds()}r.forEach(e=>a(e,"hot")),n.forEach(e=>a(e,"cold")),i&&e.ctx.map.getSource(E.COLD).setData({type:S.FEATURE_COLLECTION,features:e.sources.cold}),e.ctx.map.getSource(E.HOT).setData({type:S.FEATURE_COLLECTION,features:e.sources.hot}),s()}function Te(e){let t;this._features={},this._featureIds=new ie,this._selectedFeatureIds=new ie,this._selectedCoordinates=[],this._changedFeatureIds=new ie,this._emitSelectionChange=!1,this._mapInitialConfig={},this.ctx=e,this.sources={hot:[],cold:[]},this.render=()=>{t||(t=requestAnimationFrame(()=>{t=null,xe.call(this),this._emitSelectionChange&&(this.ctx.events.fire(_.SELECTION_CHANGE,{features:this.getSelected().map(e=>e.toGeoJSON()),points:this.getSelectedCoordinates().map(e=>({type:S.FEATURE,properties:{},geometry:{type:S.POINT,coordinates:e.coordinates}}))}),this._emitSelectionChange=!1),this.ctx.events.fire(_.RENDER,{})}))},this.isDirty=!1}function Ae(e,t={}){const r=e._selectedCoordinates.filter(t=>e._selectedFeatureIds.has(t.feature_id));e._selectedCoordinates.length===r.length||t.silent||(e._emitSelectionChange=!0),e._selectedCoordinates=r}Te.prototype.createRenderBatch=function(){const e=this.render;let t=0;return this.render=function(){t++},()=>{this.render=e,t>0&&this.render()}},Te.prototype.setDirty=function(){return this.isDirty=!0,this},Te.prototype.featureCreated=function(e,t={}){if(this._changedFeatureIds.add(e),!0!==(null!=t.silent?t.silent:this.ctx.options.suppressAPIEvents)){const t=this.get(e);this.ctx.events.fire(_.CREATE,{features:[t.toGeoJSON()]})}return this},Te.prototype.featureChanged=function(e,t={}){return this._changedFeatureIds.add(e),!0!==(null!=t.silent?t.silent:this.ctx.options.suppressAPIEvents)&&this.ctx.events.fire(_.UPDATE,{action:t.action?t.action:M.CHANGE_COORDINATES,features:[this.get(e).toGeoJSON()]}),this},Te.prototype.getChangedIds=function(){return this._changedFeatureIds.values()},Te.prototype.clearChangedIds=function(){return this._changedFeatureIds.clear(),this},Te.prototype.getAllIds=function(){return this._featureIds.values()},Te.prototype.add=function(e,t={}){return this._features[e.id]=e,this._featureIds.add(e.id),this.featureCreated(e.id,{silent:t.silent}),this},Te.prototype.delete=function(e,t={}){const r=[];return Me(e).forEach(e=>{this._featureIds.has(e)&&(this._featureIds.delete(e),this._selectedFeatureIds.delete(e),t.silent||-1===r.indexOf(this._features[e])&&r.push(this._features[e].toGeoJSON()),delete this._features[e],this.isDirty=!0)}),r.length&&this.ctx.events.fire(_.DELETE,{features:r}),Ae(this,t),this},Te.prototype.get=function(e){return this._features[e]},Te.prototype.getAll=function(){return Object.keys(this._features).map(e=>this._features[e])},Te.prototype.select=function(e,t={}){return Me(e).forEach(e=>{this._selectedFeatureIds.has(e)||(this._selectedFeatureIds.add(e),this._changedFeatureIds.add(e),t.silent||(this._emitSelectionChange=!0))}),this},Te.prototype.deselect=function(e,t={}){return Me(e).forEach(e=>{this._selectedFeatureIds.has(e)&&(this._selectedFeatureIds.delete(e),this._changedFeatureIds.add(e),t.silent||(this._emitSelectionChange=!0))}),Ae(this,t),this},Te.prototype.clearSelected=function(e={}){return this.deselect(this._selectedFeatureIds.values(),{silent:e.silent}),this},Te.prototype.setSelected=function(e,t={}){return e=Me(e),this.deselect(this._selectedFeatureIds.values().filter(t=>-1===e.indexOf(t)),{silent:t.silent}),this.select(e.filter(e=>!this._selectedFeatureIds.has(e)),{silent:t.silent}),this},Te.prototype.setSelectedCoordinates=function(e){return this._selectedCoordinates=e,this._emitSelectionChange=!0,this},Te.prototype.clearSelectedCoordinates=function(){return this._selectedCoordinates=[],this._emitSelectionChange=!0,this},Te.prototype.getSelectedIds=function(){return this._selectedFeatureIds.values()},Te.prototype.getSelected=function(){return this.getSelectedIds().map(e=>this.get(e))},Te.prototype.getSelectedCoordinates=function(){return this._selectedCoordinates.map(e=>({coordinates:this.get(e.feature_id).getCoordinate(e.coord_path)}))},Te.prototype.isSelected=function(e){return this._selectedFeatureIds.has(e)},Te.prototype.setFeatureProperty=function(e,t,r,n={}){this.get(e).setProperty(t,r),this.featureChanged(e,{silent:n.silent,action:M.CHANGE_PROPERTIES})},Te.prototype.storeMapConfig=function(){A.forEach(e=>{this.ctx.map[e]&&(this._mapInitialConfig[e]=this.ctx.map[e].isEnabled())})},Te.prototype.restoreMapConfig=function(){Object.keys(this._mapInitialConfig).forEach(e=>{this._mapInitialConfig[e]?this.ctx.map[e].enable():this.ctx.map[e].disable()})},Te.prototype.getInitialConfigValue=function(e){return void 0===this._mapInitialConfig[e]||this._mapInitialConfig[e]};const Ce=["mode","feature","mouse"];const Ie="#3bb2d0",Le="#fbb03b",ke="#fff";var De=[{id:"gl-draw-polygon-fill",type:"fill",filter:["all",["==","$type","Polygon"]],paint:{"fill-color":["case",["==",["get","active"],"true"],Le,Ie],"fill-opacity":.1}},{id:"gl-draw-lines",type:"line",filter:["any",["==","$type","LineString"],["==","$type","Polygon"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["case",["==",["get","active"],"true"],Le,Ie],"line-dasharray":["case",["==",["get","active"],"true"],[.2,2],[2,0]],"line-width":2}},{id:"gl-draw-point-outer",type:"circle",filter:["all",["==","$type","Point"],["==","meta","feature"]],paint:{"circle-radius":["case",["==",["get","active"],"true"],7,5],"circle-color":ke}},{id:"gl-draw-point-inner",type:"circle",filter:["all",["==","$type","Point"],["==","meta","feature"]],paint:{"circle-radius":["case",["==",["get","active"],"true"],5,3],"circle-color":["case",["==",["get","active"],"true"],Le,Ie]}},{id:"gl-draw-vertex-outer",type:"circle",filter:["all",["==","$type","Point"],["==","meta","vertex"],["!=","mode","simple_select"]],paint:{"circle-radius":["case",["==",["get","active"],"true"],7,5],"circle-color":ke}},{id:"gl-draw-vertex-inner",type:"circle",filter:["all",["==","$type","Point"],["==","meta","vertex"],["!=","mode","simple_select"]],paint:{"circle-radius":["case",["==",["get","active"],"true"],5,3],"circle-color":Le}},{id:"gl-draw-midpoint",type:"circle",filter:["all",["==","meta","midpoint"]],paint:{"circle-radius":3,"circle-color":Le}}];function je(e,t){this.x=e,this.y=t}function Ne(e,t){const r=t.getBoundingClientRect();return new je(e.clientX-r.left-(t.clientLeft||0),e.clientY-r.top-(t.clientTop||0))}function Re(e,t,r,n){return{type:S.FEATURE,properties:{meta:x.VERTEX,parent:e,coord_path:r,active:n?T.ACTIVE:T.INACTIVE},geometry:{type:S.POINT,coordinates:t}}}je.prototype={clone(){return new je(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){const t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){const t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){const e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){const t=Math.cos(e),r=Math.sin(e),n=t*this.x-r*this.y,o=r*this.x+t*this.y;return this.x=n,this.y=o,this},_rotateAround(e,t){const r=Math.cos(e),n=Math.sin(e),o=t.x+r*(this.x-t.x)-n*(this.y-t.y),i=t.y+n*(this.x-t.x)+r*(this.y-t.y);return this.x=o,this.y=i,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:je},je.convert=function(e){if(e instanceof je)return e;if(Array.isArray(e))return new je(+e[0],+e[1]);if(void 0!==e.x&&void 0!==e.y)return new je(+e.x,+e.y);throw new Error("Expected [x, y] or {x, y} point format")};var Fe=6371008.8,Be={centimeters:637100880,centimetres:637100880,degrees:360/(2*Math.PI),feet:20902260.511392,inches:39.37*Fe,kilometers:6371.0088,kilometres:6371.0088,meters:Fe,metres:Fe,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:Fe/1852,radians:1,yards:6967335.223679999};function Ve(e,t,r={}){const n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function Ge(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!qe(e[0])||!qe(e[1]))throw new Error("coordinates must contain numbers");return Ve({type:"Point",coordinates:e},t,r)}function Ye(e,t,r={}){for(const n of e){if(n.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(n[n.length-1].length!==n[0].length)throw new Error("First and last Position are not equivalent.");for(let e=0;e<n[n.length-1].length;e++)if(n[n.length-1][e]!==n[0][e])throw new Error("First and last Position are not equivalent.")}return Ve({type:"Polygon",coordinates:e},t,r)}function Ue(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return Ve({type:"LineString",coordinates:e},t,r)}function He(e,t={}){const r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function ze(e,t,r={}){return Ve({type:"MultiLineString",coordinates:e},t,r)}function We(e,t="kilometers"){const r=Be[t];if(!r)throw new Error(t+" units is invalid");return e*r}function Ke(e,t="kilometers"){const r=Be[t];if(!r)throw new Error(t+" units is invalid");return e/r}function Je(e){return e%(2*Math.PI)*180/Math.PI}function $e(e){return e%360*Math.PI/180}function qe(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}function Ze(e,t,r){if(null!==e)for(var n,o,i,a,s,l,c,u,d=0,p=0,h=e.type,f="FeatureCollection"===h,g="Feature"===h,y=f?e.features.length:1,v=0;v<y;v++){s=(u=!!(c=f?e.features[v].geometry:g?e.geometry:e)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var m=0;m<s;m++){var b=0,E=0;if(null!==(a=u?c.geometries[m]:c)){l=a.coordinates;var P=a.type;switch(d=0,P){case null:break;case"Point":if(!1===t(l,p,v,b,E))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<l.length;n++){if(!1===t(l[n],p,v,b,E))return!1;p++,"MultiPoint"===P&&b++}"LineString"===P&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<l.length;n++){for(o=0;o<l[n].length-d;o++){if(!1===t(l[n][o],p,v,b,E))return!1;p++}"MultiLineString"===P&&b++,"Polygon"===P&&E++}"Polygon"===P&&b++;break;case"MultiPolygon":for(n=0;n<l.length;n++){for(E=0,o=0;o<l[n].length;o++){for(i=0;i<l[n][o].length-d;i++){if(!1===t(l[n][o][i],p,v,b,E))return!1;p++}E++}b++}break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===Ze(a.geometries[n],t))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function Xe(e,t){if("Feature"===e.type)t(e,0);else if("FeatureCollection"===e.type)for(var r=0;r<e.features.length&&!1!==t(e.features[r],r);r++);}function Qe(e,t){var r,n,o,i,a,s,l,c,u,d,p=0,h="FeatureCollection"===e.type,f="Feature"===e.type,g=h?e.features.length:1;for(r=0;r<g;r++){for(s=h?e.features[r].geometry:f?e.geometry:e,c=h?e.features[r].properties:f?e.properties:{},u=h?e.features[r].bbox:f?e.bbox:void 0,d=h?e.features[r].id:f?e.id:void 0,a=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,o=0;o<a;o++)if(null!==(i=l?s.geometries[o]:s))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,p,c,u,d))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],p,c,u,d))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,p,c,u,d))return!1;p++}}function et(e,t){Qe(e,function(e,r,n,o,i){var a,s=null===e?null:e.type;switch(s){case null:case"Point":case"LineString":case"Polygon":return!1!==t(Ve(e,n,{bbox:o,id:i}),r,0)&&void 0}switch(s){case"MultiPoint":a="Point";break;case"MultiLineString":a="LineString";break;case"MultiPolygon":a="Polygon"}for(var l=0;l<e.coordinates.length;l++){var c=e.coordinates[l];if(!1===t(Ve({type:a,coordinates:c},n),r,l))return!1}})}function tt(e){const t={type:"Feature"};return Object.keys(e).forEach(r=>{switch(r){case"type":case"properties":case"geometry":return;default:t[r]=e[r]}}),t.properties=rt(e.properties),null==e.geometry?t.geometry=null:t.geometry=nt(e.geometry),t}function rt(e){const t={};return e?(Object.keys(e).forEach(r=>{const n=e[r];"object"==typeof n?null===n?t[r]=null:Array.isArray(n)?t[r]=n.map(e=>e):t[r]=rt(n):t[r]=n}),t):t}function nt(e){const t={type:e.type};return e.bbox&&(t.bbox=e.bbox),"GeometryCollection"===e.type?(t.geometries=e.geometries.map(e=>nt(e)),t):(t.coordinates=ot(e.coordinates),t)}function ot(e){const t=e;return"object"!=typeof t[0]?t.slice():t.map(e=>ot(e))}function it(e,t={}){return at(e,"mercator",t)}function at(e,t,r={}){var n=(r=r||{}).mutate;if(!e)throw new Error("geojson is required");return Array.isArray(e)&&qe(e[0])?e="mercator"===t?st(e):lt(e):(!0!==n&&(e=function(e){if(!e)throw new Error("geojson is required");switch(e.type){case"Feature":return tt(e);case"FeatureCollection":return function(e){const t={type:"FeatureCollection"};return Object.keys(e).forEach(r=>{switch(r){case"type":case"features":return;default:t[r]=e[r]}}),t.features=e.features.map(e=>tt(e)),t}(e);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return nt(e);default:throw new Error("unknown GeoJSON type")}}(e)),Ze(e,function(e){var r="mercator"===t?st(e):lt(e);e[0]=r[0],e[1]=r[1]})),e}function st(e){var t,r=Math.PI/180,n=6378137,o=20037508.342789244,i=[n*(Math.abs(e[0])<=180?e[0]:e[0]-360*((t=e[0])<0?-1:t>0?1:0))*r,n*Math.log(Math.tan(.25*Math.PI+.5*e[1]*r))];return i[0]>o&&(i[0]=o),i[0]<-o&&(i[0]=-o),i[1]>o&&(i[1]=o),i[1]<-o&&(i[1]=-o),i}function lt(e){var t=180/Math.PI,r=6378137;return[e[0]*t/r,(.5*Math.PI-2*Math.atan(Math.exp(-e[1]/r)))*t]}function ct(e,t,r){const n=t.geometry.coordinates,o=r.geometry.coordinates;if(n[1]>85||n[1]<-85||o[1]>85||o[1]<-85)return null;const i=it(n),a=it(o),s=e=>Number(e.toFixed(8)),l=(e,t)=>(e+t)/2,c=function(e,t={}){return at(e,"wgs84",t)}([l(i[0],a[0]),l(i[1],a[1])]),u=[s(c[0]),s(c[1])];return{type:S.FEATURE,properties:{meta:x.MIDPOINT,parent:e,lng:u[0],lat:u[1],coord_path:r.properties.coord_path},geometry:{type:S.POINT,coordinates:u}}}function ut(e,t={},r=null){const{type:n,coordinates:o}=e.geometry,i=e.properties&&e.properties.id;let a=[];function s(e,r){let n="",o=null;e.forEach((e,s)=>{const c=null!=r?`${r}.${s}`:String(s),u=Re(i,e,c,l(c));if(t.midpoints&&o){const e=ct(i,o,u);e&&a.push(e)}o=u;const d=JSON.stringify(e);n!==d&&a.push(u),0===s&&(n=d)})}function l(e){return!!t.selectedPaths&&-1!==t.selectedPaths.indexOf(e)}return n===S.POINT?a.push(Re(i,o,r,l(r))):n===S.POLYGON?o.forEach((e,t)=>{s(e,null!==r?`${r}.${t}`:String(t))}):n===S.LINE_STRING?s(o,r):0===n.indexOf(S.MULTI_PREFIX)&&function(){const r=n.replace(S.MULTI_PREFIX,"");o.forEach((n,o)=>{const i={type:S.FEATURE,properties:e.properties,geometry:{type:r,coordinates:n}};a=a.concat(ut(i,t,o))})}(),a}var dt={enable(e){setTimeout(()=>{e.map&&e.map.doubleClickZoom&&e._ctx&&e._ctx.store&&e._ctx.store.getInitialConfigValue&&e._ctx.store.getInitialConfigValue("doubleClickZoom")&&e.map.doubleClickZoom.enable()},0)},disable(e){setTimeout(()=>{e.map&&e.map.doubleClickZoom&&e.map.doubleClickZoom.disable()},0)}};const{LAT_MIN:pt,LAT_MAX:ht,LAT_RENDERED_MIN:ft,LAT_RENDERED_MAX:gt,LNG_MIN:yt,LNG_MAX:vt}=C;function mt(e,t){let r=pt,n=ht,o=pt,i=ht,a=vt,s=yt;e.forEach(e=>{const t=function(e){const t={Point:0,LineString:1,Polygon:2,MultiPoint:1,MultiLineString:2,MultiPolygon:3}[e.geometry.type],r=[e.geometry.coordinates].flat(t),n=r.map(e=>e[0]),o=r.map(e=>e[1]),i=e=>Math.min.apply(null,e),a=e=>Math.max.apply(null,e);return[i(n),i(o),a(n),a(o)]}(e),l=t[1],c=t[3],u=t[0],d=t[2];l>r&&(r=l),c<n&&(n=c),c>o&&(o=c),l<i&&(i=l),u<a&&(a=u),d>s&&(s=d)});const l=t;return r+l.lat>gt&&(l.lat=gt-r),o+l.lat>ht&&(l.lat=ht-o),n+l.lat<ft&&(l.lat=ft-n),i+l.lat<pt&&(l.lat=pt-i),a+l.lng<=yt&&(l.lng+=360*Math.ceil(Math.abs(l.lng)/360)),s+l.lng>=vt&&(l.lng-=360*Math.ceil(Math.abs(l.lng)/360)),l}function bt(e,t){const r=mt(e.map(e=>e.toGeoJSON()),t);e.forEach(e=>{const t=e.getCoordinates(),n=e=>{const t={lng:e[0]+r.lng,lat:e[1]+r.lat};return[t.lng,t.lat]},o=e=>e.map(e=>n(e));let i;e.type===S.POINT?i=n(t):e.type===S.LINE_STRING||e.type===S.MULTI_POINT?i=t.map(n):e.type===S.POLYGON||e.type===S.MULTI_LINE_STRING?i=t.map(o):e.type===S.MULTI_POLYGON&&(i=t.map(e=>e.map(e=>o(e)))),e.incomingCoords(i)})}const Et={onSetup:function(e){const t={dragMoveLocation:null,boxSelectStartLocation:null,boxSelectElement:void 0,boxSelecting:!1,canBoxSelect:!1,dragMoving:!1,canDragMove:!1,initialDragPanState:this.map.dragPan.isEnabled(),initiallySelectedFeatureIds:e.featureIds||[]};return this.setSelected(t.initiallySelectedFeatureIds.filter(e=>void 0!==this.getFeature(e))),this.fireActionable(),this.setActionableState({combineFeatures:!0,uncombineFeatures:!0,trash:!0}),t},fireUpdate:function(){this.fire(_.UPDATE,{action:M.MOVE,features:this.getSelected().map(e=>e.toGeoJSON())})},fireActionable:function(){const e=this.getSelected(),t=e.filter(e=>this.isInstanceOf("MultiFeature",e));let r=!1;if(e.length>1){r=!0;const t=e[0].type.replace("Multi","");e.forEach(e=>{e.type.replace("Multi","")!==t&&(r=!1)})}const n=t.length>0,o=e.length>0;this.setActionableState({combineFeatures:r,uncombineFeatures:n,trash:o})},getUniqueIds:function(e){return e.length?e.map(e=>e.properties.id).filter(e=>void 0!==e).reduce((e,t)=>(e.add(t),e),new ie).values():[]},stopExtendedInteractions:function(e){e.boxSelectElement&&(e.boxSelectElement.parentNode&&e.boxSelectElement.parentNode.removeChild(e.boxSelectElement),e.boxSelectElement=null),(e.canDragMove||e.canBoxSelect)&&!0===e.initialDragPanState&&this.map.dragPan.enable(),e.boxSelecting=!1,e.canBoxSelect=!1,e.dragMoving=!1,e.canDragMove=!1},onStop:function(){dt.enable(this)},onMouseMove:function(e,t){return N(t)&&e.dragMoving&&this.fireUpdate(),this.stopExtendedInteractions(e),!0},onMouseOut:function(e){return!e.dragMoving||this.fireUpdate()}};Et.onTap=Et.onClick=function(e,t){return j(t)?this.clickAnywhere(e,t):I(x.VERTEX)(t)?this.clickOnVertex(e,t):N(t)?this.clickOnFeature(e,t):void 0},Et.clickAnywhere=function(e){const t=this.getSelectedIds();t.length&&(this.clearSelectedFeatures(),t.forEach(e=>this.doRender(e))),dt.enable(this),this.stopExtendedInteractions(e)},Et.clickOnVertex=function(e,t){this.changeMode(w.DIRECT_SELECT,{featureId:t.featureTarget.properties.parent,coordPath:t.featureTarget.properties.coord_path,startPos:t.lngLat}),this.updateUIClasses({mouse:P.MOVE})},Et.startOnActiveFeature=function(e,t){this.stopExtendedInteractions(e),this.map.dragPan.disable(),this.doRender(t.featureTarget.properties.id),e.canDragMove=!0,e.dragMoveLocation=t.lngLat},Et.clickOnFeature=function(e,t){dt.disable(this),this.stopExtendedInteractions(e);const r=F(t),n=this.getSelectedIds(),o=t.featureTarget.properties.id,i=this.isSelected(o);if(!r&&i&&this.getFeature(o).type!==S.POINT)return this.changeMode(w.DIRECT_SELECT,{featureId:o});i&&r?(this.deselect(o),this.updateUIClasses({mouse:P.POINTER}),1===n.length&&dt.enable(this)):!i&&r?(this.select(o),this.updateUIClasses({mouse:P.MOVE})):i||r||(n.forEach(e=>this.doRender(e)),this.setSelected(o),this.updateUIClasses({mouse:P.MOVE})),this.doRender(o)},Et.onMouseDown=function(e,t){return e.initialDragPanState=this.map.dragPan.isEnabled(),k(t)?this.startOnActiveFeature(e,t):this.drawConfig.boxSelect&&L(t)?this.startBoxSelect(e,t):void 0},Et.startBoxSelect=function(e,t){this.stopExtendedInteractions(e),this.map.dragPan.disable(),e.boxSelectStartLocation=Ne(t.originalEvent,this.map.getContainer()),e.canBoxSelect=!0},Et.onTouchStart=function(e,t){if(k(t))return this.startOnActiveFeature(e,t)},Et.onDrag=function(e,t){return e.canDragMove?this.dragMove(e,t):this.drawConfig.boxSelect&&e.canBoxSelect?this.whileBoxSelect(e,t):void 0},Et.whileBoxSelect=function(e,t){e.boxSelecting=!0,this.updateUIClasses({mouse:P.ADD}),e.boxSelectElement||(e.boxSelectElement=document.createElement("div"),e.boxSelectElement.classList.add(b.BOX_SELECT),this.map.getContainer().appendChild(e.boxSelectElement));const r=Ne(t.originalEvent,this.map.getContainer()),n=Math.min(e.boxSelectStartLocation.x,r.x),o=Math.max(e.boxSelectStartLocation.x,r.x),i=Math.min(e.boxSelectStartLocation.y,r.y),a=Math.max(e.boxSelectStartLocation.y,r.y),s=`translate(${n}px, ${i}px)`;e.boxSelectElement.style.transform=s,e.boxSelectElement.style.WebkitTransform=s,e.boxSelectElement.style.width=o-n+"px",e.boxSelectElement.style.height=a-i+"px"},Et.dragMove=function(e,t){e.dragMoving=!0,t.originalEvent.stopPropagation();const r={lng:t.lngLat.lng-e.dragMoveLocation.lng,lat:t.lngLat.lat-e.dragMoveLocation.lat};bt(this.getSelected(),r),e.dragMoveLocation=t.lngLat},Et.onTouchEnd=Et.onMouseUp=function(e,t){if(e.dragMoving)this.fireUpdate();else if(e.boxSelecting){const r=[e.boxSelectStartLocation,Ne(t.originalEvent,this.map.getContainer())],n=this.featuresAt(null,r,"click"),o=this.getUniqueIds(n).filter(e=>!this.isSelected(e));o.length&&(this.select(o),o.forEach(e=>this.doRender(e)),this.updateUIClasses({mouse:P.MOVE}))}this.stopExtendedInteractions(e)},Et.toDisplayFeatures=function(e,t,r){t.properties.active=this.isSelected(t.properties.id)?T.ACTIVE:T.INACTIVE,r(t),this.fireActionable(),t.properties.active===T.ACTIVE&&t.geometry.type!==S.POINT&&ut(t).forEach(r)},Et.onTrash=function(){this.deleteFeature(this.getSelectedIds()),this.fireActionable()},Et.onCombineFeatures=function(){const e=this.getSelected();if(0===e.length||e.length<2)return;const t=[],r=[],n=e[0].type.replace("Multi","");for(let o=0;o<e.length;o++){const i=e[o];if(i.type.replace("Multi","")!==n)return;i.type.includes("Multi")?i.getCoordinates().forEach(e=>{t.push(e)}):t.push(i.getCoordinates()),r.push(i.toGeoJSON())}if(r.length>1){const e=this.newFeature({type:S.FEATURE,properties:r[0].properties,geometry:{type:`Multi${n}`,coordinates:t}});this.addFeature(e),this.deleteFeature(this.getSelectedIds(),{silent:!0}),this.setSelected([e.id]),this.fire(_.COMBINE_FEATURES,{createdFeatures:[e.toGeoJSON()],deletedFeatures:r})}this.fireActionable()},Et.onUncombineFeatures=function(){const e=this.getSelected();if(0===e.length)return;const t=[],r=[];for(let n=0;n<e.length;n++){const o=e[n];this.isInstanceOf("MultiFeature",o)&&(o.getFeatures().forEach(e=>{this.addFeature(e),e.properties=o.properties,t.push(e.toGeoJSON()),this.select([e.id])}),this.deleteFeature(o.id,{silent:!0}),r.push(o.toGeoJSON()))}t.length>1&&this.fire(_.UNCOMBINE_FEATURES,{createdFeatures:t,deletedFeatures:r}),this.fireActionable()};const Pt=I(x.VERTEX),Ot=I(x.MIDPOINT),St={fireUpdate:function(){this.fire(_.UPDATE,{action:M.CHANGE_COORDINATES,features:this.getSelected().map(e=>e.toGeoJSON())})},fireActionable:function(e){this.setActionableState({combineFeatures:!1,uncombineFeatures:!1,trash:e.selectedCoordPaths.length>0})},startDragging:function(e,t){null==e.initialDragPanState&&(e.initialDragPanState=this.map.dragPan.isEnabled()),this.map.dragPan.disable(),e.canDragMove=!0,e.dragMoveLocation=t.lngLat},stopDragging:function(e){e.canDragMove&&!0===e.initialDragPanState&&this.map.dragPan.enable(),e.initialDragPanState=null,e.dragMoving=!1,e.canDragMove=!1,e.dragMoveLocation=null},onVertex:function(e,t){this.startDragging(e,t);const r=t.featureTarget.properties,n=e.selectedCoordPaths.indexOf(r.coord_path);F(t)||-1!==n?F(t)&&-1===n&&e.selectedCoordPaths.push(r.coord_path):e.selectedCoordPaths=[r.coord_path];const o=this.pathsToCoordinates(e.featureId,e.selectedCoordPaths);this.setSelectedCoordinates(o)},onMidpoint:function(e,t){this.startDragging(e,t);const r=t.featureTarget.properties;e.feature.addCoordinate(r.coord_path,r.lng,r.lat),this.fireUpdate(),e.selectedCoordPaths=[r.coord_path]},pathsToCoordinates:function(e,t){return t.map(t=>({feature_id:e,coord_path:t}))},onFeature:function(e,t){0===e.selectedCoordPaths.length?this.startDragging(e,t):this.stopDragging(e)},dragFeature:function(e,t,r){bt(this.getSelected(),r),e.dragMoveLocation=t.lngLat},dragVertex:function(e,t,r){const n=e.selectedCoordPaths.map(t=>e.feature.getCoordinate(t)),o=mt(n.map(e=>({type:S.FEATURE,properties:{},geometry:{type:S.POINT,coordinates:e}})),r);for(let i=0;i<n.length;i++){const t=n[i];e.feature.updateCoordinate(e.selectedCoordPaths[i],t[0]+o.lng,t[1]+o.lat)}},clickNoTarget:function(){this.changeMode(w.SIMPLE_SELECT)},clickInactive:function(){this.changeMode(w.SIMPLE_SELECT)},clickActiveFeature:function(e){e.selectedCoordPaths=[],this.clearSelectedCoordinates(),e.feature.changed()},onSetup:function(e){const t=e.featureId,r=this.getFeature(t);if(!r)throw new Error("You must provide a featureId to enter direct_select mode");if(r.type===S.POINT)throw new TypeError("direct_select mode doesn't handle point features");const n={featureId:t,feature:r,dragMoveLocation:e.startPos||null,dragMoving:!1,canDragMove:!1,selectedCoordPaths:e.coordPath?[e.coordPath]:[]};return this.setSelectedCoordinates(this.pathsToCoordinates(t,n.selectedCoordPaths)),this.setSelected(t),dt.disable(this),this.setActionableState({trash:!0}),n},onStop:function(){dt.enable(this),this.clearSelectedCoordinates()},toDisplayFeatures:function(e,t,r){e.featureId===t.properties.id?(t.properties.active=T.ACTIVE,r(t),ut(t,{map:this.map,midpoints:!0,selectedPaths:e.selectedCoordPaths}).forEach(r)):(t.properties.active=T.INACTIVE,r(t)),this.fireActionable(e)},onTrash:function(e){e.selectedCoordPaths.sort((e,t)=>t.localeCompare(e,"en",{numeric:!0})).forEach(t=>e.feature.removeCoordinate(t)),this.fireUpdate(),e.selectedCoordPaths=[],this.clearSelectedCoordinates(),this.fireActionable(e),!1===e.feature.isValid()&&(this.deleteFeature([e.featureId]),this.changeMode(w.SIMPLE_SELECT,{}))},onMouseMove:function(e,t){const r=k(t),n=Pt(t),o=Ot(t),i=0===e.selectedCoordPaths.length;return r&&i||n&&!i?this.updateUIClasses({mouse:P.MOVE}):this.updateUIClasses({mouse:P.NONE}),(n||r||o)&&e.dragMoving&&this.fireUpdate(),this.stopDragging(e),!0},onMouseOut:function(e){return e.dragMoving&&this.fireUpdate(),!0}};St.onTouchStart=St.onMouseDown=function(e,t){return Pt(t)?this.onVertex(e,t):k(t)?this.onFeature(e,t):Ot(t)?this.onMidpoint(e,t):void 0},St.onDrag=function(e,t){if(!0!==e.canDragMove)return;e.dragMoving=!0,t.originalEvent.stopPropagation();const r={lng:t.lngLat.lng-e.dragMoveLocation.lng,lat:t.lngLat.lat-e.dragMoveLocation.lat};e.selectedCoordPaths.length>0?this.dragVertex(e,t,r):this.dragFeature(e,t,r),e.dragMoveLocation=t.lngLat},St.onClick=function(e,t){return j(t)?this.clickNoTarget(e,t):k(t)?this.clickActiveFeature(e,t):D(t)?this.clickInactive(e,t):void this.stopDragging(e)},St.onTap=function(e,t){return j(t)?this.clickNoTarget(e,t):k(t)?this.clickActiveFeature(e,t):D(t)?this.clickInactive(e,t):void 0},St.onTouchEnd=St.onMouseUp=function(e){e.dragMoving&&this.fireUpdate(),this.stopDragging(e)};const wt={};function _t(e,t){return!!e.lngLat&&e.lngLat.lng===t[0]&&e.lngLat.lat===t[1]}wt.onSetup=function(){const e=this.newFeature({type:S.FEATURE,properties:{},geometry:{type:S.POINT,coordinates:[]}});return this.addFeature(e),this.clearSelectedFeatures(),this.updateUIClasses({mouse:P.ADD}),this.activateUIButton(O.POINT),this.setActionableState({trash:!0}),{point:e}},wt.stopDrawingAndRemove=function(e){this.deleteFeature([e.point.id],{silent:!0}),this.changeMode(w.SIMPLE_SELECT)},wt.onTap=wt.onClick=function(e,t){this.updateUIClasses({mouse:P.MOVE}),e.point.updateCoordinate("",t.lngLat.lng,t.lngLat.lat),this.fire(_.CREATE,{features:[e.point.toGeoJSON()]}),this.changeMode(w.SIMPLE_SELECT,{featureIds:[e.point.id]})},wt.onStop=function(e){this.activateUIButton(),e.point.getCoordinate().length||this.deleteFeature([e.point.id],{silent:!0})},wt.toDisplayFeatures=function(e,t,r){const n=t.properties.id===e.point.id;if(t.properties.active=n?T.ACTIVE:T.INACTIVE,!n)return r(t)},wt.onTrash=wt.stopDrawingAndRemove,wt.onKeyUp=function(e,t){if(B(t)||V(t))return this.stopDrawingAndRemove(e,t)};const Mt={onSetup:function(){const e=this.newFeature({type:S.FEATURE,properties:{},geometry:{type:S.POLYGON,coordinates:[[]]}});return this.addFeature(e),this.clearSelectedFeatures(),dt.disable(this),this.updateUIClasses({mouse:P.ADD}),this.activateUIButton(O.POLYGON),this.setActionableState({trash:!0}),{polygon:e,currentVertexPosition:0}},clickAnywhere:function(e,t){if(e.currentVertexPosition>0&&_t(t,e.polygon.coordinates[0][e.currentVertexPosition-1]))return this.changeMode(w.SIMPLE_SELECT,{featureIds:[e.polygon.id]});this.updateUIClasses({mouse:P.ADD}),e.polygon.updateCoordinate(`0.${e.currentVertexPosition}`,t.lngLat.lng,t.lngLat.lat),e.currentVertexPosition++,e.polygon.updateCoordinate(`0.${e.currentVertexPosition}`,t.lngLat.lng,t.lngLat.lat)},clickOnVertex:function(e){return this.changeMode(w.SIMPLE_SELECT,{featureIds:[e.polygon.id]})},onMouseMove:function(e,t){e.polygon.updateCoordinate(`0.${e.currentVertexPosition}`,t.lngLat.lng,t.lngLat.lat),R(t)&&this.updateUIClasses({mouse:P.POINTER})}};Mt.onTap=Mt.onClick=function(e,t){return R(t)?this.clickOnVertex(e,t):this.clickAnywhere(e,t)},Mt.onKeyUp=function(e,t){B(t)?(this.deleteFeature([e.polygon.id],{silent:!0}),this.changeMode(w.SIMPLE_SELECT)):V(t)&&this.changeMode(w.SIMPLE_SELECT,{featureIds:[e.polygon.id]})},Mt.onStop=function(e){this.updateUIClasses({mouse:P.NONE}),dt.enable(this),this.activateUIButton(),void 0!==this.getFeature(e.polygon.id)&&(e.polygon.removeCoordinate(`0.${e.currentVertexPosition}`),e.polygon.isValid()?this.fire(_.CREATE,{features:[e.polygon.toGeoJSON()]}):(this.deleteFeature([e.polygon.id],{silent:!0}),this.changeMode(w.SIMPLE_SELECT,{},{silent:!0})))},Mt.toDisplayFeatures=function(e,t,r){const n=t.properties.id===e.polygon.id;if(t.properties.active=n?T.ACTIVE:T.INACTIVE,!n)return r(t);if(0===t.geometry.coordinates.length)return;const o=t.geometry.coordinates[0].length;if(!(o<3)){if(t.properties.meta=x.FEATURE,r(Re(e.polygon.id,t.geometry.coordinates[0][0],"0.0",!1)),o>3){const n=t.geometry.coordinates[0].length-3;r(Re(e.polygon.id,t.geometry.coordinates[0][n],`0.${n}`,!1))}if(o<=4){const e=[[t.geometry.coordinates[0][0][0],t.geometry.coordinates[0][0][1]],[t.geometry.coordinates[0][1][0],t.geometry.coordinates[0][1][1]]];if(r({type:S.FEATURE,properties:t.properties,geometry:{coordinates:e,type:S.LINE_STRING}}),3===o)return}return r(t)}},Mt.onTrash=function(e){this.deleteFeature([e.polygon.id],{silent:!0}),this.changeMode(w.SIMPLE_SELECT)};const xt={onSetup:function(e){const t=(e=e||{}).featureId;let r,n,o="forward";if(t){if(r=this.getFeature(t),!r)throw new Error("Could not find a feature with the provided featureId");let i=e.from;if(i&&"Feature"===i.type&&i.geometry&&"Point"===i.geometry.type&&(i=i.geometry),i&&"Point"===i.type&&i.coordinates&&2===i.coordinates.length&&(i=i.coordinates),!i||!Array.isArray(i))throw new Error("Please use the `from` property to indicate which point to continue the line from");const a=r.coordinates.length-1;if(r.coordinates[a][0]===i[0]&&r.coordinates[a][1]===i[1])n=a+1,r.addCoordinate(n,...r.coordinates[a]);else{if(r.coordinates[0][0]!==i[0]||r.coordinates[0][1]!==i[1])throw new Error("`from` should match the point at either the start or the end of the provided LineString");o="backwards",n=0,r.addCoordinate(n,...r.coordinates[0])}}else r=this.newFeature({type:S.FEATURE,properties:{},geometry:{type:S.LINE_STRING,coordinates:[]}}),n=0,this.addFeature(r);return this.clearSelectedFeatures(),dt.disable(this),this.updateUIClasses({mouse:P.ADD}),this.activateUIButton(O.LINE),this.setActionableState({trash:!0}),{line:r,currentVertexPosition:n,direction:o}},clickAnywhere:function(e,t){if(e.currentVertexPosition>0&&_t(t,e.line.coordinates[e.currentVertexPosition-1])||"backwards"===e.direction&&_t(t,e.line.coordinates[e.currentVertexPosition+1]))return this.changeMode(w.SIMPLE_SELECT,{featureIds:[e.line.id]});this.updateUIClasses({mouse:P.ADD}),e.line.updateCoordinate(e.currentVertexPosition,t.lngLat.lng,t.lngLat.lat),"forward"===e.direction?(e.currentVertexPosition++,e.line.updateCoordinate(e.currentVertexPosition,t.lngLat.lng,t.lngLat.lat)):e.line.addCoordinate(0,t.lngLat.lng,t.lngLat.lat)},clickOnVertex:function(e){return this.changeMode(w.SIMPLE_SELECT,{featureIds:[e.line.id]})},onMouseMove:function(e,t){e.line.updateCoordinate(e.currentVertexPosition,t.lngLat.lng,t.lngLat.lat),R(t)&&this.updateUIClasses({mouse:P.POINTER})}};xt.onTap=xt.onClick=function(e,t){if(R(t))return this.clickOnVertex(e,t);this.clickAnywhere(e,t)},xt.onKeyUp=function(e,t){V(t)?this.changeMode(w.SIMPLE_SELECT,{featureIds:[e.line.id]}):B(t)&&(this.deleteFeature([e.line.id],{silent:!0}),this.changeMode(w.SIMPLE_SELECT))},xt.onStop=function(e){dt.enable(this),this.activateUIButton(),void 0!==this.getFeature(e.line.id)&&(e.line.removeCoordinate(`${e.currentVertexPosition}`),e.line.isValid()?this.fire(_.CREATE,{features:[e.line.toGeoJSON()]}):(this.deleteFeature([e.line.id],{silent:!0}),this.changeMode(w.SIMPLE_SELECT,{},{silent:!0})))},xt.onTrash=function(e){this.deleteFeature([e.line.id],{silent:!0}),this.changeMode(w.SIMPLE_SELECT)},xt.toDisplayFeatures=function(e,t,r){const n=t.properties.id===e.line.id;if(t.properties.active=n?T.ACTIVE:T.INACTIVE,!n)return r(t);t.geometry.coordinates.length<2||(t.properties.meta=x.FEATURE,r(Re(e.line.id,t.geometry.coordinates["forward"===e.direction?t.geometry.coordinates.length-2:1],""+("forward"===e.direction?t.geometry.coordinates.length-2:1),!1)),r(t))};var Tt={simple_select:Et,direct_select:St,draw_point:wt,draw_polygon:Mt,draw_line_string:xt};const At={defaultMode:w.SIMPLE_SELECT,keybindings:!0,touchEnabled:!0,clickBuffer:2,touchBuffer:25,boxSelect:!0,displayControlsDefault:!0,styles:De,modes:Tt,controls:{},userProperties:!1,suppressAPIEvents:!0},Ct={point:!0,line_string:!0,polygon:!0,trash:!0,combine_features:!0,uncombine_features:!0},It={point:!1,line_string:!1,polygon:!1,trash:!1,combine_features:!1,uncombine_features:!1};function Lt(e,t){return e.map(e=>e.source?e:Object.assign({},e,{id:`${e.id}.${t}`,source:"hot"===t?E.HOT:E.COLD}))}var kt,Dt,jt,Nt,Rt=(Dt||(Dt=1,kt=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!==o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(i=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!==o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!==o--;){var a=i[o];if(!e(t[a],r[a]))return!1}return!0}return t!=t&&r!=r}),kt),Ft=J(Rt),Bt=J(function(){if(Nt)return jt;Nt=1,jt=function(t){if(!t||!t.type)return null;var r=e[t.type];return r?"geometry"===r?{type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:t}]}:"feature"===r?{type:"FeatureCollection",features:[t]}:"featurecollection"===r?t:void 0:null};var e={Point:"geometry",MultiPoint:"geometry",LineString:"geometry",MultiLineString:"geometry",Polygon:"geometry",MultiPolygon:"geometry",GeometryCollection:"geometry",Feature:"feature",FeatureCollection:"featurecollection"};return jt}());function Vt(e,t){return e.length===t.length&&JSON.stringify(e.map(e=>e).sort())===JSON.stringify(t.map(e=>e).sort())}const Gt={Polygon:be,LineString:me,Point:ve,MultiPolygon:Oe,MultiLineString:Oe,MultiPoint:Oe};var Yt=Object.freeze({__proto__:null,CommonSelectors:K,ModeHandler:he,StringSet:ie,constrainFeatureMovement:mt,createMidPoint:ct,createSupplementaryPoints:ut,createVertex:Re,doubleClickZoom:dt,euclideanDistance:ue,featuresAt:se,getFeatureAtAndSetCursors:ce,isClick:de,isEventAtCoordinates:_t,isTap:pe,mapEventToBoundingBox:oe,moveFeatures:bt,sortFeatures:ne,stringSetsAreEqual:Vt,theme:De,toDenseArray:Me});function Ut(e){!function(e,t){const r={options:e=function(e={}){let t=Object.assign({},e);return e.controls||(t.controls={}),!1===e.displayControlsDefault?t.controls=Object.assign({},It,e.controls):t.controls=Object.assign({},Ct,e.controls),t=Object.assign({},At,t),t.styles=Lt(t.styles,"cold").concat(Lt(t.styles,"hot")),t}(e)};t=function(e,t){t.modes=w;const r=void 0===e.options.suppressAPIEvents||!!e.options.suppressAPIEvents;return t.getFeatureIdsAt=function(t){return se.click({point:t},null,e).map(e=>e.properties.id)},t.getSelectedIds=function(){return e.store.getSelectedIds()},t.getSelected=function(){return{type:S.FEATURE_COLLECTION,features:e.store.getSelectedIds().map(t=>e.store.get(t)).map(e=>e.toGeoJSON())}},t.getSelectedPoints=function(){return{type:S.FEATURE_COLLECTION,features:e.store.getSelectedCoordinates().map(e=>({type:S.FEATURE,properties:{},geometry:{type:S.POINT,coordinates:e.coordinates}}))}},t.set=function(r){if(void 0===r.type||r.type!==S.FEATURE_COLLECTION||!Array.isArray(r.features))throw new Error("Invalid FeatureCollection");const n=e.store.createRenderBatch();let o=e.store.getAllIds().slice();const i=t.add(r),a=new ie(i);return o=o.filter(e=>!a.has(e)),o.length&&t.delete(o),n(),i},t.add=function(t){const n=JSON.parse(JSON.stringify(Bt(t))).features.map(t=>{if(t.id=t.id||ge(),null===t.geometry)throw new Error("Invalid geometry: null");if(void 0===e.store.get(t.id)||e.store.get(t.id).type!==t.geometry.type){const n=Gt[t.geometry.type];if(void 0===n)throw new Error(`Invalid geometry type: ${t.geometry.type}.`);const o=new n(e,t);e.store.add(o,{silent:r})}else{const n=e.store.get(t.id),o=n.properties;n.properties=t.properties,Ft(o,t.properties)||e.store.featureChanged(n.id,{silent:r}),Ft(n.getCoordinates(),t.geometry.coordinates)||n.incomingCoords(t.geometry.coordinates)}return t.id});return e.store.render(),n},t.get=function(t){const r=e.store.get(t);if(r)return r.toGeoJSON()},t.getAll=function(){return{type:S.FEATURE_COLLECTION,features:e.store.getAll().map(e=>e.toGeoJSON())}},t.delete=function(n){return e.store.delete(n,{silent:r}),t.getMode()!==w.DIRECT_SELECT||e.store.getSelectedIds().length?e.store.render():e.events.changeMode(w.SIMPLE_SELECT,void 0,{silent:r}),t},t.deleteAll=function(){return e.store.delete(e.store.getAllIds(),{silent:r}),t.getMode()===w.DIRECT_SELECT?e.events.changeMode(w.SIMPLE_SELECT,void 0,{silent:r}):e.store.render(),t},t.changeMode=function(n,o={}){return n===w.SIMPLE_SELECT&&t.getMode()===w.SIMPLE_SELECT?(Vt(o.featureIds||[],e.store.getSelectedIds())||(e.store.setSelected(o.featureIds,{silent:r}),e.store.render()),t):(n===w.DIRECT_SELECT&&t.getMode()===w.DIRECT_SELECT&&o.featureId===e.store.getSelectedIds()[0]||e.events.changeMode(n,o,{silent:r}),t)},t.getMode=function(){return e.events.getMode()},t.trash=function(){return e.events.trash({silent:r}),t},t.combineFeatures=function(){return e.events.combineFeatures({silent:r}),t},t.uncombineFeatures=function(){return e.events.uncombineFeatures({silent:r}),t},t.setFeatureProperty=function(n,o,i){return e.store.setFeatureProperty(n,o,i,{silent:r}),t},t}(r,t),r.api=t;const n=function(e){let t=null,r=null;const n={onRemove(){return e.map.off("load",n.connect),clearInterval(r),n.removeLayers(),e.store.restoreMapConfig(),e.ui.removeButtons(),e.events.removeEventListeners(),e.ui.clearMapClasses(),e.boxZoomInitial&&e.map.boxZoom.enable(),e.map=null,e.container=null,e.store=null,t&&t.parentNode&&t.parentNode.removeChild(t),t=null,this},connect(){e.map.off("load",n.connect),clearInterval(r),n.addLayers(),e.store.storeMapConfig(),e.events.addEventListeners()},onAdd(o){if(e.map=o,e.events=function(e){const t=Object.keys(e.options.modes).reduce((t,r)=>(t[r]=function(e){const t=Object.keys(e);return function(r,n={}){let o={};const i=t.reduce((t,r)=>(t[r]=e[r],t),new Se(r));return{start(){o=i.onSetup(n),_e.forEach(t=>{const r=we[t];let n=()=>!1;var a;e[r]&&(n=()=>!0),this.on(t,n,(a=r,e=>i[a](o,e)))})},stop(){i.onStop(o)},trash(){i.onTrash(o)},combineFeatures(){i.onCombineFeatures(o)},uncombineFeatures(){i.onUncombineFeatures(o)},render(e,t){i.toDisplayFeatures(o,e,t)}}}}(e.options.modes[r]),t),{});let r={},n={};const o={};let i=null,a=null;o.drag=function(t,r){r({point:t.point,time:(new Date).getTime()})?(e.ui.queueMapClasses({mouse:P.DRAG}),a.drag(t)):t.originalEvent.stopPropagation()},o.mousedrag=function(e){o.drag(e,e=>!de(r,e))},o.touchdrag=function(e){o.drag(e,e=>!pe(n,e))},o.mousemove=function(t){if(1===(void 0!==t.originalEvent.buttons?t.originalEvent.buttons:t.originalEvent.which))return o.mousedrag(t);const r=ce(t,e);t.featureTarget=r,a.mousemove(t)},o.mousedown=function(t){r={time:(new Date).getTime(),point:t.point};const n=ce(t,e);t.featureTarget=n,a.mousedown(t)},o.mouseup=function(t){const n=ce(t,e);t.featureTarget=n,de(r,{point:t.point,time:(new Date).getTime()})?a.click(t):a.mouseup(t)},o.mouseout=function(e){a.mouseout(e)},o.touchstart=function(t){if(!e.options.touchEnabled)return;n={time:(new Date).getTime(),point:t.point};const r=se.touch(t,null,e)[0];t.featureTarget=r,a.touchstart(t)},o.touchmove=function(t){if(e.options.touchEnabled)return a.touchmove(t),o.touchdrag(t)},o.touchend=function(t){if(t.originalEvent.preventDefault(),!e.options.touchEnabled)return;const r=se.touch(t,null,e)[0];t.featureTarget=r,pe(n,{time:(new Date).getTime(),point:t.point})?a.tap(t):a.touchend(t)};const s=e=>{const t=G(e),r=Y(e),n=W(e);return!(t||r||n)};function l(r,n,o={}){a.stop();const s=t[r];if(void 0===s)throw new Error(`${r} is not valid`);i=r;const l=s(e,n);a=he(l,e),o.silent||e.map.fire(_.MODE_CHANGE,{mode:r}),e.store.setDirty(),e.store.render()}o.keydown=function(t){(t.srcElement||t.target).classList.contains(b.CANVAS)&&((G(t)||Y(t))&&e.options.controls.trash?(t.preventDefault(),a.trash()):s(t)?a.keydown(t):U(t)&&e.options.controls.point?l(w.DRAW_POINT):H(t)&&e.options.controls.line_string?l(w.DRAW_LINE_STRING):z(t)&&e.options.controls.polygon&&l(w.DRAW_POLYGON))},o.keyup=function(e){s(e)&&a.keyup(e)},o.zoomend=function(){e.store.changeZoom()},o.data=function(t){if("style"===t.dataType){const{setup:t,map:r,options:n,store:o}=e;n.styles.some(e=>r.getLayer(e.id))||(t.addLayers(),o.setDirty(),o.render())}};const c={trash:!1,combineFeatures:!1,uncombineFeatures:!1},u={start(){i=e.options.defaultMode,a=he(t[i](e),e)},changeMode:l,actionable:function(t){let r=!1;Object.keys(t).forEach(e=>{if(void 0===c[e])throw new Error("Invalid action type");c[e]!==t[e]&&(r=!0),c[e]=t[e]}),r&&e.map.fire(_.ACTIONABLE,{actions:c})},currentModeName:()=>i,currentModeRender:(e,t)=>a.render(e,t),fire(t,r){e.map&&e.map.fire(t,r)},addEventListeners(){e.map.on("mousemove",o.mousemove),e.map.on("mousedown",o.mousedown),e.map.on("mouseup",o.mouseup),e.map.on("data",o.data),e.map.on("touchmove",o.touchmove),e.map.on("touchstart",o.touchstart),e.map.on("touchend",o.touchend),e.container.addEventListener("mouseout",o.mouseout),e.options.keybindings&&(e.container.addEventListener("keydown",o.keydown),e.container.addEventListener("keyup",o.keyup))},removeEventListeners(){e.map.off("mousemove",o.mousemove),e.map.off("mousedown",o.mousedown),e.map.off("mouseup",o.mouseup),e.map.off("data",o.data),e.map.off("touchmove",o.touchmove),e.map.off("touchstart",o.touchstart),e.map.off("touchend",o.touchend),e.container.removeEventListener("mouseout",o.mouseout),e.options.keybindings&&(e.container.removeEventListener("keydown",o.keydown),e.container.removeEventListener("keyup",o.keyup))},trash(e){a.trash(e)},combineFeatures(){a.combineFeatures()},uncombineFeatures(){a.uncombineFeatures()},getMode:()=>i};return u}(e),e.ui=function(e){const t={};let r=null,n={mode:null,feature:null,mouse:null},o={mode:null,feature:null,mouse:null};function i(e){o=Object.assign(o,e)}function a(){if(!e.container)return;const t=[],r=[];Ce.forEach(e=>{o[e]!==n[e]&&(t.push(`${e}-${n[e]}`),null!==o[e]&&r.push(`${e}-${o[e]}`))}),t.length>0&&e.container.classList.remove(...t),r.length>0&&e.container.classList.add(...r),n=Object.assign(n,o)}function s(e,t={}){const n=document.createElement("button");return n.className=`${b.CONTROL_BUTTON} ${t.className}`,n.setAttribute("title",t.title),t.container.appendChild(n),n.addEventListener("click",n=>{if(n.preventDefault(),n.stopPropagation(),n.target===r)return l(),void t.onDeactivate();c(e),t.onActivate()},!0),n}function l(){r&&(r.classList.remove(b.ACTIVE_BUTTON),r=null)}function c(e){l();const n=t[e];n&&n&&"trash"!==e&&(n.classList.add(b.ACTIVE_BUTTON),r=n)}return{setActiveButton:c,queueMapClasses:i,updateMapClasses:a,clearMapClasses:function(){i({mode:null,feature:null,mouse:null}),a()},addButtons:function(){const r=e.options.controls,n=document.createElement("div");return n.className=`${b.CONTROL_GROUP} ${b.CONTROL_BASE}`,r?(r[O.POINT]&&(t[O.POINT]=s(O.POINT,{container:n,className:b.CONTROL_BUTTON_POINT,title:"Marker tool "+(e.options.keybindings?"(1)":""),onActivate:()=>e.events.changeMode(w.DRAW_POINT),onDeactivate:()=>e.events.trash()})),r[O.LINE]&&(t[O.LINE]=s(O.LINE,{container:n,className:b.CONTROL_BUTTON_LINE,title:"LineString tool "+(e.options.keybindings?"(2)":""),onActivate:()=>e.events.changeMode(w.DRAW_LINE_STRING),onDeactivate:()=>e.events.trash()})),r[O.POLYGON]&&(t[O.POLYGON]=s(O.POLYGON,{container:n,className:b.CONTROL_BUTTON_POLYGON,title:"Polygon tool "+(e.options.keybindings?"(3)":""),onActivate:()=>e.events.changeMode(w.DRAW_POLYGON),onDeactivate:()=>e.events.trash()})),r.trash&&(t.trash=s("trash",{container:n,className:b.CONTROL_BUTTON_TRASH,title:"Delete",onActivate:()=>{e.events.trash()}})),r.combine_features&&(t.combine_features=s("combineFeatures",{container:n,className:b.CONTROL_BUTTON_COMBINE_FEATURES,title:"Combine",onActivate:()=>{e.events.combineFeatures()}})),r.uncombine_features&&(t.uncombine_features=s("uncombineFeatures",{container:n,className:b.CONTROL_BUTTON_UNCOMBINE_FEATURES,title:"Uncombine",onActivate:()=>{e.events.uncombineFeatures()}})),n):n},removeButtons:function(){Object.keys(t).forEach(e=>{const r=t[e];r.parentNode&&r.parentNode.removeChild(r),delete t[e]})}}}(e),e.container=o.getContainer(),e.store=new Te(e),t=e.ui.addButtons(),e.options.boxSelect){e.boxZoomInitial=o.boxZoom.isEnabled(),o.boxZoom.disable();const t=o.dragPan.isEnabled();o.dragPan.disable(),o.dragPan.enable(),t||o.dragPan.disable()}return o.loaded()?n.connect():(o.on("load",n.connect),r=setInterval(()=>{o.loaded()&&n.connect()},16)),e.events.start(),t},addLayers(){e.map.addSource(E.COLD,{data:{type:S.FEATURE_COLLECTION,features:[]},type:"geojson"}),e.map.addSource(E.HOT,{data:{type:S.FEATURE_COLLECTION,features:[]},type:"geojson"}),e.options.styles.forEach(t=>{e.map.addLayer(t)}),e.store.setDirty(!0),e.store.render()},removeLayers(){e.options.styles.forEach(t=>{e.map.getLayer(t.id)&&e.map.removeLayer(t.id)}),e.map.getSource(E.COLD)&&e.map.removeSource(E.COLD),e.map.getSource(E.HOT)&&e.map.removeSource(E.HOT)}};return e.setup=n,n}(r);t.onAdd=n.onAdd,t.onRemove=n.onRemove,t.types=O,t.options=e}(e,this)}Ut.modes=Tt,Ut.constants=C,Ut.lib=Yt;var Ht={onSetup:()=>({}),onClick:()=>!1,onKeyUp:()=>!1,onDrag:()=>!1,toDisplayFeatures(e,t,r){t.properties.active="false",r(t)}},zt=e=>{if(null==e||!e.coordinates)return[];switch(e.type){case"LineString":return e.coordinates;case"Polygon":case"MultiLineString":return e.coordinates.flat(1);case"MultiPolygon":return e.coordinates.flat(2);default:return[]}},Wt=e=>{if(null==e||!e.coordinates)return[];var t=[],r=0;switch(e.type){case"LineString":t.push({start:0,length:e.coordinates.length,path:[],closed:!1});break;case"Polygon":e.coordinates.forEach((e,n)=>{t.push({start:r,length:e.length,path:[n],closed:!0}),r+=e.length});break;case"MultiLineString":e.coordinates.forEach((e,n)=>{t.push({start:r,length:e.length,path:[n],closed:!1}),r+=e.length});break;case"MultiPolygon":e.coordinates.forEach((e,n)=>{e.forEach((e,o)=>{t.push({start:r,length:e.length,path:[n,o],closed:!0}),r+=e.length})})}return t},Kt=(e,t)=>{for(var r of e)if(t>=r.start&&t<r.start+r.length)return{segment:r,localIdx:t-r.start};return null},Jt=(e,t)=>{var r=e.geometry.coordinates;for(var n of t)r=r[n];return r},$t=(e,t)=>{var r=t.split(".").map(Number),n=Wt(e);for(var o of n)if(o.path.every((e,t)=>e===r[t])&&r.length===o.path.length+1){var i=r[r.length-1];return o.start+i}return r[r.length-1]},qt=(e,t)=>({x:e.x*t,y:e.y*t}),Zt=e=>e instanceof window.SVGElement||e.ownerSVGElement,Xt={fireGeometryChange(e){var t=this.getFeature(e.featureId);t&&this.map.fire("draw.update",{features:[t.toGeoJSON()],action:"change_coordinates"})},pushUndo(e){var t=this.map._undoStack;t&&t.push(e)},handleUndo(e){var t=this.map._undoStack;if(t&&0!==t.length){var r=t.pop();"move_vertex"===r.type?this.undoMoveVertex(e,r):"insert_vertex"===r.type?this.undoInsertVertex(e,r):"delete_vertex"===r.type&&this.undoDeleteVertex(e,r)}},undoMoveVertex(e,t){var{vertexIndex:r,previousPosition:n,featureId:o}=t,i=this.getFeature(o);if(i){var a=i.toGeoJSON(),s=Wt(i),l=Kt(s,r);if(l){Jt(a,l.segment.path)[l.localIdx]=n,this._applyUndoAndSync(e,a,o);var c=e.vertecies[e.selectedVertexIndex];c&&this.updateTouchVertexTarget(e,qt(this.map.project(c),e.scale))}}},undoInsertVertex(e,t){var{vertexIndex:r,featureId:n}=t,o=this.getFeature(n);if(o){var i=o.toGeoJSON(),a=Wt(o),s=Kt(a,r);s&&(Jt(i,s.segment.path).splice(s.localIdx,1),this._applyUndoAndSync(e,i,n),this.clearSelectedCoordinates(),this.hideTouchVertexIndicator(e),this.changeMode(e,{selectedVertexIndex:-1,selectedVertexType:null}))}},undoDeleteVertex(e,t){var{vertexIndex:r,position:n,featureId:o}=t,i=this.getFeature(o);if(i){var a=i.toGeoJSON(),s=Wt(i),l=Kt(s,r);if(!l)for(var c of s)if(r===c.start+c.length){l={segment:c,localIdx:c.length};break}if(l){Jt(a,l.segment.path).splice(l.localIdx,0,n),this._applyUndoAndSync(e,a,o);var u=e.vertecies[r];u&&this.updateTouchVertexTarget(e,qt(this.map.project(u),e.scale)),this.changeMode(e,{selectedVertexIndex:r,selectedVertexType:"vertex",coordPath:this.getCoordPath(e,r)})}}},_applyUndoAndSync(e,t,r){this._ctx.api.add(t),e.vertecies=this.getVerticies(r),e.midpoints=this.getMidpoints(r),this._ctx.store.render(),this.fireGeometryChange(e)}};function Qt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function er(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qt(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qt(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var tr={addTouchVertexTarget(e){var t=e.container.querySelector("[data-touch-vertex-target]");t||(e.container.insertAdjacentHTML("beforeend","\n <svg width='48' height='48' viewBox='0 0 48 48' fill-rule='evenodd' style='display:none;position:absolute;top:50%;left:50%;margin:24px 0 0 -24px' class='touch-vertex-target' data-touch-vertex-target>\n <circle cx='24' cy='24' r='24' fill='currentColor'/>\n <path d=\"M37.543 25H34a1 1 0 1 1 0-2h3.629l-.836-.837a1 1 0 0 1 1.414-1.414l2.5 2.501A1 1 0 0 1 41 24a1 1 0 0 1-.487.858l-2.306 2.306a1 1 0 0 1-1.414-1.414l.75-.75zM23 10.414l-.793.793a1 1 0 0 1-1.414-1.414l2.5-2.5C23.481 7.105 23.734 7 24 7s.519.105.707.293l2.5 2.5a1 1 0 0 1-1.414 1.414L25 10.414V14a1 1 0 1 1-2 0v-3.586zM7 24a1 1 0 0 1 .293-.75l2.5-2.501a1 1 0 0 1 1.414 1.414l-.836.837H14a1 1 0 1 1 0 2h-3.543l.75.75a1 1 0 0 1-1.414 1.414l-2.306-2.306A1 1 0 0 1 7 24zm16.293 16.707l-2.5-2.5a1 1 0 0 1 1.414-1.414l.793.793V34a1 1 0 1 1 2 0v3.586l.793-.793a1 1 0 0 1 1.414 1.414l-2.5 2.5c-.188.188-.441.293-.707.293s-.519-.105-.707-.293zM24 20c2.208 0 4 1.792 4 4s-1.792 4-4 4-4-1.792-4-4 1.792-4 4-4z\" fill=\"#fff\"/>\n </svg>\n"),t=e.container.querySelector("[data-touch-vertex-target]")),e.touchVertexTarget=t},updateTouchVertexTarget(e,t){t&&"touch"===e.interfaceType&&e.selectedVertexIndex>=0?Object.assign(e.touchVertexTarget.style,{display:"block",top:"".concat(t.y,"px"),left:"".concat(t.x,"px")}):e.touchVertexTarget.style.display="none"},hideTouchVertexIndicator(e){e.touchVertexTarget.style.display="none"},onPointerevent(e,t){e.interfaceType="touch"===t.pointerType?"touch":"pointer",e.isPanEnabled=!0,"touch"!==t.pointerType||"pointermove"!==t.type||Zt(t.target.parentNode)||e._ignorePointermoveDeselect||this.changeMode(e,{selectedVertexIndex:-1,selectedVertexType:null,coordPath:null})},onTouchStart(){},onTouchMove(){},onTouchEnd(){},onTouchend(e){v(p(this.map)),null!=e&&e.featureId&&(this.syncVertices(e),e._touchMoved&&e._moveStartPosition&&void 0!==e._moveStartIndex&&this.pushUndo({type:"move_vertex",featureId:e.featureId,vertexIndex:e._moveStartIndex,previousPosition:e._moveStartPosition}),e._moveStartPosition=null,e._moveStartIndex=void 0,e._touchMoved=!1)},onTap(e,t){var r,n,o=p(this.map);o&&y(o,this.map);var i=null===(r=t.featureTarget)||void 0===r?void 0:r.properties.meta,a=null===(n=t.featureTarget)||void 0===n?void 0:n.properties.coord_path;if("vertex"===i){var s=this.getFeature(e.featureId),l=$t(s,a);this.changeMode(e,{selectedVertexIndex:l,selectedVertexType:"vertex",coordPath:a})}else"midpoint"===i?this.insertVertex(er(er({},e),{},{selectedVertexIndex:this.getVertexIndexFromMidpoint(e,a),selectedVertexType:"midpoint"})):this.clickNoTarget(e)},onTouchstart(e,t){var r;v(p(this.map));var n=null===(r=e.vertecies)||void 0===r?void 0:r[e.selectedVertexIndex];if(n&&Zt(t.target.parentNode)){e._moveStartPosition=[...n],e._moveStartIndex=e.selectedVertexIndex,e._touchMoved=!1;var o=t.touches[0].clientX,i=t.touches[0].clientY,a=window.getComputedStyle(e.touchVertexTarget);e.deltaTarget={x:o-Number.parseFloat(a.left),y:i-Number.parseFloat(a.top)};var s=this.map.project(n);e.deltaVertex={x:o/e.scale-s.x,y:i/e.scale-s.y}}},onTouchmove(e,t){if(!(e.selectedVertexIndex<0)&&Zt(t.target.parentNode)){e._touchMoved=!0;var r=t.touches[0].clientX,n=t.touches[0].clientY,o={x:r/e.scale-e.deltaVertex.x,y:n/e.scale-e.deltaVertex.y},i=this.map.unproject(o);if(m(e)){var a=p(this.map);g(a,this.map,o),i=f(a)||i}this.moveVertex(e,i),this.updateTouchVertexTarget(e,{x:r-e.deltaTarget.x,y:n-e.deltaTarget.y})}}};function rr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var nr={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]},or={updateMidpoint(e){setTimeout(()=>{this.map.getSource("mapbox-gl-draw-hot").setData({type:"Feature",properties:{meta:"midpoint",active:"true",id:"active-midpoint"},geometry:{type:"Point",coordinates:e}})},0)},updateVertex(e,t){var[r,o]=this.getVertexOrMidpoint(e,t);r<0||!o||this.changeMode(e,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?rr(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):rr(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({selectedVertexIndex:r,selectedVertexType:o},"vertex"===o&&{coordPath:this.getCoordPath(e,r)}))},getOffset(e,t){var r=this.map.project(e),n=null!=t&&t.shiftKey?1:5,[o,i]=t?nr[t.key].map(e=>e*n):[0,0];return this.map.unproject({x:r.x+o,y:r.y+i})},getNewCoord(e,t){return this.getOffset(zt(this.getFeature(e.featureId))[e.selectedVertexIndex],t)},insertVertex(e,t){var r=e.selectedVertexIndex-e.vertecies.length,n=this.getOffset(e.midpoints[r],t),o=this.getFeature(e.featureId),i=o.toGeoJSON(),a=Wt(o),s=r+1,l=null,c=0,u=0;for(var d of a){var p=d.closed?d.length:d.length-1;if(r<u+p){l=d,c=r-u+1,s=d.start+c;break}u+=p}l&&(Jt(i,l.path).splice(c,0,[n.lng,n.lat]),this._ctx.api.add(i),this.pushUndo({type:"insert_vertex",featureId:e.featureId,vertexIndex:s}),this.changeMode(e,{selectedVertexIndex:s,selectedVertexType:"vertex",coordPath:this.getCoordPath(e,s)}))},moveVertex(e,t){if((arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).checkSnap&&!1!==e.enableSnap){var r,n=this.map._snapInstance;null!=n&&n.snapStatus&&(null===(r=n.snapCoords)||void 0===r?void 0:r.length)>=2&&(t={lng:n.snapCoords[0],lat:n.snapCoords[1]})}var o=this.getFeature(e.featureId),i=o.toGeoJSON(),a=Wt(o),s=Kt(a,e.selectedVertexIndex);s&&(Jt(i,s.segment.path)[s.localIdx]=[t.lng,t.lat],this._ctx.api.add(i),e.vertecies=this.getVerticies(e.featureId),this.map.fire("draw.geometrychange",e.feature))},deleteVertex(e){var t=this.getFeature(e.featureId);if(t){var r=Wt(t),n=Kt(r,e.selectedVertexIndex);if(n){var{segment:o}=n,i=o.closed?3:2;if(!(o.length<=i)){var a=[...e.vertecies[e.selectedVertexIndex]],s=e.selectedVertexIndex;this._ctx.api.trash(),this.clearSelectedCoordinates(),t.changed(),this._ctx.store.render(),this.pushUndo({type:"delete_vertex",featureId:e.featureId,vertexIndex:s,position:a}),this.changeMode(e,{selectedVertexIndex:-1,selectedVertexType:null})}}}}};function ir(e){var t={type:"Feature"};return Object.keys(e).forEach(function(r){switch(r){case"type":case"properties":case"geometry":return;default:t[r]=e[r]}}),t.properties=ar(e.properties),t.geometry=sr(e.geometry),t}function ar(e){var t={};return e?(Object.keys(e).forEach(function(r){var n=e[r];"object"==typeof n?null===n?t[r]=null:Array.isArray(n)?t[r]=n.map(function(e){return e}):t[r]=ar(n):t[r]=n}),t):t}function sr(e){var t={type:e.type};return e.bbox&&(t.bbox=e.bbox),"GeometryCollection"===e.type?(t.geometries=e.geometries.map(function(e){return sr(e)}),t):(t.coordinates=lr(e.coordinates),t)}function lr(e){var t=e;return"object"!=typeof t[0]?t.slice():t.map(function(e){return lr(e)})}function cr(e){for(var t,r,n=function(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}(e),o=0,i=1;i<n.length;)t=r||n[0],o+=((r=n[i])[0]-t[0])*(r[1]+t[1]),i++;return o>0}function ur(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function dr(e,t){switch("Feature"===e.type?e.geometry.type:e.type){case"GeometryCollection":return Qe(e,function(e){dr(e,t)}),e;case"LineString":return pr(ur(e),t),e;case"Polygon":return hr(ur(e),t),e;case"MultiLineString":return ur(e).forEach(function(e){pr(e,t)}),e;case"MultiPolygon":return ur(e).forEach(function(e){hr(e,t)}),e;case"Point":case"MultiPoint":return e}}function pr(e,t){cr(e)===t&&e.reverse()}function hr(e,t){cr(e[0])!==t&&e[0].reverse();for(var r=1;r<e.length;r++)cr(e[r])===t&&e[r].reverse()}const fr=11102230246251565e-32,gr=134217729,yr=(3+8*fr)*fr;function vr(e,t,r,n,o){let i,a,s,l,c=t[0],u=n[0],d=0,p=0;u>c==u>-c?(i=c,c=t[++d]):(i=u,u=n[++p]);let h=0;if(d<e&&p<r)for(u>c==u>-c?(a=c+i,s=i-(a-c),c=t[++d]):(a=u+i,s=i-(a-u),u=n[++p]),i=a,0!==s&&(o[h++]=s);d<e&&p<r;)u>c==u>-c?(a=i+c,l=a-i,s=i-(a-l)+(c-l),c=t[++d]):(a=i+u,l=a-i,s=i-(a-l)+(u-l),u=n[++p]),i=a,0!==s&&(o[h++]=s);for(;d<e;)a=i+c,l=a-i,s=i-(a-l)+(c-l),c=t[++d],i=a,0!==s&&(o[h++]=s);for(;p<r;)a=i+u,l=a-i,s=i-(a-l)+(u-l),u=n[++p],i=a,0!==s&&(o[h++]=s);return 0===i&&0!==h||(o[h++]=i),h}function mr(e){return new Float64Array(e)}const br=mr(4),Er=mr(8),Pr=mr(12),Or=mr(16),Sr=mr(4);function wr(e,t,r,n,o,i){const a=(t-i)*(r-o),s=(e-o)*(n-i),l=a-s,c=Math.abs(a+s);return Math.abs(l)>=33306690738754716e-32*c?l:-function(e,t,r,n,o,i,a){let s,l,c,u,d,p,h,f,g,y,v,m,b,E,P,O,S,w;const _=e-o,M=r-o,x=t-i,T=n-i;E=_*T,p=gr*_,h=p-(p-_),f=_-h,p=gr*T,g=p-(p-T),y=T-g,P=f*y-(E-h*g-f*g-h*y),O=x*M,p=gr*x,h=p-(p-x),f=x-h,p=gr*M,g=p-(p-M),y=M-g,S=f*y-(O-h*g-f*g-h*y),v=P-S,d=P-v,br[0]=P-(v+d)+(d-S),m=E+v,d=m-E,b=E-(m-d)+(v-d),v=b-O,d=b-v,br[1]=b-(v+d)+(d-O),w=m+v,d=w-m,br[2]=m-(w-d)+(v-d),br[3]=w;let A=function(e,t){let r=t[0];for(let n=1;n<4;n++)r+=t[n];return r}(0,br),C=22204460492503146e-32*a;if(A>=C||-A>=C)return A;if(d=e-_,s=e-(_+d)+(d-o),d=r-M,c=r-(M+d)+(d-o),d=t-x,l=t-(x+d)+(d-i),d=n-T,u=n-(T+d)+(d-i),0===s&&0===l&&0===c&&0===u)return A;if(C=11093356479670487e-47*a+yr*Math.abs(A),A+=_*u+T*s-(x*c+M*l),A>=C||-A>=C)return A;E=s*T,p=gr*s,h=p-(p-s),f=s-h,p=gr*T,g=p-(p-T),y=T-g,P=f*y-(E-h*g-f*g-h*y),O=l*M,p=gr*l,h=p-(p-l),f=l-h,p=gr*M,g=p-(p-M),y=M-g,S=f*y-(O-h*g-f*g-h*y),v=P-S,d=P-v,Sr[0]=P-(v+d)+(d-S),m=E+v,d=m-E,b=E-(m-d)+(v-d),v=b-O,d=b-v,Sr[1]=b-(v+d)+(d-O),w=m+v,d=w-m,Sr[2]=m-(w-d)+(v-d),Sr[3]=w;const I=vr(4,br,4,Sr,Er);E=_*u,p=gr*_,h=p-(p-_),f=_-h,p=gr*u,g=p-(p-u),y=u-g,P=f*y-(E-h*g-f*g-h*y),O=x*c,p=gr*x,h=p-(p-x),f=x-h,p=gr*c,g=p-(p-c),y=c-g,S=f*y-(O-h*g-f*g-h*y),v=P-S,d=P-v,Sr[0]=P-(v+d)+(d-S),m=E+v,d=m-E,b=E-(m-d)+(v-d),v=b-O,d=b-v,Sr[1]=b-(v+d)+(d-O),w=m+v,d=w-m,Sr[2]=m-(w-d)+(v-d),Sr[3]=w;const L=vr(I,Er,4,Sr,Pr);E=s*u,p=gr*s,h=p-(p-s),f=s-h,p=gr*u,g=p-(p-u),y=u-g,P=f*y-(E-h*g-f*g-h*y),O=l*c,p=gr*l,h=p-(p-l),f=l-h,p=gr*c,g=p-(p-c),y=c-g,S=f*y-(O-h*g-f*g-h*y),v=P-S,d=P-v,Sr[0]=P-(v+d)+(d-S),m=E+v,d=m-E,b=E-(m-d)+(v-d),v=b-O,d=b-v,Sr[1]=b-(v+d)+(d-O),w=m+v,d=w-m,Sr[2]=m-(w-d)+(v-d),Sr[3]=w;const k=vr(L,Pr,4,Sr,Or);return Or[k-1]}(e,t,r,n,o,i,c)}function _r(e,t){var r,n,o,i,a,s,l,c,u,d=0,p=e[0],h=e[1],f=t.length;for(r=0;r<f;r++){n=0;var g=t[r],y=g.length-1;if((c=g[0])[0]!==g[y][0]&&c[1]!==g[y][1])throw new Error("First and last coordinates in a ring must be the same");for(i=c[0]-p,a=c[1]-h;n<y;n++){if(s=(u=g[n+1])[0]-p,l=u[1]-h,0===a&&0===l){if(s<=0&&i>=0||i<=0&&s>=0)return 0}else if(l>=0&&a<=0||l<=0&&a>=0){if(0===(o=wr(i,s,a,l,0,0)))return 0;(o>0&&l>0&&a<=0||o<0&&l<=0&&a>0)&&d++}c=u,a=l,i=s}}return d%2!=0}var Mr=function(e,t,r,n,o){this.p1=e,this.p2=t,this.edgeType=r,this.originalIndex=n,this.polygonContourId=o,this.interiorRing=!1,this.minX=Math.min(e.p[0],t.p[0]),this.minY=Math.min(e.p[1],t.p[1]),this.maxX=Math.max(e.p[0],t.p[0]),this.maxY=Math.max(e.p[1],t.p[1]),this.intersectionPoints=[],this.nextEdge=null},xr=function(e){this.p=e},Tr=function(e,t){this.id=e,this.rawCoords=t};function Ar(e,t){return!(e.maxX<t[0]||e.minX>t[2]||e.maxY<t[1]||e.minY>t[3])}var Cr=function(e,t,r,n){this.p=e,this.polylineEdge=t,this.polygonEdge=r,this.isHeadingIn=n,this.distanceFromPolylineEdgeStart=Ir(this.polylineEdge.p1.p,this.p),this.distanceFromPolygonEdgeStart=Ir(this.polygonEdge.p1.p,this.p),this.polygonEdge.intersectionPoints.push(this),this.polylineEdge.intersectionPoints.push(this),this.visitCount=0};function Ir(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*=r,n*=n,Math.sqrt(r+n)}function Lr(e,t){return e[0]*t[1]-e[1]*t[0]}function kr(e,t){return e[0]*t[0]+e[1]*t[1]}function Dr(e,t,r){return[e[0]+t*r[0],e[1]+t*r[1]]}function jr(e,t,r){var n=[e.p2.p[0]-e.p1.p[0],e.p2.p[1]-e.p1.p[1]],o=[t.p2.p[0]-t.p1.p[0],t.p2.p[1]-t.p1.p[1]],i=[t.p1.p[0]-e.p1.p[0],t.p1.p[1]-e.p1.p[1]],a=Lr(n,o),s=a*a,l=kr(n,n);if(s>0){var c=Lr(i,o)/a;if(c<0||c>1)return null;var u=Lr(i,n)/a;return u<0||u>1?null:0===c||1===c?[Dr(e.p1.p,c,n)]:0===u||1===u?[Dr(t.p1.p,u,o)]:[Dr(e.p1.p,c,n)]}var d=kr(i,i);if((s=(a=Lr(i,n))*a)>1e-9*l*d)return null;var p=kr(n,i)/l,h=p+kr(n,o)/l,f=Math.min(p,h),g=Math.max(p,h);return f<=1&&g>=0?1===f?[Dr(e.p1.p,f>0?f:0,n)]:0===g?[Dr(e.p1.p,g<1?g:1,n)]:[Dr(e.p1.p,f>0?f:0,n),Dr(e.p1.p,g<1?g:1,n)]:null}function Nr(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(n.polygonContourId===t)return n}}function Rr(e,t){return t.find(function(t){return t.id===e.polygonContourId}).rawCoords}function Fr(e,t){for(var r=0;r<t.length;r++){var n=t[r];if(_r(e[0],[n[0]]))return void n.push(e)}t.push([e])}function Br(e,t){var r=e.polygonEdge;if(r.intersectionPoints.length>1&&r.intersectionPoints[r.intersectionPoints.length-1]!==e){var n=Vr(e,r.intersectionPoints),o=r.intersectionPoints[n+1];return t.push(o.p),o.incrementVisitCount(),o}for(var i=!0;i;){if(t.push(r.p2.p),null===(r=r.nextEdge))return e;r.intersectionPoints.length>0&&(i=!1)}return r.intersectionPoints[0].incrementVisitCount(),t.push(r.intersectionPoints[0].p),r.intersectionPoints[0]}function Vr(e,t){for(var r=0;r<t.length;r++)if(t[r]===e)return r;return null}function Gr(e,t){var r=e.polylineEdge;if(2===r.intersectionPoints.length){var n=r.intersectionPoints[r.intersectionPoints.length-1];if(n===e){var o=r.intersectionPoints[0];return t.push(o.p),o.incrementVisitCount(),o}return t.push(n.p),n.incrementVisitCount(),n}if(r.intersectionPoints.length>2&&r.intersectionPoints[0]!==e){var i=Vr(e,r.intersectionPoints),a=r.intersectionPoints[i-1];return t.push(a.p),a.incrementVisitCount(),a}for(var s=!0;s;){if(t.push(r.p1.p),void 0===(r=r.prevEdge).originalIndex)return e;r.intersectionPoints.length>0&&(s=!1)}if(void 0===r.originalIndex)return e;var l=r.intersectionPoints[r.intersectionPoints.length-1];return l.incrementVisitCount(),t.push(l.p),l}function Yr(e,t){var r=e.polylineEdge;if(r.intersectionPoints.length>1&&r.intersectionPoints[r.intersectionPoints.length-1]!==e){var n=Vr(e,r.intersectionPoints),o=r.intersectionPoints[n+1];return t.push(o.p),o.incrementVisitCount(),o}for(var i=!0;i;){if(t.push(r.p2.p),null===(r=r.nextEdge))return e;r.intersectionPoints.length>0&&(i=!1)}if(void 0===r)return e;var a=r.intersectionPoints[0];return a.incrementVisitCount(),t.push(a.p),a}function Ur(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return[...e.geometry.coordinates];if("Point"===e.type)return[...e.coordinates]}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return[...e];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function Hr(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function zr(e){return"Feature"===e.type?e.geometry:e}Cr.prototype.incrementVisitCount=function(){this.visitCount=this.visitCount+1};var Wr=function e(t,r,n={}){if(!0===n.final)return function(t,r){let n=e(r,t);return n=(n+180)%360,n}(t,r);const o=Ur(t),i=Ur(r),a=$e(o[0]),s=$e(i[0]),l=$e(o[1]),c=$e(i[1]),u=Math.sin(s-a)*Math.cos(c),d=Math.cos(l)*Math.sin(c)-Math.sin(l)*Math.cos(c)*Math.cos(s-a);return Je(Math.atan2(u,d))};function Kr(e,t,r,n={}){const o=Ur(e),i=$e(o[0]),a=$e(o[1]),s=$e(r),l=Ke(t,n.units),c=Math.asin(Math.sin(a)*Math.cos(l)+Math.cos(a)*Math.sin(l)*Math.cos(s)),u=Je(i+Math.atan2(Math.sin(s)*Math.sin(l)*Math.cos(a),Math.cos(l)-Math.sin(a)*Math.sin(c))),d=Je(c);return void 0!==o[2]?Ge([u,d,o[2]],n.properties):Ge([u,d],n.properties)}var Jr=Kr;function $r(e,t,r={}){if(!e)throw new Error("point is required");if(!t)throw new Error("polygon is required");const n=Ur(e),o=zr(t),i=o.type,a=t.bbox;let s=o.coordinates;if(a&&!1===function(e,t){return t[0]<=e[0]&&t[1]<=e[1]&&t[2]>=e[0]&&t[3]>=e[1]}(n,a))return!1;"Polygon"===i&&(s=[s]);let l=!1;for(var c=0;c<s.length;++c){const e=_r(n,s[c]);if(0===e)return!r.ignoreBoundary;e&&(l=!0)}return l}class qr{constructor(e=[],t=Zr){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:r}=this,n=t[e];for(;e>0;){const o=e-1>>1,i=t[o];if(r(n,i)>=0)break;t[e]=i,e=o}t[e]=n}_down(e){const{data:t,compare:r}=this,n=this.length>>1,o=t[e];for(;e<n;){let n=1+(e<<1),i=t[n];const a=n+1;if(a<this.length&&r(t[a],i)<0&&(n=a,i=t[a]),r(i,o)>=0)break;t[e]=i,e=n}t[e]=o}}function Zr(e,t){return e<t?-1:e>t?1:0}function Xr(e,t){return e.p.x>t.p.x?1:e.p.x<t.p.x?-1:e.p.y!==t.p.y?e.p.y>t.p.y?1:-1:1}function Qr(e,t){return e.rightSweepEvent.p.x>t.rightSweepEvent.p.x?1:e.rightSweepEvent.p.x<t.rightSweepEvent.p.x?-1:e.rightSweepEvent.p.y!==t.rightSweepEvent.p.y?e.rightSweepEvent.p.y<t.rightSweepEvent.p.y?1:-1:1}class en{constructor(e,t,r,n){this.p={x:e[0],y:e[1]},this.featureId=t,this.ringId=r,this.eventId=n,this.otherEvent=null,this.isLeftEndpoint=null}isSamePoint(e){return this.p.x===e.p.x&&this.p.y===e.p.y}}let tn=0,rn=0,nn=0;function on(e,t){const r="Feature"===e.type?e.geometry:e;let n=r.coordinates;"Polygon"!==r.type&&"MultiLineString"!==r.type||(n=[n]),"LineString"===r.type&&(n=[[n]]);for(let o=0;o<n.length;o++)for(let e=0;e<n[o].length;e++){let r=n[o][e][0],i=null;rn+=1;for(let a=0;a<n[o][e].length-1;a++){i=n[o][e][a+1];const s=new en(r,tn,rn,nn),l=new en(i,tn,rn,nn+1);s.otherEvent=l,l.otherEvent=s,Xr(s,l)>0?(l.isLeftEndpoint=!0,s.isLeftEndpoint=!1):(s.isLeftEndpoint=!0,l.isLeftEndpoint=!1),t.push(s),t.push(l),r=i,nn+=1}}tn+=1}class an{constructor(e){this.leftSweepEvent=e,this.rightSweepEvent=e.otherEvent}}function sn(e,t){if(null===e||null===t)return!1;if(e.leftSweepEvent.ringId===t.leftSweepEvent.ringId&&(e.rightSweepEvent.isSamePoint(t.leftSweepEvent)||e.rightSweepEvent.isSamePoint(t.leftSweepEvent)||e.rightSweepEvent.isSamePoint(t.rightSweepEvent)||e.leftSweepEvent.isSamePoint(t.leftSweepEvent)||e.leftSweepEvent.isSamePoint(t.rightSweepEvent)))return!1;const r=e.leftSweepEvent.p.x,n=e.leftSweepEvent.p.y,o=e.rightSweepEvent.p.x,i=e.rightSweepEvent.p.y,a=t.leftSweepEvent.p.x,s=t.leftSweepEvent.p.y,l=t.rightSweepEvent.p.x,c=t.rightSweepEvent.p.y,u=(c-s)*(o-r)-(l-a)*(i-n);if(0===u)return!1;const d=((l-a)*(n-s)-(c-s)*(r-a))/u,p=((o-r)*(n-s)-(i-n)*(r-a))/u;return d>=0&&d<=1&&p>=0&&p<=1&&[r+d*(o-r),n+d*(i-n)]}function ln(e,t,r={}){const{removeDuplicates:n=!0,ignoreSelfIntersections:o=!0}=r;let i=[];"FeatureCollection"===e.type?i=i.concat(e.features):"Feature"===e.type?i.push(e):"LineString"!==e.type&&"Polygon"!==e.type&&"MultiLineString"!==e.type&&"MultiPolygon"!==e.type||i.push(Ve(e)),"FeatureCollection"===t.type?i=i.concat(t.features):"Feature"===t.type?i.push(t):"LineString"!==t.type&&"Polygon"!==t.type&&"MultiLineString"!==t.type&&"MultiPolygon"!==t.type||i.push(Ve(t));const a=function(e,t){const r=new qr([],Xr);return function(e,t){if("FeatureCollection"===e.type){const r=e.features;for(let e=0;e<r.length;e++)on(r[e],t)}else on(e,t)}(e,r),function(e,t){t=t||!1;const r=[],n=new qr([],Qr);for(;e.length;){const o=e.pop();if(o.isLeftEndpoint){const e=new an(o);for(let i=0;i<n.data.length;i++){const a=n.data[i];if(t&&a.leftSweepEvent.featureId===o.featureId)continue;const s=sn(e,a);!1!==s&&r.push(s)}n.push(e)}else!1===o.isLeftEndpoint&&n.pop()}return r}(r,t)}(He(i),o);let s=[];if(n){const e={};a.forEach(t=>{const r=t.join(",");e[r]||(e[r]=!0,s.push(t))})}else s=a;return He(s.map(e=>Ge(e)))}function cn(e,t={}){const r=zr(e);switch(t.properties||"Feature"!==e.type||(t.properties=e.properties),r.type){case"Polygon":return function(e,t={}){return un(zr(e).coordinates,t.properties?t.properties:"Feature"===e.type?e.properties:{})}(r,t);case"MultiPolygon":return function(e,t={}){const r=zr(e).coordinates,n=t.properties?t.properties:"Feature"===e.type?e.properties:{},o=[];return r.forEach(e=>{o.push(un(e,n))}),He(o)}(r,t);default:throw new Error("invalid poly")}}function un(e,t){return e.length>1?ze(e,t):Ue(e[0],t)}function dn(e,t,{ignoreSelfIntersections:r=!0}={ignoreSelfIntersections:!0}){let n=!0;return et(e,e=>{et(t,t=>{if(!1===n)return!1;n=function(e,t,r){switch(e.type){case"Point":switch(t.type){case"Point":return n=e.coordinates,o=t.coordinates,!(n[0]===o[0]&&n[1]===o[1]);case"LineString":return!pn(t,e);case"Polygon":return!$r(e,t)}break;case"LineString":switch(t.type){case"Point":return!pn(e,t);case"LineString":return!function(e,t,r){return ln(e,t,{ignoreSelfIntersections:r}).features.length>0}(e,t,r);case"Polygon":return!hn(t,e,r)}break;case"Polygon":switch(t.type){case"Point":return!$r(t,e);case"LineString":return!hn(e,t,r);case"Polygon":return!function(e,t,r){for(const n of e.coordinates[0])if($r(n,t))return!0;for(const n of t.coordinates[0])if($r(n,e))return!0;return ln(cn(e),cn(t),{ignoreSelfIntersections:r}).features.length>0}(t,e,r)}}var n,o;return!1}(e.geometry,t.geometry,r)})}),n}function pn(e,t){for(let r=0;r<e.coordinates.length-1;r++)if(fn(e.coordinates[r],e.coordinates[r+1],t.coordinates))return!0;return!1}function hn(e,t,r){for(const n of t.coordinates)if($r(n,e))return!0;return ln(t,cn(e),{ignoreSelfIntersections:r}).features.length>0}function fn(e,t,r){const n=r[0]-e[0],o=r[1]-e[1],i=t[0]-e[0],a=t[1]-e[1];return 0===n*a-o*i&&(Math.abs(i)>=Math.abs(a)?i>0?e[0]<=r[0]&&r[0]<=t[0]:t[0]<=r[0]&&r[0]<=e[0]:a>0?e[1]<=r[1]&&r[1]<=t[1]:t[1]<=r[1]&&r[1]<=e[1])}var gn=Object.defineProperty,yn=(e,t)=>gn(e,"name",{value:t,configurable:!0}),vn=class{constructor(e){var t,r,n;this.direction=!1,this.compareProperties=!0,this.precision=10**-(null!=(t=null==e?void 0:e.precision)?t:17),this.direction=null!=(r=null==e?void 0:e.direction)&&r,this.compareProperties=null==(n=null==e?void 0:e.compareProperties)||n}compare(e,t){if(e.type!==t.type)return!1;if(!bn(e,t))return!1;switch(e.type){case"Point":return this.compareCoord(e.coordinates,t.coordinates);case"LineString":return this.compareLine(e.coordinates,t.coordinates);case"Polygon":return this.comparePolygon(e,t);case"GeometryCollection":return this.compareGeometryCollection(e,t);case"Feature":return this.compareFeature(e,t);case"FeatureCollection":return this.compareFeatureCollection(e,t);default:if(e.type.startsWith("Multi")){const r=En(e),n=En(t);return r.every(e=>n.some(t=>this.compare(e,t)))}}return!1}compareCoord(e,t){return e.length===t.length&&e.every((e,r)=>Math.abs(e-t[r])<this.precision)}compareLine(e,t,r=0,n=!1){if(!bn(e,t))return!1;const o=e;let i=t;if(n&&!this.compareCoord(o[0],i[0])){const e=this.fixStartIndex(i,o);if(!e)return!1;i=e}const a=this.compareCoord(o[r],i[r]);return this.direction||a?this.comparePath(o,i):!!this.compareCoord(o[r],i[i.length-(1+r)])&&this.comparePath(o.slice().reverse(),i)}fixStartIndex(e,t){let r,n=-1;for(let o=0;o<e.length;o++)if(this.compareCoord(e[o],t[0])){n=o;break}return n>=0&&(r=[].concat(e.slice(n,e.length),e.slice(1,n+1))),r}comparePath(e,t){return e.every((e,r)=>this.compareCoord(e,t[r]))}comparePolygon(e,t){if(this.compareLine(e.coordinates[0],t.coordinates[0],1,!0)){const r=e.coordinates.slice(1,e.coordinates.length),n=t.coordinates.slice(1,t.coordinates.length);return r.every(e=>n.some(t=>this.compareLine(e,t,1,!0)))}return!1}compareGeometryCollection(e,t){return bn(e.geometries,t.geometries)&&this.compareBBox(e,t)&&e.geometries.every((e,r)=>this.compare(e,t.geometries[r]))}compareFeature(e,t){return e.id===t.id&&(!this.compareProperties||On(e.properties,t.properties))&&this.compareBBox(e,t)&&this.compare(e.geometry,t.geometry)}compareFeatureCollection(e,t){return bn(e.features,t.features)&&this.compareBBox(e,t)&&e.features.every((e,r)=>this.compare(e,t.features[r]))}compareBBox(e,t){return Boolean(!e.bbox&&!t.bbox)||!(!e.bbox||!t.bbox)&&this.compareCoord(e.bbox,t.bbox)}};yn(vn,"GeojsonEquality");var mn=vn;function bn(e,t){return e.coordinates?e.coordinates.length===t.coordinates.length:e.length===t.length}function En(e){return e.coordinates.map(t=>({type:e.type.replace("Multi",""),coordinates:t}))}function Pn(e,t,r){return new mn(r).compare(e,t)}function On(e,t){if(null===e&&null===t)return!0;if(null===e||null===t)return!1;const r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var o of r){const r=e[o],n=t[o],i=Sn(r)&&Sn(n);if(i&&!On(r,n)||!i&&r!==n)return!1}return!0}yn(bn,"sameLength"),yn(En,"explode"),yn(Pn,"geojsonEquality"),yn(On,"equal");var Sn=yn(e=>null!=e&&"object"==typeof e,"isObject");function wn(e,t,r={}){const n=Ur(e),o=Hr(t);for(let i=0;i<o.length-1;i++){let e=!1;if(r.ignoreEndVertices&&(0===i&&(e="start"),i===o.length-2&&(e="end"),0===i&&i+1===o.length-1&&(e="both")),_n(o[i],o[i+1],n,e,void 0===r.epsilon?null:r.epsilon))return!0}return!1}function _n(e,t,r,n,o){const i=r[0],a=r[1],s=e[0],l=e[1],c=t[0],u=t[1],d=c-s,p=u-l,h=(r[0]-s)*p-(r[1]-l)*d;if(null!==o){if(Math.abs(h)>o)return!1}else if(0!==h)return!1;return Math.abs(d)===Math.abs(p)&&0===Math.abs(d)?!n&&r[0]===e[0]&&r[1]===e[1]:n?"start"===n?Math.abs(d)>=Math.abs(p)?d>0?s<i&&i<=c:c<=i&&i<s:p>0?l<a&&a<=u:u<=a&&a<l:"end"===n?Math.abs(d)>=Math.abs(p)?d>0?s<=i&&i<c:c<i&&i<=s:p>0?l<=a&&a<u:u<a&&a<=l:"both"===n&&(Math.abs(d)>=Math.abs(p)?d>0?s<i&&i<c:c<i&&i<s:p>0?l<a&&a<u:u<a&&a<l):Math.abs(d)>=Math.abs(p)?d>0?s<=i&&i<=c:c<=i&&i<=s:p>0?l<=a&&a<=u:u<=a&&a<=l}function Mn(e,t={}){var r="object"==typeof t?t.mutate:t;if(!e)throw new Error("geojson is required");var n=function(e){return"FeatureCollection"===e.type?"FeatureCollection":"GeometryCollection"===e.type?"GeometryCollection":"Feature"===e.type&&null!==e.geometry?e.geometry.type:e.type}(e),o=[];switch(n){case"LineString":o=xn(e,n);break;case"MultiLineString":case"Polygon":Hr(e).forEach(function(e){o.push(xn(e,n))});break;case"MultiPolygon":Hr(e).forEach(function(e){var t=[];e.forEach(function(e){t.push(xn(e,n))}),o.push(t)});break;case"Point":return e;case"MultiPoint":var i={};Hr(e).forEach(function(e){var t=e.join("-");Object.prototype.hasOwnProperty.call(i,t)||(o.push(e),i[t]=!0)});break;default:throw new Error(n+" geometry not supported")}return e.coordinates?!0===r?(e.coordinates=o,e):{type:n,coordinates:o}:!0===r?(e.geometry.coordinates=o,e):Ve({type:n,coordinates:o},e.properties,{bbox:e.bbox,id:e.id})}function xn(e,t){const r=Hr(e);if(2===r.length&&!Tn(r[0],r[1]))return r;const n=[];let o=0,i=1,a=2;for(n.push(r[o]);a<r.length;)wn(r[i],Ue([r[o],r[a]]))?i=a:(n.push(r[i]),o=i,i++,a=i),a++;if(n.push(r[i]),"Polygon"===t||"MultiPolygon"===t){if(wn(n[0],Ue([n[1],n[n.length-2]]))&&(n.shift(),n.pop(),n.push(n[0])),n.length<4)throw new Error("invalid polygon, fewer than 4 points");if(!Tn(n[0],n[n.length-1]))throw new Error("invalid polygon, first and last points not equal")}return n}function Tn(e,t){return e[0]===t[0]&&e[1]===t[1]}function An(e,t,r={}){let n=r.precision;if(n=null==n||isNaN(n)?6:n,"number"!=typeof n||!(n>=0))throw new Error("precision must be a positive number");return zr(e).type===zr(t).type&&Pn(Mn(e),Mn(t),{precision:n})}function Cn(e,t){var r=zr(e),n=zr(t),o=r.type,i=n.type;switch(o){case"MultiPoint":switch(i){case"LineString":return In(r,n);case"Polygon":return kn(r,n);default:throw new Error("feature2 "+i+" geometry not supported")}case"LineString":switch(i){case"MultiPoint":return In(n,r);case"LineString":return function(e,t){const r=ln(e,t);if(0===r.features.length)return!1;for(const n of r.features)if(!(An(n.geometry,Ge(e.coordinates[0]))||An(n.geometry,Ge(e.coordinates[e.coordinates.length-1]))||An(n.geometry,Ge(t.coordinates[0]))||An(n.geometry,Ge(t.coordinates[t.coordinates.length-1]))))return!0;return!1}(r,n);case"Polygon":return Ln(r,n);default:throw new Error("feature2 "+i+" geometry not supported")}case"Polygon":switch(i){case"MultiPoint":return kn(n,r);case"LineString":return Ln(n,r);default:throw new Error("feature2 "+i+" geometry not supported")}default:throw new Error("feature1 "+o+" geometry not supported")}}function In(e,t){for(var r=!1,n=!1,o=e.coordinates.length,i=0;i<o&&!r&&!n;){for(var a=0;a<t.coordinates.length-1;a++){var s=!0;0!==a&&a!==t.coordinates.length-2||(s=!1),Dn(t.coordinates[a],t.coordinates[a+1],e.coordinates[i],s)?r=!0:n=!0}i++}return r&&n}function Ln(e,t){return ln(e,cn(t)).features.length>0}function kn(e,t){var r=!1,n=!1,o=e.coordinates.length;for(let i=0;i<o&&(!r||!n);i++)$r(Ge(e.coordinates[i]),t)?r=!0:n=!0;return n&&r}function Dn(e,t,r,n){var o=r[0]-e[0],i=r[1]-e[1],a=t[0]-e[0],s=t[1]-e[1];return 0===o*s-i*a&&(n?Math.abs(a)>=Math.abs(s)?a>0?e[0]<=r[0]&&r[0]<=t[0]:t[0]<=r[0]&&r[0]<=e[0]:s>0?e[1]<=r[1]&&r[1]<=t[1]:t[1]<=r[1]&&r[1]<=e[1]:Math.abs(a)>=Math.abs(s)?a>0?e[0]<r[0]&&r[0]<t[0]:t[0]<r[0]&&r[0]<e[0]:s>0?e[1]<r[1]&&r[1]<t[1]:t[1]<r[1]&&r[1]<e[1])}function jn(e){return e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]}function Nn(e){for(var t=0;t<e.length-1;t++)for(var r=e[t],n=t+1;n<e.length-2;n++)if(wn(r,Ue([e[n],e[n+1]])))return!0;return!1}function Rn(e,t,r){for(var n=Ye(e),o=r+1;o<t.length;o++)if(!dn(n,Ye(t[o]))&&Cn(n,Ue(t[o][0])))return!1;return!0}function Fn(e){let t=0;if(e&&e.length>0){t+=Math.abs(Gn(e[0]));for(let r=1;r<e.length;r++)t-=Math.abs(Gn(e[r]))}return t}var Bn=20294876564838.72,Vn=Math.PI/180;function Gn(e){const t=e.length-1;if(t<=2)return 0;let r=0,n=0;for(;n<t;){const o=e[n],i=e[n+1===t?0:n+1],a=e[n+2>=t?(n+2)%t:n+2],s=o[0]*Vn,l=i[1]*Vn;r+=(a[0]*Vn-s)*Math.sin(l),n++}return r*Bn}function Yn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Un(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Yn(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Yn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Hn=(e,t)=>{var r,n,o,i,a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"meters",n=e.geometry.coordinates,o=[],i=Wr(n[1],n[0]),a=Jr(n[0],t,i,{units:r});o.push(a.geometry.coordinates);for(var s=0;s<n.length;s++){if(s>0&&s<n.length-1){var l=Wr(n[s-1],n[s]),c=Jr(n[s],t,l,{units:r});o.push(c.geometry.coordinates)}o.push(n[s])}var u=Wr(n[n.length-2],n[n.length-1]),d=Jr(n[n.length-1],t,u,{units:r});return o.push(d.geometry.coordinates),Ue(o)}(t);try{i=function(e,t){var r=[],n=[],o=[],i=function(e,t,r,n,o){for(var i=0,a=[],s="Feature"===t.type?t.geometry:t,l="LineString"===s.type?[s.coordinates]:s.coordinates,c=0,u=0;u<l.length;u++){for(var d=l[u].length-1,p=new xr(l[u][0]),h=null,f={nextEdge:null},g=0;g<d;g++){h=new xr(l[u][g+1]),p.nextPoint=h,h.prevPoint=p;var y=new Mr(p,h,"polyline",c,null);n.push(y),f.nextEdge=y,y.prevEdge=f,o[0]=Math.min(o[0],p.p[0]),o[1]=Math.min(o[1],p.p[1]),o[2]=Math.max(o[2],p.p[0]),o[3]=Math.max(o[3],p.p[1]),p=h,c+=1,f=y}o[0]=Math.min(o[0],l[u][d][0]),o[1]=Math.min(o[1],l[u][d][1]),o[2]=Math.max(o[2],l[u][d][0]),o[3]=Math.max(o[3],l[u][d][1])}for(var v="Feature"===e.type?e.geometry:e,m="Polygon"===v.type?[v.coordinates]:v.coordinates,b=m.length,E=0;E<b;E++)for(var P=m[E].length,O=0;O<P;O++){i+=1;var S=m[E][O],w=S.length;a.push(new Tr(i,S));for(var _=new xr(S[0]),M=_,x=void 0,T=null,A={nextEdge:null,prevEdge:null},C=null,I=1;I<w;I++)x=new xr(S[I]),M.nextPoint=x,x.prevPoint=M,T=new Mr(M,x,"polygon",c,i),A.nextEdge=T,T.prevEdge=A,1===I&&(C=T),O>0&&(T.interiorRing=!0),T.intersectPolylineBbox=Ar(T,o),r.push(T),M=x,c+=1,A=T;T.nextEdge=C,C.prevEdge=T,x.nextPoint=_.nextPoint,_.prevPoint=x.prevPoint}return a}(function(e,t){if(null===(r=t=t||{})||"object"!=typeof r||Array.isArray(r))throw new Error("options is invalid");var r,n=t.reverse||!1,o=t.mutate||!1;if(!e)throw new Error("<geojson> is required");if("boolean"!=typeof n)throw new Error("<reverse> must be a boolean");if("boolean"!=typeof o)throw new Error("<mutate> must be a boolean");!1===o&&(e=function(e){if(!e)throw new Error("geojson is required");switch(e.type){case"Feature":return ir(e);case"FeatureCollection":return function(e){var t={type:"FeatureCollection"};return Object.keys(e).forEach(function(r){switch(r){case"type":case"features":return;default:t[r]=e[r]}}),t.features=e.features.map(function(e){return ir(e)}),t}(e);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return sr(e);default:throw new Error("unknown GeoJSON type")}}(e));var i=[];switch(e.type){case"GeometryCollection":return Qe(e,function(e){dr(e,n)}),e;case"FeatureCollection":return Xe(e,function(e){Xe(dr(e,n),function(e){i.push(e)})}),He(i)}return dr(e,n)}(e),t,n,o,[1/0,1/0,1/0,1/0]);if(function(e,t,r){var n,o,i,a=t.length,s=e.length;for(n=0;n<a;n++){var l=t[n];for(o=0;o<s;o++){var c=e[o];if(c.intersectPolylineBbox&&!(c.maxX<l.minX||c.minX>l.maxX||c.maxY<l.minY||c.minY>l.maxY)){var u=jr(l,c);if(null!==u)for(i=0;i<u.length;i++){var d=wr(c.p1.p[0],c.p1.p[1],c.p2.p[0],c.p2.p[1],l.p1.p[0],l.p1.p[1]),p=new Cr(u[i],l,c,d>0);r.push(p)}}}}t.forEach(function(e){e.intersectionPoints.sort(function(e,t){return e.distanceFromPolylineEdgeStart-t.distanceFromPolylineEdgeStart})}),e.forEach(function(e){e.intersectionPoints.sort(function(e,t){return e.distanceFromPolygonEdgeStart-t.distanceFromPolygonEdgeStart})})}(n,o,r),0===r.length)return e;var a={};i.forEach(function(e){return a[e.id]=0}),r.forEach(function(e){var t=e.polygonEdge.polygonContourId;a[t]=a[t]+1});for(var s=0,l=[],c=null,u=0;u<o.length;u++){var d=o[u];if(d.intersectionPoints.length>0){c=d.intersectionPoints[0];break}}for(var p=c,h={visitCount:1};c!==h&&!(s>2*r.length);){if(s=s++,h.visitCount>=2){for(var f=!1,g=0;g<r.length;g++){var y=r[g];if(y.visitCount<2){p=y,f=!0;break}}if(!f)break}p.visitCount=p.visitCount+1;var v=[];l.push(v),v.push(p.p),p.visitCount=p.visitCount+1;var m=Br(p,v),b=!1;if(m===(h=m)&&2===r.length)for(var E=0;E<r.length;E++)r[E].visitCount<2&&(b=!0);for(;m!==p||b;)(m=(m.isHeadingIn?Yr:Gr)(m,v))!==p&&(m=Br(m,v)),b=!1;if(h.visitCount>=2){for(var P=!1,O=0;O<r.length;O++){var S=r[O];if(S.visitCount<2){p=S,P=!0;break}}P&&(h=p)}p=h}for(var w=l.map(function(e){return[e]}),_=Object.keys(a),M=0;M<_.length;M++){var x=_[M];0===a[x]&&Fr(Rr(Nr(n,parseInt(x)),i),w)}return{type:"Feature",properties:{},geometry:{type:"MultiPolygon",coordinates:w}}}(e,a)}catch(e){return null}var s=[];if("MultiPolygon"!==i.geometry.type)return null;if(2!==i.geometry.coordinates.length)return null;s=i.geometry.coordinates.map(t=>Ye(t,e.properties));var l=null!==(r=null!==(n=e.id)&&void 0!==n?n:null===(o=e.properties)||void 0===o?void 0:o.id)&&void 0!==r?r:"poly";return He(s.map((t,r)=>Ye(t.geometry.coordinates,Un(Un({},e.properties),{},{id:l}),{id:"".concat(l,"-").concat(r+1)})))},zn=(e,t)=>{var[r,n]=e,[o,i]=t,a=e=>e*Math.PI/180,s=a(i-n),l=a(o-r),c=Math.sin(s/2)**2+Math.cos(a(n))*Math.cos(a(i))*Math.sin(l/2)**2;return 12742e3*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))},Wn=e=>{if(e[0].length<=1||function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.01;if(e[0].length<=1)return!0;if(e[0].length<=3)for(var r=0;r<e[0].length;r++)for(var n=r+1;n<e[0].length;n++)if(zn(e[0][r],e[0][n])<t)return!1;return!0}(e))return!0;if(!Array.isArray(e)||e.length<4)return!1;var t=e[0],r=e[e.length-1];if(t[0]!==r[0]||t[1]!==r[1])return!1;var n=Ye([e]);return!(!function(e){if(!e.type)return!1;const t=zr(e),r=t.type,n=t.coordinates;switch(r){case"Point":return n.length>1;case"MultiPoint":for(var o=0;o<n.length;o++)if(n[o].length<2)return!1;return!0;case"LineString":if(n.length<2)return!1;for(o=0;o<n.length;o++)if(n[o].length<2)return!1;return!0;case"MultiLineString":if(n.length<2)return!1;for(o=0;o<n.length;o++)if(n[o].length<2)return!1;return!0;case"Polygon":for(o=0;o<t.coordinates.length;o++){if(n[o].length<4)return!1;if(!jn(n[o]))return!1;if(Nn(n[o]))return!1;if(o>0&&ln(Ye([n[0]]),Ye([n[o]])).features.length>1)return!1}return!0;case"MultiPolygon":for(o=0;o<t.coordinates.length;o++)for(var i=t.coordinates[o],a=0;a<i.length;a++){if(i[a].length<4)return!1;if(!jn(i[a]))return!1;if(Nn(i[a]))return!1;if(0===a&&!Rn(i,t.coordinates,o))return!1;if(a>0&&ln(Ye([i[0]]),Ye([i[a]])).features.length>1)return!1}return!0;default:return!1}}(n)||function(e){return function(e){var t=0;return Qe(e,function(e,r,n,o,i){t=((e,t)=>e+function(e){let t,r=0;switch(e.type){case"Polygon":return Fn(e.coordinates);case"MultiPolygon":for(t=0;t<e.coordinates.length;t++)r+=Fn(e.coordinates[t]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(t))(t,e)}),t}(e)}(n)<=0)},Kn={findVertexIndex(e,t,r){var n=[];return e.forEach((e,r)=>{e[0]===t[0]&&e[1]===t[1]&&n.push(r)}),0===n.length?-1:1===n.length?n[0]:r>=0?n.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e):n[0]},getCoordPath(e,t){var r=this.getFeature(e.featureId);if(!r)return"0";var n=Wt(r),o=Kt(n,t);if(!o)return"0";var{segment:i,localIdx:a}=o;return[...i.path,a].join(".")},syncVertices(e){e.vertecies=this.getVerticies(e.featureId),e.midpoints=this.getMidpoints(e.featureId)},getVerticies(e){return zt(this.getFeature(e))||[]},getMidpoints(e){var t=this.getFeature(e),r=zt(t),n=Wt(t);if(null==r||!r.length||!n.length)return[];var o=[];for(var i of n)for(var a=i.closed?i.length:i.length-1,s=0;s<a;s++){var l=i.start+s,c=i.start+(s+1)%i.length,[u,d]=r[l],[p,h]=r[c];o.push([(u+p)/2,(d+h)/2])}return o},getVertexOrMidpoint(e,t){var r,n;if(null!==(r=e.vertecies)&&void 0!==r&&r.length||(e.vertecies=this.getVerticies(e.featureId),e.midpoints=this.getMidpoints(e.featureId)),null===(n=e.vertecies)||void 0===n||!n.length)return[-1,null];var o=e=>e?Object.values(this.map.project(e)):null,i=[...e.vertecies.map(o),...e.midpoints.map(o)].filter(Boolean);if(!i.length)return[-1,null];var a=((e,t,r)=>{var n=t.filter((t,n)=>{var o=Math.abs(t[0]-e[0]),i=Math.abs(t[1]-e[1]);return("ArrowUp"===r?t[1]<=e[1]&&i>=o:"ArrowDown"===r?t[1]>e[1]&&i>=o:"ArrowLeft"===r?t[0]<=e[0]&&i<o:"ArrowRight"!==r||t[0]>e[0]&&i<o)&&JSON.stringify(t)!==JSON.stringify(e)});n.length||n.push(e);var o=n.map(t=>{return r=Math.abs(e[0]-t[0]),n=Math.abs(e[1]-t[1]),Math.sqrt(Math.pow(r,2)+Math.pow(n,2));var r,n}),i=n[o.indexOf(Math.min(...o))];return t.findIndex(e=>JSON.stringify(e)===JSON.stringify(i))})(i[e.selectedVertexIndex]||Object.values(this.map.project(this.map.getCenter())),i,t);return[a,a<e.vertecies.length?"vertex":"midpoint"]},getVertexIndexFromMidpoint(e,t){var r=this.getFeature(e.featureId),n=Wt(r),o=t.split(".").map(Number),i=0;for(var a of n){if(a.path.every((e,t)=>e===o[t])&&o.length===a.path.length+1){var s=o[o.length-1],l=s>0?s-1:a.length-2;return e.vertecies.length+i+l}i+=a.closed?a.length:a.length-1}return e.vertecies.length}};function Jn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function $n(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Jn(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Jn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var qn=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"]),Zn={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]},Xn=$n($n($n($n($n($n({},St),Xt),tr),or),Kn),{},{onSetup(e){var t,r,n=St.onSetup.call(this,e);Object.assign(n,{container:e.container,interfaceType:e.interfaceType,deleteVertexButtonId:e.deleteVertexButtonId,undoButtonId:e.undoButtonId,isPanEnabled:e.isPanEnabled,getSnapEnabled:e.getSnapEnabled,featureId:n.featureId||e.featureId,selectedVertexIndex:null!==(t=e.selectedVertexIndex)&&void 0!==t?t:-1,selectedVertexType:e.selectedVertexType,coordPath:e.coordPath,scale:null!==(r=e.scale)&&void 0!==r?r:1});var o=this.getFeature(n.featureId);n.featureType=null==o?void 0:o.type,n.vertecies=this.getVerticies(n.featureId),n.midpoints=this.getMidpoints(n.featureId),this.setupEventListeners(n),"midpoint"===e.selectedVertexType?(n.selectedCoordPaths=[],this.clearSelectedCoordinates(),n.feature&&n.feature.changed(),this._ctx.store.render(),this.updateMidpoint(n.midpoints[e.selectedVertexIndex-n.vertecies.length])):-1===e.selectedVertexIndex&&(n.selectedCoordPaths=[],this.clearSelectedCoordinates(),n.feature&&n.feature.changed(),this._ctx.store.render()),this.addTouchVertexTarget(n);var i=p(this.map);if(i&&y(i,this.map),"touch"===n.interfaceType&&n.selectedVertexIndex>=0&&"vertex"===n.selectedVertexType){var a=n.vertecies[n.selectedVertexIndex];a&&setTimeout(()=>{this.updateTouchVertexTarget(n,qt(this.map.project(a),n.scale))},0)}return n._ignorePointermoveDeselect=!0,setTimeout(()=>{n._ignorePointermoveDeselect=!1},100),n},setupEventListeners(e){var t=t=>r=>t.call(this,e,r),r=this.handlers={keydown:t(this.onKeydown),keyup:t(this.onKeyup),pointerdown:t(this.onPointerevent),pointermove:t(this.onPointerevent),pointerup:t(this.onPointerevent),click:t(this.onButtonClick),touchstart:t(this.onTouchstart),touchmove:t(this.onTouchmove),touchend:t(this.onTouchend),selectionchange:t(this.onSelectionChange),scalechange:t(this.onScaleChange),update:t(this.onUpdate),move:t(this.onMove)};window.addEventListener("keydown",r.keydown,{capture:!0}),window.addEventListener("keyup",r.keyup,{capture:!0}),window.addEventListener("click",r.click),e.container.addEventListener("pointerdown",r.pointerdown),e.container.addEventListener("pointermove",r.pointermove),e.container.addEventListener("pointerup",r.pointerup),e.container.addEventListener("touchstart",r.touchstart,{passive:!1}),e.container.addEventListener("touchmove",r.touchmove,{passive:!1}),e.container.addEventListener("touchend",r.touchend,{passive:!1}),this.map.on("draw.selectionchange",r.selectionchange),this.map.on("draw.scalechange",r.scalechange),this.map.on("draw.update",r.update),this.map.on("move",r.move)},onSelectionChange(e,t){var r,n,o=null===(r=t.points[t.points.length-1])||void 0===r?void 0:r.geometry.coordinates;if("keyboard"!==e.interfaceType&&o&&!e.coordPath){var i,a=null===(i=t.features[0])||void 0===i?void 0:i.geometry,s=zt(a);e.selectedVertexIndex=this.findVertexIndex(s,o,e.selectedVertexIndex)}null!==(n=e.selectedVertexType)&&void 0!==n||(e.selectedVertexType=e.selectedVertexIndex>=0?"vertex":null),this.map.fire("draw.vertexselection",{index:"vertex"===e.selectedVertexType?e.selectedVertexIndex:-1,numVertecies:e.vertecies.length});var l=o||(e.selectedVertexIndex>=0?e.vertecies[e.selectedVertexIndex]:null);this.updateTouchVertexTarget(e,l?qt(this.map.project(l),e.scale):null)},onScaleChange(e,t){e.scale=t.scale},onUpdate(e){var t,r=new Set(e.vertecies.map(e=>JSON.stringify(e)));r.size!==e.vertecies.length&&(e.selectedVertexIndex=e.vertecies.findIndex(e=>!r.has(JSON.stringify(e))),null!==(t=e.selectedVertexType)&&void 0!==t||(e.selectedVertexType=e.selectedVertexIndex>=0?"vertex":null))},onKeydown(e,t){if(e.container.contains(document.activeElement)){if(e.interfaceType="keyboard",this.hideTouchVertexIndicator(e)," "===t.key&&e.selectedVertexIndex<0){var r,n,o=p(this.map);if(o&&y(o,this.map),null!==(r=e.vertecies)&&void 0!==r&&r.length||(e.vertecies=this.getVerticies(e.featureId),e.midpoints=this.getMidpoints(e.featureId)),null===(n=e.vertecies)||void 0===n||!n.length)return;return e.isPanEnabled=!1,this.updateVertex(e)}if(!t.altKey&&qn.has(t.key)&&e.selectedVertexIndex>=0){if(t.preventDefault(),t.stopPropagation(),"midpoint"===e.selectedVertexType)return this.insertVertex(e,t);var i=p(this.map),a=this.getFeature(e.featureId);if(!a)return;var s=zt(a),l=null==s?void 0:s[e.selectedVertexIndex];if(!l)return;if(e._keyboardMoveStartPosition||(e._keyboardMoveStartPosition=[...l],e._keyboardMoveStartIndex=e.selectedVertexIndex),m(e)&&e._isSnapped&&i){var c=function(e){var t,r;return null!==(t=null==e||null===(r=e.options)||void 0===r?void 0:r.radius)&&void 0!==t?t:15}(i)+1,u=this.map.project(l),[d,v]=Zn[t.key].map(e=>e*c);return e._isSnapped=!1,y(i,this.map),this.moveVertex(e,this.map.unproject({x:u.x+d,y:u.y+v}))}var b=this.getNewCoord(e,t);return m(e)&&i&&(g(i,this.map,this.map.project(b)),h(i))?(e._isSnapped=!0,this.moveVertex(e,f(i))):(e._isSnapped=!1,this.moveVertex(e,b))}if(t.altKey&&qn.has(t.key)&&e.selectedVertexIndex>=0)return t.preventDefault(),t.stopPropagation(),this.updateVertex(e,t.key);if("Escape"===t.key&&this.changeMode(e,{isPanEnabled:!0,selectedVertexIndex:-1,selectedVertexType:null}),"z"===t.key&&(t.metaKey||t.ctrlKey)&&!t.shiftKey){var E,P=null===(E=document.activeElement)||void 0===E?void 0:E.tagName;if("INPUT"===P||"TEXTAREA"===P)return;return t.preventDefault(),t.stopPropagation(),this.handleUndo(e)}}},onKeyup(e,t){e.container.contains(document.activeElement)&&(e.interfaceType="keyboard",qn.has(t.key)&&e.selectedVertexIndex>=0&&(t.stopPropagation(),e._keyboardMoveStartPosition&&void 0!==e._keyboardMoveStartIndex&&(this.pushUndo({type:"move_vertex",featureId:e.featureId,vertexIndex:e._keyboardMoveStartIndex,previousPosition:e._keyboardMoveStartPosition}),e._keyboardMoveStartPosition=null,e._keyboardMoveStartIndex=void 0)),"Delete"===t.key&&this.deleteVertex(e))},onMouseDown(e,t){var r,n;v(p(this.map));var o=null===(r=t.featureTarget)||void 0===r?void 0:r.properties.meta,i=null===(n=t.featureTarget)||void 0===n?void 0:n.properties.coord_path;if(["vertex","midpoint"].includes(o)&&(e.dragMoveLocation=t.lngLat,e.dragMoving=!1,St.onMouseDown.call(this,e,t),"vertex"===o&&i)){var a,s=this.getFeature(e.featureId),l=$t(s,i);e.selectedVertexIndex=l,e.selectedVertexType="vertex",e.coordPath=i;var c=null===(a=e.vertecies)||void 0===a?void 0:a[l];c&&(e._moveStartPosition=[...c],e._moveStartIndex=l)}if("midpoint"===o){var u=this.getFeature(e.featureId),d=$t(u,i);e._insertedVertexIndex=d,e._isInsertingVertex=!0,e.selectedVertexIndex=this.getVertexIndexFromMidpoint(e,i),e.selectedVertexType="vertex",e.coordPath=null,this.map.fire("draw.vertexselection",{index:e.selectedVertexIndex,numVertecies:e.vertecies.length})}},onMouseUp(e,t){v(p(this.map));var r=!1;if(e._moveStartPosition&&void 0!==e._moveStartIndex){var n=this.getFeature(e.featureId);if(n){var o,i=null===(o=zt(n))||void 0===o?void 0:o[e._moveStartIndex];i&&(r=i[0]!==e._moveStartPosition[0]||i[1]!==e._moveStartPosition[1])}}var a=e._isInsertingVertex&&void 0!==e._insertedVertexIndex;if(e.dragMoving||r||a)if(this.syncVertices(e),a){var s=e._insertedVertexIndex;this.pushUndo({type:"insert_vertex",featureId:e.featureId,vertexIndex:s}),e.selectedVertexIndex=s,e.selectedVertexType="vertex",e._isInsertingVertex=!1,e._insertedVertexIndex=void 0,this.map.fire("draw.vertexselection",{index:s,numVertecies:e.vertecies.length})}else r&&e._moveStartPosition&&void 0!==e._moveStartIndex&&this.pushUndo({type:"move_vertex",featureId:e.featureId,vertexIndex:e._moveStartIndex,previousPosition:e._moveStartPosition});e._moveStartPosition=null,e._moveStartIndex=null,St.onMouseUp.call(this,e,t)},onDrag(e,t){var r;if("touch"!==e.interfaceType){this.map.fire("draw.geometrychange",e.feature);var n=p(this.map);if(n&&(n.snapStatus=!1,n.snapCoords=null),m(e)&&null!=n&&n.status){if(null!==(r=e.selectedCoordPaths)&&void 0!==r&&r.length&&e.canDragMove){e.dragMoving=!0,t.originalEvent.stopPropagation(),g(n,this.map,t.point);var o=f(n)||t.lngLat;e.feature.updateCoordinate(e.selectedCoordPaths[0],o.lng,o.lat),e.dragMoveLocation=t.lngLat}}else St.onDrag.call(this,e,t)}},onMove(e){var t=e.vertecies[e.selectedVertexIndex];t&&this.updateTouchVertexTarget(e,qt(this.map.project(t),e.scale))},onButtonClick(e,t){t.target.closest("#".concat(e.deleteVertexButtonId))&&"vertex"===e.selectedVertexType&&this.deleteVertex(e),t.target.closest("#".concat(e.undoButtonId))&&this.handleUndo(e)},clickNoTarget(e){this.changeMode(e,{selectedVertexIndex:-1,selectedVertexType:null,isPanEnabled:!0})},changeMode(e,t){e.featureId&&this._ctx.api.changeMode("edit_vertex",$n($n({},e),t))},onStop(e){var t=this.handlers;e.container.removeEventListener("pointerdown",t.pointerdown),e.container.removeEventListener("pointermove",t.pointermove),e.container.removeEventListener("pointerup",t.pointerup),e.container.removeEventListener("touchstart",t.touchstart),e.container.removeEventListener("touchmove",t.touchmove),e.container.removeEventListener("touchend",t.touchend),this.map.off("draw.selectionchange",t.selectionchange),this.map.off("draw.scalechange",t.scalechange),this.map.off("draw.update",t.update),this.map.off("move",t.move),this.map.dragPan.enable(),window.removeEventListener("click",t.click),window.removeEventListener("keydown",t.keydown,{capture:!0}),window.removeEventListener("keyup",t.keyup,{capture:!0}),this.hideTouchVertexIndicator(e)}});function Qn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function eo(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Qn(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Qn(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var to=(e,t)=>{var{featureProp:r,geometryType:n,getCoords:o,validateClick:i,createVertices:a,excludeFeatureIdFromSetup:s=!1,finishOnInvalidClick:l=!1}=t,c=e=>e[r];return eo(eo({},e),{},{onSetup(t){var{map:n}=this,o=s?eo(eo({},t),{},{featureId:void 0}):t,i=eo(eo({},e.onSetup.call(this,o)),t);i[r].properties=t.properties;var{container:a,interfaceType:l,vertexMarkerId:c}=i,u=a.querySelector("#".concat(c));u.style.display=["touch","keyboard"].includes(l)?"block":"none",i.vertexMarker=u;var d=(e,t)=>this[e]=t.bind(this,i),p={keydownHandler:this.onKeydown,keyupHandler:this.onKeyup,focusHandler:this.onFocus,blurHandler:this.onBlur,createHandler:this.onCreate,moveHandler:this.onMove,pointerdownHandler:this.onPointerdown,pointermoveHandler:this.onPointermove,pointerupHandler:this.onPointerup,vertexButtonClickHandler:this.onVertexButtonClick,undoHandler:this.onUndo};return Object.entries(p).forEach(e=>{var[t,r]=e;return d(t,r)}),this._listeners=[[window,"keydown",this.keydownHandler],[window,"keyup",this.keyupHandler],[window,"click",this.vertexButtonClickHandler],[a,"focus",this.focusHandler],[a,"blur",this.blurHandler],[a,"pointermove",this.pointermoveHandler],[a,"pointerup",this.pointerupHandler],[n,"pointerdown",this.pointerdownHandler],[n,"draw.create",this.createHandler],[n,"move",this.moveHandler],[n,"draw.undo",this.undoHandler]],this._listeners.forEach(e=>{var[t,r,n]=e;return t.addEventListener?t.addEventListener(r,n):t.on(r,n)}),i},onClick(t,r){if(!(r.originalEvent.button>0||this.map._undoInProgress||r.originalEvent.target!==this.map.getCanvas())){var n=p(this.map);if(m(t)&&h(n))r=function(e,t){var r=f(t);return r?d(d({},e),{},{lngLat:r}):e}(r,n);else{var i=o(c(t));i.length>0&&(i[i.length-1]=[r.lngLat.lng,r.lngLat.lat])}var a=o(c(t)).length;e.onClick.call(this,t,r),o(c(t)).length>a&&this.pushDrawUndo(t)}},onTap(){},doClick(t){if(!this.map._undoInProgress){var r=c(t),n=o(r);if(this.dispatchVertexChange(n),i(r)){var a=p(this.map),s=m(t)&&function(e,t){var r=f(t);if(!r)return null;var n=e.project([r.lng,r.lat]);return{lngLat:r,point:n,originalEvent:new MouseEvent("click",{clientX:n.x,clientY:n.y,bubbles:!0,cancelable:!0})}}(this.map,a),u=n.length;s?(e.onClick.call(this,t,s),this._ctx.store.render()):this._simulateMouse("click",e.onClick,t),o(c(t)).length>u&&this.pushDrawUndo(t)}else l&&n.length>1&&(n.pop(),this.map.fire("draw.create",{features:[r.toGeoJSON()]}),this.changeMode("simple_select",{featureIds:[r.id]}))}},dispatchVertexChange(e){this.map.fire("draw.vertexchange",{numVertecies:e.length})},pushDrawUndo(e){var t=this.map._undoStack;t&&!this.map._undoInProgress&&t.push({type:"draw_vertex",geometryType:n,featureId:c(e).id})},undoVertex(e){var t=c(e),r=o(t);return!(r.length<2)&&(2===r.length?this._reinitializeFeature(e,t):(this._removeLastVertex(e,t,r),!0))},_reinitializeFeature(t,o){var i=o.id;if(this._ctx.store.delete([i]),"LineString"===n){var a=this.map._undoStack;return a&&a.clear(),this._ctx.api.changeMode("draw_line",{featureId:i,container:t.container,interfaceType:t.interfaceType,vertexMarkerId:t.vertexMarkerId,addVertexButtonId:t.addVertexButtonId,getSnapEnabled:t.getSnapEnabled,properties:t.properties}),!0}var s=this.map.getCenter(),l=[[s.lng,s.lat],[s.lng,s.lat]],c=this.newFeature({type:"Feature",properties:t.properties||{},geometry:{type:n,coordinates:[l]}});return c.id=i,this._ctx.store.add(c),t[r]=c,t.currentVertexPosition=0,this._ctx.store.render(),this._simulateMouse("mousemove",e.onMouseMove,t),this._ctx.store.render(),this.dispatchVertexChange(l),!0},_removeLastVertex(e,t,r){var i="Polygon"===n?t.coordinates[0]:r;i.splice(i.length-2,1);var a=i[i.length-2];a&&(i[i.length-1]=[...a]),e.currentVertexPosition=Math.max(1,e.currentVertexPosition-1),this._ctx.store.render(),this._updateRubberBand(e,o(t))},_updateRubberBand(t,r){if(["touch","keyboard"].includes(t.interfaceType))this._simulateMouse("mousemove",e.onMouseMove,t),this._ctx.store.render();else{var o=r["Polygon"===n?r.length-2:r.length-1];if(o){var i={lng:o[0],lat:o[1]},a=this.map.project(i);e.onMouseMove.call(this,t,{lngLat:i,point:a,originalEvent:new MouseEvent("mousemove",{clientX:a.x,clientY:a.y})}),this._ctx.store.render()}}this.dispatchVertexChange(r)},onUndo(e,t){var r;"draw_vertex"===(null===(r=t.operation)||void 0===r?void 0:r.type)&&this.undoVertex(e)},_simulateMouse(e,t,r){var{map:n}=this,o=n.getCenter(),i=n.project(o);t.call(this,r,{lngLat:o,point:i,originalEvent:new MouseEvent(e,{clientX:i.x,clientY:i.y,bubbles:!0,cancelable:!0})}),this._ctx.store.render(),this.map.fire("draw.geometrychange",r.polygon||r.line)},_setInterface(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e.interfaceType=t,r&&(e.vertexMarker.style.display="block")},onCreate(e,t){var r=this._ctx.api,n=t.features[0];r.delete(n.id),n.id=e.featureId,r.add(n,{userProperties:!0})},onVertexButtonClick(e,t){e.addVertexButtonId&&!this.map._undoInProgress&&t.target.closest("#".concat(e.addVertexButtonId))&&this.doClick(e)},onTouchStart(e,t){this._setInterface(e,"touch"),this.onMove(e,t)},onTouchEnd(e,t){this._setInterface(e,"touch"),this.onMove(e,t)},onKeydown(e,t){if("z"!==t.key||!t.metaKey&&!t.ctrlKey||t.shiftKey){if(document.activeElement===e.container){if("Escape"===t.key)return t.preventDefault();"Enter"===t.key&&(e.isActive=!0),this._setInterface(e,"keyboard"),this.onMove(e,t)}}else{var r,n=null===(r=document.activeElement)||void 0===r?void 0:r.tagName;if("INPUT"===n||"TEXTAREA"===n)return;t.preventDefault(),t.stopPropagation();var o=this.map._undoStack;if(o&&o.length>0){var i=o.pop();"draw_vertex"===(null==i?void 0:i.type)&&(this.map._undoInProgress=!0,setTimeout(()=>{this.map._undoInProgress=!1},100),this.undoVertex(e))}}},onKeyup(e,t){"Escape"!==t.key?document.activeElement===e.container&&(this._setInterface(e,"keyboard"),this.onMove(e,t),"Enter"===t.key&&e.isActive&&this.doClick(e)):"keyboard"!==e.interfaceType&&this.map.fire("draw.cancel")},onKeyUp(t,r){var n=document.activeElement;if(!n||n===t.container||!t.container.contains(n))if("Escape"!==r.key)n!==t.container&&e.onKeyUp.call(this,t,r);else if("keyboard"===t.interfaceType){var o=this.map._undoStack;o&&o.clear(),this._reinitializeFeature(t,c(t))}},onFocus(e){e.vertexMarker.style.display=["touch","keyboard"].includes(e.interfaceType)?"block":"none"},onBlur(e,t){t.target!==e.container&&(e.vertexMarker.style.display="none")},onMouseMove(t,r){if(m(t)){var n=p(this.map);g(n,this.map,r.point);var o=f(n);o&&(r=eo(eo({},r),{},{lngLat:o}))}this.map.fire("draw.geometrychange",t.polygon||t.line),e.onMouseMove.call(this,t,r)},onMove(t){if(["touch","keyboard"].includes(t.interfaceType)){m(t)&&function(e,t){if(!e||!t||!e.status)return!1;var r=t.getCenter(),n=t.project(r);e.snapToClosestPoint({point:n,lngLat:r})}(p(this.map),this.map);var r=p(this.map),n=m(t)&&f(r);if(n){var o=this.map.project([n.lng,n.lat]);e.onMouseMove.call(this,t,{lngLat:n,point:o,originalEvent:new MouseEvent("mousemove",{clientX:o.x,clientY:o.y,bubbles:!0,cancelable:!0})}),this._ctx.store.render()}else this._simulateMouse("mousemove",e.onMouseMove,t)}},onPointerdown(e,t){"touch"!==t.pointerType&&this._setInterface(e,"pointer",!1)},onPointermove(e,t){"touch"!==t.pointerType&&(e.vertexMarker.style.display="none")},onPointerup(e){this.dispatchVertexChange(o(c(e)))},toDisplayFeatures(t,r,o){e.toDisplayFeatures.call(this,t,r,o);var i=c(t);r.geometry.type===n&&r.id===i.id&&a(r,o,Re)},onStop(t){e.onStop.call(this,t),this._listeners.forEach(e=>{var[t,r,n]=e;return t.removeEventListener?t.removeEventListener(r,n):t.off(r,n)}),t.vertexMarker.style.display="none"}})},ro=to(Mt,{featureProp:"polygon",geometryType:"Polygon",getCoords:e=>e.coordinates[0],validateClick:e=>Wn(e.coordinates),createVertices:(e,t,r)=>{for(var n=e.geometry.coordinates[0],o=1;o<n.length-2;o++)t(r(e.id,n[o],"0.".concat(o)))}}),no=to(xt,{featureProp:"line",geometryType:"LineString",getCoords:e=>e.coordinates,validateClick:e=>(e=>e.length<=1||function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.01;if(e.length<=1)return!0;if(e.length>=2){var r=e[e.length-1],n=e[e.length-2];if(zn(r,n)<t)return!1}return!0}(e))(e.coordinates),excludeFeatureIdFromSetup:!0,finishOnInvalidClick:!0,createVertices:(e,t,r)=>{for(var n=e.geometry.coordinates,o=1;o<n.length-1;o++)t(r(e.id,n[o],"".concat(o)))}}),oo={editColorsForeground:{light:"rgba(29,112,184,1)",dark:"#ffffff"},editColorsBackground:{light:"#ffffff",dark:"rgba(11,12,12,1)"},editColorsHalo:{light:"rgba(11,12,12,1)",dark:"#ffffff"},splitInvalidColors:{light:"rgba(29,112,184,1)",dark:"rgba(29,112,184,1)"},splitValidColors:{light:"rgba(29,112,184,1)",dark:"rgba(29,112,184,1)"},stroke:"rgba(212,53,28,1)",strokeWidth:2,fill:"rgba(212,53,28,0.1)",snapLayers:[],snapColors:{vertex:"rgba(212,53,28,1)",midpoint:"rgba(40,161,151,1)",edge:"rgba(29,112,184,1)"},snapRadius:10},io=e=>{var t;return null!==(t=e.mapColorScheme)&&void 0!==t?t:"light"},ao=(e,t)=>["coalesce",["get","user_".concat(t).concat(e.id.charAt(0).toUpperCase()+e.id.slice(1))],["get","user_".concat(t)],oo[t]],so=e=>({id:"fill-inactive",type:"fill",filter:["all",["==","$type","Polygon"],["==","active","false"]],paint:{"fill-color":ao(e,"fill")}}),lo=e=>({id:"stroke-inactive",type:"line",filter:["all",["any",["==","$type","Polygon"],["==","$type","LineString"]],["==","active","false"],["!has","user_splitter"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":ao(e,"stroke"),"line-width":ao(e,"strokeWidth")}}),co=e=>({id:"fill-active",type:"fill",filter:["all",["==","$type","Polygon"],["==","active","true"]],paint:{"fill-color":e,"fill-opacity":.1}}),uo=e=>({id:"stroke-active",type:"line",filter:["all",["any",["==","$type","Polygon"],["==","$type","LineString"]],["==","active","true"],["!has","user_splitter"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":e,"line-width":2,"line-opacity":1}}),po=e=>({id:"stroke-invalid-splitter",type:"line",filter:["all",["==","$type","LineString"],["==","active","true"],["==","user_splitter","invalid"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":e,"line-width":2,"line-dasharray":[.2,2],"line-opacity":1}}),ho=e=>({id:"stroke-valid-splitter",type:"line",filter:["all",["==","$type","LineString"],["==","active","true"],["==","user_splitter","valid"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":e,"line-width":2,"line-opacity":1}}),fo=e=>({id:"stroke-preview-line",type:"line",filter:["all",["==","$type","LineString"],["==","active","true"],["!has","user_splitter"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":e,"line-width":2,"line-dasharray":[.2,2],"line-opacity":1}}),go=e=>({id:"vertex",type:"circle",filter:["all",["==","$type","Point"],["==","meta","vertex"]],paint:{"circle-radius":6,"circle-color":e}}),yo=(e,t)=>({id:"vertex-halo",type:"circle",filter:["all",["==","$type","Point"],["==","meta","vertex"],["==","active","true"]],paint:{"circle-radius":8,"circle-stroke-width":3,"circle-color":e,"circle-stroke-color":t}}),vo=e=>({id:"vertex-active",type:"circle",filter:["all",["==","$type","Point"],["==","meta","vertex"],["==","active","true"]],paint:{"circle-radius":6,"circle-color":e}}),mo=e=>({id:"midpoint",type:"circle",filter:["all",["==","$type","Point"],["==","meta","midpoint"]],paint:{"circle-radius":4,"circle-color":e}}),bo=(e,t)=>({id:"midpoint-halo",type:"circle",filter:["all",["==","$type","Point"],["==","meta","midpoint"],["==","active","true"]],paint:{"circle-radius":6,"circle-stroke-width":3,"circle-color":e,"circle-stroke-color":t}}),Eo=e=>({id:"midpoint-active",type:"circle",filter:["all",["==","$type","Point"],["==","meta","midpoint"],["==","active","true"]],paint:{"circle-radius":4,"circle-color":e}}),Po=e=>({id:"circle",type:"line",filter:["==","id","circle"],paint:{"line-color":e,"line-width":2,"line-opacity":.8}}),Oo=e=>{var t=oo.editColorsForeground[io(e)],r=oo.editColorsBackground[io(e)],n=oo.editColorsHalo[io(e)],o=oo.splitInvalidColors[io(e)],i=oo.splitValidColors[io(e)];return[so(e),co(t),uo(t),lo(e),po(o),ho(i),fo(t),mo(t),bo(r,n),Eo(t),go(t),yo(r,n),vo(t),Po(t),{id:"touch-vertex-indicator",type:"circle",filter:["all",["==","$type","Point"],["==","meta","touch-vertex-indicator"]],paint:{"circle-radius":30,"circle-color":"#3bb2d0","circle-stroke-width":3,"circle-stroke-color":"#ffffff","circle-opacity":.9}}]};function So(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function wo(e){if(Array.isArray(e))return e;if("Feature"===e.type){if(null!==e.geometry)return e.geometry.coordinates}else if(e.coordinates)return e.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function _o(e,t,r){void 0===r&&(r={});var n=So(e),o=So(t),i=$e(o[1]-n[1]),a=$e(o[0]-n[0]),s=$e(n[1]),l=$e(o[1]),c=Math.pow(Math.sin(i/2),2)+Math.pow(Math.sin(a/2),2)*Math.cos(s)*Math.cos(l);return We(2*Math.atan2(Math.sqrt(c),Math.sqrt(1-c)),r.units)}function Mo(e,t){var r;return void 0===t&&(t={}),function(e,t){return e.length>1?ze(e,t):Ue(e[0],t)}(("Feature"===(r=e).type?r.geometry:r).coordinates,t.properties?t.properties:"Feature"===e.type?e.properties:{})}function xo(e,t,r,n){void 0===n&&(n={});var o=So(e),i=$e(o[0]),a=$e(o[1]),s=$e(r),l=Ke(t,n.units),c=Math.asin(Math.sin(a)*Math.cos(l)+Math.cos(a)*Math.sin(l)*Math.cos(s));return Ge([Je(i+Math.atan2(Math.sin(s)*Math.sin(l)*Math.cos(a),Math.cos(l)-Math.sin(a)*Math.sin(c))),Je(c)],n.properties)}function To(e){if(!e)throw new Error("geojson is required");var t=[];return et(e,function(e){!function(e,t){var r=[],n=e.geometry;if(null!==n){switch(n.type){case"Polygon":r=wo(n);break;case"LineString":r=[wo(n)]}r.forEach(function(r){var n=function(e,t){var r=[];return e.reduce(function(e,n){var o,i,a,s,l,c,u=Ue([e,n],t);return u.bbox=(i=n,a=(o=e)[0],s=o[1],[a<(l=i[0])?a:l,s<(c=i[1])?s:c,a>l?a:l,s>c?s:c]),r.push(u),n}),r}(r,e.properties);n.forEach(function(e){e.id=t.length,t.push(e)})})}}(e,t)}),He(t)}var Ao={exports:{}};function Co(e,t,r,n,o){Io(e,t,r||0,n||e.length-1,o||ko)}function Io(e,t,r,n,o){for(;n>r;){if(n-r>600){var i=n-r+1,a=t-r+1,s=Math.log(i),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(i-l)/i)*(a-i/2<0?-1:1);Io(e,t,Math.max(r,Math.floor(t-a*l/i+c)),Math.min(n,Math.floor(t+(i-a)*l/i+c)),o)}var u=e[t],d=r,p=n;for(Lo(e,r,t),o(e[n],u)>0&&Lo(e,r,n);d<p;){for(Lo(e,d,p),d++,p--;o(e[d],u)<0;)d++;for(;o(e[p],u)>0;)p--}0===o(e[r],u)?Lo(e,r,p):Lo(e,++p,n),p<=t&&(r=p+1),t<=p&&(n=p-1)}}function Lo(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function ko(e,t){return e<t?-1:e>t?1:0}function Do(e,t,r){if(!r)return t.indexOf(e);for(let n=0;n<t.length;n++)if(r(e,t[n]))return n;return-1}function jo(e,t){No(e,0,e.children.length,t,e)}function No(e,t,r,n,o){o||(o=Wo(null)),o.minX=1/0,o.minY=1/0,o.maxX=-1/0,o.maxY=-1/0;for(let i=t;i<r;i++){const t=e.children[i];Ro(o,e.leaf?n(t):t)}return o}function Ro(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function Fo(e,t){return e.minX-t.minX}function Bo(e,t){return e.minY-t.minY}function Vo(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function Go(e){return e.maxX-e.minX+(e.maxY-e.minY)}function Yo(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function Uo(e,t){const r=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),o=Math.min(e.maxX,t.maxX),i=Math.min(e.maxY,t.maxY);return Math.max(0,o-r)*Math.max(0,i-n)}function Ho(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function zo(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function Wo(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Ko(e,t,r,n,o){const i=[t,r];for(;i.length;){if((r=i.pop())-(t=i.pop())<=n)continue;const a=t+Math.ceil((r-t)/n/2)*n;Co(e,a,t,r,o),i.push(t,a,a,r)}}var Jo,$o=Object.freeze({__proto__:null,default:class{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(e){let t=this.data;const r=[];if(!zo(e,t))return r;const n=this.toBBox,o=[];for(;t;){for(let i=0;i<t.children.length;i++){const a=t.children[i],s=t.leaf?n(a):a;zo(e,s)&&(t.leaf?r.push(a):Ho(e,s)?this._all(a,r):o.push(a))}t=o.pop()}return r}collides(e){let t=this.data;if(!zo(e,t))return!1;const r=[];for(;t;){for(let n=0;n<t.children.length;n++){const o=t.children[n],i=t.leaf?this.toBBox(o):o;if(zo(e,i)){if(t.leaf||Ho(e,i))return!0;r.push(o)}}t=r.pop()}return!1}load(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(let t=0;t<e.length;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===t.height)this._splitRoot(this.data,t);else{if(this.data.height<t.height){const e=this.data;this.data=t,t=e}this._insert(t,this.data.height-t.height-1,!0)}else this.data=t;return this}insert(e){return e&&this._insert(e,this.data.height-1),this}clear(){return this.data=Wo([]),this}remove(e,t){if(!e)return this;let r=this.data;const n=this.toBBox(e),o=[],i=[];let a,s,l;for(;r||o.length;){if(r||(r=o.pop(),s=o[o.length-1],a=i.pop(),l=!0),r.leaf){const n=Do(e,r.children,t);if(-1!==n)return r.children.splice(n,1),o.push(r),this._condense(o),this}l||r.leaf||!Ho(r,n)?s?(a++,r=s.children[a],l=!1):r=null:(o.push(r),i.push(a),a=0,s=r,r=r.children[0])}return this}toBBox(e){return e}compareMinX(e,t){return e.minX-t.minX}compareMinY(e,t){return e.minY-t.minY}toJSON(){return this.data}fromJSON(e){return this.data=e,this}_all(e,t){const r=[];for(;e;)e.leaf?t.push(...e.children):r.push(...e.children),e=r.pop();return t}_build(e,t,r,n){const o=r-t+1;let i,a=this._maxEntries;if(o<=a)return i=Wo(e.slice(t,r+1)),jo(i,this.toBBox),i;n||(n=Math.ceil(Math.log(o)/Math.log(a)),a=Math.ceil(o/Math.pow(a,n-1))),i=Wo([]),i.leaf=!1,i.height=n;const s=Math.ceil(o/a),l=s*Math.ceil(Math.sqrt(a));Ko(e,t,r,l,this.compareMinX);for(let c=t;c<=r;c+=l){const t=Math.min(c+l-1,r);Ko(e,c,t,s,this.compareMinY);for(let r=c;r<=t;r+=s){const o=Math.min(r+s-1,t);i.children.push(this._build(e,r,o,n-1))}}return jo(i,this.toBBox),i}_chooseSubtree(e,t,r,n){for(;n.push(t),!t.leaf&&n.length-1!==r;){let r,n=1/0,o=1/0;for(let i=0;i<t.children.length;i++){const a=t.children[i],s=Vo(a),l=Yo(e,a)-s;l<o?(o=l,n=s<n?s:n,r=a):l===o&&s<n&&(n=s,r=a)}t=r||t.children[0]}return t}_insert(e,t,r){const n=r?e:this.toBBox(e),o=[],i=this._chooseSubtree(n,this.data,t,o);for(i.children.push(e),Ro(i,n);t>=0&&o[t].children.length>this._maxEntries;)this._split(o,t),t--;this._adjustParentBBoxes(n,o,t)}_split(e,t){const r=e[t],n=r.children.length,o=this._minEntries;this._chooseSplitAxis(r,o,n);const i=this._chooseSplitIndex(r,o,n),a=Wo(r.children.splice(i,r.children.length-i));a.height=r.height,a.leaf=r.leaf,jo(r,this.toBBox),jo(a,this.toBBox),t?e[t-1].children.push(a):this._splitRoot(r,a)}_splitRoot(e,t){this.data=Wo([e,t]),this.data.height=e.height+1,this.data.leaf=!1,jo(this.data,this.toBBox)}_chooseSplitIndex(e,t,r){let n,o=1/0,i=1/0;for(let a=t;a<=r-t;a++){const t=No(e,0,a,this.toBBox),s=No(e,a,r,this.toBBox),l=Uo(t,s),c=Vo(t)+Vo(s);l<o?(o=l,n=a,i=c<i?c:i):l===o&&c<i&&(i=c,n=a)}return n||r-t}_chooseSplitAxis(e,t,r){const n=e.leaf?this.compareMinX:Fo,o=e.leaf?this.compareMinY:Bo;this._allDistMargin(e,t,r,n)<this._allDistMargin(e,t,r,o)&&e.children.sort(n)}_allDistMargin(e,t,r,n){e.children.sort(n);const o=this.toBBox,i=No(e,0,t,o),a=No(e,r-t,r,o);let s=Go(i)+Go(a);for(let l=t;l<r-t;l++){const t=e.children[l];Ro(i,e.leaf?o(t):t),s+=Go(i)}for(let l=r-t-1;l>=t;l--){const t=e.children[l];Ro(a,e.leaf?o(t):t),s+=Go(a)}return s}_adjustParentBBoxes(e,t,r){for(let n=r;n>=0;n--)Ro(t[n],e)}_condense(e){for(let t,r=e.length-1;r>=0;r--)0===e[r].children.length?r>0?(t=e[r-1].children,t.splice(t.indexOf(e[r]),1)):this.clear():jo(e[r],this.toBBox)}}}),qo=function(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if("function"==typeof t){var r=function e(){var r=!1;try{r=this instanceof e}catch{}return r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}),r}($o),Zo={};function Xo(){if(Jo)return Zo;Jo=1,Object.defineProperty(Zo,"__esModule",{value:!0});var e=6371008.8,t={centimeters:637100880,centimetres:637100880,degrees:360/(2*Math.PI),feet:20902260.511392,inches:39.37*e,kilometers:6371.0088,kilometres:6371.0088,meters:e,metres:e,miles:3958.761333810546,millimeters:6371008800,millimetres:6371008800,nauticalmiles:e/1852,radians:1,yards:6967335.223679999},r={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:2.9155334959812285e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046};function n(e,t,r={}){const n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function o(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!f(e[0])||!f(e[1]))throw new Error("coordinates must contain numbers");return n({type:"Point",coordinates:e},t,r)}function i(e,t,r={}){for(const n of e){if(n.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(n[n.length-1].length!==n[0].length)throw new Error("First and last Position are not equivalent.");for(let e=0;e<n[n.length-1].length;e++)if(n[n.length-1][e]!==n[0][e])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:e},t,r)}function a(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:e},t,r)}function s(e,t={}){const r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function l(e,t,r={}){return n({type:"MultiLineString",coordinates:e},t,r)}function c(e,t,r={}){return n({type:"MultiPoint",coordinates:e},t,r)}function u(e,t,r={}){return n({type:"MultiPolygon",coordinates:e},t,r)}function d(e,r="kilometers"){const n=t[r];if(!n)throw new Error(r+" units is invalid");return e*n}function p(e,r="kilometers"){const n=t[r];if(!n)throw new Error(r+" units is invalid");return e/n}function h(e){return e%(2*Math.PI)*180/Math.PI}function f(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}return Zo.areaFactors=r,Zo.azimuthToBearing=function(e){return(e%=360)>180?e-360:e<-180?e+360:e},Zo.bearingToAzimuth=function(e){let t=e%360;return t<0&&(t+=360),t},Zo.convertArea=function(e,t="meters",n="kilometers"){if(!(e>=0))throw new Error("area must be a positive number");const o=r[t];if(!o)throw new Error("invalid original units");const i=r[n];if(!i)throw new Error("invalid final units");return e/o*i},Zo.convertLength=function(e,t="kilometers",r="kilometers"){if(!(e>=0))throw new Error("length must be a positive number");return d(p(e,t),r)},Zo.degreesToRadians=function(e){return e%360*Math.PI/180},Zo.earthRadius=e,Zo.factors=t,Zo.feature=n,Zo.featureCollection=s,Zo.geometry=function(e,t,r={}){switch(e){case"Point":return o(t).geometry;case"LineString":return a(t).geometry;case"Polygon":return i(t).geometry;case"MultiPoint":return c(t).geometry;case"MultiLineString":return l(t).geometry;case"MultiPolygon":return u(t).geometry;default:throw new Error(e+" is invalid")}},Zo.geometryCollection=function(e,t,r={}){return n({type:"GeometryCollection",geometries:e},t,r)},Zo.isNumber=f,Zo.isObject=function(e){return null!==e&&"object"==typeof e&&!Array.isArray(e)},Zo.lengthToDegrees=function(e,t){return h(p(e,t))},Zo.lengthToRadians=p,Zo.lineString=a,Zo.lineStrings=function(e,t,r={}){return s(e.map(e=>a(e,t)),r)},Zo.multiLineString=l,Zo.multiPoint=c,Zo.multiPolygon=u,Zo.point=o,Zo.points=function(e,t,r={}){return s(e.map(e=>o(e,t)),r)},Zo.polygon=i,Zo.polygons=function(e,t,r={}){return s(e.map(e=>i(e,t)),r)},Zo.radiansToDegrees=h,Zo.radiansToLength=d,Zo.round=function(e,t=0){if(t&&!(t>=0))throw new Error("precision must be a positive number");const r=Math.pow(10,t||0);return Math.round(e*r)/r},Zo.validateBBox=function(e){if(!e)throw new Error("bbox is required");if(!Array.isArray(e))throw new Error("bbox must be an Array");if(4!==e.length&&6!==e.length)throw new Error("bbox must be an Array of 4 or 6 numbers");e.forEach(e=>{if(!f(e))throw new Error("bbox must only contain numbers")})},Zo.validateId=function(e){if(!e)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof e))throw new Error("id must be a number or a string")},Zo}var Qo,ei={};function ti(){if(Qo)return ei;Qo=1,Object.defineProperty(ei,"__esModule",{value:!0});var e=Xo();function t(e,r,n){if(null!==e)for(var o,i,a,s,l,c,u,d,p=0,h=0,f=e.type,g="FeatureCollection"===f,y="Feature"===f,v=g?e.features.length:1,m=0;m<v;m++){l=(d=!!(u=g?e.features[m].geometry:y?e.geometry:e)&&"GeometryCollection"===u.type)?u.geometries.length:1;for(var b=0;b<l;b++){var E=0,P=0;if(null!==(s=d?u.geometries[b]:u)){c=s.coordinates;var O=s.type;switch(p=!n||"Polygon"!==O&&"MultiPolygon"!==O?0:1,O){case null:break;case"Point":if(!1===r(c,h,m,E,P))return!1;h++,E++;break;case"LineString":case"MultiPoint":for(o=0;o<c.length;o++){if(!1===r(c[o],h,m,E,P))return!1;h++,"MultiPoint"===O&&E++}"LineString"===O&&E++;break;case"Polygon":case"MultiLineString":for(o=0;o<c.length;o++){for(i=0;i<c[o].length-p;i++){if(!1===r(c[o][i],h,m,E,P))return!1;h++}"MultiLineString"===O&&E++,"Polygon"===O&&P++}"Polygon"===O&&E++;break;case"MultiPolygon":for(o=0;o<c.length;o++){for(P=0,i=0;i<c[o].length;i++){for(a=0;a<c[o][i].length-p;a++){if(!1===r(c[o][i][a],h,m,E,P))return!1;h++}P++}E++}break;case"GeometryCollection":for(o=0;o<s.geometries.length;o++)if(!1===t(s.geometries[o],r,n))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function r(e,t){var r;switch(e.type){case"FeatureCollection":for(r=0;r<e.features.length&&!1!==t(e.features[r].properties,r);r++);break;case"Feature":t(e.properties,0)}}function n(e,t){if("Feature"===e.type)t(e,0);else if("FeatureCollection"===e.type)for(var r=0;r<e.features.length&&!1!==t(e.features[r],r);r++);}function o(e,t){var r,n,o,i,a,s,l,c,u,d,p=0,h="FeatureCollection"===e.type,f="Feature"===e.type,g=h?e.features.length:1;for(r=0;r<g;r++){for(s=h?e.features[r].geometry:f?e.geometry:e,c=h?e.features[r].properties:f?e.properties:{},u=h?e.features[r].bbox:f?e.bbox:void 0,d=h?e.features[r].id:f?e.id:void 0,a=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,o=0;o<a;o++)if(null!==(i=l?s.geometries[o]:s))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,p,c,u,d))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],p,c,u,d))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,p,c,u,d))return!1;p++}}function i(t,r){o(t,function(t,n,o,i,a){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==r(e.feature.call(void 0,t,o,{bbox:i,id:a}),n,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===r(e.feature.call(void 0,u,o),n,c))return!1}})}function a(r,n){i(r,function(r,o,i){var a=0;if(r.geometry){var s=r.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,c=0,u=0,d=0;return!1!==t(r,function(t,s,p,h,f){if(void 0===l||o>c||h>u||f>d)return l=t,c=o,u=h,d=f,void(a=0);var g=e.lineString.call(void 0,[l,t],r.properties);if(!1===n(g,o,i,f,a))return!1;a++,l=t})&&void 0}}})}function s(t,r){if(!t)throw new Error("geojson is required");i(t,function(t,n,o){if(null!==t.geometry){var i=t.geometry.type,a=t.geometry.coordinates;switch(i){case"LineString":if(!1===r(t,n,o,0,0))return!1;break;case"Polygon":for(var s=0;s<a.length;s++)if(!1===r(e.lineString.call(void 0,a[s],t.properties),n,o,s))return!1}}})}return ei.coordAll=function(e){var r=[];return t(e,function(e){r.push(e)}),r},ei.coordEach=t,ei.coordReduce=function(e,r,n,o){var i=n;return t(e,function(e,t,o,a,s){i=0===t&&void 0===n?e:r(i,e,t,o,a,s)},o),i},ei.featureEach=n,ei.featureReduce=function(e,t,r){var o=r;return n(e,function(e,n){o=0===n&&void 0===r?e:t(o,e,n)}),o},ei.findPoint=function(t,r){if(r=r||{},!e.isObject.call(void 0,r))throw new Error("options is invalid");var n,o=r.featureIndex||0,i=r.multiFeatureIndex||0,a=r.geometryIndex||0,s=r.coordIndex||0,l=r.properties;switch(t.type){case"FeatureCollection":o<0&&(o=t.features.length+o),l=l||t.features[o].properties,n=t.features[o].geometry;break;case"Feature":l=l||t.properties,n=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":n=t;break;default:throw new Error("geojson is invalid")}if(null===n)return null;var c=n.coordinates;switch(n.type){case"Point":return e.point.call(void 0,c,l,r);case"MultiPoint":return i<0&&(i=c.length+i),e.point.call(void 0,c[i],l,r);case"LineString":return s<0&&(s=c.length+s),e.point.call(void 0,c[s],l,r);case"Polygon":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s),e.point.call(void 0,c[a][s],l,r);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s),e.point.call(void 0,c[i][s],l,r);case"MultiPolygon":return i<0&&(i=c.length+i),a<0&&(a=c[i].length+a),s<0&&(s=c[i][a].length-s),e.point.call(void 0,c[i][a][s],l,r)}throw new Error("geojson is invalid")},ei.findSegment=function(t,r){if(r=r||{},!e.isObject.call(void 0,r))throw new Error("options is invalid");var n,o=r.featureIndex||0,i=r.multiFeatureIndex||0,a=r.geometryIndex||0,s=r.segmentIndex||0,l=r.properties;switch(t.type){case"FeatureCollection":o<0&&(o=t.features.length+o),l=l||t.features[o].properties,n=t.features[o].geometry;break;case"Feature":l=l||t.properties,n=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":n=t;break;default:throw new Error("geojson is invalid")}if(null===n)return null;var c=n.coordinates;switch(n.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=c.length+s-1),e.lineString.call(void 0,[c[s],c[s+1]],l,r);case"Polygon":return a<0&&(a=c.length+a),s<0&&(s=c[a].length+s-1),e.lineString.call(void 0,[c[a][s],c[a][s+1]],l,r);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s-1),e.lineString.call(void 0,[c[i][s],c[i][s+1]],l,r);case"MultiPolygon":return i<0&&(i=c.length+i),a<0&&(a=c[i].length+a),s<0&&(s=c[i][a].length-s-1),e.lineString.call(void 0,[c[i][a][s],c[i][a][s+1]],l,r)}throw new Error("geojson is invalid")},ei.flattenEach=i,ei.flattenReduce=function(e,t,r){var n=r;return i(e,function(e,o,i){n=0===o&&0===i&&void 0===r?e:t(n,e,o,i)}),n},ei.geomEach=o,ei.geomReduce=function(e,t,r){var n=r;return o(e,function(e,o,i,a,s){n=0===o&&void 0===r?e:t(n,e,o,i,a,s)}),n},ei.lineEach=s,ei.lineReduce=function(e,t,r){var n=r;return s(e,function(e,o,i,a){n=0===o&&void 0===r?e:t(n,e,o,i,a)}),n},ei.propEach=r,ei.propReduce=function(e,t,n){var o=n;return r(e,function(e,r){o=0===r&&void 0===n?e:t(o,e,r)}),o},ei.segmentEach=a,ei.segmentReduce=function(e,t,r){var n=r,o=!1;return a(e,function(e,i,a,s,l){n=!1===o&&void 0===r?e:t(n,e,i,a,s,l),o=!0}),n},ei}var ri,ni,oi={},ii=function(){if(ni)return Ao.exports;ni=1;var e=qo,t=Xo(),r=ti(),n=function(){if(ri)return oi;ri=1,Object.defineProperty(oi,"__esModule",{value:!0});var e=ti();function t(t,r={}){if(null!=t.bbox&&!0!==r.recompute)return t.bbox;const n=[1/0,1/0,-1/0,-1/0];return e.coordEach.call(void 0,t,e=>{n[0]>e[0]&&(n[0]=e[0]),n[1]>e[1]&&(n[1]=e[1]),n[2]<e[0]&&(n[2]=e[0]),n[3]<e[1]&&(n[3]=e[1])}),n}var r=t;return oi.bbox=t,oi.default=r,oi}().default,o=r.featureEach;r.coordEach,t.polygon;var i=t.featureCollection;function a(t){var r=new e(t);return r.insert=function(t){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:n(t),e.prototype.insert.call(this,t)},r.load=function(t){var r=[];return Array.isArray(t)?t.forEach(function(e){if("Feature"!==e.type)throw new Error("invalid features");e.bbox=e.bbox?e.bbox:n(e),r.push(e)}):o(t,function(e){if("Feature"!==e.type)throw new Error("invalid features");e.bbox=e.bbox?e.bbox:n(e),r.push(e)}),e.prototype.load.call(this,r)},r.remove=function(t,r){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:n(t),e.prototype.remove.call(this,t,r)},r.clear=function(){return e.prototype.clear.call(this)},r.search=function(t){var r=e.prototype.search.call(this,this.toBBox(t));return i(r)},r.collides=function(t){return e.prototype.collides.call(this,this.toBBox(t))},r.all=function(){var t=e.prototype.all.call(this);return i(t)},r.toJSON=function(){return e.prototype.toJSON.call(this)},r.fromJSON=function(t){return e.prototype.fromJSON.call(this,t)},r.toBBox=function(e){var t;if(e.bbox)t=e.bbox;else if(Array.isArray(e)&&4===e.length)t=e;else if(Array.isArray(e)&&6===e.length)t=[e[0],e[1],e[3],e[4]];else if("Feature"===e.type)t=n(e);else{if("FeatureCollection"!==e.type)throw new Error("invalid geojson");t=n(e)}return{minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]}},r}return Ao.exports=a,Ao.exports.default=a,Ao.exports}(),ai=J(ii);function si(e,t){var r={},n=[];if("LineString"===e.type&&(e=Ve(e)),"LineString"===t.type&&(t=Ve(t)),"Feature"===e.type&&"Feature"===t.type&&null!==e.geometry&&null!==t.geometry&&"LineString"===e.geometry.type&&"LineString"===t.geometry.type&&2===e.geometry.coordinates.length&&2===t.geometry.coordinates.length){var o=li(e,t);return o&&n.push(o),He(n)}var i=ai();return i.load(To(t)),Xe(To(e),function(e){Xe(i.search(e),function(t){var o=li(e,t);if(o){var i=wo(o).join(",");r[i]||(r[i]=!0,n.push(o))}})}),He(n)}function li(e,t){var r=wo(e),n=wo(t);if(2!==r.length)throw new Error("<intersects> line1 must only contain 2 coordinates");if(2!==n.length)throw new Error("<intersects> line2 must only contain 2 coordinates");var o=r[0][0],i=r[0][1],a=r[1][0],s=r[1][1],l=n[0][0],c=n[0][1],u=n[1][0],d=n[1][1],p=(d-c)*(a-o)-(u-l)*(s-i);if(0===p)return null;var h=((u-l)*(i-c)-(d-c)*(o-l))/p,f=((a-o)*(i-c)-(s-i)*(o-l))/p;return h>=0&&h<=1&&f>=0&&f<=1?Ge([o+h*(a-o),i+h*(s-i)]):null}function ci(e,t,r){void 0===r&&(r={});var n=Ge([1/0,1/0],{dist:1/0}),o=0;return et(e,function(e){for(var i=wo(e),a=0;a<i.length-1;a++){var s=Ge(i[a]);s.properties.dist=_o(t,s,r);var l=Ge(i[a+1]);l.properties.dist=_o(t,l,r);var c=_o(s,l,r),u=Math.max(s.properties.dist,l.properties.dist),d=Wr(s,l),p=xo(t,u,d+90,r),h=xo(t,u,d-90,r),f=si(Ue([p.geometry.coordinates,h.geometry.coordinates]),Ue([s.geometry.coordinates,l.geometry.coordinates])),g=null;f.features.length>0&&((g=f.features[0]).properties.dist=_o(t,g,r),g.properties.location=o+_o(s,g,r)),s.properties.dist<n.properties.dist&&((n=s).properties.index=a,n.properties.location=o),l.properties.dist<n.properties.dist&&((n=l).properties.index=a+1,n.properties.location=o+c),g&&g.properties.dist<n.properties.dist&&((n=g).properties.index=a),o+=c}}),n}function ui(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return e.geometry.coordinates;if("Point"===e.type)return e.coordinates}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return e;throw new Error("coord must be GeoJSON Point or an Array of numbers")}var di=function(){return di=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},di.apply(this,arguments)},pi=function(){function e(e){var t;this.status=null!==(t=e.status)&&void 0!==t&&t,this.map=e.map,this.drawing=e.drawing,this.options=e.options,this.onSnapped=function(t){void 0!==e.onSnapped&&e.onSnapped(t)},this.features={},this.snapStatus=!1,this.snapCoords=[],this.radiusInMeters=0,this.addRadiusCircleLayer(),this.addEvents()}return e.prototype.changeSnappedPoints=function(){for(var e=this.drawing.getAll(),t=[],r=0;r<e.features.length;r++){var n=e.features[r],o=n.id;if(this.features[o]){var i=this.features[o].snapPoints;if(void 0!==this.features.unknow){var a=this.features.unknow.snapPoints;i=di(di({},i),a)}var s=this.doSnap(n,i);t.push(s)}else void 0!==this.features.unknow?(a=this.features.unknow.snapPoints,s=this.doSnap(n,a),t.push(s)):t.push(n)}var l={type:"FeatureCollection",features:t};this.drawing.set(l),this.onSnapped&&this.onSnapped(l)},e.prototype.isPointSnapped=function(e,t){return _o(Ge(e),Ge(t),{units:"meters"})<this.radiusInMeters},e.prototype.doSnap=function(e,t){switch(e.geometry.type){case"Point":var r=e.geometry.coordinates;for(var n in t)this.isPointSnapped(r,t[n])&&(e.geometry.coordinates=t[n]);break;case"Polygon":for(var o=e.geometry.coordinates,i=[],a=0;a<o.length;a++){for(var s=o[a],l=[],c=0;c<s.length;c++){var u=s[c],d=!1;for(var n in t)if(this.isPointSnapped(u,t[n])){d=!0,l.push(t[n]);break}0==d&&l.push(u)}i.push(l)}e.geometry.coordinates=i;break;case"LineString":var p=e.geometry.coordinates;for(l=[],c=0;c<p.length;c++){var h=p[c];for(var n in d=!1,t)if(this.isPointSnapped(h,t[n])){d=!0,l.push(t[n]);break}0==d&&l.push(h)}e.geometry.coordinates=l}return e},e.prototype.getMe=function(){return this},e.prototype.setStatus=function(e){this.status=e},e.prototype.setMapData=function(e){var t=this.map.getSource("snap-helper-circle");t&&t.setData(e)},e.prototype.snapToClosestPoint=function(e){if(this.status){var t=e.point,r=this.map.unproject(t),n=[t.x+this.options.radius,t.y],o=this.map.unproject(n),i=_o(Ge([r.lng,r.lat]),Ge([o.lng,o.lat]),{units:"meters"});this.radiusInMeters=i;var a=!1,s=this.getCloseFeatures(e,i);s?(this.snapStatus=!0,this.snapCoords=s.coords,a=function(e,t,r={}){const n=r.steps||64,o=r.properties?r.properties:!Array.isArray(e)&&"Feature"===e.type&&e.properties?e.properties:{},i=[];for(let a=0;a<n;a++)i.push(Kr(e,t,-360*a/n,r).geometry.coordinates);return i.push(i[0]),Ye([i],o)}(s.coords,i,{steps:64,units:"meters",properties:{color:s.color}})):(this.snapStatus=!1,this.snapCoords=[]);var l=He(0==a?[]:[a]);this.setMapData(l)}},e.prototype.addEvents=function(){var e=this;this.map.on("mousemove",function(t){e.snapToClosestPoint(t)}),this.map.on("draw.delete",function(t){setTimeout(function(){e.changeSnappedPoints()},100)}),this.map.on("draw.update",function(t){setTimeout(function(){e.changeSnappedPoints()},100)}),this.map.on("draw.create",function(t){setTimeout(function(){e.changeSnappedPoints()},100)}),this.map.on("draw.selectionchange",function(t){t.features.length>0?e.status=!0:(e.status=!1,e.setMapData(He([])))}),this.map.on("draw.modechange",function(t){e.status=!0,"simple_select"==t.mode&&(e.status=!1)}),this.map.on("draw.render",function(t){var r=e.map.getSource("mapbox-gl-draw-hot");if(r){var n=r._data;if(e.snapStatus){var o=[e.snapCoords[0],e.snapCoords[1]];n.features.length>0&&(n.features[0].geometry.coordinates=o)}}}),this.map.on("mouseup",function(){e.drawingSnapCheck()}),this.map.on("click",function(){e.drawingSnapCheck()})},e.prototype.drawingSnapCheck=function(){if(this.snapStatus){var e=this.map.getSource("mapbox-gl-draw-hot"),t=[this.snapCoords[0],this.snapCoords[1]],r=t[0].toFixed(6),n=t[1].toFixed(6),o={};if(o["".concat(r,"_").concat(n)]=t,e){var i=e._data;if(i.features.length>0){var a=i.features.find(function(e){return"feature"==e.properties.meta});if(a){var s=a.properties.id;this.features[s]?this.features[s].snapPoints["".concat(r,"_").concat(n)]=t:this.features[s]={id:s,snapPoints:o}}}else this.features.unknow?this.features.unknow.snapPoints["".concat(r,"_").concat(n)]=t:this.features.unknow={id:s,snapPoints:o}}}},e.prototype.searchInVertex=function(e,t,r){var n,o=(n=[],Ze(e,function(e){n.push(e)}),n),i=[];if(o.map(function(e){var n=_o(Ge(e),Ge([t.lng,t.lat]),{units:"meters"});n<r&&i.push({coords:e,dist:n,color:"#8bc34a"})}),i.length>0)return i.sort(function(e,t){return e.dist-t.dist}),i[0]},e.prototype.getLines=function(e,t,r){var n=[];switch(e.geometry.type){case"LineString":n.push(e);break;case"MultiLineString":e.geometry.coodinates.map(function(e){n.push(Ue(e))});break;case"Polygon":var o=Mo(e.geometry);n.push(o);break;case"MultiPolygon":Mo(e.geometry).coodinates.map(function(e){n.push(Ue(e))})}return n},e.prototype.searchInMidPoint=function(e,t,r){var n=this.getLines(e,t,r),o=[];n.map(function(e){o=o.concat(To(e).features)});var i=[];if(o.map(function(e){var n=function(e,t){var r=function(e,t,r,n){void 0===n&&(n={});var o=ui(e),i=$e(o[0]),a=$e(o[1]),s=$e(r),l=Ke(t,n.units),c=Math.asin(Math.sin(a)*Math.cos(l)+Math.cos(a)*Math.sin(l)*Math.cos(s));return Ge([Je(i+Math.atan2(Math.sin(s)*Math.sin(l)*Math.cos(a),Math.cos(l)-Math.sin(a)*Math.sin(c))),Je(c)],n.properties)}(e,function(e,t,r){void 0===r&&(r={});var n=ui(e),o=ui(t),i=$e(o[1]-n[1]),a=$e(o[0]-n[0]),s=$e(n[1]),l=$e(o[1]),c=Math.pow(Math.sin(i/2),2)+Math.pow(Math.sin(a/2),2)*Math.cos(s)*Math.cos(l);return We(2*Math.atan2(Math.sqrt(c),Math.sqrt(1-c)),r.units)}(e,t)/2,Wr(e,t));return r}(e.geometry.coordinates[0],e.geometry.coordinates[1]),o=_o(n,Ge([t.lng,t.lat]),{units:"meters"});o<r&&i.push({coords:n.geometry.coordinates,dist:o,color:"#03a9f4"})}),i.length>0)return i.sort(function(e,t){return e.dist-t.dist}),i[0]},e.prototype.searchInEdge=function(e,t,r){for(var n=this.getLines(e,t,r),o=[],i=0;i<n.length;i++){var a=ci(n[i],Ge([t.lng,t.lat]),{units:"meters"});void 0!==a.properties.dist&&a.properties.dist<r&&o.push({coords:a.geometry.coordinates,dist:a.properties.dist,color:"#ff9800"})}if(o.length>0)return o.sort(function(e,t){return e.dist-t.dist}),o[0]},e.prototype.getCloseFeatures=function(e,t){var r=this.map.queryRenderedFeatures(e.point,{layers:this.options.layers});if(r.length>0){for(var n,o=!1,i=0;i<r.length;i++){var a=r[i],s=this.options.rules,l=e.lngLat;if(o=!1,-1!==s.indexOf("vertex")&&null==n&&(n=this.searchInVertex(a,l,t))){o=!0;break}if(-1!==s.indexOf("midpoint")&&null==n&&(n=this.searchInMidPoint(a,l,t))){o=!0;break}if(-1!==s.indexOf("edge")&&null==n&&(n=this.searchInEdge(a,l,t))){o=!0;break}}return!!o&&n}return!1},e.prototype.addRadiusCircleLayer=function(){this.map.addSource("snap-helper-circle",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),this.map.addLayer({id:"snap-helper-circle",type:"fill",source:"snap-helper-circle",paint:{"fill-color":["get","color"],"fill-opacity":.6}})},e}();function hi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function fi(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?hi(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):hi(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var gi="snap-helper-circle";function yi(e,t){!function r(){var n=e();null!==n&&(n?t(n):requestAnimationFrame(r))}()}function vi(e){var t;if(!(!e||e._data&&Array.isArray(null===(t=e._data)||void 0===t?void 0:t.features))){var r={type:"FeatureCollection",features:[]};Object.defineProperty(e,"_data",{get:()=>r,set:e=>{r=e&&"object"==typeof e&&Array.isArray(e.features)?e:{type:"FeatureCollection",features:[]}},configurable:!0})}}function mi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function bi(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mi(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mi(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Ei=e=>{var{mapStyle:t,mapProvider:r,events:n,eventBus:o,snapLayers:i}=e,{map:a}=r;Ut.constants.classes.CONTROL_BASE="maplibregl-ctrl",Ut.constants.classes.CONTROL_PREFIX="maplibregl-ctrl-",Ut.constants.classes.CONTROL_GROUP="maplibregl-ctrl-group";var s=new Ut({modes:bi(bi({},Ut.modes),{},{disabled:Ht,edit_vertex:Xn,draw_polygon:ro,draw_line:no}),styles:Oo(t),displayControlsDefault:!1,userProperties:!0,defaultMode:"disabled"});a.addControl(s);var l=a.getCanvas(),c=null,u=e=>{1===e.touches.length&&(c={x:e.touches[0].clientX,y:e.touches[0].clientY,time:Date.now()})},d=e=>{if("disabled"===s.getMode()&&c){var t=e.changedTouches[0],r=t.clientX-c.x,n=t.clientY-c.y;Date.now()-c.time<300&&Math.abs(r)<10&&Math.abs(n)<10&&l.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY})),c=null}else c=null};l.addEventListener("touchstart",u,{passive:!0}),l.addEventListener("touchend",d,{passive:!0}),r.draw=s,r.snapEnabled=!1;var p=(e=>{var t=[],r=()=>{e.fire("draw.undochange",{length:t.length})};return{push(e){t.push(e),r()},pop(){var e=t.pop();return r(),e},clear(){t.length=0,r()},get length(){return t.length}}})(a);r.undoStack=p,a._undoStack=p,function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e._snapInitialized)return e._snapInstance;e._snapInitialized=!0;var{layers:n=[],radius:o=15,rules:i=["vertex","midpoint","edge"],status:a=!1,onSnapped:s=()=>{},colors:l={}}=r;function c(r){if(e._snapInstance||e._snapCreating)return e._snapInstance;e._snapCreating=!0,e.getLayer(gi)&&e.removeLayer(gi),e.getSource(gi)&&e.removeSource(gi),vi(r);var l=new pi({map:e,drawing:t,options:{layers:n,radius:o,rules:i},status:a,onSnapped:s}),c=a;return Object.defineProperty(l,"status",{get:()=>c,set(){},configurable:!0}),l.setSnapStatus=e=>{c=e},l._defaultLayers=n,l._activeLayers=null,l.setSnapLayers=e=>{null==e?l._activeLayers=null:Array.isArray(e)&&(l._activeLayers=e)},void 0!==e._pendingSnapLayers&&(l.setSnapLayers(e._pendingSnapLayers),delete e._pendingSnapLayers),e._snapInstance=l,l}!function(e){if(!pi.prototype.__snapPatched){pi.prototype.__snapPatched=!0;var t=pi.prototype,r={setMapData:t.setMapData,drawingSnapCheck:t.drawingSnapCheck,getLines:t.getLines,getCloseFeatures:t.getCloseFeatures,searchInVertex:t.searchInVertex,searchInMidPoint:t.searchInMidPoint,searchInEdge:t.searchInEdge,snapToClosestPoint:t.snapToClosestPoint};t.changeSnappedPoints=()=>{},t.setMapData=function(e){var t,n;if(this.status){var o=r.setMapData.call(this,e);return(null==e||null===(t=e.features)||void 0===t?void 0:t.length)>0&&null!==(n=this.map)&&void 0!==n&&n.getLayer(gi)&&this.map.setLayoutProperty(gi,"visibility","visible"),o}},t.drawingSnapCheck=function(){if(this.status)return r.drawingSnapCheck.call(this)},t.getLines=function(e,t,n){var o=e.geometry;if(!o||!o.coordinates)return[];var i=o.coordinates;if(!Array.isArray(i)||0===i.length)return[];try{return"MultiPolygon"===o.type?i.filter(e=>Array.isArray(e)&&e.length>0).map(e=>Ye(e)):"MultiLineString"===o.type?i.filter(e=>Array.isArray(e)&&e.length>0).map(e=>Ue(e)):r.getLines.call(this,e,t,n)}catch(e){return console.log(e),[]}},t.getCloseFeatures=function(e,t){if(!this.status)return[];var n=this._activeLayers||this._defaultLayers||[];this.options.layers=n.filter(e=>this.map.getLayer(e));var o=this.options.radius||15,i=e.point;e.point=[[i.x-o,i.y-o],[i.x+o,i.y+o]];var a=r.getCloseFeatures.call(this,e,t);return e.point=i,a},t.searchInVertex=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];var i=r.searchInVertex.apply(this,n);return i&&(i.color=e.vertex),i},t.searchInMidPoint=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];var i=r.searchInMidPoint.apply(this,n);return i&&(i.color=e.midpoint),i},t.searchInEdge=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];var i=r.searchInEdge.apply(this,n);return i&&(i.color=e.edge),i},t.snapToClosestPoint=function(e){var t;if(this.status&&(null===(t=this.map)||void 0===t||!t._isZooming))try{var n,o,i=r.snapToClosestPoint.call(this,e);return(null===(n=this.closeFeatures)||void 0===n?void 0:n.length)>100&&(this.closeFeatures.length=0),(null===(o=this.lines)||void 0===o?void 0:o.length)>100&&(this.lines.length=0),i}catch(e){console.log(e),this.snapStatus=!1,this.snapCoords=null}}}}(fi(fi({},oo.snapColors),l)),e.on("style.load",()=>{yi(()=>e._removed?null:e.getSource("mapbox-gl-draw-hot"),t=>{var r;vi(t),e.getSource(gi)||e.addSource(gi,{type:"geojson",data:{type:"FeatureCollection",features:[]}}),e.getLayer(gi)||e.addLayer({id:gi,type:"fill",source:gi,paint:{"fill-color":["get","color"],"fill-opacity":.6},layout:{visibility:null!==(r=e._snapInstance)&&void 0!==r&&r.status?"visible":"none"}}),e._snapInstance||c(t)})}),e.on("zoomstart",()=>{e._isZooming=!0}),e.on("zoomend",()=>{if(e._isZooming=!1,e.getLayer(gi)){e.setLayoutProperty(gi,"visibility","none");var t=e._snapInstance;null!=t&&t.status&&e.setLayoutProperty(gi,"visibility","visible")}}),yi(()=>e._removed?null:e.getSource("mapbox-gl-draw-hot"),c)}(a,s,{layers:i,radius:10,rules:["vertex","edge"]});var h=e=>{a.once("idle",()=>{((e,t)=>{Oo(t).forEach(t=>{Object.entries(t.paint).forEach(r=>{var[n,o]=r;e.getLayer("".concat(t.id,".cold"))&&e.setPaintProperty("".concat(t.id,".cold"),n,o),e.getLayer("".concat(t.id,".hot"))&&e.setPaintProperty("".concat(t.id,".hot"),n,o)})})})(a,e)})};return o.on(n.MAP_SET_STYLE,h),o.on(n.MAP_SET_SIZE,e=>{a.fire("draw.scalechange",{scale:{small:1,medium:1.5,large:2}[e]})}),{draw:s,remove(){l.removeEventListener("touchstart",u),l.removeEventListener("touchend",d),o.off(n.MAP_SET_STYLE,h),s.deleteAll(),s.changeMode("disabled"),a.removeControl(s)}}},Pi=["stroke","fill","strokeWidth"],Oi=e=>{if(!e)return{};var t={};for(var[r,n]of Object.entries(e))if(Pi.includes(r)&&"object"==typeof n&&null!==n){var o=Object.entries(n);for(var[i,a]of(o.length>0&&(t[r]=o[0][1]),o))t["".concat(r).concat(i.charAt(0).toUpperCase()+i.slice(1))]=a}else t[r]=n;return t},Si=["stroke","fill","strokeWidth","properties"];function wi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?wi(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):wi(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Mi=["stroke","fill","strokeWidth","properties"];function xi(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ti(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?xi(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):xi(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Ai=["stroke","fill","strokeWidth","properties"];function Ci(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Ii(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Ci(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ci(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function Li(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function ki(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Li(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Li(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var Di=e=>({mobile:{slot:"actions",showLabel:e},tablet:{slot:"actions",showLabel:e},desktop:{slot:"actions",showLabel:e}}),ji={reducer:{initialState:{mode:null,action:null,actionValid:!1,feature:null,tempFeature:null,selectedVertexIndex:-1,numVertecies:null,snap:!1,hasSnapLayers:!1,undoStackLength:0},actions:l},InitComponent:e=>{var{appState:t,appConfig:r,mapState:n,pluginConfig:i,pluginState:a,services:s,mapProvider:l,buttonConfig:u}=e,{eventBus:d}=s,{crossHair:h}=n,f=["touch","keyboard"].includes(t.interfaceType);(0,o.vJ)(()=>{var e,r,o,s,u,p=null===(e=null===(r=i.includeModes)||void 0===r?void 0:r.includes(t.mode))||void 0===e||e,h=null!==(o=null===(s=i.excludeModes)||void 0===s?void 0:s.includes(t.mode))&&void 0!==o&&o;if(n.isMapReady&&p&&!h){var{remove:f}=Ei({mapStyle:n.mapStyle,snapLayers:i.snapLayers,mapProvider:l,events:c,eventBus:d});return a.dispatch({type:"SET_HAS_SNAP_LAYERS",payload:(null===(u=i.snapLayers)||void 0===u?void 0:u.length)>0}),d.emit("draw:ready"),()=>f()}},[n.isMapReady,t.mode]),(0,o.vJ)(()=>{if(["draw_polygon","draw_line"].includes(a.mode)&&f){var e=h.isVisible;return h.fixAtCenter(),()=>{e||h.hide()}}},[a.mode,t.interfaceType]),(0,o.vJ)(()=>{if(l.draw){var e=function(e){var{pluginState:t,mapProvider:r,buttonConfig:n,eventBus:o}=e,{drawDone:i,drawAddPoint:a,drawUndo:s,drawDeletePoint:l,drawSnap:c,drawCancel:u}=n,{map:d,draw:h}=r,{dispatch:f,feature:g,tempFeature:y}=t,m=()=>{r.snapEnabled=!1,f({type:"SET_SNAP",payload:!1});var e,t=p(d);t&&(null===(e=t.setSnapStatus)||void 0===e||e.call(t,!1),v(t)),d.getLayer("snap-helper-circle")&&d.setLayoutProperty("snap-helper-circle","visibility","none")},b=()=>{var e;null===(e=r.undoStack)||void 0===e||e.clear(),f({type:"SET_MODE",payload:null}),f({type:"SET_FEATURE",payload:{feature:null,tempFeature:null}})},E=()=>{h.trash(),null!=y&&y.id&&h.delete(y.id),g&&h.add(g),m(),h.changeMode("disabled"),b(),o.emit("draw:cancelled",g)},P=0,O=()=>{var e,t=d.getStyle().layers||[];!t.length||null!==(e=t[t.length-1].source)&&void 0!==e&&e.startsWith("mapbox-gl-draw")||t.filter(e=>{var t;return null===(t=e.source)||void 0===t?void 0:t.startsWith("mapbox-gl-draw")}).forEach(e=>d.moveLayer(e.id))},S=e=>t=>{var r=t.features[0];b(),setTimeout(()=>h.changeMode("disabled"),0),o.emit(e,r)},w=e=>{var t=e.features[0];o.emit("draw:updated",t)},_=S("draw:created"),M=S("draw:edited"),x=e=>{f({type:"SET_SELECTED_VERTEX_INDEX",payload:e}),o.emit("draw:vertexselection",e)},T=e=>{f({type:"SET_SELECTED_VERTEX_INDEX",payload:{index:-1,numVertecies:e.numVertecies}})},A=e=>{f({type:"SET_UNDO_STACK_LENGTH",payload:e.length})};return i.onClick=()=>{var e,t=h.getMode();m(),null===(e=r.undoStack)||void 0===e||e.clear(),"edit_vertex"!==t?["draw_polygon","draw_line"].includes(t)&&h.changeMode("disabled"):d.fire("draw.editfinish",{features:[h.get(y.id)]})},u.onClick=E,s.onClick=()=>{if("edit_vertex"!==h.getMode()){var e=r.undoStack;if(null!=e&&e.length){var t=e.pop();d._undoInProgress=!0,setTimeout(()=>{d._undoInProgress=!1},100),d.fire("draw.undo",{operation:t})}}},c.onClick=()=>{var e=Date.now();if(!(e-P<300)){P=e;var n=!t.snap;f({type:"TOGGLE_SNAP"}),r.snapEnabled=n;var o=p(d);null!=o&&o.setSnapStatus&&o.setSnapStatus(n),!n&&o&&(v(o),d.getLayer("snap-helper-circle")&&d.setLayoutProperty("snap-helper-circle","visibility","none"))}},d.on("styledata",O),d.on("draw.cancel",E),d.on("draw.create",_),d.on("draw.editfinish",M),d.on("draw.update",w),d.on("draw.vertexselection",x),d.on("draw.vertexchange",T),d.on("draw.undochange",A),()=>{[i,a,s,l,c,u].forEach(e=>{e&&(e.onClick=null)}),d.off("styledata",O),d.off("draw.cancel",E),d.off("draw.create",_),d.off("draw.editfinish",M),d.off("draw.update",w),d.off("draw.vertexselection",x),d.off("draw.vertexchange",T),d.off("draw.undochange",A)}}({mapProvider:l,buttonConfig:u,pluginState:a,eventBus:d});return()=>e()}},[l,t,a])},buttons:[ki({id:"drawCancel",label:"Cancel",variant:"tertiary",hiddenWhen:e=>{var{pluginState:t}=e;return!t.mode}},Di(!0)),ki({id:"drawAddPoint",label:"Add point",variant:"primary",hiddenWhen:e=>{var{appState:t,pluginState:r}=e;return!["draw_polygon","draw_line"].includes(r.mode)||"touch"!==t.interfaceType}},Di(!0)),ki({id:"drawDone",label:"Done",variant:"primary",hiddenWhen:e=>{var{pluginState:t}=e;return!["draw_polygon","draw_line","edit_vertex"].includes(t.mode)},enableWhen:e=>{var{pluginState:t}=e;return t.numVertecies>=("draw_polygon"===t.mode?3:2)}},Di(!0)),{id:"drawMenu",label:"Menu",iconId:"menu",hiddenWhen:e=>{var{pluginState:t}=e;return!["draw_polygon","draw_line","edit_vertex"].includes(t.mode)},menuItems:[{id:"drawUndo",label:"Undo",iconId:"undo",hiddenWhen:e=>{var{pluginState:t}=e;return!["draw_polygon","draw_line","edit_vertex"].includes(t.mode)},enableWhen:e=>{var{pluginState:t}=e;return t.undoStackLength>0}},{id:"drawSnap",label:"Snap to feature",iconId:"magnet",hiddenWhen:e=>{var{pluginState:t}=e;return!t.mode||!t.hasSnapLayers},pressedWhen:e=>{var{pluginState:t}=e;return!!t.snap}},{id:"drawDeletePoint",label:"Delete point",iconId:"trash",enableWhen:e=>{var t,{pluginState:r}=e;return r.selectedVertexIndex>=0&&r.numVertecies>("Polygon"===(null===(t=r.tempFeature)||void 0===t||null===(t=t.geometry)||void 0===t?void 0:t.type)?3:2)},hiddenWhen:e=>{var{pluginState:t}=e;return!["simple_select","edit_vertex"].includes(t.mode)}}],mobile:{slot:"bottom-right"},tablet:{slot:"top-middle"},desktop:{slot:"top-middle"}}],keyboardShortcuts:[{id:"drawStart",group:"Drawing",title:"Edit vertex",command:"<kbd>Spacebar</kbd></dd>"}],icons:[{id:"menu",svgContent:'<path d="m6 9 6 6 6-6"/>'},{id:"undo",svgContent:'<path d="M9 14 4 9l5-5"/><path d="M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"/>'},{id:"check",svgContent:'<path d="M20 6 9 17l-5-5"/>'},{id:"magnet",svgContent:'<path d="m12 15 4 4"/><path d="M2.352 10.648a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.029-6.029a1 1 0 1 1 3 3l-6.029 6.029a1.205 1.205 0 0 0 0 1.704l2.296 2.296a1.205 1.205 0 0 0 1.704 0l6.365-6.367A1 1 0 0 0 8.716 4.282z"/><path d="m5 8 4 4"/>'},{id:"trash",svgContent:'<path d="M10 11v6"/><path d="M14 11v6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M3 6h18"/><path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/>'}],api:{newPolygon:function(e,t){var r,{appState:n,appConfig:o,pluginConfig:a,pluginState:s,mapProvider:l,services:c}=e,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{dispatch:d}=s,{draw:h,map:f}=l,{eventBus:g}=c;if(h){var y;g.emit("draw:started",{mode:"draw_polygon"}),y=void 0!==u.snapLayers?u.snapLayers:void 0!==a.snapLayers?a.snapLayers:null;var v=p(f);null!=v&&v.setSnapLayers?v.setSnapLayers(y):y&&(f._pendingSnapLayers=y),d({type:"SET_HAS_SNAP_LAYERS",payload:(null===(r=y)||void 0===r?void 0:r.length)>0});var{stroke:m,fill:b,strokeWidth:E,properties:P}=u,O=(0,i.A)(u,Si),S=_i(_i({},P),Oi({stroke:m,fill:b,strokeWidth:E}));h.changeMode("draw_polygon",_i(_i({container:n.layoutRefs.viewportRef.current,vertexMarkerId:"".concat(o.id,"-cross-hair"),addVertexButtonId:"".concat(o.id,"-draw-add-point"),interfaceType:n.interfaceType,getSnapEnabled:()=>!0===l.snapEnabled,featureId:t},O),{},{properties:S})),d({type:"SET_MODE",payload:"draw_polygon"})}},newLine:function(e,t){var r,{appState:n,appConfig:o,pluginConfig:a,pluginState:s,mapProvider:l,services:c}=e,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{dispatch:d}=s,{draw:h,map:f}=l,{eventBus:g}=c;if(h){var y;g.emit("draw:started",{mode:"draw_line"}),y=void 0!==u.snapLayers?u.snapLayers:void 0!==a.snapLayers?a.snapLayers:null;var v=p(f);null!=v&&v.setSnapLayers?v.setSnapLayers(y):y&&(f._pendingSnapLayers=y),d({type:"SET_HAS_SNAP_LAYERS",payload:(null===(r=y)||void 0===r?void 0:r.length)>0});var{stroke:m,fill:b,strokeWidth:E,properties:P}=u,O=(0,i.A)(u,Mi),S=Ti(Ti({},P),Oi({stroke:m,fill:b,strokeWidth:E}));h.changeMode("draw_line",Ti(Ti({container:n.layoutRefs.viewportRef.current,vertexMarkerId:"".concat(o.id,"-cross-hair"),addVertexButtonId:"".concat(o.id,"-draw-add-point"),interfaceType:n.interfaceType,getSnapEnabled:()=>!0===l.snapEnabled,featureId:t},O),{},{properties:S})),d({type:"SET_MODE",payload:"draw_line"})}},editFeature:function(e,t){var r,{appState:n,appConfig:o,mapState:i,pluginConfig:a,pluginState:s,mapProvider:l}=e,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{dispatch:u}=s,{draw:d,map:h}=l;if(d&&d.get(t)){var f,g;g=void 0===c.snapLayers?null!==(f=a.snapLayers)&&void 0!==f?f:null:c.snapLayers;var y=p(h);null!=y&&y.setSnapLayers?y.setSnapLayers(g):g&&(h._pendingSnapLayers=g),u({type:"SET_HAS_SNAP_LAYERS",payload:(null===(r=g)||void 0===r?void 0:r.length)>0}),d.changeMode("edit_vertex",{container:n.layoutRefs.viewportRef.current,deleteVertexButtonId:"".concat(o.id,"-draw-delete-point"),undoButtonId:"".concat(o.id,"-draw-undo"),isPanEnabled:"keyboard"!==n.interfaceType,interfaceType:n.interfaceType,scale:{small:1,medium:1.5,large:2}[i.mapSize],featureId:t,getSnapEnabled:()=>!0===l.snapEnabled});var v=d.get(t);return u({type:"SET_FEATURE",payload:{feature:v,tempFeature:v}}),u({type:"SET_MODE",payload:"edit_vertex"}),!0}},addFeature:(e,t)=>{var{mapProvider:r,services:n}=e,{draw:o}=r,{eventBus:a}=n;if(o){var{stroke:s,fill:l,strokeWidth:c,properties:u}=t,d=Ii(Ii({},(0,i.A)(t,Ai)),{},{properties:Ii(Ii({},u),Oi({stroke:s,fill:l,strokeWidth:c}))});o.add(d,{userProperties:!0}),a.emit("draw:add",d)}},deleteFeature:(e,t)=>{var{mapProvider:r,services:n}=e,{draw:o}=r,{eventBus:i}=n;o&&(o.delete(t),i.emit("draw:delete",{featureIds:t}))},split:function(e,t){var{appState:r,appConfig:n,pluginState:o,mapProvider:i}=e,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{dispatch:s}=o,{draw:l,map:c}=i;if(l){var u=l.get(t),d=["stroke-inactive.cold",...a.snapLayers||[]],h=p(c);null!=h&&h.setSnapLayers?h.setSnapLayers(d):a.snapLayers&&(c._pendingSnapLayers=d),s({type:"SET_HAS_SNAP_LAYERS",payload:!0}),l.changeMode("draw_line",{container:r.layoutRefs.viewportRef.current,vertexMarkerId:"".concat(n.id,"-cross-hair"),addVertexButtonId:"".concat(n.id,"-draw-add-point"),interfaceType:r.interfaceType,getSnapEnabled:()=>!0===i.snapEnabled,featureId:"_splitter",properties:{splitter:"invalid"}}),c.on("draw.create",e=>{var t=e.features[0],r=Hn(u,t);l.setFeatureProperty("_splitter","splitter",r?"valid":"invalid"),s({type:"SET_ACTION",payload:{name:"split",isValid:!!r}})});var f,g,y,v=(f=e=>{if(!(e.coordinates.length<2)){var t={id:"_splitter",geometry:{type:"LineString",coordinates:e.coordinates}},r=!!Hn(u,t);e.properties.splitter=r?"valid":"invalid",e.ctx.store.render(),"edit_vertex"===l.getMode()&&s({type:"SET_ACTION",payload:{name:"split",isValid:r}})}},y=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];clearTimeout(g),g=setTimeout(()=>f(...t),50)},y.cancel=()=>{clearTimeout(g),g=null},y);c.on("draw.geometrychange",v),s({type:"SET_MODE",payload:"draw_line"}),s({type:"SET_ACTION",payload:{name:"split"}})}},merge:(e,t)=>{var{services:r}=e;console.log("merge"),console.log(t)}}}},171:(e,t,r)=>{r.r(t),r.d(t,{manifest:()=>d});var n=r(452),o=r(247),i=r(585),a="app:ready";function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}new Set;var c={slot:"middle",open:!1,dismissible:!0,modal:!0};l({},c),l(l({},c),{},{width:"500px"}),l(l({},c),{},{width:"500px"});var u={small:1,medium:1.5,large:2},d={InitComponent:function(e){var{pluginConfig:t,services:r}=e,{eventBus:i}=r,s=()=>{i.emit("map:initmapstyles",t.mapStyles)};return(0,n.vJ)(()=>(i.on(a,s),()=>i.off(a,s)),[]),(0,o.Y)(o.FK,{})},panels:[{id:"mapStyles",label:"Map styles",mobile:{slot:"drawer",modal:!0,dismissible:!0},tablet:{slot:"left-top",modal:!0,width:"400px",dismissible:!0},desktop:{slot:"left-top",modal:!0,width:"400px",dismissible:!0},render:e=>{var{mapState:t,pluginConfig:r,services:n,mapProvider:i}=e,{mapStyle:a,mapSize:s}=t,{mapStyles:l}=r,{eventBus:c}=n,{supportsMapSizes:d}=i.capabilities;return(0,o.FD)("div",{className:"im-c-map-styles",children:[(0,o.Y)("div",{className:"im-c-map-styles__group",children:(0,o.Y)("div",{className:"im-c-map-styles__inner",children:l.filter(e=>e.url).map(e=>(0,o.Y)("div",{className:"im-c-map-styles__item",children:(0,o.FD)("button",{className:"im-c-map-styles__button","aria-pressed":e.id===a.id,onClick:()=>{return t=e,void c.emit("map:setstyle",t);var t},children:[(0,o.Y)("div",{className:"im-c-map-styles__image",children:(0,o.Y)("img",{src:e.thumbnail||void 0,alt:"",height:"60",width:"60"})}),e.label]})},e.id))})}),d&&(0,o.FD)("div",{className:"im-c-map-styles__group",children:[(0,o.Y)("h3",{className:"im-c-map-styles__heading",id:"map-text-sizes",children:"Map size"}),(0,o.Y)("div",{className:"im-c-map-styles__inner",children:["small","medium","large"].map(e=>(0,o.Y)("div",{className:"im-c-map-styles__item",children:(0,o.FD)("button",{className:"im-c-map-styles__button",onClick:()=>{return t=e,c.emit("map:setsize",t),void c.emit("map:setpixelratio",window.devicePixelRatio*u[t]);var t},"aria-pressed":e===s,children:[(0,o.Y)("div",{className:"im-c-map-styles__image",children:(0,o.FD)("svg",{width:"60",height:"60",viewBox:"0 0 60 60",fillRule:"evenodd",children:[(0,o.Y)("rect",{className:"im-c-map-styles__image-bg",width:"100%",height:"100%"}),(0,o.Y)("g",{style:{transform:"scale(".concat(u[e],")"),transformOrigin:"8px 52px"},children:(0,o.Y)("path",{d:"M8 51.785L12.948 38.9h1.837l5.274 12.885h-1.943l-1.503-3.903h-5.387l-1.415 3.903H8zm3.718-5.291h4.368l-1.345-3.569-.914-2.671c-.164.826-.395 1.646-.694 2.46l-1.415 3.78zm15.592 4.139c-3.698 3.143-7.836.271-6.315-2.562.963-1.794 5.529-1.982 6.183-2.21.022-.825.052-2.27-2.241-2.312-1.751-.031-2.242 1.025-2.435 1.776l-1.547-.211c.234-1.102.963-2.856 4.21-2.874 4.037-.022 3.612 2.962 3.612 3.524v2.11c0 .315 0 3.012.501 3.911h-1.652c-.164-.328-.27-.712-.316-1.152zm-.132-3.533c-.907.37-3.444.694-3.964.914-1.293.548-.911 2.399.225 2.637.639.134 3.739.476 3.739-2.971v-.58z"})})]})}),e[0].toUpperCase()+e.slice(1)]})},e))})]})]})}}],buttons:[{id:"mapStyles",label:"Styles",panelId:"mapStyles",iconId:"map",mobile:{slot:"top-left",showLabel:!1},tablet:{slot:"top-left",showLabel:!0},desktop:{slot:"top-left",showLabel:!0}}],icons:[{id:"map",svgContent:'<path d="M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z"/><path d="M15 5.764v15"/><path d="M9 3.236v15"/>'}]}},415:(e,t,r)=>{r.r(t),r.d(t,{manifest:()=>l});var n=r(452),o=r(247),i={small:1,medium:1.5,large:2},a={metric:[{threshold:1,abbr:"m",abbrPlural:"m",unit:"metre",unitPlural:"metres",factor:1},{threshold:1e3,abbr:"km",abbrPlural:"km",unit:"kilometre",unitPlural:"kilometres",factor:.001}],imperial:[{threshold:1609.344,abbr:"mi",abbrPlural:"mi",unit:"mile",unitPlural:"miles",factor:1/1609.344},{threshold:.9144,abbr:"yd",abbrPlural:"yds",unit:"yard",unitPlural:"yards",factor:1/.9144},{threshold:.3048,abbr:"ft",abbrPlural:"ft",unit:"foot",unitPlural:"feet",factor:1/.3048}]},s=e=>{var t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r>=10?10:r>=5?5:r>=3?3:r>=2?2:1)*t},l={controls:[{id:"scaleBar",label:"Scale bar",mobile:{slot:"right-bottom"},tablet:{slot:"right-bottom"},desktop:{slot:"right-bottom"},render:function(e){var{mapState:t,pluginConfig:r}=e,{resolution:l,mapSize:c}=t,u=(0,n.li)(null),d=(0,n.Kr)(()=>l?((e,t,r,n)=>{var o=e/i[n],l=120*o,c=a[r];for(var{abbr:u,abbrPlural:d,unit:p,unitPlural:h,factor:f}of c){var g=s(l*f);if(g>=1&&g<1e3){var y=g/f/o;if(y<=120)return{label:g,abbr:g>1?d:u,width:y,unit:g>1?h:p}}}var v=c[c.length-1],m=l*v.factor,b=s(m),E=b>1?v.abbrPlural:v.abbr,P=b>1?v.abbrPlural:v.abbr;return{label:b,abbr:E,width:b/v.factor/o,unit:P}})(l/1,0,r.units,c):{width:0,label:"",abbr:"",unit:""},[l,c,r.units]);return(0,o.Y)("div",{className:"im-c-scale-bar",ref:u,style:{width:"".concat(d.width,"px")},children:(0,o.FD)("span",{className:"im-c-scale-bar__label",children:[(0,o.Y)("span",{className:"im-u-visually-hidden",children:"Scale bar: "}),d.label,(0,o.Y)("span",{"aria-hidden":"true",children:d.abbr}),(0,o.Y)("span",{className:"im-u-visually-hidden",children:d.unit})]})})}}]}},706:(e,t,r)=>{r.r(t),r.d(t,{manifest:()=>ce});var n=r(452),o=(r(247),r(585)),i={APP_ADD_MARKER:"app:addmarker",APP_REMOVE_MARKER:"app:removemarker",APP_SET_MODE:"app:setmode",APP_REVERT_MODE:"app:revertmode",APP_ADD_BUTTON:"app:addbutton",APP_TOGGLE_BUTTON_STATE:"app:togglebuttonstate",APP_ADD_PANEL:"app:addpanel",APP_REMOVE_PANEL:"app:removepanel",APP_SHOW_PANEL:"app:showpanel",APP_HIDE_PANEL:"app:hidepanel",APP_ADD_CONTROL:"app:addcontrol",APP_READY:"app:ready",APP_OPENED:"app:opened",APP_CLOSED:"app:closed",APP_PANEL_OPENED:"app:panelopened",APP_PANEL_CLOSED:"app:panelclosed",MAP_SET_STYLE:"map:setstyle",MAP_SET_SIZE:"map:setsize",MAP_SET_PIXEL_RATIO:"map:setpixelratio",MAP_FIT_TO_BOUNDS:"map:fittobounds",MAP_SET_VIEW:"map:setview",MAP_INIT_MAP_STYLES:"map:initmapstyles",MAP_STYLE_CHANGE:"map:stylechange",MAP_LOADED:"map:loaded",MAP_READY:"map:ready",MAP_SIZE_CHANGE:"map:sizechange",MAP_FIRST_IDLE:"map:firstidle",MAP_MOVE_START:"map:movestart",MAP_MOVE:"map:move",MAP_MOVE_END:"map:moveend",MAP_STATE_UPDATED:"map:stateupdated",MAP_DATA_CHANGE:"map:datachange",MAP_RENDER:"map:render",MAP_CLICK:"map:click",MAP_DESTROY:"map:destroy"};function a(e,t,r={}){const n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function s(e,t,r={}){if(!e)throw new Error("coordinates is required");if(!Array.isArray(e))throw new Error("coordinates must be an Array");if(e.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!d(e[0])||!d(e[1]))throw new Error("coordinates must contain numbers");return a({type:"Point",coordinates:e},t,r)}function l(e,t,r={}){if(e.length<2)throw new Error("coordinates must be an array of two or more positions");return a({type:"LineString",coordinates:e},t,r)}function c(e,t={}){const r={type:"FeatureCollection"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function u(e,t,r={}){return a({type:"MultiLineString",coordinates:e},t,r)}function d(e){return!isNaN(e)&&null!==e&&!Array.isArray(e)}const p=11102230246251565e-32,h=134217729,f=(3+8*p)*p;function g(e,t,r,n,o){let i,a,s,l,c=t[0],u=n[0],d=0,p=0;u>c==u>-c?(i=c,c=t[++d]):(i=u,u=n[++p]);let h=0;if(d<e&&p<r)for(u>c==u>-c?(a=c+i,s=i-(a-c),c=t[++d]):(a=u+i,s=i-(a-u),u=n[++p]),i=a,0!==s&&(o[h++]=s);d<e&&p<r;)u>c==u>-c?(a=i+c,l=a-i,s=i-(a-l)+(c-l),c=t[++d]):(a=i+u,l=a-i,s=i-(a-l)+(u-l),u=n[++p]),i=a,0!==s&&(o[h++]=s);for(;d<e;)a=i+c,l=a-i,s=i-(a-l)+(c-l),c=t[++d],i=a,0!==s&&(o[h++]=s);for(;p<r;)a=i+u,l=a-i,s=i-(a-l)+(u-l),u=n[++p],i=a,0!==s&&(o[h++]=s);return 0===i&&0!==h||(o[h++]=i),h}function y(e){return new Float64Array(e)}const v=y(4),m=y(8),b=y(12),E=y(16),P=y(4);function O(e,t,r,n,o,i){const a=(t-i)*(r-o),s=(e-o)*(n-i),l=a-s,c=Math.abs(a+s);return Math.abs(l)>=33306690738754716e-32*c?l:-function(e,t,r,n,o,i,a){let s,l,c,u,d,p,y,O,S,w,_,M,x,T,A,C,I,L;const k=e-o,D=r-o,j=t-i,N=n-i;T=k*N,p=h*k,y=p-(p-k),O=k-y,p=h*N,S=p-(p-N),w=N-S,A=O*w-(T-y*S-O*S-y*w),C=j*D,p=h*j,y=p-(p-j),O=j-y,p=h*D,S=p-(p-D),w=D-S,I=O*w-(C-y*S-O*S-y*w),_=A-I,d=A-_,v[0]=A-(_+d)+(d-I),M=T+_,d=M-T,x=T-(M-d)+(_-d),_=x-C,d=x-_,v[1]=x-(_+d)+(d-C),L=M+_,d=L-M,v[2]=M-(L-d)+(_-d),v[3]=L;let R=function(e,t){let r=t[0];for(let n=1;n<4;n++)r+=t[n];return r}(0,v),F=22204460492503146e-32*a;if(R>=F||-R>=F)return R;if(d=e-k,s=e-(k+d)+(d-o),d=r-D,c=r-(D+d)+(d-o),d=t-j,l=t-(j+d)+(d-i),d=n-N,u=n-(N+d)+(d-i),0===s&&0===l&&0===c&&0===u)return R;if(F=11093356479670487e-47*a+f*Math.abs(R),R+=k*u+N*s-(j*c+D*l),R>=F||-R>=F)return R;T=s*N,p=h*s,y=p-(p-s),O=s-y,p=h*N,S=p-(p-N),w=N-S,A=O*w-(T-y*S-O*S-y*w),C=l*D,p=h*l,y=p-(p-l),O=l-y,p=h*D,S=p-(p-D),w=D-S,I=O*w-(C-y*S-O*S-y*w),_=A-I,d=A-_,P[0]=A-(_+d)+(d-I),M=T+_,d=M-T,x=T-(M-d)+(_-d),_=x-C,d=x-_,P[1]=x-(_+d)+(d-C),L=M+_,d=L-M,P[2]=M-(L-d)+(_-d),P[3]=L;const B=g(4,v,4,P,m);T=k*u,p=h*k,y=p-(p-k),O=k-y,p=h*u,S=p-(p-u),w=u-S,A=O*w-(T-y*S-O*S-y*w),C=j*c,p=h*j,y=p-(p-j),O=j-y,p=h*c,S=p-(p-c),w=c-S,I=O*w-(C-y*S-O*S-y*w),_=A-I,d=A-_,P[0]=A-(_+d)+(d-I),M=T+_,d=M-T,x=T-(M-d)+(_-d),_=x-C,d=x-_,P[1]=x-(_+d)+(d-C),L=M+_,d=L-M,P[2]=M-(L-d)+(_-d),P[3]=L;const V=g(B,m,4,P,b);T=s*u,p=h*s,y=p-(p-s),O=s-y,p=h*u,S=p-(p-u),w=u-S,A=O*w-(T-y*S-O*S-y*w),C=l*c,p=h*l,y=p-(p-l),O=l-y,p=h*c,S=p-(p-c),w=c-S,I=O*w-(C-y*S-O*S-y*w),_=A-I,d=A-_,P[0]=A-(_+d)+(d-I),M=T+_,d=M-T,x=T-(M-d)+(_-d),_=x-C,d=x-_,P[1]=x-(_+d)+(d-C),L=M+_,d=L-M,P[2]=M-(L-d)+(_-d),P[3]=L;const G=g(V,b,4,P,E);return E[G-1]}(e,t,r,n,o,i,c)}function S(e,t){var r,n,o,i,a,s,l,c,u,d=0,p=e[0],h=e[1],f=t.length;for(r=0;r<f;r++){n=0;var g=t[r],y=g.length-1;if((c=g[0])[0]!==g[y][0]&&c[1]!==g[y][1])throw new Error("First and last coordinates in a ring must be the same");for(i=c[0]-p,a=c[1]-h;n<y;n++){if(s=(u=g[n+1])[0]-p,l=u[1]-h,0===a&&0===l){if(s<=0&&i>=0||i<=0&&s>=0)return 0}else if(l>=0&&a<=0||l<=0&&a>=0){if(0===(o=O(i,s,a,l,0,0)))return 0;(o>0&&l>0&&a<=0||o<0&&l<=0&&a>0)&&d++}c=u,a=l,i=s}}return d%2!=0}function w(e){return"Feature"===e.type?e.geometry:e}function _(e,t,r={}){if(!e)throw new Error("point is required");if(!t)throw new Error("polygon is required");const n=function(e){if(!e)throw new Error("coord is required");if(!Array.isArray(e)){if("Feature"===e.type&&null!==e.geometry&&"Point"===e.geometry.type)return[...e.geometry.coordinates];if("Point"===e.type)return[...e.coordinates]}if(Array.isArray(e)&&e.length>=2&&!Array.isArray(e[0])&&!Array.isArray(e[1]))return[...e];throw new Error("coord must be GeoJSON Point or an Array of numbers")}(e),o=w(t),i=o.type,a=t.bbox;let s=o.coordinates;if(a&&!1===function(e,t){return t[0]<=e[0]&&t[1]<=e[1]&&t[2]>=e[0]&&t[3]>=e[1]}(n,a))return!1;"Polygon"===i&&(s=[s]);let l=!1;for(var c=0;c<s.length;++c){const e=S(n,s[c]);if(0===e)return!r.ignoreBoundary;e&&(l=!0)}return l}class M{constructor(e=[],t=x){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:r}=this,n=t[e];for(;e>0;){const o=e-1>>1,i=t[o];if(r(n,i)>=0)break;t[e]=i,e=o}t[e]=n}_down(e){const{data:t,compare:r}=this,n=this.length>>1,o=t[e];for(;e<n;){let n=1+(e<<1),i=t[n];const a=n+1;if(a<this.length&&r(t[a],i)<0&&(n=a,i=t[a]),r(i,o)>=0)break;t[e]=i,e=n}t[e]=o}}function x(e,t){return e<t?-1:e>t?1:0}function T(e,t){return e.p.x>t.p.x?1:e.p.x<t.p.x?-1:e.p.y!==t.p.y?e.p.y>t.p.y?1:-1:1}function A(e,t){return e.rightSweepEvent.p.x>t.rightSweepEvent.p.x?1:e.rightSweepEvent.p.x<t.rightSweepEvent.p.x?-1:e.rightSweepEvent.p.y!==t.rightSweepEvent.p.y?e.rightSweepEvent.p.y<t.rightSweepEvent.p.y?1:-1:1}class C{constructor(e,t,r,n){this.p={x:e[0],y:e[1]},this.featureId=t,this.ringId=r,this.eventId=n,this.otherEvent=null,this.isLeftEndpoint=null}isSamePoint(e){return this.p.x===e.p.x&&this.p.y===e.p.y}}let I=0,L=0,k=0;function D(e,t){const r="Feature"===e.type?e.geometry:e;let n=r.coordinates;"Polygon"!==r.type&&"MultiLineString"!==r.type||(n=[n]),"LineString"===r.type&&(n=[[n]]);for(let o=0;o<n.length;o++)for(let e=0;e<n[o].length;e++){let r=n[o][e][0],i=null;L+=1;for(let a=0;a<n[o][e].length-1;a++){i=n[o][e][a+1];const s=new C(r,I,L,k),l=new C(i,I,L,k+1);s.otherEvent=l,l.otherEvent=s,T(s,l)>0?(l.isLeftEndpoint=!0,s.isLeftEndpoint=!1):(s.isLeftEndpoint=!0,l.isLeftEndpoint=!1),t.push(s),t.push(l),r=i,k+=1}}I+=1}class j{constructor(e){this.leftSweepEvent=e,this.rightSweepEvent=e.otherEvent}}function N(e,t){if(null===e||null===t)return!1;if(e.leftSweepEvent.ringId===t.leftSweepEvent.ringId&&(e.rightSweepEvent.isSamePoint(t.leftSweepEvent)||e.rightSweepEvent.isSamePoint(t.leftSweepEvent)||e.rightSweepEvent.isSamePoint(t.rightSweepEvent)||e.leftSweepEvent.isSamePoint(t.leftSweepEvent)||e.leftSweepEvent.isSamePoint(t.rightSweepEvent)))return!1;const r=e.leftSweepEvent.p.x,n=e.leftSweepEvent.p.y,o=e.rightSweepEvent.p.x,i=e.rightSweepEvent.p.y,a=t.leftSweepEvent.p.x,s=t.leftSweepEvent.p.y,l=t.rightSweepEvent.p.x,c=t.rightSweepEvent.p.y,u=(c-s)*(o-r)-(l-a)*(i-n);if(0===u)return!1;const d=((l-a)*(n-s)-(c-s)*(r-a))/u,p=((o-r)*(n-s)-(i-n)*(r-a))/u;return d>=0&&d<=1&&p>=0&&p<=1&&[r+d*(o-r),n+d*(i-n)]}function R(e,t,r={}){const{removeDuplicates:n=!0,ignoreSelfIntersections:o=!0}=r;let i=[];"FeatureCollection"===e.type?i=i.concat(e.features):"Feature"===e.type?i.push(e):"LineString"!==e.type&&"Polygon"!==e.type&&"MultiLineString"!==e.type&&"MultiPolygon"!==e.type||i.push(a(e)),"FeatureCollection"===t.type?i=i.concat(t.features):"Feature"===t.type?i.push(t):"LineString"!==t.type&&"Polygon"!==t.type&&"MultiLineString"!==t.type&&"MultiPolygon"!==t.type||i.push(a(t));const l=function(e,t){const r=new M([],T);return function(e,t){if("FeatureCollection"===e.type){const r=e.features;for(let e=0;e<r.length;e++)D(r[e],t)}else D(e,t)}(e,r),function(e,t){t=t||!1;const r=[],n=new M([],A);for(;e.length;){const o=e.pop();if(o.isLeftEndpoint){const e=new j(o);for(let i=0;i<n.data.length;i++){const a=n.data[i];if(t&&a.leftSweepEvent.featureId===o.featureId)continue;const s=N(e,a);!1!==s&&r.push(s)}n.push(e)}else!1===o.isLeftEndpoint&&n.pop()}return r}(r,t)}(c(i),o);let u=[];if(n){const e={};l.forEach(t=>{const r=t.join(",");e[r]||(e[r]=!0,u.push(t))})}else u=l;return c(u.map(e=>s(e)))}function F(e,t){!function(e,t){var r,n,o,i,a,s,l,c,u,d,p=0,h="FeatureCollection"===e.type,f="Feature"===e.type,g=h?e.features.length:1;for(r=0;r<g;r++){for(s=h?e.features[r].geometry:f?e.geometry:e,c=h?e.features[r].properties:f?e.properties:{},u=h?e.features[r].bbox:f?e.bbox:void 0,d=h?e.features[r].id:f?e.id:void 0,a=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,o=0;o<a;o++)if(null!==(i=l?s.geometries[o]:s))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===t(i,p,c,u,d))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===t(i.geometries[n],p,c,u,d))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===t(null,p,c,u,d))return!1;p++}}(e,function(e,r,n,o,i){var s,l=null===e?null:e.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==t(a(e,n,{bbox:o,id:i}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var c=0;c<e.coordinates.length;c++){var u=e.coordinates[c];if(!1===t(a({type:s,coordinates:u},n),r,c))return!1}})}function B(e,t={}){const r=w(e);switch(t.properties||"Feature"!==e.type||(t.properties=e.properties),r.type){case"Polygon":return function(e,t={}){return V(w(e).coordinates,t.properties?t.properties:"Feature"===e.type?e.properties:{})}(r,t);case"MultiPolygon":return function(e,t={}){const r=w(e).coordinates,n=t.properties?t.properties:"Feature"===e.type?e.properties:{},o=[];return r.forEach(e=>{o.push(V(e,n))}),c(o)}(r,t);default:throw new Error("invalid poly")}}function V(e,t){return e.length>1?u(e,t):l(e[0],t)}function G(e,t){for(let r=0;r<e.coordinates.length-1;r++)if(U(e.coordinates[r],e.coordinates[r+1],t.coordinates))return!0;return!1}function Y(e,t,r){for(const n of t.coordinates)if(_(n,e))return!0;return R(t,B(e),{ignoreSelfIntersections:r}).features.length>0}function U(e,t,r){const n=r[0]-e[0],o=r[1]-e[1],i=t[0]-e[0],a=t[1]-e[1];return 0===n*a-o*i&&(Math.abs(i)>=Math.abs(a)?i>0?e[0]<=r[0]&&r[0]<=t[0]:t[0]<=r[0]&&r[0]<=e[0]:a>0?e[1]<=r[1]&&r[1]<=t[1]:t[1]<=r[1]&&r[1]<=e[1])}function H(e){var t=e.geometry||e;switch(t.type){case"Polygon":return function(e,t,r={}){for(const n of e){if(n.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(n[n.length-1].length!==n[0].length)throw new Error("First and last Position are not equivalent.");for(let e=0;e<n[n.length-1].length;e++)if(n[n.length-1][e]!==n[0][e])throw new Error("First and last Position are not equivalent.")}return a({type:"Polygon",coordinates:e},t,r)}(t.coordinates);case"MultiPolygon":return function(e,t,r={}){return a({type:"MultiPolygon",coordinates:e},void 0,r)}(t.coordinates);case"LineString":return l(t.coordinates);case"MultiLineString":return u(t.coordinates);case"Point":return s(t.coordinates);case"MultiPoint":return function(e,t,r={}){return a({type:"MultiPoint",coordinates:e},void 0,r)}(t.coordinates);default:throw new Error("Unsupported geometry type: ".concat(t.type))}}function z(e,t){return t.some(t=>!function(e,t,{ignoreSelfIntersections:r=!0}={ignoreSelfIntersections:!0}){let n=!0;return F(e,e=>{F(t,t=>{if(!1===n)return!1;n=function(e,t,r){switch(e.type){case"Point":switch(t.type){case"Point":return n=e.coordinates,o=t.coordinates,!(n[0]===o[0]&&n[1]===o[1]);case"LineString":return!G(t,e);case"Polygon":return!_(e,t)}break;case"LineString":switch(t.type){case"Point":return!G(e,t);case"LineString":return!function(e,t,r){return R(e,t,{ignoreSelfIntersections:r}).features.length>0}(e,t,r);case"Polygon":return!Y(t,e,r)}break;case"Polygon":switch(t.type){case"Point":return!_(t,e);case"LineString":return!Y(e,t,r);case"Polygon":return!function(e,t,r){for(const n of e.coordinates[0])if(_(n,t))return!0;for(const n of t.coordinates[0])if(_(n,e))return!0;return R(B(e),B(t),{ignoreSelfIntersections:r}).features.length>0}(t,e,r)}}var n,o;return!1}(e.geometry,t.geometry,r)})}),n}(H(t),H(e)))}function W(e){var t;if(1!==e.length)return!1;var r=null===(t=e[0].geometry)||void 0===t?void 0:t.type;return"Polygon"===r||"MultiPolygon"===r}function K(e){if(e.length<2)return!1;if(e.some(e=>{var t;return!(null!==(t=e.geometry)&&void 0!==t&&t.type)}))return!1;for(var t=new Set([0]),r=!0;r;){r=!1;for(var n=1;n<e.length;n++)if(!t.has(n)){var o=[...t].map(t=>e[t]);z(e[n],o)&&(t.add(n),r=!0)}}return t.size===e.length}var J=e=>{var t,r=null===(t=e.geometry)||void 0===t?void 0:t.type;return"Point"===r||"MultiPoint"===r};function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}new Set;var Z={slot:"middle",open:!1,dismissible:!0,modal:!0};q({},Z),q(q({},Z),{},{width:"500px"}),q(q({},Z),{},{width:"500px"});var X={small:1,medium:1.5,large:2},Q=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var r=Object.values(e)[0];return null!=r?r:null}return null};function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function te(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var re=e=>1===(null==e?void 0:e.length)&&e.includes("selectMarker");function ne(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function oe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ne(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ne(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ie={ENABLE:(e,t)=>oe(oe(oe({},e),t),{},{enabled:!0}),DISABLE:e=>oe(oe({},e),{},{enabled:!1,selectedFeatures:[],selectedMarkers:[],selectionBounds:null}),TOGGLE_SELECTED_FEATURES:(e,t)=>{var{featureId:r,multiSelect:n,layerId:o,idProperty:i,addToExisting:a=!0,replaceAll:s=!1,properties:l,geometry:c}=t,u=Array.isArray(e.selectedFeatures)?e.selectedFeatures:[],d=u.findIndex(e=>e.featureId===r&&e.layerId===o);if(!1===a){var p=u.filter((e,t)=>t!==d);return oe(oe({},e),{},{selectedFeatures:p,selectionBounds:null})}var h,f={featureId:r,layerId:o,idProperty:i,properties:l,geometry:c};if(n&&!s){var g=[...u];-1===d?g.push(f):g.splice(d,1),h=g}else h=-1!==d&&1===u.length?[]:[f];return oe(oe({},e),{},{selectedFeatures:h,selectedMarkers:n&&!s?e.selectedMarkers:[],selectionBounds:null})},TOGGLE_SELECTED_MARKERS:(e,t)=>{var{markerId:r,multiSelect:n}=t,o=e.selectedMarkers,i=o.includes(r);if(n){var a=i?o.filter(e=>e!==r):[...o,r];return oe(oe({},e),{},{selectedMarkers:a})}return oe(oe({},e),{},{selectedFeatures:[],selectionBounds:null,selectedMarkers:i&&1===o.length?[]:[r]})},UPDATE_SELECTED_BOUNDS:(e,t)=>JSON.stringify(t)===JSON.stringify(e.selectionBounds)?e:oe(oe({},e),{},{selectionBounds:t}),CLEAR_SELECTED_FEATURES:e=>oe(oe({},e),{},{selectedFeatures:[],selectedMarkers:[],selectionBounds:null}),SELECT_MARKER:(e,t)=>{var{markerId:r,multiSelect:n}=t,o=e.selectedMarkers;if(o.includes(r))return e;var i=n?[...o,r]:[r];return oe(oe({},e),{},{selectedFeatures:n?e.selectedFeatures:[],selectionBounds:null,selectedMarkers:i})},UNSELECT_MARKER:(e,t)=>{var{markerId:r}=t,n=e.selectedMarkers;return n.includes(r)?oe(oe({},e),{},{selectedMarkers:n.filter(e=>e!==r)}):e}},ae={tolerance:10,interactionModes:["selectMarker"],multiSelect:!1,contiguous:!1,deselectOnClickOutside:!1,marker:{},selectedStrokeWidth:3};function se(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function le(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?se(Object(r),!0).forEach(function(t){(0,o.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):se(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var ce={InitComponent:e=>{var{appState:t,mapState:r,services:o,buttonConfig:a,mapProvider:s,pluginState:l}=e,{interfaceType:c}=t,{dispatch:u,enabled:d,selectedFeatures:p,selectionBounds:h,interactionModes:f,layers:g}=l,{eventBus:y,closeApp:v}=o,{crossHair:m,mapStyle:b}=r,E=["touch","keyboard"].includes(c),P=re(f),{handleInteraction:O}=(e=>{var t,{mapState:r,pluginState:o,services:i,mapProvider:a}=e,{markers:s,mapSize:l}=r,{dispatch:c,layers:u,interactionModes:d,multiSelect:p,contiguous:h,marker:f,tolerance:g,selectedFeatures:y,selectedMarkers:v,selectionBounds:m,deselectOnClickOutside:b}=o,{eventBus:E}=i,P=(e=>{var t={};for(var r of e)t[r.layerId]=r;return t})(u),O=null!==(t=X[l])&&void 0!==t?t:1,S=(0,n.hb)(e=>{var t,r,{feature:n,config:o}=e;s.remove("location");var i=h&&z(n,y),a=null!==(t=null===(r=n.properties)||void 0===r?void 0:r[o.idProperty])&&void 0!==t?t:n.id;null!=a&&c({type:"TOGGLE_SELECTED_FEATURES",payload:{featureId:a,multiSelect:p,layerId:o.layerId,idProperty:o.idProperty,properties:n.properties,geometry:n.geometry,replaceAll:h&&!i}})},[s,h,y,c,p]),w=(0,n.hb)(e=>{var{coords:t}=e,r=d.includes("placeMarker");(r||b)&&(c({type:"CLEAR_SELECTED_FEATURES"}),r&&(s.add("location",t,f),E.emit("interact:markerchange",{coords:t})))},[d,c,s,f,E,b]),_=(0,n.hb)(e=>{var{point:t,coords:r}=e;if(d.includes("selectMarker")){var n=((e,t,r)=>{for(var n of e.items){var o,i=null===(o=e.markerRefs)||void 0===o?void 0:o.get(n.id);if(i){var a=i.parentElement,s=a?a.getBoundingClientRect():{left:0,top:0},{left:l,top:c,right:u,bottom:d}=i.getBoundingClientRect(),p=t.x*r,h=t.y*r;if(p>=l-s.left&&p<=u-s.left&&h>=c-s.top&&h<=d-s.top)return n.id}}return null})(s,t,O);if(n)return void c({type:"TOGGLE_SELECTED_MARKERS",payload:{markerId:n,multiSelect:p}})}if(d.includes("selectFeature")&&u.length>0){var i=((e,t,r)=>{try{return(null==e?void 0:e.getFeaturesAtPoint(t,r))||[]}catch(e){return console.warn("Feature query failed:",e),[]}})(a,t,{radius:g});null!=o&&o.debug&&console.log("--- Features at ".concat(r," ---"),i);var l=((e,t)=>{var r=e.filter(e=>{var r;return t[null===(r=e.layer)||void 0===r?void 0:r.id]}),n=r.find(J);if(n)return{feature:n,config:t[n.layer.id]};var o=r[0];return o?{feature:o,config:t[o.layer.id]}:null})(i,P);if(l)return void S(l)}w({coords:r})},[a,u,d,p,c,s,P,null==o?void 0:o.debug,g,S,w,O]);return((e,t,r,o)=>{var i=(0,n.li)(null);(0,n.vJ)(()=>{if(!(t.length>0)||o){var n=i.current;(null===n||0===n.features.length&&0===n.markers.length)&&0===t.length&&0===r.length||(e.emit("interact:selectionchange",{selectedFeatures:t,selectedMarkers:r,selectionBounds:o,canMerge:K(t),canSplit:W(t)}),i.current={features:t,markers:r})}},[t,r,o])})(E,y,v,m),{handleInteraction:_}})({mapState:r,pluginState:l,services:o,mapProvider:s}),S=(0,n.li)(O);S.current=O;var w=(0,n.li)(l);w.current=l;var _=(0,n.li)(t);_.current=t;var M=(0,n.li)(!1);return(0,n.vJ)(()=>{M.current=!1;var e=setTimeout(()=>{M.current=!0},0);return()=>clearTimeout(e)},[l.enabled]),(e=>{var{mapProvider:t,mapStyle:r,pluginState:o,selectedFeatures:i,dispatch:a,events:s,eventBus:l}=e,{layers:c}=o,u=(0,n.Kr)(()=>r?((e,t)=>{var r={};if(!t)return r;var n="dark"===t.mapColorScheme?"#ffffff":"#0b0c0c";return e.forEach(e=>{var o=e.selectedStroke||t.selectedColor||n,i=e.selectedFill||"transparent",a=e.selectedStrokeWidth||3;r[e.layerId]={stroke:Q(o,t.id),fill:Q(i,t.id),strokeWidth:a}}),r})(c,r):null,[c,r]),d=()=>{var e,r=null===(e=t.updateHighlightedFeatures)||void 0===e?void 0:e.call(t,i,u);a({type:"UPDATE_SELECTED_BOUNDS",payload:r})};(0,n.vJ)(()=>{if(t&&i&&u)return d(),l.on(s.MAP_DATA_CHANGE,d),()=>{l.off(s.MAP_DATA_CHANGE,d)}},[i,t,u])})({mapProvider:s,mapStyle:b,pluginState:l,selectedFeatures:p,dispatch:u,events:i,eventBus:y}),(0,n.vJ)(()=>{y.emit("interact:active",{active:d,interactionModes:f})},[d,f]),((e,t,r,o)=>{(0,n.vJ)(()=>{var n,i=t&&(null==r?void 0:r.includes("selectFeature"))?o.map(e=>e.layerId):[];return null===(n=e.setHoverCursor)||void 0===n||n.call(e,i),()=>{var t;return null===(t=e.setHoverCursor)||void 0===t?void 0:t.call(e,[])}},[t,r,o])})(s,d,f,g),(0,n.vJ)(()=>{!d||!E||"touch"===c&&P?m.hide():m.fixAtCenter()},[d,c,f]),(0,n.vJ)(()=>{if(l.enabled)return function(e){var t,r,n,{getAppState:o,mapState:i,getPluginState:a,buttonConfig:s,events:l,eventBus:c,handleInteraction:u,clickReadyRef:d,closeApp:p}=e,{selectDone:h,selectAtTarget:f,selectCancel:g}=s,y=()=>u(i.crossHair.getDetail()),v=e=>{d.current&&u(e)},{handleKeydown:m,handleKeyup:b}=(t=o().layoutRefs.viewportRef,r=y,n=!1,{handleKeydown:e=>{n="Enter"===e.key&&t.current===e.target},handleKeyup:e=>{"Enter"===e.key&&n&&(e.preventDefault(),r())}}),E=((e,t)=>(r,n)=>{var o=t();e.markers.remove("location"),o.dispatch({type:"TOGGLE_SELECTED_FEATURES",payload:te({multiSelect:o.multiSelect,addToExisting:n},r)})})(i,a),P=e=>E(e,!0),O=e=>E(e,!1);return document.addEventListener("keydown",m),document.addEventListener("keyup",b),c.on(l.MAP_CLICK,v),c.on("interact:selectFeature",P),c.on("interact:unselectFeature",O),f.onClick=y,h.onClick=()=>{var e,t=a(),r=i.markers.getMarker("location"),{coords:n}=r||{},{selectionBounds:s,selectedFeatures:l,selectedMarkers:u}=t;o().disabledButtons.has("selectDone")||(c.emit("interact:done",((e,t,r,n)=>te(te(te(te({},e&&{coords:e}),!e&&t&&{selectedFeatures:t}),!e&&(null==r?void 0:r.length)&&{selectedMarkers:r}),!e&&n&&{selectionBounds:n}))(n,l,u,s)),(null===(e=t.closeOnAction)||void 0===e||e)&&p())},g.onClick=()=>{var e;c.emit("interact:cancel"),(null===(e=a().closeOnAction)||void 0===e||e)&&p()},()=>{h.onClick=null,f.onClick=null,g.onClick=null,document.removeEventListener("keydown",m),document.removeEventListener("keyup",b),c.off(l.MAP_CLICK,v),c.off("interact:selectFeature",P),c.off("interact:unselectFeature",O)}}({getAppState:()=>_.current,mapState:r,getPluginState:()=>w.current,buttonConfig:a,events:i,eventBus:y,handleInteraction:e=>S.current(e),clickReadyRef:M,closeApp:v})},[l.enabled,a,y,v]),null},reducer:{initialState:{enabled:!1,layers:[],marker:null,interactionModes:null,multiSelect:!1,contiguous:!1,deselectOnClickOutside:!1,selectedFeatures:[],selectedMarkers:[],selectionBounds:null,closeOnAction:!0},actions:ie},buttons:[{id:"selectCancel",label:"Back",variant:"tertiary",hiddenWhen:e=>{var{appConfig:t,appState:r,pluginState:n}=e;return!n.enabled||!(["hybrid","buttonFirst"].includes(t.behaviour)&&r.isFullscreen)},mobile:{slot:"actions",showLabel:!0},tablet:{slot:"actions",showLabel:!0},desktop:{slot:"actions",showLabel:!0}},{id:"selectAtTarget",label:"Select",variant:"primary",hiddenWhen:e=>{var{appState:t,pluginState:r}=e;return!r.enabled||"touch"!==t.interfaceType||re(r.interactionModes)},mobile:{slot:"actions"},tablet:{slot:"actions"},desktop:{slot:"actions"}},{id:"selectDone",label:"Continue",variant:"primary",excludeWhen:e=>{var{appState:t,pluginState:r}=e;return!r.enabled||!t.isFullscreen},enableWhen:e=>{var{mapState:t,pluginState:r}=e;return!!t.markers.items.some(e=>"location"===e.id)||!!r.selectionBounds},mobile:{slot:"actions",showLabel:!0},tablet:{slot:"actions",showLabel:!0},desktop:{slot:"actions",showLabel:!0}}],keyboardShortcuts:[{id:"selectOrMark",group:"Select",title:"Select feature",command:"<kbd>Enter</kbd></dd>"}],icons:[{id:"select",svgContent:'<path d="M22 14a8 8 0 0 1-8 8"/><path d="M18 11v-1a2 2 0 0 0-2-2a2 2 0 0 0-2 2"/><path d="M14 10V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1"/><path d="M10 9.5V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v10"/><path d="M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"/>'}],api:{enable:(e,t)=>{var{pluginState:r,pluginConfig:n}=e;r.dispatch({type:"ENABLE",payload:le(le(le({},ae),n),t)})},disable:e=>{var{pluginState:t}=e;t.dispatch({type:"DISABLE"})},clear:e=>{var{pluginState:t,mapState:r}=e;t.dispatch({type:"CLEAR_SELECTED_FEATURES"}),r.markers.remove("location")},selectFeature:(e,t)=>{var{services:r}=e,{featureId:n,layerId:o,idProperty:i}=t;r.eventBus.emit("interact:selectFeature",{featureId:n,layerId:o,idProperty:i})},unselectFeature:(e,t)=>{var{services:r}=e,{featureId:n,layerId:o,idProperty:i}=t;r.eventBus.emit("interact:unselectFeature",{featureId:n,layerId:o,idProperty:i})},selectMarker:(e,t)=>{var{pluginState:r}=e;r.dispatch({type:"SELECT_MARKER",payload:{markerId:t,multiSelect:r.multiSelect}})},unselectMarker:(e,t)=>{var{pluginState:r}=e;r.dispatch({type:"UNSELECT_MARKER",payload:{markerId:t}})}}}},710:(e,t,r)=>{r.r(t),r.d(t,{manifest:()=>te});var n=r(452),o=r(247),i=r(585),a=r(505),s=r(354),l=r(321);function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var d={TOGGLE_EXPANDED:(e,t)=>u(u({},e),{},{isExpanded:t,areSuggestionsVisible:t,hasFetchedSuggestions:!1}),SET_KEYBOARD_FOCUS_WITHIN:(e,t)=>u(u({},e),{},{hasKeyboardFocusWithin:t,areSuggestionsVisible:!0}),INPUT_BLUR:(e,t)=>u(u({},e),{},{hasKeyboardFocusWithin:!1,areSuggestionsVisible:e.areSuggestionsVisible&&"keyboard"!==t,selectedIndex:-1}),SET_VALUE:(e,t)=>u(u({},e),{},{value:t}),UPDATE_SUGGESTIONS:(e,t)=>u(u({},e),{},{suggestions:t,hasFetchedSuggestions:!0}),SHOW_SUGGESTIONS:e=>u(u({},e),{},{areSuggestionsVisible:!0,hasFetchedSuggestions:!1}),HIDE_SUGGESTIONS:e=>u(u({},e),{},{areSuggestionsVisible:!1,hasFetchedSuggestions:!1}),SET_SELECTED:(e,t)=>u(u({},e),{},{selectedIndex:t,areSuggestionsVisible:t>=0})},p=e=>{var{id:t,isExpanded:r,onClick:n,buttonRef:i,searchIcon:a,showLabel:s}=e;return(0,o.FD)("button",{"aria-label":"Open search",className:"im-c-map-button",onClick:n,"aria-controls":"".concat(t,"-search-form"),ref:i,style:r?{display:"none"}:void 0,children:[a&&(0,o.Y)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:a}}),s&&(0,o.Y)("span",{children:"Search"})]})},h=e=>{var{id:t,pluginState:r,handleSuggestionClick:n}=e;return(0,o.Y)("ul",{id:"".concat(t,"-search-suggestions"),role:"listbox","aria-labelledby":"".concat(t,"-search"),className:"im-c-search-suggestions",style:r.areSuggestionsVisible&&r.suggestions.length?void 0:{display:"none"},children:r.suggestions.map((e,i)=>(0,o.Y)("li",{id:"".concat(t,"-search-suggestion-").concat(i),className:"im-c-search-suggestions__item",role:"option","aria-selected":r.selectedIndex===i,"aria-setsize":r.suggestions.length,"aria-posinset":i+1,onClick:()=>n(e),children:(0,o.Y)("span",{className:"im-c-search-suggestions__label",dangerouslySetInnerHTML:{__html:e.marked}})},e.id))})};function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var g=(e,t,r)=>function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({display:e.expanded||t.isExpanded?"flex":void 0},"mobile"!==r.breakpoint&&(null==e?void 0:e.width)&&{width:e.width}),y=e=>{var{id:t,pluginState:r,pluginConfig:i,appState:a,inputRef:s,events:l,services:c,children:u}=e,{areSuggestionsVisible:d,hasFetchedSuggestions:p,suggestions:f=[]}=r;(0,n.vJ)(()=>{d&&p&&c.announce((e=>{if(0===e)return"No results available";var t=1===e?"result":"results";return"".concat(e," ").concat(t," available")})(f.length))},[f,p]);var y=["im-c-search-form",i.expanded&&"im-c-search-form--default-expanded","im-c-panel"].filter(Boolean).join(" "),v=d&&p&&!f.length;return(0,o.FD)("form",{id:"".concat(t,"-search-form"),role:"search",className:y,style:g(i,r,a),"aria-controls":"".concat(t,"-viewport"),onSubmit:e=>l.handleSubmit(e,a,r),children:[(0,o.Y)("button",{type:"submit",style:{display:"none"},"aria-hidden":"true",tabIndex:-1,children:"Submit"}),(0,o.FD)("div",{className:"im-c-search__input-container".concat(r.hasKeyboardFocusWithin?" im-c-search__input-container--keyboard-focus-within":""),children:[(0,o.Y)("label",{htmlFor:"".concat(t,"-search"),className:"im-u-visually-hidden",children:i.placeholder}),(0,o.Y)("input",{id:"".concat(t,"-search"),className:"im-c-search__input",type:"search",role:"combobox","aria-expanded":r.suggestionsVisible,"aria-controls":"".concat(t,"-search-suggestions"),"aria-activedescendant":r.selectedIndex>=0?"".concat(t,"-search-suggestion-").concat(r.selectedIndex):void 0,"aria-describedby":r.value?void 0:"".concat(t,"-search-hint"),"aria-autocomplete":"list",autoComplete:"off",placeholder:i.placeholder,name:"".concat(t,"-search"),spellCheck:!1,enterKeyHint:"search",value:r.value,onClick:l.handleInputClick,onChange:l.handleInputChange,onFocus:()=>l.handleInputFocus(a.interfaceType),onBlur:()=>l.handleInputBlur(a.interfaceType),onKeyDown:e=>l.handleInputKeyDown(e,r),ref:s}),(0,o.Y)("span",{id:"".concat(t,"-search-hint"),className:"im-c-search__hint",children:"When search results are available use up and down arrows to review and enter to select. Touch device users, explore by touch or with swipe gestures."}),u]}),v&&(0,o.Y)("div",{className:"im-c-search__status","aria-hidden":"true",children:"No results available"}),(0,o.Y)(h,{id:t,appState:a,pluginState:r,handleSuggestionClick:e=>l.handleSuggestionClick(e,a)})]})},v=e=>{var{defaultExpanded:t,onClick:r,closeIcon:n}=e;return(0,o.Y)("button",{"aria-label":"Close search",className:"im-c-map-button im-c-search-close-button",type:"button",onClick:r,style:t?{display:"none"}:void 0,children:n&&(0,o.Y)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:n}})})},m=e=>{var{defaultExpanded:t,submitIcon:r}=e;return(0,o.Y)("button",{"aria-label":"Search",className:"im-c-map-button im-c-search-submit-button",type:"submit",style:t?void 0:{display:"none"},children:r&&(0,o.Y)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",focusable:"false",dangerouslySetInnerHTML:{__html:r}})})};let b=" ";class E{static get separator(){return b}static set separator(e){b=e}static parse(e){if(!isNaN(parseFloat(e))&&isFinite(e))return Number(e);const t=String(e).trim().replace(/^-/,"").replace(/[NSEW]$/i,"").split(/[^0-9.,]+/);if(""==t[t.length-1]&&t.splice(t.length-1),""==t)return NaN;let r=null;switch(t.length){case 3:r=t[0]/1+t[1]/60+t[2]/3600;break;case 2:r=t[0]/1+t[1]/60;break;case 1:r=t[0];break;default:return NaN}return/^-|[WS]$/i.test(e.trim())&&(r=-r),Number(r)}static toDms(e,t="d",r=void 0){if(isNaN(e))return null;if("string"==typeof e&&""==e.trim())return null;if("boolean"==typeof e)return null;if(e==1/0)return null;if(null==e)return null;if(void 0===r)switch(t){case"d":case"deg":r=4;break;case"dm":case"deg+min":r=2;break;case"dms":case"deg+min+sec":r=0;break;default:t="d",r=4}e=Math.abs(e);let n=null,o=null,i=null,a=null;switch(t){default:case"d":case"deg":o=e.toFixed(r),o<100&&(o="0"+o),o<10&&(o="0"+o),n=o+"°";break;case"dm":case"deg+min":o=Math.floor(e),i=(60*e%60).toFixed(r),60==i&&(i=(0).toFixed(r),o++),o=("000"+o).slice(-3),i<10&&(i="0"+i),n=o+"°"+E.separator+i+"′";break;case"dms":case"deg+min+sec":o=Math.floor(e),i=Math.floor(3600*e/60)%60,a=(3600*e%60).toFixed(r),60==a&&(a=(0).toFixed(r),i++),60==i&&(i=0,o++),o=("000"+o).slice(-3),i=("00"+i).slice(-2),a<10&&(a="0"+a),n=o+"°"+E.separator+i+"′"+E.separator+a+"″"}return n}static toLat(e,t,r){const n=E.toDms(E.wrap90(e),t,r);return null===n?"–":n.slice(1)+E.separator+(e<0?"S":"N")}static toLon(e,t,r){const n=E.toDms(E.wrap180(e),t,r);return null===n?"–":n+E.separator+(e<0?"W":"E")}static toBrng(e,t,r){const n=E.toDms(E.wrap360(e),t,r);return null===n?"–":n.replace("360","0")}static fromLocale(e){const t=123456.789.toLocaleString(),r={thousands:t.slice(3,4),decimal:t.slice(7,8)};return e.replace(r.thousands,"⁜").replace(r.decimal,".").replace("⁜",",")}static toLocale(e){const t=123456.789.toLocaleString(),r={thousands:t.slice(3,4),decimal:t.slice(7,8)};return e.replace(/,([0-9])/,"⁜$1").replace(".",r.decimal).replace("⁜",r.thousands)}static compassPoint(e,t=3){if(![1,2,3].includes(Number(t)))throw new RangeError(`invalid precision ‘${t}’`);e=E.wrap360(e);const r=4*2**(t-1);return["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"][Math.round(e*r/360)%r*16/r]}static wrap90(e){if(-90<=e&&e<=90)return e;const t=e;return 1*Math.abs(((t-90)%360+360)%360-180)-90}static wrap180(e){if(-180<=e&&e<=180)return e;const t=360;return((360*e/t-180)%t+t)%t-180}static wrap360(e){if(0<=e&&e<360)return e;const t=360;return(360*e/t%t+t)%t}}Number.prototype.toRadians=function(){return this*Math.PI/180},Number.prototype.toDegrees=function(){return 180*this/Math.PI};class P{constructor(e,t,r){if(isNaN(e)||isNaN(t)||isNaN(r))throw new TypeError(`invalid vector [${e},${t},${r}]`);this.x=Number(e),this.y=Number(t),this.z=Number(r)}get length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}plus(e){if(!(e instanceof P))throw new TypeError("v is not Vector3d object");return new P(this.x+e.x,this.y+e.y,this.z+e.z)}minus(e){if(!(e instanceof P))throw new TypeError("v is not Vector3d object");return new P(this.x-e.x,this.y-e.y,this.z-e.z)}times(e){if(isNaN(e))throw new TypeError(`invalid scalar value ‘${e}’`);return new P(this.x*e,this.y*e,this.z*e)}dividedBy(e){if(isNaN(e))throw new TypeError(`invalid scalar value ‘${e}’`);return new P(this.x/e,this.y/e,this.z/e)}dot(e){if(!(e instanceof P))throw new TypeError("v is not Vector3d object");return this.x*e.x+this.y*e.y+this.z*e.z}cross(e){if(!(e instanceof P))throw new TypeError("v is not Vector3d object");const t=this.y*e.z-this.z*e.y,r=this.z*e.x-this.x*e.z,n=this.x*e.y-this.y*e.x;return new P(t,r,n)}negate(){return new P(-this.x,-this.y,-this.z)}unit(){const e=this.length;if(1==e)return this;if(0==e)return this;const t=this.x/e,r=this.y/e,n=this.z/e;return new P(t,r,n)}angleTo(e,t=void 0){if(!(e instanceof P))throw new TypeError("v is not Vector3d object");if(!(t instanceof P||null==t))throw new TypeError("n is not Vector3d object");const r=null==t||this.cross(e).dot(t)>=0?1:-1,n=this.cross(e).length*r,o=this.dot(e);return Math.atan2(n,o)}rotateAround(e,t){if(!(e instanceof P))throw new TypeError("axis is not Vector3d object");const r=t.toRadians(),n=this.unit(),o=e.unit(),i=Math.sin(r),a=Math.cos(r),s=1-a,l=o.x,c=o.y,u=o.z,d=[[s*l*l+a,s*l*c-i*u,s*l*u+i*c],[s*l*c+i*u,s*c*c+a,s*c*u-i*l],[s*l*u-i*c,s*c*u+i*l,s*u*u+a]],p=[d[0][0]*n.x+d[0][1]*n.y+d[0][2]*n.z,d[1][0]*n.x+d[1][1]*n.y+d[1][2]*n.z,d[2][0]*n.x+d[2][1]*n.y+d[2][2]*n.z];return new P(p[0],p[1],p[2])}toString(e=3){return`[${this.x.toFixed(e)},${this.y.toFixed(e)},${this.z.toFixed(e)}]`}}Number.prototype.toRadians=function(){return this*Math.PI/180},Number.prototype.toDegrees=function(){return 180*this/Math.PI};const O={WGS84:{a:6378137,b:6356752.314245,f:1/298.257223563}},S={WGS84:{ellipsoid:O.WGS84}};Object.freeze(O.WGS84),Object.freeze(S.WGS84);class w{constructor(e,t,r=0){if(isNaN(e)||null==e)throw new TypeError(`invalid lat ‘${e}’`);if(isNaN(t)||null==t)throw new TypeError(`invalid lon ‘${t}’`);if(isNaN(r)||null==r)throw new TypeError(`invalid height ‘${r}’`);this._lat=E.wrap90(Number(e)),this._lon=E.wrap180(Number(t)),this._height=Number(r)}get lat(){return this._lat}get latitude(){return this._lat}set lat(e){if(this._lat=isNaN(e)?E.wrap90(E.parse(e)):E.wrap90(Number(e)),isNaN(this._lat))throw new TypeError(`invalid lat ‘${e}’`)}set latitude(e){if(this._lat=isNaN(e)?E.wrap90(E.parse(e)):E.wrap90(Number(e)),isNaN(this._lat))throw new TypeError(`invalid latitude ‘${e}’`)}get lon(){return this._lon}get lng(){return this._lon}get longitude(){return this._lon}set lon(e){if(this._lon=isNaN(e)?E.wrap180(E.parse(e)):E.wrap180(Number(e)),isNaN(this._lon))throw new TypeError(`invalid lon ‘${e}’`)}set lng(e){if(this._lon=isNaN(e)?E.wrap180(E.parse(e)):E.wrap180(Number(e)),isNaN(this._lon))throw new TypeError(`invalid lng ‘${e}’`)}set longitude(e){if(this._lon=isNaN(e)?E.wrap180(E.parse(e)):E.wrap180(Number(e)),isNaN(this._lon))throw new TypeError(`invalid longitude ‘${e}’`)}get height(){return this._height}set height(e){if(this._height=Number(e),isNaN(this._height))throw new TypeError(`invalid height ‘${e}’`)}get datum(){return this._datum}set datum(e){this._datum=e}static get ellipsoids(){return O}static get datums(){return S}static parse(...e){if(0==e.length)throw new TypeError("invalid (empty) point");let t,r,n;if("object"==typeof e[0]&&(1==e.length||!isNaN(parseFloat(e[1])))){const o=e[0];if("Point"==o.type&&Array.isArray(o.coordinates)?([r,t,n]=o.coordinates,n=n||0):(null!=o.latitude&&(t=o.latitude),null!=o.lat&&(t=o.lat),null!=o.longitude&&(r=o.longitude),null!=o.lng&&(r=o.lng),null!=o.lon&&(r=o.lon),null!=o.height&&(n=o.height),t=E.wrap90(E.parse(t)),r=E.wrap180(E.parse(r))),null!=e[1]&&(n=e[1]),isNaN(t)||isNaN(r))throw new TypeError(`invalid point ‘${JSON.stringify(e[0])}’`)}if("string"==typeof e[0]&&2==e[0].split(",").length&&([t,r]=e[0].split(","),t=E.wrap90(E.parse(t)),r=E.wrap180(E.parse(r)),n=e[1]||0,isNaN(t)||isNaN(r)))throw new TypeError(`invalid point ‘${e[0]}’`);if(null==t&&null==r&&([t,r]=e,t=E.wrap90(E.parse(t)),r=E.wrap180(E.parse(r)),n=e[2]||0,isNaN(t)||isNaN(r)))throw new TypeError(`invalid point ‘${e.toString()}’`);return new this(t,r,n)}toCartesian(){const e=this.datum?this.datum.ellipsoid:this.referenceFrame?this.referenceFrame.ellipsoid:O.WGS84,t=this.lat.toRadians(),r=this.lon.toRadians(),n=this.height,{a:o,f:i}=e,a=Math.sin(t),s=Math.cos(t),l=Math.sin(r),c=Math.cos(r),u=2*i-i*i,d=o/Math.sqrt(1-u*a*a);return new _((d+n)*s*c,(d+n)*s*l,(d*(1-u)+n)*a)}equals(e){if(!(e instanceof w))throw new TypeError(`invalid point ‘${e}’`);return!(Math.abs(this.lat-e.lat)>Number.EPSILON||Math.abs(this.lon-e.lon)>Number.EPSILON||Math.abs(this.height-e.height)>Number.EPSILON||this.datum!=e.datum||this.referenceFrame!=e.referenceFrame||this.epoch!=e.epoch)}toString(e="d",t=void 0,r=null){if(!["d","dm","dms","n"].includes(e))throw new RangeError(`invalid format ‘${e}’`);const n=(this.height>=0?" +":" ")+this.height.toFixed(r)+"m";return"n"==e?(null==t&&(t=4),`${this.lat.toFixed(t)}, ${this.lon.toFixed(t)}${null==r?"":n}`):`${E.toLat(this.lat,e,t)}, ${E.toLon(this.lon,e,t)}${null==r?"":n}`}}class _ extends P{constructor(e,t,r){super(e,t,r)}toLatLon(e=O.WGS84){if(!e||!e.a)throw new TypeError(`invalid ellipsoid ‘${e}’`);const{x:t,y:r,z:n}=this,{a:o,b:i,f:a}=e,s=2*a-a*a,l=s/(1-s),c=Math.sqrt(t*t+r*r),u=i*n/(o*c)*(1+l*i/Math.sqrt(c*c+n*n)),d=u/Math.sqrt(1+u*u),p=d/u,h=isNaN(p)?0:Math.atan2(n+l*i*d*d*d,c-s*o*p*p*p),f=Math.atan2(r,t),g=Math.sin(h),y=c*Math.cos(h)+n*g-o*o/(o/Math.sqrt(1-s*g*g));return new w(h.toDegrees(),f.toDegrees(),y)}toString(e=0){return`[${this.x.toFixed(e)},${this.y.toFixed(e)},${this.z.toFixed(e)}]`}}const M={WGS84:{a:6378137,b:6356752.314245,f:1/298.257223563},Airy1830:{a:6377563.396,b:6356256.909,f:1/299.3249646},AiryModified:{a:6377340.189,b:6356034.448,f:1/299.3249646},Bessel1841:{a:6377397.155,b:6356078.962818,f:1/299.1528128},Clarke1866:{a:6378206.4,b:6356583.8,f:1/294.978698214},Clarke1880IGN:{a:6378249.2,b:6356515,f:1/293.466021294},GRS80:{a:6378137,b:6356752.31414,f:1/298.257222101},Intl1924:{a:6378388,b:6356911.946,f:1/297},WGS72:{a:6378135,b:6356750.5,f:1/298.26}},x={ED50:{ellipsoid:M.Intl1924,transform:[89.5,93.8,123.1,-1.2,0,0,.156]},ETRS89:{ellipsoid:M.GRS80,transform:[0,0,0,0,0,0,0]},Irl1975:{ellipsoid:M.AiryModified,transform:[-482.53,130.596,-564.557,-8.15,1.042,.214,.631]},NAD27:{ellipsoid:M.Clarke1866,transform:[8,-160,-176,0,0,0,0]},NAD83:{ellipsoid:M.GRS80,transform:[.9956,-1.9103,-.5215,-62e-5,.025915,.009426,.011599]},NTF:{ellipsoid:M.Clarke1880IGN,transform:[168,60,-320,0,0,0,0]},OSGB36:{ellipsoid:M.Airy1830,transform:[-446.448,125.157,-542.06,20.4894,-.1502,-.247,-.8421]},Potsdam:{ellipsoid:M.Bessel1841,transform:[-582,-105,-414,-8.3,1.04,.35,-3.08]},TokyoJapan:{ellipsoid:M.Bessel1841,transform:[148,-507,-685,0,0,0,0]},WGS72:{ellipsoid:M.WGS72,transform:[0,0,-4.5,-.22,0,0,.554]},WGS84:{ellipsoid:M.WGS84,transform:[0,0,0,0,0,0,0]}};Object.keys(M).forEach(e=>Object.freeze(M[e])),Object.keys(x).forEach(e=>{Object.freeze(x[e]),Object.freeze(x[e].transform)});class T extends w{constructor(e,t,r=0,n=x.WGS84){if(!n||null==n.ellipsoid)throw new TypeError(`unrecognised datum ‘${n}’`);super(e,t,r),this._datum=n}get datum(){return this._datum}static get ellipsoids(){return M}static get datums(){return x}static parse(...e){let t=x.WGS84;if((4==e.length||3==e.length&&"object"==typeof e[2])&&(t=e.pop()),!t||null==t.ellipsoid)throw new TypeError(`unrecognised datum ‘${t}’`);const r=super.parse(...e);return r._datum=t,r}convertDatum(e){if(!e||null==e.ellipsoid)throw new TypeError(`unrecognised datum ‘${e}’`);return this.toCartesian().convertDatum(e).toLatLon()}toCartesian(){const e=super.toCartesian();return new A(e.x,e.y,e.z,this.datum)}}class A extends _{constructor(e,t,r,n=void 0){if(n&&null==n.ellipsoid)throw new TypeError(`unrecognised datum ‘${n}’`);super(e,t,r),n&&(this._datum=n)}get datum(){return this._datum}set datum(e){if(!e||null==e.ellipsoid)throw new TypeError(`unrecognised datum ‘${e}’`);this._datum=e}toLatLon(e=void 0){e&&(console.info("datum parameter to Cartesian_Datum.toLatLon is deprecated: set datum before calling toLatLon()"),this.datum=e);const t=this.datum||x.WGS84;if(!t||null==t.ellipsoid)throw new TypeError(`unrecognised datum ‘${t}’`);const r=super.toLatLon(t.ellipsoid);return new T(r.lat,r.lon,r.height,this.datum)}convertDatum(e){if(!e||null==e.ellipsoid)throw new TypeError(`unrecognised datum ‘${e}’`);if(!this.datum)throw new TypeError("cartesian coordinate has no datum");let t=null,r=null;null!=this.datum&&this.datum!=x.WGS84||(t=this,r=e.transform),e==x.WGS84&&(t=this,r=this.datum.transform.map(e=>-e)),null==r&&(t=this.convertDatum(x.WGS84),r=e.transform);const n=t.applyTransform(r);return n.datum=e,n}applyTransform(e){const{x:t,y:r,z:n}=this,o=e[0],i=e[1],a=e[2],s=e[3]/1e6+1,l=(e[4]/3600).toRadians(),c=(e[5]/3600).toRadians(),u=(e[6]/3600).toRadians();return new A(o+t*s-r*u+n*c,i+t*u+r*s-n*l,a-t*c+r*l+n*s)}}const C={trueOrigin:{lat:49,lon:-2},scaleFactor:.9996012717,ellipsoid:T.ellipsoids.Airy1830};class I{constructor(e,t){if(this.easting=Number(e),this.northing=Number(t),isNaN(e)||this.easting<0||this.easting>7e5)throw new RangeError(`invalid easting ‘${e}’`);if(isNaN(t)||this.northing<0||this.northing>13e5)throw new RangeError(`invalid northing ‘${t}’`)}toLatLon(e=T.datums.WGS84){const{easting:t,northing:r}=this,{a:n,b:o}=C.ellipsoid,i=C.trueOrigin.lat.toRadians(),a=C.trueOrigin.lon.toRadians(),s=-1e5,l=C.scaleFactor,c=1-o*o/(n*n),u=(n-o)/(n+o),d=u*u,p=u*u*u;let h=i,f=0;do{h=(r-s-f)/(n*l)+h,f=o*l*((1+u+5/4*d+5/4*p)*(h-i)-(3*u+3*u*u+21/8*p)*Math.sin(h-i)*Math.cos(h+i)+(15/8*d+15/8*p)*Math.sin(2*(h-i))*Math.cos(2*(h+i))-35/24*p*Math.sin(3*(h-i))*Math.cos(3*(h+i)))}while(Math.abs(r-s-f)>=1e-5);const g=Math.cos(h),y=Math.sin(h),v=n*l/Math.sqrt(1-c*y*y),m=n*l*(1-c)/Math.pow(1-c*y*y,1.5),b=v/m-1,E=Math.tan(h),P=E*E,O=P*P,S=1/g,w=v*v*v,_=w*v*v,M=t-4e5,x=M*M,A=x*M,I=x*x,k=A*x;h=h-E/(2*m*v)*x+E/(24*m*w)*(5+3*P+b-9*P*b)*I-E/(720*m*_)*(61+90*P+45*O)*(I*x);const D=a+S/v*M-S/(6*w)*(v/m+2*P)*A+S/(120*_)*(5+28*P+24*O)*k-S/(_*v*v*5040)*(61+662*P+1320*O+O*P*720)*(k*x);let j=new L(h.toDegrees(),D.toDegrees(),0,T.datums.OSGB36);return e!=T.datums.OSGB36&&(j=j.convertDatum(e),j=new L(j.lat,j.lon,j.height,j.datum)),j}static parse(e){let t=(e=String(e).trim()).match(/^(\d+),\s*(\d+)$/);if(t)return new I(t[1],t[2]);if(t=e.match(/^[HNST][ABCDEFGHJKLMNOPQRSTUVWXYZ]\s*[0-9]+\s*[0-9]+$/i),!t)throw new Error(`invalid grid reference ‘${e}’`);let r=e.toUpperCase().charCodeAt(0)-"A".charCodeAt(0),n=e.toUpperCase().charCodeAt(1)-"A".charCodeAt(0);r>7&&r--,n>7&&n--;const o=(r-2)%5*5+n%5,i=19-5*Math.floor(r/5)-Math.floor(n/5);let a=e.slice(2).trim().split(/\s+/);if(1==a.length&&(a=[a[0].slice(0,a[0].length/2),a[0].slice(a[0].length/2)]),a[0].length!=a[1].length)throw new Error(`invalid grid reference ‘${e}’`);a[0]=a[0].padEnd(5,"0"),a[1]=a[1].padEnd(5,"0");const s=o+a[0],l=i+a[1];return new I(s,l)}toString(e=10){if(![0,2,4,6,8,10,12,14,16].includes(Number(e)))throw new RangeError(`invalid precision ‘${e}’`);let{easting:t,northing:r}=this;if(0==e){const e={useGrouping:!1,minimumIntegerDigits:6,maximumFractionDigits:3};return`${t.toLocaleString("en",e)},${r.toLocaleString("en",e)}`}const n=Math.floor(t/1e5),o=Math.floor(r/1e5);let i=19-o-(19-o)%5+Math.floor((n+10)/5),a=5*(19-o)%25+n%5;i>7&&i++,a>7&&a++;const s=String.fromCharCode(i+"A".charCodeAt(0),a+"A".charCodeAt(0));return t=Math.floor(t%1e5/Math.pow(10,5-e/2)),r=Math.floor(r%1e5/Math.pow(10,5-e/2)),t=t.toString().padStart(e/2,"0"),r=r.toString().padStart(e/2,"0"),`${s} ${t} ${r}`}}class L extends T{toOsGrid(){const e=this.datum==T.datums.OSGB36?this:this.convertDatum(T.datums.OSGB36),t=e.lat.toRadians(),r=e.lon.toRadians(),{a:n,b:o}=C.ellipsoid,i=C.trueOrigin.lat.toRadians(),a=C.trueOrigin.lon.toRadians(),s=C.scaleFactor,l=1-o*o/(n*n),c=(n-o)/(n+o),u=c*c,d=c*c*c,p=Math.cos(t),h=Math.sin(t),f=n*s/Math.sqrt(1-l*h*h),g=n*s*(1-l)/Math.pow(1-l*h*h,1.5),y=f/g-1,v=o*s*((1+c+5/4*u+5/4*d)*(t-i)-(3*c+3*c*c+21/8*d)*Math.sin(t-i)*Math.cos(t+i)+(15/8*u+15/8*d)*Math.sin(2*(t-i))*Math.cos(2*(t+i))-35/24*d*Math.sin(3*(t-i))*Math.cos(3*(t+i))),m=p*p*p,b=m*p*p,E=Math.tan(t)*Math.tan(t),P=E*E,O=r-a,S=O*O,w=S*O,_=w*O,M=_*O;let x=v+-1e5+f/2*h*p*S+f/24*h*m*(5-E+9*y)*_+f/720*h*b*(61-58*E+P)*(M*O),A=4e5+f*p*O+f/6*m*(f/g-E)*w+f/120*b*(5-18*E+P+14*y-58*E*y)*M;x=Number(x.toFixed(3)),A=Number(A.toFixed(3));try{return new I(A,x)}catch(t){throw new Error(`${t.message} from (${e.lat.toFixed(6)},${e.lon.toFixed(6)}).toOsGrid()`)}}convertDatum(e){const t=super.convertDatum(e);return new L(t.lat,t.lon,t.height,t.datum)}}var k;function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function j(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?D(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var N,R=500,F=e=>{var t=e.GAZETTEER_ENTRY,r="eng"===t.NAME2_LANG?t.NAME2:t.NAME1;return e.GAZETTEER_ENTRY.NAME1=r,e.GAZETTEER_ENTRY.NAME1_LANG="eng",e},B=(e,t)=>{var r,n,o,i,{MBR_XMIN:a,MBR_YMIN:s,MBR_XMAX:l,MBR_YMAX:c,GEOMETRY_X:u,GEOMETRY_Y:d}=t;if(null==a?(r=u-R,n=d-R,o=u+R,i=d+R):(r=a,n=s,o=l,i=c),"EPSG:27700"===e)return[r,n,o,i];if("EPSG:4326"===e){var p=new I(r,n).toLatLon(),h=new I(o,i).toLatLon();return[p.lon,p.lat,h.lon,h.lat].map(e=>Math.round(1e6*e)/1e6)}throw new Error("Unsupported CRS: ".concat(e))},V=(e,t)=>{var{GEOMETRY_X:r,GEOMETRY_Y:n}=t;if("EPSG:27700"===e)return[r,n];if("EPSG:4326"===e){var o=new I(r,n).toLatLon();return[Math.round(1e6*o.lon)/1e6,Math.round(1e6*o.lat)/1e6]}throw new Error("Unsupported CRS: ".concat(e))},G=(e,t,r,n)=>{var o;if(!e||e.error||0===(null===(o=e.header)||void 0===o?void 0:o.totalresults))return[];var i=e.results;return i=((e,t)=>{var r=t.toLowerCase().replace(/,/g,"").split(" ");return e.map(F).filter(e=>r.some(r=>{return e.GAZETTEER_ENTRY.NAME1.toLowerCase().includes(r)||(n=(n=t).replace(/\s/g,""),/^(([A-Z]{1,2}\d[A-Z\d]?|ASCN|STHL|TDCU|BBND|[BFS]IQQ|PCRN|TKCA) ?\d[A-Z]{2}|BFPO ?\d{1,4}|(KY\d|MSR|VG|AI)[ -]?\d{4}|[A-Z]{2} ?\d{2}|GE ?CX|GIR ?0A{2}|SAN ?TA1)$/i.test(n));var n}))})(i,t),i=((e,t)=>e.filter(e=>{var r,n=null==e||null===(r=e.GAZETTEER_ENTRY)||void 0===r||null===(r=r.COUNTRY)||void 0===r?void 0:r.toLowerCase();return n&&t.includes(n)}))(i=(e=>Array.from(new Map(e.map(e=>[e.GAZETTEER_ENTRY.ID,e])).values()))(i),r),(i=i.slice(0,8)).map(e=>j(j({id:e.GAZETTEER_ENTRY.ID,bounds:B(n,e.GAZETTEER_ENTRY),point:V(n,e.GAZETTEER_ENTRY)},((e,t)=>{var r,n,o,i,{NAME1:a,COUNTY_UNITARY:l,DISTRICT_BOROUGH:c,POSTCODE_DISTRICT:u,LOCAL_TYPE:d}=t,p="".concat(["City","Postcode"].includes(d)?"":u+", ").concat("City"===d?"":l||c),h="".concat(a).concat(p?", "+p:"");return{text:h,marked:(r=h,n=e,o=n.replace(/\s+/g,"").split("").join(String.raw(k||(k=(0,s.A)(["s*"],["\\s*"])))),i=new RegExp("(".concat(o,")"),"i"),r.replace(i,"<mark>$1</mark>"))}})(t,e.GAZETTEER_ENTRY)),{},{type:"os-names"}))},Y=e=>{var{url:t,options:r}=e;return new Request(t,r)},U=(N=(0,l.A)(function*(e,t,r){var n,o={url:null===(n=e.urlTemplate)||void 0===n?void 0:n.replace("{query}",encodeURIComponent(t)),options:{method:"GET"}};if(e.buildRequest){var i=e.buildRequest(t,()=>o);return i instanceof Request?i:Y(i)}return Y(r?yield r(o,t):o)}),function(e,t,r){return N.apply(this,arguments)}),H=function(){var e=(0,l.A)(function*(e,t,r){try{var n=yield fetch(t);if(!n.ok)return console.error("Fetch error for ".concat(e.label||"dataset",": ").concat(n.status)),null;var o=yield n.json();return e.parseResults(o,r)}catch(t){return console.error("Network error for ".concat(e.label||"dataset",":"),t),null}});return function(t,r,n){return e.apply(this,arguments)}}(),z=function(){var e=(0,l.A)(function*(e,t,r,n){var o=(e=>e.replace(/[^a-zA-Z0-9\s\-.,]/g,"").trim())(e),i=t.filter(t=>{var r=!t.includeRegex||t.includeRegex.test(e),n=!!t.excludeRegex&&t.excludeRegex.test(o);return r&&!n}),a=[];for(var s of i){var l=yield U(s,o,n),c=yield H(s,l,o);if(null!=c&&c.length&&(a=[...a,...c],s.exclusive))break}return r({type:"UPDATE_SUGGESTIONS",payload:a}),{results:a,sanitisedValue:o}});return function(t,r,n,o){return e.apply(this,arguments)}}();function W(e){var{mapProvider:t,bounds:r,point:n,markers:o,showMarker:i,markerOptions:a}=e;t.fitToBounds(r),i&&o.add("search",n,a)}function K(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function J(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?K(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):K(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function q(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?q(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):q(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function X(e){var t,r,n,{dispatch:o,searchContainerRef:a}=e,s=(t=t=>z(t,e.datasets,o,e.transformRequest),r=null,n=function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];clearTimeout(r),r=setTimeout(()=>{t(...n)},350)},n.cancel=()=>{r&&(clearTimeout(r),r=null)},n),c=(e=>{var{dispatch:t,services:r,viewportRef:n,mapProvider:o,markers:i,datasets:a,transformRequest:s,showMarker:c,markerOptions:u}=e,d="";return{handleOpenClick(){t({type:"TOGGLE_EXPANDED",payload:!0}),r.eventBus.emit("search:open")},handleCloseClick(e,n){t({type:"TOGGLE_EXPANDED",payload:!1}),t({type:"UPDATE_SUGGESTIONS",payload:[]}),t({type:"SET_VALUE",payload:""}),setTimeout(()=>n.current.focus(),0),i.remove("search"),r.eventBus.emit("search:clear"),r.eventBus.emit("search:close")},handleSubmit:(e,p,h)=>(0,l.A)(function*(){e.preventDefault();var{suggestions:l,selectedIndex:f,value:g}=h,y=null==g?void 0:g.trim();if(t({type:"SET_SELECTED",payload:-1}),t({type:"HIDE_SUGGESTIONS"}),f>=0){var v,m=l[f];return t({type:"SET_VALUE",payload:m.text}),null===(v=n.current)||void 0===v||v.focus(),W({mapProvider:o,bounds:m.bounds,point:m.point,markers:i,showMarker:c,markerOptions:u}),void r.eventBus.emit("search:match",J({query:m.text},m))}if(!((null==y?void 0:y.length)<3)){var b=l;if(!l.length||y!==d){var{results:E,sanitisedValue:P}=yield z(y,a,t,s);b=E,d=P}if(b.length){var O;"keyboard"===p.interfaceType&&(null===(O=n.current)||void 0===O||O.focus()),"mobile"===p.breakpoint&&(t({type:"TOGGLE_EXPANDED",payload:!1}),r.eventBus.emit("search:close"));var S=b[0];W({mapProvider:o,bounds:S.bounds,point:S.point,markers:i,showMarker:c,markerOptions:u}),r.eventBus.emit("search:match",J({query:g},S))}}})()}})(e),u=(e=>{var{dispatch:t,debouncedFetchSuggestions:r}=e;return{handleInputClick(){t({type:"SHOW_SUGGESTIONS"})},handleInputFocus(e){t({type:"SET_KEYBOARD_FOCUS_WITHIN",payload:"keyboard"===e})},handleInputBlur(e){t({type:"INPUT_BLUR",payload:e})},handleInputChange(e){var n=e.target.value;if(t({type:"SET_VALUE",payload:n}),n.length<3)return r.cancel(),t({type:"UPDATE_SUGGESTIONS",payload:[]}),void t({type:"HIDE_SUGGESTIONS"});t({type:"SHOW_SUGGESTIONS"}),r(n)}}})(Z(Z({},e),{},{debouncedFetchSuggestions:s})),d=(e=>{var{dispatch:t,services:r,mapProvider:n,markers:o,showMarker:a,markerOptions:s}=e,l=(e,t)=>{var r;return t>=0?"".concat(null===(r=e[t])||void 0===r?void 0:r.text,". ").concat(t+1," of ").concat(e.length," is highlighted"):"".concat(e.length," suggestions available")};return{handleSuggestionClick(e,l){t({type:"SET_VALUE",payload:e.text}),t({type:"HIDE_SUGGESTIONS"}),t({type:"SET_SELECTED",payload:-1}),"mobile"===l.breakpoint&&(t({type:"TOGGLE_EXPANDED",payload:!1}),r.eventBus.emit("search:close")),W({mapProvider:n,bounds:e.bounds,point:e.point,markers:o,showMarker:a,markerOptions:s}),r.eventBus.emit("search:match",function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({query:e.text},e))},handleInputKeyDown(e,n){var{suggestions:o,selectedIndex:i}=n;switch(e.key){case"ArrowDown":if(null==o||!o.length)return;if(e.preventDefault(),i<o.length-1){var a=i+1;r.announce(l(o,a)),t({type:"SET_SELECTED",payload:a}),t({type:"SET_KEYBOARD_FOCUS_WITHIN",payload:!1})}break;case"ArrowUp":if(null==o||!o.length)return;e.preventDefault();var s=i>0?i-1:-1;r.announce(l(o,s)),t({type:"SET_SELECTED",payload:s}),t({type:"SET_KEYBOARD_FOCUS_WITHIN",payload:s<0});break;case"Escape":e.preventDefault(),t({type:"HIDE_SUGGESTIONS"}),t({type:"SET_SELECTED",payload:-1})}}}})(e);return Z(Z(Z(Z({},c),u),d),{},{handleOutside(t){a.current.contains(t.target)||(o({type:"TOGGLE_EXPANDED",payload:!1}),e.services.eventBus.emit("search:close"))}})}var Q=["marker"];function ee(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}var te={reducer:{initialState:{isExpanded:!1,hasKeyboardFocusWithin:!1,value:"",suggestions:[],areSuggestionsVisible:!1,hasFetchedSuggestions:!1,selectedIndex:-1},actions:d},controls:[{id:"search",mobile:{slot:"top-right",showLabel:!1},tablet:{slot:"top-left",showLabel:!1},desktop:{slot:"top-left",showLabel:!1},render:function(e){var t,{appConfig:r,iconRegistry:s,pluginState:l,pluginConfig:c,appState:u,mapState:d,services:h,mapProvider:f}=e,{id:g}=r,{interfaceType:b}=u,{expanded:E,customDatasets:P,osNamesURL:O,regions:S}=c,{dispatch:w,isExpanded:_,areSuggestionsVisible:M,suggestions:x}=l,T=(null==u||null===(t=u.controlConfig)||void 0===t||null===(t=t.search)||void 0===t?void 0:t[null==u?void 0:u.breakpoint].showLabel)||!1,A=s.close,C=s.search,I=(0,n.li)(null),L=(0,n.li)(null),k=(0,n.li)(null),D=u.layoutRefs.viewportRef,j=function(e){var{customDatasets:t=[],osNamesURL:r,crs:n,regions:o=["england","scotland","wales"]}=e;return r?[{name:"osNames",urlTemplate:r,parseResults:(e,t)=>G(e,t,o,n),includeRegex:/[a-zA-Z0-9]/,excludeRegex:/^(?:[a-z]{2}\s*(?:\d{3}\s*\d{3}|\d{4}\s*\d{4}|\d{5}\s*\d{5})|\d+\s*,?\s*\d+)$/i},...t]:t}({customDatasets:P,osNamesURL:O,regions:S,crs:f.crs}),N=(0,n.li)(null);if(!N.current){var{marker:R}=c,F=(0,a.A)(c,Q);N.current=X(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ee(Object(r),!0).forEach(function(t){(0,i.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}({dispatch:w,datasets:j,services:h,mapProvider:f,viewportRef:D,searchContainerRef:I,markers:d.markers,markerOptions:R},F))}var B=N.current,V=_||!!(E&&M&&x.length);return(0,n.vJ)(()=>{var e;_&&(null===(e=k.current)||void 0===e||e.focus())},[_]),(0,n.vJ)(()=>{if(u.dispatch({type:"TOGGLE_HAS_EXCLUSIVE_CONTROL",payload:_}),V)return D.current.style.pointerEvents="none",document.addEventListener("focusin",B.handleOutside),document.addEventListener("pointerdown",B.handleOutside),()=>{D.current.style.pointerEvents="auto",document.removeEventListener("focusin",B.handleOutside),document.removeEventListener("pointerdown",B.handleOutside)}},[_,b,M,x]),(0,o.FD)("div",{className:"im-c-search",ref:I,children:[!E&&(0,o.Y)(p,{id:g,isExpanded:_,onClick:()=>B.handleOpenClick(u),buttonRef:L,searchIcon:C,showLabel:T}),(0,o.FD)(y,{id:g,pluginState:l,pluginConfig:c,appState:u,inputRef:k,events:B,services:h,children:[(0,o.Y)(v,{defaultExpanded:E,onClick:e=>B.handleCloseClick(e,L,u),closeIcon:A}),(0,o.Y)(m,{defaultExpanded:E,onClick:e=>B.handleCloseClick(e,L,u),submitIcon:C})]})]})}}],icons:[{id:"search",svgContent:'<path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle>'}]}},814:(e,t,r)=>{r.r(t),r.d(t,{default:()=>ee}),r(452),r(247);var n=r(585),o=r(505),i=r(321),a=400,s=["showKeyboardHelp","selectControl","moveLarge","nudgeMap","zoomLarge","nudgeZoom","highlightLabelAtCenter","highlightNextLabel"];function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}new Set;var u={slot:"middle",open:!1,dismissible:!0,modal:!0};c({},u),c(c({},u),{},{width:"500px"}),c(c({},u),{},{width:"500px"});var d={small:1,medium:1.5,large:2},p=(e,t)=>{var r=null,n=function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];clearTimeout(r),r=setTimeout(()=>{e(...o)},t)};return n.cancel=()=>{r&&(clearTimeout(r),r=null)},n};function h(e){var{map:t,events:r,eventBus:n,getCenter:o,getZoom:i,getBounds:a,getResolution:s}=e,l=[],c=[],u=()=>{var e=i();return{center:o(),bounds:a(),resolution:s(),zoom:e,isAtMaxZoom:t.getMaxZoom()<=e,isAtMinZoom:t.getMinZoom()>=e}},d=(e,t)=>n.emit(e,t),h=()=>d(r.MAP_LOADED);t.on("load",h),l.push(["load",h]),t.once("idle",()=>d(r.MAP_FIRST_IDLE,u()));var f=()=>d(r.MAP_MOVE_START);t.on("movestart",f),l.push(["movestart",f]);var g=p(()=>{d(r.MAP_MOVE_END,u())},500);t.on("moveend",g),l.push(["moveend",g]),c.push(g);var y,v,m=(y=()=>{d(r.MAP_MOVE,u())},v=0,function(){var e=Date.now();e-v>=10&&(v=e,y(...arguments))});t.on("zoom",m),l.push(["zoom",m]),c.push(m);var b=()=>d(r.MAP_RENDER);t.on("render",b),l.push(["render",b]);var E=p(()=>{d(r.MAP_DATA_CHANGE,u())},500);t.on("styledata",E),l.push(["styledata",E]),c.push(E);var P=()=>d(r.MAP_STYLE_CHANGE);t.on("style.load",P),l.push(["style.load",P]);var O=e=>d(r.MAP_CLICK,{point:e.point,coords:[e.lngLat.lng,e.lngLat.lat]});return t.on("click",O),l.push(["click",O]),{remove(){c.forEach(e=>e.cancel()),l.forEach(e=>{var[r,n]=e;return t.off(r,n)})}}}let f=" ";class g{static get separator(){return f}static set separator(e){f=e}static parse(e){if(!isNaN(parseFloat(e))&&isFinite(e))return Number(e);const t=String(e).trim().replace(/^-/,"").replace(/[NSEW]$/i,"").split(/[^0-9.,]+/);if(""==t[t.length-1]&&t.splice(t.length-1),""==t)return NaN;let r=null;switch(t.length){case 3:r=t[0]/1+t[1]/60+t[2]/3600;break;case 2:r=t[0]/1+t[1]/60;break;case 1:r=t[0];break;default:return NaN}return/^-|[WS]$/i.test(e.trim())&&(r=-r),Number(r)}static toDms(e,t="d",r=void 0){if(isNaN(e))return null;if("string"==typeof e&&""==e.trim())return null;if("boolean"==typeof e)return null;if(e==1/0)return null;if(null==e)return null;if(void 0===r)switch(t){case"d":case"deg":r=4;break;case"dm":case"deg+min":r=2;break;case"dms":case"deg+min+sec":r=0;break;default:t="d",r=4}e=Math.abs(e);let n=null,o=null,i=null,a=null;switch(t){default:case"d":case"deg":o=e.toFixed(r),o<100&&(o="0"+o),o<10&&(o="0"+o),n=o+"°";break;case"dm":case"deg+min":o=Math.floor(e),i=(60*e%60).toFixed(r),60==i&&(i=(0).toFixed(r),o++),o=("000"+o).slice(-3),i<10&&(i="0"+i),n=o+"°"+g.separator+i+"′";break;case"dms":case"deg+min+sec":o=Math.floor(e),i=Math.floor(3600*e/60)%60,a=(3600*e%60).toFixed(r),60==a&&(a=(0).toFixed(r),i++),60==i&&(i=0,o++),o=("000"+o).slice(-3),i=("00"+i).slice(-2),a<10&&(a="0"+a),n=o+"°"+g.separator+i+"′"+g.separator+a+"″"}return n}static toLat(e,t,r){const n=g.toDms(g.wrap90(e),t,r);return null===n?"–":n.slice(1)+g.separator+(e<0?"S":"N")}static toLon(e,t,r){const n=g.toDms(g.wrap180(e),t,r);return null===n?"–":n+g.separator+(e<0?"W":"E")}static toBrng(e,t,r){const n=g.toDms(g.wrap360(e),t,r);return null===n?"–":n.replace("360","0")}static fromLocale(e){const t=123456.789.toLocaleString(),r={thousands:t.slice(3,4),decimal:t.slice(7,8)};return e.replace(r.thousands,"⁜").replace(r.decimal,".").replace("⁜",",")}static toLocale(e){const t=123456.789.toLocaleString(),r={thousands:t.slice(3,4),decimal:t.slice(7,8)};return e.replace(/,([0-9])/,"⁜$1").replace(".",r.decimal).replace("⁜",r.thousands)}static compassPoint(e,t=3){if(![1,2,3].includes(Number(t)))throw new RangeError(`invalid precision ‘${t}’`);e=g.wrap360(e);const r=4*2**(t-1);return["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"][Math.round(e*r/360)%r*16/r]}static wrap90(e){if(-90<=e&&e<=90)return e;const t=e;return 1*Math.abs(((t-90)%360+360)%360-180)-90}static wrap180(e){if(-180<=e&&e<=180)return e;const t=360;return((360*e/t-180)%t+t)%t-180}static wrap360(e){if(0<=e&&e<360)return e;const t=360;return(360*e/t%t+t)%t}}Number.prototype.toRadians=function(){return this*Math.PI/180},Number.prototype.toDegrees=function(){return 180*this/Math.PI};const y=Math.PI;class v{constructor(e,t){if(isNaN(e))throw new TypeError(`invalid lat ‘${e}’`);if(isNaN(t))throw new TypeError(`invalid lon ‘${t}’`);this._lat=g.wrap90(Number(e)),this._lon=g.wrap180(Number(t))}get lat(){return this._lat}get latitude(){return this._lat}set lat(e){if(this._lat=isNaN(e)?g.wrap90(g.parse(e)):g.wrap90(Number(e)),isNaN(this._lat))throw new TypeError(`invalid lat ‘${e}’`)}set latitude(e){if(this._lat=isNaN(e)?g.wrap90(g.parse(e)):g.wrap90(Number(e)),isNaN(this._lat))throw new TypeError(`invalid latitude ‘${e}’`)}get lon(){return this._lon}get lng(){return this._lon}get longitude(){return this._lon}set lon(e){if(this._lon=isNaN(e)?g.wrap180(g.parse(e)):g.wrap180(Number(e)),isNaN(this._lon))throw new TypeError(`invalid lon ‘${e}’`)}set lng(e){if(this._lon=isNaN(e)?g.wrap180(g.parse(e)):g.wrap180(Number(e)),isNaN(this._lon))throw new TypeError(`invalid lng ‘${e}’`)}set longitude(e){if(this._lon=isNaN(e)?g.wrap180(g.parse(e)):g.wrap180(Number(e)),isNaN(this._lon))throw new TypeError(`invalid longitude ‘${e}’`)}static get metresToKm(){return.001}static get metresToMiles(){return 1/1609.344}static get metresToNauticalMiles(){return 1/1852}static parse(...e){if(0==e.length)throw new TypeError("invalid (empty) point");if(null===e[0]||null===e[1])throw new TypeError("invalid (null) point");let t,r;if(2==e.length&&([t,r]=e,t=g.wrap90(g.parse(t)),r=g.wrap180(g.parse(r)),isNaN(t)||isNaN(r)))throw new TypeError(`invalid point ‘${e.toString()}’`);if(1==e.length&&"string"==typeof e[0]&&([t,r]=e[0].split(","),t=g.wrap90(g.parse(t)),r=g.wrap180(g.parse(r)),isNaN(t)||isNaN(r)))throw new TypeError(`invalid point ‘${e[0]}’`);if(1==e.length&&"object"==typeof e[0]){const n=e[0];if("Point"==n.type&&Array.isArray(n.coordinates)?[r,t]=n.coordinates:(null!=n.latitude&&(t=n.latitude),null!=n.lat&&(t=n.lat),null!=n.longitude&&(r=n.longitude),null!=n.lng&&(r=n.lng),null!=n.lon&&(r=n.lon),t=g.wrap90(g.parse(t)),r=g.wrap180(g.parse(r))),isNaN(t)||isNaN(r))throw new TypeError(`invalid point ‘${JSON.stringify(e[0])}’`)}if(isNaN(t)||isNaN(r))throw new TypeError(`invalid point ‘${e.toString()}’`);return new v(t,r)}distanceTo(e,t=6371e3){if(e instanceof v||(e=v.parse(e)),isNaN(t))throw new TypeError(`invalid radius ‘${t}’`);const r=t,n=this.lat.toRadians(),o=this.lon.toRadians(),i=e.lat.toRadians(),a=i-n,s=e.lon.toRadians()-o,l=Math.sin(a/2)*Math.sin(a/2)+Math.cos(n)*Math.cos(i)*Math.sin(s/2)*Math.sin(s/2);return r*(2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)))}initialBearingTo(e){if(e instanceof v||(e=v.parse(e)),this.equals(e))return NaN;const t=this.lat.toRadians(),r=e.lat.toRadians(),n=(e.lon-this.lon).toRadians(),o=Math.cos(t)*Math.sin(r)-Math.sin(t)*Math.cos(r)*Math.cos(n),i=Math.sin(n)*Math.cos(r),a=Math.atan2(i,o).toDegrees();return g.wrap360(a)}finalBearingTo(e){e instanceof v||(e=v.parse(e));const t=e.initialBearingTo(this)+180;return g.wrap360(t)}midpointTo(e){e instanceof v||(e=v.parse(e));const t=this.lat.toRadians(),r=this.lon.toRadians(),n=e.lat.toRadians(),o=(e.lon-this.lon).toRadians(),i=Math.cos(t),a=Math.sin(t),s={x:i+Math.cos(n)*Math.cos(o),y:0+Math.cos(n)*Math.sin(o),z:a+Math.sin(n)},l=Math.atan2(s.z,Math.sqrt(s.x*s.x+s.y*s.y)),c=r+Math.atan2(s.y,s.x),u=l.toDegrees(),d=c.toDegrees();return new v(u,d)}intermediatePointTo(e,t){if(e instanceof v||(e=v.parse(e)),this.equals(e))return new v(this.lat,this.lon);const r=this.lat.toRadians(),n=this.lon.toRadians(),o=e.lat.toRadians(),i=e.lon.toRadians(),a=o-r,s=i-n,l=Math.sin(a/2)*Math.sin(a/2)+Math.cos(r)*Math.cos(o)*Math.sin(s/2)*Math.sin(s/2),c=2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l)),u=Math.sin((1-t)*c)/Math.sin(c),d=Math.sin(t*c)/Math.sin(c),p=u*Math.cos(r)*Math.cos(n)+d*Math.cos(o)*Math.cos(i),h=u*Math.cos(r)*Math.sin(n)+d*Math.cos(o)*Math.sin(i),f=u*Math.sin(r)+d*Math.sin(o),g=Math.atan2(f,Math.sqrt(p*p+h*h)),y=Math.atan2(h,p),m=g.toDegrees(),b=y.toDegrees();return new v(m,b)}destinationPoint(e,t,r=6371e3){const n=e/r,o=Number(t).toRadians(),i=this.lat.toRadians(),a=this.lon.toRadians(),s=Math.sin(i)*Math.cos(n)+Math.cos(i)*Math.sin(n)*Math.cos(o),l=Math.asin(s),c=Math.sin(o)*Math.sin(n)*Math.cos(i),u=Math.cos(n)-Math.sin(i)*s,d=a+Math.atan2(c,u),p=l.toDegrees(),h=d.toDegrees();return new v(p,h)}static intersection(e,t,r,n){if(e instanceof v||(e=v.parse(e)),r instanceof v||(r=v.parse(r)),isNaN(t))throw new TypeError(`invalid brng1 ‘${t}’`);if(isNaN(n))throw new TypeError(`invalid brng2 ‘${n}’`);const o=e.lat.toRadians(),i=e.lon.toRadians(),a=r.lat.toRadians(),s=r.lon.toRadians(),l=Number(t).toRadians(),c=Number(n).toRadians(),u=a-o,d=s-i,p=2*Math.asin(Math.sqrt(Math.sin(u/2)*Math.sin(u/2)+Math.cos(o)*Math.cos(a)*Math.sin(d/2)*Math.sin(d/2)));if(Math.abs(p)<Number.EPSILON)return new v(e.lat,e.lon);const h=(Math.sin(a)-Math.sin(o)*Math.cos(p))/(Math.sin(p)*Math.cos(o)),f=(Math.sin(o)-Math.sin(a)*Math.cos(p))/(Math.sin(p)*Math.cos(a)),g=Math.acos(Math.min(Math.max(h,-1),1)),m=Math.acos(Math.min(Math.max(f,-1),1)),b=l-(Math.sin(s-i)>0?g:2*y-g),E=(Math.sin(s-i)>0?2*y-m:m)-c;if(0==Math.sin(b)&&0==Math.sin(E))return null;if(Math.sin(b)*Math.sin(E)<0)return null;const P=-Math.cos(b)*Math.cos(E)+Math.sin(b)*Math.sin(E)*Math.cos(p),O=Math.atan2(Math.sin(p)*Math.sin(b)*Math.sin(E),Math.cos(E)+Math.cos(b)*P),S=Math.asin(Math.min(Math.max(Math.sin(o)*Math.cos(O)+Math.cos(o)*Math.sin(O)*Math.cos(l),-1),1)),w=i+Math.atan2(Math.sin(l)*Math.sin(O)*Math.cos(o),Math.cos(O)-Math.sin(o)*Math.sin(S)),_=S.toDegrees(),M=w.toDegrees();return new v(_,M)}crossTrackDistanceTo(e,t,r=6371e3){e instanceof v||(e=v.parse(e)),t instanceof v||(t=v.parse(t));const n=r;if(this.equals(e))return 0;const o=e.distanceTo(this,n)/n,i=e.initialBearingTo(this).toRadians(),a=e.initialBearingTo(t).toRadians();return Math.asin(Math.sin(o)*Math.sin(i-a))*n}alongTrackDistanceTo(e,t,r=6371e3){e instanceof v||(e=v.parse(e)),t instanceof v||(t=v.parse(t));const n=r;if(this.equals(e))return 0;const o=e.distanceTo(this,n)/n,i=e.initialBearingTo(this).toRadians(),a=e.initialBearingTo(t).toRadians(),s=Math.asin(Math.sin(o)*Math.sin(i-a));return Math.acos(Math.cos(o)/Math.abs(Math.cos(s)))*Math.sign(Math.cos(a-i))*n}maxLatitude(e){const t=Number(e).toRadians(),r=this.lat.toRadians();return Math.acos(Math.abs(Math.sin(t)*Math.cos(r))).toDegrees()}static crossingParallels(e,t,r){if(e.equals(t))return null;const n=Number(r).toRadians(),o=e.lat.toRadians(),i=e.lon.toRadians(),a=t.lat.toRadians(),s=t.lon.toRadians()-i,l=Math.sin(o)*Math.cos(a)*Math.cos(n)*Math.sin(s),c=Math.sin(o)*Math.cos(a)*Math.cos(n)*Math.cos(s)-Math.cos(o)*Math.sin(a)*Math.cos(n),u=Math.cos(o)*Math.cos(a)*Math.sin(n)*Math.sin(s);if(u*u>l*l+c*c)return null;const d=Math.atan2(-c,l),p=Math.acos(u/Math.sqrt(l*l+c*c)),h=i+d+p,f=(i+d-p).toDegrees(),y=h.toDegrees();return{lon1:g.wrap180(f),lon2:g.wrap180(y)}}rhumbDistanceTo(e,t=6371e3){e instanceof v||(e=v.parse(e));const r=t,n=this.lat.toRadians(),o=e.lat.toRadians(),i=o-n;let a=Math.abs(e.lon-this.lon).toRadians();Math.abs(a)>y&&(a=a>0?-(2*y-a):2*y+a);const s=Math.log(Math.tan(o/2+y/4)/Math.tan(n/2+y/4)),l=Math.abs(s)>1e-11?i/s:Math.cos(n);return Math.sqrt(i*i+l*l*a*a)*r}rhumbBearingTo(e){if(e instanceof v||(e=v.parse(e)),this.equals(e))return NaN;const t=this.lat.toRadians(),r=e.lat.toRadians();let n=(e.lon-this.lon).toRadians();Math.abs(n)>y&&(n=n>0?-(2*y-n):2*y+n);const o=Math.log(Math.tan(r/2+y/4)/Math.tan(t/2+y/4)),i=Math.atan2(n,o).toDegrees();return g.wrap360(i)}rhumbDestinationPoint(e,t,r=6371e3){const n=this.lat.toRadians(),o=this.lon.toRadians(),i=Number(t).toRadians(),a=e/r,s=a*Math.cos(i);let l=n+s;Math.abs(l)>y/2&&(l=l>0?y-l:-y-l);const c=Math.log(Math.tan(l/2+y/4)/Math.tan(n/2+y/4)),u=Math.abs(c)>1e-11?s/c:Math.cos(n),d=o+a*Math.sin(i)/u,p=l.toDegrees(),h=d.toDegrees();return new v(p,h)}rhumbMidpointTo(e){e instanceof v||(e=v.parse(e));const t=this.lat.toRadians();let r=this.lon.toRadians();const n=e.lat.toRadians(),o=e.lon.toRadians();Math.abs(o-r)>y&&(r+=2*y);const i=(t+n)/2,a=Math.tan(y/4+t/2),s=Math.tan(y/4+n/2),l=Math.tan(y/4+i/2);let c=((o-r)*Math.log(l)+r*Math.log(s)-o*Math.log(a))/Math.log(s/a);isFinite(c)||(c=(r+o)/2);const u=i.toDegrees(),d=c.toDegrees();return new v(u,d)}static areaOf(e,t=6371e3){const r=t,n=e[0].equals(e[e.length-1]);n||e.push(e[0]);const o=e.length-1;let i=0;for(let s=0;s<o;s++){const t=e[s].lat.toRadians(),r=e[s+1].lat.toRadians(),n=(e[s+1].lon-e[s].lon).toRadians();i+=2*Math.atan2(Math.tan(n/2)*(Math.tan(t/2)+Math.tan(r/2)),1+Math.tan(t/2)*Math.tan(r/2))}(function(e){let t=0,r=e[0].initialBearingTo(e[1]);for(let n=0;n<e.length-1;n++){const o=e[n].initialBearingTo(e[n+1]),i=e[n].finalBearingTo(e[n+1]);t+=(o-r+540)%360-180,t+=(i-o+540)%360-180,r=i}return t+=(e[0].initialBearingTo(e[1])-r+540)%360-180,Math.abs(t)<90})(e)&&(i=Math.abs(i)-2*y);const a=Math.abs(i*r*r);return n||e.pop(),a}equals(e){return e instanceof v||(e=v.parse(e)),!(Math.abs(this.lat-e.lat)>Number.EPSILON||Math.abs(this.lon-e.lon)>Number.EPSILON)}toGeoJSON(){return{type:"Point",coordinates:[this.lon,this.lat]}}toString(e="d",t=void 0){if(!["d","dm","dms","n"].includes(e))throw new RangeError(`invalid format ‘${e}’`);return"n"==e?(null==t&&(t=4),`${this.lat.toFixed(t)},${this.lon.toFixed(t)}`):`${g.toLat(this.lat,e,t)}, ${g.toLon(this.lon,e,t)}`}}function m(e,t,r){if(null!==e)for(var n,o,i,a,s,l,c,u,d=0,p=0,h=e.type,f="FeatureCollection"===h,g="Feature"===h,y=f?e.features.length:1,v=0;v<y;v++){s=(u=!!(c=f?e.features[v].geometry:g?e.geometry:e)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var b=0;b<s;b++){var E=0,P=0;if(null!==(a=u?c.geometries[b]:c)){l=a.coordinates;var O=a.type;switch(d=0,O){case null:break;case"Point":if(!1===t(l,p,v,E,P))return!1;p++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<l.length;n++){if(!1===t(l[n],p,v,E,P))return!1;p++,"MultiPoint"===O&&E++}"LineString"===O&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<l.length;n++){for(o=0;o<l[n].length-d;o++){if(!1===t(l[n][o],p,v,E,P))return!1;p++}"MultiLineString"===O&&E++,"Polygon"===O&&P++}"Polygon"===O&&E++;break;case"MultiPolygon":for(n=0;n<l.length;n++){for(P=0,o=0;o<l[n].length;o++){for(i=0;i<l[n][o].length-d;i++){if(!1===t(l[n][o][i],p,v,E,P))return!1;p++}P++}E++}break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===m(a.geometries[n],t))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}var b=function(e,t={}){if(null!=e.bbox&&!0!==t.recompute)return e.bbox;const r=[1/0,1/0,-1/0,-1/0];return m(e,e=>{r[0]>e[0]&&(r[0]=e[0]),r[1]>e[1]&&(r[1]=e[1]),r[2]<e[0]&&(r[2]=e[0]),r[3]<e[1]&&(r[3]=e[1])}),r},E=(e,t)=>{var[r,n]=e,[o,i]=t,a=new v(n,r),s=new v(i,o);return a.distanceTo(s)},P=e=>{var t=e/1609.344;if(t<.5)return"".concat(Math.round(e),"m");if(t<10){var r=Number.parseFloat(t.toFixed(1)),n=1===r?"mile":"miles";return"".concat(r," ").concat(n)}var o=Math.round(t);return"".concat(o," miles")},O=e=>b(e);function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function w(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var _="highlighted-label";function M(e,t){if("number"==typeof e)return e;if(!Array.isArray(e)||"interpolate"!==e[0])return function(e,t){var{stops:r}=e;if(r.length<2)return r.length>0?r[0][1]:0;for(var n=r[0],o=r[r.length-1],i=1;i<r.length;i++){var a=r[i];if(a[0]>t){o=a,n=r[i-1];break}n=r[i-1],o=a}var[s,l]=n,[c,u]=o;return t<=s?l:t>=c?u:l+(t-s)/(c-s)*(u-l)}(e,t);var[,,r,...n]=e;if("zoom"!==r[0])throw new Error("Only zoom-based expressions supported");for(var o=0;o<n.length-2;o+=2){var i=n[o],a=n[o+1],s=n[o+2],l=n[o+3];if(t<=i)return a;if(t<=s)return a+(t-i)/(s-i)*(l-a)}return n[n.length-1]}function x(e,t){if(t.highlightLayerId&&e.getLayer(t.highlightLayerId)){try{e.removeLayer(t.highlightLayerId)}catch(e){}t.highlightLayerId=null,t.highlightedExpr=null}}function T(e,t,r){var n;if(null!=t&&null!==(n=t.feature)&&void 0!==n&&n.layer){x(e,r);var{feature:o,layer:i}=t;r.highlightLayerId="highlight-".concat(i.id);var{id:a,type:s,properties:l,geometry:c}=o;e.getSource(_).setData({id:a,type:s,properties:l,geometry:c}),r.highlightedExpr=i.layout["text-size"];var u=e.getZoom(),d=function(e,t,r){return{id:"highlight-".concat(e.id),type:e.type,source:_,layout:w(w({},e.layout),{},{"text-size":t,"text-allow-overlap":!0,"text-ignore-placement":!0,"text-max-angle":90}),paint:w(w({},e.paint),{},{"text-color":r.text,"text-halo-color":r.halo,"text-halo-width":3,"text-halo-blur":1,"text-opacity":1})}}(i,1.5*M(r.highlightedExpr,u),r.isDarkStyle?{text:"#ffffff",halo:"#000000"}:{text:"#000000",halo:"#ffffff"});e.addLayer(d),e.moveLayer(r.highlightLayerId)}}function A(e){e.getSource(_)||e.addSource(_,{type:"geojson",data:{type:"FeatureCollection",features:[]}})}function C(e){e.getStyle().layers.filter(e=>{var t;return"line"===(null===(t=e.layout)||void 0===t?void 0:t["symbol-placement"])}).forEach(t=>e.setLayoutProperty(t.id,"symbol-placement","line-center"))}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function L(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}var k,D=(e,t,r,n,o,i,a)=>{e.getLayer(t)||e.addLayer(L(L({id:t,type:r,source:n},o&&{"source-layer":o}),{},{paint:i})),Object.entries(i).forEach(r=>{var[n,o]=r;e.setPaintProperty(t,n,o)}),e.setFilter(t,a),e.moveLayer(t)},j=(e,t,r)=>{var n=(t.x-r.x)**2+(t.y-r.y)**2;if(0===n)return(e.x-t.x)**2+(e.y-t.y)**2;var o=((e.x-t.x)*(r.x-t.x)+(e.y-t.y)*(r.y-t.y))/n;return o=Math.max(0,Math.min(1,o)),(e.x-(t.x+o*(r.x-t.x)))**2+(e.y-(t.y+o*(r.y-t.y)))**2},N=new Set(["symbolBackgroundColor","symbolForegroundColor","symbolHaloWidth","symbolGraphic"]),R=(e,t)=>e.symbolSvgContent?{svg:e.symbolSvgContent}:e.symbol?t.get(e.symbol):void 0,F=e=>{if(!(e=>!(!e.symbol&&!e.symbolSvgContent))(e))return{};var t={};return N.forEach(r=>{if(null!=e[r]){var n=r.charAt(6).toLowerCase()+r.slice(7);t[n]=e[r]}}),t},B=(e,t,r)=>new Promise((n,o)=>{var i=new Blob([e],{type:"image/svg+xml"}),a=URL.createObjectURL(i),s=new Image(t,r);s.onload=()=>{var e=document.createElement("canvas");e.width=t,e.height=r;var o=e.getContext("2d");o.drawImage(s,0,0,t,r),URL.revokeObjectURL(a),n(o.getImageData(0,0,t,r))},s.onerror=()=>{URL.revokeObjectURL(a),o(new Error("Failed to rasterise SVG: ".concat(e.slice(0,80))))},s.src=a}),V=e=>{var t=0;for(var r of e)t=Math.trunc((t<<5)-t+r.codePointAt(0));return Math.abs(t).toString(36)},G=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,i=R(e,r);if(!i)return null;var a=F(e),s=n?r.resolveSelected(i,a,t):r.resolve(i,a,t);return"symbol-".concat(n?"sel-":"").concat(V(s),"-").concat(o,"x")},Y=new Map,U=(k=(0,i.A)(function*(e,t,r,n,o){var i=R(e,r);if(!i)return null;var a=F(e),s=n?r.resolveSelected(i,a,t):r.resolve(i,a,t),l="symbol-".concat(n?"sel-":"").concat(V(s),"-").concat(o,"x"),c=Y.get(l);if(!c){var u=((e,t)=>{var r;return e.symbolViewBox?e.symbolViewBox:null!==(r=null==t?void 0:t.viewBox)&&void 0!==r?r:"0 0 38 38"})(e,i),[,,d,p]=u.split(" ").map(Number),h='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(d*o,'" height="').concat(p*o,'" viewBox="').concat(u,'">').concat(s,"</svg>");c=yield B(h,d*o,p*o),Y.set(l,c)}return{imageId:l,imageData:c}}),function(e,t,r,n,o){return k.apply(this,arguments)}),H=function(){var e=(0,i.A)(function*(e,t,r,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2;t.length&&(e._symbolImageMap={},yield Promise.all(t.flatMap(t=>{var a,s=G(t,r,n,!1,o),l=G(t,r,n,!0,o);return s&&l&&(e._symbolImageMap[s]=l),[!1,!0].map((a=(0,i.A)(function*(i){var a=i?l:s;if(a&&!e.hasImage(a)){var c=yield U(t,r,n,i,o);c&&!e.hasImage(c.imageId)&&e.addImage(c.imageId,c.imageData,{pixelRatio:o})}}),function(e){return a.apply(this,arguments)}))})))});return function(t,r,n,o){return e.apply(this,arguments)}}(),z=(e,t)=>{if(!e)return null;if("string"==typeof e)return e.trim();if("object"==typeof e){if(t&&e[t])return e[t];var r=Object.values(e)[0];return null!=r?r:null}return null},W=(e,t)=>{return e.fillPatternSvgContent?e.fillPatternSvgContent:e.fillPattern&&null!==(r=null==t||null===(n=t.get(e.fillPattern))||void 0===n?void 0:n.svgContent)&&void 0!==r?r:null;var r,n},K=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=W(e,r);if(!o)return null;var i=z(e.fillPatternForegroundColor,t)||"black",a=z(e.fillPatternBackgroundColor,t)||"transparent",s=Math.max(2,n);return"pattern-".concat((e=>{var t=0;for(var r of e)t=(t<<5)-t+r.codePointAt(0),t&=t;return Math.abs(t).toString(36)})(o+i+a),"-").concat(s,"x")},J=new Map,$=function(){var e=(0,i.A)(function*(e,t,r,n){var o=W(e,r);if(!o)return null;var i=K(e,t,r,n);if(!i)return null;var a,s,l=J.get(i);if(!l){var c=z(e.fillPatternForegroundColor,t)||"black",u=z(e.fillPatternBackgroundColor,t)||"transparent",d=(a=c,s=u,o.replace(/\{\{foregroundColor\}\}/g,a||"black").replace(/\{\{backgroundColor\}\}/g,s||"transparent")),p='<rect width="16" height="16" fill="'.concat(u,'"/>'),h=Math.max(2,n),f=Math.round(8*h),g='<svg xmlns="http://www.w3.org/2000/svg" width="'.concat(f,'" height="').concat(f,'" viewBox="0 0 16 16">').concat(p).concat(d,"</svg>");l=yield B(g,f,f),J.set(i,l)}return{imageId:i,imageData:l}});return function(t,r,n,o){return e.apply(this,arguments)}}(),q=function(){var e=(0,i.A)(function*(e,t,r,n,o){if(t.length){var a=Math.max(2,o);yield Promise.all(t.map(function(){var t=(0,i.A)(function*(t){var i=K(t,r,n,o);if(i&&!e.hasImage(i)){var s=yield $(t,r,n,o);s&&e.addImage(s.imageId,s.imageData,{pixelRatio:a})}});return function(e){return t.apply(this,arguments)}}()))}});return function(t,r,n,o,i){return e.apply(this,arguments)}}(),Z=["container","padding","mapStyle","mapSize","center","zoom","bounds","pixelRatio"];function X(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function Q(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?X(Object(r),!0).forEach(function(t){(0,n.A)(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):X(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}class ee{constructor(e){var{mapFramework:t,mapProviderConfig:r={},events:n,eventBus:o}=e;this.maplibreModule=t,this.events=n,this.eventBus=o,this.capabilities={supportedShortcuts:s,supportsMapSizes:!0},Object.assign(this,r)}initMap(e){var t=this;return(0,i.A)(function*(){var{container:r,padding:n,mapStyle:i,mapSize:a,center:s,zoom:l,bounds:c,pixelRatio:u}=e,d=(0,o.A)(e,Z);t.mapStyleId=null==i?void 0:i.id,t.mapSize=a;var{Map:p}=t.maplibreModule,{events:f,eventBus:g}=t,y=new p(Q(Q({},d),{},{container:r,style:null==i?void 0:i.url,pixelRatio:u,padding:n,center:s,zoom:l,fadeDuration:0,attributionControl:!1,dragRotate:!1,doubleClickZoom:!1}));y.touchZoomRotate.disableRotation(),t.map=y,t.map.setPadding(n),c&&y.fitBounds(c,{duration:0}),function(e){var t=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){if(("touchmove"===this.type||"touchstart"===this.type)&&!this.cancelable){var r=e.getCanvas();if(r&&(this.target===r||r.contains(this.target)))return}t.call(this)}}(y),function(e){var t=e.getCanvas();t.removeAttribute("role"),t.setAttribute("tabindex",-1),t.removeAttribute("aria-label"),t.style.display="block"}(y),h({map:y,events:f,eventBus:g,getCenter:t.getCenter.bind(t),getZoom:t.getZoom.bind(t),getBounds:t.getBounds.bind(t),getResolution:t.getResolution.bind(t)}),function(e){var{mapProvider:t,map:r,events:n,eventBus:o}=e;o.on(n.MAP_SET_STYLE,e=>{r.once("style.load",()=>{o.emit(n.MAP_STYLE_CHANGE,{mapStyleId:e.id})}),r.setStyle(e.url,{diff:!1})}),o.on(n.MAP_SET_PIXEL_RATIO,e=>{r.setPixelRatio(e)}),o.on(n.MAP_SIZE_CHANGE,e=>{var{mapSize:r}=e;t.mapSize=r})}({mapProvider:t,map:y,events:f,eventBus:g}),y.on("load",()=>{t.labelNavigator=function(e,t,r,n){var o={isDarkStyle:"dark"===t,labels:[],currentPixel:null,highlightLayerId:null,highlightedExpr:null};function i(){var t=e.getStyle().layers.filter(e=>"symbol"===e.type),r=e.queryRenderedFeatures({layers:t.map(e=>e.id)});o.labels=function(e,t,r){return t.flatMap(t=>{var n,o=function(e){var t,r;return"string"==typeof e?null===(t=/^{(.+)}$/.exec(e))||void 0===t?void 0:t[1]:Array.isArray(e)?null===(r=e.find(e=>Array.isArray(e)&&"get"===e[0]))||void 0===r?void 0:r[1]:null}(null===(n=t.layout)||void 0===n?void 0:n["text-field"]);return o?r.filter(e=>{var r;return e.layer.id===t.id&&(null===(r=e.properties)||void 0===r?void 0:r[o])}).map(r=>function(e,t,r,n){var o=function(e){var{type:t,coordinates:r}=e;if("Point"===t)return r;if("MultiPoint"===t)return r[0];if(t.includes("LineString")){var n="LineString"===t?r:r[0];return[(n[0][0]+n[n.length-1][0])/2,(n[0][1]+n[n.length-1][1])/2]}if(t.includes("Polygon")){var o="Polygon"===t?r[0]:r[0][0],i=o.reduce((e,t)=>[e[0]+t[0],e[1]+t[1]],[0,0]);return[i[0]/o.length,i[1]/o.length]}return null}(e.geometry);if(!o)return null;var i=n.project({lng:o[0],lat:o[1]});return{text:e.properties[r],x:i.x,y:i.y,feature:e,layer:t}}(r,t,o,e)).filter(Boolean):[]})}(e,t,r)}function a(){if(i(),!o.labels.length)return null;var t=e.project(e.getCenter()),r=function(e,t){var r;return null===(r=e.reduce((e,r)=>{var n=(r.x-t.x)**2+(r.y-t.y)**2;return!e||n<e.dist?{label:r,dist:n}:e},null))||void 0===r?void 0:r.label}(o.labels,t);return o.currentPixel={x:r.x,y:r.y},T(e,r,o),"".concat(r.text," (").concat(r.layer.id,")")}return C(e),A(e),null==n||n.on(r.MAP_SET_STYLE,t=>{e.once("styledata",()=>e.once("idle",()=>{C(e),A(e),o.isDarkStyle="dark"===(null==t?void 0:t.mapColorScheme)}))}),e.on("zoom",()=>{if(o.highlightLayerId&&o.highlightedExpr){var t=M(o.highlightedExpr,e.getZoom());e.setLayoutProperty(o.highlightLayerId,"text-size",1.5*t)}}),function(e){e.getStyle().layers.filter(e=>"symbol"===e.type).forEach(t=>{e.setPaintProperty(t.id,"text-opacity",["case",["boolean",["feature-state","highlighted"],!1],0,1])})}(e),{refreshLabels:i,highlightNextLabel:function(t){if(i(),!o.labels.length)return null;if(!o.currentPixel)return a();var r=function(e,t){if(!t.currentPixel)return null;var r=t.labels.map((e,t)=>({pixel:[e.x,e.y],index:t})).filter(e=>e.pixel[0]!==t.currentPixel.x||e.pixel[1]!==t.currentPixel.y);if(!r.length)return null;var n=r.map(e=>e.pixel),o=((e,t,r)=>{var[n,o]=t,i=r.filter(t=>{var[r,i]=t;return(r!==n||i!==o)&&((e,t,r)=>{switch(e){case"ArrowUp":return r<0&&Math.abs(r)>=Math.abs(t);case"ArrowDown":return r>0&&Math.abs(r)>=Math.abs(t);case"ArrowLeft":return t<0&&Math.abs(t)>Math.abs(r);case"ArrowRight":return t>0&&Math.abs(t)>Math.abs(r);default:return!1}})(e,r-n,i-o)});if(!i.length)return r.findIndex(e=>e[0]===n&&e[1]===o);var a=-1,s=1/0;return i.forEach(e=>{var t=e[0]-n,i=e[1]-o,l=t*t+i*i;l<s&&(s=l,a=r.indexOf(e))}),a})(e,[t.currentPixel.x,t.currentPixel.y],n);return(null==o||o<0||o>=r.length)&&(o=0),t.labels[r[o].index]}(t,o);return r?(o.currentPixel={x:r.x,y:r.y},T(e,r,o),"".concat(r.text," (").concat(r.layer.id,")")):null},highlightLabelAtCenter:a,clearHighlightedLabel:()=>x(e,o)}}(y,null==i?void 0:i.mapColorScheme,f,g)}),t.eventBus.emit(f.MAP_READY,{map:t.map,mapStyleId:t.mapStyleId,mapSize:t.mapSize,crs:t.crs})})()}destroyMap(){var e,t;this.setHoverCursor([]),null===(e=this.mapEvents)||void 0===e||e.remove(),null===(t=this.appEvents)||void 0===t||t.remove(),this.mapEvents=null,this.appEvents=null,this.map.remove()}setHoverCursor(e){this.map&&(this._onHoverMove=((e,t,r)=>{var n=e.getCanvas();if(r&&e.off("mousemove",r),null==t||!t.length)return n.style.cursor="",null;var o=r=>{var o=t.filter(t=>e.getLayer(t));if(0!==o.length){var{lineLayers:i,otherLayers:a}=((e,t)=>{var r=[],n=[];for(var o of t)if("line"===e.getLayer(o).type){var i=o.endsWith("-stroke")?o.slice(0,-7):null;null!==i&&t.includes(i)||r.push(o)}else n.push(o);return{lineLayers:r,otherLayers:n}})(e,o),{x:s,y:l}=r.point,c=[[s-10,l-10],[s+10,l+10]],u=i.length>0&&e.queryRenderedFeatures(c,{layers:i}).length>0,d=a.length>0&&e.queryRenderedFeatures(r.point,{layers:a}).length>0;n.style.cursor=u||d?"pointer":""}else n.style.cursor=""};return e.on("mousemove",o),o})(this.map,e,this._onHoverMove))}setView(e){var{center:t,zoom:r}=e;this.map.flyTo({center:t||this.getCenter(),zoom:r||this.getZoom(),duration:this.map.isStyleLoaded()?a:0})}zoomIn(e){this.map.easeTo({zoom:this.getZoom()+e,duration:a})}zoomOut(e){this.map.easeTo({zoom:this.getZoom()-e,duration:a})}panBy(e){this.map.panBy(e,{duration:a})}fitToBounds(e){var t=Array.isArray(e)?e:O(e),r=this.map.isStyleLoaded()?a:0;this.map.fitBounds(t,{duration:r})}setPadding(e){this.map.setPadding(e)}updateHighlightedFeatures(e,t){var{LngLatBounds:r}=this.maplibreModule;return function(e){var{LngLatBounds:t,map:r,selectedFeatures:n,stylesMap:o}=e;if(!r)return null;var i=((e,t)=>{var r={};return null==t||t.forEach(t=>{var{featureId:n,layerId:o,idProperty:i,geometry:a}=t,s=e.getLayer(o);if(s){var l=s.source;r[l]||(r[l]={ids:new Set,fillIds:new Set,idProperty:i,layerId:o,hasFillGeometry:!1}),!a||"Polygon"!==a.type&&"MultiPolygon"!==a.type||(r[l].hasFillGeometry=!0,r[l].fillIds.add(n)),r[l].ids.add(n)}}),r})(r,n),a=[],s=new Set(Object.keys(i)),l=r._highlightedSources||new Set;return((e,t,r)=>{t.forEach(t=>{if(!r.has(t)){var n="highlight-".concat(t);["".concat(n,"-fill"),"".concat(n,"-line"),"".concat(n,"-symbol")].forEach(t=>{e.getLayer(t)&&e.setFilter(t,["==","id",""])})}})})(r,l,s),r._highlightedSources=s,s.forEach(e=>{var{ids:t,fillIds:n,idProperty:s,layerId:l,hasFillGeometry:c}=i[e],u=r.getLayer(l),d=u.sourceLayer,p=c?"fill":u.type,h="highlight-".concat(e),f=s?["get",s]:["id"],g=["in",f,["literal",[...t]]];if("fill"===p){var{stroke:y,strokeWidth:v,fill:m}=o[l],b=["in",f,["literal",[...n]]],E={"line-color":y,"line-width":v};D(r,"".concat(h,"-fill"),"fill",e,d,{"fill-color":m},b),D(r,"".concat(h,"-line"),"line",e,d,E,g)}if("line"===p){var{stroke:P,strokeWidth:O}=o[l],S={"line-color":P,"line-width":O};r.getLayer("".concat(h,"-fill"))&&r.setFilter("".concat(h,"-fill"),["==","id",""]),D(r,"".concat(h,"-line"),"line",e,d,S,g)}if("symbol"===p){var w=r.getLayoutProperty(l,"icon-image"),_=((e,t)=>{var r,n;return null!==(r=null===(n=e._symbolImageMap)||void 0===n?void 0:n[t])&&void 0!==r?r:null})(r,w);_&&((e,t,r,n,o,i,a)=>{var s;e.getLayer(t)||e.addLayer(L(L({id:t,type:"symbol",source:r},n&&{"source-layer":n}),{},{layout:{"icon-image":i,"icon-anchor":null!==(s=e.getLayoutProperty(o,"icon-anchor"))&&void 0!==s?s:"center","icon-allow-overlap":!0}})),e.setLayoutProperty(t,"icon-image",i),e.setFilter(t,a),e.moveLayer(t)})(r,"".concat(h,"-symbol"),e,d,l,_,g)}a.push(...r.queryRenderedFeatures({layers:[l]}).filter(e=>{var r;return t.has(s?null===(r=e.properties)||void 0===r?void 0:r[s]:e.id)}))}),((e,t)=>{if(!t.length)return null;var r=new e;return t.forEach(e=>{var t=e=>"number"==typeof e[0]?r.extend(e):e.forEach(t);t(e.geometry.coordinates)}),[r.getWest(),r.getSouth(),r.getEast(),r.getNorth()]})(t,a)}({LngLatBounds:r,map:this.map,selectedFeatures:e,stylesMap:t})}highlightNextLabel(e){var t;return(null===(t=this.labelNavigator)||void 0===t?void 0:t.highlightNextLabel(e))||null}highlightLabelAtCenter(){var e;return(null===(e=this.labelNavigator)||void 0===e?void 0:e.highlightLabelAtCenter())||null}clearHighlightedLabel(){var e;return(null===(e=this.labelNavigator)||void 0===e?void 0:e.clearHighlightedLabel())||null}getCenter(){var e=this.map.getCenter();return[Number(e.lng.toFixed(7)),Number(e.lat.toFixed(7))]}getZoom(){return Number(this.map.getZoom().toFixed(7))}getBounds(){return this.map.getBounds().toArray().flat(1)}getFeaturesAtPoint(e,t){return function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{radius:n=10}=r,o=[[t.x-n,t.y-n],[t.x+n,t.y+n]],i=e.queryRenderedFeatures(o);if(0===i.length)return[];var a=new Set(e.queryRenderedFeatures([t.x,t.y]).map(e=>{var t,r=void 0===e.id?JSON.stringify(e.properties):e.id;return"".concat(null===(t=e.layer)||void 0===t?void 0:t.source,":").concat(r)})),s=[];i.forEach(e=>{!1===s.includes(e.layer.id)&&s.push(e.layer.id)});for(var l=new Set,c=[],u=i.length-1;u>=0;u--){var d,p=i[u],h=void 0===p.id?JSON.stringify(p.properties):p.id,f="".concat(null===(d=p.layer)||void 0===d?void 0:d.source,":").concat(h);!1===l.has(f)&&(l.add(f),c.push(p))}var g=e.unproject(t),y=[g.lng,g.lat],v=c.filter(e=>{var t=e.geometry.type;if(t.includes("Polygon"))return("Polygon"===t?[e.geometry.coordinates]:e.geometry.coordinates).some(e=>((e,t)=>{for(var[r,n]=e,o=!1,i=0,a=t.length-1;i<t.length;a=i,i++){var[s,l]=t[i],[c,u]=t[a];l>n!=u>n&&r<(c-s)*(n-l)/(u-l)+s&&(o=!o)}return o})(y,e[0]));if("Point"===t||"MultiPoint"===t){var r,n=void 0===e.id?JSON.stringify(e.properties):e.id;return a.has("".concat(null===(r=e.layer)||void 0===r?void 0:r.source,":").concat(n))}return!0});return v.map(r=>{var n=0,o=r.geometry.type,i=((e,t,r)=>{var{coordinates:n,type:o}=r,i=1/0,a=t=>e.project(t),s=e=>{for(var r=0;r<e.length-1;r++){var n=j(t,a(e[r]),a(e[r+1]));n<i&&(i=n)}};if("Point"===o){var l=a(n);i=(t.x-l.x)**2+(t.y-l.y)**2}else"LineString"===o||"MultiPoint"===o?"LineString"===o?s(n):n.forEach(e=>{var r=a(e),n=(t.x-r.x)**2+(t.y-r.y)**2;n<i&&(i=n)}):"Polygon"===o||"MultiLineString"===o?n.forEach(s):"MultiPolygon"===o&&n.forEach(e=>e.forEach(s));return i})(e,t,r.geometry);return n+=1e6*s.indexOf(r.layer.id),o.includes("Polygon")&&(n-=5e5),{f:r,score:n+=i}}).sort((e,t)=>e.score-t.score).map(e=>{var{f:t}=e;return t})}(this.map,e,t)}registerSymbols(e,t,r){var n=this;return(0,i.A)(function*(){var o=(n.map.getPixelRatio()||1)*(d[n.mapSize]||1);return H(n.map,e,t,r,o)})()}registerPatterns(e,t,r){var n=this;return(0,i.A)(function*(){var o=(n.map.getPixelRatio()||1)*(d[n.mapSize]||1);return q(n.map,e,t,r,o)})()}getAreaDimensions(){var{LngLatBounds:e}=this.maplibreModule;return(e=>{var t,r,n,o;if(e&&"function"==typeof e.getWest)t=e.getWest(),r=e.getSouth(),n=e.getEast(),o=e.getNorth();else{if(!Array.isArray(e)||2!==e.length)return"";[[t,r],[n,o]]=e}var i=E([t,r],[n,r]),a=E([t,r],[t,o]),s=P(i),l=P(a);return"".concat(l," by ").concat(s)})(((e,t)=>{var{width:r,height:n}=t.getContainer().getBoundingClientRect(),o=t.getPadding(),i=[o.left,n-o.bottom],a=[r-o.right,o.top];return new e(t.unproject(i),t.unproject(a))})(e,this.map))}getCardinalMove(e,t){return((e,t)=>{var[r,n]=e,[o,i]=t,a=i-n,s=o-r,l=[];if(Math.abs(a)>1e-4){var c=Math.round(E([r,n],[r,i]));l.push("".concat(a>0?"north":"south"," ").concat(P(c)))}if(Math.abs(s)>1e-4){var u=Math.round(E([r,n],[o,n]));l.push("".concat(s>0?"east":"west"," ").concat(P(u)))}return l.join(", ")})(e,t)}getResolution(){return e=this.map.getCenter(),t=this.map.getZoom(),r=e.lat,n=Math.pow(2,t),40075016.686*Math.cos(r*Math.PI/180)/(512*n);var e,t,r,n}mapToScreen(e){return this.map.project(e)}screenToMap(e){var{lng:t,lat:r}=this.map.unproject([e.x,e.y]);return[t,r]}isGeometryObscured(e,t){return((e,t,r)=>{var n=r.getContainer().getBoundingClientRect(),[o,i,a,s]=O(e),l=[r.project([o,i]),r.project([o,s]),r.project([a,i]),r.project([a,s])],c=Math.min(...l.map(e=>e.x)),u=Math.max(...l.map(e=>e.x)),d=Math.min(...l.map(e=>e.y)),p=Math.max(...l.map(e=>e.y)),h=t.left-n.left,f=t.top-n.top,g=t.right-n.left,y=t.bottom-n.top;return c<g&&u>h&&d<y&&p>f})(e,t,this.map)}}}}]);
2
+ //# sourceMappingURL=@defra.min.js.map