@aapicoits/powermap-web-sdk 1.2.0 → 1.2.2
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.
- package/dist/powermap-web-sdk.cjs.cjs +26 -26
- package/dist/powermap-web-sdk.js +2057 -2026
- package/dist/powermap-web-sdk.umd.cjs +38 -38
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
(function(V,D){typeof exports=="object"&&typeof module<"u"?D(exports,require("maplibre-gl"),require("three")):typeof define=="function"&&define.amd?define(["exports","maplibre-gl","three"],D):(V=typeof globalThis<"u"?globalThis:V||self,D(V.PowerMap={},V.maplibregl,V.THREE))})(this,function(V,D,m){"use strict";var Sn=Object.defineProperty;var Ln=(V,D,m)=>D in V?Sn(V,D,{enumerable:!0,configurable:!0,writable:!0,value:m}):V[D]=m;var Pe=(V,D,m)=>Ln(V,typeof D!="symbol"?D+"":D,m);var Ee=typeof document<"u"?document.currentScript:null;function uo(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const Y=uo(m),v={INVALID_PARAMETERS:"INVALID_PARAMETERS",AUTHENTICATION_FAILED:"AUTHENTICATION_FAILED",API_REQUEST_FAILED:"API_REQUEST_FAILED",MAP_NOT_INITIALIZED:"MAP_NOT_INITIALIZED",NOT_FOUND:"NOT_FOUND",UNKNOWN:"UNKNOWN"};let w=class Ot extends Error{constructor(e,t,o,i={}){super(e),this.name="PowerMapError",this.code=t,this.source=o,this.details=i,Error.captureStackTrace&&Error.captureStackTrace(this,Ot)}static async fromResponse(e,t){let o=`API request failed with status: ${e.status}`,i={status:e.status,url:e.url},n=v.API_REQUEST_FAILED;try{const s=await e.json();i.responseData=s,s.message?o=s.message:s.error&&typeof s.error=="string"?o=s.error:s.error&&s.error.message&&(o=s.error.message)}catch{try{const a=await e.text();a&&a.length<200&&(o=a)}catch{}}return(e.status===401||e.status===403)&&(n=v.AUTHENTICATION_FAILED,o=`Authentication failed: ${o}. Check your API credentials.`),new Ot(o,n,t,i)}};class po{constructor(e){this.context=e,this.instances=new Map,this.definitions=new Map}register(e,t){this.definitions.set(e,t)}get(e){if(!this.instances.has(e)){const t=this.definitions.get(e);if(!t)throw new w(`Component "${e}" is not registered.`,v.UNKNOWN,"registry");this.instances.set(e,new t(this.context))}return this.instances.get(e)}}class ho{constructor(){this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(o=>o!==t))}emit(e,...t){this.events[e]&&this.events[e].forEach(o=>o(...t))}}class go{constructor(e,t){this.options=e||{},this.eventBus=t,this.baseUrl=e&&e.baseUrl||"https://maps.powermap.live",this.authUrl=e&&e.authUrl||this.baseUrl,this.accessToken=null,this.tokenExpiry=null,this.tokenPromise=null}getBaseUrl(){return this.baseUrl}async getAccessToken(e=!1){return!e&&this.accessToken&&this.tokenExpiry&&Date.now()<this.tokenExpiry-3e5?this.accessToken:this.tokenPromise?this.tokenPromise:(this.tokenPromise=(async()=>{try{const{auth:t}=this.options;if(!t||!t.clientId||!t.clientSecret)throw new w("Missing auth.clientId or auth.clientSecret for service authentication.",v.AUTHENTICATION_FAILED,"auth_manager");const o=await fetch(`${this.authUrl}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:t.clientId,client_secret:t.clientSecret,grant_type:"client_credentials"})}).catch(n=>{throw new w(`Network error during authentication: ${n.message}`,v.API_REQUEST_FAILED,"auth_manager")});if(!o.ok){const n=await w.fromResponse(o,"auth_manager");throw this.eventBus.emit("error",n),n}const i=await o.json();return this.accessToken=i.access_token,this.tokenExpiry=Date.now()+i.expires_in*1e3,this.accessToken}finally{this.tokenPromise=null}})(),this.tokenPromise)}async getServiceHeaders(){return{"Content-Type":"application/json",Authorization:`Bearer ${await this.getAccessToken()}`}}async fetchWithAuth(e,t={}){const o=async()=>({"Content-Type":"application/json",...t.headers,Authorization:`Bearer ${await this.getAccessToken()}`});let i;try{i=await fetch(e,{...t,headers:await o()})}catch(n){throw new w(`Network request failed: ${n.message}`,v.API_REQUEST_FAILED,t.source||"api")}if(i.status===401){await this.getAccessToken(!0);try{i=await fetch(e,{...t,headers:await o()})}catch(n){throw new w(`Network request failed on retry: ${n.message}`,v.API_REQUEST_FAILED,t.source||"api")}}return i}transformRequest(e,t){if(["Tile","Style","Source","Glyphs","Sprite"].includes(t)&&this.options.mapApiKey&&!e.includes("apikey=")){const i=e.includes("?")?"&":"?";return{url:`${e}${i}apikey=${this.options.mapApiKey}`}}return{url:e}}}const fo=`.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}`,mo=`@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css";.powermap-sdk{position:relative;width:100%;height:100%}.powermap-sdk .maplibregl-ctrl-attrib,.powermap-sdk .pm-attribution{background:transparent!important;box-shadow:none!important;border:none!important;padding:0 10px!important;margin:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.powermap-sdk .maplibregl-ctrl-attrib-button,.powermap-sdk .pm-attribution-button{display:none!important}.powermap-sdk .pm-attrib-link{color:#f26522!important;font-weight:900!important;text-decoration:none!important;font-size:13px!important;text-shadow:0 0 2px #fff}.powermap-sdk .ml-attrib-link{color:#555!important;text-decoration:none!important;font-size:12px!important;margin-left:5px;text-shadow:0 0 2px #fff}.powermap-sdk .powermap-marker,.powermap-sdk .pm-marker{cursor:pointer}.powermap-sdk .pm-marker:hover{z-index:10}.powermap-sdk .maplibregl-popup,.powermap-sdk .pm-popup{z-index:1000}.powermap-sdk .maplibregl-popup-content,.powermap-sdk .pm-popup-content{padding:0;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 12px 24px #00000026;border:1px solid rgba(255,255,255,.3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;color:#333;max-width:280px!important}.powermap-sdk .maplibregl-popup-close-button,.powermap-sdk .pm-popup-close{font-size:20px;color:#666;padding:8px 12px;outline:none!important;transition:all .2s}.powermap-sdk .maplibregl-popup-close-button:hover,.powermap-sdk .pm-popup-close:hover{color:#f26522;background:#0000000d}.powermap-sdk .maplibregl-popup-tip,.powermap-sdk .pm-popup-tip{border-top-color:#ffffffe6!important;border-bottom-color:#ffffffe6!important}.powermap-sdk .pm-popup-header{background:linear-gradient(135deg,#f26522,#ff8c42);color:#fff;padding:12px 16px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}.powermap-sdk .pm-popup-body{padding:16px;font-size:14px;line-height:1.5}.powermap-sdk .pm-popup-footer{padding:10px 16px;background:#00000008;font-size:12px;color:#666;border-top:1px solid rgba(0,0,0,.05)}.powermap-sdk .pm-popup-actions{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:8px}.powermap-sdk .pm-popup-btn{display:block;width:100%;padding:8px 12px;background:#f26522;color:#fff!important;text-align:center;border-radius:8px;text-decoration:none;font-weight:600;font-size:13px;transition:all .2s ease}.powermap-sdk .pm-popup-btn:hover{background:#d95a1c;transform:translateY(-1px);text-decoration:none}.powermap-sdk .maplibregl-ctrl-group,.powermap-sdk .pm-ctrl-group{background:#fffc!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px!important;border:1px solid rgba(255,255,255,.3)!important;box-shadow:0 4px 12px #0000001a!important;overflow:hidden}.powermap-sdk .maplibregl-ctrl-group button,.powermap-sdk .pm-ctrl-button{width:36px!important;height:36px!important;border-bottom:1px solid rgba(0,0,0,.05)!important;transition:background .2s}.powermap-sdk .maplibregl-ctrl-group button:last-child{border-bottom:none!important}.powermap-sdk .maplibregl-ctrl-group button:hover{background:#f265221a!important}.powermap-sdk .pm-popup-tag{display:inline-block;padding:2px 8px;background:#f2652222;color:#f26522;border-radius:20px;font-size:11px;font-weight:600;margin-bottom:8px}.pm-draw-control-container{display:flex!important;flex-direction:row;align-items:flex-end;gap:12px;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:10px}.maplibregl-ctrl-top-right .pm-draw-control-container,.maplibregl-ctrl-bottom-right .pm-draw-control-container,.mapboxgl-ctrl-top-right .pm-draw-control-container,.mapboxgl-ctrl-bottom-right .pm-draw-control-container{flex-direction:row-reverse}.maplibregl-ctrl.pm-draw-control-container{background:none!important;border:none!important;box-shadow:none!important;clear:none}.pm-draw-toolbar{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;padding:4px;border-radius:16px;box-shadow:0 2px 8px #00000014;border:1px solid transparent;pointer-events:auto}.pm-draw-btn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:#8d98a5;transition:all .2s;padding:0;outline:none!important;flex-shrink:0}.pm-draw-btn svg{width:15px;height:15px;fill:currentColor}.pm-draw-btn:not(:disabled):hover{background-color:#f9fafb;color:#f26522}.pm-draw-btn.active{background-color:#f8f9fa;box-shadow:0 2px 4px #0000000a;color:#f26522}.pm-draw-btn:disabled{opacity:.25;cursor:not-allowed}.pm-draw-btn.anim-pulse{animation:pm-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pm-pulse{0%,to{opacity:1}50%{opacity:.5}}.pm-draw-divider{width:12px;height:1px;background:#e2e8f0;margin:2px 0}.pm-draw-btn.pm-trash-btn:hover{color:#ef4444}.pm-extrude-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;cursor:ns-resize}.pm-measure-panel{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid transparent;min-width:170px;pointer-events:auto;overflow:hidden;display:flex;flex-direction:column}.pm-measure-header{display:flex;align-items:center;padding:10px 13px;border-bottom:1px solid #f1f5f9}.pm-measure-header-title-wrap{display:flex;align-items:center;gap:6px}.pm-measure-header-title{font-weight:700;font-size:11px;color:#1e293b}.pm-measure-header-badge{font-size:8px;padding:2px 6px;border-radius:999px;background:#fff;color:#64748b;border:1px solid #e2e8f0}.pm-measure-body{padding:10px 13px;display:flex;flex-direction:column;gap:10px}.pm-measure-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pm-measure-main{display:flex;align-items:center;gap:10px}.pm-measure-icon{width:22px;height:22px;border-radius:5px;background:#e0e7ff;display:flex;align-items:center;justify-content:center;color:#312e81;flex-shrink:0}.pm-measure-icon svg{width:11px;height:11px}.pm-measure-text{display:flex;flex-direction:column}.pm-measure-key{font-size:10px;font-weight:700;color:#1e293b}.pm-measure-height-control{display:flex;align-items:center;gap:4px}.pm-height-btn{width:22px;height:22px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0}.pm-height-btn:hover{background:#f8fafc;color:#1e293b;border-color:#cbd5e1}.pm-height-btn svg{width:12px;height:12px}.pm-measure-height-box{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:2px 6px;display:flex;align-items:center;gap:2px;box-shadow:0 1px 2px #0000000d}#pm-measure-height-val{font-size:13px;font-weight:800;color:#1e1b4b;font-family:Outfit,sans-serif;border:none;background:transparent;width:48px;padding:0;text-align:right;outline:none}.pm-measure-height-unit{font-size:9px;font-weight:700;color:#64748b;pointer-events:none}.pm-extrude-handle-marker{width:14px;height:14px;background:#fff;border:3px solid #6366f1;border-radius:50%;cursor:ns-resize;box-shadow:0 0 0 4px #6366f133;transition:transform .1s ease-out}.pm-extrude-handle-marker:hover{transform:scale(1.2);background:#6366f1}.pm-indoor-marker{display:flex;flex-direction:column;align-items:center;gap:4px}.pm-indoor-marker-bg{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;box-shadow:0 2px 6px #0003;border:2px solid white}.pm-indoor-marker-label{font-family:Outfit,-apple-system,sans-serif;font-size:12px;font-weight:700;text-shadow:0 0 3px #fff,0 0 3px #fff;white-space:nowrap}.pm-measure-value{font-size:14px;font-weight:700;color:#1e1b4b;margin-left:auto}.pm-property-editor-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;display:flex;align-items:center;justify-content:center}.pm-prop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;opacity:0;transition:opacity .3s ease}.pm-property-editor-container.active .pm-prop-overlay{opacity:1}.pm-property-editor-panel{position:relative;z-index:10;width:90%;max-width:520px;background:#0f172af2;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 25px 60px #00000080;color:#fff;padding:0;overflow:hidden;font-family:Inter,Noto Sans Thai,sans-serif;pointer-events:auto;transform:scale(.95);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.pm-property-editor-container.active .pm-property-editor-panel{transform:scale(1);opacity:1}.pm-prop-header{padding:14px 18px;background:#4f46e526;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.pm-prop-header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.pm-prop-header-coords{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-right:8px}.pm-prop-coord-row{display:flex;flex-direction:row;align-items:center;gap:16px;background:#ffffff0a;padding:4px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.05);pointer-events:none}.pm-prop-coord-line{display:flex;align-items:center;gap:6px;font-size:10px;font-family:Inter,sans-serif;letter-spacing:.01em;white-space:nowrap}.pm-prop-coord-label{color:#fff6;font-weight:800;font-size:8.5px;text-transform:uppercase}.pm-prop-coord-value{color:#818cf8;font-weight:600;font-family:JetBrains Mono,Courier New,monospace;font-size:10px;min-width:45px}.pm-prop-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.pm-prop-title i{color:#818cf8}.pm-prop-close{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#94a3b8;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);flex-shrink:0}.pm-prop-close:hover{background:#ef4444cc;color:#fff;transform:rotate(90deg) scale(1.1);border-color:transparent;box-shadow:0 0 15px #ef444466}.pm-prop-body{padding:18px;max-height:80vh;overflow-y:auto}.pm-prop-group{margin-bottom:24px}.pm-prop-group:last-child{margin-bottom:0}.pm-prop-row{display:flex;gap:16px;margin-bottom:24px}.pm-prop-row .pm-prop-group{flex:1;margin-bottom:0}.pm-prop-group label{display:block;font-size:11px;text-transform:uppercase;font-weight:700;color:#64748b;margin-bottom:8px;letter-spacing:.05em}.pm-prop-group select{width:100%;background:#0000004d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;padding:10px 14px!important;color:#fff!important;font-size:13px!important;outline:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:14px!important;cursor:pointer;transition:all .2s}.pm-prop-group select:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f133!important}.pm-prop-group select option{background:#1e1b4b;color:#fff}.pm-prop-group input[type=text]{width:100%;background:#0000004d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;padding:10px 14px!important;color:#fff!important;font-size:13px!important;outline:none!important;transition:border-color .2s,box-shadow .2s}.pm-prop-group input[type=text]:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f133!important}.pm-color-grid{display:flex;flex-wrap:wrap;gap:10px;background:#0003;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.pm-color-item{width:32px;height:32px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.pm-color-item:hover{transform:scale(1.1);box-shadow:0 0 15px #fff3}.pm-color-item.active{border-color:#fff;transform:scale(1.15);box-shadow:0 0 20px #fff6}.pm-color-custom{width:32px;height:32px;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2);position:relative}.pm-color-custom input{position:absolute;top:-5px;left:-5px;width:44px;height:44px;cursor:pointer;opacity:0}.pm-icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;background:#0003;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.pm-icon-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:background .2s,transform .2s}.pm-icon-item:hover{background:#ffffff1a;transform:scale(1.1)}.pm-icon-item.active{background:#6366f133;border:1px solid rgba(99,102,241,.4)}.pm-icon-item i{font-size:16px}.pm-prop-body::-webkit-scrollbar{width:5px}.pm-prop-body::-webkit-scrollbar-track{background:transparent}.pm-prop-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.pm-indoor-marker{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;pointer-events:auto}.pm-indoor-marker-bg{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #00000040,0 0 0 2px #ffffff4d}.pm-indoor-marker-bg i{color:#fff;font-size:16px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.pm-indoor-marker:hover .pm-indoor-marker-bg{box-shadow:0 4px 14px #00000059,0 0 0 3px #ffffff80}.pm-indoor-marker-label{margin-top:2px;font-size:11px;font-weight:800;font-family:Inter,Noto Sans Thai,sans-serif;text-align:center;white-space:nowrap;max-width:120px;overflow:visible;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 1px 2px rgba(0,0,0,.4);line-height:1.2;transition:color .3s,opacity .2s}@media screen and (max-width: 600px){.pm-property-editor-panel{width:95%;max-height:90vh}.pm-prop-row{flex-direction:column;gap:12px}.pm-prop-header{padding:12px 16px}.pm-prop-body{padding:16px}.pm-icon-grid{grid-template-columns:repeat(4,1fr)}.pm-color-item,.pm-color-custom{width:28px;height:28px}}.pm-prop-section-title{font-size:11px;font-weight:800;color:#818cf8;margin-top:10px;margin-bottom:12px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.1em}.pm-prop-section-title:after{content:"";flex:1;height:1px;background:#818cf833}.pm-prop-group input[type=number]{width:100%;background:#0000004d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;padding:10px 14px!important;color:#fff!important;font-size:13px!important;outline:none!important;transition:all .2s}.pm-prop-group input[type=number]:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f133!important}.pm-toggle-wrap{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.05)}.pm-toggle-label{font-size:13px;color:#e2e8f0;font-weight:500}.pm-switch{position:relative;display:inline-block;width:40px;height:22px}.pm-switch input{opacity:0;width:0;height:0}.pm-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.4s;border-radius:34px}.pm-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.pm-switch input:checked+.pm-slider{background-color:#6366f1}.pm-switch input:checked+.pm-slider:before{transform:translate(18px)}.pm-custom-props-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.pm-custom-prop-row{display:flex;gap:8px;align-items:center;animation:pm-slide-in .2s ease-out}.pm-custom-prop-row input{flex:1}.pm-btn-remove-prop{background:#ef44441a;color:#ef4444;border:none;width:28px;height:28px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pm-btn-remove-prop:hover{background:#ef4444;color:#fff}.pm-btn-add-prop{background:#4f46e51a;color:#818cf8;border:1px dashed rgba(129,140,248,.4);padding:8px;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;margin-top:8px;width:100%;transition:all .2s;text-transform:uppercase;letter-spacing:.05em;pointer-events:auto;position:relative;z-index:5}.pm-btn-add-prop:hover{background:#4f46e533;border-color:#818cf8;color:#fff}.pm-measure-settings-btn{background:transparent;color:#64748b;border:none;padding:6px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:4px}.pm-measure-settings-btn:hover{background:#f1f5f9;color:#f26522}.pm-measure-settings-btn svg{width:14px;height:14px}.powermap-sdk .pm-premium-marker{display:block;position:relative}.powermap-sdk .pm-premium-marker-icon{text-shadow:none;line-height:1}.powermap-sdk.pm-preview-only .maplibregl-canvas,.powermap-sdk.pm-preview-only .pm-marker,.powermap-sdk.pm-preview-only .pm-premium-marker,.powermap-sdk.pm-preview-only .pm-indoor-marker,.powermap-sdk.pm-preview-only .pm-draw-control-container,.powermap-sdk.pm-preview-only .pm-property-editor-container,.powermap-sdk.pm-preview-only .maplibregl-ctrl-group,.powermap-sdk.pm-preview-only .mapboxgl-ctrl-group{cursor:default!important;pointer-events:none!important}.powermap-sdk.pm-preview-only .maplibregl-ctrl-attrib{pointer-events:auto!important}.powermap-sdk.pm-preview-only .maplibregl-popup,.powermap-sdk.pm-preview-only .pm-popup{display:none!important}.pm-indoor-routing-panel{--pm-routing-bg: rgba(255, 255, 255, .85);--pm-routing-blur: blur(24px);--pm-routing-border: 1px solid rgba(255, 255, 255, .8);--pm-routing-shadow: 0 16px 32px -8px rgba(0, 0, 0, .15), 0 4px 12px -4px rgba(0, 0, 0, .08);--pm-routing-radius: 20px;--pm-routing-font: "Inter", "Outfit", system-ui, sans-serif;--pm-routing-text: #0f172a;--pm-routing-text-muted: #64748b;--pm-routing-accent: #f97316;--pm-routing-input-bg: rgba(241, 245, 249, .6);--pm-routing-hover: rgba(248, 250, 252, .9);width:340px;max-height:85vh;background:var(--pm-routing-bg);backdrop-filter:var(--pm-routing-blur);-webkit-backdrop-filter:var(--pm-routing-blur);border:var(--pm-routing-border);border-radius:var(--pm-routing-radius);box-shadow:var(--pm-routing-shadow);font-family:var(--pm-routing-font);margin:16px;display:flex;flex-direction:column;overflow:hidden;color:var(--pm-routing-text);z-index:1000}.pm-routing-panel-header{padding:20px;background:linear-gradient(to bottom,#fffffff2,#ffffffb3);border-bottom:1px solid rgba(0,0,0,.06)}.pm-routing-inputs-container{display:flex;align-items:stretch;gap:12px}.pm-routing-inputs{position:relative;display:flex;flex-direction:column;gap:12px;flex:1}.pm-routing-swap-btn{display:flex;align-items:center;justify-content:center;background:var(--pm-routing-input-bg);border:1px solid transparent;border-radius:12px;color:var(--pm-routing-text-muted);cursor:pointer;padding:0 12px;transition:all .2s ease}.pm-routing-swap-btn:hover{background:#fff;border-color:var(--pm-routing-accent);color:var(--pm-routing-accent);box-shadow:0 0 0 3px #f9731626}.pm-routing-input-row{position:relative;display:flex;align-items:center;background:var(--pm-routing-input-bg);border:1px solid transparent;border-radius:12px;padding:10px 14px 10px 38px;transition:all .2s ease}.pm-routing-input-row:focus-within{background:#fff;border-color:var(--pm-routing-accent);box-shadow:0 0 0 3px #f9731626}.pm-routing-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}.origin-icon{color:#3b82f6}.dest-icon{color:var(--pm-routing-accent)}.pm-routing-line-connector{position:absolute;left:20px;top:36px;bottom:36px;width:2px;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 4px,transparent 4px,transparent 8px);z-index:1}.pm-routing-input{border:none;background:transparent;width:100%;font-size:14px;font-weight:500;color:var(--pm-routing-text);outline:none;font-family:inherit}.pm-routing-input::placeholder{color:#94a3b8;font-weight:400}.pm-search-results{background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;margin-top:4px;z-index:1010;max-height:240px;overflow-y:auto;display:none;border:1px solid #e2e8f0;position:absolute;width:calc(100% - 32px);left:16px}.pm-search-result-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .2s}.pm-search-result-item:last-child{border-bottom:none}.pm-search-result-item:hover{background:var(--pm-routing-hover)}.pm-search-result-name{font-size:14px;font-weight:600;color:var(--pm-routing-text)}.pm-search-result-floor{font-size:12px;color:var(--pm-routing-accent);font-weight:600;margin-top:2px;display:flex;align-items:center;gap:4px}.pm-routing-summary{padding:16px 28px;background:#f8fafccc;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center}.pm-routing-steps{max-height:350px;overflow-y:auto;background:var(--pm-routing-bg)}.pm-routing-steps::-webkit-scrollbar{width:6px}.pm-routing-steps::-webkit-scrollbar-track{background:transparent}.pm-routing-steps::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.pm-route-step{padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.03);display:flex;gap:16px;cursor:pointer;transition:all .2s ease}.pm-route-step:hover{background:#ffffff80;padding-left:24px}.pm-route-step.active{background:#eff6ff;border-left:3px solid var(--pm-routing-accent)}.pm-step-icon-bg{width:28px;height:28px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;color:var(--pm-routing-accent);flex-shrink:0;box-shadow:0 1px 2px #0000000d}.pm-step-icon-bg svg{width:16px;height:16px}.pm-step-content{flex:1}.pm-step-instruction{font-size:13px;color:var(--pm-routing-text);line-height:1.4;font-weight:600}.pm-step-meta{display:flex;gap:8px;margin-top:4px;font-size:11px;color:var(--pm-routing-text-muted);font-weight:500}.pm-step-floor{background:#fff7ed;color:#c2410c;padding:2px 6px;border-radius:4px;font-weight:600}.pm-step-distance{background:#f1f5f9;padding:2px 6px;border-radius:4px}.pm-focus-marker-container{width:32px;height:32px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.pm-focus-marker{width:32px;height:32px;border-radius:50%;background-color:#f9731633;border:3px solid var(--pm-routing-accent);box-shadow:0 0 12px #f9731666;animation:pm-pulse 1.5s infinite}@keyframes pm-pulse{0%{transform:scale(.9);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(.9);opacity:1}}.pm-indoor-floor-selector{display:flex;flex-direction:column;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 24px -5px #00000026,0 4px 8px -4px #0000001a;border:1px solid rgba(255,255,255,.6);border-radius:14px;overflow:hidden;margin:12px}.pm-indoor-floor-btn{padding:12px 14px;border:none;border-bottom:1px solid rgba(0,0,0,.05);background-color:transparent;cursor:pointer;font-family:Inter,Outfit,sans-serif;font-size:15px;font-weight:700;color:#4b5563;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.pm-indoor-floor-btn:last-child{border-bottom:none}.pm-indoor-floor-btn:hover{background-color:#0000000a;color:#111827;transform:scale(1.05)}.pm-indoor-floor-btn.active{background-color:#3b82f6;color:#fff;box-shadow:0 6px 14px #3b82f659;transform:scale(1)}.pm-step-icon-col{display:flex;flex-direction:column;align-items:center;margin-right:12px}.pm-step-line{width:2px;flex:1;background-color:#e2e8f0;margin-top:4px;margin-bottom:-14px;min-height:20px}.pm-summary-stat{display:flex;flex-direction:column}.pm-stat-value{font-size:20px;font-weight:800;color:var(--pm-routing-accent);letter-spacing:-.5px;line-height:1.2}.pm-stat-label{font-size:12px;color:var(--pm-routing-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pm-summary-stat:last-child{align-items:flex-end;text-align:right}.pm-outdoor-routing .pm-close-btn{background:transparent;border:none;color:#94a3b8;font-size:24px;cursor:pointer;line-height:1;padding:4px;transition:color .2s}.pm-outdoor-routing .pm-close-btn:hover{color:#ef4444}.pm-outdoor-routing .pm-routing-swap-btn{background:#fff;border:1px solid rgba(0,0,0,.1);color:#64748b;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;padding:0}.pm-outdoor-routing .pm-routing-swap-btn:hover{background:#f8fafc;color:var(--pm-routing-accent);box-shadow:0 4px 8px #0000001a}.pm-outdoor-routing .pm-routing-profiles{display:flex;margin-bottom:12px;background:#f9fafb;padding:6px;border-radius:12px}.pm-outdoor-routing .pm-profile-btn{flex:1;background:transparent;border:none;padding:0;height:28px;border-radius:8px;color:#1e3e62;cursor:pointer;transition:all .2s ease;display:flex;justify-content:center;align-items:center;margin:0 2px}.pm-outdoor-routing .pm-profile-btn svg{width:16px;height:16px}.pm-outdoor-routing .pm-profile-btn:hover{background:#ffffff80;color:#1e3e62}.pm-outdoor-routing .pm-profile-btn.active{background:#f26522;color:#fff}.pm-outdoor-routing .pm-add-waypoint-btn{background:transparent;border:1px dashed rgba(0,0,0,.15);border-radius:8px;color:#64748b;padding:8px;width:100%;text-align:center;font-size:13px;font-weight:500;cursor:pointer;margin-top:12px;margin-bottom:0;transition:all .2s ease;display:flex;justify-content:center;align-items:center;gap:4px}.pm-outdoor-routing .pm-add-waypoint-btn:hover{background:#00000005;border-color:#0000004d;color:#334155}.pm-outdoor-routing .wp-icon{display:flex;justify-content:center;align-items:center}.pm-outdoor-routing .wp-dot{width:8px;height:8px;background:#cbd5e1;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #cbd5e1}.pm-outdoor-routing .pm-remove-wp-btn{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.pm-outdoor-routing .pm-remove-wp-btn:hover{color:#ef4444}.pm-outdoor-routing .pm-routing-line-connector{position:absolute;left:20px;width:2px;background:#e2e8f0;z-index:0}.pm-outdoor-routing .pm-routing-input-row{position:relative;z-index:1}.pm-outdoor-routing .pm-search-results{position:absolute;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:calc(100% - 40px);left:20px;max-height:250px;overflow-y:auto;z-index:100;border:1px solid rgba(0,0,0,.05)}.pm-outdoor-routing .pm-search-result-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.05)}.pm-outdoor-routing .pm-search-result-item:last-child{border-bottom:none}.pm-outdoor-routing .pm-search-result-item:hover{background:#00000005}.pm-outdoor-routing .pm-search-result-name{font-weight:500;font-size:14px;color:#1e293b}.pm-outdoor-routing .pm-search-result-floor{font-size:12px;color:#64748b;margin-top:2px}`,Qe=111320;function Ao(r,e,t){if(!t||!Array.isArray(t)||t.length<2)throw new w("Valid origin center [lng, lat] is required for coordinate conversion.",v.INVALID_PARAMETERS,"geometry");const o=t[1],i=t[0],n=Qe*Math.cos(o*Math.PI/180),s=e/Qe,a=r/n;return[i+a,o+s]}function ge(r,e,t){if(!t||!Array.isArray(t)||t.length<2)throw new w("Valid origin center [lng, lat] is required for coordinate conversion.",v.INVALID_PARAMETERS,"geometry");const o=t[1],i=t[0],n=Qe*Math.cos(o*Math.PI/180),s=r-i,a=e-o,l=s*n,c=a*Qe;return{x:l,y:c}}class yo{constructor(e){this.map=null,this.authManager=e.authManager,this.eventBus=e.eventBus,this.styles={th:"thailand_th",en:"thailand_en",dark:"thailand_th_black",gray:"thailand_th_gray"},this.context=e,this.navControl=null,this.initMap(e.options)}initMap(e){if(!e||!e.container)throw new w("Map container ID is required to initialize the map.",v.INVALID_PARAMETERS,"map");const t=this.styles[e.style]||e.style||this.styles.th;let o=t;t.startsWith("http")||(o=`${e.mapBaseUrl||"https://maps.powermap.live"}/api/v2/map/vtile/styles?name=${t}`);const i=document.getElementById(e.container);if(i&&(i.classList.add("powermap-sdk"),e.previewOnly&&i.classList.add("pm-preview-only")),!document.getElementById("powermap-sdk-styles")){const a=document.createElement("style");a.id="powermap-sdk-styles",a.textContent=`
|
|
1
|
+
(function(V,D){typeof exports=="object"&&typeof module<"u"?D(exports,require("maplibre-gl"),require("three")):typeof define=="function"&&define.amd?define(["exports","maplibre-gl","three"],D):(V=typeof globalThis<"u"?globalThis:V||self,D(V.PowerMap={},V.maplibregl,V.THREE))})(this,function(V,D,m){"use strict";var Bn=Object.defineProperty;var Ln=(V,D,m)=>D in V?Bn(V,D,{enumerable:!0,configurable:!0,writable:!0,value:m}):V[D]=m;var Pe=(V,D,m)=>Ln(V,typeof D!="symbol"?D+"":D,m);var Ee=typeof document<"u"?document.currentScript:null;function uo(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const Y=uo(m),C={INVALID_PARAMETERS:"INVALID_PARAMETERS",AUTHENTICATION_FAILED:"AUTHENTICATION_FAILED",API_REQUEST_FAILED:"API_REQUEST_FAILED",MAP_NOT_INITIALIZED:"MAP_NOT_INITIALIZED",NOT_FOUND:"NOT_FOUND",UNKNOWN:"UNKNOWN"};let v=class Ot extends Error{constructor(e,t,r,i={}){super(e),this.name="PowerMapError",this.code=t,this.source=r,this.details=i,Error.captureStackTrace&&Error.captureStackTrace(this,Ot)}static async fromResponse(e,t){let r=`API request failed with status: ${e.status}`,i={status:e.status,url:e.url},n=C.API_REQUEST_FAILED;try{const s=await e.json();i.responseData=s,s.message?r=s.message:s.error&&typeof s.error=="string"?r=s.error:s.error&&s.error.message&&(r=s.error.message)}catch{try{const a=await e.text();a&&a.length<200&&(r=a)}catch{}}return(e.status===401||e.status===403)&&(n=C.AUTHENTICATION_FAILED,r=`Authentication failed: ${r}. Check your API credentials.`),new Ot(r,n,t,i)}};class po{constructor(e){this.context=e,this.instances=new Map,this.definitions=new Map}register(e,t){this.definitions.set(e,t)}get(e){if(!this.instances.has(e)){const t=this.definitions.get(e);if(!t)throw new v(`Component "${e}" is not registered.`,C.UNKNOWN,"registry");this.instances.set(e,new t(this.context))}return this.instances.get(e)}}class ho{constructor(){this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter(r=>r!==t))}emit(e,...t){this.events[e]&&this.events[e].forEach(r=>r(...t))}}class go{constructor(e,t){this.options=e||{},this.eventBus=t,this.baseUrl=e&&e.baseUrl||"https://maps.powermap.live",this.authUrl=e&&e.authUrl||this.baseUrl,this.accessToken=null,this.tokenExpiry=null,this.tokenPromise=null}getBaseUrl(){return this.baseUrl}async getAccessToken(e=!1){return!e&&this.accessToken&&this.tokenExpiry&&Date.now()<this.tokenExpiry-3e5?this.accessToken:this.tokenPromise?this.tokenPromise:(this.tokenPromise=(async()=>{try{const{auth:t}=this.options;if(!t||!t.clientId||!t.clientSecret)throw new v("Missing auth.clientId or auth.clientSecret for service authentication.",C.AUTHENTICATION_FAILED,"auth_manager");const r=await fetch(`${this.authUrl}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:t.clientId,client_secret:t.clientSecret,grant_type:"client_credentials"})}).catch(n=>{throw new v(`Network error during authentication: ${n.message}`,C.API_REQUEST_FAILED,"auth_manager")});if(!r.ok){const n=await v.fromResponse(r,"auth_manager");throw this.eventBus.emit("error",n),n}const i=await r.json();return this.accessToken=i.access_token,this.tokenExpiry=Date.now()+i.expires_in*1e3,this.accessToken}finally{this.tokenPromise=null}})(),this.tokenPromise)}async getServiceHeaders(){return{"Content-Type":"application/json",Authorization:`Bearer ${await this.getAccessToken()}`}}async fetchWithAuth(e,t={}){const r=async()=>({"Content-Type":"application/json",...t.headers,Authorization:`Bearer ${await this.getAccessToken()}`});let i;try{i=await fetch(e,{...t,headers:await r()})}catch(n){throw new v(`Network request failed: ${n.message}`,C.API_REQUEST_FAILED,t.source||"api")}if(i.status===401){await this.getAccessToken(!0);try{i=await fetch(e,{...t,headers:await r()})}catch(n){throw new v(`Network request failed on retry: ${n.message}`,C.API_REQUEST_FAILED,t.source||"api")}}return i}transformRequest(e,t){if(["Tile","Style","Source","Glyphs","Sprite"].includes(t)&&this.options.mapApiKey&&!e.includes("apikey=")){const i=e.includes("?")?"&":"?";return{url:`${e}${i}apikey=${this.options.mapApiKey}`}}return{url:e}}}const fo=`.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}`,mo=`@import"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css";.powermap-sdk{position:relative;width:100%;height:100%}.powermap-sdk .maplibregl-ctrl-attrib,.powermap-sdk .pm-attribution{background:transparent!important;box-shadow:none!important;border:none!important;padding:0 10px!important;margin:0!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.powermap-sdk .maplibregl-ctrl-attrib-button,.powermap-sdk .pm-attribution-button{display:none!important}.powermap-sdk .pm-attrib-link{color:#f26522!important;font-weight:900!important;text-decoration:none!important;font-size:13px!important;text-shadow:0 0 2px #fff}.powermap-sdk .ml-attrib-link{color:#555!important;text-decoration:none!important;font-size:12px!important;margin-left:5px;text-shadow:0 0 2px #fff}.powermap-sdk .powermap-marker,.powermap-sdk .pm-marker{cursor:pointer}.powermap-sdk .pm-marker:hover{z-index:10}.powermap-sdk .maplibregl-popup,.powermap-sdk .pm-popup{z-index:1000}.powermap-sdk .maplibregl-popup-content,.powermap-sdk .pm-popup-content{padding:0;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 12px 24px #00000026;border:1px solid rgba(255,255,255,.3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;color:#333;max-width:280px!important}.powermap-sdk .maplibregl-popup-close-button,.powermap-sdk .pm-popup-close{font-size:20px;color:#666;padding:8px 12px;outline:none!important;transition:all .2s}.powermap-sdk .maplibregl-popup-close-button:hover,.powermap-sdk .pm-popup-close:hover{color:#f26522;background:#0000000d}.powermap-sdk .maplibregl-popup-tip,.powermap-sdk .pm-popup-tip{border-top-color:#ffffffe6!important;border-bottom-color:#ffffffe6!important}.powermap-sdk .pm-popup-header{background:linear-gradient(135deg,#f26522,#ff8c42);color:#fff;padding:12px 16px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px}.powermap-sdk .pm-popup-body{padding:16px;font-size:14px;line-height:1.5}.powermap-sdk .pm-popup-footer{padding:10px 16px;background:#00000008;font-size:12px;color:#666;border-top:1px solid rgba(0,0,0,.05)}.powermap-sdk .pm-popup-actions{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:8px}.powermap-sdk .pm-popup-btn{display:block;width:100%;padding:8px 12px;background:#f26522;color:#fff!important;text-align:center;border-radius:8px;text-decoration:none;font-weight:600;font-size:13px;transition:all .2s ease}.powermap-sdk .pm-popup-btn:hover{background:#d95a1c;transform:translateY(-1px);text-decoration:none}.powermap-sdk .maplibregl-ctrl-group,.powermap-sdk .pm-ctrl-group{background:#fffc!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px!important;border:1px solid rgba(255,255,255,.3)!important;box-shadow:0 4px 12px #0000001a!important;overflow:hidden}.powermap-sdk .maplibregl-ctrl-group button,.powermap-sdk .pm-ctrl-button{width:36px!important;height:36px!important;border-bottom:1px solid rgba(0,0,0,.05)!important;transition:background .2s}.powermap-sdk .maplibregl-ctrl-group button:last-child{border-bottom:none!important}.powermap-sdk .maplibregl-ctrl-group button:hover{background:#f265221a!important}.powermap-sdk .pm-popup-tag{display:inline-block;padding:2px 8px;background:#f2652222;color:#f26522;border-radius:20px;font-size:11px;font-weight:600;margin-bottom:8px}.pm-draw-control-container{display:flex!important;flex-direction:row;align-items:flex-end;gap:12px;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:10px}.maplibregl-ctrl-top-right .pm-draw-control-container,.maplibregl-ctrl-bottom-right .pm-draw-control-container,.mapboxgl-ctrl-top-right .pm-draw-control-container,.mapboxgl-ctrl-bottom-right .pm-draw-control-container{flex-direction:row-reverse}.maplibregl-ctrl.pm-draw-control-container{background:none!important;border:none!important;box-shadow:none!important;clear:none}.pm-draw-toolbar{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;padding:4px;border-radius:16px;box-shadow:0 2px 8px #00000014;border:1px solid transparent;pointer-events:auto}.pm-draw-btn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:#8d98a5;transition:all .2s;padding:0;outline:none!important;flex-shrink:0}.pm-draw-btn svg{width:15px;height:15px;fill:currentColor}.pm-draw-btn:not(:disabled):hover{background-color:#f9fafb;color:#f26522}.pm-draw-btn.active{background-color:#f8f9fa;box-shadow:0 2px 4px #0000000a;color:#f26522}.pm-draw-btn:disabled{opacity:.25;cursor:not-allowed}.pm-draw-btn.anim-pulse{animation:pm-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pm-pulse{0%,to{opacity:1}50%{opacity:.5}}.pm-draw-divider{width:12px;height:1px;background:#e2e8f0;margin:2px 0}.pm-draw-btn.pm-trash-btn:hover{color:#ef4444}.pm-extrude-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;cursor:ns-resize}.pm-measure-panel{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid transparent;min-width:170px;pointer-events:auto;overflow:hidden;display:flex;flex-direction:column}.pm-measure-header{display:flex;align-items:center;padding:10px 13px;border-bottom:1px solid #f1f5f9}.pm-measure-header-title-wrap{display:flex;align-items:center;gap:6px}.pm-measure-header-title{font-weight:700;font-size:11px;color:#1e293b}.pm-measure-header-badge{font-size:8px;padding:2px 6px;border-radius:999px;background:#fff;color:#64748b;border:1px solid #e2e8f0}.pm-measure-body{padding:10px 13px;display:flex;flex-direction:column;gap:10px}.pm-measure-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pm-measure-main{display:flex;align-items:center;gap:10px}.pm-measure-icon{width:22px;height:22px;border-radius:5px;background:#e0e7ff;display:flex;align-items:center;justify-content:center;color:#312e81;flex-shrink:0}.pm-measure-icon svg{width:11px;height:11px}.pm-measure-text{display:flex;flex-direction:column}.pm-measure-key{font-size:10px;font-weight:700;color:#1e293b}.pm-measure-height-control{display:flex;align-items:center;gap:4px}.pm-height-btn{width:22px;height:22px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:0}.pm-height-btn:hover{background:#f8fafc;color:#1e293b;border-color:#cbd5e1}.pm-height-btn svg{width:12px;height:12px}.pm-measure-height-box{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:2px 6px;display:flex;align-items:center;gap:2px;box-shadow:0 1px 2px #0000000d}#pm-measure-height-val{font-size:13px;font-weight:800;color:#1e1b4b;font-family:Outfit,sans-serif;border:none;background:transparent;width:48px;padding:0;text-align:right;outline:none}.pm-measure-height-unit{font-size:9px;font-weight:700;color:#64748b;pointer-events:none}.pm-extrude-handle-marker{width:14px;height:14px;background:#fff;border:3px solid #6366f1;border-radius:50%;cursor:ns-resize;box-shadow:0 0 0 4px #6366f133;transition:transform .1s ease-out}.pm-extrude-handle-marker:hover{transform:scale(1.2);background:#6366f1}.pm-indoor-marker{display:flex;flex-direction:column;align-items:center;gap:4px}.pm-indoor-marker-bg{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;box-shadow:0 2px 6px #0003;border:2px solid white}.pm-indoor-marker-label{font-family:Outfit,-apple-system,sans-serif;font-size:12px;font-weight:700;text-shadow:0 0 3px #fff,0 0 3px #fff;white-space:nowrap}.pm-measure-value{font-size:14px;font-weight:700;color:#1e1b4b;margin-left:auto}.pm-property-editor-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;display:flex;align-items:center;justify-content:center}.pm-prop-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;opacity:0;transition:opacity .3s ease}.pm-property-editor-container.active .pm-prop-overlay{opacity:1}.pm-property-editor-panel{position:relative;z-index:10;width:90%;max-width:520px;background:#0f172af2;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 25px 60px #00000080;color:#fff;padding:0;overflow:hidden;font-family:Inter,Noto Sans Thai,sans-serif;pointer-events:auto;transform:scale(.95);opacity:0;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s ease}.pm-property-editor-container.active .pm-property-editor-panel{transform:scale(1);opacity:1}.pm-prop-header{padding:14px 18px;background:#4f46e526;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.pm-prop-header-right{display:flex;align-items:center;gap:12px;margin-left:auto}.pm-prop-header-coords{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-right:8px}.pm-prop-coord-row{display:flex;flex-direction:row;align-items:center;gap:16px;background:#ffffff0a;padding:4px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.05);pointer-events:none}.pm-prop-coord-line{display:flex;align-items:center;gap:6px;font-size:10px;font-family:Inter,sans-serif;letter-spacing:.01em;white-space:nowrap}.pm-prop-coord-label{color:#fff6;font-weight:800;font-size:8.5px;text-transform:uppercase}.pm-prop-coord-value{color:#818cf8;font-weight:600;font-family:JetBrains Mono,Courier New,monospace;font-size:10px;min-width:45px}.pm-prop-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.pm-prop-title i{color:#818cf8}.pm-prop-close{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#94a3b8;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);flex-shrink:0}.pm-prop-close:hover{background:#ef4444cc;color:#fff;transform:rotate(90deg) scale(1.1);border-color:transparent;box-shadow:0 0 15px #ef444466}.pm-prop-body{padding:18px;max-height:80vh;overflow-y:auto}.pm-prop-group{margin-bottom:24px}.pm-prop-group:last-child{margin-bottom:0}.pm-prop-row{display:flex;gap:16px;margin-bottom:24px}.pm-prop-row .pm-prop-group{flex:1;margin-bottom:0}.pm-prop-group label{display:block;font-size:11px;text-transform:uppercase;font-weight:700;color:#64748b;margin-bottom:8px;letter-spacing:.05em}.pm-prop-group select{width:100%;background:#0000004d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;padding:10px 14px!important;color:#fff!important;font-size:13px!important;outline:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:14px!important;cursor:pointer;transition:all .2s}.pm-prop-group select:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f133!important}.pm-prop-group select option{background:#1e1b4b;color:#fff}.pm-prop-group input[type=text]{width:100%;background:#0000004d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;padding:10px 14px!important;color:#fff!important;font-size:13px!important;outline:none!important;transition:border-color .2s,box-shadow .2s}.pm-prop-group input[type=text]:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f133!important}.pm-color-grid{display:flex;flex-wrap:wrap;gap:10px;background:#0003;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.pm-color-item{width:32px;height:32px;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.pm-color-item:hover{transform:scale(1.1);box-shadow:0 0 15px #fff3}.pm-color-item.active{border-color:#fff;transform:scale(1.15);box-shadow:0 0 20px #fff6}.pm-color-custom{width:32px;height:32px;border-radius:8px;overflow:hidden;border:2px solid rgba(255,255,255,.2);position:relative}.pm-color-custom input{position:absolute;top:-5px;left:-5px;width:44px;height:44px;cursor:pointer;opacity:0}.pm-icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;background:#0003;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.pm-icon-item{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:8px;cursor:pointer;transition:background .2s,transform .2s}.pm-icon-item:hover{background:#ffffff1a;transform:scale(1.1)}.pm-icon-item.active{background:#6366f133;border:1px solid rgba(99,102,241,.4)}.pm-icon-item i{font-size:16px}.pm-prop-body::-webkit-scrollbar{width:5px}.pm-prop-body::-webkit-scrollbar-track{background:transparent}.pm-prop-body::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.pm-indoor-marker{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;pointer-events:auto}.pm-indoor-marker-bg{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #00000040,0 0 0 2px #ffffff4d}.pm-indoor-marker-bg i{color:#fff;font-size:16px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.2)}.pm-indoor-marker:hover .pm-indoor-marker-bg{box-shadow:0 4px 14px #00000059,0 0 0 3px #ffffff80}.pm-indoor-marker-label{margin-top:2px;font-size:11px;font-weight:800;font-family:Inter,Noto Sans Thai,sans-serif;text-align:center;white-space:nowrap;max-width:120px;overflow:visible;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 1px 2px rgba(0,0,0,.4);line-height:1.2;transition:color .3s,opacity .2s}@media screen and (max-width: 600px){.pm-property-editor-panel{width:95%;max-height:90vh}.pm-prop-row{flex-direction:column;gap:12px}.pm-prop-header{padding:12px 16px}.pm-prop-body{padding:16px}.pm-icon-grid{grid-template-columns:repeat(4,1fr)}.pm-color-item,.pm-color-custom{width:28px;height:28px}}.pm-prop-section-title{font-size:11px;font-weight:800;color:#818cf8;margin-top:10px;margin-bottom:12px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.1em}.pm-prop-section-title:after{content:"";flex:1;height:1px;background:#818cf833}.pm-prop-group input[type=number]{width:100%;background:#0000004d!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;padding:10px 14px!important;color:#fff!important;font-size:13px!important;outline:none!important;transition:all .2s}.pm-prop-group input[type=number]:focus{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f133!important}.pm-toggle-wrap{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;padding:10px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.05)}.pm-toggle-label{font-size:13px;color:#e2e8f0;font-weight:500}.pm-switch{position:relative;display:inline-block;width:40px;height:22px}.pm-switch input{opacity:0;width:0;height:0}.pm-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;transition:.4s;border-radius:34px}.pm-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.pm-switch input:checked+.pm-slider{background-color:#6366f1}.pm-switch input:checked+.pm-slider:before{transform:translate(18px)}.pm-custom-props-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.pm-custom-prop-row{display:flex;gap:8px;align-items:center;animation:pm-slide-in .2s ease-out}.pm-custom-prop-row input{flex:1}.pm-btn-remove-prop{background:#ef44441a;color:#ef4444;border:none;width:28px;height:28px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pm-btn-remove-prop:hover{background:#ef4444;color:#fff}.pm-btn-add-prop{background:#4f46e51a;color:#818cf8;border:1px dashed rgba(129,140,248,.4);padding:8px;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;margin-top:8px;width:100%;transition:all .2s;text-transform:uppercase;letter-spacing:.05em;pointer-events:auto;position:relative;z-index:5}.pm-btn-add-prop:hover{background:#4f46e533;border-color:#818cf8;color:#fff}.pm-measure-settings-btn{background:transparent;color:#64748b;border:none;padding:6px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:4px}.pm-measure-settings-btn:hover{background:#f1f5f9;color:#f26522}.pm-measure-settings-btn svg{width:14px;height:14px}.powermap-sdk .pm-premium-marker{display:block;position:relative}.powermap-sdk .pm-premium-marker-icon{text-shadow:none;line-height:1}.powermap-sdk.pm-preview-only .maplibregl-canvas,.powermap-sdk.pm-preview-only .pm-marker,.powermap-sdk.pm-preview-only .pm-premium-marker,.powermap-sdk.pm-preview-only .pm-indoor-marker,.powermap-sdk.pm-preview-only .pm-draw-control-container,.powermap-sdk.pm-preview-only .pm-property-editor-container,.powermap-sdk.pm-preview-only .maplibregl-ctrl-group,.powermap-sdk.pm-preview-only .mapboxgl-ctrl-group{cursor:default!important;pointer-events:none!important}.powermap-sdk.pm-preview-only .maplibregl-ctrl-attrib{pointer-events:auto!important}.powermap-sdk.pm-preview-only .maplibregl-popup,.powermap-sdk.pm-preview-only .pm-popup{display:none!important}.pm-indoor-routing-panel{--pm-routing-bg: rgba(255, 255, 255, .85);--pm-routing-blur: blur(24px);--pm-routing-border: 1px solid rgba(255, 255, 255, .8);--pm-routing-shadow: 0 16px 32px -8px rgba(0, 0, 0, .15), 0 4px 12px -4px rgba(0, 0, 0, .08);--pm-routing-radius: 20px;--pm-routing-font: "Inter", "Outfit", system-ui, sans-serif;--pm-routing-text: #0f172a;--pm-routing-text-muted: #64748b;--pm-routing-accent: #f97316;--pm-routing-input-bg: rgba(241, 245, 249, .6);--pm-routing-hover: rgba(248, 250, 252, .9);width:340px;max-height:85vh;background:var(--pm-routing-bg);backdrop-filter:var(--pm-routing-blur);-webkit-backdrop-filter:var(--pm-routing-blur);border:var(--pm-routing-border);border-radius:var(--pm-routing-radius);box-shadow:var(--pm-routing-shadow);font-family:var(--pm-routing-font);margin:16px;display:flex;flex-direction:column;overflow:hidden;color:var(--pm-routing-text);z-index:1000}.pm-routing-panel-header{padding:20px;background:linear-gradient(to bottom,#fffffff2,#ffffffb3);border-bottom:1px solid rgba(0,0,0,.06)}.pm-routing-inputs-container{display:flex;align-items:stretch;gap:12px}.pm-routing-inputs{position:relative;display:flex;flex-direction:column;gap:12px;flex:1}.pm-routing-swap-btn{display:flex;align-items:center;justify-content:center;background:var(--pm-routing-input-bg);border:1px solid transparent;border-radius:12px;color:var(--pm-routing-text-muted);cursor:pointer;padding:0 12px;transition:all .2s ease}.pm-routing-swap-btn:hover{background:#fff;border-color:var(--pm-routing-accent);color:var(--pm-routing-accent);box-shadow:0 0 0 3px #f9731626}.pm-routing-input-row{position:relative;display:flex;align-items:center;background:var(--pm-routing-input-bg);border:1px solid transparent;border-radius:12px;padding:10px 14px 10px 38px;transition:all .2s ease}.pm-routing-input-row:focus-within{background:#fff;border-color:var(--pm-routing-accent);box-shadow:0 0 0 3px #f9731626}.pm-routing-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:2}.origin-icon{color:#3b82f6}.dest-icon{color:var(--pm-routing-accent)}.pm-routing-line-connector{position:absolute;left:20px;top:36px;bottom:36px;width:2px;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 4px,transparent 4px,transparent 8px);z-index:1}.pm-routing-input{border:none;background:transparent;width:100%;font-size:14px;font-weight:500;color:var(--pm-routing-text);outline:none;font-family:inherit}.pm-routing-input::placeholder{color:#94a3b8;font-weight:400}.pm-search-results{background:#fff;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;margin-top:4px;z-index:1010;max-height:240px;overflow-y:auto;display:none;border:1px solid #e2e8f0;position:absolute;width:calc(100% - 32px);left:16px}.pm-search-result-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .2s}.pm-search-result-item:last-child{border-bottom:none}.pm-search-result-item:hover{background:var(--pm-routing-hover)}.pm-search-result-name{font-size:14px;font-weight:600;color:var(--pm-routing-text)}.pm-search-result-floor{font-size:12px;color:var(--pm-routing-accent);font-weight:600;margin-top:2px;display:flex;align-items:center;gap:4px}.pm-routing-summary{padding:16px 28px;background:#f8fafccc;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center}.pm-routing-steps{max-height:350px;overflow-y:auto;background:var(--pm-routing-bg)}.pm-routing-steps::-webkit-scrollbar{width:6px}.pm-routing-steps::-webkit-scrollbar-track{background:transparent}.pm-routing-steps::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.pm-route-step{padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.03);display:flex;gap:16px;cursor:pointer;transition:all .2s ease}.pm-route-step:hover{background:#ffffff80;padding-left:24px}.pm-route-step.active{background:#eff6ff;border-left:3px solid var(--pm-routing-accent)}.pm-step-icon-bg{width:28px;height:28px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;color:var(--pm-routing-accent);flex-shrink:0;box-shadow:0 1px 2px #0000000d}.pm-step-icon-bg svg{width:16px;height:16px}.pm-step-content{flex:1}.pm-step-instruction{font-size:13px;color:var(--pm-routing-text);line-height:1.4;font-weight:600}.pm-step-meta{display:flex;gap:8px;margin-top:4px;font-size:11px;color:var(--pm-routing-text-muted);font-weight:500}.pm-step-floor{background:#fff7ed;color:#c2410c;padding:2px 6px;border-radius:4px;font-weight:600}.pm-step-distance{background:#f1f5f9;padding:2px 6px;border-radius:4px}.pm-focus-marker-container{width:48px;height:48px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.pm-focus-marker{width:14px;height:14px;border-radius:50%;background-color:var(--pm-routing-accent, #f97316);box-shadow:0 0 0 6px #f973164d,0 0 20px #f9731699;animation:pm-pulse 1.5s infinite}@keyframes pm-pulse{0%{box-shadow:0 0 #f9731699,0 0 10px #f9731699}70%{box-shadow:0 0 0 15px #f9731600,0 0 20px #f9731600}to{box-shadow:0 0 #f9731600,0 0 10px #f9731600}}.pm-indoor-floor-selector{display:flex;flex-direction:column;background:#ffffffd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 24px -5px #00000026,0 4px 8px -4px #0000001a;border:1px solid rgba(255,255,255,.6);border-radius:14px;overflow:hidden;margin:12px}.pm-indoor-floor-btn{padding:12px 14px;border:none;border-bottom:1px solid rgba(0,0,0,.05);background-color:transparent;cursor:pointer;font-family:Inter,Outfit,sans-serif;font-size:15px;font-weight:700;color:#4b5563;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.pm-indoor-floor-btn:last-child{border-bottom:none}.pm-indoor-floor-btn:hover{background-color:#0000000a;color:#111827;transform:scale(1.05)}.pm-indoor-floor-btn.active{background-color:#3b82f6;color:#fff;box-shadow:0 6px 14px #3b82f659;transform:scale(1)}.pm-step-icon-col{display:flex;flex-direction:column;align-items:center;margin-right:12px}.pm-step-line{width:2px;flex:1;background-color:#e2e8f0;margin-top:4px;margin-bottom:-14px;min-height:20px}.pm-summary-stat{display:flex;flex-direction:column}.pm-stat-value{font-size:20px;font-weight:800;color:var(--pm-routing-accent);letter-spacing:-.5px;line-height:1.2}.pm-stat-label{font-size:12px;color:var(--pm-routing-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pm-summary-stat:last-child{align-items:flex-end;text-align:right}.pm-outdoor-routing .pm-close-btn{background:transparent;border:none;color:#94a3b8;font-size:24px;cursor:pointer;line-height:1;padding:4px;transition:color .2s}.pm-outdoor-routing .pm-close-btn:hover{color:#ef4444}.pm-outdoor-routing .pm-routing-swap-btn{background:#fff;border:1px solid rgba(0,0,0,.1);color:#64748b;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;padding:0}.pm-outdoor-routing .pm-routing-swap-btn:hover{background:#f8fafc;color:var(--pm-routing-accent);box-shadow:0 4px 8px #0000001a}.pm-outdoor-routing .pm-routing-profiles{display:flex;margin-bottom:12px;background:#f9fafb;padding:6px;border-radius:12px}.pm-outdoor-routing .pm-profile-btn{flex:1;background:transparent;border:none;padding:0;height:28px;border-radius:8px;color:#1e3e62;cursor:pointer;transition:all .2s ease;display:flex;justify-content:center;align-items:center;margin:0 2px}.pm-outdoor-routing .pm-profile-btn svg{width:16px;height:16px}.pm-outdoor-routing .pm-profile-btn:hover{background:#ffffff80;color:#1e3e62}.pm-outdoor-routing .pm-profile-btn.active{background:#f26522;color:#fff}.pm-outdoor-routing .pm-add-waypoint-btn{background:transparent;border:1px dashed rgba(0,0,0,.15);border-radius:8px;color:#64748b;padding:8px;width:100%;text-align:center;font-size:13px;font-weight:500;cursor:pointer;margin-top:12px;margin-bottom:0;transition:all .2s ease;display:flex;justify-content:center;align-items:center;gap:4px}.pm-outdoor-routing .pm-add-waypoint-btn:hover{background:#00000005;border-color:#0000004d;color:#334155}.pm-outdoor-routing .wp-icon{display:flex;justify-content:center;align-items:center}.pm-outdoor-routing .wp-dot{width:8px;height:8px;background:#cbd5e1;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #cbd5e1}.pm-outdoor-routing .pm-remove-wp-btn{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.pm-outdoor-routing .pm-remove-wp-btn:hover{color:#ef4444}.pm-outdoor-routing .pm-routing-line-connector{position:absolute;left:20px;width:2px;background:#e2e8f0;z-index:0}.pm-outdoor-routing .pm-routing-input-row{position:relative;z-index:1}.pm-outdoor-routing .pm-search-results{position:absolute;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:calc(100% - 40px);left:20px;max-height:250px;overflow-y:auto;z-index:100;border:1px solid rgba(0,0,0,.05)}.pm-outdoor-routing .pm-search-result-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.05)}.pm-outdoor-routing .pm-search-result-item:last-child{border-bottom:none}.pm-outdoor-routing .pm-search-result-item:hover{background:#00000005}.pm-outdoor-routing .pm-search-result-name{font-weight:500;font-size:14px;color:#1e293b}.pm-outdoor-routing .pm-search-result-floor{font-size:12px;color:#64748b;margin-top:2px}.pm-route-step.active{background-color:#f3f4f6;border-left:4px solid var(--pm-primary-color, #f97316);padding-left:8px;border-radius:4px}.pm-route-step.active .pm-step-icon-bg{background-color:var(--pm-primary-color, #f97316);color:#fff}.pm-route-step.active .pm-step-instruction{color:var(--pm-primary-color, #f97316)}`,Qe=111320;function Ao(o,e,t){if(!t||!Array.isArray(t)||t.length<2)throw new v("Valid origin center [lng, lat] is required for coordinate conversion.",C.INVALID_PARAMETERS,"geometry");const r=t[1],i=t[0],n=Qe*Math.cos(r*Math.PI/180),s=e/Qe,a=o/n;return[i+a,r+s]}function ge(o,e,t){if(!t||!Array.isArray(t)||t.length<2)throw new v("Valid origin center [lng, lat] is required for coordinate conversion.",C.INVALID_PARAMETERS,"geometry");const r=t[1],i=t[0],n=Qe*Math.cos(r*Math.PI/180),s=o-i,a=e-r,l=s*n,c=a*Qe;return{x:l,y:c}}class yo{constructor(e){this.map=null,this.authManager=e.authManager,this.eventBus=e.eventBus,this.styles={th:"thailand_th",en:"thailand_en",dark:"thailand_th_black",gray:"thailand_th_gray"},this.context=e,this.navControl=null,this.initMap(e.options)}initMap(e){if(!e||!e.container)throw new v("Map container ID is required to initialize the map.",C.INVALID_PARAMETERS,"map");const t=this.styles[e.style]||e.style||this.styles.th;let r=t;t.startsWith("http")||(r=`${e.mapBaseUrl||"https://maps.powermap.live"}/api/v2/map/vtile/styles?name=${t}`);const i=typeof e.container=="string"?document.getElementById(e.container):e.container;if(i&&(i.classList.add("powermap-sdk"),e.previewOnly&&i.classList.add("pm-preview-only")),!document.getElementById("powermap-sdk-styles")){const a=document.createElement("style");a.id="powermap-sdk-styles",a.textContent=`
|
|
2
2
|
${fo}
|
|
3
3
|
${mo}
|
|
4
|
-
`,document.head.appendChild(a)}if(!document.getElementById("pm-font-awesome")){const a=document.createElement("link");a.id="pm-font-awesome",a.rel="stylesheet",a.href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css",document.head.appendChild(a)}try{this.map=new D.Map({container:e.container,style:o,center:e.center||[100.5018,13.7563],zoom:e.zoom||14,attributionControl:!1,interactive:!e.previewOnly,transformRequest:(a,l)=>this.authManager.transformRequest(a,l)})}catch(a){throw new w(`Failed to initialize Visual Engine: ${a.message}`,v.UNKNOWN,"map",{originalError:a})}const n='<a href="https://www.powermap.in.th/en/PowerM/map" target="_blank" class="pm-attrib-link">© PowerMAP </a>',s='<a href="https://maplibre.org/" target="_blank" class="ml-attrib-link">© MapLibre</a>';this.map.addControl(new D.AttributionControl({compact:!1,customAttribution:`${n} ${s}`})),this.map.on("load",()=>{this.eventBus.emit("mapLoaded",{map:this.map})}),this.map.on("click",async a=>{if(this.context.origin){const l=ge(a.lngLat.lng,a.lngLat.lat,this.context.origin);a.x=l.x,a.y=l.y}this.eventBus.emit("mapClick",a);try{const c=["poi_level_1","poi_pa","poi_pa_label"].filter(d=>this.map.getLayer(d));if(c.length===0)return;const u=this.map.queryRenderedFeatures(a.point,{layers:c});u.length>0&&this.eventBus.emit("poiClick",{feature:u[0],lngLat:a.lngLat,point:a.point,originalEvent:a})}catch{}}),this.map.on("contextmenu",async a=>{if(this.context.origin){const l=ge(a.lngLat.lng,a.lngLat.lat,this.context.origin);a.x=l.x,a.y=l.y}this.eventBus.emit("mapLongClick",a)}),this.map.on("error",a=>{const l=a.error?a.error.message:a.message||"Map rendering error",c=new w(l,v.API_REQUEST_FAILED,"map",{originalEvent:a});this.eventBus.emit("error",c)})}setStyle(e){if(!this.map)return;const t=this.styles[e]||e,i=`${this.context.options.mapBaseUrl||"https://maps.powermap.live"}/api/v2/map/vtile/styles?name=${t}`;this.map.setStyle(i),this.eventBus.emit("styleChanged",e)}setNavigationControl(e=!0){if(!this.map||this.context.options.previewOnly||(this.navControl&&(this.map.removeControl(this.navControl),this.navControl=null),e===!1))return;const t=typeof e=="object"?e:{},o=t.position||"top-right";this.navControl=new D.NavigationControl({showCompass:t.showCompass!==void 0?t.showCompass:!0,showZoom:t.showZoom!==void 0?t.showZoom:!0,visualizePitch:t.visualizePitch!==void 0?t.visualizePitch:!0}),this.map.addControl(this.navControl,o);const i=this.navControl._container;i&&(i.classList.add("pm-ctrl-group"),i.querySelectorAll("button").forEach(s=>{s.classList.add("pm-ctrl-button"),s.classList.contains("maplibregl-ctrl-zoom-in")&&s.classList.add("pm-ctrl-zoom-in"),s.classList.contains("maplibregl-ctrl-zoom-out")&&s.classList.add("pm-ctrl-zoom-out"),s.classList.contains("maplibregl-ctrl-compass")&&s.classList.add("pm-ctrl-compass")}))}setFullscreenControl(e=!0){if(!this.map||this.context.options.previewOnly||(this.fullscreenControl&&(this.map.removeControl(this.fullscreenControl),this.fullscreenControl=null),e===!1))return;const t=typeof e=="object"?e:{},o=t.position||"top-right";this.fullscreenControl=new D.FullscreenControl(t),this.map.addControl(this.fullscreenControl,o);const i=this.fullscreenControl._container;i&&(i.classList.add("pm-ctrl-group"),i.querySelectorAll("button").forEach(s=>{s.classList.add("pm-ctrl-button"),s.classList.contains("maplibregl-ctrl-fullscreen")&&s.classList.add("pm-ctrl-fullscreen"),s.classList.contains("maplibregl-ctrl-shrink")&&s.classList.add("pm-ctrl-shrink")}))}flyTo(e){this.map&&this.map.flyTo(e)}easeTo(e){this.map&&this.map.easeTo(e)}fitBounds(e,t){this.map&&this.map.fitBounds(e,t)}jumpTo(e){this.map&&this.map.jumpTo(e)}setPitch(e,t=!0){this.map&&(t?this.map.easeTo({pitch:e}):this.map.setPitch(e))}setBearing(e,t=!0){this.map&&(t?this.map.easeTo({bearing:e}):this.map.setBearing(e))}getCenter(){return this.map?this.map.getCenter():(console.warn("Map is not initialized. Call onMapLoaded() to wait for map readiness."),null)}getZoom(){return this.map?this.map.getZoom():(console.warn("Map is not initialized. Call onMapLoaded() to wait for map readiness."),null)}getPitch(){return this.map?this.map.getPitch():0}getBearing(){return this.map?this.map.getBearing():0}zoomIn(){this.map&&this.map.easeTo({zoom:this.map.getZoom()+1})}zoomOut(){this.map&&this.map.easeTo({zoom:this.map.getZoom()-1})}rotateLeft(){this.map&&this.map.easeTo({bearing:this.map.getBearing()-45})}rotateRight(){this.map&&this.map.easeTo({bearing:this.map.getBearing()+45})}getMap(){return this.map}}const Rt="data:image/png;base64,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",Gt="data:image/png;base64,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",Qt="data:image/png;base64,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",Ut="data:image/png;base64,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",Yt="data:image/png;base64,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",zt="data:image/png;base64,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",Ht="data:image/png;base64,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",jt="data:image/png;base64,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",Kt="data:image/png;base64,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",Vt="data:image/png;base64,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",qt="data:image/png;base64,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",Wt="data:image/png;base64,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",Jt="data:image/png;base64,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",Xt="data:image/png;base64,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",Zt="data:image/png;base64,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",_t="data:image/png;base64,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",$t="data:image/png;base64,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",er="data:image/png;base64,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",tr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAACFCAYAAABc8Qb+AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAACKoSURBVHja7H15mFTFuffvrTqnt9lnYIZNQEBQJAguuCFI4nUHl0SyXaISkmg+dyU3JuqTq0bzXLwkLvHzRqPJJds1cYkmavwMGuQaoyYmiIgbAiGCyEDP1jPd51S93x91zullumemu6dhiFPz1INOT5+lflXv+3uXeouYGcNt/2hieAiGwRpuw2ANgzXchsEabsNgDYM13IbBGm6D2qy9dyudMz9cMIxBTiCw9yjk/Z3WgBACYEArBZLme8QAiOAQQykCM+CkAEdraFcg2QP0dGsLEBCaEQ3DtWxAhAnSMreXFmCFGAIE8p6GwJDe9YkIvrOAyPxFruuA9gFYtO88GG4WeAwBhhlAvzEzSBHAABPQ2ekg3iURbxO173+IMX//e3Lc5q17Jm56u3VyW0eiti3eU59o74mlkhRiptMBPMGsRCQS6amtt9uratA5ekzj9gmTGrYecEDT1gPGyW2jmrGjqZE77bCL6ogNUoCU3uCQ6QwOYKV9uLL2KljmVuzNVp0FCpMw4HjgKQBaa7THNXZtt6o3bsPU19cnp6/7a+th777TM+n9D9vPbY8DPT0alhWBEAJCiGAlIGOFMjNIanMfNv+GwgLVNVGMH9fw4CEHxTbOPkK+esRs+5WWkdjZ0oJUNGZWGmD+XoC8FUdZK+6fHqzg5kRgVgYcAgAJrRlOirDtH4i8/Zae8vKfds156ZU9R72xdddFez4kpBwBS9QBMgRCBFoJhEIhQGtobQaWiDKmQua9OBCnWrtwXRdKdUFSO6qrujFubBjTp4265ag5zS9PnxndcNAkeqe5CToaAgSZKyotIMRHSAz6A5opDjUIiZTCu2/Z9S++6B7z3Jqu+S+/3P311t0a3Q7BssNmwKULrVOe8gIEI9Bl5poEsAWmXF3p3y09zJKDywAwK1trIw7HT47i8Dn0zY8fV7X62Dn04gGjzXM6JCHJCEX5zwuWzhqUYKaD4CQZb26h6mdWt530/1Zv/pc333C/uuvDFFw1Ana0Hq4LsPf3DJUFsshdOSz6FFGsZQ5xSAaqk4hAJKCUAnM7wqF2jGyOPX307PBLZ5w6/rcnHh99saEBIGJYIdrrhGOfgKW1BhFBuYSOduC5J+Nz732o+/OvbUhe1JGwoRTgsoIUIWiW3t9zFlsM1gNnD5bwwCKi4D6ZdydN/n+kQScFLT3xqaT3fXj/78BiQmNDx+oTjpNrv3T+gT88/Mjw1nCMM7jk3gFtEMDS/ZpyhkBoEAgKBNchaAbefTNZ+707t17x+z90fmJPu5zn6hoQRT3arLMUOgsVgNHnC/X3NN7r6hwxyb48ZLPyhEyLbKkBYfXAcbZj9KjIM59cNOGhpcvq758w2k5JATA0hOURD/aeG9pjt3YfKmCfraxs0AJxxZY3GOZBU4qQ0IRHH3RPuu2256/e+o/6U4UcAYdl1kuIXvbO3tWtuQPqsoZt2xCUBKd24cij2u6/7t9O/PYJx2CTZoawfbBcEBFEQKSsfnT2vgSLBeCtJHMDGYCVVAo7dkjcdc97l9xz39sXSzF+urBq4bpsVp+WBa8rChingy6sveeWkFmTJQCQNEg50NyKA8Z2PHXNlUesOPvM6tV1DYZwMKscIETOJC5dXA6iGBTZYgXGmBRaAIqQSAHr33Cbb/vu+uVP/q7zVBmdMsNxHDMLhYD2FmJaz2S/JAmVngyDAkq2WAx0mHf9fDNfCAFN5hmFVGDVhppI+4tLzz/4gWUXVN03bkxIS+GLUG8cmHLsytKfv3ywek0V1/s1g2CDAbTHNZ57Qcy6/ft/ufzPr1RfIEO1SLlGXGhSad2mRb86qX8dWaxbVA9IDOY2JRRALiwohKgb532y/tqvfHHcPbMO5jgEgb1ZoJSClDK4D1HphF9+61vfKg8j0p6x4q0llt5AGGLR0Ul4dk1y1op71i9f9ze5RMgRcBwXljTiUjCBNMAkAMg+xIMeZCHIWdfTZES1/z6UZwVk6RpBAAtoSGi28Prr209qbXXcCZPCr41usRMkKGCl5uldb0KT8eKUIAhLBivNvjxD1OvEHPyudsx2fGxGzZzv3fXGFS+vb/i8ompIjYAasweW8QcKEHPGEtUZA8pZbK8S9Ng3oom998izstLimQLdRkwQLKERw8aN3fO2bNkRm3rQ6JfHjEYia4X6pkcgFvcqwdCBAzbDl2QUMgu09wDPv9gz89u3bvjm6+utxYqaQUSQ8I3hbEeuLsSQvEFhPdgQiSy7jYsUgz5YwvdtsgapFEjsxPzjqu6+5ZYp186YVtVuJqUbKEdiG6W6FUVpIOmADLD34/+ehIBi4NXXMemWFf977fo3IouZGiE4Rx+xZdxCEMbXXugNWAwaqcj3HlxQuIo+hyd4H69rSCgZhaYxWPtH66s33fL69W+9h4iG9hiHBcBCOf5fUdpXTCeSngGV9kSnXGDbdi2+/e9//uZrr8Y+wzqUPTis+iYJpLP7Pmu6KDIj2Ne4AtKqxeo/6Gvu+8GOZXt2KbAiIxl8A79EaVbylGWDTpodkUAKAkkF3PKd57+x9g+JpeHQGBAiHggOGKk0+Ug/e79O3/0la5g9nZtKMpRqwK8e3X7eQ7+On+q62bq2VA9GyWKQvO6HN1wQHDAe+DHO/tnPk5+tbjwASVcAQhgnLBkDpOCD5qwkZqqAnqqct8PvAhIKBFAV9nTVzFv1041L1jyPqcY5nJ58pUzCMnSW9lzV7Okv4KW/JCbd84NXvmJXT5iecCVc7fn2OARwCKztwg8YyH+PTPBQWCXFqAV/zjEsEtBKQrsxrF8f+txPf/re59/anKguV0CUrbk1TFR3xzaIH//XO+fv2B46NenYUACscMQzAglEFgYSAWKmISbWBq7bzOqSIDKRAkBByyb8/jl1w+rVnR9va+9tfHAR1qMo/gVk0H3Lx0kBv3sKp/5htb7BETUQFIYkAfKWPUiB2QWRBgsyrh5yAXLT4nSI6qaBiqs0BBpCAII1BBMkxdDRGcYvfvXmp199HVO6XQ0NHbx/mk1XZGWZx2JPUmkNbHonUf/oEx+c1doRA7nVEByCgIRWjvfQ2nswB5o9ok/sGcEq+N3QJw99Ki6wFx1gVkE+iAJDWwIbNjZ87tGncXa8XUC5DGYXzG6g/SsCFnnGOLH574448NST8VNfX/fBl1lbAT3PfTkBDWONuF43xEPz/pO62CdgHkHSBK8zFDSktmCxDXZi+N1v3zxlw4bklFRKAhw2fW/pLAXgrXcw5tnff7igvUNCiJBhipThzchhecTeitIM6P0vxzQNmOh3+EzijoKrHZCIYcum1EmPPPTauUnHeH5ICAjO8PxXAiytjTOtq8vF2j9i7t/ecL4Mu8pQdLiBnCciKDadNUErE9PSQkCDMPSFX1+AZRvN2pMdaRAlAAlNGpo0XK1hhWJ4/Ml3Fr62ARN7XG2oPHRm1k6frfiMXE9XORrYvkNHnl+77YSuhICUEq4v1qi32FBQAAFaK5Nty3bZg7ZgXhizZ9pYMM+Ik4kTLBw4oTfjfG+LwuYtxhf57Jok3tui8Mjj3eVaV17XvdxQ2T5EFeSDCAph+46WuQ8/1HbuccfWrXSVA8sSHh/snymX5Mh1HSDpAk880z7n6qve/tOejijYqgFr0Yt6p8MK5qVCkuG6omTfeX2dwNIlMVx1aTXq60oXo/E2jZV3duL+VQnE20pza7GgXiKMcoKMgj0/KrGX17gbIxo71qx9/oj5Y0fEMrwalaDu3rda24G1z++Zu3sXoHQoj/LN9a0JSGnDcXXJQC2YF8b6l5px43W1ZQHlg37jdbVY/1IzzlkYLW1t6eJCN0IIRMK1+GAnj/rNEztOTyXNEFEldZYQwK5daPzjS1uPTYl6CBmG1AKkVIbC9J29QZIYWAOE0sTf0iUxPP5gU9kg5QNt1b0NWLokVp4eC4zbbOKhSUCTkSTMgGILtl039Ykn3j5tTzfAOoguVQasVEph/RuY8dY76lOWZYPI0HAI0SczApcmbmbPtHHHivqKkoY7VtSXtMKKUSNEBKUYUkTx2ms7Z777Nsax4AGjYBX/cEDSlXjp5c1zursZ0VgIrusGdhf38VJUoofijtv6B+rVdQ7i8cKTob5eYPbMvlf1jdfVlk08CqeZecmnINjCRuvOMfNe/TMOn3Mktg10xRQNlgKQ6Ga8+ufts6WsgasNbfUT93VhJlPSy5+zMNrnIN9wc/uASYJPTm68rjbv5wdOkFi6JIb7VyWKn8HU9+4SJi/QyQyGDRdV+NPLu47+1wtHPFYbAmQlCAY0sGVLYtTbmzunCgoDSvdp1Pk6jEq0qXxanq9dtjyOlXd1DpjNxds0Vt7VicuWx0u6X5+kK0d35XY/qkCw4bqAlDXYtDkxaWerExmocigaLK2Bt95JTW3vso6UdhRKp3KMwsFt+ewmX+wVvQK8dv+qREFxN2tmqKLuKa01tCBIO4IPPuj8zLbNPeMGqsqLHl2lgI1vJg52nWooZUOQnXclFRsWL7Y98lh5uuXVvzlFTY5SgMknEhUYkAIgiURPCtu3d4/SlWKDKQbefPPv01hFYVnhPCAN1HP2z9cGEk6RIEBpEAskkxJvv717atKt4Mr6x/bWcSSjUEwFLikymcVHCC7qc5oGe8LY82bAwe49TmPFVlZHF7Dzw93NlrS9HfVWzmUqK/6GfisMlsmXtAK3HDMhvqezLtldIbASbYiplBRCiP4cZ0FORSXaOYuiZX1/9mF2QeJSjh+DWIPyMAY/zsVSQwsFZgdCO0i0O7FEx8BwKBqszg5UJzrVPN/4IxYgFgVlNZWZ7PzsmmRBr0YpNNv/biFvRbnEhYULFi6UAJRIgxR8rk2OvJ+r0ZlQV3UnEKsMWF2odlwBScbjrKHMrkaSeS9X7sLqy+BddW9D0S6iBfPCePyXTQXtsPJDJwMTjwxh4nwOoFIDc04U7cFIJBAD2yYexQx4m8cqRSPibRo33Nye1zfoO2FfXVeNRx7rRrxN470tKi8dr68TOGdR396QlXd25v1+KSZyb16lAz4YUBEGkg7DVRUCKxxGSggBRX5iv2ej+0vd25aqydtNPwg5FvevSmDiBAtXXVJdUKz15/cbyD1W3tVZPh/sJzBFGW4pE4EQlfO6R8NI2JZAOm89vyIdbEvrhpvbcdnyeMmBwoFcu1Jei1wxSEQmo4sIYVvClgOjz8WDFUWPkGnGlJuzXkwCSCleh/LFVG/2Vx4DzF05/UfBmRlCGFJmxfQ94VokKgNWFRLS7n4B6IEgFaSlaWLoHEE9mEmbV11SjeefHlm2uMsnQh9/sKmgJ77YZjJx835ieka2F5GFSFj0RKPoqQhYI5uRGDkitlNrNytvQDCZLafEyEwnHox2x4r6QRvMvibD4w82DbrO8vMlMyUOM0MQgVUKdQ2h9lj1wK5dNMGwQ8DI5rpdG9/ugZCRoExPUPOjV9YPlUXgb7yuts+Q+yOPd+PZNUm8+re+xdmBEyRmzQxhwbxwwestmBfGHSvqS9ZfTJxR6abQejDbbzUULGlhRFP4w3CoQmCRAFpGNe9IKQcRCVDKPKAj8j8kE5fsHpw90y7IAONtGku+tKeg0Zzb3tui8N6WbjzyeDceWNWFO26rzytSly6JBROgFNI+UFkiQAhbNppaorvIGuh3imxSAFOmjHkXaAOU621QsHqxvyDoWIbaunBJVUGgFp7XWtKA+qRi4XmtBZlloQnS70T2QIDmXp6LLP8gERS7sKIKk8bVbqJKxbNsAg6eFt4YDSsonQwyTnsp0kChls7ezl0UKWgTlcvg/LzBQuKwlCwqAkOwgITM2Laa8zeawC6DoBCNJp+ZMC661a7UyhICOGRKZMOoUVWrWTuwyPJ27GdssMu4rOLSkzkLDVihwGEpK6ygCD7MLloIMhGU0FAiz1IhDRIMkAvNKbDqxujRde8fMDG8Q1ClwCKgpUW2TzqgbpOreuCi7+ROWaIjt6/BqoRhXLYxTNllZIWpqZBmiCzA2pQ+siyC63Zi2uSRbzY2WACrCoEFIGZLHHPU+D8SkugrVPJROu5JMCC0hlAMiwmk2fzOAy0o68IAa40wenDErOq/GGklKgMWQ6OqWuCwWbF1DTUuHJ2EJoC0hGArS7Fm2xzFAddXDuDQa+kKOybXX2TpqEz/KLPZEtXUtH31kbPwitQDn9TFb6YjkwY8ZTLeOXCy/JlyerzagCZEIlikq2Xmvs8g6ZNS41j5TIPBmCyaCIosKLKgKQQF2yvQDJAWIG0SZCCMm8nt6cIxJ4x/ceI07BISeetEDRpYANA4EvGj5kx42UI3BLkAXBApaNJBRbB8xmAxrZAfcOmS2KBsTChkGvQ3WXobqwwiZcZApgCRBMGMg5IutKWMXtIEQhI2deGkTxz0++qI4QAVIxiAOXGgqQ449tiaF1rqBIRKgMgBeW4VysoA8TYoMBWd6FnIjqqvE3j8l00l+wkPnCDx+C+bCqadFROAJMFB8JVIAuSYAi3CgYYGaQXSKiBebrILk8bV/2b+vLrnbOnbobpSYGm4bgp2GJh2cOStGTMa73J1J+DteOytq7wyQAOsKJPZHljV1acIe/7pkcGGgv5E44J5YZyzMIo7VtTjtT+19An0gJNHM96HWHk+wAhIh01nma5OEAxHHKecPv7J5lG2Tp8XIAa4gktZWVLCBTBudCh+1LGjX37hlW2mqgpTUMi7N6EXRc+OV9c5WHlXZ58ehaVLYmVv18nnaxwYVrLXzhj2ToTw9bYm32thCiM3Nr+/5vQzT3giIj0/YhHCpiQxSESwSKOmhnD0MfTS1GmRXyhuAwm3wC3SG511kSts5Z2dgxpv6m9yXHpNWxG6WxfQzRqaXGhyIVjAIgshS6LHjePj8w/8/dSDsNlxuOiCuWVVRbPAmDEdG48/vu5/w7YLpZ08FVOyjWSRUfNpoG6hcvyAg+Uv7M3Udf6O7G0/TARXa3SnOlBTl3zlnLMOfrSpEbBtCnJCK1i0JBMGQmMzcNLJjc+MGm8/4aKrsC/Qfxl/N0URsa54m8bCxa244eb2Qfde+Ak5J5z84YCBIjKlIXKd1CZ92isJ5NmdQgKWLZBy4zh23sQXZh0RW8fkp+i5plIcOZUHS4BhEXD4rOqNC+aOfda2kqaiCnmbo4kgoSCh8n672OK+K+/qxIw5O3HZ8njZK+3ZNUnccHM7ZszZWVSiTFBfXlAvce5XKiUlg101rAk6qTC6pWPtpxY2PtRUB4RtI2EYAsUUki35sDO/3pIkgcYqwimfGPnU2jUbj39zk3M2sYQQ0hOJ/rlTylPAfkKoSq+4IjKg4m0a969KBIzNZ4EDofG+7isVaOPj66ccqzCV34KyrMIGKxenzG/53YI5WBONWF44VgQS1RR3qRBYRiaLgPYRAUcfhfVnnDbqt1v/q/1sISLocXLqmOcWsw8uJspeIeUAUKwzoLf3IoMlMyC0k6W33NROTDog+puFp49/bEQzvEma6ZISA6aEJY+UBoOJvVoqjFg9cO7nJjz8sUMa/zuVbIWFpMkz8GrgMmww7CFQTrUCDlyvMwAWGiz8cIhGQ7WL005rfnL20eF1tp1J0EqjdiWKQfOj2RCNEANTJ4V2X3DBhAciYvtL5Lqm4JbwKoP5QUovVDAgS3M/bEwEYgXJDqTbhUOnd/zgrIXRx+qbbM94RskpKaXLIFam+Jp3LqIEYINx8r/guXPPbXmku7sVlqAMGpud5Ng3WPv3NjwtCEQORtSo1eeePvXXM2dhmy3JEOEyCtOXvrJyBpw0ENKE5kbgqisPXTl5mnyio3sXQNKIQdJZAbr9SNDl9AxTq4A+t9hCCHHMXyD/sPCsmieiEePsTZ93uRfByl0p/vImNmH/8RPt1HXfOPKmmPXuOoILgqmTAV3E+h8yui07pySzYmemsZ8OLjKE6EHjqM1PLfvK1PtGjAlBCMACQTL6BbsiK4vhwIRFvBIQFsCSvQcDzjgFL1765Wl36p6dkEiCOAVJRukyVP8zrGLF9wdLN5keBFtJQrBAhFIIpf7+ytcuP3HF4bPwPhEHR3n4K2+vrqzAiZn36+a4olgUWHbhlB/NPS52Hztxc6xDxnFHxRRZHFoo+Ts6zYkPwuuWJFhSI5nYhsWfmfbzxZ8ZuVqQBrGCznEKGE9H+jCCgYrGskcpk9z4x/4RSQgJzDh+l3vJlw76/rRJnQ9r5b9g7ooRBfrQXlHpOJ2GpTXgpuD0tOKIY3p+dPnVLd+TYUBKsytUQCK3SvXeZYM5stcHTWnTGYz4+y2YewL+esHnD1s1YkQbgLZ0sfrgAGhdoA/t5r+HbwizasWUyc7D110376ax46AlFEAqYz+WLHu4RXlf7c2OhCBvw4Ipmd1QDyxaGH3snDNGXx2O9AQl3ZQyooGE60VXVVkJoXsNJC9qoHUKSiUBocBKo6EOz11xxezbjzwqvElIQAbHeGizlRf++Vy0L8AqdEEF4clogoQQwJhxtl5yft1/z5/nrLTkLtjCMS/C2WdvDSmDuCAb9U8zYkiLwNSFSN0OLP1S8w9PPgVrYhYV3J9G6X2iJYn7QQcr82H8OI0dAmYcgl3Llk394ZSDrIeZOiEtL9yvJQj2PjmrvjyTQYHRA2G14cwzp31z8aebHqyr8Sr9ZHh4BMjkCkKVLd4HHazgEBXvxwcvbAMnHh3dcOVXpn23PvqPNYxuI/ZYQRAHijioGe+VbPD73mZ7TNkhUhOC9+tcpMDcDVe1Yu4c3PXFL9TdP2GcTFkhQJEJEaXlhFdGIYc9lzI5KzAKHkvKI+BClsS5i7B2+dWzVmjesiEkU97JAZxOLy7ADdPlS/cSZpwb7zYlJDT5Zxx04pCDo49eecn0786eiR0hQbAASNbIt0V4MIR9GW9fPGsjoREOMb58ftNvLl06/c7Ozs3vuAAcdqGQgoBb8C7BMRkVIw7plWC6hcytTBqeR51cKHSjeURi9dWXzPjPY0+MbbJs76xIPZAVUzrbHTQ2mH92Zuoy7WWkalghYPnVo+9ZfLb1oE2bN0RkyuxLzhNe21tWlyJ4WbRego8y2Ui+WPbtK6YERo1MPnPpxdPuXHQG1oa8EkCBtu7XQ7EPQiQD01/ZM1d4mQeCFOprgO9867hvnjJ/1FNw4yYcnq9mH1e2sFpgcgR7fv3sYvJANDU/JFkg1rCpY915n5z8ywuXjHw0ZgPp3T3G76ZJpA8trYCCKdtzMbAP/M11JmOVZAqjxtpY/rVpK44/zr2bqRWCUr10RSnJoSW9Rw4LDDZuwzWdE5C6FZ89r/bnF32l/gexKJujir0QEHsVnYnzO3oHo1nlzMjiPhBguEH5ICIBIYGPTceOyy+ZfXtnz87qv/6l4wtEYeyNlntce69D5ymDykOBuQPnnjH7xuVX6/8YMxJerE5DkzAShHKzkcXQWVn9r6R8OFoAhQCEjAVCjHCYceyc0Fv/58vjvn/o1OTPlN4JRT1whIYjNBSZPvgvblaOFsqUlCOTpuCzPUDDBmAjBeG04rSTum/72jVixdhmqUmY7C2WBBKMXjubKiS2ywdrwFzUp/R2BtMCLEmoqgJOOhEvXXTB5AfGj+GnmDrBwvGocjoFeTCN3HSRlbS4yrwHE6BYw03GMe/olruvuWLmiskT0BmyCFLkzldO/1tBR4yFfdgCJ6cAauuAMz5V88yHXQfVfvd7f62Od1lzWUTNgLIMwirspQoMePtrIYM6OAZRZvj8DA1S5OX1uSkcdWTXj65ZPnbFIdOx0w4b88OkjsleRKhvNbCfg5W17gRQX8f44vmxhzt2j6r9/k+2R7oTTUcCVdneER6cEUn77/whcLN0lHLaMHFi9ImvXXH4ijlHY3MoysEZK0T+2eH5mWrhUxP2tRgsX9WnA3FMiEQ1rrxy0o8Wnlz/OCc/3BCiEISugBLwxKNfJtXPIrYsC6Q0Ro7etfayyw68/bi50Q3REMw+Yf/wMDYCXYCyziimfk5N2G/ByowUE3npxsSQkhCOMv79+kNvXHSmeIz15nWRsCrLp9aXDzCLcmhAqThGNn7w3KXLDr3zU2dbT1dVi2wCsQ+DA/sMrEIFqaTQCNmElhHArTcfde1xcxpfSKVag1hXAPJAveN5dnlkNpcYyqu7rJlRE2l98dOLx//P+Z8b8WB9tTHgmdSQiOCIfSn+8hmNRpyYQR47JoTv3HTQtccf3X4PaA+EcLPKeOkBsUAjt9Lsz3P3eJ9L70egE5HQVixaVP/ri5aNuaepER4tpyETvhH79taZkWY/V8H8zrbMyUGHTEf8G8uPuPXQGS0PQnfDIrMxj0mAM73whU5tzTF/gqNpvYLCgAsLCuy24rSTx/7HNZdOu23cWLO7MzPlLshOwr47SX4IpxWZtABLAofPrtp6xcUtt0+avOcxx+mAgguCk10/PUcHpd1Ufr6fNp7x3M19VjcUv4e5J3Tf9/XlB9w6fqLlUl5zkrCvD38dsmD5xT8IjGiEcNLH8cIlF3/sztFjQs8Quj2fXeYKzfVmG4Hpx8EYdvZKhIZlM5SzG4fNqPrJjTcdff2MgxEPSWP3lW78fwTByqrSLBh1NcCiM6PPfOnCxnubanatEbDBSkOrnvzbXr2VJrSE0DKg6L6ZIMgBp9oweUL8N9f+28xbZx0c3SGMoARR4SyrfYnZfpFdSUSwBKOpVuCzn6558IwzG35r6d0ISY1oKJZzBFRuWnd2WoAQwtRKoiTqG7peWH7ZsSvmHoMNwvOYF3Rr7UtltT+BZcaKAAG0jAIu/+rU7y2YK1aGZBzKcbM2tJl05TTrSwcNTXe1C2KNSCiFZRfMuXfhqdE1VRHAJuV913NrBdj4oZ1hMThwSs8pCDiwWWPSBCt11WUzb586addPNO0OSjr451eZw5tVmlhAQ7LZmWjDgcQenL2w6vrPLMYv6hslZMaOgaDwiuejGEoZwkMQrDyDoxnClSDHZPGKMOPIY7D1iiuOuH30yPanCZ1gqeFoBUebDXwsTLjDjwBLbXpYpjB/TvMdX/1iy92TJ6CH/XCH7+8jacyCfS/19k8xyJ7fzh9UAYKUjFNOb3jl4ouP+L+2+OAvxN2wJWAJL73FywfQni4CKQjRjoMmxh9cdlHLD2ccVr3bkiasYYSeJzYxdGskDjkPRi+Fzl7CZOBJIGgNSEmI2IzPfzb86GcXj/45dAfC0jhcpUa6Ri37cTQXDfXWc8suHH/vgrlYF8opnlLpXI9/Kg9GIY6cSQ40GOzRb5N4w2hoAL560eS7PzG/9g7H+cCUcJACYAmtCCAXUjKId2Lxuc3/s+issc9UxXpPlkrnevxzG8W5OoMIJARICAgpAbgQQkOSxrSD7MTll0y5/eCp6ldKdRk9Bell+TKSqV044QTnrmXL6u8b2UQAKZMaBwbgYn9pYqiCRAV6mrWZevLspRTNOhybzv/itB+H6juQ4o7ApgI6MWZ01zPXXz/7pgnj4ZIw229Ym6IQQyj+uv+B1dfGamYOcs5BBO0lWAowqqLAaafVPbVo0aE3WhSHQAK2TIL0e+u+/rVjbj3k4NhO9oo0MitAmI3pVOBnGKzy3Bi9zq83xEOCmSAFY0yLcL+wuPrHh81UPxGhbiTVbvzrp0es+tRZWB2zJUI2md0c1H8u+hDbgLSfgdXHCiQy5qskjSNmY9MFF0x9YGTju08fNqP7Z5dfPOPu6ipAuf7rcrAlB0MUlELN2p/A6aXcMj7QXq3QSAg49eSm1U5ycmjcuHHbDpgYSzDMHjHz51b+6+W/7NAag49Sofz9vYnhIRgGa7gNgzUM1nAbBmu4DYM1DNZwGwZruA2DNQzWcBsGa7gNg/WRbP9/AJ3AWbrs/rOFAAAAAElFTkSuQmCC",rr="data:image/png;base64,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",or="data:image/png;base64,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",ir="data:image/png;base64,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",nr="data:image/png;base64,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";class bo{constructor(e){this.context=e,this.eventBus=e.eventBus,this.markers=[],this.markerMap=new Map,this.glMarkers=[],this.imageRegistry=new Map,this._isDraggingGl=!1,this._draggedFeatureId=null,this._dragOffset={lng:0,lat:0},this._styleDataAdded=!1,this._initMarkerLayer()}_initMarkerLayer(){const e=this.mapManager.getMap();if(!e){this.eventBus.on("mapLoaded",()=>this._initMarkerLayer());return}if(this._styleDataAdded||(e.on("styledata",()=>this._initMarkerLayer()),this._styleDataAdded=!0),e.getSource("pm-markers-source"))return;this.imageRegistry.forEach((o,i)=>{typeof o=="object"&&this._registerMarkerImage(o.color,o.icon,i,null,o.type)});try{e.addSource("pm-markers-source",{type:"geojson",data:{type:"FeatureCollection",features:this.glMarkers}}),e.addLayer({id:"pm-markers-layer",type:"symbol",source:"pm-markers-source",layout:{"icon-image":["get","icon-image"],"icon-size":1,"icon-anchor":"bottom","icon-allow-overlap":!0,"icon-ignore-placement":!0,"icon-offset":[0,0]}})}catch(o){this.eventBus.emit("error",new w(`Failed to initialize marker layers: ${o.message}`,v.UNKNOWN,"marker",{originalError:o}))}e.on("mouseenter","pm-markers-layer",()=>{this._isDraggingGl||(e.getCanvas().style.cursor="pointer")}),e.on("mouseleave","pm-markers-layer",()=>{this._isDraggingGl||(e.getCanvas().style.cursor="")}),e.on("mousedown","pm-markers-layer",o=>{const i=o.features[0];JSON.parse(i.properties.options).draggable&&!this.context.options.previewOnly&&(o.preventDefault(),this._isDraggingGl=!0,this._draggedFeatureId=i.properties.id,this._dragOffset={lng:i.geometry.coordinates[0]-o.lngLat.lng,lat:i.geometry.coordinates[1]-o.lngLat.lat},e.getCanvas().style.cursor="grabbing",e.dragPan.disable())}),e.on("mousemove",o=>{if(!this._isDraggingGl||!this._draggedFeatureId)return;const i=this.glMarkers.find(n=>n.properties.id===this._draggedFeatureId);if(i){i.geometry.coordinates=[o.lngLat.lng+this._dragOffset.lng,o.lngLat.lat+this._dragOffset.lat],this._updateSource();const n=JSON.parse(i.properties.options),s=this.markerMap.get(this._draggedFeatureId);s&&(s.position=i.geometry.coordinates,s._emit("drag",{target:s,lngLat:{lng:i.geometry.coordinates[0],lat:i.geometry.coordinates[1]}})),this.eventBus.emit("markerDrag",{marker:s||null,lngLat:{lng:i.geometry.coordinates[0],lat:i.geometry.coordinates[1]},options:n})}});const t=o=>{if(!this._isDraggingGl)return;const i=this.glMarkers.find(n=>n.properties.id===this._draggedFeatureId);if(i){const n=JSON.parse(i.properties.options);n.position=i.geometry.coordinates,i.properties.options=JSON.stringify(n);const s=this.markerMap.get(this._draggedFeatureId);s&&(s.position=i.geometry.coordinates,s._emit("dragend",{target:s,lngLat:o.lngLat})),this.eventBus.emit("markerDragEnd",{marker:s||null,lngLat:o.lngLat,options:n})}this._isDraggingGl=!1,this._draggedFeatureId=null,e.getCanvas().style.cursor="",e.dragPan.enable()};e.on("mouseup",t),e.on("click","pm-markers-layer",o=>{if(this._isDraggingGl)return;const i=o.features[0],n=JSON.parse(i.properties.options);this.eventBus.emit("markerClick",{marker:null,originalEvent:o,options:n}),n.popupContent&&this._showGlPopup(i.geometry.coordinates,n)})}_showGlPopup(e,t){const o=this.mapManager.getMap(),i=t.color?[0,-36]:25,n=t.popupOptions||{offset:t.popupOffset!==void 0?t.popupOffset:i,closeButton:!0,closeOnClick:!0,className:"pm-popup powermap-custom-popup"},s=typeof t.popupContent=="string"?t.popupContent:this._formatPopupHTML(t.popupContent);new D.Popup(n).setLngLat(e).setHTML(s).addTo(o)}get mapManager(){return this.context.sdk.mapManager}addMarker(e){const t=this.mapManager.getMap();if(!t){const s="Cannot add marker: Map is not initialized.",a=new w(s,v.MAP_NOT_INITIALIZED,"marker");throw this.eventBus.emit("error",a),a}if(!e||!e.position)throw new w('Marker "position" ([lng, lat]) is required.',v.INVALID_PARAMETERS,"marker");if(!Array.isArray(e.position)||e.position.length!==2)throw new w('Marker "position" must be an array of [longitude, latitude].',v.INVALID_PARAMETERS,"marker");let o;if(e.element)o=e.element;else{if(e.color)return this._addGlMarker(e);{o=document.createElement("div"),o.className=`pm-marker powermap-marker power-marker-${e.type||"default"}`,o.style.width=e.width||"30px",o.style.height=e.height||"38px";let s;if(e.iconUrl)s=e.iconUrl;else{let a="Marker_1.png";e.type==="start"&&(a="truck_start.png"),e.type==="destination"&&(a="truck_stop.png"),e.type==="waypoint"&&(a="stop.png"),s=new URL(Object.assign({"../assets/route_icons/Marker_1.png":Rt,"../assets/route_icons/Marker_10.png":Gt,"../assets/route_icons/Marker_11.png":Qt,"../assets/route_icons/Marker_12.png":Ut,"../assets/route_icons/Marker_13.png":Yt,"../assets/route_icons/Marker_14.png":zt,"../assets/route_icons/Marker_15.png":Ht,"../assets/route_icons/Marker_16.png":jt,"../assets/route_icons/Marker_17.png":Kt,"../assets/route_icons/Marker_18.png":Vt,"../assets/route_icons/Marker_19.png":qt,"../assets/route_icons/Marker_2.png":Wt,"../assets/route_icons/Marker_20.png":Jt,"../assets/route_icons/Marker_3.png":Xt,"../assets/route_icons/Marker_4.png":Zt,"../assets/route_icons/Marker_5.png":_t,"../assets/route_icons/Marker_6.png":$t,"../assets/route_icons/Marker_7.png":er,"../assets/route_icons/Marker_8.png":tr,"../assets/route_icons/Marker_9.png":rr,"../assets/route_icons/stop.png":or,"../assets/route_icons/truck_start.png":ir,"../assets/route_icons/truck_stop.png":nr})[`../assets/route_icons/${a}`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ee&&Ee.tagName.toUpperCase()==="SCRIPT"&&Ee.src||new URL("powermap-web-sdk.umd.cjs",document.baseURI).href).href}o.style.backgroundImage=`url(${s})`,o.style.backgroundSize="contain",o.style.backgroundRepeat="no-repeat",o.style.backgroundPosition="center"}}const i={element:o,anchor:e.anchor||(e.color,"bottom"),draggable:this.context.options.previewOnly?!1:e.draggable||!1,offset:e.offset||[0,0],rotation:e.rotation||0,pitchAlignment:e.pitchAlignment||"auto",rotationAlignment:e.rotationAlignment||"auto"};console.log("[MarkerManager] Creating marker:",{id:e.id,anchor:i.anchor,position:e.position});const n=new D.Marker(i).setLngLat(e.position).addTo(t);if(e.id&&this.markerMap.set(e.id,n),e.popupContent){const s=e.color?[0,-36]:25,a=e.popupOptions||{offset:e.popupOffset!==void 0?e.popupOffset:s,closeButton:!0,closeOnClick:!0,className:"pm-popup powermap-custom-popup"},l=typeof e.popupContent=="string"?e.popupContent:this._formatPopupHTML(e.popupContent),c=new D.Popup(a).setHTML(l);n.setPopup(c)}return o.addEventListener("click",s=>{this.eventBus.emit("markerClick",{marker:n,originalEvent:s,options:e})}),e.draggable&&(n.on("drag",()=>{const s=n.getLngLat();e.position=[s.lng,s.lat],this.eventBus.emit("markerDrag",{marker:n,lngLat:s,options:e})}),n.on("dragend",()=>{const s=n.getLngLat();e.position=[s.lng,s.lat],this.eventBus.emit("markerDragEnd",{marker:n,lngLat:s,options:e})})),this.markers.push(n),this.eventBus.emit("markerAdded",{marker:n,options:e}),n}_addGlMarker(e){this.mapManager.getMap();const t=this._registerMarkerImage(e.color,e.icon,null,null,e.type),o=e.id||`gl-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,i={type:"Feature",geometry:{type:"Point",coordinates:e.position},properties:{id:o,"icon-image":t,options:JSON.stringify(e)}};this.glMarkers.push(i),this._updateSource();const n=new ot(o,e.position,this);return e.id&&this.markerMap.set(e.id,n),this.eventBus.emit("markerAdded",{marker:n,options:e}),n}_updateSource(){const t=this.mapManager.getMap().getSource("pm-markers-source");t&&t.setData({type:"FeatureCollection",features:this.glMarkers})}_registerMarkerImage(e,t,o=null,i=null,n=null){const s=this.mapManager.getMap();let a=o;if(!a)if(n)a=`pm-type-${n}`;else{const l=(e||"#f26522").replace("#",""),c=(t||"none").replace(/[^a-z0-9]/gi,"_");a=`pm-marker-${l}-${c}`}if(s.hasImage(a))return a;if(n){let l="Marker_1.png";n==="start"&&(l="truck_start.png"),n==="destination"&&(l="truck_stop.png"),n==="waypoint"&&(l="stop.png");const c=new URL(Object.assign({"../assets/route_icons/Marker_1.png":Rt,"../assets/route_icons/Marker_10.png":Gt,"../assets/route_icons/Marker_11.png":Qt,"../assets/route_icons/Marker_12.png":Ut,"../assets/route_icons/Marker_13.png":Yt,"../assets/route_icons/Marker_14.png":zt,"../assets/route_icons/Marker_15.png":Ht,"../assets/route_icons/Marker_16.png":jt,"../assets/route_icons/Marker_17.png":Kt,"../assets/route_icons/Marker_18.png":Vt,"../assets/route_icons/Marker_19.png":qt,"../assets/route_icons/Marker_2.png":Wt,"../assets/route_icons/Marker_20.png":Jt,"../assets/route_icons/Marker_3.png":Xt,"../assets/route_icons/Marker_4.png":Zt,"../assets/route_icons/Marker_5.png":_t,"../assets/route_icons/Marker_6.png":$t,"../assets/route_icons/Marker_7.png":er,"../assets/route_icons/Marker_8.png":tr,"../assets/route_icons/Marker_9.png":rr,"../assets/route_icons/stop.png":or,"../assets/route_icons/truck_start.png":ir,"../assets/route_icons/truck_stop.png":nr})[`../assets/route_icons/${l}`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ee&&Ee.tagName.toUpperCase()==="SCRIPT"&&Ee.src||new URL("powermap-web-sdk.umd.cjs",document.baseURI).href).href;s.loadImage(c,(u,d)=>{u||s.hasImage(a)||s.addImage(a,d)})}else{const h=document.createElement("canvas");h.width=52,h.height=72;const g=h.getContext("2d");g.clearRect(0,0,52,72),g.beginPath(),g.moveTo(26,72),g.bezierCurveTo(26,72,52,48,52,26),g.arc(26,26,26,0,Math.PI,!0),g.bezierCurveTo(0,48,26,72,26,72),g.closePath(),g.fillStyle=e||"#f26522",g.fill(),g.strokeStyle="#ffffff",g.lineWidth=3,g.stroke(),g.beginPath(),g.arc(26,26,14,0,Math.PI*2),g.fillStyle="#ffffff",g.fill();const f=g.getImageData(0,0,52,72);s.hasImage(a)||s.addImage(a,f,{pixelRatio:2})}return this.imageRegistry.set(a,{color:e,icon:t,type:n}),a}_createSvgString(e,t){const o=e||"#f26522";let i=`
|
|
4
|
+
`,document.head.appendChild(a)}if(!document.getElementById("pm-font-awesome")){const a=document.createElement("link");a.id="pm-font-awesome",a.rel="stylesheet",a.href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css",document.head.appendChild(a)}try{this.map=new D.Map({container:e.container,style:r,center:e.center||[100.5018,13.7563],zoom:e.zoom||14,attributionControl:!1,interactive:!e.previewOnly,transformRequest:(a,l)=>this.authManager.transformRequest(a,l)})}catch(a){throw new v(`Failed to initialize Visual Engine: ${a.message}`,C.UNKNOWN,"map",{originalError:a})}const n='<a href="https://www.powermap.in.th/en/PowerM/map" target="_blank" class="pm-attrib-link">© PowerMAP </a>',s='<a href="https://maplibre.org/" target="_blank" class="ml-attrib-link">© MapLibre</a>';this.map.addControl(new D.AttributionControl({compact:!1,customAttribution:`${n} ${s}`})),this.map.on("load",()=>{this.eventBus.emit("mapLoaded",{map:this.map})}),this.map.on("click",async a=>{if(this.context.origin){const l=ge(a.lngLat.lng,a.lngLat.lat,this.context.origin);a.x=l.x,a.y=l.y}this.eventBus.emit("mapClick",a);try{const c=["poi_level_1","poi_pa","poi_pa_label"].filter(d=>this.map.getLayer(d));if(c.length===0)return;const u=this.map.queryRenderedFeatures(a.point,{layers:c});u.length>0&&this.eventBus.emit("poiClick",{feature:u[0],lngLat:a.lngLat,point:a.point,originalEvent:a})}catch{}}),this.map.on("contextmenu",async a=>{if(this.context.origin){const l=ge(a.lngLat.lng,a.lngLat.lat,this.context.origin);a.x=l.x,a.y=l.y}this.eventBus.emit("mapLongClick",a)}),this.map.on("error",a=>{const l=a.error?a.error.message:a.message||"Map rendering error",c=new v(l,C.API_REQUEST_FAILED,"map",{originalEvent:a});this.eventBus.emit("error",c)})}setStyle(e){if(!this.map)return;const t=this.styles[e]||e,i=`${this.context.options.mapBaseUrl||"https://maps.powermap.live"}/api/v2/map/vtile/styles?name=${t}`;this.map.setStyle(i),this.eventBus.emit("styleChanged",e)}setNavigationControl(e=!0){if(!this.map||this.context.options.previewOnly||(this.navControl&&(this.map.removeControl(this.navControl),this.navControl=null),e===!1))return;const t=typeof e=="object"?e:{},r=t.position||"top-right";this.navControl=new D.NavigationControl({showCompass:t.showCompass!==void 0?t.showCompass:!0,showZoom:t.showZoom!==void 0?t.showZoom:!0,visualizePitch:t.visualizePitch!==void 0?t.visualizePitch:!0}),this.map.addControl(this.navControl,r);const i=this.navControl._container;i&&(i.classList.add("pm-ctrl-group"),i.querySelectorAll("button").forEach(s=>{s.classList.add("pm-ctrl-button"),s.classList.contains("maplibregl-ctrl-zoom-in")&&s.classList.add("pm-ctrl-zoom-in"),s.classList.contains("maplibregl-ctrl-zoom-out")&&s.classList.add("pm-ctrl-zoom-out"),s.classList.contains("maplibregl-ctrl-compass")&&s.classList.add("pm-ctrl-compass")}))}setFullscreenControl(e=!0){if(!this.map||this.context.options.previewOnly||(this.fullscreenControl&&(this.map.removeControl(this.fullscreenControl),this.fullscreenControl=null),e===!1))return;const t=typeof e=="object"?e:{},r=t.position||"top-right";this.fullscreenControl=new D.FullscreenControl(t),this.map.addControl(this.fullscreenControl,r);const i=this.fullscreenControl._container;i&&(i.classList.add("pm-ctrl-group"),i.querySelectorAll("button").forEach(s=>{s.classList.add("pm-ctrl-button"),s.classList.contains("maplibregl-ctrl-fullscreen")&&s.classList.add("pm-ctrl-fullscreen"),s.classList.contains("maplibregl-ctrl-shrink")&&s.classList.add("pm-ctrl-shrink")}))}flyTo(e){this.map&&this.map.flyTo(e)}easeTo(e){this.map&&this.map.easeTo(e)}fitBounds(e,t){this.map&&this.map.fitBounds(e,t)}jumpTo(e){this.map&&this.map.jumpTo(e)}setPitch(e,t=!0){this.map&&(t?this.map.easeTo({pitch:e}):this.map.setPitch(e))}setBearing(e,t=!0){this.map&&(t?this.map.easeTo({bearing:e}):this.map.setBearing(e))}getCenter(){return this.map?this.map.getCenter():(console.warn("Map is not initialized. Call onMapLoaded() to wait for map readiness."),null)}getZoom(){return this.map?this.map.getZoom():(console.warn("Map is not initialized. Call onMapLoaded() to wait for map readiness."),null)}getPitch(){return this.map?this.map.getPitch():0}getBearing(){return this.map?this.map.getBearing():0}zoomIn(){this.map&&this.map.easeTo({zoom:this.map.getZoom()+1})}zoomOut(){this.map&&this.map.easeTo({zoom:this.map.getZoom()-1})}rotateLeft(){this.map&&this.map.easeTo({bearing:this.map.getBearing()-45})}rotateRight(){this.map&&this.map.easeTo({bearing:this.map.getBearing()+45})}getMap(){return this.map}}const Rt="data:image/png;base64,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",Gt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAACFCAYAAABc8Qb+AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAACItSURBVHja7H15mFTVmffvPefe2nrvhm6WhmYHERFEwQVRE8cdNMRgliEuwUTz4S6ZmKiTUaN5Bj8Tlfg50WgyZhsmLpEETT6CBhlj1IQEEXcEQgSRhqaX6q6695x3/jj33lq6qrt6KWikTz/nQbu67nJ+592XQ8yMwXFoDDG4BINgDY5BsAbBGhyDYA2OQbAGwRocg2ANjn4d1oG7lc7aHy4YxiAnENh7FPL+TmtACAEwoJUCSfM9YgBEcIihFIEZcJKAozW0K5DoADratQUICM2IhuFaNiDCBGmZ20sLsEIMAQJ5T0NgSO/6RATfWUBk/iLbdUAHASw6eB4MNwM8hgDDLKA/mBmkCGCACWhtddDUJtG0X5R/8BFG/P3vifqt2/eN2fJO4/j9LfHy/U0dlfHmjlgyQSFmOgfAamYlIpFIR3ml3VxShtbhI6p3Noyr2j5qVM32UfVyx7Ba7Kqp5lY77KI0YoMUIKW3OGQmgwNY6SBS1gEFy9yKvd2qM0BhEgYcDzwFQGuN5iaNPTut0jd3YNLrmxJTN/618ej33u0Y98FHzQubm4CODg3LikAIASFEQAlIo1BmBklt7sPm31BYoLQsitH1VSuPmBh7c+YsuWHWTPvVuqHYXVeHZDRmKA0wfy9AHsVRBsV97MEKbk4EZmXAIQCQ0JrhJAk7/oHIO2/rCa/8ac/sl1/dd9wb2/dcse8jQtIRsEQFIEMgRKCVQCgUArSG1mZhiShtK6TfiwN2qrUL13WhVBskNaO0pB31I8OYOnnYncfNrn1l6vTo5onj6N3aGuhoCBBkrqi0gBCHERv0FzSdHWoQ4kmF9962K196yT3++XVtp7zySvvXG/dqtDsEyw6bBZcutE56wgsQjECWmWsSwBaYsmWlf7fUMksOLgPAULbWhh2OHh/FMbPpm584sWTtCbPppVHDzXM6JCHJMEX58QVLZyxKsNNBcBKMt7ZR6Zq1+0///2u3/tNbb7hf3fNREq4aAjtaCdcF2Pt7hsoAWWRTDosuWRRrmaU4JALRSUQgElBKgbkZ4VAzhtbGfjdnZvjlc88a/ZtTT4q+VFUFEDGsEB1wheOggKW1BhFBuYSWZuD5Z5rmPvR4+xde25y4oiVuQynAZQUpQtAsvb/nDG0xoAfOXCzhgUVEwX3S706a/P9IgU4KWnrsU0nv+/D+34HFhOqqlrUnnyjXX37x2B8ec2x4ezjGabrkgQGtH8DS3ZpyRoHQIBAUCK5D0Ay891ai/Hv3b7/2939o/eS+ZjnP1WUginpqs84Q6CxUAEaXL9Td03ivq7PYJPv8kA3lCZli2VIDwuqA4+zE8GGRNZ9e0PD4ZUsqH2kYbielABgawvIUD/aeG9rTbu0uRMBBo6xM0AJ2xZa3GOZBk4oQ14SnVrqn3333Czds/0flWUIOgcMy4yVEJ3vnwMrW7AV1WcO2bQhKgJN7cOxx+x+5+V9O/fbJx2OLZoawfbBcEBFEoEhZ3cjsgwkWC8CjJHMDGYCVUAq7dkmsePD9pQ8+/M6VUoyeKqxyuC4b6tMy73VFHuO035m199wSMmOzBACSBikHmhsxamTLszdeN2v5BeeVrq2oMgoHs8oCQmRt4t6zy35kgyKTrcAYk0ILQBHiSWDTG27t3d/dtOyZ37aeJaMTpjmOY3ahENAeIabkTOZLklCpzdAvoGSyxUCGedfPtfOFENBknlFIBVb7URZpfumyi6c8uuSSkofrR4S0FD4L9daBKcuu7P3z9x2sTlvF9X7NINhgAM1NGs+/KGbc+/2/XPPnV0svkaFyJF3DLjSplGzToluZ1L2M7KlbVBfEBrOHEgogFxYUQtSOz3y68qavfKn+wRlTuAmCwN4uUEpBShnch6j3Cr/81re+1TeMSHvGikdLLL2FMIpFSyvhuXWJGcsf3LRs49/kYiGHwHFcWNKwS8EE0gCTACC7YA+6n5kgZ1xPk2HV/vtQDgrIkDWCABbQkNBs4fXXd57e2Oi4DePCrw2vs+MkKNBKzdO73oYm48XpBSPsNVgp7cszRL1JzMHvykfsxFHTymZ/b8Ub176yqeoLikohNQLVmD2wjD9QgJjTSFSnLShnaHvFUI99I5rYe48clJVizxTINmKCYAmNGN58s33etm27YpMmDn9lxHDEMyjUNz0CtnhAFQwdOGDTfElGILNAcwfwwksd07991+Zvvr7JWqSoFkQECd8YznTk6nwakrcorPsbIpFht3EP2aAPlvB9m6xBKgkSu3HKiSUP3HnnhJumTS5pNpvSDYQjsY3euhVF70DSgTLA3o//exICioENr2Pcncv/56ZNb0QWMVVDcJY8Ysu4hSCMrz3fG7DoN6Ui13twXuYqulye4H28qSGhZBSaRmD9H62v3n7n67e8/T4iGtrTOCwAFvri/xW9+4qZRNIzoFKe6KQL7Nipxbf/7c/ffG1D7LOsQ5mLw6prJYF05jxoQ/dImRHsS1wBaZVj7R/0jQ//YNeSfXsUWJHhDL6B30tu1ustywadlHZEAkkIJBRw53de+Mb6P8QvC4dGgBDxQHDASKaUj9Szd+v0PVSyhtmTuckEQ6kq/PKpnZ95/FdNZ7lupqztrQej12yQvOmHN1wQHDAe/TEu+NnPE58rrR6FhCsAIYwTlowBkvdBsyiJmYogp4rn7fCngIQCAVSCfW1l8x776ZuL172AScY5nNp8vdmEfZBZ2nNVsye/gJf/Eh/34A9e/Ypd2jA17kq42vPtcQjgEFjb+R8w4P+eMsEDgUp6Ihb8PcewSEArCe3GsGlT6PM//en7X3h7a7y0rwyiz5Jbw0R1d+2A+PF/vHvxrp2hsxKODQXACkc8I5BAZKGQCBAzDTC2VrhsM9QlQWQiBYCCljX4/fPq1rVrWz+xv7mz8cE9sB5Fz19ABtO3fJwk8NtncdYf1upbHVEGQWFIEiCP7EEKzC6INFiQcfWQC5CbYqcDVDYVyq5SEGgIAQjWEEyQFENLaxi/+OVbF214HRPaXQ0NHbx/SpsuCmWZx2KPU2kNbHk3XvnU6g/Pb2yJgdxSCA5BQEIrx3to7T2YA82eok/sGcEq+N3AVx66FFxgLzrArIJ8EAWGtgQ2v1n1+ad+hwuamgWUy2B2wewG0r8oYJFnjBOb/25pAp59pums1zd++GXWVqCeZ7+cgIaxRlxvGsVD86GTutglYJ6CpAneZChoSG3BYhvsxPDb37x15ubNiQnJpAQ4bOaBklkKwNvvYsRzv//otOYWCSFCRlOkNG9GlpZH7FGUZkAfejmmKcBEt8tnEncUXO2ARAzbtiRPf/Lx1xYmHOP5ISEgOM3zXwywtDbOtLY2F+v/iLl/e8P5MuwSo6LDDfg8EUGxmawJWpmYlhYCGoSBz/y6AizTaNYe70iBKAFIaNLQpOFqDSsUw6pn3p3/2maM6XC1UeWh07N2uhw9z8j1ZJWjgZ27dOSF9TtObosLSCnh+myNOrMNBQUQoLUy2bZsd3mbyxbHUFmRuZc2bHTw3LpEjx63skJg4YIIxjRYmDnd3PO0ebnZT9N+jQ1/cwAAz61L4Ll1CWzY6HSjUuhObqhMH6IK8kEEhbBzV93cJx7fv/DEEyrucZUDyxKePti9ptwrR67rAAkXWL2mefYN17/zp30tUbBVBtaik+qdCiuYlwpJhuuKvF7nyxbHcN3SMoxt6Pzwt97RjHtWtBYM0m03l2Phgkgn0Hsy3t+m8N0VLXjksXgO05A6sTDKCjIK9vyoxF5e414MqW5Zt/6FWaeMHBJL82oUQ3X3vtXYDKx/Yd/cvXsApUM5hG+2b01AShuOq3MCddq8MF77Ux3uW16ZE6iejE/Nj2LTy7U5qbOnY2yDxH3LK7FqZU2na5HuWehGCIFIuBwf7uZhv16965xkwiwRFVNmCQHs2YPqP768/YSkqISQYUgtQEqlCUzf2RskiYE1QFnZPqfNC2PVyhqsWlnTZ5B8ynzsoao+g5RrM63675q8100Zt5mKhyYBTYaTMAOKLdh2xaTVq985e187wDqILhUHrGRSYdMbmPb2u+pCy7JBZNRwCNGlZgTWGTvWBymfDOnNgt63vLJoisXM6XYnwHoiRogISjGkiOK113ZPf+8d1LPgglHosYLBDCRciZdf2Tq7vZ0RjYXgum5gd3EXGhQxY2yDxHVLy3DZ4li/LmRlhcBjD1V1+3cbNjpoasof+ph5tN0lVc6cbuOyxbG8sjN/mpmXfAqCLWw07h4xb8OfcczsY7GjUIrpMVgKQLydseHPO2dKWQZXG7XVT9zX+TUZAMB9yyv7jZK60x7Txz0rWvHoY214f5sqiEJvu7k80B6zx203l+PJVe2pazEHGkK+qAKTF+hkBsOGixL86ZU9c/750iFPl4cAWQwFAxrYti0+7J2trZMEhQGluzTqfBlGBdpU729TBS1oNlVdf1Vp3s+vXtaEW+9oLvi6z61LYP5nGrtQ24FLF5dkKl1Zsit7+lEFgg3XBaQsw5at8XG7G51IoSHOHoOlNfD2u8lJzW3WsdKOQulkllHYexX56mVNOGrOh9i6ze3Rd7tSz+9Z0ZpT7e5uNO3X+OLle9G0X+fVOHvjntJaQwuCtCP48MPWz+7Y2lHPukhgKQW8+VZ8iuuUQikbguyclFRoWDwdpN4sKgDMmB7Kz/7ub+3TBsr3TGMbZAabzAVMLpaowIAUAEnEO5LYubN9mC6WNphk4K23/j6ZVRSWFc4BUmGes/4AKV0pyDWeXNWelzIKHV15TMY0WJ0oqTvtUIIApUEskEhIvPPO3kmJAhmJ1RvK+sfOxnqSQ6GYusBf+5pFRrLF+9sUnlzW1GeAsjW0nJrf35w+X7srsDrbhZTXDZWiNPaK9jRIONi7D9WFUlaPwWppA3Z/tLfWkrZXUW+lOTbRLeu7elkTPt5D5AXL5EtaxtwUJuWhaV9rRaIdQKwIbDC+HzGVlEKIbr6allNx+Aw29Vk5NAY/zsVSQwsFZgdCO4g3O7F4S2E49Bis1haUxlvVPN/4IxYgFnl5NYFwWMElXLBwoQSgRAqk4HNtcuT9XI3WuLq+PY6CPAQ9ZoOtbSh1XAHpeZy1F/qgwMWvOzt+Bwc612kJE+dzAJUsDIcegxWPIwa2TTyKGfCKxwZBydyenT3pOtAHfVVEMJBwGK4qEljhMJJCCCjyE/s9G90nda8sVZNXTc+HV3uo7rJtKc0tZSIQonhe92gYcdsSSOWt5xakheQofCzpKu/Kp9aDiExGFxHCtoQtC0uq7zlYUXQImbJfsnPWe5IA8vGkrPxR8HRAhTBKmRXTD4bLES8OWCWIS7v9RaADglSQlqaJobMY9eHYhtxk4ub8xMy0bC8iC5Gw6IhG0VEUsIbWIj50SGy31m5G3oBgMiWnlDKQD0YzqoEms/x8yXSOw8wQRGCVREVVqDlWWiSZZYeAobUVe7TbYWx1X2B6FGYSZkSWC+YwkVdpnCUAp1MxoKEwDQWSFobUhD8Kh4oEFgmgbljtrqRyAGmSRgSbsh9FnQUqH0bE1ROmL0AIWzZq6sr3kFUksKQAJkwY8R6wH1CuV6BgddL+gqDjYSS2vDJ2QHMnz0W6HDfJry6sqMK4+vIthRZ49tjOsgmYMjn8ZjSsoHQCmqwsPp11Z9JFqgkeiGAxhF9d47czyqI30l4BvK0QjSbWNNRHt9vFoiwhgCMmRDYPG1aylrUDiyyvYj+twC7tsuqw4YPGblJCQ4kcpEIaJBggF5qTYNWO4cMrPhg1JrxLULHAIqCuTjaPG1WxxVUdcNF1cqc8TBQMpsw2ssL0VEhpiCzA2rQ+siyC67Zi8vihb1VXWQCrIoEFIGZLHH/c6D8SEugqVHKg7Kx80eDKyr6z30ITTwUDQmsIxbCYAsXLBy0ISzLAWiOMDsyaUfoXw61EccBiaJSUChw9I7axqsyFoxPQBJCWEGxlCNZMWVY84PJFhAtJauludJU2l8p+SkWIs00X0pThH2U2JVE1NTvXHjsDr0pd+KbuuepOJg14wni8O3a8/JlyOrzegKZnk2CR6paJA2Nu5Qu9j22Qfc5R7Apwf5NoIiiyoMiCphAU7MCMIS1A2iTIQBg3k9vRhuNPHv3SmMnYIyRy9onqN7AAoHoomo6b3fCKhXYIcgG4IFLQpIOOYJ1lGR9QsACTVNrbvPfLFsfygp2ejGOBQaTMGsgkIBIgmHVQ0oW2lJFLmkBIwKY2nP7Jib8vjRgdoGgKBmBOHKipAE44oezFugoBoeIgckCeW4UyMkC8AgUmFCvqtWGjkzchc2yD7LKgoCuKuu3m8m43CAmvpawX+QU5pkGLcKChQVqBtAoULzfRhnH1lb8+ZV7F87b07dDCDK1eHG+h4bou7HAIk6dE3p42rXrFcy/uWkrSr+CnnHZXoMEXSXTdc39r3lz3mdNtbHq5Fo88Fu+2GG9sg8Sn5ke7ZJ9BPmHaaxIrL6AYyZBBLHTmK+smnHnOrGdqh9ma/OIALQoim16dRSKlhAugfnio6bgThr/y4qs7TFcVpqCRd2eFXvSelAsYT65qx5OrInllTGWFwPVLS3H90tI+38vP0CLIjMoYz9oygUVPbmvyvRamMXJ17Qfrzjnv5NURaTTEnmzeXq0dEcEijbIywpzj6eVJkyO/ULwfJNw8t0gVOusCezb1Zlx14/4u89P7Y9x6RzOeW5fodERHJ0ctudDkQrCARRZClkSH24RPnDL295MmYqvjcI8b5vapK5oFxrSpePOkkyr+J2y7UNrJ0TEl00gWaT2fimFvdVdQ0CdWu6LVlPoQOndvS4tTpZf9MBFcrdGebEFZReLVT50/5amaasC2yXcmFrNpSToMhOpa4PQzqtcMG22vdtEGUB5r3H8Zv5qiSLEuH7BCa48LGe9vU1h8+T7cekezyeQi0xoi20lt0qe9lkCe3SkkYNkCSbcJJ8wb8+KMWbGNTH6Knms6xZFTfLAEGBYBx8woffO0uSOfs62E6ahCXnE0ESQUJFTOb/eluW93gN16RzOOmvMh7lnR2uMSonQt8+plTTj5jI/w5Kp2TwRw4HfLZud+p1JSMqiqYU3QCYXhdS3rL5xf/XhNBRC2DYfhIHu3sI3bp7ar/lFKWhGeXYtpt/zrC7e/tWXEBcQRCOHpLuztGo/imO3M6sAD5JWfOd1GZaXImxffyRT4m9PJjVUINyAy7+e3ZbWFDR1P4KKL9t7yr9848o6R9f6ZXL648k8m6n7j9kobNBcXgdpHBMw5DpvOPXvYb7b/R/MFQkTQ4WT1Mc9uZp/SbQ+I/9CXYz3to9EdUOnOGsmA0E6G3HKTuzFuVPTX888Z/fSQWsDUjqa7pETBKmGvV0qDwcReLxVGrBJY+PmGJ446ovo/k4lGWEiYPAOvBy7DBsMeAO1U+3f4Wq7wlDsWGiz8cIhGVamLs8+ufWbmnPBG205X0Hqn2vVup3k/mo2iEWJg0rjQ3ksuaXg0Ina+TK5rGm4JrzOY1xbHDxV0deVDeTARiBUkO5BuG46c2vKD8+dHn66ssT2503vHQO95ECvTfM07F1ECsME445/w/MKFdU+2tzfCEpQmnzKTHLsG69COLGtBIHIwpEytXXjOpF9Nn4EdtiSjCPehMX3vKStrwUkDIU2orQauv+7Ie8ZPlqtb2vcAJA0bJJ0RoDuEGF3WTG0pyiPPLbYQQhNOOU3+Yf75ZaujEePsTZ13eQDByqYUn7yJTdh/9Bg7efM3jr09Zr23keCCYPpkQPeA/geMbNMZM71jZ7qxnwouMoToQPWwrc8u+cqkh4eMCEEIwAJBMroFuyiUxXBgwiJeCwgLYMnegwHnnomXrvry5Pt1x25IJECchCQjdBmq+x1WtOb7/SWbzAyCrSQhWCBCSYSSf3/1a9ecuvyYGfiAiIOjPHzKO6CUFTgxc37dHFcUiwJLLp3wo7knxh5mp8kc65B23FFPmiwOLJT8ik5z4oPwpiUJltRIxHdg0Wcn/3zRZ4euFaRBrEwNWydPR+owgkJZY59XKV258Y/9I5IQEph20h536eUTvz95XOsTWvkvmE0xIs8c2BSVitNpWFoDbhJORyNmHd/xo2tuqPueDANSmqpQAYnsLtUHVhvM4r0+aEqbyWA0fVCHuSfjr5d84ejHhgzZD2B/qll9cAC0zjMH9vDfwzeEWTViwnjniZtvnnf7yHpoCQWQSqvHkn1ebtG3r3bWjoQgr2DBtMyuqgQWzI8+/alzh98QjnQELd2UMqyBhOtFV1V+J/BAAsmLGmidhFIJQCiw0qiqwPPXXjvz3mOPC28REpBB+rjJa2f453PRwQAr3wUVhMejCRJCACPqbb344or/PGWec48l98AWjnkRzjx7a0AZxHm1Uf80I4a0CExtiFTswmWX1/7wjDOxLmZR3vo0StWJ9ord9ztY6Q/jx2nsEDDtCOxZsmTSDydMtJ5gaoW0vFN/tATBHjjlQQWbDAqMDghrP847b/I3F11Us7KizOv0k+bhESCTKwjVZ/be72AFh6h4Pz54YRs4dU5083Vfmfzdyug/1jHaDdtjBUEcCOKgZ7zXssGfB1rbY8oMkZoQvN/nIgnmdriqEXNnY8WXvljxSEO9TFohQJEJEaX4hNdGIUt77s3mLMIqeFpSDgYXsiQWLsD6ZTfMWK552+aQTHonB3AqvTiPbphqX3qAMOPseLcy8of8Mw5accSU6FPXLZ363ZnTsSskCBYAyRq5SoT7g9n34e17rrWR0AiHGF++uObXV1029f7W1q3vugAcdqGQhICb9y7BMRlFUxxSlGCmhfRSJg3Po04uFNpROyS+9oal0/7vCafGtli2d1akLoRieq/t9ps2mHt3pssy7WWkalghYNkNwx9cdIG10qatmyMyaeqSc4TXDpTVlSoG9BJ8lMlGCio6yZ9xDBuaWHPVlZPvX3Au1oe8FkCBtO7WQ3EQQiSFya/MnSu8zANBCpVlwHe+deI3zzxl2LNwm0w4PFfPviIX5AUmR1Dz62cXkwei6fkhyQKxhk0tGz/z6fH/fenioU/FbCBV3WP8bppE6tDSIgiYPnsuCvvAr1Y3Gaskkxg20sayr01eftKJ7gNMjRCU7CQruIipaxmPm6UFBoXbcM3kOKRuxOc+U/7zK75S+YNYlM1RxV4IiL2OzsS5Hb39May+7MiefSDAcIP2QUQCQgJHTcWua5bOvLe1Y3fpX//S8kWiMA7EyD6uvdOh85SmykOBuQULz51527Ib9L+PGAovVqehSRgOQpyl5YmBQ1ndU1IuHC2AQgBCxgIhRjjMOGF26O3/8+X67x85KfEzpXdDUQccoeEIDUVm9v+LG8rRQpmWcmTSFHxtD9CwAdhIQjiNOPv09ru/dqNYPrJWahIme4slgQSjU2VTkdh238EqWBf1VXo7TdMCLEkoKQFOPxUvX3HJ+EdHj+BnmVrBwvFU5VQKcn8auakmKyl2lZGjToBiDTfRhHlz6h648drpy8c3oDVkEaTI3q+c+reIjhgLB3EETk4BlFcA515Ytuajtonl3/3eX0ub2qy5LKJmQVkGYRX2UgUKLn/NZ1AHxyDKNJ+fUYMUeXl9bhLHHdv2oxuXjVx+xFTstsPG/DDngslOilDXYuAQByuD7gRQWcH40sWxJ1r2Div//k92RtrjNccCJZneEe6fFUn57/wlcDNklHL2Y8yY6OqvXXvM8tlzsDUU5eCMFSL/7PDcmmr+UxMONhvsu6hPBeKYEIlqXHfduB/NP6NyFSc+2hyiEIQughDw2KPfJtXPIrYsC6Q0hg7fs/7qq8fee+Lc6OZoCKZO2D88jA1DF6CMM4qpm1MTDlmw0iPFRF66MTGkJISjjH+75cjbFpwnnma9dWMkrPrkU+vKB5ihcmhAqSYMrf7w+auWHHn/hRdYvyspFZkKxEEMDhw0sPI1pJJCI2QT6oYAd91x3E0nzq5+MZlsTEu/5p55x3NUeaQPlxjK67usmVEWaXzpokWj/+vizw9ZWVlqDHgmNSAiOOJgsr98vc/JK6kZOSKE79w+8aaT5jQ/CNoHIdyMrum6IC3Q8K2U9ue5e7zPpfcj0IpIaDsWLKj81RVLRjxYUw1PLacBE74RB/fW6ZFmP1fB/M62zMlBR0xF0zeWzbrryGl1K6HbYZEpzGMS4HQvfL5TW7PMn+BoWq+hMODCggK7jTj7jJH/fuNVk++uH2mqO9NT7oLsJBy8Js0DOK3IpAVYEjhmZsn2a6+su3fc+H1PO04LFFwQnMz+6VkyKOWm8vP9tPGMZxf3We1Q/D7mntz+8NeXjbpr9BjLpZzmJB30VtoDFiy/+QeBEY0QTv8EXlx65VH3Dx8RWkNo93x26RSa7c02DNOPgzHsTEqEhmUzlLMXR08r+cltt8+5ZdoUNIWksft6b/wfhmBldGkWjIoyYMF50TWXX1r9UE3ZnnUCNlhpaNWRu+zVozShJYSWgYrumwmCHHByP8Y3NP36pn+ZfteMKdFdwjBKEOXPsjqYmB0S2ZVEBEswasoFPndR2cpzz6v6jaX3IiQ1oqFY1hFQ2WndmWkBQgjTK4kSqKxqe3HZ1Scsn3s8NgvyO5Fyn32ghzVYZq0IEEDdMOCar0763mlzxT0h2QTluBkFbSZdOaX1pYKGZrraBbFGJJTEkktmPzT/rOi6kghgk/K+67m1Amz80M4gGyxcpeckBBzYrDGuwUpef/X0eyeN2/MTTXuDlg7++VXm8GaVUiygIdlUJtpwILEPF8wvueWzi/CLymoJmVYx4FMWeT6KgZQhPADByrE4miFcCXJMFq8IM449HtuvvXbWvcOHNv+O0AqWGo5WcLQp4GNhwh1+BFhqM8MyiVNm19731S/VPTC+AR3shzt8fx9JYxZg4J2jckiwQfb8dv6iChCkZJx5TtWrV1456//Z4sO/ELfDloAlvPQWLx9Ae7IIpCBEMyaOaVq55Iq6H047unSvJU1YwzA9j20O4FNVBpwHo5NAZy9hMvAkELQGpCREbMYXPhd+6nOLhv8cugVhaRyuUnvUBPJsLwGCi6pK6/kll45+6LS52BjKap5Ch0DzZTGg2F0OHTldOdBgsKd+m8QbRlUV8NUrxj/wyVPK73OcD0FQJi2WJbQigFxIySDejUULa/9rwfkj15TEOm+WYud6fLyN4myZQQQSAiQEhJQAXAihIUlj8kQ7fs3SCfdOmaR+qVSbkVOQXpYvI5Hcg5NPdlYsWVL58NAaAkiZ1DgwABeHyhADFSTKM1Nam+knz15K0YxjsOXiL03+caiyBUluCWwqoBUjhretueWWmbc3jIZLwpTfsDZNIQZQ/PXQA6urwmpmDnLOQQTtJVgKMEqiwNlnVzy7YMGRt1nUBIE4bJkA6fc3fv1rx991xJTYbvaaNDIrQJjCdMrzMwhW39wYnc6vN4qHBDNBCsaIOuF+cVHpj4+ern4iQu1IqL3454uGPHbh+VgbsyVCNplqDuo+F32AFSAdYmB1QYFExnyVpDFrJrZccsmkR4dWv/e7o6e1/+yaK6c9UFoCKNd/XQ5KcjBAQck3rEMJnE7CLe0D7fUKjYSAs86oWeskxofq6+t3jBoTizNMjZj5cyv39XJfdmCtweF4INmhOsTgEgyCNTgGwRoEa3AMgjU4BsEaBGtwDII1OAbBGgRrcAyCNTgGwTosx/8OAGEjDmIg/ARcAAAAAElFTkSuQmCC",Qt="data:image/png;base64,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",Ut="data:image/png;base64,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",Yt="data:image/png;base64,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",zt="data:image/png;base64,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",Ht="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAACFCAYAAABc8Qb+AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAACHWSURBVHja7H15mBXVmf77nVN1t967oZuloZFdRARRcEEU47iDSxRNHOMSkmjGXcnERE1GjeYZ/LlE48+JRpMx2zhxiSZoHASDjDFqgkHEDREIkcVuaHq53fdWnfPNH6eq7tL3Nr3dptv06acesZdby1vf973feoiZMbQGxxJDj2AIrKE1BNYQWENrCKyhNQTWEFhDawisodWny+q/U+ms98MFwzjkBAJ7l0Le72kNCCEABrRSIGn+jhgAERxiKEVgBpwk4GgN7Qok2oH2Nm0BAkIzomG4lg2IMEFa5vTSAqwQQ4BA3tUQGNL7fCKCHywgMr+RHTqg/QAW7b8IhpsBHkOAYR6gv5gZpAhggAloaXHQ2CrRuFeUfvIpRv3tb4nazVv3jNv0YcOEvc3x0r2N7eXxpvZYMkEhZjoVwHJmJSKRSHtpud1UVIKWkaMqt9eNr9g6ZkzV1jG1ctuIauyoquQWO+yiOGKDFCCl93DIHAwOYKX9KFn9CpY5FXtvq84AhUkYcDzwFACtNZoaNeq3W8XvbcPkd9Ynpq17q+GQjza2j//k06azmxqB9nYNy4pACAEhRCAJSJNQZgZJbc7D5r+hsEBxSRRjayueOHBS7L1Zs+Xa2bPsN2uGY1dNDZLRmJE0wPy+AHkSRxkS95kHKzg5EZiVAYcAQEJrhpMkbPs7Ih9+oCe+8af6Oa+/uefwd7fWX7bnU0LSEbBEGSBDIESglUAoFAK0htbmwRJR2quQfi4O1KnWLlzXhVKtkNSE4qI21I4OY9qUEXccPqf6jWkzohsmjaeN1VXQ0RAgyHyi0gJC/AOpQf+BpqtDDUI8qfDRB3b5a6+5R7y8uvXYN95o+2bDbo02h2DZYfPApQutk57xAgQjsGXmMwlgC0zZttI/W+oxSw4+BoCRbK2NOhw7IYpD59C3jz+qaOWRc+i1MSPNdTokIckoRfnZBUtnPJTgTQfBSTDe30LFK1buPeF/Vm7+p/ffdb9e/2kSrhoGO1oO1wXY+32GygBZZEsOi05VFGuZRRwSgekkIhAJKKXA3IRwqAnDq2Mvzp0Vfv20k8f+7rijo69VVABEDCtE/U449gtYWmsQEZRLaG4CXn6+cd7DT7Zd8PaGxGXNcRtKAS4rSBGCZun9PmewxUAeOPNhCQ8sIgrOk3520uT/IwU6KWjpqU8lvb+H9/8OLCZUVjSvPOYoueYrFx3w40MPC28NxziNS/YPaH0Alt6nK2cIhAaBoEBwHYJm4KP3E6X33r/1mpf+0PK5PU1yvqtLQBT1aLPOMOgsVABGpze0r6vxbldnqUn29SEbyRMypbKlBoTVDsfZjpEjIis+v6juyUuXlD9aN9JOSgEwNITlEQ/2rhvaY7d2JyZgv0lWJmiBumLLexjmQpOKENeEZ55wT7jrrleu3/r38pOFHAaHZcZNiA7+Tv/a1uwH6rKGbdsQlAAn63HY4Xsfvelfj/veMUdgk2aGsH2wXBARRECkrH3Y7P0JFgvAkyRzAhmAlVAKO3ZIPPDQx1c89MiHl0sxdpqwSuG6bKRPy7yfK/I4p32urL3rlpAZL0sAIGmQcqC5AWNGN79ww7Wzl515evHKsgpDOJhVFhAi6yXuubrsQzUoMtUKjDMptAAUIZ4E1r/rVt91z/qlz/++5WQZnTjdcRzzFgoB7Qliys5k3iQJlXoZ+gSUTLUY2DDv83O9+UIIaDLXKKQCq70oiTS9dulFUx9bcnHRI7WjQloKX4V6z4Epy6/s+fX3HqwOr4rrfZtBsMEAmho1Xn5VzLzvh3+5+s9vFl8sQ6VIukZdaFIp26bFPm3Svm1kd8OiuktqMHspoQByYUEhRG049/PlN37ty7UPzZzKjRAE9t4CpRSklMF5iHpO+OV3v/vd3mFE2nNWPFli6T0IQyyaWwirVidmLnto/dJ1f5UXCjkMjuPCkkZdCiaQBpgEANmJetB9rAQ54/M0GVXt3w/lkIAMWyMIYAENCc0W3nln+wkNDY5bNz789sgaO06CAlZqrt71XmgyUZweKMIeg5ViX54j6h3EHHyvdNR2HDy9ZM69D7x7zRvrKy5QVAypEVBj9sAy8UABYk4TUZ32QDmD7RWCHvtONLF3HzkkK6WeKbBtxATBEhoxvPde2/wtW3bEJk8a+caokYhnSKjvegRqsV8Jhg4CsGmxJGOQWaCpHXjltfYZ37tzw7ffWW8tVlQNIoKE7wxnBnJ1PobkPRTWfQ2RyPDbuJtq0AdL+LFN1iCVBIldOPaoogfvuGPijdOnFDWZl9INjCOxjZ6GFUXPQNIBGWDvy/8+CQHFwNp3MP6OZf974/p3I4uZKiE4yx6xZcJCECbWnu8OWPQZqch1H5xXuYpOH09wP96hIaFkFJpGYc0fra/fdsc7N3/wMSIa2mMcFgALvYn/ip79iTmIpOdApSLRSRfYtl2L7/3bn7/99trY+axDmQ+HVeckgXTmsd+W7haZEexbXAFplWLlH/QNj/xox5I99QqsyGgG38HvoTbr8SvLBp0UOyKBJAQSCrjj+698a80f4peGQ6NAiHggOGAkU+Qjde37DPoOlqph9mxuMsFQqgK/fmb7uU/+pvFk1820tT2NYPRYDZJ3+OkNFwQHjMd+ijN/8cvEF4orxyDhCkAIE4Ql44DkvdAsSWKmAtipwkU7/ENAQoEAKsKe1pL5j//8vQtXv4LJJjicevl68hL2wmZpL1TNnv0CXv9LfPxDP3rza3Zx3bS4K+FqL7bHIYBDYG3nv8BA/3tkggeClHTHLPjvHMMiAa0ktBvD+vWhL/785x9f8MHmeHFvFUSvLbeGyeru2Abx0//YeNGO7aGTE44NBcAKRzwnkEBkoSsZIGYaYGqt67bNSJcEkckUAApaVuGll9UtK1e2HL+3qaPzwd3wHkX3b0AGh+/5OEng9y/g5D+s1Lc4ogSCwpAkQJ7YgxSYXRBpsCAT6iEXIDelTgeobeqqukpBoCEEIFhDMEFSDM0tYfzq1++ft/YdTGxzNTR0cP8pNl0QyTKXxZ6m0hrYtDFe/szynWc0NMdAbjEEhyAgoZXjXbT2LsyBZo/oE3tOsAq+N/DJQ6eGC+xlB5hVUA+iwNCWwIb3Kr74zIs4s7FJQLkMZhfMbmD9CwIWec44sfl3cyPwwvONJ7+zbudXWVsBPc++OQEN44243mGIh+bBU7rYKWAeQdIE72AoaEhtwWIb7MTw+9+9f9KGDYmJyaQEOGyO/rJZCsAHGzFq1UufLmhqlhAiZJgipUUzslgesSdRmgE9+GpMU4CJfT4+U7ij4GoHJGLYsil5wtNPvn12wjGRHxICgtMi/4UAS2sTTGttdbHmj5j313edr8IuMhQdbqDniQiKzcGaoJXJaWkhoEEY+MqvM8AynWbt6Y4UiBKAhCYNTRqu1rBCMTz3/MaFb2/AuHZXGyoPnV610+nqfkWuZ6scDWzfoSOvrNl2TGtcQEoJ11dr1FFtKCiAAK2VqbZle5+nuvTCGMrLMt+ntescrFqd6PC7B9RJnLUw2i9g3f1ASxql0B3CUJkxRBXUgwgKYfuOmnlPPbn37KOOLLvbVQ4sS3h8cN9MuUeBXNcBEi6wfEXTnOuv+/BPe5qjYKsErEUH6p1KK5ibCkmG64pOo86XXhjDtVeU4IC6jjdwy+1N3sPKXAvmh/HcE1X9AlbxiE8815A6qDDKSjIK9uKoxF5d424Mq2xeveaV2ceOHhZLi2oUgrp7f9XQBKx5Zc+83fWA0qEcxjc7tiYgpQ3H1XmBWjA/jLf/VIMfLCvPCdSAi1zo7qVuhBCIhEuxcxeP+O3yHacmE+YRUSFtlhBAfT0q//j61iOTohxChiG1ACmVZjD9YG9QJAbWAMHOKxXPPVE1KEDK9xJzDuKhSUCT0STMgGILtl02efnyD0/Z0wawDrJLBbBZAJJJhfXvyukfbFTnWJYNIq+Wx+v6yMeMwLqDnfnBsnIsmB/GYF3dqVQiIijFkCKKt9/eNeOjD1FbPZu3kSiQn8UMJFyJ19/YPKetjREKeSpQc6fibJKSnAHS23+qGdRAdc8XMyklQTZsWYyGXaPmr/0zDlXdiK51W7IUgHgbY+2ft8+SsgSuNrTVL9zX+ZlM8O/+lqZbbm/C2nVOIREKGEI+KWPyEp3MYNhwUYQ/vVE/958vGfZsaQiQVAg1qIEtW+IjPtzcMlnQCEAZ7yKfdU2xpa6zzo+3qEAC+2Llo/t9aa9oX3fpl7hBwHUBKUuwaXN8/K4GJ1I80m6XhVCDWgMfbExObmq1DpN2FEons5zCnq+PtyhctbQRB8/dic1b3M+kStRaQwuCtCPYubPl/G2b22tZF0oNKuC99+NTXacYFmwIsnJKkqauFzV+vEXhngea8ejj8c8U0cilEhUYUpoIR7w9ie3b20ZoLtlYELCSDLz//t+msCqGFQ3DSaosddd1kf0sgJRLkjpjhxIEKFNYlEhIfPjh7skJt3pNxC6QZP19e0MtyeFQOROFWZWuxB2KLT7eovD00sbPDEjo4BpTTqplQGSvaU+DhIPde1CpC+VnNbcCuz7dXW1J2+uot9ICm53xwdS6amkjPrtL5AXL1Etaxt0UpuShcU9LWaINQKwABCO+FzGVlEKIffxpWk3FP85i05+VgzH4eS6WGlooMDsQ2kG8yYnFm7uGQ7clq6UZxfEWNZ+ZIQSZTkJmaKjcJceg/Y7XWQujmDXD7vLvr13nYO1fHTTu7X7dIgsXIIKitLkd6T/Xfnm2qdVoiavr2uL4DoCWvgerFcWOKyC9iLP2Uh8UhPh1Bx9kf69LL4z16O+efq4Njz4e7yMfLbtPS5g8nwOoZNdw6L4ajCMGtk0+SjPAyksLdK+CdTCssxZGexBgZk8dZktV5vMhj0EnHIarCgRWOIykEMIMGSHhpfDTy51N1NnPkH4W1oL5Ybzy4vAuJTf3FdRNLwglsmFao3oim11Y0TDitiWQqlvPbUi7UqMwmFZ5mcDjD1fs0/Z1FsgNOleITEUXEcK2hC27ppK6D1YU7UKmgqLZNevdKQAZjOu5/67qUGqQKTmdZ8F9QIUwzYZWTD8ULkWXHM5uE4xoEeLSbnsVyfajBFmBCCvBHSIZnNEcV9i1anUiSLf3VHJmHWJj1gwbl1xYlNdGlZcJXHphLGdpgR/7y+3W6JSxCoC1EAmL9mgU7QWRrOHViA8fFtultZtRNyCYTMsppRzk/TGMqqerca/GqtUJ3P1ACw6euzMvGABw3ZXFXbZZfr1kusZhZggisEqirCLUFCsukM2yQ8Dw6rJ67bYbX93P43jsxxTMiKwQzOBbt9zehKefa8srXbnycZxG/wJwOjQDGlaooUDSwrCq8KfhUIHAIgHUjKjekVQOIE3RiGDT9pOZ9Uz1YQ3WdcvtTXl/lotodMdUCxDClo2qmtJ6sgoElhTAxImjPgL2Asr1GhSsDuzPf7NoEJMNPwna5RfZAwGa01hxjvggERS7sKIK42tLN1Gh8lk2AVOnhN+LhhWUTkCTlaWns85MukA9wQNvERjC767xxxllyRtprwHeVohGEyvqaqNb7UJJlhDAgRMjG0aMKFrJ2oFFltexn9Zgl/axajDrwe5FBcFEUEJDiRyiQhokGCAXmpNg1YaRI8s+GTMuvKOLxU3dlyxBQE2NbBo/pmzT37e1Hs+Cc1NUX232A8E4oE5iXF3HW2ls1IUtlMkgFzp4SZkZMmsoMrOJVJhWIA3XacGUCePfr6ywAFZAFybPdB8sADFb4ojDx/5xzR/fWiKE8Lr88uvn/ojh3XpTaU7fa+Hihn4ByzA/7bkvJhNBMCXW7P3bV49aa4TRjtkzi/9itJUojBpkaBQVCxwyM7auosSFoxPQBJCWEGxlGNZMoPqfaeSStkJZq6DJMMt1IU0ZzQrMpiWqqmr7ysNm4k2pu96/3H3qTqYMeOIEbDxggvyFctq92YBmZpNgkZqWif5xt/LlnQ6ok70qZ+sscJvOFDURFFlQZEFTCAp24MaQFiAtjJoTJszktrfiiGPGvjZuCuqFRM45UX0GFgBUDkfj4XPq3rDQBkEuABdECpo0OGdwUBdMutb+Nb9dyqUeuxp+6ixS8da6ZJotYRAp8wxkEhAJEMxzUNKFtpSxS5pASMCmVpzwuUkvFUcMB+gqwegRp5YWUFUGHHlkyas1ZQJCxUHkgLywCmVUgHgNCly4nPHadU5en+ishVFcd0Vxt4HqLMK+anUiOB8Jb6Ssl/kFOWZAi3CgoUFagbQK2LKbaMX42vLfHju/7GVb+n5o1xytHih1Ddd1YYdDmDI18sH06ZUPrHp1xxUk/Q5+yul38T5LVnu3Hnu8Na8U3XpTKRbMD+Pp59o6dXT9YG6uJr70FVRlpQdlWXkJxUiGDWKhM29ZN+KkU2c/Xz3C1l6xk2nXFQUBC6bLEUDtyFDj4UeOfOPVN7eZqSpMwSDvjoRe9FyUu7AefTzeabR8wfxwn9TXr1qdCGKGBNmhM4a9HSF8u63JZ8VmMHJl9SerTz39mOUR6THEbry8PXp2RASLNEpKCHOPoNcnT4n8SvFekHDznCLV6Ky7OLOpJySj0CVua9c5uPAre9Jst85jmzU0udDkQrCARRZClkS724jjjz3gpcmTsNlxuNsDc3s1Fc0CY/o0vHf00WX/G7ZdKO3kmJiSWXsg0mY+9fVatTpRMMDWrnOw8NwGwzwJHae3pU0lSPcvmQiu1mhLNqOkLPHmWWdMfaaqErBt8oOJhRxakg4DobIaOOHEyhUjxtrLXbQClMcm+DfjpQwK5Sw/+ngcx5z4abeDsJ2tux9oyQCKKHc/mplS4JWZeX6nkIBlCyTdRhw5f9yrM2fH1jH5E1BdMymOnMKDJcCwCDh0ZvF7C+aNXmVbCTNRhbzmaCJIKEionH/dm+G++5KCg+fuxFVLG3scbvp4iwoSkbfc3hT4csF8eUEd1Lk/qZSUDLpqWBN0QmFkTfOacxZWPllVBoRto2E4qN7tYudkb8au+lspaUV4YSWm3/ydV257f9OoM4kjEMLjLuw9LE/imO3MMFQ/ROV9lndAneyU5flAb97i5pTMrmgDInN/fmWXLWzoeALnnbf75u9866DbR9f6e3L55srfmagAscGUThYB7SMC5h6O9aedMuJ3W/+j6UwhImh3slp+sofZp7htwYNBfsp+VW8CSnmASg/WSAaEdjLslpvchfFjor9deOrYZ4dVA6Z3ND0kJbpMCXv8pDQYTOzNUmHEyoGzv1j31MEHVv5nMtEACwlTZ+DNwGXYYNgDYJxq3wdw/YN9v0r46RCNimIXp5xS/fysueF1tp1O0HpG7XoYujRfmg3RCDEweXxo98UX1z0WEdtfJ9c1A7eENxnML/pksY8JnYM7/8VEIFaQ7EC6rThoWvOPzlgYfba8yvbsTs8DAz3XQV7ZtL8vogRgg3HiP+Hls8+uebqtrQGWnx4I5qGLLuh+wmAvDtWCQORgWIlaefapk38zYya22ZIMEe7FYPqeS1Z2S6YGQppQXQlcd+1Bd0+YIpc3t9UDJI0aJB1sJjPIFF3WkXqlKI89t9hCCI04doH8w8IzSpZHIybYm9rvsh/BypYUX7yJTdp/7Dg7edO3DrstZn20juCC4Brx192Q/wFj23TGkT6xM7vRwMxiZAjRjsoRm19Y8rXJjwwbFYIQgAWCZOwT7IJIFsOBSYt4IyAsgCV7FwacdhJeu/KrU+7X7bsgkQBxEpKM0eU8vVyZJxADutDGLxsPkq0kIVggQkmEkn978xtXH7fs0Jn4hIiDrTx8yetXyQqCmMhdJiykQiwKLLlk4k/mHRV7hJ1Gs61D2nZH3RmyOLBQ8js6zY4PwjssSbCkRiK+DYvPn/LLxecPXylIg1iZHrYOkY7UZgRdVY29fkrp5Mbf9o9IQkhg+tH17hVfmfTDKeNbntLKv8FsiRF5joEtUak8nYalNeAm4bQ3YPYR7T+5+vqae2UYkFKAWEBAIntKdf+ywSzd64OmtDkYjMZPajDvGLx18QWHPD5s2F4Ae1PD6oMNoHWeY2Av/z58R5hVAyZOcJ666ab5t42uhZZQAKXUvV/20Fuq00uWlAmaEOQ1LJiR2RXlwKKF0WfPOm3k9eFIezDSTSk/0+p62VWVPwg8kEDysgZaJ6FUAhAKrDQqyvDyNdfMuu+ww8ObhARkUD5u6toZ/v5ctD/AyveBCsLT0QQJIYBRtba+8KKy/zx2vnO3JethC8fcCGfuvTWgHOK8bNTfzYghLQJTKyJlO3DpV6p/fOJJWB2zKG9/ml/YwD201X0OVvrF+HkaOwRMPxD1S5ZM/vHESdZTTC2Qlrfrj5Yg2AOnPajLLoMCox3C2ovTT5/y7cXnVT1RVmJ6ASgtwiNAprsGqtfqvc/BCvplvS8fvLANHDc3uuHar025pzz699WMNqP2WEEQB4Y4mBnPIuPob7bHlJkiNSl4f85FEsxtcFUD5s3BA1/+UtmjdbUyaYUARSZFlNITJhWUzZ578nIW4Cl4LCmHggtZEmcvwpql189cpnnLhpBMejsHcBAzzMcNU+NL+wkzzs53K2N/yN/joAUHTo0+c+0V0+6ZNQM7QoJgAZCskatFuC+UfS/uvvusjYRGOMT46kVVv73y0mn3t7Rs3ugCcNiFQhICbt6zBNtkFIw4pCTBHBbSW5k0vIg6uVBoQ/Ww+Mrrr5j+/448LrbJsr29InVXJKbnbLfP2GDutzPdlmmvIlXDCgFLrx/50OIzrSds2rwhIpMgBnSO9Fp/eV2pZkCvwEeZaqSgo5P8I44RwxMrrrx8yv2LTsOakDcCKLDW+4xQ7IcUSdfsV+abK7zKA0EK5SXA97971LdPOnbEC3AbTTo8x41SgRvyApcj6Pn1q4vJA1FAkYAkC8QaNjWvO/fzE/77kguHPxOzgVR3j4m7aRKpTUsLYGB6Hbno2g888fcqVkkmMWK0jaXfmLLs6KPcB5kaICjZwVZwgUrXOlxuFgsMGrfhmoPjkLoBXzi39JeXfa38R7Eom62KvRQQezvp+BvqFMK5t3rzRnbvBwIM1+TBiEAkICRw8DTsuPqKWfe1tO8qfusvzV8i6p9Bx9nbtXfYdJ7SqDwUmJtx9mmzbl16vf73UcPh5eo0NAmjQSh7MKQYOJK1b0nKhaMFUAhAyHggxAiHGUfOCX3wL1+t/eFBkxO/UHoXFLXDERqO0FBkjr6/cSM5WigzUo5MmYLP9gANG4CNJITTgFNOaLvrGzeIZaOrpSbh9V1JAglGh86mAqnt3oPVZS7qU3o7jWkBliQUFQEnHIfXL7t4wmNjR/ELTC1g4XhUOVWC3JdOriaGpszdejJq1AlQrOEmGjF/bs2DN1wzY9mEOrSELIIU2e8rp/5bwEBMf3Wb5XWgDaUHSsuA084pWfFp66TSe+59q7ix1ZrHImoeKMsgreJ3Ena5/TWfQx1sgyjTYn6GBiny6vrcJA4/rPUnNywdvezAadhlh437YfYFkx2IUOdmYJCDlSF3AigvY3z5othTzbtHlP7wZ9sjbfGqw4CizOgI980TScXv/EfgZtgo5ezFuHHR5d+45tBlc+ZicyjKwR4rRP7e4bmZaqHacwdA4ihtV3AmRKIa1147/icLTyx/jhOfbghRCEIXwAh46tEfk+pXEVuWBVIaw0fWr7nqqgPuO2pedEM0BFhswme+TRJ+3I8yj56GkgY0WOmZYiKv3JgYUhLCUca/3XzQrYtOF8+y3rwuEla9iql1FgPMoBwaUKoRwyt3vnzlkoPuP+dM68WiYpFJIPZjcmC/gZVvIJUUGiGbUDMMuPP2w288ak7lq8lkQ1r5NXcvOp6jyyN9ucRQ3txlzYySSMNr5y0e+18XfXHYE+XFxoFnUgMigyP2p/rLN/ucvJaa0aNC+P5tk248em7TQ6A9EMLNmJquu8QCjd5KsT8v3OP9XHpfAi2IhLZi0aLy31y2ZNRDVZXwaDkNmPSN2L+nTs80+7UK5nu2ZXYOOnAaGr+1dPadB02veQK6DRaZxjx/7Gs+ih7s2prl/gRb03oDhQEXFhTYbcApJ47+9xuunHJX7WjT3ZlechdUJ2H/DWkewGVFpizAksChs4q2XnN5zX3jJ+x51nGaoeCC4GTOT8+yQakwlV/vp01kPLu5z2qD4o8x75i2R765dMydY8dZLuV0J2m/j9IesGD5wz8IjGiEcMLxePWKyw++f+So0ApCmxezS5fQ7Gi2UZh+HoxhZ0oiNCyboZzdOGR60c9uvW3uzdOnojEkjd/Xc+f/HxCsdBpMglFWAiw6PbriK5dUPlxVUr9awAYrDa3ac7e9epImtITQMqDovpsgyAEn92JCXeNvb/zXGXfOnBrdYTZD1CDKX2W1PzEbFNWVRARLMKpKBb5wXskTp51e8TtL70ZIakRDMc9ZzT2VLbssQAhhZiVRAuUVra8uverIZfOOwAZB/iRS7nUM9B8aLPOsCBBAzQjg6q9PvnfBPHF3SDZCOW5GQ5spV06xvlTS0ByudkGsEQklseTiOQ8vPDm6uigC2KS8v/XCWgE2fmpnSA12ndJzEgIObNYYX2clr7tqxn2Tx9f/TNPuYKSDv0282bxZpYgFNCSbzkQbDiT24MyFRTefvxi/Kq+UkGkdA8HYOS9GMZAqhAcgWDkejmYIV4IcU8UrwozDjsDWa66Zfd/I4U0vElrAUsPRCo42DXwsTLrDzwBLbY6wTOLYOdU/+PqXax6cUId29tMdfryPpHELMPA2KBoUapC9uJ3/UAUIUjJOOrXizcsvn/3/bbHzL8RtsCVgCa+8xasH0J4tAikI0YRJ4xqfWHJZzY+nH1K825ImrWGUnqc2B/AeUgMugtHBoLNXMBlEEghaA1ISIjbjgi+En/nC4pG/hG5GWJqAq9SeNIE830uA4KKi3Hp5ySVjH14wD+tCWcNTaBAMXxYDSt3l4Mjp5ECDwR79NoU3jIoK4OuXTXjwc8eW/sBxdoKgTFksS2hFALmQkkG8C4vPrv6vRWeMXlEU6/iyFLrW47PtFGfbDCKQECAhIKQE4EIIDUkaUybZ8auvmHjf1Mnq10q1GjsF6VX5MhLJehxzjPPAkiXljwyvIoCUKY0DAxg8W+yKgQoS5TlSrM3Mk2evpGjmodh00Zen/DRU3owkNwc+FdCCUSNbV9x886zb6sbCJWHab1iboRADKP86+MDqrLE6GAzsbY+uvQJLAUZRFDjllLIXFi066FaLGiEQhy0TIP3xum9+44g7D5wa28XekEZmBQjTmE55vobA6l0Yo8P+9eTtnchMkIIxqka4X1pc/NNDZqifiVAbEmo3/vm8YY+fcwZWxmyJkE2mm4P2XYs+wBqQBhlYnUggkXFfJWnMnoVNF188+bHhlR+9eMj0tl9cffn0B4uLAOX6t8tBSw4GKCj5ljWYwOlg3NJ+oL1ZoZEQcPKJVSudxIRQbW3ttjHjYnGG6REzv27l/rzcHzuwnkFvWv2H1pAaHFpDYA2BNbSGwBpaQ2ANgTW0hsAaWkNgDYE1tIbAGlpDYA2BNbQKv/5vAAd433/WHaE4AAAAAElFTkSuQmCC",jt="data:image/png;base64,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",Kt="data:image/png;base64,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",Vt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAACFCAYAAABc8Qb+AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAACMpSURBVHja7H15nBXVmfbznlN1t967oZu9ERAQCYILuCBq4riDSiJmGeISkmg+dyUzJupk1Gh+gx+JSvycaDQZsg2JSyRB42fQIGOMmpAg4s4WIog03N5u971V57zzx6mqu/S9vd/uJunDr34m3X3rVp3nnPd93vUQM2N4HBpDDE/BMFjDYxisYbCGxzBYw2MYrGGwhscwWMOjX4c1cF+lc9aHC4YxyAkE9h6FvL/TGhBCAAxopUDSfI4YABEcYihFYAacFOBoDe0KJNuB9jZtAQJCM6JhuJYNiDBBWubrpQVYIYYAgbynITCkd38igu8sIDJ/kes6oEEAiwbPg+FmgccQYJgJ9AczgxQBDDABLS0O4q0S8UZR/sFHGPPXvybH7dh1cOK2dxsmNzYnyhvj7ZWJpvZYKkkhZjoHwDpmJSKRSHt5pd1UUoaW0WOq99RPqto1fnzNrvHj5O5RtdhbU80tdthFacQGKUBKb3LIXAwOYKVB3FkDCpb5KvZWq84ChUkYcDzwFACtNZriGvv3WKVv7cbUN7YkZ2z+c8NR77/XPumDj5oWN8WB9nYNy4pACAEhRLATkLFDmRkktfkeNv8NhQVKy6KYMK5qzRGHx96ac4zcdMwc+7W6kdhXV4dUNGZ2GmD+XoC8HUdZO+7vHqzgy4nArAw4BAASWjOcFGH33xB59x095dU/7J/7ymsHj3tz1/4rDn5ESDkClqgAZAiECLQSCIVCgNbQ2kwsEWUshczv4kCcau3CdV0o1QpJTSgtacO4sWHMmDbqruPm1r46Y1Z06+GT6L3aGuhoCBBk7qi0gBD/QGLQn9BMcahBSKQU3n/Hrnz5Zff4Fza0nvLqq23/2nBAo80hWHbYTLh0oXXKU16AYAS6zNyTALbAlKsr/W9LT7Pk4DYAzM7W2ojDCZOjOHouff3jJ5asP2EuvTx+tHlOhyQkGaEo/37B0lmTEqx0EJwk4+2dVPrc+sbT///6Hf/09pvuV/Z/lIKrRsCOVsJ1Afb+nqGyQBa5O4dFpyKKtcwhDslAdRIRiASUUmBuQjjUhJG1sWfnzQm/cu5ZE3596knRl6uqACKGFaIBJxyDApbWGkQE5RKam4AXno7Pf+ixts+9vjV5RXPChlKAywpShKBZen/PWWwx2A+cPVnCA4uIgu/J/HbS5P+PNOikoKUnPpX0Pg/v/zuwmFBd1bz+5BPlxi9ectj3jz42vCsc4wwuOTCg9QNYuktTzhAIDQJBgeA6BM3A+28ny79z/67rfvu7lk8cbJILXF0GoqhHm3WWQmehAjA6faGunsZ7XZ0jJtmXh2x2npBpkS01IKx2OM4ejB4Vee6Ti+ofu3xZ5SP1o+2UFABDQ1ge8WDvuaE9dmt3ogIGbWdlgxaIK7a8yTAPmlKEhCY8ucY9/Z57Xrxx198qzxJyBByWWS8hOtg7A6tbcyfUZQ3btiEoCU7tx7HHNT5yy7+c+s2Tj8c2zQxh+2C5ICKIgEhZXejswQSLBeDtJPMFMgArqRT27pVY9eD2qx58+N0rpZgwQ1jlcF02u0/LgvcVBYzTfhfW3nNLyKzFEgBIGqQcaG7A+LHNz9x0/TErLjivdH1FlSEczCoHCJGziHsvLvtRDIpssQJjTAotAEVIpIAtb7q193x7y/Knf9NyloxOmek4jlmFQkB7GzGtZ7JfkoRKL4Z+ASVbLAY6zLt/vpUvhIAm84xCKrBqRFmk6eXLL5n+6LJLSx4eNyakpfBFqDcPTDl2Ze+fv+9gdVgqrvdjBsEGA2iKa7zwkph973f/dO0fXyu9VIbKkXKNuNCk0rpNiy51Utc6sqduUd0tMZg7lFAAubCgEKI2XPTJypu//IVxD86eznEIAnurQCkFKWXwPUS9J/zyG9/4Rt8wIu0ZK95eYulNhCEWzS2E5zckZ694cMvyzX+RS4UcAcdxYUkjLgUTSANMAoDsRDzofhaCnHU/TUZU++9DeXZAlq4RBLCAhoRmC2+8sef0hgbHrZ8Ufn10nZ0gQQErNU/veguajBenF4Kw12Cl2ZdniHoXMQc/Kx+zBx+bWTb3O6vevO7VLVWfU1QKqRFQY/bAMv5AAWLO2KI6Y0I5i+0Vgx77RjSx9x55dlZaPFOg24gJgiU0YnjrrbYFO3fujU09fPSrY0YjkbVDfdMjEIsDSjB04IDN8CUZhcwCTe3Aiy+3z/rm3Vu//sYWa4miWhARJHxjONuRqwsxJG9SWPc3RCLLbuMeikEfLOH7NlmDVAok9uGUE0seuOuuKTfPnFbSZBalGyhHYhu9dSuK3oGkAzLA3j//5yQEFAOb3sCku1b8z81b3owsYaqG4Bx9xJZxC0EYX3uhN2DRb6Qi33twQeEqOp2e4H28S0NCySg0jcHG31tfueOuN259ZzsiGtpjHBYAC33x/4refcRcRNIzoNKe6JQL7N6jxTf//Y9ff31T7NOsQ9mTw6pzkkA6+xq0oXtEZgT7GldAWuVY/zt908Pf27vs4H4FVmQkg2/g91Ka9XrJskEnzY5IIAWBpALu+taLX9v4u8Tl4dAYECIeCA4YqTT5SD97l07fQyVrmD2dm0oylKrCL57cc9Fjv4yf5brZura3Hoxei0HyLj+84YLggPHoD3HBT36a/Exp9XgkXQEIYZywZAyQgg+as5OYqQh6qnjeDv8SkFAggEpwsLVsweofv7V0w4uYapzD6cXXm0XYB52lPVc1e/oLeOVPiUkPfu+1L9ul9TMSroSrPd8ehwAOgbVd+AED+e+RCR4Ku6QnasFfcwyLBLSS0G4MW7aEPvvjH2//3Ds7EqV9FRB91twaJqq7dzfED//zvUv27gmdlXRsKABWOOIZgQQiC92JADHTEBNr3ddtZndJEJlIAaCgZQ1++4K6bf36lo83NnU0PrgH1qPo+QvI4PItHycF/OYZnPW79fo2R5RBUBiSBMjb9iAFZhdEGizIuHrIBchNi9Mhqpu6K67SEGgIAQjWEEyQFENzSxg/+8XbF296A1PaXA0NHbx/mk0XZWeZx2JPUmkNbHsvUfnkug/Pb2iOgdxSCA5BQEIrx3to7T2YA80e0Sf2jGAV/Gzok4dOFRfYiw4wqyAfRIGhLYGtb1V99slncUG8SUC5DGYXzG6g/YsCFnnGOLH5381x4Jmn42e9sfnDL7G2Anqe+3ICGsYacb3LEA/Nh07qYqeAeQRJE7yLoaAhtQWLbbATw29+/faZW7cmp6RSEuCwuQZKZykA77yHMc//9qPTmpolhAgZpkgZ3owclkfs7SjNgD70ckzTgIkup88k7ii42gGJGHZuS53+xGOvL046xvNDQkBwhue/GGBpbZxpra0uNv4e8//ypvMl2CWGosMN5DwRQbG5WBO0MjEtLQQ0CENf+HUGWLbRrD3ZkQZRApDQpKFJw9UaViiGtU+/t/D1rZjY7mpD5aEzs3Y6HT3PyPV0laOBPXt15MWNu09uTQhIKeH6Yo06ig0FBRCgtTLZtmx3+VWXL42hsiJ7PW3a7OD5DckePfJpC8KYM8vGaQuM2JlYb+Gw+o7MdPtOhR07jc/y+Q1JbN+p8MTati4ohe7ghsr2IaogH0RQCHv21s1//LHGxSeeULHSVQ4sS3h8sGum3CtHrusASRdY91zT3BtvePcPB5ujYKsMrEUH6p0OK5iXCkmG64pOvc6XL43h+qvK8k7obXc2YeWqli6fsbJC4PKlMdxwdWkHwHsy4o0aK+9vwSOrE4g35qQuCOogwignyCjY86MSe3mNBzCiunnDxhePOWXsiFiGV6MY1N37VEMTsPHFg/MP7AeUDuVRvrm+NQEpbTiuLgjUaQvCeP0PdbhvRWVeoHqyk7a8UovbbynvE1A+6LffUo4tr9TiwoXRHE7Rs9CNEAKRcDk+3MejfrVu7zmppJkiKqbOEgLYvx/Vv39l1wkpUQkhw5BagJTKUJi+szdIEgNrgGDnndy1a2qwdk1Nn0Dyd+XaNTV9BikfaKsfqsLlS2MFFzHnIR6aBDQZScIMKLZg2xVT16179+yDbQDrILpUHLBSKYUtb2LmO++pT1mWDSJDwyFEp8wInC1GDquXAUi+PunLmDPLxn0rKotKLu5bUZm1w3qiRogISjGkiOL11/fNev9djGPB3UahxwSDGUi6Eq+8umNuWxsjGgvBdd3A7uJOGBR5L3ZYvcT1V5UVXKW9nsh7ugZq02YH8Xjh0EdlpcCcWZ2Tn9tvKS9IPAqnmXnJpyDYwkbDvjELNv0RR889Fru7u2N6DJYCkGhjbPrjnjlSlsHVhrb6ifu6MJPJWp39sZMyx4ULo51O8m13NuUlCZ2Rk9tvKc/7+8PqJS5fGsMjqxPpFUydV5cweYFOZjBsuCjBH17dP++fLxvxVHkIkMUgGNDAzp2JUe/uaJkqKAwo3alR5+sw6oFNtX2nwvadqsekotC4ZnkcK1e1dAuogAGuasE1y+Pd+j7Oo7tyLz+qQLDhuoCUZdi2IzFpX4MT6W6Is8dgaQ28815qalOrday0o1A6lWMU9n5s36lwzfI4Pjbvw8De6e4oREw2bXbSO6CH45HViYLibvasUK/cU1praEGQdgQfftjy6d072sexLhJYSgFvvZ2Y7jqlUMqGIDvvTupJWDwTpN5ObKHxxFNtffr8pr843Voc+YDJJxIVGJACIIlEewp79rSN0t0UOj3WWSkG3n77r9NYlcKKhuGkVABST1fB9p0K317V3O8ADbbfsLOwvQQByiQWJZMS7757YGrSrd0YsYsAllLA3/Y0jCM5Eoqpk82qfWbRIdli+06FJ5bH/25A6uiCorxSxYDIXtGeBgkHBw6iumg7q7kV2PfRgVpL2l5FvZXh2ES3RF9nivvQH6IgWCZf0jLmpjApD/GDLRXJNgCx7t25RyPRiJhKSSFEFx/NyKkYzHHhomjfDO2j7ILEJZ8fg1iD8jAGP87FUkMLBWYHQjtINDmxRHP3cOgxWC3NKE20qAW+8UcsQCwKWvI0QKXShTzxmd723nhEcv2BXREXFi5YuFACUCINUvB7bXLk/VyNloS6oS2BWHHAakWp4wpIMh5nDWWqGknmvd1AbazODN7VD1UVnPTO7Ki1P68paIcVDp10NtUiY16EifM5gEp1Tx31WGclEoiBbROPYga84rHBDiPGGzVuu7Mpr2/Qd8Ju2lyKJ55qQ7xR5zW6D6uXqKwQuHBR596Qlfe3dGK0c8CrOngTPD7oUxHBQNJhuKpIYIXDSAkhoMhP7PdsdH+re2Wpmrxq+gHMsXhkdQIT6y3ccFVpQbHWld+vO9/RWTytq2xbynBLmQiEKJ7XPRpGwrYE0nnr+RVpd3IUijFuu7MJ1yyPd9u11Jt799RrkSsGichkdBEhbEvYsnveg56DFUW7kE6GgzLbjOpJAkixxqa/OD32LXZ5z81OAQaYu3M6j4L7gAphSJkV0w+Gy5EoDlglSEi77SWgHYJUkJamiaFzBPVgJG3ecFUpXnx2ZJ/FXT4RunZNTUFPfKbvr8BvzJWR7UVkIRIW7dEo2osC1shaJEaOiO3T2s3KGxBMpuSU0gbyQDejum9FZZeT2R+LYe2amm7rLD9fMlPiMDMEEVilUFEVaoqVFsmDYYeAkbUV+996tx1CRoI2PUHPjw7uFhoQAn/7LeWdBjOfWNuG5zcksekvnYuzw+olZs8K4bQF4YL3O21BGPetqOygv5g4o9NNof1gym81FCxpYURN+KNwqEhgkQDqRtXuTSkHEQlQyjygI/I/JBOj2P1G5syyCzLAeKPG0i8e7Hb6momlteGJtW14dHUr7runMq9IvXxpLFgAmaS9u7JEgBC2bNTURfeT1d3P9HBIAUyZMuZ9oBFQrlegYHVgf0HQcQDU1mVLSwoCtfCihh7nGWaSioUXNRRklrkLxCtjBzR38Fxk+QeJoNiFFVWYNK58GxUrnmUTMH1a+K1oWEHpZJBx2kGRBgpVFR2sxYsiBW2i7jC4roztlfe3FBSHmVlUBIZgAQmZUbaaI5k0gV0GQSEaTT5XPy66yy7WzhICOGJKZOuoUSXrWTuwyPIq9jMK7DJuq4pcb1VZIQqmnRUKHPZmhxUUwYGj19hNSmgokWerkAYJBsiF5hRYtWH06IoPxk8M7xVULLAIqKuTTZPGV2xzVTtcdJ7cKYvsyC3kFfd3xUANpuw2ssL0VEgzRBZgbVofWRbBdVswbfLIt6urLIBVkcACELMljj9uwu8JSXQWKvlHOu5JMCC0hlAMiwmk2fzMAy0ISzLAWiOMdhwzu/RPRlqJ4oDF0CgpFThqdmxzVZkLRyehCSAtIdjKUqzZNkdxgOssB3DgRjpCbHL9RZaOyvSPMpuSqJqaPeuPnY3XpO7+ou55MR2ZNOApk/HeYZPlT5TT7vUGNCESwSLdLTP3fYrhWupEn/RXbmJn3pB4XEMTQZEFRRY0haBgew2aAdICpE2CDIRxM7ntrTj+5AkvT5yG/UIib5+ofgMLAKpHIn7c3PpXLbRBkAvABZGCJh10BMtnDBZjFPID5isZ6g2BKWQa+IvFAoNImTmQKUAkQTDzoKQLbSmjlzSBkIRNrTj9E4f/tjRiOEDRCAZgThyoqQBOOKHspboKAaESIHJAnluFsjJAvAIFJhQr6lXIjqqsEFj785pe+wkPq5dY+/PCxRJPrG0DCQ6Cr0QSIMc0aBEONDRIK5BWAfFyk62YNK7yV6csqHjBlr4dqosFlobrpmCHgWnTI+/MnFm9ytUtgFfx2FFXeW2AutlRpjfj0dWtnYqwF58dGRQUdCUaT1sQxoULo7hvRSVe/0Ndp0A/8qO0s5xYeT7ACEiHzcUy3Z0gmI44zjxnwtO1o2ydPi+gezD06iwSKSVcAONGh+LHnTD61Zde2226qjAFjbw7EnrR+63cDb21clVLQZeTLxL7sxDiibVteGGDi45tVb3cFA8hTb7XwjRGrq79YMM55528LiI9P2IPhE2v5o6IYJFGWRlh3vH0ytRpkZ8pbgQJt8BXpAuddZF22Mr7W/rsrejJ4rhmeVMB8WUkiSYXmlwIFrDIQsiSaHfj+Pgph/126uHY4Tjc44a5feqKZoExcwbeOumkiv8J2y6UdvJ0TMk2kkVGz6d+pfB99AP2yF+4pAHxJrdjBze/N2JG2Q8TwdUabalmlFUkX7vw/OlP1lQDtk2+M7GYTUsyYSBU1wKnn1H93KgJ9joXrYV9gf7L+NUURYh1xRs1Fi5pwG13NvW798JPyDn5zI/Q2KQA3TGaYLoUeC2BPLtTSMCyBVJuHCcsmPjS7GNim5n8FD3XdIojp/hgCTAsAo6eXfrWafPHPm9bSdNRhbziaCJIKEiovJ/uS3PfTkXiqhbMnLsP1yyP93mnPb8hidvubMLMufuwclVLur+8oA7i3O9USkoGVTWsCTqpMLqueeOnFlY/VlMBhG0jYTjI3u3ewu1T21X/KCWtCM+sx8xb/+3FO97eNuYC4giE8LgLe6vG23HMdnZ1oL/bijx8FtgdGu/rvlyguyMNiMz7+ZEIW9jQiSQuvvjArf/2tSPvHDvOP5PLV1f+yURdL9xesUFzcxHQPiJg3nHYcu7Zo3696z+bLhAignYnp495bjP74GYDkwHlT3xvd1ohoDJpuWRAaCdLb7mpfZg0PvqrhedMeGpELWBqRzNdUqLblLDXM6XBYGKvlwojVgks/mz94x87ovq/UskGWEiaPAOvBy7DBsMeAu1Ui+DA9S4GwEKDhR8O0agqdXH22bVPz5kX3mzbmQStd9Sul65L80+zIRohBqZOCh249NL6RyNizyvkuqbhlvA6g/lBSi9U0LlT9NAdTARiBckOpNuKI2c0f+/8hdGnKmtsT+/03uvWexnEyjRf885FlABsMM74J7yweHHdE21tDbAEZein7CTHzsE6tA951YJA5GBEmVq/+Jypv5w1G7ttSYYI96Exfe93Vs6EkwZCmlBbDdxw/ZErJ0+T65rb9gMkjRgknRWgO4QEXc6VXlJUQJ9bbCGEOE45Tf5u4fll66IRwPIs0L6YLKL3QOU8vJccIwQwYaKduuVrx94Rs97fTHBBMH0yoHuw/4eMbsvOKcns2Jlp7KeDiwwh2lE9asczy7489eERY0IQArBAkIwuwS7KzmI4MGERrwWEBbBk78GAc8/Ey1d/adr9un0fJJIgTkGSUboM1fUKK1rz/f7STeYKgq0kIVggQimEUn997avXnrri6Nn4gIiDozz8nTegO8usDFng4+a4olgUWHbZlB/MPzH2MDtxc6xDxnFHPWmyOLRQ8is6zYkPwrssSbCkRjKxG0s+Pe2nSz49cr0gDWIFneMUMJ6O9GEE3RWNfZ6lTHLjH/tHJCEkMPOk/e5VXzz8u9MmtTyulf+CuTtGFLiG9o5Kx+k0LK0BNwWnvQHHHN/+g2tvrPuODANSmqpQAYncLtUDywZzZK8PmtLmYjDiH9Rh/sn486WfO2r1iBGNABrTzeqDA6B1gWtoD/89fEOYVQOmTHYev+WWBXeMHQctoQBSGfVYss/TLfr20Y7sSAjyChZMy+yqSmDRwuhTF547+sZwpD1o6aaUEQ0kXC+6qgYkIbTvi9NEDbROQakkIBRYaVRV4IXrrptz77HHhbcJCcjgGA9tSnnhn89FgwFWoRsqCE9GEySEAMaMs/XSSyr+65QFzkpL7octHPMinH321pAyiAuyUf80I4a0CEytiFTsxeVfrP3+GWdiQ8yigvVplK4T7ZW473ewMh/Gj9PYIWDmEdi/bNnU70853HqcqQXS8sL9WoJgD8pZ9X0zGRQY7RBWI847b9rXl1xcs6aizOv0k+HhESCTKwjVZ/He72AFh6h4/3zwwjZw6rzo1uu/PO3bldG/bWC0GbHHCoI4UMRBz3ivZYN/DTTbY8oOkZoQvN/nIgXmNriqAfPnYtUXPl/xSP04mbJCgCITIkrLCa+NQg577s3iLMIseCwpj4ALWRKLF2Hj8htnr9C8c2tIpryTAzidXlyAG6bblw4QZpwb7zYtJDT5Zxy04Ijp0Sevv2rGt+fMwt6QIFgAJGvkKxHuD2Hfh7fvOWsjoREOMb50Sc2vrr58xv0tLTvecwE47EIhBQG34LcEx2QUjTikd4K5LGSWMml4HnVyodCG2hGJ9TdeNfP/nnBqbJtle2dF6u7smN6z3X5jg/lXZ6Yu015GqoYVApbfOPrBJRdYa2zasTUiU6YuOU94baCsLkXwsmi9BB9lspF8sezbV0wJjBqZfO7qK6fdv+hcbAx5LYACbd2lh2IQQiTd01/ZK1d4mQeCFCrLgG9948Svn3nKqGfgxk04PF/PviIX5AUmR1Dz62cXkwei6fkhyQKxhk3Nmy/65OSfX7Z05JMxG0hX9xi/myaRPrS0CAqmz56L7v3CL64zGaskUxg11sbyr05bcdKJ7gNMDRCU6qAripkcmvW4OSwwKNyGay5OQOoGfOai8p9e8eXK78WibI4q9kJA7HV0Js7v6O2PYfVlRfbsFwIMN2gfRCQgJPCxGdh77VVz7m1p31f65z81f54ojIEYuce1dzh0njKoPBSYm7H43Dm3L79R/8eYkfBidRqahJEglJuNLIbOzup6J+XD0QIoBCBkLBBihMOME+aG3vk/Xxr33SOnJn+i9D4oaocjNByhochc/f/iZudooUxLOTJpCj7bAzRsADZSEE4Dzj697Z6v3iRWjK2VmoTJ3mJJIMHoUNlUJLHdd7C6zUV9Sm9nMC3AkoSSEuD0U/HKFZdOfnTCGH6GqQUsHI8qp1OQ+9PITTdZSYurzO9gAhRruMk4Fsyre+Cm62atmFyPlpBFkCJ3vXL6v0V0xFgYxBE4OQVQXgGc+6my5z5qPbz829/5c2m81ZrPImomlGUQVmEvVaDb5a+FDOrgGESZ4fMzNEiRl9fnpnDcsa0/uGn52BVHzMA+O2zMD3MumOxAhDpXA4c4WFn7TgCVFYwvXBJ7vPnAqPLv/mhPpC1RcyxQku0d4f6ZkbT/zp8CN0tHKacREydG1331uqNXzJ2HHaEoB2esEPlnh+dnqoVPTRhsMdh3VZ8OxDEhEtW4/vpJP1h4RuVaTn60NUQhCF0EJeCJR79Nqp9FbFkWSGmMHL1/4zXXHHbvifOjW6MhmDph//AwNgJdgLLOKKYuTk04ZMHKjBQTeenGxJCSEI4y/v3WI29fdJ54ivWOzZGw6pNPrTMfYBbl0IBScYys/vCFq5cdef+nLrCeLSkV2QRiEIMDgwZWoYZUUmiEbELdCODuO4+7+cS51S+lUg0Z6dfcM+94niqPzOESQ3l9lzUzyiINL1+8ZMJ/X/LZEWsqS40Bz6SGRARHDKb4K9T73NgtGmPHhPCtOw6/+aR5TQ+CDkIIN6uNl+4WCzRyK83+PHeP93vp/RNoQSS0C4sWVf7yimVjHqyphkfLaciEb8TgfnVmpNnPVTA/sy1zctARMxD/2vJj7j5yZt0a6DZYZArzmAQ40wtf6NTWHPMnOJrWaygMuLCgwG4Dzj5j7H/cdPW0e8aNNdWdmSl3QXYSBq/7+RBOKzJpAZYEjp5Tsuu6K+vunTT54FOO0wwFFwQnu396jg5Ku6n8fD9tPOO5xX1WGxRvx/yT2x7+1+Xj754w0XIprzlJg96jfsiC5Tf/IDCiEcLpH8dLV135sftHjwk9R2jzfHaZOzTXm20Eph8HY9jZOxEals1QzgEcNbPkR7ffMe/WmdMRD0lj9/Xe+P8HBCurS7NgVJQBi86LPvfFy6ofqinbv0HABisNrdrzl716O01oCaFlQNF9M0GQA041YnJ9/Fc3/8usu2dPj+4VRlCCqHCW1WBidkhkVxIRLMGoKRf4zMVla849r+rXlj6AkNSIhmI5R0DlpnVnpwUIIUyvJEqisqr1peXXnLBi/vHYKjyPeUG31mAqq0MJLDNXBAigbhRw7Vemfue0+WJlSMahHDeroM2kK6dZXzpoaC5XuyDWiIRSWHbp3IcWnhXdUBIBbFLeZz23VoCNH9oZFoPdp/ScgoADmzUm1VupG66Zde/USft/pOlA0NLBPybeHN6s0sQCGpJNZaINBxIHccHCkls/vQQ/q6yWkBkVA0HjFc9HMZQyhIcgWHkmRzOEK0GOyeIVYcaxx2PXddcdc+/okU3PElrAUsPRCo42BXwsTLjDjwBLba6wTOGUubX3feULdQ9Mrkc7++EO399H0pgFgy/1Dk0xyJ7fzp9UAYKUjDPPqXrtyiuP+X+2+PBPxG2wJWAJL73FywfQni4CKQjRhMMnxtcsu6Lu+zOPKj1gSRPWMELPE5sYuj0Sh5wHo4NCZy9hMvAkELQGpCREbMbnPhN+8jNLRv8UuhlhaRyuUiPdo5b9OJqLqkrrhWWXTXjotPnYHMppnkID1Hz578KDUYgjZ5IDDQZ79Nsk3jCqqoCvXDH5gU+cUn6f43wIgjJpsSyhFQHkQkoG8T4sWVz734vOH/tcSazjYil2rsfft1GcqzOIQEKAhICQEoALITQkaUw73E5ce9WUe6dPVb9QqtXoKUgvy5eRTO3HySc7q5Ytq3x4ZA0BpExqHBiAi0NliKEKEhW40qzN9JNnL6Vo9tHYdskXpv0wVNmMFDcHNhXQgjGjW5+79dY5d9RPgEvClN+wNk0hhlD89dADq7PCamYOcs5BBO0lWAowSqLA2WdXPLNo0ZG3WxSHQAK2TIL09s3/+tXj7z5iemwfe00amRUgTGE6Ffg3DFbf3Bgdzq83xEOCmSAFY0ydcD+/pPSHR81SPxKhNiTVAfzzxSNWf+p8rI/ZEiGbTDUHdZ2LPsQKkA4xsDrZgUTGfJWkccwcbLv00qmPjqx+/9mjZrb95NorZz5QWgIo139dDkpyMERBKTSsQwmcDsot4xfa6xUaCQFnnVGz3klODo0bN273+ImxBMPUiJk/t/LfL/9th9Yc/CM1yj/UhxiegmGwhscwWMNgDY9hsIbHMFjDYA2PYbCGxzBYw2ANj2GwhscwWP+Q438HAO9gmF3zSeYlAAAAAElFTkSuQmCC",qt="data:image/png;base64,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",Wt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAACFCAYAAABc8Qb+AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAACIASURBVHja7H15mB1Vte9v7V11pp67k+4MnYHMhBgSAglDBlAucwJGjdNFEIOCjxniFQU+Lyj43fBABHk8xenidLmCiBqQFwOGXERAoyGEMGUykpB0Jz13n1O193p/7Ko6Q5/TfU73OemO9u6vvkAPdar2b6+1fmvYaxMzY2QcHUOMTMEIWCNjBKwRsEbGCFgjYwSsEbBGxghYI6OowzpyH6Uz1ocLhnHICQT2HoW839MaEEIADGilQNL8HTEAIjjEUIrADDgJwNEa2hWI9wA93doCBIRmRMNwLRsQYYK0zMdLC7BCDAECeU9DYEjv/kQEP1hAZH4jM3RAQwAWDV0Ew00DjyHAMBPoD2YGKQIYYAI6Ohy0dEq0tIrKdw9i3N/+Fm/ctefw5B1vNU9tbe+qbG3pqe5q64kl4hRipvMArGNWIhKJ9FRW221lFegYO65236QpNXsmTKjbM6FR7h1Tj/11tdxhh12UR2yQAqT0JofMxeAAVhpCyTqiYJmPYm+16jRQmIQBxwNPAdBao61Fo2mfVb59L2a8tjU+e8tfmo9/5+2eKe8ebFvZ1gL09GhYVgRCCAghAklAioQyM0hq8zls/g2FBcoropjYWPPosdNj2+cvkJsXzLdfaRiNAw0NSERjRtIA8/sC5EkcpUncPzxYwYcTgVkZcAgAJLRmOAnC3r8j8tabetrLf2xa+NIrh096fU/TFYcPEhKOgCWqABkCIQKtBEKhEKA1tDYTS0QpSyH1szhQp1q7cF0XSnVCUhvKy7rROD6M2TPH3HnSwvqXZ8+Nbps+hd6ur4OOhgBB5o5KCwjxT6QG/QlNVYcahK6Ewjtv2tUvvuie/NzGzmUvv9z9xeZDGt0OwbLDZsKlC60TnvECBCOwZeaeBLAFpkxb6X9acpolB7cBYCRba6MOJ06N4oSF9OX3n1q24ZSF9OKEseY5HZKQZJSi/McFS6dNSrDSQXDijDd2U/n6Da1n/r8Nu/7ljdfdzzcdTMBVo2BHq+G6AHu/z1BpIItMyWHRp4piLTOIQzwwnUQEIgGlFJjbEA61YXR97JlF88MvnX/OxN+cflr0xZoagIhhheiIE44hAUtrDSKCcgntbcBzT7Us/s5j3Z98dVv8ivYuG0oBLitIEYJm6f0+p7HFQB44fbKEBxYRBZ+T+umkyf+PJOikoKWnPpX0/h7e/zuwmFBb075hyaly0+WXHPPdE04M7wnHOIVLHhnQigCW7teVMwRCg0BQILgOQTPwzhvxym/cv+e63/2+4wOH2+RSV1eAKOrRZp1m0FmoAIw+X6i/p/FeV2eoSfb1IRvJEzKpsqUGhNUDx9mHsWMi6z+0YtJjl62u/t6ksXZCCoChISyPeLD33NAeu7X7MAFDJlnpoAXqii1vMsyDJhShSxOeeNQ98+67n79xz9+rzxFyFByWaS8hevk7R9a2Zk6oyxq2bUNQHJxowokntX7vln87/WtLTsYOzQxh+2C5ICKIgEhZ/djsoQSLBeBJkvkAGYAVVwr790s88NDOqx56+K0rpZg4W1iVcF020qdlzvuKHM5p0ZW199wSMm2xBACSBikHmpsxYXz70zddv2DtRReUb6iqMYSDWWUAITIW8cDVZRHVoEhXKzDOpNACUISuBLD1dbf+7nu3rnnqtx3nyOi0OY7jmFUoBLQniEk7k/6SJFRyMRQFlHS1GNgw7/7ZVr4QAprMMwqpwKoVFZG2Fy+7ZNb3V19a9nDjuJCWwleh3jwwZfiVA3/+wYPVa6m43rcZBBsMoK1F47kXxLz7vvXna//0SvmlMlSJhGvUhSaVtG1a9GuT+reRhYZFdV5qMHMooQByYUEhRN34yIeqb/7cZxofmjeLWyAI7K0CpRSklMHnEA2c8MuvfOUrg8OItOeseLLE0psIQyzaOwjPbozPW/vQ1jVb/iovFnIUHMeFJY26FEwgDTAJALIP9aCLrAQ57X6ajKr234eySECarREEsICGhGYLr72278zmZsedNCX86tgGu4sEBazUPL3rLWgyUZwBKMIBg5VkX54j6l3EHHyvctw+vG9OxcJvPPD6dS9vrfmkonJIjYAasweWiQcKEHOKiOqUCeU0tlcKeuw70cTee2SRrKR6psC2ERMES2jEsH1799Ldu/fHZkwf+/K4sehKk1Df9QjU4hElGDoIwKbEkoxBZoG2HuD5F3vmfu2ubV9+bau1SlE9iAgSvjOcHsjVuRiSNymsiw2RSPPbuEA16IMl/Ngma5BKgMQBLDu17ME775x285yZZW1mUbqBcSS2MdCwohgYSDogA+x9+d8nIaAY2Pwapty59n9u3vp6ZBVTLQRn2CO2TFgIwsTac70Bi6KRimzvwTmVq+hzeoL38S4NCSWj0DQOm/5gff6OO1+79c2diGhoj3FYACwMJv4rBvYn5iKSngOVjEQnXGDvPi2+9u9/+vKrm2MfYx1KnxxWfZME0unXkA1dEJkR7FtcAWlVYsPv9U0Pf3v/6sNNCqzIaAbfwR+gNhvwkmWDTpIdkUACAnEF3Pn157+06fddl4VD40CIeCA4YCSS5CP57P0GfY+WqmH2bG4izlCqBj9/Yt9HHvtlyzmum25rBxrBGLAaJO/y0xsuCA4Y3/8hLvrJT+MfL6+dgLgrACFMEJaMA5LzQTMkiZlKYKdKF+3wLwEJBQKoDIc7K5Y+8uPtF298HjNMcDi5+AayCAdhs7QXqmbPfgEv/blrykPffuVzdvmk2V2uhKu92B6HAA6BtZ37AQP975EJHg5SUohZ8NccwyIBrSS0G8PWraFP/PjHOz/55q6u8sEqiEFbbg2T1d2/F+KH//ftS/bvC50Td2woAFY44jmBBCIL+WSAmGmYqbX8bZuRLgkikykAFLSsw++eU7dt2NDx/ta23s4HF+A9isJfQAaX7/k4CeC3T+Oc32/QtzmiAoLCkCRAntiDFJhdEGmwIBPqIRcgN6lOh6ltylddJSHQEAIQrCGYICmG9o4wfvbzNz66+TVM63Y1NHTw/kk2XRLJMo/FnqbSGtjxdlf1E+veu7C5PQZyyyE4BAEJrRzvobX3YA40e0Sf2HOCVfC94U8e+jRcYC87wKyCehAFhrYEtm2v+cQTz+CiljYB5TKYXTC7gfUvCVjkOePE5r/bW4Cnn2o557Ut732WtRXQ88yXE9Aw3ojrXYZ4aD56Shf7BMwjSJrgXQwFDaktWGyDnRh++5s3zt62LT4tkZAAh811pGyWAvDm2xj37O8OntHWLiFEyDBFSolmZLA8Yk+iNAP66KsxTQIm+p0+U7ij4GoHJGLYvSNx5i8ee3Vl3DGRHxICglMi/6UAS2sTTOvsdLHpD1j819edz8IuMxQdbqDniQiKzcWaoJXJaWkhoEEY/sqvL8DSnWbt6Y4kiBKAhCYNTRqu1rBCMfzqqbeXv7oNk3tcbag8dGrVTp+j8Ipcz1Y5Gti3X0ee37R3SWeXgJQSrq/WqLfaUFAAAVorU23L9oAnq7pKYOWKCCZPsjB/rrnP5EkWjpnUm21u3uKgpUVj526Fv2xJ4PEne9DSWozIiE8pdK8wVHoMUQX1IIJC2Le/YfHjj7WuPPWUqntc5cCyhMcH+2fKAwrkug4Qd4F169sW3njDW3883B4FWxVgLXpR72RawbxUSDJcVwwo6lxdJXDZxTHccHU5qqsGrkK/90gX7n2gHTt3q8FJmKBeKowykoyCvTgqsVfXeAijats3bnp+wbLxo2IpUY1SUHfvr5rbgE3PH158qAlQOpTF+GbG1gSktOG4ekBAzZ9r41f/XYfbb6kcFFAAcNnFMTz/zGhcdnFscLKlC0vdCCEQCVfivQM85tfr9p+XiJspolLaLCGApibU/uGlPackRDWEDENqAVIqxWD6wd6gSAysAYI9YKB8lVeMUV0l8M211YMGrLdzm048NAloMpqEGVBswbarZqxb99a5h7sB1kF2qTRgJRIKW1/HnDffVh+2LBtEhoZDiD6ZEVgPbFLvrh60NOUat99SmdXWFT8sZeZAKYYUUbz66oG577yFRhacNwpW4Q8HxF2Jl17etbC7mxGNheC6buB3cR8vRQOwj5ddHOtXonbuVti1280OdrXo8+99CVu+qrloTDF7sNorPgXBFjaaD4xbuvlPOGHhidib7zIsGCwFoKubsflP++ZLWQFXG9rqF+7r3ExmQFJ1w9XlOX++eYuDT11+qF+i4N/nhquy3+uMpWEcM0kOnHAwBwwhV1aByUt0MoNhw0UZ/vhy06J//fSoJytDgCwFwYAGdu/uGvPWro4ZgsKA0n06db4NowH4VCtXRHKqv81bHCw562BeE9zSqnHbV9tw21fbcv7OB5dHB2WvMm1X5uVnFQg2XBeQsgI7dnVNOdDsRPI1DgWDpTXw5tuJGW2d1onSjkLpRIZTWLwxb24o588+dfmhgu93zwMdRfKxBm7PtNbQgiDtCN57r+Nje3f1NOZrygueXaWA7W90zXKdcihlQ5CdVZIKTYtnZYHH2zmlaqAqa/NfnZyqsNjAZFOJCgxIAZBEV08C+/Z1j9GlYoMJBt54428zWUVhWeEsIOUbOcuPsmcbv3iye9iGofpjhxIEKA1igXhc4q23Ds2IuyWUrL/va24kGYViynFLkcos8M8zqM9lGuwJYy+aAQeHDju1+UpWwWywvRM4cPBQvSVtb0e9lRLYBIpX3oycdDoXTc9nTJ5k5aT/xRkia8wwoPWwjLspTMlDy+GOqng3gFgJwOpqRUwlpBBC9Bc4y8KVChvPbowXdd37FL3YCyCVCxKbfWiZSieo/fE2ogt2ILSDrjYn1tUOgbr+V3nBarCjHeVdHWqp7/wRCxCLnLqaMDxqKqqrBG6/pbJPn60odku4YOFCCUAJBMnI4Ofa1Mj7tRodXeqG7i7E8pXZwsDqRLnjCkgyEWcNZXY1ksx6u+FgsfqLLe7crYouxf3ZcoYweT4HUIn8NFzBYHV1IQa2TT5KM8DKSwsMnqqXYtxwVTmef2Z0nyGnex9oLyYn9NRhJrdKnx/yGHTcYbgqP7AKtlnhMBJCCCjyC/s9H90XdW9bqiZvN/0Q1VicsTSM22+p7Deu+ItfdeN7j3QVjw/2k5iilLCUyUCIvKPuBYMVDaPLtgQc5TUIQQ5DOkQ9vPqLA2YSmKtvai26r5UrkJsKmGYGEyFsS9gyP5VUOFhR9AjpINjfTb1jgemgHVlp+uba6rxSHrd9tQ33PNBRfE+LRF6ASiHAmmHF9EPhSnSVBqwydEm7+wUkek4VZAUirER6x5dkCIaGlTRt3uLgmptaisb+ssX+srs1OmmsAmAtRMKiJxpFT0nAGl2PrtGjYgcOt7uwZBIsEWz74fT2byWmgx9cHsX9d1f1m5xsadW45/6OkkhTXzZLIH1jufZ3fAoCuwlU1YTaYuX53btgsOwQMLq+qmn7Wz0QMhK06Ql6fvSq+qGSEPjqKoH7767KK7Xx7MY4rlnTUsQoRQ71RpzS6SaX7TbbbzUULGlhVF34YDhUIrBIAA1j6vcnlIOIBChhHtAR2R+SiYseHixEmq6+qRW/+NWRCfwWovQFCGHLRl1DtImsEoElBTBt2rh3gO2AqgFzqFf/wEzbVUxpeuQ7NXmlM+55oAP33H9k81feNnaw5qDYOHMeksWvLqyowpTG2h35bvAsXA0SMGtmeHs0rKB0HJqsDD2d8cmki7In2I9C9CdNO3crXLOm5QhEJLKBxRD+7hq/nVGGCSDtmQ1bIRqNr5/UGN1jW/lKY6FBEwEcOy2ybcyYsg2sHVhkeTv2UzbYpdxWFWG/Vb5A3fbVNrxv0XtDAhRg/CYlNJTIIiqkQYIBcqE5AVbdGDu26t0Jk8P7BZUKLAIaGmTblAlVO1zVAxd9F3fKQVL36irRL1DPboxjyVkHS870+iYX6W1khempkMKKBVib1keWRXDdDsycOvqN2hoLYFUisADEbImTT5r4B0IcfaVKirE5rq8KXL8QZvmq5pL5TXnPCwNCawjFsJhAms33PNCCti4MsNYIowcL5pX/2Wir/GAovG4QGmXlAsfPi22pqXBxqCcOIhukpdeLSQcPn27LCneQ/dr2XEAt/8jQg5SkFn4WmNKiGKRNraA/L8xmS1Rd3b4NJ87DK1LD9HnKo9i98M10ZMqAp03F28dMlT9RTo8HjEmRCBbJbpmZ71PgWLkikvNnV9/UOkyAAjQRFFlQZEFTCAq216AZIC1A2hTIQDCEEHB7OnHykokvTp6JJiGRtU9U0cACgNrRaDlp4aSXLXRDkAvABZGCJh10BMvmDBYycpWi7dytjpjvlJ96YhApMwcyAYg4CGYelHShLWXskiYQ4rCpE2d+YPrvyiOGA5SMYADmxIG6KuCUUypeaKgSEKoLRA4IpuCT0ipAvA0KTAUXepY2BV8kBSg4SL4SSYAc06BFONDQIK1AWgXEy413Ykpj9a+XLa16zpZ+zkvnuSgKF3q4rgs7HMLMWZE358ypfeDZF/ZfRdLfwU9Z/a6AwRfBWa6uFnkFbQsdBbPJ1KAsKy+hGEkjVix0+ivrFpx93oKn6sfYmvxInBZ5ic2AziKRUsIF0Dg21HLSKWNffuGVvaarClPQyLs3oRcDF+Usflcxt/8MFCyC7LUzhr0TIXy77QduiUxj5Nr6dzeed8GSdRHpxRELWLwDmjsigkUaFRWERSfTSzNmRn6muBUk3BwfkdzorPPs2TTcR7YQW6qfqcmFJheCBSyyELIketwWvH/ZMb+bMR27HIcLbpg7qK5oFhhzZmP7aadV/U/YdqG0k6VjSrqTLFJ6Ph29SKF397aUrgSp2WImgqs1uhPtqKiKv/LBC2c9UVcL2DYFNaElbFqSCgOhth4486za9WMm2utcdAKUwxv3X8bfTUF01AJFZFpDUJYgrfGzJEhLCLYgJGDZAgm3BacsnfzCvAWxLUx+iZ5rOsWRU3qwBBgWASfMK99+xuLxz9pW3HRUIW9zNBEkFCRU1r8eTHPfoVN/HMTdMtW536mUlAx21bAm6LjC2Ib2TR9eXvtYXRUQto2G4aB6N7+Faw18gZnNsJIEassIZ39g9NObNm4/7Y0dzkXEEkJIvyjL+33lGWC/IFQlJS5HVL5YuxGLaqf6MbhamM5vQSRH2GDl4uxlDb89YyE2RiOWl44VgUY1zV1KJFlmsr3GHGyaEy86CVvPP3fMb6JWG2LhVFvl2biU9qlpKvAoaQeUS20n2/94Jkg7kOyCtIJgDTdxAJMnJH69/LyJT46qh7dIdRYOUEI1qMFgYg8yRqwaWPmJSY+/79ja/0zEm2EhDkEU9MBl2GDYw6CdagkCuN7Fvl8l/HSIRk25i3PPrX9q/qLwFtsuDJyigUXel2ZDNEIMzJgSOnTppZO+HxH7XiLXNQ23hNcZzGuL46cK8vI0j8LBRCBWkOxAup04bnb7ty9cHn2yus72nOeBBwYGroO8smn/XEQJwAbjrH/BcytXNvyiu7sZlqAUGptcUX0zQcLRfsirFgQiB6Mq1IaV58345dx52GtLMpZgEI3pBy5ZGRNOGghpQn0tcMP1x90zdaZc197dBJA0apB0WoLuKFJ0GVeKq5XDnltsIYQWLDtD/n75hRXrohET7E2ed3kEwcqUFF+8iU3af+JkO3HLl068I2a9s4XggmD6ZEAXIP/DxrbptCu1Y2fmRgOTXGQI0YPaMbueXv25GQ+PGheCEIAFgmT0C3ZJJIvhwKRFvLyZBbBk78GA88/Gi1d/dub9uucAJOIgTkCSMboM1f8KK1nz/WLZJnMF+69IQrBAhBIIJf72yheuPX3tCfPwLhEHR3kkmfSRVoOQOf7cHFcUiwKrPz3tB4tPjT3MTos51iGFuhfSZHF4oeS7IebEB+FdliRYUiPetRerPjbzp6s+NnqDIA1iBZ0RFDCRjiSFz1c1DnqWUsmNf+wfkYSQwJzTmtyrLp/+rZlTOh7Xyn/BTIkROa7hLVHJPJ2GpTXgJuD0NGPByT0/uPbGhm/IMCCl2RUqIJHZpfrIssEM3euDprS5GIyWdxuweAn+cuknj39k1KhWAK3JZvXBAdA6xzX8nWQiY4eEdsCqGdOmOo/fcsvSO8Y3QksogFTKfiw56OkWg/vT3uxICPJqP0zL7JpqYMXy6JMfPH/sjeFIT9DSTSmjGki4XnZV5Q4CD6s4rskaaJ2AUnFAKLDSqKnCc9ddN/++E08K7xASkMExHtps5YV/PhcNBVi5bqggPB1NkBACGNdo64svqfrPZUudeyzZBFs45kU4/eytYeUQ52Sj/mlGDGkRmDoRqdqPyy6v/+5ZZ2NjzKKcpeOU3Cc6IHVfdLBSH8bP09ghYM6xaFq9esZ3p023HmfqgLS8U3+0BMEePimTvF0GBUYPhNWKCy6Y+eVVH617tKrC6/STEuERIFMrCDVo9V50sIJDVLwvH7ywDZy+KLrt+s/NvLc6+veNjG6j9lhBEAeGOOgZ77Vs8K8jzfaY0lOkJgXv9bngBJi74apmLF6IBz7zqarvTWqUCSsEKOIgqEveFBPJXux5IIuzBLPgsaQsCi5kSaxcgU1rbpy3VvPubSGZ8E4O4GR5cQ5umGxfeoQw48x8t2khock/46ADx86KPnH9VbPvnT8X+0OCYAGQrJFti3AxlP0g3r5w1kZCIxxifPaSul9ffdns+zs6dr3tAnDYhUICAm7OTwmOySgZcUhKgrks7zL/r+FF1MmFQjfqR3VtuPGqOf/7lNNjOyzbOytS5yMxA2e7RWOD2Vdnqi3TXkWqhhUC1tw49qFVF1mP2rRrW0QmQAzoLLnQI+V1KYJXResV+ChTjeSrZd+/YurCmNHx9VdfOfP+FedjU8hrARRY634jFEOQIsnPfqWvXOFVHghSqK4Avv6VU7989rIxT8NtMenwbD37uLSN1QKXI2jB51cXkwei6fkhyQKxhk3tWz7yoan//emLRz8Rs4Hk7h4Td9MkkoeWlsDADDpykd8PPPH3KlZJJjBmvI01X5i59rRT3QeZmiEo0ctWcIlL14LHzWCBIqiicM3FXZC6GR//SOVPr/hc9bdjUTZHFXspIPY6OhNnD/QWY1iDWZGF/UCA4Zo8GJmdFkIC75uN/ddeNf++jp4D5X/5c/uniMI4EiPzuPZeh85TCpWHAnM7Vp4///Y1N+r/GDcaXq5OQ5MwGoQ4g+WJ4SNZ/UtSNhwtgEIAQsYDIUY4zDhlYejN//XZxm8dNyP+E6UPQFEPHKHhCA1F5ir+ixvJ0UJBCwUmU6bgsz1AwwZgIwHhNOPcM7vv/sJNYu34eqlJmOotlgQSjF47m0qktgcPVt5c1Kf0dgrTAixJKCsDzjwdL11x6dTvTxzHTzN1gIXjUeVkCXIxnVxNDE3pp/Wk1agToFjDjbdg6aKGB2+6bu7aqZPQEbIIUmSuV07+W8JAjIUhHEGQUwCVVcD5H65Yf7BzeuW93/hLeUuntZhF1EwoyyCtwl6pQN7bX3M51MExiDIl5mdokCKvrs9N4KQTO39w05rxa4+djQN22LgfpnRM9iJCfZuBoxysNLkTQHUV4zOXxB5vPzSm8ls/2hfp7qo7EShLj45wcWYkGb/zp8BNs1HKacXkydF1X7juhLULF2FXKMrBGStE/tnh2Zlq7mZbQ60GB2/qk4k4JkSiGtdfP+UHy8+q/hXHD24LUQhCl8AIeOrRhI90UEVsWRZIaYwe27TpmmuOue/UxdFt0RDMPmH/8DA2Cl2A0s4opn5OTThqwUrNFBN55cbEkJIQjjL+/dbjbl9xgXiS9a4tkbAaVEytrxhgGuXQgFItGF373nNXrz7u/g9fZD1TVi7SCcQQJgeGDKxsDakENKTQCNmEhlHAXV896eZTF9a+kEg0B7muAOR8o+NZdnmkDpcYSnh72phREWl+8aOrJv7XJZ8Y9Wh1uXHgmdSwyOCIoVR/2ZxGo07MJI8fF8LX75h+82mL2h4CHYYQblobL50XCzR6K8n+vHCP93PpfQl0IBLagxUrqn95xepxD9XVwqPlNGzSN2JoPzo10+zXKpjv2ZY5OejY2Wj50poFdx03p+FR6G5YZDbmMQlwahQ+16mtGe5PUJvuNRQGXFhQYLcZ5541/j9uunrm3Y3jze7O1JK7oDoJQ9ekeRiXFZmyAEsCJ8wv23PdlQ33TZl6+EnHaYeCC4LjBVCz26BkmMqv99MmMp65uc/qhuKdWLyk++Evrplw18TJlktZ3Uka8lbawxYsk/IXIDCiEcKZ78cLV135vvvHjgutJ3R7MbtUCc2MZhuF6efBGHa6JELDshnKOYTj55T96PY7Ft06ZxZaQtL4fQN3/v8JwUrr0iwYVRXAigui6y//dO136iqaNgrYYKWhVU/2ba+epAktIbQMKLrvJghywIlWTJ3U8uub/23uXfNmRfcLoyhBlLvKaigxOyqqK4kIlmDUVQp8/KMVj55/Qc1vLH0IIakRDcUyjoDKLOtOLwsQQpheSRRHdU3nC2uuOWXt4pOxTXgR85xhraE0VkcTWGauCBBAwxjg2s/P+MYZi8U9IdkC5bhpna5NuXKS9SWThuZytQtijUgogdWXLvzO8nOiG8sigE3K+1svrBVg46d2RtRg/pSeExBwYLPGlElW4oZr5t43Y0rTjzQdClo6+OdXmcObVZJYQEMyIBmw4UDiMC5aXnbrx1bhZ9W1EjJlx0DQjNmLUQynCuFhCFaWydEM4UqQY6p4RZhx4snYc911C+4bO7rtGUIHWGo4WsHRZgMfC5Pu8DPAUpsrLBNYtrD+m5//TMODUyehh/10hx/vI2ncAgyPc1SOOjXIXtzOn1QBgpSMs8+reeXKKxf8H1u892fibtgSsIRX3uLVA2jPFoEUhGjD9Mktj66+ouG7c44vP2RJk9YwSs9Tmxi+h7MNuwhGL4POXsFkEEkgaA1ISYjYjE9+PPzEx1eN/Sl0O8LSBFyl9qQJ5PleAgQXNdXWc6s/PfE7ZyzGllBG85RS13r8Q0UwcnHkVHKgwWCPfpvCG0ZNDfD5K6Y++IFlld90nPdMCwcpAJbQigByISWD+ABWraz/rxUXjl9fFuu9WPgoaFM0fJ3iTJtBBBICJASElABcCKEhSWPmdLvr2qum3Tdrhvq5Up3GTkF6Vb6MeKIJS5Y4D6xeXf3w6DoCSJnSODAAF0fLEMMVJMpxJVmbhNeWESDGvBOw45LPzPxhqLodCW4PfCqgA+PGdq6/9db5d0yaCJeE2X7D2uvjMXzyr0cfWH1trA6OgPKOR9degaUAoywKnHtu1dMrVhx3u0UtEOiCLeMgvXPLF79w8l3HzoodYK9JI7MChNmYTjm+RsAaXBij1/n1hnhIMBOkYIxrEO6nVpX/8Pi56kci1I24OoR//eioRz58ITbEbImQTWY3B/Vfiz7MNiAdZWD1IYFExn2VpLFgPnZceumM74+ufeeZ4+d0/+TaK+c8WF4GKNd/XQ625GCYgpJrWEcTOL2MW8oPtNcrNBICzjmrboMTnxpqbGzcO2FyrIth9oiZX7ey3y/7bYfXHBSjUf7IGFGDI2MErBGwRsYIWCNjBKwRsEbGCFgjYwSsEbBGxghYI2MErBGwRkbpxv8fAHgs09LI7LUvAAAAAElFTkSuQmCC",Jt="data:image/png;base64,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",Xt="data:image/png;base64,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",Zt="data:image/png;base64,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",_t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGsAAACFCAYAAABc8Qb+AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAACFrSURBVHja7H15mFXVle9vrX3OvXVroCagmARkFhFBFBwQJLGdwSEJmdo4hCSa56ykY6K+tCaar8kzsTU+OzGaNJmajsZogsZH0CBtjJpgEBEnREIEkYKihlt17zl7r/fHPufcoW4NtwYotHZ9+6OounWGvfZa67fGTSKCwXFoDB5cgkFiDY5BYg0Sa3AMEmtwDBJrkFiDY5BYg6NPh3PgbmXy9ocPgTXICQQJHoWCzxkDMDMggNEapOzfkQAggkcCrQkigJcGPGNgfEaqDWhrNQ7AYCNIxOE7LsBxgnLs7ZUDODEBg0DB0xAEKrg+ESF0FhDZT+S7DuggEIsOngfDzyGegCGwCxgOEQFpAgQQApqbPTS0KDTs5yHvvo9Rf/97asy27fvGb32jfuL+puSQ/Q1tVcnGttJ0imIidBaA1SKaS0pK2oZUuY1lFWgeOapm57gJ1dsPO6x2+2Fj1I4Rw7Grtkaa3biP8hIXpAGlgsUhOwUSkZUOImcdUGLZW0mwW00OUYTYEicgngZgjEFjg8GenU75lh2Y8sqm1PSNL9Uf/dabbRPefb/xgsYGoK3NwHFKwMxg5ogTkMWhIgJSxt5H7L+xOKO8IoGxY6pXHTG5dMvsOWrDnNnui3XDsLuuDulEqeU0wH6eQQHHUQ7HfeCJFd2cCCLaEocAQMEYgZcm7PgHSt543Ux64c975j7/4r7jXt2+57J97xPSHsPhSkDFQCiB0YxYLAYYA2PswhJR1lbIvpdE4tQYH77vQ+sWKGpEeVkrxoyOY/rUEbcfN3f4C9NnJjZPnkBvDq+FScQAJntFbRjMHyIxGC5otjg0ICTTGm+97lY995x//NPrWha+8ELrV+v3GrR6BMeN2wVXPoxJB8oLYEGky+w1CRAHQvm6MrxbZpmVRJcBYDnbGCsOx05M4Ji59PWPnFi29oS59NxhI+1zeqSgyApF9cEllslZlGing+ClBK+9Q+Vr1u4/9f+t3fZPr73qf3nP+2n4eijcRBV8H5Dg8wKdQ2TO5xzhTkWUGJUHHFKR6iQiEDG01hBpRDzWiGHDS5+cNzv+/NlnjP3dKSclnquuBogETowOOOA4KMQyxoCIoH1CUyPw9OMN83/4UOtnX96cuqwp6UJrwBcNxTEYUcHnJQctRvwguYvFAbGIKLpP9t3JUPhNhuikYVQgPrUK/h7B/z04Qqipblp78olq/RcuOvxHxxwb3x4vlSwseWCI1gfEMl2achZAGBAIGgTfIxgB3notNeR7d2+/5g9/bP7ovka1wDcVIEoEsNnkKHRhHRGj0xfq6mmC1zV5YlJCeSiW81hlRLYyADtt8LydGDmiZM3Hlox76NJlVQ+MG+mmFQMCA3YC4CHBc8ME6NbtRAUcNM7KJVokrsQJFsM+aFoTkobwyCr/1O9855nrt/+j6gxWQ+GJynkJbmfvHFjdmr+gvhi4rgumFCS9B8cet/+Bm/7llG+dfDy2GhGwGxLLBxGBIyDldKGzDyaxhIGAk+wNVESslNbYtUvhnvvevuK++9+4XPHY6ewMge+L5T6jOrwud2Cc9rmwDp5bQeVsloiAZEDag5F6HDa66Ykbrp2z4rxzytdWVlvAIaLzCMF5m7jn4rIPxSDnihVYY5INA5qQTAObXvWHf+e7m5Y//vvmM1Ri0gzP8+wuZIYJGDGjZ3JfklhnNkOfECVXLEY6LLh+oZ3PzDBkn5GVhuj9qChpfO7Si6Y9uOzisvvHjIoZxaEIDdZBKM+u7Pnz955Y7baKH/xYQHAhABobDJ5+lmfd9f2/Xv2XF8svVrEhSPtWXBjSGd1muEud1LWOLNYtarolBvOHZg2QDwcaMWrFJz5WdeOXPj/mvlnTpAFMkGAXaK2hlIruQ9RzwK++8Y1v9I5GZAJjJeAlUcFCWGDR1Ex4al1q1or7Ni3f+Dd1Iauh8DwfjrLikoVABhBiAKoT8WD6WAhKzvUMWVEdvg8V4IAcXcMECMNAwYiDV17ZeWp9veePmxB/eWSdmySmCJXap/eDDU3Wi9MDQdhjYmXQV2CIBpNEop8NGbUTR82omPu9e1695oVN1Z/VVA5lEEFjCYhl/YEMEsliUZO1oJKD9voDHodGNEnwHgU4KyOeKdJtJAQWBYNSbNnSuuCdd3aVTpk88oVRI5HM4dDQ9IjE4gEFGCZywGb5kqxCFkZjG/DMc20zv3XH5q+/sslZqmk4iAgKoTGc68g1HSGkYFHE9DWJOMdukyLFYEgsDn2bYkA6DeLdWHhi2b233z7pxhlTyxrtpvQj5UjioqduRe4ZkUwEBiT4Cn9OzNACbHgFE25f8T83bnq1ZKlQDVjy9JE41i0Etr72jt5AuM9ARaH3kA6FK3e6PNH7BNNAQasEDI3C+j85X77t9ldufv1tlBiYAHE4ABz0xv/LPfsTO4lUYEBlPNFpH9ix0/C3/vUvX395Q+mnxMRyF0d05yCBTO48aMMUBWZYQo3LUM4QrP2jueH+H+xatm+PhmiykiE08HsozXq8ZcVSJ4OOiJEGI6WB27/9zNfW/zF5aTw2CoSSgAgeBOkM+Mg8e5dO30Mla1gCnZtOCbSuxq8e2fmJh37TcIbv5+rannoweiwGKZhheMMHwYPgwZ/gvJ//IvXp8prDkPIZYLZOWLIGSIcPmsdJItQPeqr/vB3hZChoEEBl2NdSsWDlz7ZcuO4ZTLHO4czm68km7IXOMoGrWgL9BTz/1+SE+37w4pfc8nHTk76CbwLfnsQAiUGM2/EDRvI/ABMyELikGLUQ7jmBQwyjFYxfik2bYp/52c/e/uzr25LlvRUQvdbcBjaqu2sH+Cf/8eZFu3bGzkh5LjQAJ14SGIEEIgfdiQCJ0AATa93XbZa7FIhspADQMKoWf3ha37J2bfNH9je2Nz6kCOuRi38BFc3Q8vHSwO+fwBl/XGtu8bgCTHEoYlDA9iANER9EBsJkXT3kA+RnxOkA1U3dFVcZEhgwAywGLARFpWhqjuOXv3rtkxtewaRW38DARO+fQdP9wln2sSSQVMYAW99MVj2y+r1z65tKQX45WGJgKBjtBQ9tggfzYCQA+iSBEayjnw188NCp4oIE0QERHeWDaAiMw9i8pfozjzyJ8xoaGdoXiPgQ8SPt3y/EosAYJ7HfNzUATzzecMYrG9/7ohgnguf5L8cwsNaIH0wLPIwcOqmLnRIsAEiGEEyBhoEyDhxxIV4pfv+7107fvDk1KZ1WgMTtPFA6SwN4/U2MeuoP7y9qbFJgjlmkSFnejDyURxJwlBHAHHo5phmCcZfLZxN3NHzjgbgU72xNn/rrh16+IOVZzw8xgyXL898fxDLGOtNaWnys/xPm/+1V74twyyxEhx/JeSKCFjvFEIy2MS3DDAPCwBd+nREs12g2gezIEFEBUDBkYMjANwZOrBSPPf7m4pc3Y3ybbyyUh8nO2ul0FJ+RG+gqzwA7d5mSZ9bvOLklyVBKwQ/FGrUXGxoaIMAYbbNtxe3W7Q4fp3D+4sQBIcKd9zQXrbvRLieE83yIOsoHYYph5666+Q8/tP+CE0+ovNPXHhyHAzzYNVLukSPX94CUD6xe0zj3+uve+PO+pgTEqYAYbge9M2EF+1IxJfB97rbXedGCOB5bVXtAiFU+4t3iOIypnQijvCAjS+BHJQnyGvdiaE3TuvXPzFk4emhpllejP6B78Ff1jcD6Z/bN37sH0CZWQPnm+9YYSrnwfIODm4Tch54LU1zohplREh+C93bLiN+u3nVWOmWXiPpTZzEDe/ag5k/Pbz8hzVVgFYcyDNI6S2GGzt4oSQxiAIKLD+LIGLe5wMMQw5CVJCKAFgeuWzll9eo3ztzXCoiJokv9Q6x0WmPTq5jx+pv6447jgsjCcDB3iowg5oNHpCLUCBFBa4HiBF5+effMt97AGGHpNhV64MEAUr7C8y9sm9vaKojFAhFopFN2tkHJD37PjY6JZ0NKTC5cVY763aMWbPgLjtFFaISi0aAGkGwVbPjLztlKVcA3FraGifumYyTT5wtzyzcbsWGjNxAoFCGEjqIKQkGgUwQCFz7K8OcX9sz750uGPjokBijqB2LBAO+8kxzxxrbmKUwjAG2ti460awYt9T2xNmz08NS61IDQV9TVW4YpbmD4PqBUBbZuS07YXe+VlI9027qT81S0GDQGeP3N9JTGFudY5SagTTrPKBwcnYlEYwwME5Rbgvfea/7Ujm1tY7qryoteXa2BLa8lp/leObR2weS24yTLTcWFxT+IhCkkEjUEUAyQQrItjZ07W0eY/kKDaQFee+3vU0Un4DjxAkTqrufsg0mwrtChAgHagISRSim88cbeKSm/HznrHzvrx5BKQBcMFOaRiT5MXdeo020a1YRJ4M2Ah737vJp+46ymFmD3+3uHO8oNKuqdvMt8uMRfl5s13/UGJ3LLiRAa9jVXplr7iVjJ/SjVacXM3JXjLMqp+BAJQlufVQAxhHEuUQaGNUQ8sPGQbPRKk03do0PR0L25CeXJZr1ARMBMtpJQBAa6cMoxqN/odf7iBGbP7L77asNGDxv+5qFhf/9xvrAPEEETF9QCNmMrk6vRnNTXtSbxvwE09z2xWlDu+QwVeJxNEPqgyMVv2tkg/TUuvbC0R3/368da8cDK5AG20fLrtNjG+TxAp7tHh+LFYBKlENfGo4wAooOwwKGjq85fnMBjq2rx2KpaHD5O9bkotOIwn6ty14cCBJ3yBL7uJ2LF40gzs20yQhyE8LPTna2CDSOkA3ksWhDHM08O69PgZlfZttkJoUQubGlUPwGMRBxJ12Fk8tYLK9JDxdKqqmSs/GF1UbqvWOM4HyUSkc3oIkLcVXBV90RS8cRKoI1Vxnman7NeTALIQBqP/Xctqiq5Dzir6yi4BWe22NApNffFh9harj4HGIkyJJXb+izSbScyORELa87t+JLZZb2LCj+1LlV0uD2fc2Yf7WL2TBeXXFjWoY6qqmRcemFpkXkY7YcxBoXNGpNRVhFhHZTEuS2RQFu/cNaw4UgOG1q62xg/J2+AhWzJaajDcHCaUeWPhv0GT61L4c57mnHUvPc6JcZ1V5b3uc4K8yWzJY6IgIkgOo3K6lhjaTdvWzSx3BgwbHjlHuO32YLNMI4ToB+bMMN5LpiBM275ZiN+/Vhrh9y1aEG8x9eWLPgXEaddMaBFhQYapBwMrY2/H4/1E7GIgboRw3eltQcomzTCYst+cqOemTqsgTZu+WZjh7/rDdAoRlUzCHHHRW3dkD3k9BOxFAOTJo16C9gPaD8oUHDaob9wZw1EP+7b7+h+uW5Qxg4YyULFBfyDRNDiw0loTBgzZGt3LZyiAYZLwLSp8S2JuIY2KRhy8uR03p3J9FNN8MAbBAGH1TVhO6M8fiMTFMC7GolEas24MYntbn9xFjNwxKSSzSNGlK0V48EhJ6jYzyqwy7qsFsKHY1i7SbOB5gKsQgbEApAPI2mIbsXIkZXvHjY+voupnziLCairU40TDqvc+o8dLR8RlsIQNRSbvQAYh49TGD+u/SM2NJiBkSiTAy5MtElFBCqvKbKI9VTYUiAD32vG1IkTXqupdgDRQDc6zxRPLAClrsLxx4390/o/vbSMmYMqv47lc298eLfeNKSg7bV4af2AIpZFfiYwX2wkgmBTrCX4PhSPxhjE0YY5s8r/aqUV948YFBiUlTOOnlW6sbrCh2dSMASQUWBxchRrLqH6DmkU4raDra2iIsM804UM5RQriNiSqNranWuPnYUXlel+omjx0J1sGvCkiXjz8Inq59prC3oD2p5NLJzplonemVsdxZ0OH6d65S3vzHHbE6RoiKDJgSYHhmLQcCMzhgyDjE2QAVs3k9/WguNPHvvc+KnYwwoF+0T1GbEAoGYYGo6bO+4FB61g8gH4INIwZCAFnYPFN8ra8LeO9VIh8dhd91NnnoqXNqaLvqYDAZG2a6DSAKdAsOuglQ/jaKuXDIGQgkstOPWjk/9QXmIxQHcBRo8wtXKA2krghBMqnq2rZLBOgsgDBW4VyskACQoUpPiY8YaNXoc7/fzFCVx3RXnRhOrMw/7UulTRnEUctJQNIr8gzzZoYQ8GBmQ0yOgILfupFkwYU/XbhQsqn3ZVaIeabm6K4pkevu/DjccwdVrJ6zNm1Nzz1LO7riAVVvBTQbtLukxZLTweXNnSIRfdetMQLFoQx68fa+10kUNn7qUXlnbqWX9gZbJIMZP1reggoFiSo4OETe4rmwacftacx4ePcA1RsB6Gu8U2PdLUSin4AMaMjDUcd8LIF559cYftqiIUNfJuD+i5R6z8wMpkp97yRQvivfLnZXNVRz7Djmml2lXGSHAiRKi3DYWo2DZGrhn+7rqzzjl5dYkKEGIRm7dHYpCI4JBBRQVh3vH0/JSpJb/Ush/Efge3yBQ6m272bMoGGVctb+hXLLdho4cLv7CvB7rbdKCbDQz5MOSDheGQg5ij0OY34CMLD//DlMnY5nlSdMPcXnVFcyCYMR1bTjqp8n/irg9tvAIdU3JzDzir51Mxu76/CLZho4fFn6gvLuOJ0L57W1ZXgmz7UojgG4PWdBMqKlMvnn/utEdqawDXpSgntB+blmSTgVAzHDj1tJo1I8a6q320ANSB7ghfJggZFGssP7AyiZNPe79PnbB33tPcI0IRFa5Hs+nTQZpZYHeyAhyXkfYbcMKC8c/OmlO6USjsgOrbTnHk9T+xGAKHgGNmlW9ZNH/0U66Tsh1VKCiOJoKChoIu+NfFNvfdsNHDUfPew1XLG3rsbnr7HR0FIm/5ZmPROYRRf3mmduI87FRKWkVVNWIIJqUxsq5p/ccX1zxUWwnEXSthBIxiGsn22BUQ9ltSxKgpI5z+0WFPrF+35aTXtnrnkSgwqzApK/i8DhQwB2hJZziuSK/8AyuTeGBlMkJ5h49TXeZPbNjoYds7fq8407qRumjHyrbzW9SWlV2I9nH6wrrfL5qLdYkSJ2hpzJFEtc1d+olYViZzBPuIgHnHYdPZZ4743fb/aDyPuQRtXl4f8/xm9hls2+PFC0P2Tx0Ih1IHYjvbWaMEYOPl6C0/vRsTDkv8dvFZYx8dOhzBJs12SXG3IWGPV8pAICRBLxVBaRVwwWfGPXzUETX/mU7Vw0HK5hkEPXAFLgTuAGin2vcO3HBKaFdxGA4xqC73ceaZwx+fPS++0XWzAVrPoF0PxaD9MmKBRkyAKRNiey++eNyDJbzzefJ923CLg85gYdKncBcdOg/t+JcQgURDiQflt+DI6U0/OHdx4tGqWjcwnnvu0+65DArSpsNzERUAF4LT/glPX3BB3a9bW+vhhOEByq1b6hwJEg71MjzDBCIPQyv02gvOmvKbmbOww1VkgXAvGtP3nLPyFpwMEDOE4TXAddceeefEqWp1U+segJQVg2Siw2QOMUGXN7NMrQ70uSMOYmjAwkXqj4vPrVidKLHO3sx5lweQWPmcErI3iQ37jx3vpm/62rG3lTpvbST4IPiW/U0R/D9gdJvJmdkdO/MLDWwvRgFzG2pGbHti2Zem3D90VAzMgAOCEnRJ7H7hLIEHGxYJWkA4gCgJHgw4+3Q8d+UXp95t2nZDIQWSNBRZpSsd1HLl3oAHdKJNmDYeBVtJgYVRQmnE0n9/8StXn7LimFl4l0iiozxCzjugnBU5MVE4TZiVRmkCWHbJpB/PP7H0fvEa7LEOWccdFdNkcWBRKazotCc+cDAdRXCUQSq5A0s/NfUXSz81bC2TAYm2NWztPB2Zwwi6Kxp7vUrZ4CY89o9IgRUw46Q9/hVfmPz9qROaHzY6fMF8juEO5sDmqEyczsAxBvDT8NrqMef4th9ffX3d91QcUIpBwmAo5HepPrBoME/2hkTTxk6BoOHdOsw/GS9d/NmjVw4duh/A/kyz+ugAaNPBHNgjfI/QEBZdj0kTvYdvumnBbaPHwChogDLiPkx76C3U6SVKyiUaMwUFC7ZldnUVsGRx4tHzzx55fbykLWrpprUVDcR+EF3VHTuBBxKRgqiBMWlonQJYQ7RBdSWevuaa2Xcde1x8KytARenjNq9dEJ7PRQeDWB1dUIMDGU1QYAZGjXHNhRdV/ufCBd6djtoDlz37IpJ79taAMog7RKPhaUYC5RCEWlBSuQuXfmH4j047HetKHeqwPi1MbJAe6uo+J1b2w4RxGjcGzDgCe5Ytm/KjSZOdh4WaoZzg1B+jQHAHRHlQcSaDhqAN7OzHOedM/frST9auqqwIOv1keXgYZKtroHst3vucWFG9bPAVEi/uAqfMS2y+9ktTv1uV+Mc6QasVe6LBJJEijnrGC+fMA432hHJDpDYEH/a5SEOkFb6ux/y5uOfzn6t8YNwYlXZigCYbIsrICRsKykfPPdmc/bAKAUoqIOBijsIFS7B++fWzVhh5Z3NMpYOTAyTyGXaEDTPtSw8QzSQ/3q2t/qHwjINmHDEt8ci1V0z/7uyZ2BVjggNAiUGhEuG+EPa9ePviURuxQTwm+OJFtb+98tLpdzc3b3vTB+CJD400GH6Hd4mOyeg34JDhBDsdZJcyGQQedfKh0YrhQ5Nrr79ixv854ZTSrY4bnBVpusMxPUe7fYYGC+/ObF1mgoxUAycGLL9+5H1Lz3NWubRtc4lKgwQwBcJrB8rqyhQDBgk+2mYjRRWdFM4kRgxLrbny8ql3Lzkb62NBC6BIW3fpoTgIIZLu6a/cnctB5gGTRlUF8O1vnPj10xeOeAJ+gw2HF+rZ188FeZHJEdX8htnFFBCRoYmhyAGJgUtNGz/xsYn/fcmFwx4pdYFMdY/1uxnizKGl/aBgeu256N4vAvYPMlZJpTFitIvlX5m64qQT/XuF6sGUbqcrpMjUtR6/Rx4KjAq34dspSShTj09/YsgvLvtS1Q9KE2KPKg5CQBKcpENS2NHbF8PpzY4s7hcMgW/jYEQgYrACjpqOXVdfMfuu5rbd5S/9telzRHEciJF/XHu7Q+cpC8pDQ6QJF5w9+9bl15t/GzUMQazOwBBbCUKSh/J44HBW15xUiI4OQDEAMWuBkCAeF5wwN/b6//rimO8fOSX1c212Q1MbPDbw2ECTnX3/4pZzDGvbUo5smkKI9gADF4CLNNirx5mntn7nKzfwitHDlSEO6q4UgVjQrrKpn8R2H7RU6S4WDSG9m4W0AEcRysqAU0/B85ddPPHBsaPkCaFmCHsBVM6kIPelkWtIYCj3tJ6cHHUCtBj4qQYsmFd37w3XzFwxcRyaYw5Bcf5+lcy//eiIOahVaZGTk4EhlcDZH69Y837L5CHf/d5L5Q0tznzhhF1QUVFYJawk7Hb5a0cGdXQMosry+VkYpCnI6/PTOO7Ylh/fsHz0iiOmY7cbt+aHTR1T7YBQ52rgECdWDt8xUFUp+PxFpQ837R0x5Ps/3VnSmqw9FijL9Y5I36xIxn8XLoGfo6O0tx/jxydWf+WaY1bMnYdtsYREZ6wQhWeHF0aqvS3PPSjQvbvGdRSIE0JJwuDaayf8ePFpVY9J6v3NMYqBTT8ogUA8hm1Swyxix3FA2mDYyD3rr7rq8LtOnJ/YnIgBjlj3WaiTOPT7Ue7sqStpQBMrO1JMFKQbk0ApQjwh+Nebj7x1yTn8qJhtG0viulc+tc58gDmQwwBaN2BYzXtPX7nsyLs/fp7zZFk55wKIgxgcOGjE6qghlWKDmEuoGwrc8c3jbjxxbs2z6XR9FOuKiNxd73iBKo/s4ZNAB32XjQgqSuqf++TSsf910WeGrqoqtwa8kB4QERw+mOKvkNFoxYld5NGjYvj2bZNvPGle432gfWD2cw7vM91CgVZuZdBf4O4Jfq+CL0YzSmLbsWRJ1W8uWzbqvtoaBLCcBkz4hg/urbMjzWGugv2Z69iTg46YjoavLZ9zx5Ez6lbBtMIhW5gXtn3tCKJHp7bmmT/R0bRBQ2HAhwMN8etx5mmj/+2GK6d+Z8xoW92ZnXIXZSfh4HU/H8BpRTYtwFHAMbPLtl9zed1dEybue9TzmqDhg+Dl9k/P00EZN1WY72esZzy/uM9phZa3Mf/k1vu/uvywO8aOd3wqaE7SQe9RP2CJFTb/IAgSJYRTP4Jnr7j8qLtHjoqtIbQGPrtsDs33ZluBGcbBBG4uJ8LAcQXa24ujZ5T99Nbb5t08YxoaYsrafT03/j+ExMqGwcSCygpgyTmJNV+4pOaHtRV71jFciDYwuq1w2WvAaWwU2KgIoodmApMHSe/HxHENv73xX2beMWtaYhdbQQmijrOsDibNDonsSiKCw4LaIYxPf7Ji1dnnVP/OMXsRUwaJWGneEVD5ad25aQHMbHslUQpV1S3PLr/qhBXzj8dmprATqfTaB/qhJpZdKwIYqBsBXP3lKd9bNJ/vjKkGaM/PKWiz6coZ1JcJGtrpGx8kBiWxNJZdPPeHi89IrCsrAVzSwd8Gbq2INmFoZ1AMdh/SSxoMD64YTBjnpK+7auZdUybs+amhvVFLh/D8Knt4s84ACxgosZWJLjwo7MN5i8tu/tRS/LKqRkFlVQxEbecCH8VAyhAegMQqsDhGwL4CeTaLl+OCY4/H9muumXPXyGGNTxKaIcrAMxqesQV8wjbcEUaAlbEzrtJYOHf4v3/583X3ThyHNgnDHaG/j5Q1CzDwDig6JMSgBH67cFEZBKUEp59V/eLll8/5vy6/91eSVrgKcDhIbwnyAUygi0AazI2YPL5h1bLL6n404+jyvY6yYQ0r9AKxOYDPkBpwHox2Cl2ChMnIk0AwBlCKUOIKPvvp+COfXjryFzBNiCvrcFUm4CZQYHsxCD6qq5ynl10y9oeL5mNjLK95CsnAP0SPB5S4K4CRs8GBgUAC+G0TbwTV1cCXL5t470cXDvl3z3vPtnBQDIiC0QSQD6UEJLux9ILh/7Xk3NFrykrbb5b+zvX4YBvF+TqDCMQMYgYrBcAHs4Eig6mT3eTVV0y6a9oU/SutW6yeggqyfAWp9B6cfLJ3z7JlVfcPqyWAtE2NgwDwcagMHqhEog5mBrXZfvISpBTNOgZbL/r81J/EqpqQlqbIpgKaMWpky5qbb55927ix8Ilt+Y0Y2xRiAMVfDz1idVZYHTUGDo5HN0GCJUNQlgDOPLPyiSVLjrzVoQYwknBVCmTe3vjVrxx/xxHTSndL0KRRRANsC9Opg69BYvXOjdHu/HoKzk4UISgWjKpj/3NLy39y9Ez9U461IqX34p8/OXTlx8/F2lJXIeaSreagrnPRB1gB0iFGrE44kMiar4oM5szG1osvnvLgsJq3njx6RuvPr758xr3lZYD2w9eVqCQHA5QoHQ3nUCJOO+WW9QsT9AotiQFnnFa71ktNjI0ZM2bHYeNLkwJbI2Y/7hS+XuHLDqw16E2p/+AYFIODY5BYg8QaHIPEGhyDxBok1uAYJNbgGCTWILEGxyCxBscgsQaJNTj6f/z/AQBdbZ5YYMfJmQAAAABJRU5ErkJggg==",$t="data:image/png;base64,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",er="data:image/png;base64,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",tr="data:image/png;base64,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",rr="data:image/png;base64,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",or="data:image/png;base64,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",ir="data:image/png;base64,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",nr="data:image/png;base64,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";class bo{constructor(e){this.context=e,this.eventBus=e.eventBus,this.markers=[],this.markerMap=new Map,this.glMarkers=[],this.imageRegistry=new Map,this._isDraggingGl=!1,this._draggedFeatureId=null,this._dragOffset={lng:0,lat:0},this._styleDataAdded=!1,this._initMarkerLayer()}_initMarkerLayer(){const e=this.mapManager.getMap();if(!e){this.eventBus.on("mapLoaded",()=>this._initMarkerLayer());return}if(this._styleDataAdded||(e.on("styledata",()=>this._initMarkerLayer()),this._styleDataAdded=!0),e.getSource("pm-markers-source"))return;this.imageRegistry.forEach((r,i)=>{typeof r=="object"&&this._registerMarkerImage(r.color,r.icon,i,null,r.type)});try{e.addSource("pm-markers-source",{type:"geojson",data:{type:"FeatureCollection",features:this.glMarkers}}),e.addLayer({id:"pm-markers-layer",type:"symbol",source:"pm-markers-source",layout:{"icon-image":["get","icon-image"],"icon-size":1,"icon-anchor":"bottom","icon-allow-overlap":!0,"icon-ignore-placement":!0,"icon-offset":[0,0]}})}catch(r){this.eventBus.emit("error",new v(`Failed to initialize marker layers: ${r.message}`,C.UNKNOWN,"marker",{originalError:r}))}e.on("mouseenter","pm-markers-layer",()=>{this._isDraggingGl||(e.getCanvas().style.cursor="pointer")}),e.on("mouseleave","pm-markers-layer",()=>{this._isDraggingGl||(e.getCanvas().style.cursor="")}),e.on("mousedown","pm-markers-layer",r=>{const i=r.features[0];JSON.parse(i.properties.options).draggable&&!this.context.options.previewOnly&&(r.preventDefault(),this._isDraggingGl=!0,this._draggedFeatureId=i.properties.id,this._dragOffset={lng:i.geometry.coordinates[0]-r.lngLat.lng,lat:i.geometry.coordinates[1]-r.lngLat.lat},e.getCanvas().style.cursor="grabbing",e.dragPan.disable())}),e.on("mousemove",r=>{if(!this._isDraggingGl||!this._draggedFeatureId)return;const i=this.glMarkers.find(n=>n.properties.id===this._draggedFeatureId);if(i){i.geometry.coordinates=[r.lngLat.lng+this._dragOffset.lng,r.lngLat.lat+this._dragOffset.lat],this._updateSource();const n=JSON.parse(i.properties.options),s=this.markerMap.get(this._draggedFeatureId);s&&(s.position=i.geometry.coordinates,s._emit("drag",{target:s,lngLat:{lng:i.geometry.coordinates[0],lat:i.geometry.coordinates[1]}})),this.eventBus.emit("markerDrag",{marker:s||null,lngLat:{lng:i.geometry.coordinates[0],lat:i.geometry.coordinates[1]},options:n})}});const t=r=>{if(!this._isDraggingGl)return;const i=this.glMarkers.find(n=>n.properties.id===this._draggedFeatureId);if(i){const n=JSON.parse(i.properties.options);n.position=i.geometry.coordinates,i.properties.options=JSON.stringify(n);const s=this.markerMap.get(this._draggedFeatureId);s&&(s.position=i.geometry.coordinates,s._emit("dragend",{target:s,lngLat:r.lngLat})),this.eventBus.emit("markerDragEnd",{marker:s||null,lngLat:r.lngLat,options:n})}this._isDraggingGl=!1,this._draggedFeatureId=null,e.getCanvas().style.cursor="",e.dragPan.enable()};e.on("mouseup",t),e.on("click","pm-markers-layer",r=>{if(this._isDraggingGl)return;const i=r.features[0],n=JSON.parse(i.properties.options);this.eventBus.emit("markerClick",{marker:null,originalEvent:r,options:n}),n.popupContent&&this._showGlPopup(i.geometry.coordinates,n)})}_showGlPopup(e,t){const r=this.mapManager.getMap(),i=t.color?[0,-36]:25,n=t.popupOptions||{offset:t.popupOffset!==void 0?t.popupOffset:i,closeButton:!0,closeOnClick:!0,className:"pm-popup powermap-custom-popup"},s=typeof t.popupContent=="string"?t.popupContent:this._formatPopupHTML(t.popupContent);new D.Popup(n).setLngLat(e).setHTML(s).addTo(r)}get mapManager(){return this.context.sdk.mapManager}addMarker(e){const t=this.mapManager.getMap();if(!t){const s="Cannot add marker: Map is not initialized.",a=new v(s,C.MAP_NOT_INITIALIZED,"marker");throw this.eventBus.emit("error",a),a}if(!e||!e.position)throw new v('Marker "position" ([lng, lat]) is required.',C.INVALID_PARAMETERS,"marker");if(!Array.isArray(e.position)||e.position.length!==2)throw new v('Marker "position" must be an array of [longitude, latitude].',C.INVALID_PARAMETERS,"marker");let r;if(e.element)r=e.element;else{if(e.color)return this._addGlMarker(e);{r=document.createElement("div"),r.className=`pm-marker powermap-marker power-marker-${e.type||"default"}`,r.style.width=e.width||"30px",r.style.height=e.height||"38px";let s;if(e.iconUrl)s=e.iconUrl;else{let a="Marker_1.png";e.type==="start"&&(a="truck_start.png"),e.type==="destination"&&(a="truck_stop.png"),e.type==="waypoint"&&(a="stop.png"),s=new URL(Object.assign({"../assets/route_icons/Marker_1.png":Rt,"../assets/route_icons/Marker_10.png":Gt,"../assets/route_icons/Marker_11.png":Qt,"../assets/route_icons/Marker_12.png":Ut,"../assets/route_icons/Marker_13.png":Yt,"../assets/route_icons/Marker_14.png":zt,"../assets/route_icons/Marker_15.png":Ht,"../assets/route_icons/Marker_16.png":jt,"../assets/route_icons/Marker_17.png":Kt,"../assets/route_icons/Marker_18.png":Vt,"../assets/route_icons/Marker_19.png":qt,"../assets/route_icons/Marker_2.png":Wt,"../assets/route_icons/Marker_20.png":Jt,"../assets/route_icons/Marker_3.png":Xt,"../assets/route_icons/Marker_4.png":Zt,"../assets/route_icons/Marker_5.png":_t,"../assets/route_icons/Marker_6.png":$t,"../assets/route_icons/Marker_7.png":er,"../assets/route_icons/Marker_8.png":tr,"../assets/route_icons/Marker_9.png":rr,"../assets/route_icons/stop.png":or,"../assets/route_icons/truck_start.png":ir,"../assets/route_icons/truck_stop.png":nr})[`../assets/route_icons/${a}`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ee&&Ee.tagName.toUpperCase()==="SCRIPT"&&Ee.src||new URL("powermap-web-sdk.umd.cjs",document.baseURI).href).href}r.style.backgroundImage=`url(${s})`,r.style.backgroundSize="contain",r.style.backgroundRepeat="no-repeat",r.style.backgroundPosition="center"}}const i={element:r,anchor:e.anchor||(e.color,"bottom"),draggable:this.context.options.previewOnly?!1:e.draggable||!1,offset:e.offset||[0,0],rotation:e.rotation||0,pitchAlignment:e.pitchAlignment||"auto",rotationAlignment:e.rotationAlignment||"auto"};console.log("[MarkerManager] Creating marker:",{id:e.id,anchor:i.anchor,position:e.position});const n=new D.Marker(i).setLngLat(e.position).addTo(t);if(e.id&&this.markerMap.set(e.id,n),e.popupContent){const s=e.color?[0,-36]:25,a=e.popupOptions||{offset:e.popupOffset!==void 0?e.popupOffset:s,closeButton:!0,closeOnClick:!0,className:"pm-popup powermap-custom-popup"},l=typeof e.popupContent=="string"?e.popupContent:this._formatPopupHTML(e.popupContent),c=new D.Popup(a).setHTML(l);n.setPopup(c)}return r.addEventListener("click",s=>{this.eventBus.emit("markerClick",{marker:n,originalEvent:s,options:e})}),e.draggable&&(n.on("drag",()=>{const s=n.getLngLat();e.position=[s.lng,s.lat],this.eventBus.emit("markerDrag",{marker:n,lngLat:s,options:e})}),n.on("dragend",()=>{const s=n.getLngLat();e.position=[s.lng,s.lat],this.eventBus.emit("markerDragEnd",{marker:n,lngLat:s,options:e})})),this.markers.push(n),this.eventBus.emit("markerAdded",{marker:n,options:e}),n}_addGlMarker(e){this.mapManager.getMap();const t=this._registerMarkerImage(e.color,e.icon,null,null,e.type),r=e.id||`gl-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,i={type:"Feature",geometry:{type:"Point",coordinates:e.position},properties:{id:r,"icon-image":t,options:JSON.stringify(e)}};this.glMarkers.push(i),this._updateSource();const n=new ot(r,e.position,this);return e.id&&this.markerMap.set(e.id,n),this.eventBus.emit("markerAdded",{marker:n,options:e}),n}_updateSource(){const t=this.mapManager.getMap().getSource("pm-markers-source");t&&t.setData({type:"FeatureCollection",features:this.glMarkers})}_registerMarkerImage(e,t,r=null,i=null,n=null){const s=this.mapManager.getMap();let a=r;if(!a)if(n)a=`pm-type-${n}`;else{const l=(e||"#f26522").replace("#",""),c=(t||"none").replace(/[^a-z0-9]/gi,"_");a=`pm-marker-${l}-${c}`}if(s.hasImage(a))return a;if(n){let l="Marker_1.png";n==="start"&&(l="truck_start.png"),n==="destination"&&(l="truck_stop.png"),n==="waypoint"&&(l="stop.png");const c=new URL(Object.assign({"../assets/route_icons/Marker_1.png":Rt,"../assets/route_icons/Marker_10.png":Gt,"../assets/route_icons/Marker_11.png":Qt,"../assets/route_icons/Marker_12.png":Ut,"../assets/route_icons/Marker_13.png":Yt,"../assets/route_icons/Marker_14.png":zt,"../assets/route_icons/Marker_15.png":Ht,"../assets/route_icons/Marker_16.png":jt,"../assets/route_icons/Marker_17.png":Kt,"../assets/route_icons/Marker_18.png":Vt,"../assets/route_icons/Marker_19.png":qt,"../assets/route_icons/Marker_2.png":Wt,"../assets/route_icons/Marker_20.png":Jt,"../assets/route_icons/Marker_3.png":Xt,"../assets/route_icons/Marker_4.png":Zt,"../assets/route_icons/Marker_5.png":_t,"../assets/route_icons/Marker_6.png":$t,"../assets/route_icons/Marker_7.png":er,"../assets/route_icons/Marker_8.png":tr,"../assets/route_icons/Marker_9.png":rr,"../assets/route_icons/stop.png":or,"../assets/route_icons/truck_start.png":ir,"../assets/route_icons/truck_stop.png":nr})[`../assets/route_icons/${l}`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ee&&Ee.tagName.toUpperCase()==="SCRIPT"&&Ee.src||new URL("powermap-web-sdk.umd.cjs",document.baseURI).href).href;s.loadImage(c,(u,d)=>{u||s.hasImage(a)||s.addImage(a,d)})}else{const h=document.createElement("canvas");h.width=52,h.height=72;const g=h.getContext("2d");g.clearRect(0,0,52,72),g.beginPath(),g.moveTo(26,72),g.bezierCurveTo(26,72,52,48,52,26),g.arc(26,26,26,0,Math.PI,!0),g.bezierCurveTo(0,48,26,72,26,72),g.closePath(),g.fillStyle=e||"#f26522",g.fill(),g.strokeStyle="#ffffff",g.lineWidth=3,g.stroke(),g.beginPath(),g.arc(26,26,14,0,Math.PI*2),g.fillStyle="#ffffff",g.fill();const f=g.getImageData(0,0,52,72);s.hasImage(a)||s.addImage(a,f,{pixelRatio:2})}return this.imageRegistry.set(a,{color:e,icon:t,type:n}),a}_createSvgString(e,t){const r=e||"#f26522";let i=`
|
|
5
5
|
<svg width="30" height="38" viewBox="0 0 30 38" xmlns="http://www.w3.org/2000/svg">
|
|
6
|
-
<path d="M15 38C15 38 30 26 30 15C30 6.7 23.3 0 15 0C6.7 0 0 6.7 0 15C0 26 15 38 15 38Z" fill="${
|
|
6
|
+
<path d="M15 38C15 38 30 26 30 15C30 6.7 23.3 0 15 0C6.7 0 0 6.7 0 15C0 26 15 38 15 38Z" fill="${r}" stroke="#ffffff" stroke-width="1.5"/>
|
|
7
7
|
<circle cx="15" cy="15" r="9" fill="#ffffff"/>
|
|
8
|
-
`.trim();return t&&(i+=`<circle cx="15" cy="15" r="5" fill="${o}"/>`),i+="</svg>",i}_createSvgPinpoint(e,t){const o=document.createElement("div");return o.className="pm-premium-marker",o.style.width="30px",o.style.height="38px",o.style.position="relative",o.innerHTML=this._createSvgString(e,t),o}_formatPopupHTML(e){if(typeof e!="object")return e;const{title:t,body:o,tag:i,footer:n,action:s,actions:a}=e;let l="";t&&(l+=`<div class="pm-popup-header">${t}</div>`),l+='<div class="pm-popup-body">',i&&(l+=`<span class="pm-popup-tag">${i}</span>`),o&&(l+=`<div>${o}</div>`);const c=[];return a&&Array.isArray(a)?c.push(...a):s&&typeof s=="object"&&c.push(s),c.length>0&&(l+='<div class="pm-popup-actions">',c.forEach(u=>{if(u.url){const d=u.label||"View Details",p=u.target||"_blank",h=u.color?`style="background: ${u.color};"`:"";l+=`<a href="${u.url}" target="${p}" class="pm-popup-btn" ${h}>${d}</a>`}}),l+="</div>"),l+="</div>",n&&(l+=`<div class="pm-popup-footer">${n}</div>`),l}getMarker(e){return this.markerMap.get(e)||null}updatePopup(e,t){const o=e.getPopup();if(o){const i=typeof t=="string"?t:this._formatPopupHTML(t);o.setHTML(i)}}removeMarker(e){let t=typeof e=="string"?e:null,o=null;if(t)o=this.markerMap.get(t);else{o=e;for(const[i,n]of this.markerMap.entries())if(n===o){t=i;break}}if(t||o&&o instanceof ot){const i=t||o&&o.id,n=this.glMarkers.length;if(this.glMarkers=this.glMarkers.filter(s=>s.properties.id!==i),this.glMarkers.length!==n){this._updateSource(),this.markerMap.delete(i),this.eventBus.emit("markerRemoved",{id:i});return}}o&&typeof o.remove=="function"&&!(o instanceof ot)&&(o.remove(),this.markers=this.markers.filter(i=>i!==o),t&&this.markerMap.delete(t),this.eventBus.emit("markerRemoved",{marker:o}))}clearMarkers(){this.markers.forEach(e=>e.remove()),this.markers=[],this.markerMap.clear(),this.glMarkers=[],this._updateSource(),this.eventBus.emit("markersCleared")}}class ot{constructor(e,t,o){this.id=e,this.position=t,this.manager=o,this._popup=null,this._listeners={}}on(e,t){return this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t),this}_emit(e,t){this._listeners[e]&&this._listeners[e].forEach(o=>o(t))}getLngLat(){return{lng:this.position[0],lat:this.position[1]}}setLngLat(e){const t=Array.isArray(e)?e:[e.lng,e.lat];this.position=t;const o=this.manager.glMarkers.find(i=>i.properties.id===this.id);return o&&(o.geometry.coordinates=t,this.manager._updateSource()),this}remove(){return this.manager.removeMarker(this.id),this}setPopup(e){this._popup=e;const t=this.manager.glMarkers.find(o=>o.properties.id===this.id);if(t){const o=JSON.parse(t.properties.options);o.popupContent=e._content,t.properties.options=JSON.stringify(o)}return this}getPopup(){return this._popup}getElement(){return null}}class wo{constructor(e){this.context=e,this.authManager=e.authManager,this.eventBus=e.eventBus,this.routeFeature=null}get mapManager(){return this.context.sdk.mapManager}async addRoute(e){if(!this.mapManager.getMap()){const i="Cannot calculate route: Map is not initialized.",n=new w(i,v.MAP_NOT_INITIALIZED,"routing");throw this.eventBus.emit("error",n),n}if(!e||!e.start||!e.destination)throw new w('Routing requires both "start" and "destination" coordinates.',v.INVALID_PARAMETERS,"routing");const o=(i,n)=>{if(!Array.isArray(i)||i.length!==2||typeof i[0]!="number"||typeof i[1]!="number")throw new w(`Invalid ${n} coordinates. Expected [longitude, latitude].`,v.INVALID_PARAMETERS,"routing")};if(o(e.start,"start"),o(e.destination,"destination"),e.waypoints){if(!Array.isArray(e.waypoints))throw new w("Waypoints must be an array of coordinates.",v.INVALID_PARAMETERS,"routing");e.waypoints.forEach((i,n)=>o(i,`waypoint at index ${n}`))}this.eventBus.emit("routeRequestStart",e);try{const i=e.waypoints&&e.waypoints.length>0;if(e.optimize&&!i)throw new w("Route optimization (optimize: true) requires at least one waypoint.",v.INVALID_PARAMETERS,"routing");const s=[e.start,...e.waypoints||[],e.destination].map(p=>`${p[0]},${p[1]}`).join(";"),a=e.profile||"driving",l=e.optimize||!1;let c;if(l&&a==="driving")c=await this.requestOptimizedRoute(e);else{const p=new URLSearchParams({geometries:"polyline6",steps:"true",overview:"full",roundabout_exits:"true",voice_instructions:"true",banner_instructions:"true",language:e.language||"th"}),h=`${this.authManager.getBaseUrl()}/api/v2/map/route/${a}/${s}?${p.toString()}`,g=await this.authManager.fetchWithAuth(h,{source:"routing"});if(!g.ok){const f=await w.fromResponse(g,"routing");throw this.eventBus.emit("error",f),f}c=await g.json()}let u=null,d=[];if(c.routes&&c.routes.length>0){u=c.routes[0];const p=typeof u.geometry=="string"?{type:"LineString",coordinates:this.decodePolyline(u.geometry,6)}:u.geometry;d=(u.legs||[]).flatMap(h=>(h.steps||[]).map(g=>{var f;return{text:((f=g.maneuver)==null?void 0:f.instruction)||g.name||g.text||"Proceed",distance:g.distance||0,duration:g.duration||0,location:g.maneuver?g.maneuver.location:null}})),this.routeFeature={distance:u.distance,duration:u.duration,steps:d,geometry:p,raw:u}}else if(c.paths&&c.paths.length>0){u=c.paths[0];const p=typeof u.points=="string"?{type:"LineString",coordinates:this.decodePolyline(u.points,5)}:u.points;d=(u.instructions||[]).map(h=>({text:h.text||"Continue",distance:h.distance||0,duration:(h.time||0)/1e3,location:(h.interval,null)})),this.routeFeature={distance:u.distance,duration:(u.time||0)/1e3,steps:d,geometry:p,raw:u}}if(this.routeFeature)return this.routeFeature.style={color:e.routeColor||"#3b82f6",width:e.routeWidth||5,casingColor:e.casingColor||"#1d4ed8",casingWidth:e.casingWidth||8,opacity:e.routeOpacity||1},this.drawRoute(this.routeFeature),this.eventBus.emit("routeCalculated",this.routeFeature),this.routeFeature;throw new w("No valid route found in response.",v.NOT_FOUND,"routing")}catch(i){if(!(i instanceof w)){const n=new w(i.message,v.UNKNOWN,"routing",{originalError:i});throw this.eventBus.emit("error",n),n}throw i}}async requestOptimizedRoute(e){const t=`${this.authManager.getBaseUrl()}/api/v2/map/route/optimize/navigate`,o={start:e.start,end:e.destination,stops:(e.waypoints||[]).map((n,s)=>({id:s+1,name:`Point ${s+1}`,location:n})),profile:"car",language:e.language||"th"},i=await this.authManager.fetchWithAuth(t,{method:"POST",body:JSON.stringify(o),source:"routing_optimize"});if(!i.ok){const n=await w.fromResponse(i,"routing_optimize");throw this.eventBus.emit("error",n),n}return i.json()}drawRoute(e){const t=this.mapManager.getMap();if(!t||!e.geometry)return;const o=e.style||{color:"#3b82f6",width:5,casingColor:"#1d4ed8",casingWidth:8,opacity:1};t.getSource("powermap-route")?(t.getSource("powermap-route").setData(e.geometry),t.setPaintProperty("powermap-route-line","line-color",o.color),t.setPaintProperty("powermap-route-line","line-width",o.width),t.setPaintProperty("powermap-route-line","line-opacity",o.opacity),t.setPaintProperty("powermap-route-line-casing","line-color",o.casingColor),t.setPaintProperty("powermap-route-line-casing","line-width",o.casingWidth)):(t.addSource("powermap-route",{type:"geojson",data:e.geometry}),t.addLayer({id:"powermap-route-line-casing",type:"line",source:"powermap-route",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":o.casingColor,"line-width":o.casingWidth,"line-opacity":.3}}),t.addLayer({id:"powermap-route-line",type:"line",source:"powermap-route",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":o.color,"line-width":o.width,"line-opacity":o.opacity}}));const i=e.geometry.coordinates,n=i.reduce((s,a)=>s.extend(a),new D.LngLatBounds(i[0],i[0]));t.fitBounds(n,{padding:50})}clearRoutes(){const e=this.mapManager.getMap();e&&(e.getLayer("powermap-route-line")&&e.removeLayer("powermap-route-line"),e.getLayer("powermap-route-line-casing")&&e.removeLayer("powermap-route-line-casing"),e.getSource("powermap-route")&&e.removeSource("powermap-route"),this.routeFeature=null,this.eventBus.emit("routeCleared"))}decodePolyline(e,t=6){let o=0,i=0,n=0;const s=[],a=Math.pow(10,t);for(;o<e.length;){let l=0,c=0,u;do u=e.charCodeAt(o++)-63,l|=(u&31)<<c,c+=5;while(u>=32);const d=l&1?~(l>>1):l>>1;i+=d,l=0,c=0;do u=e.charCodeAt(o++)-63,l|=(u&31)<<c,c+=5;while(u>=32);const p=l&1?~(l>>1):l>>1;n+=p,s.push([n/a,i/a])}return s}}class vo{constructor(e){this.authManager=e.authManager,this.eventBus=e.eventBus,this.searchThPath="/api/v2/map/address_th",this.searchEnPath="/api/v2/map/address_en"}async _fetchSearch(e,t,o){const i=this.authManager.getBaseUrl(),n=new URL(`${i}${e}`);n.searchParams.append("q",t),o&&n.searchParams.append("coor",`${o[0]},${o[1]}`);const s=await this.authManager.fetchWithAuth(n.toString(),{source:"search"});if(!s.ok){const l=await w.fromResponse(s,"search");throw this.eventBus.emit("error",l),l}const a=await s.json();return Array.isArray(a)?a:(a==null?void 0:a.hits)||(a==null?void 0:a.results)||[]}async search(e,t={}){var u;if(!e||typeof e!="string"||e.trim()==="")throw new w("Search query must be a non-empty string.",v.INVALID_PARAMETERS,"search");const{location:o,lang:i="auto"}=t;if(i&&!["th","en","auto"].includes(i.toLowerCase()))throw new w('Invalid language option. Supported: "th", "en", "auto".',v.INVALID_PARAMETERS,"search");if(o&&(!Array.isArray(o)||o.length!==2))throw new w("Location must be an array of [latitude, longitude].",v.INVALID_PARAMETERS,"search");const n=(i||"auto").toLowerCase(),s=/[\u0E00-\u0E7F]/.test(e),a=/[a-zA-Z]/.test(e);let l=this.searchThPath,c=this.searchEnPath;n==="en"?(l=this.searchEnPath,c=this.searchThPath):n==="th"?(l=this.searchThPath,c=this.searchEnPath):a&&!s?(l=this.searchEnPath,c=this.searchThPath):(l=this.searchThPath,c=this.searchEnPath);try{let d=await this._fetchSearch(l,e,o);if(!d||d.length===0||n==="auto"&&s&&a)try{const h=await this._fetchSearch(c,e,o);if(h&&h.length>0)if(!d||d.length===0)d=h;else{const g=new Set(d.map(f=>{var A;return(A=f._source)==null?void 0:A.gid}).filter(Boolean));for(const f of h){const A=(u=f._source)==null?void 0:u.gid;(!A||!g.has(A))&&(d.push(f),A&&g.add(A))}}}catch{}const p=n==="th"||n==="auto"&&s&&!a?"th":"en";return(d||[]).map(h=>{const g=h._source||{},f=g.coordinates||[0,0],A=g.name_t||g.name_e||g.name||"",y=g.name_e||g.name_t||g.name||"",b=g.address_t||(g.tambon_t?`ต.${g.tambon_t||""} อ.${g.amphoe_t||""} จ.${g.province_t||""}`.trim():"")||g.address_e||"",x=g.address_e||(g.tambon_e?`${g.tambon_e||""} ${g.amphoe_e||""} ${g.province_e||""}`.trim():"")||g.address_t||"",M=p==="th"?A:y,I=p==="th"?b:x;return{gid:g.gid,id:g.gid,name:M,nameEn:y,nameTh:A,address:I,addressEn:x,addressTh:b,position:[f[1],f[0]],positionLngLat:[f[0],f[1]],province:g.province_t||g.province_e||"",amphoe:g.amphoe_t||g.amphoe_e||"",tambon:g.tambon_t||g.tambon_e||"",postCode:g.post_code||"",rawData:g}})}catch(d){if(!(d instanceof w)){const p=new w(d.message,v.UNKNOWN,"search",{originalError:d});throw this.eventBus.emit("error",p),p}throw d}}}const _={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"},re={HOT:"mapbox-gl-draw-hot",COLD:"mapbox-gl-draw-cold"},R={ADD:"add",MOVE:"move",DRAG:"drag",POINTER:"pointer",NONE:"none"},$={POLYGON:"polygon",LINE:"line_string",POINT:"point"},E={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"},S={DRAW_LINE_STRING:"draw_line_string",DRAW_POLYGON:"draw_polygon",DRAW_POINT:"draw_point",SIMPLE_SELECT:"simple_select",DIRECT_SELECT:"direct_select"},q={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"},De={MOVE:"move",CHANGE_PROPERTIES:"change_properties",CHANGE_COORDINATES:"change_coordinates"},K={FEATURE:"feature",MIDPOINT:"midpoint",VERTEX:"vertex"},z={ACTIVE:"true",INACTIVE:"false"},sr=["scrollZoom","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate"],Co=-90,it=-85,xo=90,nt=85,ar=Object.freeze(Object.defineProperty({__proto__:null,LAT_MAX:xo,LAT_MIN:Co,LAT_RENDERED_MAX:nt,LAT_RENDERED_MIN:it,LNG_MAX:270,LNG_MIN:-270,activeStates:z,classes:_,cursors:R,events:q,geojsonTypes:E,interactions:sr,meta:K,modes:S,sources:re,types:$,updateActions:De},Symbol.toStringTag,{value:"Module"}));function Ue(r){return function(e){const t=e.featureTarget;return!t||!t.properties?!1:t.properties.meta===r}}function lr(r){return!r.originalEvent||!r.originalEvent.shiftKey?!1:r.originalEvent.button===0}function ve(r){return!r.featureTarget||!r.featureTarget.properties?!1:r.featureTarget.properties.active===z.ACTIVE&&r.featureTarget.properties.meta===K.FEATURE}function st(r){return!r.featureTarget||!r.featureTarget.properties?!1:r.featureTarget.properties.active===z.INACTIVE&&r.featureTarget.properties.meta===K.FEATURE}function Ye(r){return r.featureTarget===void 0}function at(r){return!r.featureTarget||!r.featureTarget.properties?!1:r.featureTarget.properties.meta===K.FEATURE}function Ne(r){const e=r.featureTarget;return!e||!e.properties?!1:e.properties.meta===K.VERTEX}function ze(r){return r.originalEvent?r.originalEvent.shiftKey===!0:!1}function He(r){return r.key==="Escape"||r.keyCode===27}function je(r){return r.key==="Enter"||r.keyCode===13}function lt(r){return r.key==="Backspace"||r.keyCode===8}function ct(r){return r.key==="Delete"||r.keyCode===46}function cr(r){return r.key==="1"||r.keyCode===49}function ur(r){return r.key==="2"||r.keyCode===50}function dr(r){return r.key==="3"||r.keyCode===51}function pr(r){const e=r.key||String.fromCharCode(r.keyCode);return e>="0"&&e<="9"}function Mo(){return!0}const Eo=Object.freeze(Object.defineProperty({__proto__:null,isActiveFeature:ve,isBackspaceKey:lt,isDeleteKey:ct,isDigit1Key:cr,isDigit2Key:ur,isDigit3Key:dr,isDigitKey:pr,isEnterKey:je,isEscapeKey:He,isFeature:at,isInactiveFeature:st,isOfMetaType:Ue,isShiftDown:ze,isShiftMousedown:lr,isTrue:Mo,isVertex:Ne,noTarget:Ye},Symbol.toStringTag,{value:"Module"}));function hr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var ut={},Ke={};Ke.RADIUS=6378137,Ke.FLATTENING=1/298.257223563,Ke.POLAR_RADIUS=63567523142e-4;var gr=Ke;ut.geometry=fr,ut.ring=dt;function fr(r){var e=0,t;switch(r.type){case"Polygon":return mr(r.coordinates);case"MultiPolygon":for(t=0;t<r.coordinates.length;t++)e+=mr(r.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(t=0;t<r.geometries.length;t++)e+=fr(r.geometries[t]);return e}}function mr(r){var e=0;if(r&&r.length>0){e+=Math.abs(dt(r[0]));for(var t=1;t<r.length;t++)e-=Math.abs(dt(r[t]))}return e}function dt(r){var e,t,o,i,n,s,a,l=0,c=r.length;if(c>2){for(a=0;a<c;a++)a===c-2?(i=c-2,n=c-1,s=0):a===c-1?(i=c-1,n=0,s=1):(i=a,n=a+1,s=a+2),e=r[i],t=r[n],o=r[s],l+=(pt(o[0])-pt(e[0]))*Math.sin(pt(t[1]));l=l*gr.RADIUS*gr.RADIUS/2}return l}function pt(r){return r*Math.PI/180}const Ar={Point:0,LineString:1,MultiLineString:1,Polygon:2};function Io(r,e){const t=Ar[r.geometry.type]-Ar[e.geometry.type];return t===0&&r.geometry.type===E.POLYGON?r.area-e.area:t}function yr(r){return r.map(e=>(e.geometry.type===E.POLYGON&&(e.area=ut.geometry({type:E.FEATURE,property:{},geometry:e.geometry})),e)).sort(Io).map(e=>(delete e.area,e))}function br(r,e=0){return[[r.point.x-e,r.point.y-e],[r.point.x+e,r.point.y+e]]}function oe(r){if(this._items={},this._nums={},this._length=r?r.length:0,!!r)for(let e=0,t=r.length;e<t;e++)this.add(r[e]),r[e]!==void 0&&(typeof r[e]=="string"?this._items[r[e]]=e:this._nums[r[e]]=e)}oe.prototype.add=function(r){return this.has(r)?this:(this._length++,typeof r=="string"?this._items[r]=this._length:this._nums[r]=this._length,this)},oe.prototype.delete=function(r){return this.has(r)===!1?this:(this._length--,delete this._items[r],delete this._nums[r],this)},oe.prototype.has=function(r){return typeof r!="string"&&typeof r!="number"?!1:this._items[r]!==void 0||this._nums[r]!==void 0},oe.prototype.values=function(){const r=[];return Object.keys(this._items).forEach(e=>{r.push({k:e,v:this._items[e]})}),Object.keys(this._nums).forEach(e=>{r.push({k:JSON.parse(e),v:this._nums[e]})}),r.sort((e,t)=>e.v-t.v).map(e=>e.k)},oe.prototype.clear=function(){return this._length=0,this._items={},this._nums={},this};const ko=[K.FEATURE,K.MIDPOINT,K.VERTEX],Ie={click:Bo,touch:So};function Bo(r,e,t){return wr(r,e,t,t.options.clickBuffer)}function So(r,e,t){return wr(r,e,t,t.options.touchBuffer)}function wr(r,e,t,o){if(t.map===null)return[];const i=r?br(r,o):e,n={};t.options.styles&&(n.layers=t.options.styles.map(c=>c.id).filter(c=>t.map.getLayer(c)!=null));const s=t.map.queryRenderedFeatures(i,n).filter(c=>ko.indexOf(c.properties.meta)!==-1),a=new oe,l=[];return s.forEach(c=>{const u=c.properties.id;a.has(u)||(a.add(u),l.push(c))}),yr(l)}function Ve(r,e){const t=Ie.click(r,null,e),o={mouse:R.NONE};return t[0]&&(o.mouse=t[0].properties.active===z.ACTIVE?R.MOVE:R.POINTER,o.feature=t[0].properties.meta),e.events.currentModeName().indexOf("draw")!==-1&&(o.mouse=R.ADD),e.ui.queueMapClasses(o),e.ui.updateMapClasses(),t[0]}function ht(r,e){const t=r.x-e.x,o=r.y-e.y;return Math.sqrt(t*t+o*o)}const Lo=4,Po=12,Do=500;function gt(r,e,t={}){const o=t.fineTolerance!=null?t.fineTolerance:Lo,i=t.grossTolerance!=null?t.grossTolerance:Po,n=t.interval!=null?t.interval:Do;r.point=r.point||e.point,r.time=r.time||e.time;const s=ht(r.point,e.point);return s<o||s<i&&e.time-r.time<n}const No=25,Fo=250;function ft(r,e,t={}){const o=t.tolerance!=null?t.tolerance:No,i=t.interval!=null?t.interval:Fo;return r.point=r.point||e.point,r.time=r.time||e.time,ht(r.point,e.point)<o&&e.time-r.time<i}const mt=function(r,e){const t={drag:[],click:[],mousemove:[],mousedown:[],mouseup:[],mouseout:[],keydown:[],keyup:[],touchstart:[],touchmove:[],touchend:[],tap:[]},o={on(n,s,a){if(t[n]===void 0)throw new Error(`Invalid event type: ${n}`);t[n].push({selector:s,fn:a})},render(n){e.store.featureChanged(n)}},i=function(n,s){const a=t[n];let l=a.length;for(;l--;){const c=a[l];if(c.selector(s)){c.fn.call(o,s)||e.store.render(),e.ui.updateMapClasses();break}}};return r.start.call(o),{render:r.render,stop(){r.stop&&r.stop()},trash(){r.trash&&(r.trash(),e.store.render())},combineFeatures(){r.combineFeatures&&r.combineFeatures()},uncombineFeatures(){r.uncombineFeatures&&r.uncombineFeatures()},drag(n){i("drag",n)},click(n){i("click",n)},mousemove(n){i("mousemove",n)},mousedown(n){i("mousedown",n)},mouseup(n){i("mouseup",n)},mouseout(n){i("mouseout",n)},keydown(n){i("keydown",n)},keyup(n){i("keyup",n)},touchstart(n){i("touchstart",n)},touchmove(n){i("touchmove",n)},touchend(n){i("touchend",n)},tap(n){i("tap",n)}}},To=((r,e=21)=>(t=e)=>{let o="",i=t|0;for(;i--;)o+=r[Math.random()*r.length|0];return o})("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",32);function At(){return To()}const W=function(r,e){this.ctx=r,this.properties=e.properties||{},this.coordinates=e.geometry.coordinates,this.id=e.id||At(),this.type=e.geometry.type};W.prototype.changed=function(){this.ctx.store.featureChanged(this.id)},W.prototype.incomingCoords=function(r){this.setCoordinates(r)},W.prototype.setCoordinates=function(r){this.coordinates=r,this.changed()},W.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.coordinates))},W.prototype.setProperty=function(r,e){this.properties[r]=e},W.prototype.toGeoJSON=function(){return JSON.parse(JSON.stringify({id:this.id,type:E.FEATURE,properties:this.properties,geometry:{coordinates:this.getCoordinates(),type:this.type}}))},W.prototype.internal=function(r){const e={id:this.id,meta:K.FEATURE,"meta:type":this.type,active:z.INACTIVE,mode:r};if(this.ctx.options.userProperties)for(const t in this.properties)e[`user_${t}`]=this.properties[t];return{type:E.FEATURE,properties:e,geometry:{coordinates:this.getCoordinates(),type:this.type}}};const fe=function(r,e){W.call(this,r,e)};fe.prototype=Object.create(W.prototype),fe.prototype.isValid=function(){return typeof this.coordinates[0]=="number"&&typeof this.coordinates[1]=="number"},fe.prototype.updateCoordinate=function(r,e,t){arguments.length===3?this.coordinates=[e,t]:this.coordinates=[r,e],this.changed()},fe.prototype.getCoordinate=function(){return this.getCoordinates()};const de=function(r,e){W.call(this,r,e)};de.prototype=Object.create(W.prototype),de.prototype.isValid=function(){return this.coordinates.length>1},de.prototype.addCoordinate=function(r,e,t){this.changed();const o=parseInt(r,10);this.coordinates.splice(o,0,[e,t])},de.prototype.getCoordinate=function(r){const e=parseInt(r,10);return JSON.parse(JSON.stringify(this.coordinates[e]))},de.prototype.removeCoordinate=function(r){this.changed(),this.coordinates.splice(parseInt(r,10),1)},de.prototype.updateCoordinate=function(r,e,t){const o=parseInt(r,10);this.coordinates[o]=[e,t],this.changed()};const te=function(r,e){W.call(this,r,e),this.coordinates=this.coordinates.map(t=>t.slice(0,-1))};te.prototype=Object.create(W.prototype),te.prototype.isValid=function(){return this.coordinates.length===0?!1:this.coordinates.every(r=>r.length>2)},te.prototype.incomingCoords=function(r){this.coordinates=r.map(e=>e.slice(0,-1)),this.changed()},te.prototype.setCoordinates=function(r){this.coordinates=r,this.changed()},te.prototype.addCoordinate=function(r,e,t){this.changed();const o=r.split(".").map(n=>parseInt(n,10));this.coordinates[o[0]].splice(o[1],0,[e,t])},te.prototype.removeCoordinate=function(r){this.changed();const e=r.split(".").map(o=>parseInt(o,10)),t=this.coordinates[e[0]];t&&(t.splice(e[1],1),t.length<3&&this.coordinates.splice(e[0],1))},te.prototype.getCoordinate=function(r){const e=r.split(".").map(o=>parseInt(o,10)),t=this.coordinates[e[0]];return JSON.parse(JSON.stringify(t[e[1]]))},te.prototype.getCoordinates=function(){return this.coordinates.map(r=>r.concat([r[0]]))},te.prototype.updateCoordinate=function(r,e,t){this.changed();const o=r.split("."),i=parseInt(o[0],10),n=parseInt(o[1],10);this.coordinates[i]===void 0&&(this.coordinates[i]=[]),this.coordinates[i][n]=[e,t]};const Oo={MultiPoint:fe,MultiLineString:de,MultiPolygon:te},qe=(r,e,t,o,i)=>{const n=t.split("."),s=parseInt(n[0],10),a=n[1]?n.slice(1).join("."):null;return r[s][e](a,o,i)},J=function(r,e){if(W.call(this,r,e),delete this.coordinates,this.model=Oo[e.geometry.type],this.model===void 0)throw new TypeError(`${e.geometry.type} is not a valid type`);this.features=this._coordinatesToFeatures(e.geometry.coordinates)};J.prototype=Object.create(W.prototype),J.prototype._coordinatesToFeatures=function(r){const e=this.model.bind(this);return r.map(t=>new e(this.ctx,{id:At(),type:E.FEATURE,properties:{},geometry:{coordinates:t,type:this.type.replace("Multi","")}}))},J.prototype.isValid=function(){return this.features.every(r=>r.isValid())},J.prototype.setCoordinates=function(r){this.features=this._coordinatesToFeatures(r),this.changed()},J.prototype.getCoordinate=function(r){return qe(this.features,"getCoordinate",r)},J.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.features.map(r=>r.type===E.POLYGON?r.getCoordinates():r.coordinates)))},J.prototype.updateCoordinate=function(r,e,t){qe(this.features,"updateCoordinate",r,e,t),this.changed()},J.prototype.addCoordinate=function(r,e,t){qe(this.features,"addCoordinate",r,e,t),this.changed()},J.prototype.removeCoordinate=function(r){qe(this.features,"removeCoordinate",r),this.changed()},J.prototype.getFeatures=function(){return this.features};function B(r){this.map=r.map,this.drawConfig=JSON.parse(JSON.stringify(r.options||{})),this._ctx=r}B.prototype.setSelected=function(r){return this._ctx.store.setSelected(r)},B.prototype.setSelectedCoordinates=function(r){this._ctx.store.setSelectedCoordinates(r),r.reduce((e,t)=>(e[t.feature_id]===void 0&&(e[t.feature_id]=!0,this._ctx.store.get(t.feature_id).changed()),e),{})},B.prototype.getSelected=function(){return this._ctx.store.getSelected()},B.prototype.getSelectedIds=function(){return this._ctx.store.getSelectedIds()},B.prototype.isSelected=function(r){return this._ctx.store.isSelected(r)},B.prototype.getFeature=function(r){return this._ctx.store.get(r)},B.prototype.select=function(r){return this._ctx.store.select(r)},B.prototype.deselect=function(r){return this._ctx.store.deselect(r)},B.prototype.deleteFeature=function(r,e={}){return this._ctx.store.delete(r,e)},B.prototype.addFeature=function(r,e={}){return this._ctx.store.add(r,e)},B.prototype.clearSelectedFeatures=function(){return this._ctx.store.clearSelected()},B.prototype.clearSelectedCoordinates=function(){return this._ctx.store.clearSelectedCoordinates()},B.prototype.setActionableState=function(r={}){const e={trash:r.trash||!1,combineFeatures:r.combineFeatures||!1,uncombineFeatures:r.uncombineFeatures||!1};return this._ctx.events.actionable(e)},B.prototype.changeMode=function(r,e={},t={}){return this._ctx.events.changeMode(r,e,t)},B.prototype.fire=function(r,e){return this._ctx.events.fire(r,e)},B.prototype.updateUIClasses=function(r){return this._ctx.ui.queueMapClasses(r)},B.prototype.activateUIButton=function(r){return this._ctx.ui.setActiveButton(r)},B.prototype.featuresAt=function(r,e,t="click"){if(t!=="click"&&t!=="touch")throw new Error("invalid buffer type");return Ie[t](r,e,this._ctx)},B.prototype.newFeature=function(r){const e=r.geometry.type;return e===E.POINT?new fe(this._ctx,r):e===E.LINE_STRING?new de(this._ctx,r):e===E.POLYGON?new te(this._ctx,r):new J(this._ctx,r)},B.prototype.isInstanceOf=function(r,e){if(r===E.POINT)return e instanceof fe;if(r===E.LINE_STRING)return e instanceof de;if(r===E.POLYGON)return e instanceof te;if(r==="MultiFeature")return e instanceof J;throw new Error(`Unknown feature class: ${r}`)},B.prototype.doRender=function(r){return this._ctx.store.featureChanged(r)},B.prototype.onSetup=function(){},B.prototype.onDrag=function(){},B.prototype.onClick=function(){},B.prototype.onMouseMove=function(){},B.prototype.onMouseDown=function(){},B.prototype.onMouseUp=function(){},B.prototype.onMouseOut=function(){},B.prototype.onKeyUp=function(){},B.prototype.onKeyDown=function(){},B.prototype.onTouchStart=function(){},B.prototype.onTouchMove=function(){},B.prototype.onTouchEnd=function(){},B.prototype.onTap=function(){},B.prototype.onStop=function(){},B.prototype.onTrash=function(){},B.prototype.onCombineFeature=function(){},B.prototype.onUncombineFeature=function(){},B.prototype.toDisplayFeatures=function(){throw new Error("You must overwrite toDisplayFeatures")};const vr={drag:"onDrag",click:"onClick",mousemove:"onMouseMove",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseout:"onMouseOut",keyup:"onKeyUp",keydown:"onKeyDown",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",tap:"onTap"},Ro=Object.keys(vr);function Go(r){const e=Object.keys(r);return function(t,o={}){let i={};const n=e.reduce((a,l)=>(a[l]=r[l],a),new B(t));function s(a){return l=>n[a](i,l)}return{start(){i=n.onSetup(o),Ro.forEach(a=>{const l=vr[a];let c=()=>!1;r[l]&&(c=()=>!0),this.on(a,c,s(l))})},stop(){n.onStop(i)},trash(){n.onTrash(i)},combineFeatures(){n.onCombineFeatures(i)},uncombineFeatures(){n.onUncombineFeatures(i)},render(a,l){n.toDisplayFeatures(i,a,l)}}}}function Qo(r){const e=Object.keys(r.options.modes).reduce((p,h)=>(p[h]=Go(r.options.modes[h]),p),{});let t={},o={};const i={};let n=null,s=null;i.drag=function(p,h){h({point:p.point,time:new Date().getTime()})?(r.ui.queueMapClasses({mouse:R.DRAG}),s.drag(p)):p.originalEvent.stopPropagation()},i.mousedrag=function(p){i.drag(p,h=>!gt(t,h))},i.touchdrag=function(p){i.drag(p,h=>!ft(o,h))},i.mousemove=function(p){if((p.originalEvent.buttons!==void 0?p.originalEvent.buttons:p.originalEvent.which)===1)return i.mousedrag(p);const g=Ve(p,r);p.featureTarget=g,s.mousemove(p)},i.mousedown=function(p){t={time:new Date().getTime(),point:p.point};const h=Ve(p,r);p.featureTarget=h,s.mousedown(p)},i.mouseup=function(p){const h=Ve(p,r);p.featureTarget=h,gt(t,{point:p.point,time:new Date().getTime()})?s.click(p):s.mouseup(p)},i.mouseout=function(p){s.mouseout(p)},i.touchstart=function(p){if(!r.options.touchEnabled)return;o={time:new Date().getTime(),point:p.point};const h=Ie.touch(p,null,r)[0];p.featureTarget=h,s.touchstart(p)},i.touchmove=function(p){if(r.options.touchEnabled)return s.touchmove(p),i.touchdrag(p)},i.touchend=function(p){if(p.originalEvent.preventDefault(),!r.options.touchEnabled)return;const h=Ie.touch(p,null,r)[0];p.featureTarget=h,ft(o,{time:new Date().getTime(),point:p.point})?s.tap(p):s.touchend(p)};const a=p=>{const h=lt(p),g=ct(p),f=pr(p);return!(h||g||f)};i.keydown=function(p){(p.srcElement||p.target).classList.contains(_.CANVAS)&&((lt(p)||ct(p))&&r.options.controls.trash?(p.preventDefault(),s.trash()):a(p)?s.keydown(p):cr(p)&&r.options.controls.point?l(S.DRAW_POINT):ur(p)&&r.options.controls.line_string?l(S.DRAW_LINE_STRING):dr(p)&&r.options.controls.polygon&&l(S.DRAW_POLYGON))},i.keyup=function(p){a(p)&&s.keyup(p)},i.zoomend=function(){r.store.changeZoom()},i.data=function(p){if(p.dataType==="style"){const{setup:h,map:g,options:f,store:A}=r;f.styles.some(b=>g.getLayer(b.id))||(h.addLayers(),A.setDirty(),A.render())}};function l(p,h,g={}){s.stop();const f=e[p];if(f===void 0)throw new Error(`${p} is not valid`);n=p;const A=f(r,h);s=mt(A,r),g.silent||r.map.fire(q.MODE_CHANGE,{mode:p}),r.store.setDirty(),r.store.render()}const c={trash:!1,combineFeatures:!1,uncombineFeatures:!1};function u(p){let h=!1;Object.keys(p).forEach(g=>{if(c[g]===void 0)throw new Error("Invalid action type");c[g]!==p[g]&&(h=!0),c[g]=p[g]}),h&&r.map.fire(q.ACTIONABLE,{actions:c})}return{start(){n=r.options.defaultMode,s=mt(e[n](r),r)},changeMode:l,actionable:u,currentModeName(){return n},currentModeRender(p,h){return s.render(p,h)},fire(p,h){r.map&&r.map.fire(p,h)},addEventListeners(){r.map.on("mousemove",i.mousemove),r.map.on("mousedown",i.mousedown),r.map.on("mouseup",i.mouseup),r.map.on("data",i.data),r.map.on("touchmove",i.touchmove),r.map.on("touchstart",i.touchstart),r.map.on("touchend",i.touchend),r.container.addEventListener("mouseout",i.mouseout),r.options.keybindings&&(r.container.addEventListener("keydown",i.keydown),r.container.addEventListener("keyup",i.keyup))},removeEventListeners(){r.map.off("mousemove",i.mousemove),r.map.off("mousedown",i.mousedown),r.map.off("mouseup",i.mouseup),r.map.off("data",i.data),r.map.off("touchmove",i.touchmove),r.map.off("touchstart",i.touchstart),r.map.off("touchend",i.touchend),r.container.removeEventListener("mouseout",i.mouseout),r.options.keybindings&&(r.container.removeEventListener("keydown",i.keydown),r.container.removeEventListener("keyup",i.keyup))},trash(p){s.trash(p)},combineFeatures(){s.combineFeatures()},uncombineFeatures(){s.uncombineFeatures()},getMode(){return n}}}function Fe(r){return[].concat(r).filter(e=>e!==void 0)}function Uo(){const r=this;if(!(r.ctx.map&&r.ctx.map.getSource(re.HOT)!==void 0))return l();const t=r.ctx.events.currentModeName();r.ctx.ui.queueMapClasses({mode:t});let o=[],i=[];r.isDirty?i=r.getAllIds():(o=r.getChangedIds().filter(c=>r.get(c)!==void 0),i=r.sources.hot.filter(c=>c.properties.id&&o.indexOf(c.properties.id)===-1&&r.get(c.properties.id)!==void 0).map(c=>c.properties.id)),r.sources.hot=[];const n=r.sources.cold.length;r.sources.cold=r.isDirty?[]:r.sources.cold.filter(c=>{const u=c.properties.id||c.properties.parent;return o.indexOf(u)===-1});const s=n!==r.sources.cold.length||i.length>0;o.forEach(c=>a(c,"hot")),i.forEach(c=>a(c,"cold"));function a(c,u){const p=r.get(c).internal(t);r.ctx.events.currentModeRender(p,h=>{h.properties.mode=t,r.sources[u].push(h)})}s&&r.ctx.map.getSource(re.COLD).setData({type:E.FEATURE_COLLECTION,features:r.sources.cold}),r.ctx.map.getSource(re.HOT).setData({type:E.FEATURE_COLLECTION,features:r.sources.hot}),l();function l(){r.isDirty=!1,r.clearChangedIds()}}function O(r){this._features={},this._featureIds=new oe,this._selectedFeatureIds=new oe,this._selectedCoordinates=[],this._changedFeatureIds=new oe,this._emitSelectionChange=!1,this._mapInitialConfig={},this.ctx=r,this.sources={hot:[],cold:[]};let e;this.render=()=>{e||(e=requestAnimationFrame(()=>{e=null,Uo.call(this),this._emitSelectionChange&&(this.ctx.events.fire(q.SELECTION_CHANGE,{features:this.getSelected().map(t=>t.toGeoJSON()),points:this.getSelectedCoordinates().map(t=>({type:E.FEATURE,properties:{},geometry:{type:E.POINT,coordinates:t.coordinates}}))}),this._emitSelectionChange=!1),this.ctx.events.fire(q.RENDER,{})}))},this.isDirty=!1}O.prototype.createRenderBatch=function(){const r=this.render;let e=0;return this.render=function(){e++},()=>{this.render=r,e>0&&this.render()}},O.prototype.setDirty=function(){return this.isDirty=!0,this},O.prototype.featureCreated=function(r,e={}){if(this._changedFeatureIds.add(r),(e.silent!=null?e.silent:this.ctx.options.suppressAPIEvents)!==!0){const o=this.get(r);this.ctx.events.fire(q.CREATE,{features:[o.toGeoJSON()]})}return this},O.prototype.featureChanged=function(r,e={}){return this._changedFeatureIds.add(r),(e.silent!=null?e.silent:this.ctx.options.suppressAPIEvents)!==!0&&this.ctx.events.fire(q.UPDATE,{action:e.action?e.action:De.CHANGE_COORDINATES,features:[this.get(r).toGeoJSON()]}),this},O.prototype.getChangedIds=function(){return this._changedFeatureIds.values()},O.prototype.clearChangedIds=function(){return this._changedFeatureIds.clear(),this},O.prototype.getAllIds=function(){return this._featureIds.values()},O.prototype.add=function(r,e={}){return this._features[r.id]=r,this._featureIds.add(r.id),this.featureCreated(r.id,{silent:e.silent}),this},O.prototype.delete=function(r,e={}){const t=[];return Fe(r).forEach(o=>{this._featureIds.has(o)&&(this._featureIds.delete(o),this._selectedFeatureIds.delete(o),e.silent||t.indexOf(this._features[o])===-1&&t.push(this._features[o].toGeoJSON()),delete this._features[o],this.isDirty=!0)}),t.length&&this.ctx.events.fire(q.DELETE,{features:t}),Cr(this,e),this},O.prototype.get=function(r){return this._features[r]},O.prototype.getAll=function(){return Object.keys(this._features).map(r=>this._features[r])},O.prototype.select=function(r,e={}){return Fe(r).forEach(t=>{this._selectedFeatureIds.has(t)||(this._selectedFeatureIds.add(t),this._changedFeatureIds.add(t),e.silent||(this._emitSelectionChange=!0))}),this},O.prototype.deselect=function(r,e={}){return Fe(r).forEach(t=>{this._selectedFeatureIds.has(t)&&(this._selectedFeatureIds.delete(t),this._changedFeatureIds.add(t),e.silent||(this._emitSelectionChange=!0))}),Cr(this,e),this},O.prototype.clearSelected=function(r={}){return this.deselect(this._selectedFeatureIds.values(),{silent:r.silent}),this},O.prototype.setSelected=function(r,e={}){return r=Fe(r),this.deselect(this._selectedFeatureIds.values().filter(t=>r.indexOf(t)===-1),{silent:e.silent}),this.select(r.filter(t=>!this._selectedFeatureIds.has(t)),{silent:e.silent}),this},O.prototype.setSelectedCoordinates=function(r){return this._selectedCoordinates=r,this._emitSelectionChange=!0,this},O.prototype.clearSelectedCoordinates=function(){return this._selectedCoordinates=[],this._emitSelectionChange=!0,this},O.prototype.getSelectedIds=function(){return this._selectedFeatureIds.values()},O.prototype.getSelected=function(){return this.getSelectedIds().map(r=>this.get(r))},O.prototype.getSelectedCoordinates=function(){return this._selectedCoordinates.map(e=>({coordinates:this.get(e.feature_id).getCoordinate(e.coord_path)}))},O.prototype.isSelected=function(r){return this._selectedFeatureIds.has(r)},O.prototype.setFeatureProperty=function(r,e,t,o={}){this.get(r).setProperty(e,t),this.featureChanged(r,{silent:o.silent,action:De.CHANGE_PROPERTIES})};function Cr(r,e={}){const t=r._selectedCoordinates.filter(o=>r._selectedFeatureIds.has(o.feature_id));r._selectedCoordinates.length!==t.length&&!e.silent&&(r._emitSelectionChange=!0),r._selectedCoordinates=t}O.prototype.storeMapConfig=function(){sr.forEach(r=>{this.ctx.map[r]&&(this._mapInitialConfig[r]=this.ctx.map[r].isEnabled())})},O.prototype.restoreMapConfig=function(){Object.keys(this._mapInitialConfig).forEach(r=>{this._mapInitialConfig[r]?this.ctx.map[r].enable():this.ctx.map[r].disable()})},O.prototype.getInitialConfigValue=function(r){return this._mapInitialConfig[r]!==void 0?this._mapInitialConfig[r]:!0};const Yo=["mode","feature","mouse"];function zo(r){const e={};let t=null,o={mode:null,feature:null,mouse:null},i={mode:null,feature:null,mouse:null};function n(){s({mode:null,feature:null,mouse:null}),a()}function s(h){i=Object.assign(i,h)}function a(){if(!r.container)return;const h=[],g=[];Yo.forEach(f=>{i[f]!==o[f]&&(h.push(`${f}-${o[f]}`),i[f]!==null&&g.push(`${f}-${i[f]}`))}),h.length>0&&r.container.classList.remove(...h),g.length>0&&r.container.classList.add(...g),o=Object.assign(o,i)}function l(h,g={}){const f=document.createElement("button");return f.className=`${_.CONTROL_BUTTON} ${g.className}`,f.setAttribute("title",g.title),g.container.appendChild(f),f.addEventListener("click",A=>{if(A.preventDefault(),A.stopPropagation(),A.target===t){c(),g.onDeactivate();return}u(h),g.onActivate()},!0),f}function c(){t&&(t.classList.remove(_.ACTIVE_BUTTON),t=null)}function u(h){c();const g=e[h];g&&g&&h!=="trash"&&(g.classList.add(_.ACTIVE_BUTTON),t=g)}function d(){const h=r.options.controls,g=document.createElement("div");return g.className=`${_.CONTROL_GROUP} ${_.CONTROL_BASE}`,h&&(h[$.POINT]&&(e[$.POINT]=l($.POINT,{container:g,className:_.CONTROL_BUTTON_POINT,title:`Marker tool ${r.options.keybindings?"(1)":""}`,onActivate:()=>r.events.changeMode(S.DRAW_POINT),onDeactivate:()=>r.events.trash()})),h[$.LINE]&&(e[$.LINE]=l($.LINE,{container:g,className:_.CONTROL_BUTTON_LINE,title:`LineString tool ${r.options.keybindings?"(2)":""}`,onActivate:()=>r.events.changeMode(S.DRAW_LINE_STRING),onDeactivate:()=>r.events.trash()})),h[$.POLYGON]&&(e[$.POLYGON]=l($.POLYGON,{container:g,className:_.CONTROL_BUTTON_POLYGON,title:`Polygon tool ${r.options.keybindings?"(3)":""}`,onActivate:()=>r.events.changeMode(S.DRAW_POLYGON),onDeactivate:()=>r.events.trash()})),h.trash&&(e.trash=l("trash",{container:g,className:_.CONTROL_BUTTON_TRASH,title:"Delete",onActivate:()=>{r.events.trash()}})),h.combine_features&&(e.combine_features=l("combineFeatures",{container:g,className:_.CONTROL_BUTTON_COMBINE_FEATURES,title:"Combine",onActivate:()=>{r.events.combineFeatures()}})),h.uncombine_features&&(e.uncombine_features=l("uncombineFeatures",{container:g,className:_.CONTROL_BUTTON_UNCOMBINE_FEATURES,title:"Uncombine",onActivate:()=>{r.events.uncombineFeatures()}}))),g}function p(){Object.keys(e).forEach(h=>{const g=e[h];g.parentNode&&g.parentNode.removeChild(g),delete e[h]})}return{setActiveButton:u,queueMapClasses:s,updateMapClasses:a,clearMapClasses:n,addButtons:d,removeButtons:p}}function Ho(r){let e=null,t=null;const o={onRemove(){return r.map.off("load",o.connect),clearInterval(t),o.removeLayers(),r.store.restoreMapConfig(),r.ui.removeButtons(),r.events.removeEventListeners(),r.ui.clearMapClasses(),r.boxZoomInitial&&r.map.boxZoom.enable(),r.map=null,r.container=null,r.store=null,e&&e.parentNode&&e.parentNode.removeChild(e),e=null,this},connect(){r.map.off("load",o.connect),clearInterval(t),o.addLayers(),r.store.storeMapConfig(),r.events.addEventListeners()},onAdd(i){if(r.map=i,r.events=Qo(r),r.ui=zo(r),r.container=i.getContainer(),r.store=new O(r),e=r.ui.addButtons(),r.options.boxSelect){r.boxZoomInitial=i.boxZoom.isEnabled(),i.boxZoom.disable();const n=i.dragPan.isEnabled();i.dragPan.disable(),i.dragPan.enable(),n||i.dragPan.disable()}return i.loaded()?o.connect():(i.on("load",o.connect),t=setInterval(()=>{i.loaded()&&o.connect()},16)),r.events.start(),e},addLayers(){r.map.addSource(re.COLD,{data:{type:E.FEATURE_COLLECTION,features:[]},type:"geojson"}),r.map.addSource(re.HOT,{data:{type:E.FEATURE_COLLECTION,features:[]},type:"geojson"}),r.options.styles.forEach(i=>{r.map.addLayer(i)}),r.store.setDirty(!0),r.store.render()},removeLayers(){r.options.styles.forEach(i=>{r.map.getLayer(i.id)&&r.map.removeLayer(i.id)}),r.map.getSource(re.COLD)&&r.map.removeSource(re.COLD),r.map.getSource(re.HOT)&&r.map.removeSource(re.HOT)}};return r.setup=o,o}const yt="#3bb2d0",Te="#fbb03b",xr="#fff",Mr=[{id:"gl-draw-polygon-fill",type:"fill",filter:["all",["==","$type","Polygon"]],paint:{"fill-color":["case",["==",["get","active"],"true"],Te,yt],"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"],Te,yt],"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":xr}},{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"],Te,yt]}},{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":xr}},{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":Te}},{id:"gl-draw-midpoint",type:"circle",filter:["all",["==","meta","midpoint"]],paint:{"circle-radius":3,"circle-color":Te}}];function me(r,e){this.x=r,this.y=e}me.prototype={clone(){return new me(this.x,this.y)},add(r){return this.clone()._add(r)},sub(r){return this.clone()._sub(r)},multByPoint(r){return this.clone()._multByPoint(r)},divByPoint(r){return this.clone()._divByPoint(r)},mult(r){return this.clone()._mult(r)},div(r){return this.clone()._div(r)},rotate(r){return this.clone()._rotate(r)},rotateAround(r,e){return this.clone()._rotateAround(r,e)},matMult(r){return this.clone()._matMult(r)},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(r){return this.x===r.x&&this.y===r.y},dist(r){return Math.sqrt(this.distSqr(r))},distSqr(r){const e=r.x-this.x,t=r.y-this.y;return e*e+t*t},angle(){return Math.atan2(this.y,this.x)},angleTo(r){return Math.atan2(this.y-r.y,this.x-r.x)},angleWith(r){return this.angleWithSep(r.x,r.y)},angleWithSep(r,e){return Math.atan2(this.x*e-this.y*r,this.x*r+this.y*e)},_matMult(r){const e=r[0]*this.x+r[1]*this.y,t=r[2]*this.x+r[3]*this.y;return this.x=e,this.y=t,this},_add(r){return this.x+=r.x,this.y+=r.y,this},_sub(r){return this.x-=r.x,this.y-=r.y,this},_mult(r){return this.x*=r,this.y*=r,this},_div(r){return this.x/=r,this.y/=r,this},_multByPoint(r){return this.x*=r.x,this.y*=r.y,this},_divByPoint(r){return this.x/=r.x,this.y/=r.y,this},_unit(){return this._div(this.mag()),this},_perp(){const r=this.y;return this.y=this.x,this.x=-r,this},_rotate(r){const e=Math.cos(r),t=Math.sin(r),o=e*this.x-t*this.y,i=t*this.x+e*this.y;return this.x=o,this.y=i,this},_rotateAround(r,e){const t=Math.cos(r),o=Math.sin(r),i=e.x+t*(this.x-e.x)-o*(this.y-e.y),n=e.y+o*(this.x-e.x)+t*(this.y-e.y);return this.x=i,this.y=n,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:me},me.convert=function(r){if(r instanceof me)return r;if(Array.isArray(r))return new me(+r[0],+r[1]);if(r.x!==void 0&&r.y!==void 0)return new me(+r.x,+r.y);throw new Error("Expected [x, y] or {x, y} point format")};function bt(r,e){const t=e.getBoundingClientRect();return new me(r.clientX-t.left-(e.clientLeft||0),r.clientY-t.top-(e.clientTop||0))}function ke(r,e,t,o){return{type:E.FEATURE,properties:{meta:K.VERTEX,parent:r,coord_path:t,active:o?z.ACTIVE:z.INACTIVE},geometry:{type:E.POINT,coordinates:e}}}var X=63710088e-1,Er={centimeters:X*100,centimetres:X*100,degrees:360/(2*Math.PI),feet:X*3.28084,inches:X*39.37,kilometers:X/1e3,kilometres:X/1e3,meters:X,metres:X,miles:X/1609.344,millimeters:X*1e3,millimetres:X*1e3,nauticalmiles:X/1852,radians:1,yards:X*1.0936};function Oe(r,e,t={}){const o={type:"Feature"};return(t.id===0||t.id)&&(o.id=t.id),t.bbox&&(o.bbox=t.bbox),o.properties=e||{},o.geometry=r,o}function Ae(r,e,t={}){if(!r)throw new Error("coordinates is required");if(!Array.isArray(r))throw new Error("coordinates must be an Array");if(r.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!wt(r[0])||!wt(r[1]))throw new Error("coordinates must contain numbers");return Oe({type:"Point",coordinates:r},e,t)}function jo(r,e,t={}){for(const i of r){if(i.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(i[i.length-1].length!==i[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<i[i.length-1].length;n++)if(i[i.length-1][n]!==i[0][n])throw new Error("First and last Position are not equivalent.")}return Oe({type:"Polygon",coordinates:r},e,t)}function Ko(r,e,t={}){if(r.length<2)throw new Error("coordinates must be an array of two or more positions");return Oe({type:"LineString",coordinates:r},e,t)}function Vo(r,e="kilometers"){const t=Er[e];if(!t)throw new Error(e+" units is invalid");return r*t}function qo(r,e="kilometers"){const t=Er[e];if(!t)throw new Error(e+" units is invalid");return r/t}function Ir(r){return r%(2*Math.PI)*180/Math.PI}function Ce(r){return r%360*Math.PI/180}function wt(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function We(r,e,t){if(r!==null)for(var o,i,n,s,a,l,c,u=0,d=0,p,h=r.type,g=h==="FeatureCollection",f=h==="Feature",A=g?r.features.length:1,y=0;y<A;y++){c=g?r.features[y].geometry:f?r.geometry:r,p=c?c.type==="GeometryCollection":!1,a=p?c.geometries.length:1;for(var b=0;b<a;b++){var x=0,M=0;if(s=p?c.geometries[b]:c,s!==null){l=s.coordinates;var I=s.type;switch(u=t&&(I==="Polygon"||I==="MultiPolygon")?1:0,I){case null:break;case"Point":if(e(l,d,y,x,M)===!1)return!1;d++,x++;break;case"LineString":case"MultiPoint":for(o=0;o<l.length;o++){if(e(l[o],d,y,x,M)===!1)return!1;d++,I==="MultiPoint"&&x++}I==="LineString"&&x++;break;case"Polygon":case"MultiLineString":for(o=0;o<l.length;o++){for(i=0;i<l[o].length-u;i++){if(e(l[o][i],d,y,x,M)===!1)return!1;d++}I==="MultiLineString"&&x++,I==="Polygon"&&M++}I==="Polygon"&&x++;break;case"MultiPolygon":for(o=0;o<l.length;o++){for(M=0,i=0;i<l[o].length;i++){for(n=0;n<l[o][i].length-u;n++){if(e(l[o][i][n],d,y,x,M)===!1)return!1;d++}M++}x++}break;case"GeometryCollection":for(o=0;o<s.geometries.length;o++)if(We(s.geometries[o],e,t)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function kr(r,e){var t,o,i,n,s,a,l,c,u,d,p=0,h=r.type==="FeatureCollection",g=r.type==="Feature",f=h?r.features.length:1;for(t=0;t<f;t++){for(a=h?r.features[t].geometry:g?r.geometry:r,c=h?r.features[t].properties:g?r.properties:{},u=h?r.features[t].bbox:g?r.bbox:void 0,d=h?r.features[t].id:g?r.id:void 0,l=a?a.type==="GeometryCollection":!1,s=l?a.geometries.length:1,i=0;i<s;i++){if(n=l?a.geometries[i]:a,n===null){if(e(null,p,c,u,d)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,p,c,u,d)===!1)return!1;break}case"GeometryCollection":{for(o=0;o<n.geometries.length;o++)if(e(n.geometries[o],p,c,u,d)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}p++}}function Wo(r,e,t){var o=t;return kr(r,function(i,n,s,a,l){o=e(o,i,n,s,a,l)}),o}function Jo(r,e){kr(r,function(t,o,i,n,s){var a=t===null?null:t.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return e(Oe(t,i,{bbox:n,id:s}),o,0)===!1?!1:void 0}var l;switch(a){case"MultiPoint":l="Point";break;case"MultiLineString":l="LineString";break;case"MultiPolygon":l="Polygon";break}for(var c=0;c<t.coordinates.length;c++){var u=t.coordinates[c],d={type:l,coordinates:u};if(e(Oe(d,i),o,c)===!1)return!1}})}function Xo(r,e){Jo(r,function(t,o,i){var n=0;if(t.geometry){var s=t.geometry.type;if(!(s==="Point"||s==="MultiPoint")){var a,l=0,c=0,u=0;if(We(t,function(d,p,h,g,f){if(a===void 0||o>l||g>c||f>u){a=d,l=o,c=g,u=f,n=0;return}var A=Ko([a,d],t.properties);if(e(A,o,i,f,n)===!1)return!1;n++,a=d})===!1)return!1}}})}function Zo(r,e,t){var o=t,i=!1;return Xo(r,function(n,s,a,l,c){i===!1&&t===void 0?o=n:o=e(o,n,s,a,l,c),i=!0}),o}function _o(r){if(!r)throw new Error("geojson is required");switch(r.type){case"Feature":return Br(r);case"FeatureCollection":return $o(r);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return vt(r);default:throw new Error("unknown GeoJSON type")}}function Br(r){const e={type:"Feature"};return Object.keys(r).forEach(t=>{switch(t){case"type":case"properties":case"geometry":return;default:e[t]=r[t]}}),e.properties=Sr(r.properties),r.geometry==null?e.geometry=null:e.geometry=vt(r.geometry),e}function Sr(r){const e={};return r&&Object.keys(r).forEach(t=>{const o=r[t];typeof o=="object"?o===null?e[t]=null:Array.isArray(o)?e[t]=o.map(i=>i):e[t]=Sr(o):e[t]=o}),e}function $o(r){const e={type:"FeatureCollection"};return Object.keys(r).forEach(t=>{switch(t){case"type":case"features":return;default:e[t]=r[t]}}),e.features=r.features.map(t=>Br(t)),e}function vt(r){const e={type:r.type};return r.bbox&&(e.bbox=r.bbox),r.type==="GeometryCollection"?(e.geometries=r.geometries.map(t=>vt(t)),e):(e.coordinates=Lr(r.coordinates),e)}function Lr(r){const e=r;return typeof e[0]!="object"?e.slice():e.map(t=>Lr(t))}function Pr(r,e={}){return Dr(r,"mercator",e)}function ei(r,e={}){return Dr(r,"wgs84",e)}function Dr(r,e,t={}){t=t||{};var o=t.mutate;if(!r)throw new Error("geojson is required");return Array.isArray(r)&&wt(r[0])?r=e==="mercator"?Nr(r):Fr(r):(o!==!0&&(r=_o(r)),We(r,function(i){var n=e==="mercator"?Nr(i):Fr(i);i[0]=n[0],i[1]=n[1]})),r}function Nr(r){var e=Math.PI/180,t=6378137,o=20037508342789244e-9,i=Math.abs(r[0])<=180?r[0]:r[0]-ti(r[0])*360,n=[t*i*e,t*Math.log(Math.tan(Math.PI*.25+.5*r[1]*e))];return n[0]>o&&(n[0]=o),n[0]<-o&&(n[0]=-o),n[1]>o&&(n[1]=o),n[1]<-o&&(n[1]=-o),n}function Fr(r){var e=180/Math.PI,t=6378137;return[r[0]*e/t,(Math.PI*.5-2*Math.atan(Math.exp(-r[1]/t)))*e]}function ti(r){return r<0?-1:r>0?1:0}function Tr(r,e,t){const o=e.geometry.coordinates,i=t.geometry.coordinates;if(o[1]>nt||o[1]<it||i[1]>nt||i[1]<it)return null;const n=Pr(o),s=Pr(i),a=d=>Number(d.toFixed(8)),l=(d,p)=>(d+p)/2,c=ei([l(n[0],s[0]),l(n[1],s[1])]),u=[a(c[0]),a(c[1])];return{type:E.FEATURE,properties:{meta:K.MIDPOINT,parent:r,lng:u[0],lat:u[1],coord_path:t.properties.coord_path},geometry:{type:E.POINT,coordinates:u}}}function Je(r,e={},t=null){const{type:o,coordinates:i}=r.geometry,n=r.properties&&r.properties.id;let s=[];o===E.POINT?s.push(ke(n,i,t,l(t))):o===E.POLYGON?i.forEach((u,d)=>{a(u,t!==null?`${t}.${d}`:String(d))}):o===E.LINE_STRING?a(i,t):o.indexOf(E.MULTI_PREFIX)===0&&c();function a(u,d){let p="",h=null;u.forEach((g,f)=>{const A=d!=null?`${d}.${f}`:String(f),y=ke(n,g,A,l(A));if(e.midpoints&&h){const x=Tr(n,h,y);x&&s.push(x)}h=y;const b=JSON.stringify(g);p!==b&&s.push(y),f===0&&(p=b)})}function l(u){return e.selectedPaths?e.selectedPaths.indexOf(u)!==-1:!1}function c(){const u=o.replace(E.MULTI_PREFIX,"");i.forEach((d,p)=>{const h={type:E.FEATURE,properties:r.properties,geometry:{type:u,coordinates:d}};s=s.concat(Je(h,e,p))})}return s}const se={enable(r){setTimeout(()=>{!r.map||!r.map.doubleClickZoom||!r._ctx||!r._ctx.store||!r._ctx.store.getInitialConfigValue||r._ctx.store.getInitialConfigValue("doubleClickZoom")&&r.map.doubleClickZoom.enable()},0)},disable(r){setTimeout(()=>{!r.map||!r.map.doubleClickZoom||r.map.doubleClickZoom.disable()},0)}},{LAT_MIN:Xe,LAT_MAX:Ze,LAT_RENDERED_MIN:Or,LAT_RENDERED_MAX:Rr,LNG_MIN:Gr,LNG_MAX:Qr}=ar;function ri(r){const e={Point:0,LineString:1,Polygon:2,MultiPoint:1,MultiLineString:2,MultiPolygon:3}[r.geometry.type],t=[r.geometry.coordinates].flat(e),o=t.map(a=>a[0]),i=t.map(a=>a[1]),n=a=>Math.min.apply(null,a),s=a=>Math.max.apply(null,a);return[n(o),n(i),s(o),s(i)]}function Ct(r,e){let t=Xe,o=Ze,i=Xe,n=Ze,s=Qr,a=Gr;r.forEach(c=>{const u=ri(c),d=u[1],p=u[3],h=u[0],g=u[2];d>t&&(t=d),p<o&&(o=p),p>i&&(i=p),d<n&&(n=d),h<s&&(s=h),g>a&&(a=g)});const l=e;return t+l.lat>Rr&&(l.lat=Rr-t),i+l.lat>Ze&&(l.lat=Ze-i),o+l.lat<Or&&(l.lat=Or-o),n+l.lat<Xe&&(l.lat=Xe-n),s+l.lng<=Gr&&(l.lng+=Math.ceil(Math.abs(l.lng)/360)*360),a+l.lng>=Qr&&(l.lng-=Math.ceil(Math.abs(l.lng)/360)*360),l}function xt(r,e){const t=Ct(r.map(o=>o.toGeoJSON()),e);r.forEach(o=>{const i=o.getCoordinates(),n=c=>{const u={lng:c[0]+t.lng,lat:c[1]+t.lat};return[u.lng,u.lat]},s=c=>c.map(u=>n(u)),a=c=>c.map(u=>s(u));let l;o.type===E.POINT?l=n(i):o.type===E.LINE_STRING||o.type===E.MULTI_POINT?l=i.map(n):o.type===E.POLYGON||o.type===E.MULTI_LINE_STRING?l=i.map(s):o.type===E.MULTI_POLYGON&&(l=i.map(a)),o.incomingCoords(l)})}const F={};F.onSetup=function(r){const e={dragMoveLocation:null,boxSelectStartLocation:null,boxSelectElement:void 0,boxSelecting:!1,canBoxSelect:!1,dragMoving:!1,canDragMove:!1,initialDragPanState:this.map.dragPan.isEnabled(),initiallySelectedFeatureIds:r.featureIds||[]};return this.setSelected(e.initiallySelectedFeatureIds.filter(t=>this.getFeature(t)!==void 0)),this.fireActionable(),this.setActionableState({combineFeatures:!0,uncombineFeatures:!0,trash:!0}),e},F.fireUpdate=function(){this.fire(q.UPDATE,{action:De.MOVE,features:this.getSelected().map(r=>r.toGeoJSON())})},F.fireActionable=function(){const r=this.getSelected(),e=r.filter(n=>this.isInstanceOf("MultiFeature",n));let t=!1;if(r.length>1){t=!0;const n=r[0].type.replace("Multi","");r.forEach(s=>{s.type.replace("Multi","")!==n&&(t=!1)})}const o=e.length>0,i=r.length>0;this.setActionableState({combineFeatures:t,uncombineFeatures:o,trash:i})},F.getUniqueIds=function(r){return r.length?r.map(t=>t.properties.id).filter(t=>t!==void 0).reduce((t,o)=>(t.add(o),t),new oe).values():[]},F.stopExtendedInteractions=function(r){r.boxSelectElement&&(r.boxSelectElement.parentNode&&r.boxSelectElement.parentNode.removeChild(r.boxSelectElement),r.boxSelectElement=null),(r.canDragMove||r.canBoxSelect)&&r.initialDragPanState===!0&&this.map.dragPan.enable(),r.boxSelecting=!1,r.canBoxSelect=!1,r.dragMoving=!1,r.canDragMove=!1},F.onStop=function(){se.enable(this)},F.onMouseMove=function(r,e){return at(e)&&r.dragMoving&&this.fireUpdate(),this.stopExtendedInteractions(r),!0},F.onMouseOut=function(r){return r.dragMoving?this.fireUpdate():!0},F.onTap=F.onClick=function(r,e){if(Ye(e))return this.clickAnywhere(r,e);if(Ue(K.VERTEX)(e))return this.clickOnVertex(r,e);if(at(e))return this.clickOnFeature(r,e)},F.clickAnywhere=function(r){const e=this.getSelectedIds();e.length&&(this.clearSelectedFeatures(),e.forEach(t=>this.doRender(t))),se.enable(this),this.stopExtendedInteractions(r)},F.clickOnVertex=function(r,e){this.changeMode(S.DIRECT_SELECT,{featureId:e.featureTarget.properties.parent,coordPath:e.featureTarget.properties.coord_path,startPos:e.lngLat}),this.updateUIClasses({mouse:R.MOVE})},F.startOnActiveFeature=function(r,e){this.stopExtendedInteractions(r),this.map.dragPan.disable(),this.doRender(e.featureTarget.properties.id),r.canDragMove=!0,r.dragMoveLocation=e.lngLat},F.clickOnFeature=function(r,e){se.disable(this),this.stopExtendedInteractions(r);const t=ze(e),o=this.getSelectedIds(),i=e.featureTarget.properties.id,n=this.isSelected(i);if(!t&&n&&this.getFeature(i).type!==E.POINT)return this.changeMode(S.DIRECT_SELECT,{featureId:i});n&&t?(this.deselect(i),this.updateUIClasses({mouse:R.POINTER}),o.length===1&&se.enable(this)):!n&&t?(this.select(i),this.updateUIClasses({mouse:R.MOVE})):!n&&!t&&(o.forEach(s=>this.doRender(s)),this.setSelected(i),this.updateUIClasses({mouse:R.MOVE})),this.doRender(i)},F.onMouseDown=function(r,e){if(r.initialDragPanState=this.map.dragPan.isEnabled(),ve(e))return this.startOnActiveFeature(r,e);if(this.drawConfig.boxSelect&&lr(e))return this.startBoxSelect(r,e)},F.startBoxSelect=function(r,e){this.stopExtendedInteractions(r),this.map.dragPan.disable(),r.boxSelectStartLocation=bt(e.originalEvent,this.map.getContainer()),r.canBoxSelect=!0},F.onTouchStart=function(r,e){if(ve(e))return this.startOnActiveFeature(r,e)},F.onDrag=function(r,e){if(r.canDragMove)return this.dragMove(r,e);if(this.drawConfig.boxSelect&&r.canBoxSelect)return this.whileBoxSelect(r,e)},F.whileBoxSelect=function(r,e){r.boxSelecting=!0,this.updateUIClasses({mouse:R.ADD}),r.boxSelectElement||(r.boxSelectElement=document.createElement("div"),r.boxSelectElement.classList.add(_.BOX_SELECT),this.map.getContainer().appendChild(r.boxSelectElement));const t=bt(e.originalEvent,this.map.getContainer()),o=Math.min(r.boxSelectStartLocation.x,t.x),i=Math.max(r.boxSelectStartLocation.x,t.x),n=Math.min(r.boxSelectStartLocation.y,t.y),s=Math.max(r.boxSelectStartLocation.y,t.y),a=`translate(${o}px, ${n}px)`;r.boxSelectElement.style.transform=a,r.boxSelectElement.style.WebkitTransform=a,r.boxSelectElement.style.width=`${i-o}px`,r.boxSelectElement.style.height=`${s-n}px`},F.dragMove=function(r,e){r.dragMoving=!0,e.originalEvent.stopPropagation();const t={lng:e.lngLat.lng-r.dragMoveLocation.lng,lat:e.lngLat.lat-r.dragMoveLocation.lat};xt(this.getSelected(),t),r.dragMoveLocation=e.lngLat},F.onTouchEnd=F.onMouseUp=function(r,e){if(r.dragMoving)this.fireUpdate();else if(r.boxSelecting){const t=[r.boxSelectStartLocation,bt(e.originalEvent,this.map.getContainer())],o=this.featuresAt(null,t,"click"),i=this.getUniqueIds(o).filter(n=>!this.isSelected(n));i.length&&(this.select(i),i.forEach(n=>this.doRender(n)),this.updateUIClasses({mouse:R.MOVE}))}this.stopExtendedInteractions(r)},F.toDisplayFeatures=function(r,e,t){e.properties.active=this.isSelected(e.properties.id)?z.ACTIVE:z.INACTIVE,t(e),this.fireActionable(),!(e.properties.active!==z.ACTIVE||e.geometry.type===E.POINT)&&Je(e).forEach(t)},F.onTrash=function(){this.deleteFeature(this.getSelectedIds()),this.fireActionable()},F.onCombineFeatures=function(){const r=this.getSelected();if(r.length===0||r.length<2)return;const e=[],t=[],o=r[0].type.replace("Multi","");for(let i=0;i<r.length;i++){const n=r[i];if(n.type.replace("Multi","")!==o)return;n.type.includes("Multi")?n.getCoordinates().forEach(s=>{e.push(s)}):e.push(n.getCoordinates()),t.push(n.toGeoJSON())}if(t.length>1){const i=this.newFeature({type:E.FEATURE,properties:t[0].properties,geometry:{type:`Multi${o}`,coordinates:e}});this.addFeature(i),this.deleteFeature(this.getSelectedIds(),{silent:!0}),this.setSelected([i.id]),this.fire(q.COMBINE_FEATURES,{createdFeatures:[i.toGeoJSON()],deletedFeatures:t})}this.fireActionable()},F.onUncombineFeatures=function(){const r=this.getSelected();if(r.length===0)return;const e=[],t=[];for(let o=0;o<r.length;o++){const i=r[o];this.isInstanceOf("MultiFeature",i)&&(i.getFeatures().forEach(n=>{this.addFeature(n),n.properties=i.properties,e.push(n.toGeoJSON()),this.select([n.id])}),this.deleteFeature(i.id,{silent:!0}),t.push(i.toGeoJSON()))}e.length>1&&this.fire(q.UNCOMBINE_FEATURES,{createdFeatures:e,deletedFeatures:t}),this.fireActionable()};const Ur=Ue(K.VERTEX),Yr=Ue(K.MIDPOINT),T={};T.fireUpdate=function(){this.fire(q.UPDATE,{action:De.CHANGE_COORDINATES,features:this.getSelected().map(r=>r.toGeoJSON())})},T.fireActionable=function(r){this.setActionableState({combineFeatures:!1,uncombineFeatures:!1,trash:r.selectedCoordPaths.length>0})},T.startDragging=function(r,e){r.initialDragPanState==null&&(r.initialDragPanState=this.map.dragPan.isEnabled()),this.map.dragPan.disable(),r.canDragMove=!0,r.dragMoveLocation=e.lngLat},T.stopDragging=function(r){r.canDragMove&&r.initialDragPanState===!0&&this.map.dragPan.enable(),r.initialDragPanState=null,r.dragMoving=!1,r.canDragMove=!1,r.dragMoveLocation=null},T.onVertex=function(r,e){this.startDragging(r,e);const t=e.featureTarget.properties,o=r.selectedCoordPaths.indexOf(t.coord_path);!ze(e)&&o===-1?r.selectedCoordPaths=[t.coord_path]:ze(e)&&o===-1&&r.selectedCoordPaths.push(t.coord_path);const i=this.pathsToCoordinates(r.featureId,r.selectedCoordPaths);this.setSelectedCoordinates(i)},T.onMidpoint=function(r,e){this.startDragging(r,e);const t=e.featureTarget.properties;r.feature.addCoordinate(t.coord_path,t.lng,t.lat),this.fireUpdate(),r.selectedCoordPaths=[t.coord_path]},T.pathsToCoordinates=function(r,e){return e.map(t=>({feature_id:r,coord_path:t}))},T.onFeature=function(r,e){r.selectedCoordPaths.length===0?this.startDragging(r,e):this.stopDragging(r)},T.dragFeature=function(r,e,t){xt(this.getSelected(),t),r.dragMoveLocation=e.lngLat},T.dragVertex=function(r,e,t){const o=r.selectedCoordPaths.map(s=>r.feature.getCoordinate(s)),i=o.map(s=>({type:E.FEATURE,properties:{},geometry:{type:E.POINT,coordinates:s}})),n=Ct(i,t);for(let s=0;s<o.length;s++){const a=o[s];r.feature.updateCoordinate(r.selectedCoordPaths[s],a[0]+n.lng,a[1]+n.lat)}},T.clickNoTarget=function(){this.changeMode(S.SIMPLE_SELECT)},T.clickInactive=function(){this.changeMode(S.SIMPLE_SELECT)},T.clickActiveFeature=function(r){r.selectedCoordPaths=[],this.clearSelectedCoordinates(),r.feature.changed()},T.onSetup=function(r){const e=r.featureId,t=this.getFeature(e);if(!t)throw new Error("You must provide a featureId to enter direct_select mode");if(t.type===E.POINT)throw new TypeError("direct_select mode doesn't handle point features");const o={featureId:e,feature:t,dragMoveLocation:r.startPos||null,dragMoving:!1,canDragMove:!1,selectedCoordPaths:r.coordPath?[r.coordPath]:[]};return this.setSelectedCoordinates(this.pathsToCoordinates(e,o.selectedCoordPaths)),this.setSelected(e),se.disable(this),this.setActionableState({trash:!0}),o},T.onStop=function(){se.enable(this),this.clearSelectedCoordinates()},T.toDisplayFeatures=function(r,e,t){r.featureId===e.properties.id?(e.properties.active=z.ACTIVE,t(e),Je(e,{map:this.map,midpoints:!0,selectedPaths:r.selectedCoordPaths}).forEach(t)):(e.properties.active=z.INACTIVE,t(e)),this.fireActionable(r)},T.onTrash=function(r){r.selectedCoordPaths.sort((e,t)=>t.localeCompare(e,"en",{numeric:!0})).forEach(e=>r.feature.removeCoordinate(e)),this.fireUpdate(),r.selectedCoordPaths=[],this.clearSelectedCoordinates(),this.fireActionable(r),r.feature.isValid()===!1&&(this.deleteFeature([r.featureId]),this.changeMode(S.SIMPLE_SELECT,{}))},T.onMouseMove=function(r,e){const t=ve(e),o=Ur(e),i=Yr(e),n=r.selectedCoordPaths.length===0;return t&&n?this.updateUIClasses({mouse:R.MOVE}):o&&!n?this.updateUIClasses({mouse:R.MOVE}):this.updateUIClasses({mouse:R.NONE}),(o||t||i)&&r.dragMoving&&this.fireUpdate(),this.stopDragging(r),!0},T.onMouseOut=function(r){return r.dragMoving&&this.fireUpdate(),!0},T.onTouchStart=T.onMouseDown=function(r,e){if(Ur(e))return this.onVertex(r,e);if(ve(e))return this.onFeature(r,e);if(Yr(e))return this.onMidpoint(r,e)},T.onDrag=function(r,e){if(r.canDragMove!==!0)return;r.dragMoving=!0,e.originalEvent.stopPropagation();const t={lng:e.lngLat.lng-r.dragMoveLocation.lng,lat:e.lngLat.lat-r.dragMoveLocation.lat};r.selectedCoordPaths.length>0?this.dragVertex(r,e,t):this.dragFeature(r,e,t),r.dragMoveLocation=e.lngLat},T.onClick=function(r,e){if(Ye(e))return this.clickNoTarget(r,e);if(ve(e))return this.clickActiveFeature(r,e);if(st(e))return this.clickInactive(r,e);this.stopDragging(r)},T.onTap=function(r,e){if(Ye(e))return this.clickNoTarget(r,e);if(ve(e))return this.clickActiveFeature(r,e);if(st(e))return this.clickInactive(r,e)},T.onTouchEnd=T.onMouseUp=function(r){r.dragMoving&&this.fireUpdate(),this.stopDragging(r)};const pe={};pe.onSetup=function(){const r=this.newFeature({type:E.FEATURE,properties:{},geometry:{type:E.POINT,coordinates:[]}});return this.addFeature(r),this.clearSelectedFeatures(),this.updateUIClasses({mouse:R.ADD}),this.activateUIButton($.POINT),this.setActionableState({trash:!0}),{point:r}},pe.stopDrawingAndRemove=function(r){this.deleteFeature([r.point.id],{silent:!0}),this.changeMode(S.SIMPLE_SELECT)},pe.onTap=pe.onClick=function(r,e){this.updateUIClasses({mouse:R.MOVE}),r.point.updateCoordinate("",e.lngLat.lng,e.lngLat.lat),this.fire(q.CREATE,{features:[r.point.toGeoJSON()]}),this.changeMode(S.SIMPLE_SELECT,{featureIds:[r.point.id]})},pe.onStop=function(r){this.activateUIButton(),r.point.getCoordinate().length||this.deleteFeature([r.point.id],{silent:!0})},pe.toDisplayFeatures=function(r,e,t){const o=e.properties.id===r.point.id;if(e.properties.active=o?z.ACTIVE:z.INACTIVE,!o)return t(e)},pe.onTrash=pe.stopDrawingAndRemove,pe.onKeyUp=function(r,e){if(He(e)||je(e))return this.stopDrawingAndRemove(r,e)};function _e(r,e){return r.lngLat?r.lngLat.lng===e[0]&&r.lngLat.lat===e[1]:!1}const ae={};ae.onSetup=function(){const r=this.newFeature({type:E.FEATURE,properties:{},geometry:{type:E.POLYGON,coordinates:[[]]}});return this.addFeature(r),this.clearSelectedFeatures(),se.disable(this),this.updateUIClasses({mouse:R.ADD}),this.activateUIButton($.POLYGON),this.setActionableState({trash:!0}),{polygon:r,currentVertexPosition:0}},ae.clickAnywhere=function(r,e){if(r.currentVertexPosition>0&&_e(e,r.polygon.coordinates[0][r.currentVertexPosition-1]))return this.changeMode(S.SIMPLE_SELECT,{featureIds:[r.polygon.id]});this.updateUIClasses({mouse:R.ADD}),r.polygon.updateCoordinate(`0.${r.currentVertexPosition}`,e.lngLat.lng,e.lngLat.lat),r.currentVertexPosition++,r.polygon.updateCoordinate(`0.${r.currentVertexPosition}`,e.lngLat.lng,e.lngLat.lat)},ae.clickOnVertex=function(r){return this.changeMode(S.SIMPLE_SELECT,{featureIds:[r.polygon.id]})},ae.onMouseMove=function(r,e){r.polygon.updateCoordinate(`0.${r.currentVertexPosition}`,e.lngLat.lng,e.lngLat.lat),Ne(e)&&this.updateUIClasses({mouse:R.POINTER})},ae.onTap=ae.onClick=function(r,e){return Ne(e)?this.clickOnVertex(r,e):this.clickAnywhere(r,e)},ae.onKeyUp=function(r,e){He(e)?(this.deleteFeature([r.polygon.id],{silent:!0}),this.changeMode(S.SIMPLE_SELECT)):je(e)&&this.changeMode(S.SIMPLE_SELECT,{featureIds:[r.polygon.id]})},ae.onStop=function(r){this.updateUIClasses({mouse:R.NONE}),se.enable(this),this.activateUIButton(),this.getFeature(r.polygon.id)!==void 0&&(r.polygon.removeCoordinate(`0.${r.currentVertexPosition}`),r.polygon.isValid()?this.fire(q.CREATE,{features:[r.polygon.toGeoJSON()]}):(this.deleteFeature([r.polygon.id],{silent:!0}),this.changeMode(S.SIMPLE_SELECT,{},{silent:!0})))},ae.toDisplayFeatures=function(r,e,t){const o=e.properties.id===r.polygon.id;if(e.properties.active=o?z.ACTIVE:z.INACTIVE,!o)return t(e);if(e.geometry.coordinates.length===0)return;const i=e.geometry.coordinates[0].length;if(!(i<3)){if(e.properties.meta=K.FEATURE,t(ke(r.polygon.id,e.geometry.coordinates[0][0],"0.0",!1)),i>3){const n=e.geometry.coordinates[0].length-3;t(ke(r.polygon.id,e.geometry.coordinates[0][n],`0.${n}`,!1))}if(i<=4){const n=[[e.geometry.coordinates[0][0][0],e.geometry.coordinates[0][0][1]],[e.geometry.coordinates[0][1][0],e.geometry.coordinates[0][1][1]]];if(t({type:E.FEATURE,properties:e.properties,geometry:{coordinates:n,type:E.LINE_STRING}}),i===3)return}return t(e)}},ae.onTrash=function(r){this.deleteFeature([r.polygon.id],{silent:!0}),this.changeMode(S.SIMPLE_SELECT)};const le={};le.onSetup=function(r){r=r||{};const e=r.featureId;let t,o,i="forward";if(e){if(t=this.getFeature(e),!t)throw new Error("Could not find a feature with the provided featureId");let n=r.from;if(n&&n.type==="Feature"&&n.geometry&&n.geometry.type==="Point"&&(n=n.geometry),n&&n.type==="Point"&&n.coordinates&&n.coordinates.length===2&&(n=n.coordinates),!n||!Array.isArray(n))throw new Error("Please use the `from` property to indicate which point to continue the line from");const s=t.coordinates.length-1;if(t.coordinates[s][0]===n[0]&&t.coordinates[s][1]===n[1])o=s+1,t.addCoordinate(o,...t.coordinates[s]);else if(t.coordinates[0][0]===n[0]&&t.coordinates[0][1]===n[1])i="backwards",o=0,t.addCoordinate(o,...t.coordinates[0]);else throw new Error("`from` should match the point at either the start or the end of the provided LineString")}else t=this.newFeature({type:E.FEATURE,properties:{},geometry:{type:E.LINE_STRING,coordinates:[]}}),o=0,this.addFeature(t);return this.clearSelectedFeatures(),se.disable(this),this.updateUIClasses({mouse:R.ADD}),this.activateUIButton($.LINE),this.setActionableState({trash:!0}),{line:t,currentVertexPosition:o,direction:i}},le.clickAnywhere=function(r,e){if(r.currentVertexPosition>0&&_e(e,r.line.coordinates[r.currentVertexPosition-1])||r.direction==="backwards"&&_e(e,r.line.coordinates[r.currentVertexPosition+1]))return this.changeMode(S.SIMPLE_SELECT,{featureIds:[r.line.id]});this.updateUIClasses({mouse:R.ADD}),r.line.updateCoordinate(r.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),r.direction==="forward"?(r.currentVertexPosition++,r.line.updateCoordinate(r.currentVertexPosition,e.lngLat.lng,e.lngLat.lat)):r.line.addCoordinate(0,e.lngLat.lng,e.lngLat.lat)},le.clickOnVertex=function(r){return this.changeMode(S.SIMPLE_SELECT,{featureIds:[r.line.id]})},le.onMouseMove=function(r,e){r.line.updateCoordinate(r.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),Ne(e)&&this.updateUIClasses({mouse:R.POINTER})},le.onTap=le.onClick=function(r,e){if(Ne(e))return this.clickOnVertex(r,e);this.clickAnywhere(r,e)},le.onKeyUp=function(r,e){je(e)?this.changeMode(S.SIMPLE_SELECT,{featureIds:[r.line.id]}):He(e)&&(this.deleteFeature([r.line.id],{silent:!0}),this.changeMode(S.SIMPLE_SELECT))},le.onStop=function(r){se.enable(this),this.activateUIButton(),this.getFeature(r.line.id)!==void 0&&(r.line.removeCoordinate(`${r.currentVertexPosition}`),r.line.isValid()?this.fire(q.CREATE,{features:[r.line.toGeoJSON()]}):(this.deleteFeature([r.line.id],{silent:!0}),this.changeMode(S.SIMPLE_SELECT,{},{silent:!0})))},le.onTrash=function(r){this.deleteFeature([r.line.id],{silent:!0}),this.changeMode(S.SIMPLE_SELECT)},le.toDisplayFeatures=function(r,e,t){const o=e.properties.id===r.line.id;if(e.properties.active=o?z.ACTIVE:z.INACTIVE,!o)return t(e);e.geometry.coordinates.length<2||(e.properties.meta=K.FEATURE,t(ke(r.line.id,e.geometry.coordinates[r.direction==="forward"?e.geometry.coordinates.length-2:1],`${r.direction==="forward"?e.geometry.coordinates.length-2:1}`,!1)),t(e))};const zr={simple_select:F,direct_select:T,draw_point:pe,draw_polygon:ae,draw_line_string:le},oi={defaultMode:S.SIMPLE_SELECT,keybindings:!0,touchEnabled:!0,clickBuffer:2,touchBuffer:25,boxSelect:!0,displayControlsDefault:!0,styles:Mr,modes:zr,controls:{},userProperties:!1,suppressAPIEvents:!0},ii={point:!0,line_string:!0,polygon:!0,trash:!0,combine_features:!0,uncombine_features:!0},ni={point:!1,line_string:!1,polygon:!1,trash:!1,combine_features:!1,uncombine_features:!1};function Hr(r,e){return r.map(t=>t.source?t:Object.assign({},t,{id:`${t.id}.${e}`,source:e==="hot"?re.HOT:re.COLD}))}function si(r={}){let e=Object.assign({},r);return r.controls||(e.controls={}),r.displayControlsDefault===!1?e.controls=Object.assign({},ni,r.controls):e.controls=Object.assign({},ii,r.controls),e=Object.assign({},oi,e),e.styles=Hr(e.styles,"cold").concat(Hr(e.styles,"hot")),e}var ai=function r(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var o,i,n;if(Array.isArray(e)){if(o=e.length,o!=t.length)return!1;for(i=o;i--!==0;)if(!r(e[i],t[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(n=Object.keys(e),o=n.length,o!==Object.keys(t).length)return!1;for(i=o;i--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[i]))return!1;for(i=o;i--!==0;){var s=n[i];if(!r(e[s],t[s]))return!1}return!0}return e!==e&&t!==t};const jr=hr(ai);var li=ui,ci={Point:"geometry",MultiPoint:"geometry",LineString:"geometry",MultiLineString:"geometry",Polygon:"geometry",MultiPolygon:"geometry",GeometryCollection:"geometry",Feature:"feature",FeatureCollection:"featurecollection"};function ui(r){if(!r||!r.type)return null;var e=ci[r.type];if(!e)return null;if(e==="geometry")return{type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:r}]};if(e==="feature")return{type:"FeatureCollection",features:[r]};if(e==="featurecollection")return r}const di=hr(li);function Kr(r,e){return r.length!==e.length?!1:JSON.stringify(r.map(t=>t).sort())===JSON.stringify(e.map(t=>t).sort())}const pi={Polygon:te,LineString:de,Point:fe,MultiPolygon:J,MultiLineString:J,MultiPoint:J};function hi(r,e){e.modes=S;const t=r.options.suppressAPIEvents!==void 0?!!r.options.suppressAPIEvents:!0;return e.getFeatureIdsAt=function(o){return Ie.click({point:o},null,r).map(n=>n.properties.id)},e.getSelectedIds=function(){return r.store.getSelectedIds()},e.getSelected=function(){return{type:E.FEATURE_COLLECTION,features:r.store.getSelectedIds().map(o=>r.store.get(o)).map(o=>o.toGeoJSON())}},e.getSelectedPoints=function(){return{type:E.FEATURE_COLLECTION,features:r.store.getSelectedCoordinates().map(o=>({type:E.FEATURE,properties:{},geometry:{type:E.POINT,coordinates:o.coordinates}}))}},e.set=function(o){if(o.type===void 0||o.type!==E.FEATURE_COLLECTION||!Array.isArray(o.features))throw new Error("Invalid FeatureCollection");const i=r.store.createRenderBatch();let n=r.store.getAllIds().slice();const s=e.add(o),a=new oe(s);return n=n.filter(l=>!a.has(l)),n.length&&e.delete(n),i(),s},e.add=function(o){const n=JSON.parse(JSON.stringify(di(o))).features.map(s=>{if(s.id=s.id||At(),s.geometry===null)throw new Error("Invalid geometry: null");if(r.store.get(s.id)===void 0||r.store.get(s.id).type!==s.geometry.type){const a=pi[s.geometry.type];if(a===void 0)throw new Error(`Invalid geometry type: ${s.geometry.type}.`);const l=new a(r,s);r.store.add(l,{silent:t})}else{const a=r.store.get(s.id),l=a.properties;a.properties=s.properties,jr(l,s.properties)||r.store.featureChanged(a.id,{silent:t}),jr(a.getCoordinates(),s.geometry.coordinates)||a.incomingCoords(s.geometry.coordinates)}return s.id});return r.store.render(),n},e.get=function(o){const i=r.store.get(o);if(i)return i.toGeoJSON()},e.getAll=function(){return{type:E.FEATURE_COLLECTION,features:r.store.getAll().map(o=>o.toGeoJSON())}},e.delete=function(o){return r.store.delete(o,{silent:t}),e.getMode()===S.DIRECT_SELECT&&!r.store.getSelectedIds().length?r.events.changeMode(S.SIMPLE_SELECT,void 0,{silent:t}):r.store.render(),e},e.deleteAll=function(){return r.store.delete(r.store.getAllIds(),{silent:t}),e.getMode()===S.DIRECT_SELECT?r.events.changeMode(S.SIMPLE_SELECT,void 0,{silent:t}):r.store.render(),e},e.changeMode=function(o,i={}){return o===S.SIMPLE_SELECT&&e.getMode()===S.SIMPLE_SELECT?(Kr(i.featureIds||[],r.store.getSelectedIds())||(r.store.setSelected(i.featureIds,{silent:t}),r.store.render()),e):(o===S.DIRECT_SELECT&&e.getMode()===S.DIRECT_SELECT&&i.featureId===r.store.getSelectedIds()[0]||r.events.changeMode(o,i,{silent:t}),e)},e.getMode=function(){return r.events.getMode()},e.trash=function(){return r.events.trash({silent:t}),e},e.combineFeatures=function(){return r.events.combineFeatures({silent:t}),e},e.uncombineFeatures=function(){return r.events.uncombineFeatures({silent:t}),e},e.setFeatureProperty=function(o,i,n){return r.store.setFeatureProperty(o,i,n,{silent:t}),e},e}const gi=Object.freeze(Object.defineProperty({__proto__:null,CommonSelectors:Eo,ModeHandler:mt,StringSet:oe,constrainFeatureMovement:Ct,createMidPoint:Tr,createSupplementaryPoints:Je,createVertex:ke,doubleClickZoom:se,euclideanDistance:ht,featuresAt:Ie,getFeatureAtAndSetCursors:Ve,isClick:gt,isEventAtCoordinates:_e,isTap:ft,mapEventToBoundingBox:br,moveFeatures:xt,sortFeatures:yr,stringSetsAreEqual:Kr,theme:Mr,toDenseArray:Fe},Symbol.toStringTag,{value:"Module"})),fi=function(r,e){r=si(r);const t={options:r};e=hi(t,e),t.api=e;const o=Ho(t);return e.onAdd=o.onAdd,e.onRemove=o.onRemove,e.types=$,e.options=r,e};function $e(r){fi(r,this)}$e.modes=zr,$e.constants=ar,$e.lib=gi;function Mt(r){if(!r)throw new Error("coord is required");if(!Array.isArray(r)){if(r.type==="Feature"&&r.geometry!==null&&r.geometry.type==="Point")return[...r.geometry.coordinates];if(r.type==="Point")return[...r.coordinates]}if(Array.isArray(r)&&r.length>=2&&!Array.isArray(r[0])&&!Array.isArray(r[1]))return[...r];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function mi(r,e,t,o={}){const i=Mt(r),n=Ce(i[0]),s=Ce(i[1]),a=Ce(t),l=qo(e,o.units),c=Math.asin(Math.sin(s)*Math.cos(l)+Math.cos(s)*Math.sin(l)*Math.cos(a)),u=n+Math.atan2(Math.sin(a)*Math.sin(l)*Math.cos(s),Math.cos(l)-Math.sin(s)*Math.sin(c)),d=Ir(u),p=Ir(c);return i[2]!==void 0?Ae([d,p,i[2]],o.properties):Ae([d,p],o.properties)}function Et(r,e,t={}){var o=Mt(r),i=Mt(e),n=Ce(i[1]-o[1]),s=Ce(i[0]-o[0]),a=Ce(o[1]),l=Ce(i[1]),c=Math.pow(Math.sin(n/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(a)*Math.cos(l);return Vo(2*Math.atan2(Math.sqrt(c),Math.sqrt(1-c)),t.units)}function Ai(r){return Wo(r,(e,t)=>e+yi(t),0)}function yi(r){let e=0,t;switch(r.type){case"Polygon":return Vr(r.coordinates);case"MultiPolygon":for(t=0;t<r.coordinates.length;t++)e+=Vr(r.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Vr(r){let e=0;if(r&&r.length>0){e+=Math.abs(qr(r[0]));for(let t=1;t<r.length;t++)e-=Math.abs(qr(r[t]))}return e}var bi=X*X/2,It=Math.PI/180;function qr(r){const e=r.length-1;if(e<=2)return 0;let t=0,o=0;for(;o<e;){const i=r[o],n=r[o+1===e?0:o+1],s=r[o+2>=e?(o+2)%e:o+2],a=i[0]*It,l=n[1]*It,c=s[0]*It;t+=(c-a)*Math.sin(l),o++}return t*bi}function ye(r,e={}){let t=0,o=0,i=0;return We(r,function(n){t+=n[0],o+=n[1],i++},!0),Ae([t/i,o/i],e.properties)}function Wr(r,e,t={}){const o=t.steps||64,i=t.properties?t.properties:!Array.isArray(r)&&r.type==="Feature"&&r.properties?r.properties:{},n=[];for(let s=0;s<o;s++)n.push(mi(r,e,s*-360/o,t).geometry.coordinates);return n.push(n[0]),jo([n],i)}function wi(r,e={}){return Zo(r,(t,o)=>{const i=o.geometry.coordinates;return t+Et(i[0],i[1],e)},0)}class vi{constructor(e,t){this.draw=e,this.eventBus=t,this.clipboard=null}copy(){if(!this.draw)return!1;const e=this.draw.getSelected();return!e||e.features.length===0?(this.clipboard=null,!1):(this.clipboard=e.features.map(t=>{const o=JSON.parse(JSON.stringify(t));return delete o.id,o}),!0)}paste(){if(!this.draw)throw new w("Cannot paste: Draw instance not initialized.",v.MAP_NOT_INITIALIZED,"geometry");if(!this.clipboard||!Array.isArray(this.clipboard))return null;try{const o=s=>typeof s[0]=="number"&&typeof s[1]=="number"?[s[0]+5e-5,s[1]+-5e-5]:Array.isArray(s)?s.map(a=>o(a)):s,i=[],n=[];if(this.clipboard.forEach(s=>{const a=JSON.parse(JSON.stringify(s));a.geometry.coordinates=o(a.geometry.coordinates);const l=this.draw.add(a),c=Array.isArray(l)?l[0]:l;c&&(i.push(c),n.push(this.draw.get(c)))}),i.length>0)return this.draw.changeMode("simple_select",{featureIds:i}),this.clipboard=n.map(s=>{const a=JSON.parse(JSON.stringify(s));return delete a.id,a}),this.eventBus.emit("geometryChanged",{type:"create",features:n}),i}catch(e){const t=new w(`Failed to paste geometry: ${e.message}`,v.UNKNOWN,"geometry",{originalError:e});throw this.eventBus.emit("error",t),t}return null}}class Ci{constructor(e){this._eventBus=e,this._onCreateCb=null,this._onUpdateCb=null,this._onDeleteCb=null,this._onAnyCb=null,this._onSaveCb=null,this._isDirty=!1,this._eventBus.on("geometryChanged",t=>this._handleChange(t)),this._eventBus.on("geometrySaveRequested",t=>this._handleSave(t))}setDirty(e){return this._isDirty=!!e,this}isDirty(){return this._isDirty}promptUnsavedChanges(){return new Promise(e=>{if(!this._isDirty){e("discard");return}if(typeof document>"u"){e("discard");return}const t="pm-unsaved-modal";if(document.getElementById(t))return;const o=document.createElement("div");o.id=t,o.style.cssText=`
|
|
8
|
+
`.trim();return t&&(i+=`<circle cx="15" cy="15" r="5" fill="${r}"/>`),i+="</svg>",i}_createSvgPinpoint(e,t){const r=document.createElement("div");return r.className="pm-premium-marker",r.style.width="30px",r.style.height="38px",r.style.position="relative",r.innerHTML=this._createSvgString(e,t),r}_formatPopupHTML(e){if(typeof e!="object")return e;const{title:t,body:r,tag:i,footer:n,action:s,actions:a}=e;let l="";t&&(l+=`<div class="pm-popup-header">${t}</div>`),l+='<div class="pm-popup-body">',i&&(l+=`<span class="pm-popup-tag">${i}</span>`),r&&(l+=`<div>${r}</div>`);const c=[];return a&&Array.isArray(a)?c.push(...a):s&&typeof s=="object"&&c.push(s),c.length>0&&(l+='<div class="pm-popup-actions">',c.forEach(u=>{if(u.url){const d=u.label||"View Details",p=u.target||"_blank",h=u.color?`style="background: ${u.color};"`:"";l+=`<a href="${u.url}" target="${p}" class="pm-popup-btn" ${h}>${d}</a>`}}),l+="</div>"),l+="</div>",n&&(l+=`<div class="pm-popup-footer">${n}</div>`),l}getMarker(e){return this.markerMap.get(e)||null}updatePopup(e,t){const r=e.getPopup();if(r){const i=typeof t=="string"?t:this._formatPopupHTML(t);r.setHTML(i)}}removeMarker(e){let t=typeof e=="string"?e:null,r=null;if(t)r=this.markerMap.get(t);else{r=e;for(const[i,n]of this.markerMap.entries())if(n===r){t=i;break}}if(t||r&&r instanceof ot){const i=t||r&&r.id,n=this.glMarkers.length;if(this.glMarkers=this.glMarkers.filter(s=>s.properties.id!==i),this.glMarkers.length!==n){this._updateSource(),this.markerMap.delete(i),this.eventBus.emit("markerRemoved",{id:i});return}}r&&typeof r.remove=="function"&&!(r instanceof ot)&&(r.remove(),this.markers=this.markers.filter(i=>i!==r),t&&this.markerMap.delete(t),this.eventBus.emit("markerRemoved",{marker:r}))}clearMarkers(){this.markers.forEach(e=>e.remove()),this.markers=[],this.markerMap.clear(),this.glMarkers=[],this._updateSource(),this.eventBus.emit("markersCleared")}}class ot{constructor(e,t,r){this.id=e,this.position=t,this.manager=r,this._popup=null,this._listeners={}}on(e,t){return this._listeners[e]||(this._listeners[e]=[]),this._listeners[e].push(t),this}_emit(e,t){this._listeners[e]&&this._listeners[e].forEach(r=>r(t))}getLngLat(){return{lng:this.position[0],lat:this.position[1]}}setLngLat(e){const t=Array.isArray(e)?e:[e.lng,e.lat];this.position=t;const r=this.manager.glMarkers.find(i=>i.properties.id===this.id);return r&&(r.geometry.coordinates=t,this.manager._updateSource()),this}remove(){return this.manager.removeMarker(this.id),this}setPopup(e){this._popup=e;const t=this.manager.glMarkers.find(r=>r.properties.id===this.id);if(t){const r=JSON.parse(t.properties.options);r.popupContent=e._content,t.properties.options=JSON.stringify(r)}return this}getPopup(){return this._popup}getElement(){return null}}class wo{constructor(e){this.context=e,this.authManager=e.authManager,this.eventBus=e.eventBus,this.routeFeature=null}get mapManager(){return this.context.sdk.mapManager}async addRoute(e){if(!this.mapManager.getMap()){const i="Cannot calculate route: Map is not initialized.",n=new v(i,C.MAP_NOT_INITIALIZED,"routing");throw this.eventBus.emit("error",n),n}if(!e||!e.start||!e.destination)throw new v('Routing requires both "start" and "destination" coordinates.',C.INVALID_PARAMETERS,"routing");const r=(i,n)=>{if(!Array.isArray(i)||i.length!==2||typeof i[0]!="number"||typeof i[1]!="number")throw new v(`Invalid ${n} coordinates. Expected [longitude, latitude].`,C.INVALID_PARAMETERS,"routing")};if(r(e.start,"start"),r(e.destination,"destination"),e.waypoints){if(!Array.isArray(e.waypoints))throw new v("Waypoints must be an array of coordinates.",C.INVALID_PARAMETERS,"routing");e.waypoints.forEach((i,n)=>r(i,`waypoint at index ${n}`))}this.eventBus.emit("routeRequestStart",e);try{const i=e.waypoints&&e.waypoints.length>0;if(e.optimize&&!i)throw new v("Route optimization (optimize: true) requires at least one waypoint.",C.INVALID_PARAMETERS,"routing");const s=[e.start,...e.waypoints||[],e.destination].map(p=>`${p[0]},${p[1]}`).join(";"),a=e.profile||"driving",l=e.optimize||!1;let c;if(l&&a==="driving")c=await this.requestOptimizedRoute(e);else{const p=new URLSearchParams({geometries:"polyline6",steps:"true",overview:"full",roundabout_exits:"true",voice_instructions:"true",banner_instructions:"true",language:e.language||"th"}),h=`${this.authManager.getBaseUrl()}/api/v2/map/route/${a}/${s}?${p.toString()}`,g=await this.authManager.fetchWithAuth(h,{source:"routing"});if(!g.ok){const f=await v.fromResponse(g,"routing");throw this.eventBus.emit("error",f),f}c=await g.json()}let u=null,d=[];if(c.routes&&c.routes.length>0){u=c.routes[0];const p=typeof u.geometry=="string"?{type:"LineString",coordinates:this.decodePolyline(u.geometry,6)}:u.geometry;d=(u.legs||[]).flatMap(h=>(h.steps||[]).map(g=>{var f;return{text:((f=g.maneuver)==null?void 0:f.instruction)||g.name||g.text||"Proceed",distance:g.distance||0,duration:g.duration||0,location:g.maneuver?g.maneuver.location:null}})),this.routeFeature={distance:u.distance,duration:u.duration,steps:d,geometry:p,raw:u}}else if(c.paths&&c.paths.length>0){u=c.paths[0];const p=typeof u.points=="string"?{type:"LineString",coordinates:this.decodePolyline(u.points,5)}:u.points;d=(u.instructions||[]).map(h=>({text:h.text||"Continue",distance:h.distance||0,duration:(h.time||0)/1e3,location:(h.interval,null)})),this.routeFeature={distance:u.distance,duration:(u.time||0)/1e3,steps:d,geometry:p,raw:u}}if(this.routeFeature)return this.routeFeature.style={color:e.routeColor||"#3b82f6",width:e.routeWidth||5,casingColor:e.casingColor||"#1d4ed8",casingWidth:e.casingWidth||8,opacity:e.routeOpacity||1},this.drawRoute(this.routeFeature),this.eventBus.emit("routeCalculated",this.routeFeature),this.routeFeature;throw new v("No valid route found in response.",C.NOT_FOUND,"routing")}catch(i){if(!(i instanceof v)){const n=new v(i.message,C.UNKNOWN,"routing",{originalError:i});throw this.eventBus.emit("error",n),n}throw i}}async requestOptimizedRoute(e){const t=`${this.authManager.getBaseUrl()}/api/v2/map/route/optimize/navigate`,r={start:e.start,end:e.destination,stops:(e.waypoints||[]).map((n,s)=>({id:s+1,name:`Point ${s+1}`,location:n})),profile:"car",language:e.language||"th"},i=await this.authManager.fetchWithAuth(t,{method:"POST",body:JSON.stringify(r),source:"routing_optimize"});if(!i.ok){const n=await v.fromResponse(i,"routing_optimize");throw this.eventBus.emit("error",n),n}return i.json()}drawRoute(e){const t=this.mapManager.getMap();if(!t||!e.geometry)return;const r=e.style||{color:"#3b82f6",width:5,casingColor:"#1d4ed8",casingWidth:8,opacity:1};t.getSource("powermap-route")?(t.getSource("powermap-route").setData(e.geometry),t.setPaintProperty("powermap-route-line","line-color",r.color),t.setPaintProperty("powermap-route-line","line-width",r.width),t.setPaintProperty("powermap-route-line","line-opacity",r.opacity),t.setPaintProperty("powermap-route-line-casing","line-color",r.casingColor),t.setPaintProperty("powermap-route-line-casing","line-width",r.casingWidth)):(t.addSource("powermap-route",{type:"geojson",data:e.geometry}),t.addLayer({id:"powermap-route-line-casing",type:"line",source:"powermap-route",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":r.casingColor,"line-width":r.casingWidth,"line-opacity":.3}}),t.addLayer({id:"powermap-route-line",type:"line",source:"powermap-route",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":r.color,"line-width":r.width,"line-opacity":r.opacity}}));const i=e.geometry.coordinates,n=i.reduce((s,a)=>s.extend(a),new D.LngLatBounds(i[0],i[0]));t.fitBounds(n,{padding:50})}clearRoutes(){const e=this.mapManager.getMap();e&&(e.getLayer("powermap-route-line")&&e.removeLayer("powermap-route-line"),e.getLayer("powermap-route-line-casing")&&e.removeLayer("powermap-route-line-casing"),e.getSource("powermap-route")&&e.removeSource("powermap-route"),this.routeFeature=null,this.eventBus.emit("routeCleared"))}decodePolyline(e,t=6){let r=0,i=0,n=0;const s=[],a=Math.pow(10,t);for(;r<e.length;){let l=0,c=0,u;do u=e.charCodeAt(r++)-63,l|=(u&31)<<c,c+=5;while(u>=32);const d=l&1?~(l>>1):l>>1;i+=d,l=0,c=0;do u=e.charCodeAt(r++)-63,l|=(u&31)<<c,c+=5;while(u>=32);const p=l&1?~(l>>1):l>>1;n+=p,s.push([n/a,i/a])}return s}}class vo{constructor(e){this.authManager=e.authManager,this.eventBus=e.eventBus,this.searchThPath="/api/v2/map/address_th",this.searchEnPath="/api/v2/map/address_en"}async _fetchSearch(e,t,r){const i=this.authManager.getBaseUrl(),n=new URL(`${i}${e}`);n.searchParams.append("q",t),r&&n.searchParams.append("coor",`${r[0]},${r[1]}`);const s=await this.authManager.fetchWithAuth(n.toString(),{source:"search"});if(!s.ok){const l=await v.fromResponse(s,"search");throw this.eventBus.emit("error",l),l}const a=await s.json();return Array.isArray(a)?a:(a==null?void 0:a.hits)||(a==null?void 0:a.results)||[]}async search(e,t={}){var u;if(!e||typeof e!="string"||e.trim()==="")throw new v("Search query must be a non-empty string.",C.INVALID_PARAMETERS,"search");const{location:r,lang:i="auto"}=t;if(i&&!["th","en","auto"].includes(i.toLowerCase()))throw new v('Invalid language option. Supported: "th", "en", "auto".',C.INVALID_PARAMETERS,"search");if(r&&(!Array.isArray(r)||r.length!==2))throw new v("Location must be an array of [latitude, longitude].",C.INVALID_PARAMETERS,"search");const n=(i||"auto").toLowerCase(),s=/[\u0E00-\u0E7F]/.test(e),a=/[a-zA-Z]/.test(e);let l=this.searchThPath,c=this.searchEnPath;n==="en"?(l=this.searchEnPath,c=this.searchThPath):n==="th"?(l=this.searchThPath,c=this.searchEnPath):a&&!s?(l=this.searchEnPath,c=this.searchThPath):(l=this.searchThPath,c=this.searchEnPath);try{let d=await this._fetchSearch(l,e,r);if(!d||d.length===0||n==="auto"&&s&&a)try{const h=await this._fetchSearch(c,e,r);if(h&&h.length>0)if(!d||d.length===0)d=h;else{const g=new Set(d.map(f=>{var y;return(y=f._source)==null?void 0:y.gid}).filter(Boolean));for(const f of h){const y=(u=f._source)==null?void 0:u.gid;(!y||!g.has(y))&&(d.push(f),y&&g.add(y))}}}catch{}const p=n==="th"||n==="auto"&&s&&!a?"th":"en";return(d||[]).map(h=>{const g=h._source||{},f=g.coordinates||[0,0],y=g.name_t||g.name_e||g.name||"",A=g.name_e||g.name_t||g.name||"",b=g.address_t||(g.tambon_t?`ต.${g.tambon_t||""} อ.${g.amphoe_t||""} จ.${g.province_t||""}`.trim():"")||g.address_e||"",w=g.address_e||(g.tambon_e?`${g.tambon_e||""} ${g.amphoe_e||""} ${g.province_e||""}`.trim():"")||g.address_t||"",M=p==="th"?y:A,E=p==="th"?b:w;return{gid:g.gid,id:g.gid,name:M,nameEn:A,nameTh:y,address:E,addressEn:w,addressTh:b,position:[f[1],f[0]],positionLngLat:[f[0],f[1]],province:g.province_t||g.province_e||"",amphoe:g.amphoe_t||g.amphoe_e||"",tambon:g.tambon_t||g.tambon_e||"",postCode:g.post_code||"",rawData:g}})}catch(d){if(!(d instanceof v)){const p=new v(d.message,C.UNKNOWN,"search",{originalError:d});throw this.eventBus.emit("error",p),p}throw d}}}const _={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"},re={HOT:"mapbox-gl-draw-hot",COLD:"mapbox-gl-draw-cold"},R={ADD:"add",MOVE:"move",DRAG:"drag",POINTER:"pointer",NONE:"none"},$={POLYGON:"polygon",LINE:"line_string",POINT:"point"},I={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"},B={DRAW_LINE_STRING:"draw_line_string",DRAW_POLYGON:"draw_polygon",DRAW_POINT:"draw_point",SIMPLE_SELECT:"simple_select",DIRECT_SELECT:"direct_select"},q={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"},De={MOVE:"move",CHANGE_PROPERTIES:"change_properties",CHANGE_COORDINATES:"change_coordinates"},K={FEATURE:"feature",MIDPOINT:"midpoint",VERTEX:"vertex"},z={ACTIVE:"true",INACTIVE:"false"},sr=["scrollZoom","boxZoom","dragRotate","dragPan","keyboard","doubleClickZoom","touchZoomRotate"],Co=-90,it=-85,xo=90,nt=85,ar=Object.freeze(Object.defineProperty({__proto__:null,LAT_MAX:xo,LAT_MIN:Co,LAT_RENDERED_MAX:nt,LAT_RENDERED_MIN:it,LNG_MAX:270,LNG_MIN:-270,activeStates:z,classes:_,cursors:R,events:q,geojsonTypes:I,interactions:sr,meta:K,modes:B,sources:re,types:$,updateActions:De},Symbol.toStringTag,{value:"Module"}));function Ue(o){return function(e){const t=e.featureTarget;return!t||!t.properties?!1:t.properties.meta===o}}function lr(o){return!o.originalEvent||!o.originalEvent.shiftKey?!1:o.originalEvent.button===0}function ve(o){return!o.featureTarget||!o.featureTarget.properties?!1:o.featureTarget.properties.active===z.ACTIVE&&o.featureTarget.properties.meta===K.FEATURE}function st(o){return!o.featureTarget||!o.featureTarget.properties?!1:o.featureTarget.properties.active===z.INACTIVE&&o.featureTarget.properties.meta===K.FEATURE}function Ye(o){return o.featureTarget===void 0}function at(o){return!o.featureTarget||!o.featureTarget.properties?!1:o.featureTarget.properties.meta===K.FEATURE}function Ne(o){const e=o.featureTarget;return!e||!e.properties?!1:e.properties.meta===K.VERTEX}function ze(o){return o.originalEvent?o.originalEvent.shiftKey===!0:!1}function He(o){return o.key==="Escape"||o.keyCode===27}function je(o){return o.key==="Enter"||o.keyCode===13}function lt(o){return o.key==="Backspace"||o.keyCode===8}function ct(o){return o.key==="Delete"||o.keyCode===46}function cr(o){return o.key==="1"||o.keyCode===49}function ur(o){return o.key==="2"||o.keyCode===50}function dr(o){return o.key==="3"||o.keyCode===51}function pr(o){const e=o.key||String.fromCharCode(o.keyCode);return e>="0"&&e<="9"}function Mo(){return!0}const Eo=Object.freeze(Object.defineProperty({__proto__:null,isActiveFeature:ve,isBackspaceKey:lt,isDeleteKey:ct,isDigit1Key:cr,isDigit2Key:ur,isDigit3Key:dr,isDigitKey:pr,isEnterKey:je,isEscapeKey:He,isFeature:at,isInactiveFeature:st,isOfMetaType:Ue,isShiftDown:ze,isShiftMousedown:lr,isTrue:Mo,isVertex:Ne,noTarget:Ye},Symbol.toStringTag,{value:"Module"}));function hr(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var ut={},Ke={};Ke.RADIUS=6378137,Ke.FLATTENING=1/298.257223563,Ke.POLAR_RADIUS=63567523142e-4;var gr=Ke;ut.geometry=fr,ut.ring=dt;function fr(o){var e=0,t;switch(o.type){case"Polygon":return mr(o.coordinates);case"MultiPolygon":for(t=0;t<o.coordinates.length;t++)e+=mr(o.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(t=0;t<o.geometries.length;t++)e+=fr(o.geometries[t]);return e}}function mr(o){var e=0;if(o&&o.length>0){e+=Math.abs(dt(o[0]));for(var t=1;t<o.length;t++)e-=Math.abs(dt(o[t]))}return e}function dt(o){var e,t,r,i,n,s,a,l=0,c=o.length;if(c>2){for(a=0;a<c;a++)a===c-2?(i=c-2,n=c-1,s=0):a===c-1?(i=c-1,n=0,s=1):(i=a,n=a+1,s=a+2),e=o[i],t=o[n],r=o[s],l+=(pt(r[0])-pt(e[0]))*Math.sin(pt(t[1]));l=l*gr.RADIUS*gr.RADIUS/2}return l}function pt(o){return o*Math.PI/180}const Ar={Point:0,LineString:1,MultiLineString:1,Polygon:2};function Io(o,e){const t=Ar[o.geometry.type]-Ar[e.geometry.type];return t===0&&o.geometry.type===I.POLYGON?o.area-e.area:t}function yr(o){return o.map(e=>(e.geometry.type===I.POLYGON&&(e.area=ut.geometry({type:I.FEATURE,property:{},geometry:e.geometry})),e)).sort(Io).map(e=>(delete e.area,e))}function br(o,e=0){return[[o.point.x-e,o.point.y-e],[o.point.x+e,o.point.y+e]]}function oe(o){if(this._items={},this._nums={},this._length=o?o.length:0,!!o)for(let e=0,t=o.length;e<t;e++)this.add(o[e]),o[e]!==void 0&&(typeof o[e]=="string"?this._items[o[e]]=e:this._nums[o[e]]=e)}oe.prototype.add=function(o){return this.has(o)?this:(this._length++,typeof o=="string"?this._items[o]=this._length:this._nums[o]=this._length,this)},oe.prototype.delete=function(o){return this.has(o)===!1?this:(this._length--,delete this._items[o],delete this._nums[o],this)},oe.prototype.has=function(o){return typeof o!="string"&&typeof o!="number"?!1:this._items[o]!==void 0||this._nums[o]!==void 0},oe.prototype.values=function(){const o=[];return Object.keys(this._items).forEach(e=>{o.push({k:e,v:this._items[e]})}),Object.keys(this._nums).forEach(e=>{o.push({k:JSON.parse(e),v:this._nums[e]})}),o.sort((e,t)=>e.v-t.v).map(e=>e.k)},oe.prototype.clear=function(){return this._length=0,this._items={},this._nums={},this};const ko=[K.FEATURE,K.MIDPOINT,K.VERTEX],Ie={click:So,touch:Bo};function So(o,e,t){return wr(o,e,t,t.options.clickBuffer)}function Bo(o,e,t){return wr(o,e,t,t.options.touchBuffer)}function wr(o,e,t,r){if(t.map===null)return[];const i=o?br(o,r):e,n={};t.options.styles&&(n.layers=t.options.styles.map(c=>c.id).filter(c=>t.map.getLayer(c)!=null));const s=t.map.queryRenderedFeatures(i,n).filter(c=>ko.indexOf(c.properties.meta)!==-1),a=new oe,l=[];return s.forEach(c=>{const u=c.properties.id;a.has(u)||(a.add(u),l.push(c))}),yr(l)}function Ve(o,e){const t=Ie.click(o,null,e),r={mouse:R.NONE};return t[0]&&(r.mouse=t[0].properties.active===z.ACTIVE?R.MOVE:R.POINTER,r.feature=t[0].properties.meta),e.events.currentModeName().indexOf("draw")!==-1&&(r.mouse=R.ADD),e.ui.queueMapClasses(r),e.ui.updateMapClasses(),t[0]}function ht(o,e){const t=o.x-e.x,r=o.y-e.y;return Math.sqrt(t*t+r*r)}const Lo=4,Po=12,Do=500;function gt(o,e,t={}){const r=t.fineTolerance!=null?t.fineTolerance:Lo,i=t.grossTolerance!=null?t.grossTolerance:Po,n=t.interval!=null?t.interval:Do;o.point=o.point||e.point,o.time=o.time||e.time;const s=ht(o.point,e.point);return s<r||s<i&&e.time-o.time<n}const No=25,Fo=250;function ft(o,e,t={}){const r=t.tolerance!=null?t.tolerance:No,i=t.interval!=null?t.interval:Fo;return o.point=o.point||e.point,o.time=o.time||e.time,ht(o.point,e.point)<r&&e.time-o.time<i}const mt=function(o,e){const t={drag:[],click:[],mousemove:[],mousedown:[],mouseup:[],mouseout:[],keydown:[],keyup:[],touchstart:[],touchmove:[],touchend:[],tap:[]},r={on(n,s,a){if(t[n]===void 0)throw new Error(`Invalid event type: ${n}`);t[n].push({selector:s,fn:a})},render(n){e.store.featureChanged(n)}},i=function(n,s){const a=t[n];let l=a.length;for(;l--;){const c=a[l];if(c.selector(s)){c.fn.call(r,s)||e.store.render(),e.ui.updateMapClasses();break}}};return o.start.call(r),{render:o.render,stop(){o.stop&&o.stop()},trash(){o.trash&&(o.trash(),e.store.render())},combineFeatures(){o.combineFeatures&&o.combineFeatures()},uncombineFeatures(){o.uncombineFeatures&&o.uncombineFeatures()},drag(n){i("drag",n)},click(n){i("click",n)},mousemove(n){i("mousemove",n)},mousedown(n){i("mousedown",n)},mouseup(n){i("mouseup",n)},mouseout(n){i("mouseout",n)},keydown(n){i("keydown",n)},keyup(n){i("keyup",n)},touchstart(n){i("touchstart",n)},touchmove(n){i("touchmove",n)},touchend(n){i("touchend",n)},tap(n){i("tap",n)}}},To=((o,e=21)=>(t=e)=>{let r="",i=t|0;for(;i--;)r+=o[Math.random()*o.length|0];return r})("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",32);function At(){return To()}const W=function(o,e){this.ctx=o,this.properties=e.properties||{},this.coordinates=e.geometry.coordinates,this.id=e.id||At(),this.type=e.geometry.type};W.prototype.changed=function(){this.ctx.store.featureChanged(this.id)},W.prototype.incomingCoords=function(o){this.setCoordinates(o)},W.prototype.setCoordinates=function(o){this.coordinates=o,this.changed()},W.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.coordinates))},W.prototype.setProperty=function(o,e){this.properties[o]=e},W.prototype.toGeoJSON=function(){return JSON.parse(JSON.stringify({id:this.id,type:I.FEATURE,properties:this.properties,geometry:{coordinates:this.getCoordinates(),type:this.type}}))},W.prototype.internal=function(o){const e={id:this.id,meta:K.FEATURE,"meta:type":this.type,active:z.INACTIVE,mode:o};if(this.ctx.options.userProperties)for(const t in this.properties)e[`user_${t}`]=this.properties[t];return{type:I.FEATURE,properties:e,geometry:{coordinates:this.getCoordinates(),type:this.type}}};const fe=function(o,e){W.call(this,o,e)};fe.prototype=Object.create(W.prototype),fe.prototype.isValid=function(){return typeof this.coordinates[0]=="number"&&typeof this.coordinates[1]=="number"},fe.prototype.updateCoordinate=function(o,e,t){arguments.length===3?this.coordinates=[e,t]:this.coordinates=[o,e],this.changed()},fe.prototype.getCoordinate=function(){return this.getCoordinates()};const de=function(o,e){W.call(this,o,e)};de.prototype=Object.create(W.prototype),de.prototype.isValid=function(){return this.coordinates.length>1},de.prototype.addCoordinate=function(o,e,t){this.changed();const r=parseInt(o,10);this.coordinates.splice(r,0,[e,t])},de.prototype.getCoordinate=function(o){const e=parseInt(o,10);return JSON.parse(JSON.stringify(this.coordinates[e]))},de.prototype.removeCoordinate=function(o){this.changed(),this.coordinates.splice(parseInt(o,10),1)},de.prototype.updateCoordinate=function(o,e,t){const r=parseInt(o,10);this.coordinates[r]=[e,t],this.changed()};const te=function(o,e){W.call(this,o,e),this.coordinates=this.coordinates.map(t=>t.slice(0,-1))};te.prototype=Object.create(W.prototype),te.prototype.isValid=function(){return this.coordinates.length===0?!1:this.coordinates.every(o=>o.length>2)},te.prototype.incomingCoords=function(o){this.coordinates=o.map(e=>e.slice(0,-1)),this.changed()},te.prototype.setCoordinates=function(o){this.coordinates=o,this.changed()},te.prototype.addCoordinate=function(o,e,t){this.changed();const r=o.split(".").map(n=>parseInt(n,10));this.coordinates[r[0]].splice(r[1],0,[e,t])},te.prototype.removeCoordinate=function(o){this.changed();const e=o.split(".").map(r=>parseInt(r,10)),t=this.coordinates[e[0]];t&&(t.splice(e[1],1),t.length<3&&this.coordinates.splice(e[0],1))},te.prototype.getCoordinate=function(o){const e=o.split(".").map(r=>parseInt(r,10)),t=this.coordinates[e[0]];return JSON.parse(JSON.stringify(t[e[1]]))},te.prototype.getCoordinates=function(){return this.coordinates.map(o=>o.concat([o[0]]))},te.prototype.updateCoordinate=function(o,e,t){this.changed();const r=o.split("."),i=parseInt(r[0],10),n=parseInt(r[1],10);this.coordinates[i]===void 0&&(this.coordinates[i]=[]),this.coordinates[i][n]=[e,t]};const Oo={MultiPoint:fe,MultiLineString:de,MultiPolygon:te},qe=(o,e,t,r,i)=>{const n=t.split("."),s=parseInt(n[0],10),a=n[1]?n.slice(1).join("."):null;return o[s][e](a,r,i)},J=function(o,e){if(W.call(this,o,e),delete this.coordinates,this.model=Oo[e.geometry.type],this.model===void 0)throw new TypeError(`${e.geometry.type} is not a valid type`);this.features=this._coordinatesToFeatures(e.geometry.coordinates)};J.prototype=Object.create(W.prototype),J.prototype._coordinatesToFeatures=function(o){const e=this.model.bind(this);return o.map(t=>new e(this.ctx,{id:At(),type:I.FEATURE,properties:{},geometry:{coordinates:t,type:this.type.replace("Multi","")}}))},J.prototype.isValid=function(){return this.features.every(o=>o.isValid())},J.prototype.setCoordinates=function(o){this.features=this._coordinatesToFeatures(o),this.changed()},J.prototype.getCoordinate=function(o){return qe(this.features,"getCoordinate",o)},J.prototype.getCoordinates=function(){return JSON.parse(JSON.stringify(this.features.map(o=>o.type===I.POLYGON?o.getCoordinates():o.coordinates)))},J.prototype.updateCoordinate=function(o,e,t){qe(this.features,"updateCoordinate",o,e,t),this.changed()},J.prototype.addCoordinate=function(o,e,t){qe(this.features,"addCoordinate",o,e,t),this.changed()},J.prototype.removeCoordinate=function(o){qe(this.features,"removeCoordinate",o),this.changed()},J.prototype.getFeatures=function(){return this.features};function S(o){this.map=o.map,this.drawConfig=JSON.parse(JSON.stringify(o.options||{})),this._ctx=o}S.prototype.setSelected=function(o){return this._ctx.store.setSelected(o)},S.prototype.setSelectedCoordinates=function(o){this._ctx.store.setSelectedCoordinates(o),o.reduce((e,t)=>(e[t.feature_id]===void 0&&(e[t.feature_id]=!0,this._ctx.store.get(t.feature_id).changed()),e),{})},S.prototype.getSelected=function(){return this._ctx.store.getSelected()},S.prototype.getSelectedIds=function(){return this._ctx.store.getSelectedIds()},S.prototype.isSelected=function(o){return this._ctx.store.isSelected(o)},S.prototype.getFeature=function(o){return this._ctx.store.get(o)},S.prototype.select=function(o){return this._ctx.store.select(o)},S.prototype.deselect=function(o){return this._ctx.store.deselect(o)},S.prototype.deleteFeature=function(o,e={}){return this._ctx.store.delete(o,e)},S.prototype.addFeature=function(o,e={}){return this._ctx.store.add(o,e)},S.prototype.clearSelectedFeatures=function(){return this._ctx.store.clearSelected()},S.prototype.clearSelectedCoordinates=function(){return this._ctx.store.clearSelectedCoordinates()},S.prototype.setActionableState=function(o={}){const e={trash:o.trash||!1,combineFeatures:o.combineFeatures||!1,uncombineFeatures:o.uncombineFeatures||!1};return this._ctx.events.actionable(e)},S.prototype.changeMode=function(o,e={},t={}){return this._ctx.events.changeMode(o,e,t)},S.prototype.fire=function(o,e){return this._ctx.events.fire(o,e)},S.prototype.updateUIClasses=function(o){return this._ctx.ui.queueMapClasses(o)},S.prototype.activateUIButton=function(o){return this._ctx.ui.setActiveButton(o)},S.prototype.featuresAt=function(o,e,t="click"){if(t!=="click"&&t!=="touch")throw new Error("invalid buffer type");return Ie[t](o,e,this._ctx)},S.prototype.newFeature=function(o){const e=o.geometry.type;return e===I.POINT?new fe(this._ctx,o):e===I.LINE_STRING?new de(this._ctx,o):e===I.POLYGON?new te(this._ctx,o):new J(this._ctx,o)},S.prototype.isInstanceOf=function(o,e){if(o===I.POINT)return e instanceof fe;if(o===I.LINE_STRING)return e instanceof de;if(o===I.POLYGON)return e instanceof te;if(o==="MultiFeature")return e instanceof J;throw new Error(`Unknown feature class: ${o}`)},S.prototype.doRender=function(o){return this._ctx.store.featureChanged(o)},S.prototype.onSetup=function(){},S.prototype.onDrag=function(){},S.prototype.onClick=function(){},S.prototype.onMouseMove=function(){},S.prototype.onMouseDown=function(){},S.prototype.onMouseUp=function(){},S.prototype.onMouseOut=function(){},S.prototype.onKeyUp=function(){},S.prototype.onKeyDown=function(){},S.prototype.onTouchStart=function(){},S.prototype.onTouchMove=function(){},S.prototype.onTouchEnd=function(){},S.prototype.onTap=function(){},S.prototype.onStop=function(){},S.prototype.onTrash=function(){},S.prototype.onCombineFeature=function(){},S.prototype.onUncombineFeature=function(){},S.prototype.toDisplayFeatures=function(){throw new Error("You must overwrite toDisplayFeatures")};const vr={drag:"onDrag",click:"onClick",mousemove:"onMouseMove",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseout:"onMouseOut",keyup:"onKeyUp",keydown:"onKeyDown",touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",tap:"onTap"},Ro=Object.keys(vr);function Go(o){const e=Object.keys(o);return function(t,r={}){let i={};const n=e.reduce((a,l)=>(a[l]=o[l],a),new S(t));function s(a){return l=>n[a](i,l)}return{start(){i=n.onSetup(r),Ro.forEach(a=>{const l=vr[a];let c=()=>!1;o[l]&&(c=()=>!0),this.on(a,c,s(l))})},stop(){n.onStop(i)},trash(){n.onTrash(i)},combineFeatures(){n.onCombineFeatures(i)},uncombineFeatures(){n.onUncombineFeatures(i)},render(a,l){n.toDisplayFeatures(i,a,l)}}}}function Qo(o){const e=Object.keys(o.options.modes).reduce((p,h)=>(p[h]=Go(o.options.modes[h]),p),{});let t={},r={};const i={};let n=null,s=null;i.drag=function(p,h){h({point:p.point,time:new Date().getTime()})?(o.ui.queueMapClasses({mouse:R.DRAG}),s.drag(p)):p.originalEvent.stopPropagation()},i.mousedrag=function(p){i.drag(p,h=>!gt(t,h))},i.touchdrag=function(p){i.drag(p,h=>!ft(r,h))},i.mousemove=function(p){if((p.originalEvent.buttons!==void 0?p.originalEvent.buttons:p.originalEvent.which)===1)return i.mousedrag(p);const g=Ve(p,o);p.featureTarget=g,s.mousemove(p)},i.mousedown=function(p){t={time:new Date().getTime(),point:p.point};const h=Ve(p,o);p.featureTarget=h,s.mousedown(p)},i.mouseup=function(p){const h=Ve(p,o);p.featureTarget=h,gt(t,{point:p.point,time:new Date().getTime()})?s.click(p):s.mouseup(p)},i.mouseout=function(p){s.mouseout(p)},i.touchstart=function(p){if(!o.options.touchEnabled)return;r={time:new Date().getTime(),point:p.point};const h=Ie.touch(p,null,o)[0];p.featureTarget=h,s.touchstart(p)},i.touchmove=function(p){if(o.options.touchEnabled)return s.touchmove(p),i.touchdrag(p)},i.touchend=function(p){if(p.originalEvent.preventDefault(),!o.options.touchEnabled)return;const h=Ie.touch(p,null,o)[0];p.featureTarget=h,ft(r,{time:new Date().getTime(),point:p.point})?s.tap(p):s.touchend(p)};const a=p=>{const h=lt(p),g=ct(p),f=pr(p);return!(h||g||f)};i.keydown=function(p){(p.srcElement||p.target).classList.contains(_.CANVAS)&&((lt(p)||ct(p))&&o.options.controls.trash?(p.preventDefault(),s.trash()):a(p)?s.keydown(p):cr(p)&&o.options.controls.point?l(B.DRAW_POINT):ur(p)&&o.options.controls.line_string?l(B.DRAW_LINE_STRING):dr(p)&&o.options.controls.polygon&&l(B.DRAW_POLYGON))},i.keyup=function(p){a(p)&&s.keyup(p)},i.zoomend=function(){o.store.changeZoom()},i.data=function(p){if(p.dataType==="style"){const{setup:h,map:g,options:f,store:y}=o;f.styles.some(b=>g.getLayer(b.id))||(h.addLayers(),y.setDirty(),y.render())}};function l(p,h,g={}){s.stop();const f=e[p];if(f===void 0)throw new Error(`${p} is not valid`);n=p;const y=f(o,h);s=mt(y,o),g.silent||o.map.fire(q.MODE_CHANGE,{mode:p}),o.store.setDirty(),o.store.render()}const c={trash:!1,combineFeatures:!1,uncombineFeatures:!1};function u(p){let h=!1;Object.keys(p).forEach(g=>{if(c[g]===void 0)throw new Error("Invalid action type");c[g]!==p[g]&&(h=!0),c[g]=p[g]}),h&&o.map.fire(q.ACTIONABLE,{actions:c})}return{start(){n=o.options.defaultMode,s=mt(e[n](o),o)},changeMode:l,actionable:u,currentModeName(){return n},currentModeRender(p,h){return s.render(p,h)},fire(p,h){o.map&&o.map.fire(p,h)},addEventListeners(){o.map.on("mousemove",i.mousemove),o.map.on("mousedown",i.mousedown),o.map.on("mouseup",i.mouseup),o.map.on("data",i.data),o.map.on("touchmove",i.touchmove),o.map.on("touchstart",i.touchstart),o.map.on("touchend",i.touchend),o.container.addEventListener("mouseout",i.mouseout),o.options.keybindings&&(o.container.addEventListener("keydown",i.keydown),o.container.addEventListener("keyup",i.keyup))},removeEventListeners(){o.map.off("mousemove",i.mousemove),o.map.off("mousedown",i.mousedown),o.map.off("mouseup",i.mouseup),o.map.off("data",i.data),o.map.off("touchmove",i.touchmove),o.map.off("touchstart",i.touchstart),o.map.off("touchend",i.touchend),o.container.removeEventListener("mouseout",i.mouseout),o.options.keybindings&&(o.container.removeEventListener("keydown",i.keydown),o.container.removeEventListener("keyup",i.keyup))},trash(p){s.trash(p)},combineFeatures(){s.combineFeatures()},uncombineFeatures(){s.uncombineFeatures()},getMode(){return n}}}function Fe(o){return[].concat(o).filter(e=>e!==void 0)}function Uo(){const o=this;if(!(o.ctx.map&&o.ctx.map.getSource(re.HOT)!==void 0))return l();const t=o.ctx.events.currentModeName();o.ctx.ui.queueMapClasses({mode:t});let r=[],i=[];o.isDirty?i=o.getAllIds():(r=o.getChangedIds().filter(c=>o.get(c)!==void 0),i=o.sources.hot.filter(c=>c.properties.id&&r.indexOf(c.properties.id)===-1&&o.get(c.properties.id)!==void 0).map(c=>c.properties.id)),o.sources.hot=[];const n=o.sources.cold.length;o.sources.cold=o.isDirty?[]:o.sources.cold.filter(c=>{const u=c.properties.id||c.properties.parent;return r.indexOf(u)===-1});const s=n!==o.sources.cold.length||i.length>0;r.forEach(c=>a(c,"hot")),i.forEach(c=>a(c,"cold"));function a(c,u){const p=o.get(c).internal(t);o.ctx.events.currentModeRender(p,h=>{h.properties.mode=t,o.sources[u].push(h)})}s&&o.ctx.map.getSource(re.COLD).setData({type:I.FEATURE_COLLECTION,features:o.sources.cold}),o.ctx.map.getSource(re.HOT).setData({type:I.FEATURE_COLLECTION,features:o.sources.hot}),l();function l(){o.isDirty=!1,o.clearChangedIds()}}function O(o){this._features={},this._featureIds=new oe,this._selectedFeatureIds=new oe,this._selectedCoordinates=[],this._changedFeatureIds=new oe,this._emitSelectionChange=!1,this._mapInitialConfig={},this.ctx=o,this.sources={hot:[],cold:[]};let e;this.render=()=>{e||(e=requestAnimationFrame(()=>{e=null,Uo.call(this),this._emitSelectionChange&&(this.ctx.events.fire(q.SELECTION_CHANGE,{features:this.getSelected().map(t=>t.toGeoJSON()),points:this.getSelectedCoordinates().map(t=>({type:I.FEATURE,properties:{},geometry:{type:I.POINT,coordinates:t.coordinates}}))}),this._emitSelectionChange=!1),this.ctx.events.fire(q.RENDER,{})}))},this.isDirty=!1}O.prototype.createRenderBatch=function(){const o=this.render;let e=0;return this.render=function(){e++},()=>{this.render=o,e>0&&this.render()}},O.prototype.setDirty=function(){return this.isDirty=!0,this},O.prototype.featureCreated=function(o,e={}){if(this._changedFeatureIds.add(o),(e.silent!=null?e.silent:this.ctx.options.suppressAPIEvents)!==!0){const r=this.get(o);this.ctx.events.fire(q.CREATE,{features:[r.toGeoJSON()]})}return this},O.prototype.featureChanged=function(o,e={}){return this._changedFeatureIds.add(o),(e.silent!=null?e.silent:this.ctx.options.suppressAPIEvents)!==!0&&this.ctx.events.fire(q.UPDATE,{action:e.action?e.action:De.CHANGE_COORDINATES,features:[this.get(o).toGeoJSON()]}),this},O.prototype.getChangedIds=function(){return this._changedFeatureIds.values()},O.prototype.clearChangedIds=function(){return this._changedFeatureIds.clear(),this},O.prototype.getAllIds=function(){return this._featureIds.values()},O.prototype.add=function(o,e={}){return this._features[o.id]=o,this._featureIds.add(o.id),this.featureCreated(o.id,{silent:e.silent}),this},O.prototype.delete=function(o,e={}){const t=[];return Fe(o).forEach(r=>{this._featureIds.has(r)&&(this._featureIds.delete(r),this._selectedFeatureIds.delete(r),e.silent||t.indexOf(this._features[r])===-1&&t.push(this._features[r].toGeoJSON()),delete this._features[r],this.isDirty=!0)}),t.length&&this.ctx.events.fire(q.DELETE,{features:t}),Cr(this,e),this},O.prototype.get=function(o){return this._features[o]},O.prototype.getAll=function(){return Object.keys(this._features).map(o=>this._features[o])},O.prototype.select=function(o,e={}){return Fe(o).forEach(t=>{this._selectedFeatureIds.has(t)||(this._selectedFeatureIds.add(t),this._changedFeatureIds.add(t),e.silent||(this._emitSelectionChange=!0))}),this},O.prototype.deselect=function(o,e={}){return Fe(o).forEach(t=>{this._selectedFeatureIds.has(t)&&(this._selectedFeatureIds.delete(t),this._changedFeatureIds.add(t),e.silent||(this._emitSelectionChange=!0))}),Cr(this,e),this},O.prototype.clearSelected=function(o={}){return this.deselect(this._selectedFeatureIds.values(),{silent:o.silent}),this},O.prototype.setSelected=function(o,e={}){return o=Fe(o),this.deselect(this._selectedFeatureIds.values().filter(t=>o.indexOf(t)===-1),{silent:e.silent}),this.select(o.filter(t=>!this._selectedFeatureIds.has(t)),{silent:e.silent}),this},O.prototype.setSelectedCoordinates=function(o){return this._selectedCoordinates=o,this._emitSelectionChange=!0,this},O.prototype.clearSelectedCoordinates=function(){return this._selectedCoordinates=[],this._emitSelectionChange=!0,this},O.prototype.getSelectedIds=function(){return this._selectedFeatureIds.values()},O.prototype.getSelected=function(){return this.getSelectedIds().map(o=>this.get(o))},O.prototype.getSelectedCoordinates=function(){return this._selectedCoordinates.map(e=>({coordinates:this.get(e.feature_id).getCoordinate(e.coord_path)}))},O.prototype.isSelected=function(o){return this._selectedFeatureIds.has(o)},O.prototype.setFeatureProperty=function(o,e,t,r={}){this.get(o).setProperty(e,t),this.featureChanged(o,{silent:r.silent,action:De.CHANGE_PROPERTIES})};function Cr(o,e={}){const t=o._selectedCoordinates.filter(r=>o._selectedFeatureIds.has(r.feature_id));o._selectedCoordinates.length!==t.length&&!e.silent&&(o._emitSelectionChange=!0),o._selectedCoordinates=t}O.prototype.storeMapConfig=function(){sr.forEach(o=>{this.ctx.map[o]&&(this._mapInitialConfig[o]=this.ctx.map[o].isEnabled())})},O.prototype.restoreMapConfig=function(){Object.keys(this._mapInitialConfig).forEach(o=>{this._mapInitialConfig[o]?this.ctx.map[o].enable():this.ctx.map[o].disable()})},O.prototype.getInitialConfigValue=function(o){return this._mapInitialConfig[o]!==void 0?this._mapInitialConfig[o]:!0};const Yo=["mode","feature","mouse"];function zo(o){const e={};let t=null,r={mode:null,feature:null,mouse:null},i={mode:null,feature:null,mouse:null};function n(){s({mode:null,feature:null,mouse:null}),a()}function s(h){i=Object.assign(i,h)}function a(){if(!o.container)return;const h=[],g=[];Yo.forEach(f=>{i[f]!==r[f]&&(h.push(`${f}-${r[f]}`),i[f]!==null&&g.push(`${f}-${i[f]}`))}),h.length>0&&o.container.classList.remove(...h),g.length>0&&o.container.classList.add(...g),r=Object.assign(r,i)}function l(h,g={}){const f=document.createElement("button");return f.className=`${_.CONTROL_BUTTON} ${g.className}`,f.setAttribute("title",g.title),g.container.appendChild(f),f.addEventListener("click",y=>{if(y.preventDefault(),y.stopPropagation(),y.target===t){c(),g.onDeactivate();return}u(h),g.onActivate()},!0),f}function c(){t&&(t.classList.remove(_.ACTIVE_BUTTON),t=null)}function u(h){c();const g=e[h];g&&g&&h!=="trash"&&(g.classList.add(_.ACTIVE_BUTTON),t=g)}function d(){const h=o.options.controls,g=document.createElement("div");return g.className=`${_.CONTROL_GROUP} ${_.CONTROL_BASE}`,h&&(h[$.POINT]&&(e[$.POINT]=l($.POINT,{container:g,className:_.CONTROL_BUTTON_POINT,title:`Marker tool ${o.options.keybindings?"(1)":""}`,onActivate:()=>o.events.changeMode(B.DRAW_POINT),onDeactivate:()=>o.events.trash()})),h[$.LINE]&&(e[$.LINE]=l($.LINE,{container:g,className:_.CONTROL_BUTTON_LINE,title:`LineString tool ${o.options.keybindings?"(2)":""}`,onActivate:()=>o.events.changeMode(B.DRAW_LINE_STRING),onDeactivate:()=>o.events.trash()})),h[$.POLYGON]&&(e[$.POLYGON]=l($.POLYGON,{container:g,className:_.CONTROL_BUTTON_POLYGON,title:`Polygon tool ${o.options.keybindings?"(3)":""}`,onActivate:()=>o.events.changeMode(B.DRAW_POLYGON),onDeactivate:()=>o.events.trash()})),h.trash&&(e.trash=l("trash",{container:g,className:_.CONTROL_BUTTON_TRASH,title:"Delete",onActivate:()=>{o.events.trash()}})),h.combine_features&&(e.combine_features=l("combineFeatures",{container:g,className:_.CONTROL_BUTTON_COMBINE_FEATURES,title:"Combine",onActivate:()=>{o.events.combineFeatures()}})),h.uncombine_features&&(e.uncombine_features=l("uncombineFeatures",{container:g,className:_.CONTROL_BUTTON_UNCOMBINE_FEATURES,title:"Uncombine",onActivate:()=>{o.events.uncombineFeatures()}}))),g}function p(){Object.keys(e).forEach(h=>{const g=e[h];g.parentNode&&g.parentNode.removeChild(g),delete e[h]})}return{setActiveButton:u,queueMapClasses:s,updateMapClasses:a,clearMapClasses:n,addButtons:d,removeButtons:p}}function Ho(o){let e=null,t=null;const r={onRemove(){return o.map.off("load",r.connect),clearInterval(t),r.removeLayers(),o.store.restoreMapConfig(),o.ui.removeButtons(),o.events.removeEventListeners(),o.ui.clearMapClasses(),o.boxZoomInitial&&o.map.boxZoom.enable(),o.map=null,o.container=null,o.store=null,e&&e.parentNode&&e.parentNode.removeChild(e),e=null,this},connect(){o.map.off("load",r.connect),clearInterval(t),r.addLayers(),o.store.storeMapConfig(),o.events.addEventListeners()},onAdd(i){if(o.map=i,o.events=Qo(o),o.ui=zo(o),o.container=i.getContainer(),o.store=new O(o),e=o.ui.addButtons(),o.options.boxSelect){o.boxZoomInitial=i.boxZoom.isEnabled(),i.boxZoom.disable();const n=i.dragPan.isEnabled();i.dragPan.disable(),i.dragPan.enable(),n||i.dragPan.disable()}return i.loaded()?r.connect():(i.on("load",r.connect),t=setInterval(()=>{i.loaded()&&r.connect()},16)),o.events.start(),e},addLayers(){o.map.addSource(re.COLD,{data:{type:I.FEATURE_COLLECTION,features:[]},type:"geojson"}),o.map.addSource(re.HOT,{data:{type:I.FEATURE_COLLECTION,features:[]},type:"geojson"}),o.options.styles.forEach(i=>{o.map.addLayer(i)}),o.store.setDirty(!0),o.store.render()},removeLayers(){o.options.styles.forEach(i=>{o.map.getLayer(i.id)&&o.map.removeLayer(i.id)}),o.map.getSource(re.COLD)&&o.map.removeSource(re.COLD),o.map.getSource(re.HOT)&&o.map.removeSource(re.HOT)}};return o.setup=r,r}const yt="#3bb2d0",Te="#fbb03b",xr="#fff",Mr=[{id:"gl-draw-polygon-fill",type:"fill",filter:["all",["==","$type","Polygon"]],paint:{"fill-color":["case",["==",["get","active"],"true"],Te,yt],"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"],Te,yt],"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":xr}},{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"],Te,yt]}},{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":xr}},{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":Te}},{id:"gl-draw-midpoint",type:"circle",filter:["all",["==","meta","midpoint"]],paint:{"circle-radius":3,"circle-color":Te}}];function me(o,e){this.x=o,this.y=e}me.prototype={clone(){return new me(this.x,this.y)},add(o){return this.clone()._add(o)},sub(o){return this.clone()._sub(o)},multByPoint(o){return this.clone()._multByPoint(o)},divByPoint(o){return this.clone()._divByPoint(o)},mult(o){return this.clone()._mult(o)},div(o){return this.clone()._div(o)},rotate(o){return this.clone()._rotate(o)},rotateAround(o,e){return this.clone()._rotateAround(o,e)},matMult(o){return this.clone()._matMult(o)},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(o){return this.x===o.x&&this.y===o.y},dist(o){return Math.sqrt(this.distSqr(o))},distSqr(o){const e=o.x-this.x,t=o.y-this.y;return e*e+t*t},angle(){return Math.atan2(this.y,this.x)},angleTo(o){return Math.atan2(this.y-o.y,this.x-o.x)},angleWith(o){return this.angleWithSep(o.x,o.y)},angleWithSep(o,e){return Math.atan2(this.x*e-this.y*o,this.x*o+this.y*e)},_matMult(o){const e=o[0]*this.x+o[1]*this.y,t=o[2]*this.x+o[3]*this.y;return this.x=e,this.y=t,this},_add(o){return this.x+=o.x,this.y+=o.y,this},_sub(o){return this.x-=o.x,this.y-=o.y,this},_mult(o){return this.x*=o,this.y*=o,this},_div(o){return this.x/=o,this.y/=o,this},_multByPoint(o){return this.x*=o.x,this.y*=o.y,this},_divByPoint(o){return this.x/=o.x,this.y/=o.y,this},_unit(){return this._div(this.mag()),this},_perp(){const o=this.y;return this.y=this.x,this.x=-o,this},_rotate(o){const e=Math.cos(o),t=Math.sin(o),r=e*this.x-t*this.y,i=t*this.x+e*this.y;return this.x=r,this.y=i,this},_rotateAround(o,e){const t=Math.cos(o),r=Math.sin(o),i=e.x+t*(this.x-e.x)-r*(this.y-e.y),n=e.y+r*(this.x-e.x)+t*(this.y-e.y);return this.x=i,this.y=n,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:me},me.convert=function(o){if(o instanceof me)return o;if(Array.isArray(o))return new me(+o[0],+o[1]);if(o.x!==void 0&&o.y!==void 0)return new me(+o.x,+o.y);throw new Error("Expected [x, y] or {x, y} point format")};function bt(o,e){const t=e.getBoundingClientRect();return new me(o.clientX-t.left-(e.clientLeft||0),o.clientY-t.top-(e.clientTop||0))}function ke(o,e,t,r){return{type:I.FEATURE,properties:{meta:K.VERTEX,parent:o,coord_path:t,active:r?z.ACTIVE:z.INACTIVE},geometry:{type:I.POINT,coordinates:e}}}var X=63710088e-1,Er={centimeters:X*100,centimetres:X*100,degrees:360/(2*Math.PI),feet:X*3.28084,inches:X*39.37,kilometers:X/1e3,kilometres:X/1e3,meters:X,metres:X,miles:X/1609.344,millimeters:X*1e3,millimetres:X*1e3,nauticalmiles:X/1852,radians:1,yards:X*1.0936};function Oe(o,e,t={}){const r={type:"Feature"};return(t.id===0||t.id)&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.properties=e||{},r.geometry=o,r}function Ae(o,e,t={}){if(!o)throw new Error("coordinates is required");if(!Array.isArray(o))throw new Error("coordinates must be an Array");if(o.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!wt(o[0])||!wt(o[1]))throw new Error("coordinates must contain numbers");return Oe({type:"Point",coordinates:o},e,t)}function jo(o,e,t={}){for(const i of o){if(i.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(i[i.length-1].length!==i[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<i[i.length-1].length;n++)if(i[i.length-1][n]!==i[0][n])throw new Error("First and last Position are not equivalent.")}return Oe({type:"Polygon",coordinates:o},e,t)}function Ko(o,e,t={}){if(o.length<2)throw new Error("coordinates must be an array of two or more positions");return Oe({type:"LineString",coordinates:o},e,t)}function Vo(o,e="kilometers"){const t=Er[e];if(!t)throw new Error(e+" units is invalid");return o*t}function qo(o,e="kilometers"){const t=Er[e];if(!t)throw new Error(e+" units is invalid");return o/t}function Ir(o){return o%(2*Math.PI)*180/Math.PI}function Ce(o){return o%360*Math.PI/180}function wt(o){return!isNaN(o)&&o!==null&&!Array.isArray(o)}function We(o,e,t){if(o!==null)for(var r,i,n,s,a,l,c,u=0,d=0,p,h=o.type,g=h==="FeatureCollection",f=h==="Feature",y=g?o.features.length:1,A=0;A<y;A++){c=g?o.features[A].geometry:f?o.geometry:o,p=c?c.type==="GeometryCollection":!1,a=p?c.geometries.length:1;for(var b=0;b<a;b++){var w=0,M=0;if(s=p?c.geometries[b]:c,s!==null){l=s.coordinates;var E=s.type;switch(u=t&&(E==="Polygon"||E==="MultiPolygon")?1:0,E){case null:break;case"Point":if(e(l,d,A,w,M)===!1)return!1;d++,w++;break;case"LineString":case"MultiPoint":for(r=0;r<l.length;r++){if(e(l[r],d,A,w,M)===!1)return!1;d++,E==="MultiPoint"&&w++}E==="LineString"&&w++;break;case"Polygon":case"MultiLineString":for(r=0;r<l.length;r++){for(i=0;i<l[r].length-u;i++){if(e(l[r][i],d,A,w,M)===!1)return!1;d++}E==="MultiLineString"&&w++,E==="Polygon"&&M++}E==="Polygon"&&w++;break;case"MultiPolygon":for(r=0;r<l.length;r++){for(M=0,i=0;i<l[r].length;i++){for(n=0;n<l[r][i].length-u;n++){if(e(l[r][i][n],d,A,w,M)===!1)return!1;d++}M++}w++}break;case"GeometryCollection":for(r=0;r<s.geometries.length;r++)if(We(s.geometries[r],e,t)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function kr(o,e){var t,r,i,n,s,a,l,c,u,d,p=0,h=o.type==="FeatureCollection",g=o.type==="Feature",f=h?o.features.length:1;for(t=0;t<f;t++){for(a=h?o.features[t].geometry:g?o.geometry:o,c=h?o.features[t].properties:g?o.properties:{},u=h?o.features[t].bbox:g?o.bbox:void 0,d=h?o.features[t].id:g?o.id:void 0,l=a?a.type==="GeometryCollection":!1,s=l?a.geometries.length:1,i=0;i<s;i++){if(n=l?a.geometries[i]:a,n===null){if(e(null,p,c,u,d)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,p,c,u,d)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<n.geometries.length;r++)if(e(n.geometries[r],p,c,u,d)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}p++}}function Wo(o,e,t){var r=t;return kr(o,function(i,n,s,a,l){r=e(r,i,n,s,a,l)}),r}function Jo(o,e){kr(o,function(t,r,i,n,s){var a=t===null?null:t.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return e(Oe(t,i,{bbox:n,id:s}),r,0)===!1?!1:void 0}var l;switch(a){case"MultiPoint":l="Point";break;case"MultiLineString":l="LineString";break;case"MultiPolygon":l="Polygon";break}for(var c=0;c<t.coordinates.length;c++){var u=t.coordinates[c],d={type:l,coordinates:u};if(e(Oe(d,i),r,c)===!1)return!1}})}function Xo(o,e){Jo(o,function(t,r,i){var n=0;if(t.geometry){var s=t.geometry.type;if(!(s==="Point"||s==="MultiPoint")){var a,l=0,c=0,u=0;if(We(t,function(d,p,h,g,f){if(a===void 0||r>l||g>c||f>u){a=d,l=r,c=g,u=f,n=0;return}var y=Ko([a,d],t.properties);if(e(y,r,i,f,n)===!1)return!1;n++,a=d})===!1)return!1}}})}function Zo(o,e,t){var r=t,i=!1;return Xo(o,function(n,s,a,l,c){i===!1&&t===void 0?r=n:r=e(r,n,s,a,l,c),i=!0}),r}function _o(o){if(!o)throw new Error("geojson is required");switch(o.type){case"Feature":return Sr(o);case"FeatureCollection":return $o(o);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return vt(o);default:throw new Error("unknown GeoJSON type")}}function Sr(o){const e={type:"Feature"};return Object.keys(o).forEach(t=>{switch(t){case"type":case"properties":case"geometry":return;default:e[t]=o[t]}}),e.properties=Br(o.properties),o.geometry==null?e.geometry=null:e.geometry=vt(o.geometry),e}function Br(o){const e={};return o&&Object.keys(o).forEach(t=>{const r=o[t];typeof r=="object"?r===null?e[t]=null:Array.isArray(r)?e[t]=r.map(i=>i):e[t]=Br(r):e[t]=r}),e}function $o(o){const e={type:"FeatureCollection"};return Object.keys(o).forEach(t=>{switch(t){case"type":case"features":return;default:e[t]=o[t]}}),e.features=o.features.map(t=>Sr(t)),e}function vt(o){const e={type:o.type};return o.bbox&&(e.bbox=o.bbox),o.type==="GeometryCollection"?(e.geometries=o.geometries.map(t=>vt(t)),e):(e.coordinates=Lr(o.coordinates),e)}function Lr(o){const e=o;return typeof e[0]!="object"?e.slice():e.map(t=>Lr(t))}function Pr(o,e={}){return Dr(o,"mercator",e)}function ei(o,e={}){return Dr(o,"wgs84",e)}function Dr(o,e,t={}){t=t||{};var r=t.mutate;if(!o)throw new Error("geojson is required");return Array.isArray(o)&&wt(o[0])?o=e==="mercator"?Nr(o):Fr(o):(r!==!0&&(o=_o(o)),We(o,function(i){var n=e==="mercator"?Nr(i):Fr(i);i[0]=n[0],i[1]=n[1]})),o}function Nr(o){var e=Math.PI/180,t=6378137,r=20037508342789244e-9,i=Math.abs(o[0])<=180?o[0]:o[0]-ti(o[0])*360,n=[t*i*e,t*Math.log(Math.tan(Math.PI*.25+.5*o[1]*e))];return n[0]>r&&(n[0]=r),n[0]<-r&&(n[0]=-r),n[1]>r&&(n[1]=r),n[1]<-r&&(n[1]=-r),n}function Fr(o){var e=180/Math.PI,t=6378137;return[o[0]*e/t,(Math.PI*.5-2*Math.atan(Math.exp(-o[1]/t)))*e]}function ti(o){return o<0?-1:o>0?1:0}function Tr(o,e,t){const r=e.geometry.coordinates,i=t.geometry.coordinates;if(r[1]>nt||r[1]<it||i[1]>nt||i[1]<it)return null;const n=Pr(r),s=Pr(i),a=d=>Number(d.toFixed(8)),l=(d,p)=>(d+p)/2,c=ei([l(n[0],s[0]),l(n[1],s[1])]),u=[a(c[0]),a(c[1])];return{type:I.FEATURE,properties:{meta:K.MIDPOINT,parent:o,lng:u[0],lat:u[1],coord_path:t.properties.coord_path},geometry:{type:I.POINT,coordinates:u}}}function Je(o,e={},t=null){const{type:r,coordinates:i}=o.geometry,n=o.properties&&o.properties.id;let s=[];r===I.POINT?s.push(ke(n,i,t,l(t))):r===I.POLYGON?i.forEach((u,d)=>{a(u,t!==null?`${t}.${d}`:String(d))}):r===I.LINE_STRING?a(i,t):r.indexOf(I.MULTI_PREFIX)===0&&c();function a(u,d){let p="",h=null;u.forEach((g,f)=>{const y=d!=null?`${d}.${f}`:String(f),A=ke(n,g,y,l(y));if(e.midpoints&&h){const w=Tr(n,h,A);w&&s.push(w)}h=A;const b=JSON.stringify(g);p!==b&&s.push(A),f===0&&(p=b)})}function l(u){return e.selectedPaths?e.selectedPaths.indexOf(u)!==-1:!1}function c(){const u=r.replace(I.MULTI_PREFIX,"");i.forEach((d,p)=>{const h={type:I.FEATURE,properties:o.properties,geometry:{type:u,coordinates:d}};s=s.concat(Je(h,e,p))})}return s}const se={enable(o){setTimeout(()=>{!o.map||!o.map.doubleClickZoom||!o._ctx||!o._ctx.store||!o._ctx.store.getInitialConfigValue||o._ctx.store.getInitialConfigValue("doubleClickZoom")&&o.map.doubleClickZoom.enable()},0)},disable(o){setTimeout(()=>{!o.map||!o.map.doubleClickZoom||o.map.doubleClickZoom.disable()},0)}},{LAT_MIN:Xe,LAT_MAX:Ze,LAT_RENDERED_MIN:Or,LAT_RENDERED_MAX:Rr,LNG_MIN:Gr,LNG_MAX:Qr}=ar;function ri(o){const e={Point:0,LineString:1,Polygon:2,MultiPoint:1,MultiLineString:2,MultiPolygon:3}[o.geometry.type],t=[o.geometry.coordinates].flat(e),r=t.map(a=>a[0]),i=t.map(a=>a[1]),n=a=>Math.min.apply(null,a),s=a=>Math.max.apply(null,a);return[n(r),n(i),s(r),s(i)]}function Ct(o,e){let t=Xe,r=Ze,i=Xe,n=Ze,s=Qr,a=Gr;o.forEach(c=>{const u=ri(c),d=u[1],p=u[3],h=u[0],g=u[2];d>t&&(t=d),p<r&&(r=p),p>i&&(i=p),d<n&&(n=d),h<s&&(s=h),g>a&&(a=g)});const l=e;return t+l.lat>Rr&&(l.lat=Rr-t),i+l.lat>Ze&&(l.lat=Ze-i),r+l.lat<Or&&(l.lat=Or-r),n+l.lat<Xe&&(l.lat=Xe-n),s+l.lng<=Gr&&(l.lng+=Math.ceil(Math.abs(l.lng)/360)*360),a+l.lng>=Qr&&(l.lng-=Math.ceil(Math.abs(l.lng)/360)*360),l}function xt(o,e){const t=Ct(o.map(r=>r.toGeoJSON()),e);o.forEach(r=>{const i=r.getCoordinates(),n=c=>{const u={lng:c[0]+t.lng,lat:c[1]+t.lat};return[u.lng,u.lat]},s=c=>c.map(u=>n(u)),a=c=>c.map(u=>s(u));let l;r.type===I.POINT?l=n(i):r.type===I.LINE_STRING||r.type===I.MULTI_POINT?l=i.map(n):r.type===I.POLYGON||r.type===I.MULTI_LINE_STRING?l=i.map(s):r.type===I.MULTI_POLYGON&&(l=i.map(a)),r.incomingCoords(l)})}const F={};F.onSetup=function(o){const e={dragMoveLocation:null,boxSelectStartLocation:null,boxSelectElement:void 0,boxSelecting:!1,canBoxSelect:!1,dragMoving:!1,canDragMove:!1,initialDragPanState:this.map.dragPan.isEnabled(),initiallySelectedFeatureIds:o.featureIds||[]};return this.setSelected(e.initiallySelectedFeatureIds.filter(t=>this.getFeature(t)!==void 0)),this.fireActionable(),this.setActionableState({combineFeatures:!0,uncombineFeatures:!0,trash:!0}),e},F.fireUpdate=function(){this.fire(q.UPDATE,{action:De.MOVE,features:this.getSelected().map(o=>o.toGeoJSON())})},F.fireActionable=function(){const o=this.getSelected(),e=o.filter(n=>this.isInstanceOf("MultiFeature",n));let t=!1;if(o.length>1){t=!0;const n=o[0].type.replace("Multi","");o.forEach(s=>{s.type.replace("Multi","")!==n&&(t=!1)})}const r=e.length>0,i=o.length>0;this.setActionableState({combineFeatures:t,uncombineFeatures:r,trash:i})},F.getUniqueIds=function(o){return o.length?o.map(t=>t.properties.id).filter(t=>t!==void 0).reduce((t,r)=>(t.add(r),t),new oe).values():[]},F.stopExtendedInteractions=function(o){o.boxSelectElement&&(o.boxSelectElement.parentNode&&o.boxSelectElement.parentNode.removeChild(o.boxSelectElement),o.boxSelectElement=null),(o.canDragMove||o.canBoxSelect)&&o.initialDragPanState===!0&&this.map.dragPan.enable(),o.boxSelecting=!1,o.canBoxSelect=!1,o.dragMoving=!1,o.canDragMove=!1},F.onStop=function(){se.enable(this)},F.onMouseMove=function(o,e){return at(e)&&o.dragMoving&&this.fireUpdate(),this.stopExtendedInteractions(o),!0},F.onMouseOut=function(o){return o.dragMoving?this.fireUpdate():!0},F.onTap=F.onClick=function(o,e){if(Ye(e))return this.clickAnywhere(o,e);if(Ue(K.VERTEX)(e))return this.clickOnVertex(o,e);if(at(e))return this.clickOnFeature(o,e)},F.clickAnywhere=function(o){const e=this.getSelectedIds();e.length&&(this.clearSelectedFeatures(),e.forEach(t=>this.doRender(t))),se.enable(this),this.stopExtendedInteractions(o)},F.clickOnVertex=function(o,e){this.changeMode(B.DIRECT_SELECT,{featureId:e.featureTarget.properties.parent,coordPath:e.featureTarget.properties.coord_path,startPos:e.lngLat}),this.updateUIClasses({mouse:R.MOVE})},F.startOnActiveFeature=function(o,e){this.stopExtendedInteractions(o),this.map.dragPan.disable(),this.doRender(e.featureTarget.properties.id),o.canDragMove=!0,o.dragMoveLocation=e.lngLat},F.clickOnFeature=function(o,e){se.disable(this),this.stopExtendedInteractions(o);const t=ze(e),r=this.getSelectedIds(),i=e.featureTarget.properties.id,n=this.isSelected(i);if(!t&&n&&this.getFeature(i).type!==I.POINT)return this.changeMode(B.DIRECT_SELECT,{featureId:i});n&&t?(this.deselect(i),this.updateUIClasses({mouse:R.POINTER}),r.length===1&&se.enable(this)):!n&&t?(this.select(i),this.updateUIClasses({mouse:R.MOVE})):!n&&!t&&(r.forEach(s=>this.doRender(s)),this.setSelected(i),this.updateUIClasses({mouse:R.MOVE})),this.doRender(i)},F.onMouseDown=function(o,e){if(o.initialDragPanState=this.map.dragPan.isEnabled(),ve(e))return this.startOnActiveFeature(o,e);if(this.drawConfig.boxSelect&&lr(e))return this.startBoxSelect(o,e)},F.startBoxSelect=function(o,e){this.stopExtendedInteractions(o),this.map.dragPan.disable(),o.boxSelectStartLocation=bt(e.originalEvent,this.map.getContainer()),o.canBoxSelect=!0},F.onTouchStart=function(o,e){if(ve(e))return this.startOnActiveFeature(o,e)},F.onDrag=function(o,e){if(o.canDragMove)return this.dragMove(o,e);if(this.drawConfig.boxSelect&&o.canBoxSelect)return this.whileBoxSelect(o,e)},F.whileBoxSelect=function(o,e){o.boxSelecting=!0,this.updateUIClasses({mouse:R.ADD}),o.boxSelectElement||(o.boxSelectElement=document.createElement("div"),o.boxSelectElement.classList.add(_.BOX_SELECT),this.map.getContainer().appendChild(o.boxSelectElement));const t=bt(e.originalEvent,this.map.getContainer()),r=Math.min(o.boxSelectStartLocation.x,t.x),i=Math.max(o.boxSelectStartLocation.x,t.x),n=Math.min(o.boxSelectStartLocation.y,t.y),s=Math.max(o.boxSelectStartLocation.y,t.y),a=`translate(${r}px, ${n}px)`;o.boxSelectElement.style.transform=a,o.boxSelectElement.style.WebkitTransform=a,o.boxSelectElement.style.width=`${i-r}px`,o.boxSelectElement.style.height=`${s-n}px`},F.dragMove=function(o,e){o.dragMoving=!0,e.originalEvent.stopPropagation();const t={lng:e.lngLat.lng-o.dragMoveLocation.lng,lat:e.lngLat.lat-o.dragMoveLocation.lat};xt(this.getSelected(),t),o.dragMoveLocation=e.lngLat},F.onTouchEnd=F.onMouseUp=function(o,e){if(o.dragMoving)this.fireUpdate();else if(o.boxSelecting){const t=[o.boxSelectStartLocation,bt(e.originalEvent,this.map.getContainer())],r=this.featuresAt(null,t,"click"),i=this.getUniqueIds(r).filter(n=>!this.isSelected(n));i.length&&(this.select(i),i.forEach(n=>this.doRender(n)),this.updateUIClasses({mouse:R.MOVE}))}this.stopExtendedInteractions(o)},F.toDisplayFeatures=function(o,e,t){e.properties.active=this.isSelected(e.properties.id)?z.ACTIVE:z.INACTIVE,t(e),this.fireActionable(),!(e.properties.active!==z.ACTIVE||e.geometry.type===I.POINT)&&Je(e).forEach(t)},F.onTrash=function(){this.deleteFeature(this.getSelectedIds()),this.fireActionable()},F.onCombineFeatures=function(){const o=this.getSelected();if(o.length===0||o.length<2)return;const e=[],t=[],r=o[0].type.replace("Multi","");for(let i=0;i<o.length;i++){const n=o[i];if(n.type.replace("Multi","")!==r)return;n.type.includes("Multi")?n.getCoordinates().forEach(s=>{e.push(s)}):e.push(n.getCoordinates()),t.push(n.toGeoJSON())}if(t.length>1){const i=this.newFeature({type:I.FEATURE,properties:t[0].properties,geometry:{type:`Multi${r}`,coordinates:e}});this.addFeature(i),this.deleteFeature(this.getSelectedIds(),{silent:!0}),this.setSelected([i.id]),this.fire(q.COMBINE_FEATURES,{createdFeatures:[i.toGeoJSON()],deletedFeatures:t})}this.fireActionable()},F.onUncombineFeatures=function(){const o=this.getSelected();if(o.length===0)return;const e=[],t=[];for(let r=0;r<o.length;r++){const i=o[r];this.isInstanceOf("MultiFeature",i)&&(i.getFeatures().forEach(n=>{this.addFeature(n),n.properties=i.properties,e.push(n.toGeoJSON()),this.select([n.id])}),this.deleteFeature(i.id,{silent:!0}),t.push(i.toGeoJSON()))}e.length>1&&this.fire(q.UNCOMBINE_FEATURES,{createdFeatures:e,deletedFeatures:t}),this.fireActionable()};const Ur=Ue(K.VERTEX),Yr=Ue(K.MIDPOINT),T={};T.fireUpdate=function(){this.fire(q.UPDATE,{action:De.CHANGE_COORDINATES,features:this.getSelected().map(o=>o.toGeoJSON())})},T.fireActionable=function(o){this.setActionableState({combineFeatures:!1,uncombineFeatures:!1,trash:o.selectedCoordPaths.length>0})},T.startDragging=function(o,e){o.initialDragPanState==null&&(o.initialDragPanState=this.map.dragPan.isEnabled()),this.map.dragPan.disable(),o.canDragMove=!0,o.dragMoveLocation=e.lngLat},T.stopDragging=function(o){o.canDragMove&&o.initialDragPanState===!0&&this.map.dragPan.enable(),o.initialDragPanState=null,o.dragMoving=!1,o.canDragMove=!1,o.dragMoveLocation=null},T.onVertex=function(o,e){this.startDragging(o,e);const t=e.featureTarget.properties,r=o.selectedCoordPaths.indexOf(t.coord_path);!ze(e)&&r===-1?o.selectedCoordPaths=[t.coord_path]:ze(e)&&r===-1&&o.selectedCoordPaths.push(t.coord_path);const i=this.pathsToCoordinates(o.featureId,o.selectedCoordPaths);this.setSelectedCoordinates(i)},T.onMidpoint=function(o,e){this.startDragging(o,e);const t=e.featureTarget.properties;o.feature.addCoordinate(t.coord_path,t.lng,t.lat),this.fireUpdate(),o.selectedCoordPaths=[t.coord_path]},T.pathsToCoordinates=function(o,e){return e.map(t=>({feature_id:o,coord_path:t}))},T.onFeature=function(o,e){o.selectedCoordPaths.length===0?this.startDragging(o,e):this.stopDragging(o)},T.dragFeature=function(o,e,t){xt(this.getSelected(),t),o.dragMoveLocation=e.lngLat},T.dragVertex=function(o,e,t){const r=o.selectedCoordPaths.map(s=>o.feature.getCoordinate(s)),i=r.map(s=>({type:I.FEATURE,properties:{},geometry:{type:I.POINT,coordinates:s}})),n=Ct(i,t);for(let s=0;s<r.length;s++){const a=r[s];o.feature.updateCoordinate(o.selectedCoordPaths[s],a[0]+n.lng,a[1]+n.lat)}},T.clickNoTarget=function(){this.changeMode(B.SIMPLE_SELECT)},T.clickInactive=function(){this.changeMode(B.SIMPLE_SELECT)},T.clickActiveFeature=function(o){o.selectedCoordPaths=[],this.clearSelectedCoordinates(),o.feature.changed()},T.onSetup=function(o){const e=o.featureId,t=this.getFeature(e);if(!t)throw new Error("You must provide a featureId to enter direct_select mode");if(t.type===I.POINT)throw new TypeError("direct_select mode doesn't handle point features");const r={featureId:e,feature:t,dragMoveLocation:o.startPos||null,dragMoving:!1,canDragMove:!1,selectedCoordPaths:o.coordPath?[o.coordPath]:[]};return this.setSelectedCoordinates(this.pathsToCoordinates(e,r.selectedCoordPaths)),this.setSelected(e),se.disable(this),this.setActionableState({trash:!0}),r},T.onStop=function(){se.enable(this),this.clearSelectedCoordinates()},T.toDisplayFeatures=function(o,e,t){o.featureId===e.properties.id?(e.properties.active=z.ACTIVE,t(e),Je(e,{map:this.map,midpoints:!0,selectedPaths:o.selectedCoordPaths}).forEach(t)):(e.properties.active=z.INACTIVE,t(e)),this.fireActionable(o)},T.onTrash=function(o){o.selectedCoordPaths.sort((e,t)=>t.localeCompare(e,"en",{numeric:!0})).forEach(e=>o.feature.removeCoordinate(e)),this.fireUpdate(),o.selectedCoordPaths=[],this.clearSelectedCoordinates(),this.fireActionable(o),o.feature.isValid()===!1&&(this.deleteFeature([o.featureId]),this.changeMode(B.SIMPLE_SELECT,{}))},T.onMouseMove=function(o,e){const t=ve(e),r=Ur(e),i=Yr(e),n=o.selectedCoordPaths.length===0;return t&&n?this.updateUIClasses({mouse:R.MOVE}):r&&!n?this.updateUIClasses({mouse:R.MOVE}):this.updateUIClasses({mouse:R.NONE}),(r||t||i)&&o.dragMoving&&this.fireUpdate(),this.stopDragging(o),!0},T.onMouseOut=function(o){return o.dragMoving&&this.fireUpdate(),!0},T.onTouchStart=T.onMouseDown=function(o,e){if(Ur(e))return this.onVertex(o,e);if(ve(e))return this.onFeature(o,e);if(Yr(e))return this.onMidpoint(o,e)},T.onDrag=function(o,e){if(o.canDragMove!==!0)return;o.dragMoving=!0,e.originalEvent.stopPropagation();const t={lng:e.lngLat.lng-o.dragMoveLocation.lng,lat:e.lngLat.lat-o.dragMoveLocation.lat};o.selectedCoordPaths.length>0?this.dragVertex(o,e,t):this.dragFeature(o,e,t),o.dragMoveLocation=e.lngLat},T.onClick=function(o,e){if(Ye(e))return this.clickNoTarget(o,e);if(ve(e))return this.clickActiveFeature(o,e);if(st(e))return this.clickInactive(o,e);this.stopDragging(o)},T.onTap=function(o,e){if(Ye(e))return this.clickNoTarget(o,e);if(ve(e))return this.clickActiveFeature(o,e);if(st(e))return this.clickInactive(o,e)},T.onTouchEnd=T.onMouseUp=function(o){o.dragMoving&&this.fireUpdate(),this.stopDragging(o)};const pe={};pe.onSetup=function(){const o=this.newFeature({type:I.FEATURE,properties:{},geometry:{type:I.POINT,coordinates:[]}});return this.addFeature(o),this.clearSelectedFeatures(),this.updateUIClasses({mouse:R.ADD}),this.activateUIButton($.POINT),this.setActionableState({trash:!0}),{point:o}},pe.stopDrawingAndRemove=function(o){this.deleteFeature([o.point.id],{silent:!0}),this.changeMode(B.SIMPLE_SELECT)},pe.onTap=pe.onClick=function(o,e){this.updateUIClasses({mouse:R.MOVE}),o.point.updateCoordinate("",e.lngLat.lng,e.lngLat.lat),this.fire(q.CREATE,{features:[o.point.toGeoJSON()]}),this.changeMode(B.SIMPLE_SELECT,{featureIds:[o.point.id]})},pe.onStop=function(o){this.activateUIButton(),o.point.getCoordinate().length||this.deleteFeature([o.point.id],{silent:!0})},pe.toDisplayFeatures=function(o,e,t){const r=e.properties.id===o.point.id;if(e.properties.active=r?z.ACTIVE:z.INACTIVE,!r)return t(e)},pe.onTrash=pe.stopDrawingAndRemove,pe.onKeyUp=function(o,e){if(He(e)||je(e))return this.stopDrawingAndRemove(o,e)};function _e(o,e){return o.lngLat?o.lngLat.lng===e[0]&&o.lngLat.lat===e[1]:!1}const ae={};ae.onSetup=function(){const o=this.newFeature({type:I.FEATURE,properties:{},geometry:{type:I.POLYGON,coordinates:[[]]}});return this.addFeature(o),this.clearSelectedFeatures(),se.disable(this),this.updateUIClasses({mouse:R.ADD}),this.activateUIButton($.POLYGON),this.setActionableState({trash:!0}),{polygon:o,currentVertexPosition:0}},ae.clickAnywhere=function(o,e){if(o.currentVertexPosition>0&&_e(e,o.polygon.coordinates[0][o.currentVertexPosition-1]))return this.changeMode(B.SIMPLE_SELECT,{featureIds:[o.polygon.id]});this.updateUIClasses({mouse:R.ADD}),o.polygon.updateCoordinate(`0.${o.currentVertexPosition}`,e.lngLat.lng,e.lngLat.lat),o.currentVertexPosition++,o.polygon.updateCoordinate(`0.${o.currentVertexPosition}`,e.lngLat.lng,e.lngLat.lat)},ae.clickOnVertex=function(o){return this.changeMode(B.SIMPLE_SELECT,{featureIds:[o.polygon.id]})},ae.onMouseMove=function(o,e){o.polygon.updateCoordinate(`0.${o.currentVertexPosition}`,e.lngLat.lng,e.lngLat.lat),Ne(e)&&this.updateUIClasses({mouse:R.POINTER})},ae.onTap=ae.onClick=function(o,e){return Ne(e)?this.clickOnVertex(o,e):this.clickAnywhere(o,e)},ae.onKeyUp=function(o,e){He(e)?(this.deleteFeature([o.polygon.id],{silent:!0}),this.changeMode(B.SIMPLE_SELECT)):je(e)&&this.changeMode(B.SIMPLE_SELECT,{featureIds:[o.polygon.id]})},ae.onStop=function(o){this.updateUIClasses({mouse:R.NONE}),se.enable(this),this.activateUIButton(),this.getFeature(o.polygon.id)!==void 0&&(o.polygon.removeCoordinate(`0.${o.currentVertexPosition}`),o.polygon.isValid()?this.fire(q.CREATE,{features:[o.polygon.toGeoJSON()]}):(this.deleteFeature([o.polygon.id],{silent:!0}),this.changeMode(B.SIMPLE_SELECT,{},{silent:!0})))},ae.toDisplayFeatures=function(o,e,t){const r=e.properties.id===o.polygon.id;if(e.properties.active=r?z.ACTIVE:z.INACTIVE,!r)return t(e);if(e.geometry.coordinates.length===0)return;const i=e.geometry.coordinates[0].length;if(!(i<3)){if(e.properties.meta=K.FEATURE,t(ke(o.polygon.id,e.geometry.coordinates[0][0],"0.0",!1)),i>3){const n=e.geometry.coordinates[0].length-3;t(ke(o.polygon.id,e.geometry.coordinates[0][n],`0.${n}`,!1))}if(i<=4){const n=[[e.geometry.coordinates[0][0][0],e.geometry.coordinates[0][0][1]],[e.geometry.coordinates[0][1][0],e.geometry.coordinates[0][1][1]]];if(t({type:I.FEATURE,properties:e.properties,geometry:{coordinates:n,type:I.LINE_STRING}}),i===3)return}return t(e)}},ae.onTrash=function(o){this.deleteFeature([o.polygon.id],{silent:!0}),this.changeMode(B.SIMPLE_SELECT)};const le={};le.onSetup=function(o){o=o||{};const e=o.featureId;let t,r,i="forward";if(e){if(t=this.getFeature(e),!t)throw new Error("Could not find a feature with the provided featureId");let n=o.from;if(n&&n.type==="Feature"&&n.geometry&&n.geometry.type==="Point"&&(n=n.geometry),n&&n.type==="Point"&&n.coordinates&&n.coordinates.length===2&&(n=n.coordinates),!n||!Array.isArray(n))throw new Error("Please use the `from` property to indicate which point to continue the line from");const s=t.coordinates.length-1;if(t.coordinates[s][0]===n[0]&&t.coordinates[s][1]===n[1])r=s+1,t.addCoordinate(r,...t.coordinates[s]);else if(t.coordinates[0][0]===n[0]&&t.coordinates[0][1]===n[1])i="backwards",r=0,t.addCoordinate(r,...t.coordinates[0]);else throw new Error("`from` should match the point at either the start or the end of the provided LineString")}else t=this.newFeature({type:I.FEATURE,properties:{},geometry:{type:I.LINE_STRING,coordinates:[]}}),r=0,this.addFeature(t);return this.clearSelectedFeatures(),se.disable(this),this.updateUIClasses({mouse:R.ADD}),this.activateUIButton($.LINE),this.setActionableState({trash:!0}),{line:t,currentVertexPosition:r,direction:i}},le.clickAnywhere=function(o,e){if(o.currentVertexPosition>0&&_e(e,o.line.coordinates[o.currentVertexPosition-1])||o.direction==="backwards"&&_e(e,o.line.coordinates[o.currentVertexPosition+1]))return this.changeMode(B.SIMPLE_SELECT,{featureIds:[o.line.id]});this.updateUIClasses({mouse:R.ADD}),o.line.updateCoordinate(o.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),o.direction==="forward"?(o.currentVertexPosition++,o.line.updateCoordinate(o.currentVertexPosition,e.lngLat.lng,e.lngLat.lat)):o.line.addCoordinate(0,e.lngLat.lng,e.lngLat.lat)},le.clickOnVertex=function(o){return this.changeMode(B.SIMPLE_SELECT,{featureIds:[o.line.id]})},le.onMouseMove=function(o,e){o.line.updateCoordinate(o.currentVertexPosition,e.lngLat.lng,e.lngLat.lat),Ne(e)&&this.updateUIClasses({mouse:R.POINTER})},le.onTap=le.onClick=function(o,e){if(Ne(e))return this.clickOnVertex(o,e);this.clickAnywhere(o,e)},le.onKeyUp=function(o,e){je(e)?this.changeMode(B.SIMPLE_SELECT,{featureIds:[o.line.id]}):He(e)&&(this.deleteFeature([o.line.id],{silent:!0}),this.changeMode(B.SIMPLE_SELECT))},le.onStop=function(o){se.enable(this),this.activateUIButton(),this.getFeature(o.line.id)!==void 0&&(o.line.removeCoordinate(`${o.currentVertexPosition}`),o.line.isValid()?this.fire(q.CREATE,{features:[o.line.toGeoJSON()]}):(this.deleteFeature([o.line.id],{silent:!0}),this.changeMode(B.SIMPLE_SELECT,{},{silent:!0})))},le.onTrash=function(o){this.deleteFeature([o.line.id],{silent:!0}),this.changeMode(B.SIMPLE_SELECT)},le.toDisplayFeatures=function(o,e,t){const r=e.properties.id===o.line.id;if(e.properties.active=r?z.ACTIVE:z.INACTIVE,!r)return t(e);e.geometry.coordinates.length<2||(e.properties.meta=K.FEATURE,t(ke(o.line.id,e.geometry.coordinates[o.direction==="forward"?e.geometry.coordinates.length-2:1],`${o.direction==="forward"?e.geometry.coordinates.length-2:1}`,!1)),t(e))};const zr={simple_select:F,direct_select:T,draw_point:pe,draw_polygon:ae,draw_line_string:le},oi={defaultMode:B.SIMPLE_SELECT,keybindings:!0,touchEnabled:!0,clickBuffer:2,touchBuffer:25,boxSelect:!0,displayControlsDefault:!0,styles:Mr,modes:zr,controls:{},userProperties:!1,suppressAPIEvents:!0},ii={point:!0,line_string:!0,polygon:!0,trash:!0,combine_features:!0,uncombine_features:!0},ni={point:!1,line_string:!1,polygon:!1,trash:!1,combine_features:!1,uncombine_features:!1};function Hr(o,e){return o.map(t=>t.source?t:Object.assign({},t,{id:`${t.id}.${e}`,source:e==="hot"?re.HOT:re.COLD}))}function si(o={}){let e=Object.assign({},o);return o.controls||(e.controls={}),o.displayControlsDefault===!1?e.controls=Object.assign({},ni,o.controls):e.controls=Object.assign({},ii,o.controls),e=Object.assign({},oi,e),e.styles=Hr(e.styles,"cold").concat(Hr(e.styles,"hot")),e}var ai=function o(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var r,i,n;if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(i=r;i--!==0;)if(!o(e[i],t[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(n=Object.keys(e),r=n.length,r!==Object.keys(t).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[i]))return!1;for(i=r;i--!==0;){var s=n[i];if(!o(e[s],t[s]))return!1}return!0}return e!==e&&t!==t};const jr=hr(ai);var li=ui,ci={Point:"geometry",MultiPoint:"geometry",LineString:"geometry",MultiLineString:"geometry",Polygon:"geometry",MultiPolygon:"geometry",GeometryCollection:"geometry",Feature:"feature",FeatureCollection:"featurecollection"};function ui(o){if(!o||!o.type)return null;var e=ci[o.type];if(!e)return null;if(e==="geometry")return{type:"FeatureCollection",features:[{type:"Feature",properties:{},geometry:o}]};if(e==="feature")return{type:"FeatureCollection",features:[o]};if(e==="featurecollection")return o}const di=hr(li);function Kr(o,e){return o.length!==e.length?!1:JSON.stringify(o.map(t=>t).sort())===JSON.stringify(e.map(t=>t).sort())}const pi={Polygon:te,LineString:de,Point:fe,MultiPolygon:J,MultiLineString:J,MultiPoint:J};function hi(o,e){e.modes=B;const t=o.options.suppressAPIEvents!==void 0?!!o.options.suppressAPIEvents:!0;return e.getFeatureIdsAt=function(r){return Ie.click({point:r},null,o).map(n=>n.properties.id)},e.getSelectedIds=function(){return o.store.getSelectedIds()},e.getSelected=function(){return{type:I.FEATURE_COLLECTION,features:o.store.getSelectedIds().map(r=>o.store.get(r)).map(r=>r.toGeoJSON())}},e.getSelectedPoints=function(){return{type:I.FEATURE_COLLECTION,features:o.store.getSelectedCoordinates().map(r=>({type:I.FEATURE,properties:{},geometry:{type:I.POINT,coordinates:r.coordinates}}))}},e.set=function(r){if(r.type===void 0||r.type!==I.FEATURE_COLLECTION||!Array.isArray(r.features))throw new Error("Invalid FeatureCollection");const i=o.store.createRenderBatch();let n=o.store.getAllIds().slice();const s=e.add(r),a=new oe(s);return n=n.filter(l=>!a.has(l)),n.length&&e.delete(n),i(),s},e.add=function(r){const n=JSON.parse(JSON.stringify(di(r))).features.map(s=>{if(s.id=s.id||At(),s.geometry===null)throw new Error("Invalid geometry: null");if(o.store.get(s.id)===void 0||o.store.get(s.id).type!==s.geometry.type){const a=pi[s.geometry.type];if(a===void 0)throw new Error(`Invalid geometry type: ${s.geometry.type}.`);const l=new a(o,s);o.store.add(l,{silent:t})}else{const a=o.store.get(s.id),l=a.properties;a.properties=s.properties,jr(l,s.properties)||o.store.featureChanged(a.id,{silent:t}),jr(a.getCoordinates(),s.geometry.coordinates)||a.incomingCoords(s.geometry.coordinates)}return s.id});return o.store.render(),n},e.get=function(r){const i=o.store.get(r);if(i)return i.toGeoJSON()},e.getAll=function(){return{type:I.FEATURE_COLLECTION,features:o.store.getAll().map(r=>r.toGeoJSON())}},e.delete=function(r){return o.store.delete(r,{silent:t}),e.getMode()===B.DIRECT_SELECT&&!o.store.getSelectedIds().length?o.events.changeMode(B.SIMPLE_SELECT,void 0,{silent:t}):o.store.render(),e},e.deleteAll=function(){return o.store.delete(o.store.getAllIds(),{silent:t}),e.getMode()===B.DIRECT_SELECT?o.events.changeMode(B.SIMPLE_SELECT,void 0,{silent:t}):o.store.render(),e},e.changeMode=function(r,i={}){return r===B.SIMPLE_SELECT&&e.getMode()===B.SIMPLE_SELECT?(Kr(i.featureIds||[],o.store.getSelectedIds())||(o.store.setSelected(i.featureIds,{silent:t}),o.store.render()),e):(r===B.DIRECT_SELECT&&e.getMode()===B.DIRECT_SELECT&&i.featureId===o.store.getSelectedIds()[0]||o.events.changeMode(r,i,{silent:t}),e)},e.getMode=function(){return o.events.getMode()},e.trash=function(){return o.events.trash({silent:t}),e},e.combineFeatures=function(){return o.events.combineFeatures({silent:t}),e},e.uncombineFeatures=function(){return o.events.uncombineFeatures({silent:t}),e},e.setFeatureProperty=function(r,i,n){return o.store.setFeatureProperty(r,i,n,{silent:t}),e},e}const gi=Object.freeze(Object.defineProperty({__proto__:null,CommonSelectors:Eo,ModeHandler:mt,StringSet:oe,constrainFeatureMovement:Ct,createMidPoint:Tr,createSupplementaryPoints:Je,createVertex:ke,doubleClickZoom:se,euclideanDistance:ht,featuresAt:Ie,getFeatureAtAndSetCursors:Ve,isClick:gt,isEventAtCoordinates:_e,isTap:ft,mapEventToBoundingBox:br,moveFeatures:xt,sortFeatures:yr,stringSetsAreEqual:Kr,theme:Mr,toDenseArray:Fe},Symbol.toStringTag,{value:"Module"})),fi=function(o,e){o=si(o);const t={options:o};e=hi(t,e),t.api=e;const r=Ho(t);return e.onAdd=r.onAdd,e.onRemove=r.onRemove,e.types=$,e.options=o,e};function $e(o){fi(o,this)}$e.modes=zr,$e.constants=ar,$e.lib=gi;function Mt(o){if(!o)throw new Error("coord is required");if(!Array.isArray(o)){if(o.type==="Feature"&&o.geometry!==null&&o.geometry.type==="Point")return[...o.geometry.coordinates];if(o.type==="Point")return[...o.coordinates]}if(Array.isArray(o)&&o.length>=2&&!Array.isArray(o[0])&&!Array.isArray(o[1]))return[...o];throw new Error("coord must be GeoJSON Point or an Array of numbers")}function mi(o,e,t,r={}){const i=Mt(o),n=Ce(i[0]),s=Ce(i[1]),a=Ce(t),l=qo(e,r.units),c=Math.asin(Math.sin(s)*Math.cos(l)+Math.cos(s)*Math.sin(l)*Math.cos(a)),u=n+Math.atan2(Math.sin(a)*Math.sin(l)*Math.cos(s),Math.cos(l)-Math.sin(s)*Math.sin(c)),d=Ir(u),p=Ir(c);return i[2]!==void 0?Ae([d,p,i[2]],r.properties):Ae([d,p],r.properties)}function Et(o,e,t={}){var r=Mt(o),i=Mt(e),n=Ce(i[1]-r[1]),s=Ce(i[0]-r[0]),a=Ce(r[1]),l=Ce(i[1]),c=Math.pow(Math.sin(n/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(a)*Math.cos(l);return Vo(2*Math.atan2(Math.sqrt(c),Math.sqrt(1-c)),t.units)}function Ai(o){return Wo(o,(e,t)=>e+yi(t),0)}function yi(o){let e=0,t;switch(o.type){case"Polygon":return Vr(o.coordinates);case"MultiPolygon":for(t=0;t<o.coordinates.length;t++)e+=Vr(o.coordinates[t]);return e;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Vr(o){let e=0;if(o&&o.length>0){e+=Math.abs(qr(o[0]));for(let t=1;t<o.length;t++)e-=Math.abs(qr(o[t]))}return e}var bi=X*X/2,It=Math.PI/180;function qr(o){const e=o.length-1;if(e<=2)return 0;let t=0,r=0;for(;r<e;){const i=o[r],n=o[r+1===e?0:r+1],s=o[r+2>=e?(r+2)%e:r+2],a=i[0]*It,l=n[1]*It,c=s[0]*It;t+=(c-a)*Math.sin(l),r++}return t*bi}function ye(o,e={}){let t=0,r=0,i=0;return We(o,function(n){t+=n[0],r+=n[1],i++},!0),Ae([t/i,r/i],e.properties)}function Wr(o,e,t={}){const r=t.steps||64,i=t.properties?t.properties:!Array.isArray(o)&&o.type==="Feature"&&o.properties?o.properties:{},n=[];for(let s=0;s<r;s++)n.push(mi(o,e,s*-360/r,t).geometry.coordinates);return n.push(n[0]),jo([n],i)}function wi(o,e={}){return Zo(o,(t,r)=>{const i=r.geometry.coordinates;return t+Et(i[0],i[1],e)},0)}class vi{constructor(e,t){this.draw=e,this.eventBus=t,this.clipboard=null}copy(){if(!this.draw)return!1;const e=this.draw.getSelected();return!e||e.features.length===0?(this.clipboard=null,!1):(this.clipboard=e.features.map(t=>{const r=JSON.parse(JSON.stringify(t));return delete r.id,r}),!0)}paste(){if(!this.draw)throw new v("Cannot paste: Draw instance not initialized.",C.MAP_NOT_INITIALIZED,"geometry");if(!this.clipboard||!Array.isArray(this.clipboard))return null;try{const r=s=>typeof s[0]=="number"&&typeof s[1]=="number"?[s[0]+5e-5,s[1]+-5e-5]:Array.isArray(s)?s.map(a=>r(a)):s,i=[],n=[];if(this.clipboard.forEach(s=>{const a=JSON.parse(JSON.stringify(s));a.geometry.coordinates=r(a.geometry.coordinates);const l=this.draw.add(a),c=Array.isArray(l)?l[0]:l;c&&(i.push(c),n.push(this.draw.get(c)))}),i.length>0)return this.draw.changeMode("simple_select",{featureIds:i}),this.clipboard=n.map(s=>{const a=JSON.parse(JSON.stringify(s));return delete a.id,a}),this.eventBus.emit("geometryChanged",{type:"create",features:n}),i}catch(e){const t=new v(`Failed to paste geometry: ${e.message}`,C.UNKNOWN,"geometry",{originalError:e});throw this.eventBus.emit("error",t),t}return null}}class Ci{constructor(e){this._eventBus=e,this._onCreateCb=null,this._onUpdateCb=null,this._onDeleteCb=null,this._onAnyCb=null,this._onSaveCb=null,this._isDirty=!1,this._eventBus.on("geometryChanged",t=>this._handleChange(t)),this._eventBus.on("geometrySaveRequested",t=>this._handleSave(t))}setDirty(e){return this._isDirty=!!e,this}isDirty(){return this._isDirty}promptUnsavedChanges(){return new Promise(e=>{if(!this._isDirty){e("discard");return}if(typeof document>"u"){e("discard");return}const t="pm-unsaved-modal";if(document.getElementById(t))return;const r=document.createElement("div");r.id=t,r.style.cssText=`
|
|
9
9
|
position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
|
|
10
10
|
background: rgba(0,0,0,0.5); z-index: 99999;
|
|
11
11
|
display: flex; align-items: center; justify-content: center;
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
</button>
|
|
47
47
|
</div>
|
|
48
48
|
</div>
|
|
49
|
-
`,o.appendChild(i),document.body.appendChild(o),requestAnimationFrame(()=>{o.style.opacity="1",i.style.transform="scale(1)"});const n=s=>{o.style.opacity="0",i.style.transform="scale(0.95)",setTimeout(()=>{document.body.contains(o)&&document.body.removeChild(o),e(s)},200)};i.querySelector("#pm-unsaved-save").onclick=()=>n("save"),i.querySelector("#pm-unsaved-cancel").onclick=()=>n("cancel"),i.querySelector("#pm-unsaved-discard").onclick=()=>n("discard")})}onCreate(e){return this._onCreateCb=e,this}onUpdate(e){return this._onUpdateCb=e,this}onDelete(e){return this._onDeleteCb=e,this}onAnyChange(e){return this._onAnyCb=e,this}onSave(e){return this._onSaveCb=e,this}async _handleChange(e){this._isDirty||this.setDirty(!0);const t=this._buildPayload(e);if(t){this._log(t);try{this._onAnyCb&&await this._onAnyCb(t),t.operation==="create"&&this._onCreateCb?await this._onCreateCb(t):t.operation==="update"&&this._onUpdateCb?await this._onUpdateCb(t):t.operation==="delete"&&this._onDeleteCb&&await this._onDeleteCb(t)}catch(o){console.error("[GeometryStore] Callback error:",o)}}}async _handleSave(e){if(this._onSaveCb)try{await this._onSaveCb(e.data)}catch(t){console.error("[GeometryStore] Save Callback error:",t)}else console.group("%c[GeometryStore] 💾 SAVE REQUESTED","color: #10b981; font-weight: bold;"),console.log("format: ",e.format),console.log("data: ",e.data),console.log("Register map.geometry.store.onSave(async (data) => {...}) to handle this."),console.groupEnd()}_buildPayload(e){const t=e.operation||e.type;if(!["create","update","delete"].includes(t))return null;const o=e.feature||e.features&&e.features[0]||null,i=(o==null?void 0:o.id)||e.featureId||null,n=(o==null?void 0:o.properties)||{},s=this._stripUserPrefix(n),a=s.kind||null,l=s.ordinal??s.floorOrdinal??null,c=a?"indoor":"standard";return{operation:t,source:e.source||"draw",format:c,featureId:i,kind:a,floor:l!==null?Number(l):null,timestamp:new Date().toISOString(),geometry:t!=="delete"&&(o==null?void 0:o.geometry)||null,properties:t!=="delete"?s:null}}_stripUserPrefix(e){const t={};for(const[o,i]of Object.entries(e)){const n=o.startsWith("user_")?o.slice(5):o;t[n]||(t[n]=i)}return t}_log(e){var s;const o={create:"📦",update:"✏️",delete:"🗑️"}[e.operation]||"📋",i=e.kind?` ${e.kind}`:` ${((s=e.geometry)==null?void 0:s.type)||"feature"}`,n=e.floor!==null?` @ floor:${e.floor}`:"";console.group(`%c[GeometryStore] ${o} ${e.operation.toUpperCase()}${i}${n}`,"color: #f26522; font-weight: bold;"),console.log("featureId:",e.featureId),console.log("source: ",e.source),console.log("format: ",e.format),e.geometry&&console.log("geometry: ",e.geometry),e.properties&&Object.keys(e.properties).length>0&&console.log("props: ",e.properties),console.groupEnd()}}class xi{constructor(e){this._getAllFeatures=e,this._filters=[]}byKind(e){return this._filters.push(t=>{var i,n;return(((i=t.properties)==null?void 0:i.user_kind)||((n=t.properties)==null?void 0:n.kind))===e}),this}byFloor(e){return this._filters.push(t=>{const o=t.properties||{},i=o.user_floorOrdinal!==void 0?o.user_floorOrdinal:o.floorOrdinal!==void 0?o.floorOrdinal:o.user_ordinal!==void 0?o.user_ordinal:o.ordinal;return Number(i)===Number(e)}),this}byType(e){return this._filters.push(t=>{var o;return((o=t.geometry)==null?void 0:o.type)===e}),this}where(e,t,o){return this._filters.push(i=>{const n=i.properties||{},s=n[`user_${e}`]!==void 0?n[`user_${e}`]:n[e];switch(t){case"eq":return s===o;case"neq":return s!==o;case"contains":return typeof s=="string"&&s.includes(o);case"gt":return Number(s)>Number(o);case"lt":return Number(s)<Number(o);case"exists":return s!=null;default:return!0}}),this}byFeatureType(e){return this._filters.push(t=>{const o=t.properties||{};return(o.user_feature_type||o.feature_type)===e}),this}byVenueId(e){return this._filters.push(t=>{const o=t.properties||{};return(o.user_venue_id||o.venue_id)===e}),this}byBuildingId(e){return this._filters.push(t=>{const o=t.properties||{},i=o.user_building_ids||o.building_ids;return Array.isArray(i)?i.includes(e):i===e}),this}byLevelId(e){return this._filters.push(t=>{const o=t.properties||{};return(o.user_level_id||o.level_id)===e}),this}toArray(){return this._run()}first(){return this._run()[0]||null}count(){return this._run().length}ids(){return this._run().map(e=>e.id)}_run(){let e=this._getAllFeatures();for(const t of this._filters)e=e.filter(t);return e}}class xe{static toIMDF(e){if(!e)throw new w("FeatureCollection is required for IMDF conversion.",v.INVALID_PARAMETERS,"geometry");if(e.type!=="FeatureCollection")throw new w("Input must be a FeatureCollection for IMDF conversion.",v.INVALID_PARAMETERS,"geometry");try{return{...e,features:e.features.map(o=>{const i=o.properties||{},n=i.user_kind||i.kind;let s=this.MAPPING[n];if(n==="floor"){const P=i.user_feature_type||i.feature_type,k=i.user_category||i.category;P?s={feature_type:P,category:k||""}:k==="venue"?s=this.MAPPING.venue:k==="building"?s=this.MAPPING.building:s={feature_type:"level",category:k||"room"}}s||(s={feature_type:"unknown",category:"unknown"});const a=i.user_name||i.name,l={en:(typeof a=="object"?a==null?void 0:a.en:a)||""},c=i.user_floorOrdinal!==void 0?i.user_floorOrdinal:i.floorOrdinal!==void 0?i.floorOrdinal:i.user_ordinal!==void 0?i.user_ordinal:i.ordinal!==void 0?i.ordinal:0,u={category:i.user_category||s.category,name:l,ordinal:c,outdoor:i.user_outdoor===!0};i.user_restricted===!0||i.restricted===!0?u.restriction=i.user_restriction||i.restriction||"restricted":u.restriction=null;const d=i.user_display_point||i.display_point;d&&(u.display_point=d);const p=i.user_short_name||i.short_name;p&&(u.short_name=typeof p=="object"?p:{en:p});const h=i.user_alt_name||i.alt_name;h&&(u.alt_name=typeof h=="object"?h:{en:h});const g=i.user_address_id||i.address_id;g&&(u.address_id=g);const f=i.user_building_ids||i.building_ids;f&&(u.building_ids=f);const A=i.user_level_id||i.level_id;A&&(u.level_id=A);const y=i.user_accessibility||i.accessibility;y&&(u.accessibility=y),(i.user_hours||i.hours)&&(u.hours=i.user_hours||i.hours),(i.user_phone||i.phone)&&(u.phone=i.user_phone||i.phone),(i.user_website||i.website)&&(u.website=i.user_website||i.website),(i.user_x!==void 0||i.x!==void 0)&&(u.x=i.user_x!==void 0?i.user_x:i.x),(i.user_y!==void 0||i.y!==void 0)&&(u.y=i.user_y!==void 0?i.user_y:i.y);const b=["category","ordinal","outdoor","restricted","restriction","name","short_name","alt_name","x","y","id","kind","feature_type","display_point","address_id","building_ids","level_id","accessibility","hours","phone","website"],x=b.map(P=>`user_${P}`),M=new Set([...b,...x]);return u._internal=Object.fromEntries(Object.entries(i).filter(([P,k])=>["height","user_height"].includes(P)&&(typeof k!="number"||k<=0)?!1:!M.has(P))),{id:i.user_id||o.id,type:"Feature",feature_type:s.feature_type,geometry:o.geometry,properties:u}})}}catch(t){throw new w(`Failed to convert to IMDF: ${t.message}`,v.UNKNOWN,"geometry",{originalError:t})}}static fromIMDF(e){if(!e)throw new w("IMDF FeatureCollection is required for conversion.",v.INVALID_PARAMETERS,"geometry");if(e.type!=="FeatureCollection")throw new w("Input must be a FeatureCollection for IMDF conversion.",v.INVALID_PARAMETERS,"geometry");try{return{...e,features:e.features.map(t=>{var c,u,d,p,h,g;const o=t.properties||{},i=t.feature_type;let n="unknown";for(const[f,A]of Object.entries(this.MAPPING))if(A.feature_type===i&&A.category===o.category){n=f;break}n==="unknown"&&(n={venue:"venue",building:"building",level:"floor",unit:"unit",opening:"opening",amenity:"amenity",anchor:o.category==="beacon"?"beacon":"poi",footprint:"footprint",fixture:"fixture",section:"section",geofence:"geofence",kiosk:"kiosk",detail:"detail",occupant:"occupant",address:"address",relationship:"relationship",pathway:"walkway"}[i]||"unknown",i==="unit"&&o.category==="restricted"&&(n="obstacle"));const s=o._internal||t._internal||{};n==="floor"&&(delete s.floorOrdinal,delete s.user_floorOrdinal);const a={...s,user_kind:n,user_name:(typeof(((c=o.name)==null?void 0:c.en)||o.name)=="object"?(d=((u=o.name)==null?void 0:u.en)||o.name)==null?void 0:d.en:((p=o.name)==null?void 0:p.en)||o.name)||s.user_name||"",user_id:t.id,user_feature_type:i,user_category:o.category||(i==="venue"?"venue":i==="building"?"building":o.category),user_ordinal:o.ordinal,user_outdoor:o.outdoor,user_restricted:!!(o.restriction&&o.restriction!==null)};o.restriction&&(a.user_restriction=o.restriction),o.display_point&&(a.user_display_point=o.display_point),o.short_name&&(a.user_short_name=typeof o.short_name=="object"?(h=o.short_name)==null?void 0:h.en:o.short_name),o.alt_name&&(a.user_alt_name=typeof o.alt_name=="object"?(g=o.alt_name)==null?void 0:g.en:o.alt_name),o.address_id&&(a.user_address_id=o.address_id),o.building_ids&&(a.user_building_ids=o.building_ids),o.level_id&&(a.user_level_id=o.level_id),o.accessibility&&(a.user_accessibility=o.accessibility),o.hours&&(a.user_hours=o.hours),o.phone&&(a.user_phone=o.phone),o.website&&(a.user_website=o.website),o.x!==void 0&&(a.user_x=o.x),o.y!==void 0&&(a.user_y=o.y);const l=s.height||s.user_height||0;return l>0&&(a.user_height=l),{id:t.id,type:"Feature",geometry:t.geometry,properties:a}})}}catch(t){throw new w(`Failed to convert from IMDF: ${t.message}`,v.UNKNOWN,"geometry",{originalError:t})}}}Pe(xe,"MAPPING",{venue:{feature_type:"venue",category:"venue"},building:{feature_type:"building",category:"building"},floor:{feature_type:"level",category:"room"},unit:{feature_type:"unit",category:"room"},opening:{feature_type:"opening",category:"door"},amenity:{feature_type:"amenity",category:"restroom"},anchor:{feature_type:"anchor",category:"anchor"},footprint:{feature_type:"footprint",category:"ground"},fixture:{feature_type:"fixture",category:"furniture"},section:{feature_type:"section",category:"concourse"},geofence:{feature_type:"geofence",category:"geofence"},kiosk:{feature_type:"kiosk",category:"information"},detail:{feature_type:"detail",category:"crosswalk"},occupant:{feature_type:"occupant",category:""},address:{feature_type:"address",category:""},relationship:{feature_type:"relationship",category:""},beacon:{feature_type:"anchor",category:"beacon"},poi:{feature_type:"anchor",category:"point-of-interest"},walkway:{feature_type:"pathway",category:"walkway"},obstacle:{feature_type:"unit",category:"restricted"}}),Pe(xe,"IMDF_CATEGORIES",{venue:["venue"],building:["building"],level:["arrivals","checkIn","concourse","departures","parking","room","unspecified"],unit:["auditorium","brick","classroom","column","conferenceroom","dressing room","elevator","escalator","field","floor","foodservice","footbridge","hallway","library","lobby","lounge","movingwalkway","nonpublic","office","opentobelow","parking","platform","privatelounge","ramp","recreation","restroom","restricted","road","room","serverroom","shower","smokingarea","stairs","storage","structure","terrace","theater","unspecified","walkway"],opening:["door","emergencyexit","gate","passage","stairs","turnstile"],amenity:["atm","babychanging","chargingstation","drinkingwater","firstaid","information","locker","mail","parking","phone","restroom","shower","smoking","telecom","ticket","vendingmachine","waste","wifi"],anchor:["anchor","beacon","point-of-interest"],footprint:["ground"],fixture:["bench","chair","counter","desk","furniture","seating","shelving","table"],section:["concourse","parking","terminal","zone"],geofence:["geofence","venue","property"],kiosk:["information","retail","food","ticketing"],detail:["crosswalk","obstruction","planter","railing"],pathway:["walkway"]}),Pe(xe,"REQUIRED_PROPERTIES",{venue:["category","name"],building:["category","name"],level:["category","ordinal","outdoor","name","short_name"],unit:["category","name"],opening:["category"],amenity:["category","name"],anchor:["name"],footprint:["category"],fixture:["category"],section:["category"],geofence:["category"],kiosk:["category"],detail:["category"]});function Jr(r,e){if(e===m.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),r;if(e===m.TriangleFanDrawMode||e===m.TriangleStripDrawMode){let t=r.getIndex();if(t===null){const s=[],a=r.getAttribute("position");if(a!==void 0){for(let l=0;l<a.count;l++)s.push(l);r.setIndex(s),t=r.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),r}const o=t.count-2,i=[];if(e===m.TriangleFanDrawMode)for(let s=1;s<=o;s++)i.push(t.getX(0)),i.push(t.getX(s)),i.push(t.getX(s+1));else for(let s=0;s<o;s++)s%2===0?(i.push(t.getX(s)),i.push(t.getX(s+1)),i.push(t.getX(s+2))):(i.push(t.getX(s+2)),i.push(t.getX(s+1)),i.push(t.getX(s)));i.length/3!==o&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const n=r.clone();return n.setIndex(i),n.clearGroups(),n}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),r}class Mi extends m.Loader{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new Si(t)}),this.register(function(t){return new Gi(t)}),this.register(function(t){return new Qi(t)}),this.register(function(t){return new Ui(t)}),this.register(function(t){return new Pi(t)}),this.register(function(t){return new Di(t)}),this.register(function(t){return new Ni(t)}),this.register(function(t){return new Fi(t)}),this.register(function(t){return new Bi(t)}),this.register(function(t){return new Ti(t)}),this.register(function(t){return new Li(t)}),this.register(function(t){return new Ri(t)}),this.register(function(t){return new Oi(t)}),this.register(function(t){return new Ii(t)}),this.register(function(t){return new Yi(t)}),this.register(function(t){return new zi(t)})}load(e,t,o,i){const n=this;let s;if(this.resourcePath!=="")s=this.resourcePath;else if(this.path!==""){const c=m.LoaderUtils.extractUrlBase(e);s=m.LoaderUtils.resolveURL(c,this.path)}else s=m.LoaderUtils.extractUrlBase(e);this.manager.itemStart(e);const a=function(c){i?i(c):console.error(c),n.manager.itemError(e),n.manager.itemEnd(e)},l=new m.FileLoader(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(c){try{n.parse(c,s,function(u){t(u),n.manager.itemEnd(e)},a)}catch(u){a(u)}},o,a)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,o,i){let n;const s={},a={},l=new TextDecoder;if(typeof e=="string")n=JSON.parse(e);else if(e instanceof ArrayBuffer)if(l.decode(new Uint8Array(e,0,4))===Xr){try{s[L.KHR_BINARY_GLTF]=new Hi(e)}catch(d){i&&i(d);return}n=JSON.parse(s[L.KHR_BINARY_GLTF].content)}else n=JSON.parse(l.decode(e));else n=e;if(n.asset===void 0||n.asset.version[0]<2){i&&i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const c=new rn(n,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u<this.pluginCallbacks.length;u++){const d=this.pluginCallbacks[u](c);d.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),a[d.name]=d,s[d.name]=!0}if(n.extensionsUsed)for(let u=0;u<n.extensionsUsed.length;++u){const d=n.extensionsUsed[u],p=n.extensionsRequired||[];switch(d){case L.KHR_MATERIALS_UNLIT:s[d]=new ki;break;case L.KHR_DRACO_MESH_COMPRESSION:s[d]=new ji(n,this.dracoLoader);break;case L.KHR_TEXTURE_TRANSFORM:s[d]=new Ki;break;case L.KHR_MESH_QUANTIZATION:s[d]=new Vi;break;default:p.indexOf(d)>=0&&a[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}c.setExtensions(s),c.setPlugins(a),c.parse(o,i)}parseAsync(e,t){const o=this;return new Promise(function(i,n){o.parse(e,t,i,n)})}}function Ei(){let r={};return{get:function(e){return r[e]},add:function(e,t){r[e]=t},remove:function(e){delete r[e]},removeAll:function(){r={}}}}const L={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Ii{constructor(e){this.parser=e,this.name=L.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let o=0,i=t.length;o<i;o++){const n=t[o];n.extensions&&n.extensions[this.name]&&n.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,n.extensions[this.name].light)}}_loadLight(e){const t=this.parser,o="light:"+e;let i=t.cache.get(o);if(i)return i;const n=t.json,l=((n.extensions&&n.extensions[this.name]||{}).lights||[])[e];let c;const u=new m.Color(16777215);l.color!==void 0&&u.setRGB(l.color[0],l.color[1],l.color[2],m.LinearSRGBColorSpace);const d=l.range!==void 0?l.range:0;switch(l.type){case"directional":c=new m.DirectionalLight(u),c.target.position.set(0,0,-1),c.add(c.target);break;case"point":c=new m.PointLight(u),c.distance=d;break;case"spot":c=new m.SpotLight(u),c.distance=d,l.spot=l.spot||{},l.spot.innerConeAngle=l.spot.innerConeAngle!==void 0?l.spot.innerConeAngle:0,l.spot.outerConeAngle=l.spot.outerConeAngle!==void 0?l.spot.outerConeAngle:Math.PI/4,c.angle=l.spot.outerConeAngle,c.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,c.target.position.set(0,0,-1),c.add(c.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return c.position.set(0,0,0),c.decay=2,we(c,l),l.intensity!==void 0&&(c.intensity=l.intensity),c.name=t.createUniqueName(l.name||"light_"+e),i=Promise.resolve(c),t.cache.add(o,i),i}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,o=this.parser,n=o.json.nodes[e],a=(n.extensions&&n.extensions[this.name]||{}).light;return a===void 0?null:this._loadLight(a).then(function(l){return o._getNodeRef(t.cache,a,l)})}}class ki{constructor(){this.name=L.KHR_MATERIALS_UNLIT}getMaterialType(){return m.MeshBasicMaterial}extendParams(e,t,o){const i=[];e.color=new m.Color(1,1,1),e.opacity=1;const n=t.pbrMetallicRoughness;if(n){if(Array.isArray(n.baseColorFactor)){const s=n.baseColorFactor;e.color.setRGB(s[0],s[1],s[2],m.LinearSRGBColorSpace),e.opacity=s[3]}n.baseColorTexture!==void 0&&i.push(o.assignTexture(e,"map",n.baseColorTexture,m.SRGBColorSpace))}return Promise.all(i)}}class Bi{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=i.extensions[this.name].emissiveStrength;return n!==void 0&&(t.emissiveIntensity=n),Promise.resolve()}}class Si{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];if(s.clearcoatFactor!==void 0&&(t.clearcoat=s.clearcoatFactor),s.clearcoatTexture!==void 0&&n.push(o.assignTexture(t,"clearcoatMap",s.clearcoatTexture)),s.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=s.clearcoatRoughnessFactor),s.clearcoatRoughnessTexture!==void 0&&n.push(o.assignTexture(t,"clearcoatRoughnessMap",s.clearcoatRoughnessTexture)),s.clearcoatNormalTexture!==void 0&&(n.push(o.assignTexture(t,"clearcoatNormalMap",s.clearcoatNormalTexture)),s.clearcoatNormalTexture.scale!==void 0)){const a=s.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new m.Vector2(a,a)}return Promise.all(n)}}class Li{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return s.iridescenceFactor!==void 0&&(t.iridescence=s.iridescenceFactor),s.iridescenceTexture!==void 0&&n.push(o.assignTexture(t,"iridescenceMap",s.iridescenceTexture)),s.iridescenceIor!==void 0&&(t.iridescenceIOR=s.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),s.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=s.iridescenceThicknessMinimum),s.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=s.iridescenceThicknessMaximum),s.iridescenceThicknessTexture!==void 0&&n.push(o.assignTexture(t,"iridescenceThicknessMap",s.iridescenceThicknessTexture)),Promise.all(n)}}class Pi{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_SHEEN}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[];t.sheenColor=new m.Color(0,0,0),t.sheenRoughness=0,t.sheen=1;const s=i.extensions[this.name];if(s.sheenColorFactor!==void 0){const a=s.sheenColorFactor;t.sheenColor.setRGB(a[0],a[1],a[2],m.LinearSRGBColorSpace)}return s.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=s.sheenRoughnessFactor),s.sheenColorTexture!==void 0&&n.push(o.assignTexture(t,"sheenColorMap",s.sheenColorTexture,m.SRGBColorSpace)),s.sheenRoughnessTexture!==void 0&&n.push(o.assignTexture(t,"sheenRoughnessMap",s.sheenRoughnessTexture)),Promise.all(n)}}class Di{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return s.transmissionFactor!==void 0&&(t.transmission=s.transmissionFactor),s.transmissionTexture!==void 0&&n.push(o.assignTexture(t,"transmissionMap",s.transmissionTexture)),Promise.all(n)}}class Ni{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_VOLUME}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];t.thickness=s.thicknessFactor!==void 0?s.thicknessFactor:0,s.thicknessTexture!==void 0&&n.push(o.assignTexture(t,"thicknessMap",s.thicknessTexture)),t.attenuationDistance=s.attenuationDistance||1/0;const a=s.attenuationColor||[1,1,1];return t.attenuationColor=new m.Color().setRGB(a[0],a[1],a[2],m.LinearSRGBColorSpace),Promise.all(n)}}class Fi{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_IOR}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=i.extensions[this.name];return t.ior=n.ior!==void 0?n.ior:1.5,Promise.resolve()}}class Ti{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_SPECULAR}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];t.specularIntensity=s.specularFactor!==void 0?s.specularFactor:1,s.specularTexture!==void 0&&n.push(o.assignTexture(t,"specularIntensityMap",s.specularTexture));const a=s.specularColorFactor||[1,1,1];return t.specularColor=new m.Color().setRGB(a[0],a[1],a[2],m.LinearSRGBColorSpace),s.specularColorTexture!==void 0&&n.push(o.assignTexture(t,"specularColorMap",s.specularColorTexture,m.SRGBColorSpace)),Promise.all(n)}}class Oi{constructor(e){this.parser=e,this.name=L.EXT_MATERIALS_BUMP}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return t.bumpScale=s.bumpFactor!==void 0?s.bumpFactor:1,s.bumpTexture!==void 0&&n.push(o.assignTexture(t,"bumpMap",s.bumpTexture)),Promise.all(n)}}class Ri{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const o=this.parser.json.materials[e];return!o.extensions||!o.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const o=this.parser,i=o.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return s.anisotropyStrength!==void 0&&(t.anisotropy=s.anisotropyStrength),s.anisotropyRotation!==void 0&&(t.anisotropyRotation=s.anisotropyRotation),s.anisotropyTexture!==void 0&&n.push(o.assignTexture(t,"anisotropyMap",s.anisotropyTexture)),Promise.all(n)}}class Gi{constructor(e){this.parser=e,this.name=L.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,o=t.json,i=o.textures[e];if(!i.extensions||!i.extensions[this.name])return null;const n=i.extensions[this.name],s=t.options.ktx2Loader;if(!s){if(o.extensionsRequired&&o.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,n.source,s)}}class Qi{constructor(e){this.parser=e,this.name=L.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,o=this.parser,i=o.json,n=i.textures[e];if(!n.extensions||!n.extensions[t])return null;const s=n.extensions[t],a=i.images[s.source];let l=o.textureLoader;if(a.uri){const c=o.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return o.loadTextureImage(e,s.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return o.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class Ui{constructor(e){this.parser=e,this.name=L.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,o=this.parser,i=o.json,n=i.textures[e];if(!n.extensions||!n.extensions[t])return null;const s=n.extensions[t],a=i.images[s.source];let l=o.textureLoader;if(a.uri){const c=o.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return o.loadTextureImage(e,s.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return o.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class Yi{constructor(e){this.name=L.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,o=t.bufferViews[e];if(o.extensions&&o.extensions[this.name]){const i=o.extensions[this.name],n=this.parser.getDependency("buffer",i.buffer),s=this.parser.options.meshoptDecoder;if(!s||!s.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return n.then(function(a){const l=i.byteOffset||0,c=i.byteLength||0,u=i.count,d=i.byteStride,p=new Uint8Array(a,l,c);return s.decodeGltfBufferAsync?s.decodeGltfBufferAsync(u,d,p,i.mode,i.filter).then(function(h){return h.buffer}):s.ready.then(function(){const h=new ArrayBuffer(u*d);return s.decodeGltfBuffer(new Uint8Array(h),u,d,p,i.mode,i.filter),h})})}else return null}}class zi{constructor(e){this.name=L.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,o=t.nodes[e];if(!o.extensions||!o.extensions[this.name]||o.mesh===void 0)return null;const i=t.meshes[o.mesh];for(const c of i.primitives)if(c.mode!==ie.TRIANGLES&&c.mode!==ie.TRIANGLE_STRIP&&c.mode!==ie.TRIANGLE_FAN&&c.mode!==void 0)return null;const s=o.extensions[this.name].attributes,a=[],l={};for(const c in s)a.push(this.parser.getDependency("accessor",s[c]).then(u=>(l[c]=u,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const u=c.pop(),d=u.isGroup?u.children:[u],p=c[0].count,h=[];for(const g of d){const f=new m.Matrix4,A=new m.Vector3,y=new m.Quaternion,b=new m.Vector3(1,1,1),x=new m.InstancedMesh(g.geometry,g.material,p);for(let M=0;M<p;M++)l.TRANSLATION&&A.fromBufferAttribute(l.TRANSLATION,M),l.ROTATION&&y.fromBufferAttribute(l.ROTATION,M),l.SCALE&&b.fromBufferAttribute(l.SCALE,M),x.setMatrixAt(M,f.compose(A,y,b));for(const M in l)if(M==="_COLOR_0"){const I=l[M];x.instanceColor=new m.InstancedBufferAttribute(I.array,I.itemSize,I.normalized)}else M!=="TRANSLATION"&&M!=="ROTATION"&&M!=="SCALE"&&g.geometry.setAttribute(M,l[M]);m.Object3D.prototype.copy.call(x,g),this.parser.assignFinalMaterial(x),h.push(x)}return u.isGroup?(u.clear(),u.add(...h),u):h[0]}))}}const Xr="glTF",Re=12,Zr={JSON:1313821514,BIN:5130562};class Hi{constructor(e){this.name=L.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,Re),o=new TextDecoder;if(this.header={magic:o.decode(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==Xr)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const i=this.header.length-Re,n=new DataView(e,Re);let s=0;for(;s<i;){const a=n.getUint32(s,!0);s+=4;const l=n.getUint32(s,!0);if(s+=4,l===Zr.JSON){const c=new Uint8Array(e,Re+s,a);this.content=o.decode(c)}else if(l===Zr.BIN){const c=Re+s;this.body=e.slice(c,c+a)}s+=a}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class ji{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=L.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const o=this.json,i=this.dracoLoader,n=e.extensions[this.name].bufferView,s=e.extensions[this.name].attributes,a={},l={},c={};for(const u in s){const d=Bt[u]||u.toLowerCase();a[d]=s[u]}for(const u in e.attributes){const d=Bt[u]||u.toLowerCase();if(s[u]!==void 0){const p=o.accessors[e.attributes[u]],h=Be[p.componentType];c[d]=h.name,l[d]=p.normalized===!0}}return t.getDependency("bufferView",n).then(function(u){return new Promise(function(d,p){i.decodeDracoFile(u,function(h){for(const g in h.attributes){const f=h.attributes[g],A=l[g];A!==void 0&&(f.normalized=A)}d(h)},a,c,m.LinearSRGBColorSpace,p)})})}}class Ki{constructor(){this.name=L.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class Vi{constructor(){this.name=L.KHR_MESH_QUANTIZATION}}class _r extends m.Interpolant{constructor(e,t,o,i){super(e,t,o,i)}copySampleValue_(e){const t=this.resultBuffer,o=this.sampleValues,i=this.valueSize,n=e*i*3+i;for(let s=0;s!==i;s++)t[s]=o[n+s];return t}interpolate_(e,t,o,i){const n=this.resultBuffer,s=this.sampleValues,a=this.valueSize,l=a*2,c=a*3,u=i-t,d=(o-t)/u,p=d*d,h=p*d,g=e*c,f=g-c,A=-2*h+3*p,y=h-p,b=1-A,x=y-p+d;for(let M=0;M!==a;M++){const I=s[f+M+a],P=s[f+M+l]*u,k=s[g+M+a],G=s[g+M]*u;n[M]=b*I+x*P+A*k+y*G}return n}}const qi=new m.Quaternion;class Wi extends _r{interpolate_(e,t,o,i){const n=super.interpolate_(e,t,o,i);return qi.fromArray(n).normalize().toArray(n),n}}const ie={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Be={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},$r={9728:m.NearestFilter,9729:m.LinearFilter,9984:m.NearestMipmapNearestFilter,9985:m.LinearMipmapNearestFilter,9986:m.NearestMipmapLinearFilter,9987:m.LinearMipmapLinearFilter},eo={33071:m.ClampToEdgeWrapping,33648:m.MirroredRepeatWrapping,10497:m.RepeatWrapping},kt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},Bt={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},be={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Ji={CUBICSPLINE:void 0,LINEAR:m.InterpolateLinear,STEP:m.InterpolateDiscrete},St={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function Xi(r){return r.DefaultMaterial===void 0&&(r.DefaultMaterial=new m.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:m.FrontSide})),r.DefaultMaterial}function Me(r,e,t){for(const o in t.extensions)r[o]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[o]=t.extensions[o])}function we(r,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(r.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function Zi(r,e,t){let o=!1,i=!1,n=!1;for(let c=0,u=e.length;c<u;c++){const d=e[c];if(d.POSITION!==void 0&&(o=!0),d.NORMAL!==void 0&&(i=!0),d.COLOR_0!==void 0&&(n=!0),o&&i&&n)break}if(!o&&!i&&!n)return Promise.resolve(r);const s=[],a=[],l=[];for(let c=0,u=e.length;c<u;c++){const d=e[c];if(o){const p=d.POSITION!==void 0?t.getDependency("accessor",d.POSITION):r.attributes.position;s.push(p)}if(i){const p=d.NORMAL!==void 0?t.getDependency("accessor",d.NORMAL):r.attributes.normal;a.push(p)}if(n){const p=d.COLOR_0!==void 0?t.getDependency("accessor",d.COLOR_0):r.attributes.color;l.push(p)}}return Promise.all([Promise.all(s),Promise.all(a),Promise.all(l)]).then(function(c){const u=c[0],d=c[1],p=c[2];return o&&(r.morphAttributes.position=u),i&&(r.morphAttributes.normal=d),n&&(r.morphAttributes.color=p),r.morphTargetsRelative=!0,r})}function _i(r,e){if(r.updateMorphTargets(),e.weights!==void 0)for(let t=0,o=e.weights.length;t<o;t++)r.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(r.morphTargetInfluences.length===t.length){r.morphTargetDictionary={};for(let o=0,i=t.length;o<i;o++)r.morphTargetDictionary[t[o]]=o}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function $i(r){let e;const t=r.extensions&&r.extensions[L.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+Lt(t.attributes):e=r.indices+":"+Lt(r.attributes)+":"+r.mode,r.targets!==void 0)for(let o=0,i=r.targets.length;o<i;o++)e+=":"+Lt(r.targets[o]);return e}function Lt(r){let e="";const t=Object.keys(r).sort();for(let o=0,i=t.length;o<i;o++)e+=t[o]+":"+r[t[o]]+";";return e}function Pt(r){switch(r){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function en(r){return r.search(/\.jpe?g($|\?)/i)>0||r.search(/^data\:image\/jpeg/)===0?"image/jpeg":r.search(/\.webp($|\?)/i)>0||r.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const tn=new m.Matrix4;class rn{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new Ei,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let o=!1,i=!1,n=-1;typeof navigator<"u"&&(o=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,n=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||o||i&&n<98?this.textureLoader=new m.TextureLoader(this.options.manager):this.textureLoader=new m.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new m.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const o=this,i=this.json,n=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(s){return s._markDefs&&s._markDefs()}),Promise.all(this._invokeAll(function(s){return s.beforeRoot&&s.beforeRoot()})).then(function(){return Promise.all([o.getDependencies("scene"),o.getDependencies("animation"),o.getDependencies("camera")])}).then(function(s){const a={scene:s[0][i.scene||0],scenes:s[0],animations:s[1],cameras:s[2],asset:i.asset,parser:o,userData:{}};return Me(n,a,i),we(a,i),Promise.all(o._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],o=this.json.meshes||[];for(let i=0,n=t.length;i<n;i++){const s=t[i].joints;for(let a=0,l=s.length;a<l;a++)e[s[a]].isBone=!0}for(let i=0,n=e.length;i<n;i++){const s=e[i];s.mesh!==void 0&&(this._addNodeRef(this.meshCache,s.mesh),s.skin!==void 0&&(o[s.mesh].isSkinnedMesh=!0)),s.camera!==void 0&&this._addNodeRef(this.cameraCache,s.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,o){if(e.refs[t]<=1)return o;const i=o.clone(),n=(s,a)=>{const l=this.associations.get(s);l!=null&&this.associations.set(a,l);for(const[c,u]of s.children.entries())n(u,a.children[c])};return n(o,i),i.name+="_instance_"+e.uses[t]++,i}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let o=0;o<t.length;o++){const i=e(t[o]);if(i)return i}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const o=[];for(let i=0;i<t.length;i++){const n=e(t[i]);n&&o.push(n)}return o}getDependency(e,t){const o=e+":"+t;let i=this.cache.get(o);if(!i){switch(e){case"scene":i=this.loadScene(t);break;case"node":i=this._invokeOne(function(n){return n.loadNode&&n.loadNode(t)});break;case"mesh":i=this._invokeOne(function(n){return n.loadMesh&&n.loadMesh(t)});break;case"accessor":i=this.loadAccessor(t);break;case"bufferView":i=this._invokeOne(function(n){return n.loadBufferView&&n.loadBufferView(t)});break;case"buffer":i=this.loadBuffer(t);break;case"material":i=this._invokeOne(function(n){return n.loadMaterial&&n.loadMaterial(t)});break;case"texture":i=this._invokeOne(function(n){return n.loadTexture&&n.loadTexture(t)});break;case"skin":i=this.loadSkin(t);break;case"animation":i=this._invokeOne(function(n){return n.loadAnimation&&n.loadAnimation(t)});break;case"camera":i=this.loadCamera(t);break;default:if(i=this._invokeOne(function(n){return n!=this&&n.getDependency&&n.getDependency(e,t)}),!i)throw new Error("Unknown type: "+e);break}this.cache.add(o,i)}return i}getDependencies(e){let t=this.cache.get(e);if(!t){const o=this,i=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(i.map(function(n,s){return o.getDependency(e,s)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],o=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[L.KHR_BINARY_GLTF].body);const i=this.options;return new Promise(function(n,s){o.load(m.LoaderUtils.resolveURL(t.uri,i.path),n,void 0,function(){s(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(o){const i=t.byteLength||0,n=t.byteOffset||0;return o.slice(n,n+i)})}loadAccessor(e){const t=this,o=this.json,i=this.json.accessors[e];if(i.bufferView===void 0&&i.sparse===void 0){const s=kt[i.type],a=Be[i.componentType],l=i.normalized===!0,c=new a(i.count*s);return Promise.resolve(new m.BufferAttribute(c,s,l))}const n=[];return i.bufferView!==void 0?n.push(this.getDependency("bufferView",i.bufferView)):n.push(null),i.sparse!==void 0&&(n.push(this.getDependency("bufferView",i.sparse.indices.bufferView)),n.push(this.getDependency("bufferView",i.sparse.values.bufferView))),Promise.all(n).then(function(s){const a=s[0],l=kt[i.type],c=Be[i.componentType],u=c.BYTES_PER_ELEMENT,d=u*l,p=i.byteOffset||0,h=i.bufferView!==void 0?o.bufferViews[i.bufferView].byteStride:void 0,g=i.normalized===!0;let f,A;if(h&&h!==d){const y=Math.floor(p/h),b="InterleavedBuffer:"+i.bufferView+":"+i.componentType+":"+y+":"+i.count;let x=t.cache.get(b);x||(f=new c(a,y*h,i.count*h/u),x=new m.InterleavedBuffer(f,h/u),t.cache.add(b,x)),A=new m.InterleavedBufferAttribute(x,l,p%h/u,g)}else a===null?f=new c(i.count*l):f=new c(a,p,i.count*l),A=new m.BufferAttribute(f,l,g);if(i.sparse!==void 0){const y=kt.SCALAR,b=Be[i.sparse.indices.componentType],x=i.sparse.indices.byteOffset||0,M=i.sparse.values.byteOffset||0,I=new b(s[1],x,i.sparse.count*y),P=new c(s[2],M,i.sparse.count*l);a!==null&&(A=new m.BufferAttribute(A.array.slice(),A.itemSize,A.normalized));for(let k=0,G=I.length;k<G;k++){const U=I[k];if(A.setX(U,P[k*l]),l>=2&&A.setY(U,P[k*l+1]),l>=3&&A.setZ(U,P[k*l+2]),l>=4&&A.setW(U,P[k*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return A})}loadTexture(e){const t=this.json,o=this.options,n=t.textures[e].source,s=t.images[n];let a=this.textureLoader;if(s.uri){const l=o.manager.getHandler(s.uri);l!==null&&(a=l)}return this.loadTextureImage(e,n,a)}loadTextureImage(e,t,o){const i=this,n=this.json,s=n.textures[e],a=n.images[t],l=(a.uri||a.bufferView)+":"+s.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,o).then(function(u){u.flipY=!1,u.name=s.name||a.name||"",u.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(u.name=a.uri);const p=(n.samplers||{})[s.sampler]||{};return u.magFilter=$r[p.magFilter]||m.LinearFilter,u.minFilter=$r[p.minFilter]||m.LinearMipmapLinearFilter,u.wrapS=eo[p.wrapS]||m.RepeatWrapping,u.wrapT=eo[p.wrapT]||m.RepeatWrapping,i.associations.set(u,{textures:e}),u}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const o=this,i=this.json,n=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const s=i.images[e],a=self.URL||self.webkitURL;let l=s.uri||"",c=!1;if(s.bufferView!==void 0)l=o.getDependency("bufferView",s.bufferView).then(function(d){c=!0;const p=new Blob([d],{type:s.mimeType});return l=a.createObjectURL(p),l});else if(s.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const u=Promise.resolve(l).then(function(d){return new Promise(function(p,h){let g=p;t.isImageBitmapLoader===!0&&(g=function(f){const A=new m.Texture(f);A.needsUpdate=!0,p(A)}),t.load(m.LoaderUtils.resolveURL(d,n.path),g,void 0,h)})}).then(function(d){return c===!0&&a.revokeObjectURL(l),d.userData.mimeType=s.mimeType||en(s.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=u,u}assignTexture(e,t,o,i){const n=this;return this.getDependency("texture",o.index).then(function(s){if(!s)return null;if(o.texCoord!==void 0&&o.texCoord>0&&(s=s.clone(),s.channel=o.texCoord),n.extensions[L.KHR_TEXTURE_TRANSFORM]){const a=o.extensions!==void 0?o.extensions[L.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=n.associations.get(s);s=n.extensions[L.KHR_TEXTURE_TRANSFORM].extendTexture(s,a),n.associations.set(s,l)}}return i!==void 0&&(s.colorSpace=i),e[t]=s,s})}assignFinalMaterial(e){const t=e.geometry;let o=e.material;const i=t.attributes.tangent===void 0,n=t.attributes.color!==void 0,s=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+o.uuid;let l=this.cache.get(a);l||(l=new m.PointsMaterial,m.Material.prototype.copy.call(l,o),l.color.copy(o.color),l.map=o.map,l.sizeAttenuation=!1,this.cache.add(a,l)),o=l}else if(e.isLine){const a="LineBasicMaterial:"+o.uuid;let l=this.cache.get(a);l||(l=new m.LineBasicMaterial,m.Material.prototype.copy.call(l,o),l.color.copy(o.color),l.map=o.map,this.cache.add(a,l)),o=l}if(i||n||s){let a="ClonedMaterial:"+o.uuid+":";i&&(a+="derivative-tangents:"),n&&(a+="vertex-colors:"),s&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=o.clone(),n&&(l.vertexColors=!0),s&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(o))),o=l}e.material=o}getMaterialType(){return m.MeshStandardMaterial}loadMaterial(e){const t=this,o=this.json,i=this.extensions,n=o.materials[e];let s;const a={},l=n.extensions||{},c=[];if(l[L.KHR_MATERIALS_UNLIT]){const d=i[L.KHR_MATERIALS_UNLIT];s=d.getMaterialType(),c.push(d.extendParams(a,n,t))}else{const d=n.pbrMetallicRoughness||{};if(a.color=new m.Color(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],m.LinearSRGBColorSpace),a.opacity=p[3]}d.baseColorTexture!==void 0&&c.push(t.assignTexture(a,"map",d.baseColorTexture,m.SRGBColorSpace)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),c.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),s=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}n.doubleSided===!0&&(a.side=m.DoubleSide);const u=n.alphaMode||St.OPAQUE;if(u===St.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,u===St.MASK&&(a.alphaTest=n.alphaCutoff!==void 0?n.alphaCutoff:.5)),n.normalTexture!==void 0&&s!==m.MeshBasicMaterial&&(c.push(t.assignTexture(a,"normalMap",n.normalTexture)),a.normalScale=new m.Vector2(1,1),n.normalTexture.scale!==void 0)){const d=n.normalTexture.scale;a.normalScale.set(d,d)}if(n.occlusionTexture!==void 0&&s!==m.MeshBasicMaterial&&(c.push(t.assignTexture(a,"aoMap",n.occlusionTexture)),n.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=n.occlusionTexture.strength)),n.emissiveFactor!==void 0&&s!==m.MeshBasicMaterial){const d=n.emissiveFactor;a.emissive=new m.Color().setRGB(d[0],d[1],d[2],m.LinearSRGBColorSpace)}return n.emissiveTexture!==void 0&&s!==m.MeshBasicMaterial&&c.push(t.assignTexture(a,"emissiveMap",n.emissiveTexture,m.SRGBColorSpace)),Promise.all(c).then(function(){const d=new s(a);return n.name&&(d.name=n.name),we(d,n),t.associations.set(d,{materials:e}),n.extensions&&Me(i,d,n),d})}createUniqueName(e){const t=m.PropertyBinding.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,o=this.extensions,i=this.primitiveCache;function n(a){return o[L.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return to(l,a,t)})}const s=[];for(let a=0,l=e.length;a<l;a++){const c=e[a],u=$i(c),d=i[u];if(d)s.push(d.promise);else{let p;c.extensions&&c.extensions[L.KHR_DRACO_MESH_COMPRESSION]?p=n(c):p=to(new m.BufferGeometry,c,t),i[u]={primitive:c,promise:p},s.push(p)}}return Promise.all(s)}loadMesh(e){const t=this,o=this.json,i=this.extensions,n=o.meshes[e],s=n.primitives,a=[];for(let l=0,c=s.length;l<c;l++){const u=s[l].material===void 0?Xi(this.cache):this.getDependency("material",s[l].material);a.push(u)}return a.push(t.loadGeometries(s)),Promise.all(a).then(function(l){const c=l.slice(0,l.length-1),u=l[l.length-1],d=[];for(let h=0,g=u.length;h<g;h++){const f=u[h],A=s[h];let y;const b=c[h];if(A.mode===ie.TRIANGLES||A.mode===ie.TRIANGLE_STRIP||A.mode===ie.TRIANGLE_FAN||A.mode===void 0)y=n.isSkinnedMesh===!0?new m.SkinnedMesh(f,b):new m.Mesh(f,b),y.isSkinnedMesh===!0&&y.normalizeSkinWeights(),A.mode===ie.TRIANGLE_STRIP?y.geometry=Jr(y.geometry,m.TriangleStripDrawMode):A.mode===ie.TRIANGLE_FAN&&(y.geometry=Jr(y.geometry,m.TriangleFanDrawMode));else if(A.mode===ie.LINES)y=new m.LineSegments(f,b);else if(A.mode===ie.LINE_STRIP)y=new m.Line(f,b);else if(A.mode===ie.LINE_LOOP)y=new m.LineLoop(f,b);else if(A.mode===ie.POINTS)y=new m.Points(f,b);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+A.mode);Object.keys(y.geometry.morphAttributes).length>0&&_i(y,n),y.name=t.createUniqueName(n.name||"mesh_"+e),we(y,n),A.extensions&&Me(i,y,A),t.assignFinalMaterial(y),d.push(y)}for(let h=0,g=d.length;h<g;h++)t.associations.set(d[h],{meshes:e,primitives:h});if(d.length===1)return n.extensions&&Me(i,d[0],n),d[0];const p=new m.Group;n.extensions&&Me(i,p,n),t.associations.set(p,{meshes:e});for(let h=0,g=d.length;h<g;h++)p.add(d[h]);return p})}loadCamera(e){let t;const o=this.json.cameras[e],i=o[o.type];if(!i){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return o.type==="perspective"?t=new m.PerspectiveCamera(m.MathUtils.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):o.type==="orthographic"&&(t=new m.OrthographicCamera(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),o.name&&(t.name=this.createUniqueName(o.name)),we(t,o),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],o=[];for(let i=0,n=t.joints.length;i<n;i++)o.push(this._loadNodeShallow(t.joints[i]));return t.inverseBindMatrices!==void 0?o.push(this.getDependency("accessor",t.inverseBindMatrices)):o.push(null),Promise.all(o).then(function(i){const n=i.pop(),s=i,a=[],l=[];for(let c=0,u=s.length;c<u;c++){const d=s[c];if(d){a.push(d);const p=new m.Matrix4;n!==null&&p.fromArray(n.array,c*16),l.push(p)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[c])}return new m.Skeleton(a,l)})}loadAnimation(e){const t=this.json,o=this,i=t.animations[e],n=i.name?i.name:"animation_"+e,s=[],a=[],l=[],c=[],u=[];for(let d=0,p=i.channels.length;d<p;d++){const h=i.channels[d],g=i.samplers[h.sampler],f=h.target,A=f.node,y=i.parameters!==void 0?i.parameters[g.input]:g.input,b=i.parameters!==void 0?i.parameters[g.output]:g.output;f.node!==void 0&&(s.push(this.getDependency("node",A)),a.push(this.getDependency("accessor",y)),l.push(this.getDependency("accessor",b)),c.push(g),u.push(f))}return Promise.all([Promise.all(s),Promise.all(a),Promise.all(l),Promise.all(c),Promise.all(u)]).then(function(d){const p=d[0],h=d[1],g=d[2],f=d[3],A=d[4],y=[];for(let b=0,x=p.length;b<x;b++){const M=p[b],I=h[b],P=g[b],k=f[b],G=A[b];if(M===void 0)continue;M.updateMatrix&&M.updateMatrix();const U=o._createAnimationTracks(M,I,P,k,G);if(U)for(let ee=0;ee<U.length;ee++)y.push(U[ee])}return new m.AnimationClip(n,void 0,y)})}createNodeMesh(e){const t=this.json,o=this,i=t.nodes[e];return i.mesh===void 0?null:o.getDependency("mesh",i.mesh).then(function(n){const s=o._getNodeRef(o.meshCache,i.mesh,n);return i.weights!==void 0&&s.traverse(function(a){if(a.isMesh)for(let l=0,c=i.weights.length;l<c;l++)a.morphTargetInfluences[l]=i.weights[l]}),s})}loadNode(e){const t=this.json,o=this,i=t.nodes[e],n=o._loadNodeShallow(e),s=[],a=i.children||[];for(let c=0,u=a.length;c<u;c++)s.push(o.getDependency("node",a[c]));const l=i.skin===void 0?Promise.resolve(null):o.getDependency("skin",i.skin);return Promise.all([n,Promise.all(s),l]).then(function(c){const u=c[0],d=c[1],p=c[2];p!==null&&u.traverse(function(h){h.isSkinnedMesh&&h.bind(p,tn)});for(let h=0,g=d.length;h<g;h++)u.add(d[h]);return u})}_loadNodeShallow(e){const t=this.json,o=this.extensions,i=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const n=t.nodes[e],s=n.name?i.createUniqueName(n.name):"",a=[],l=i._invokeOne(function(c){return c.createNodeMesh&&c.createNodeMesh(e)});return l&&a.push(l),n.camera!==void 0&&a.push(i.getDependency("camera",n.camera).then(function(c){return i._getNodeRef(i.cameraCache,n.camera,c)})),i._invokeAll(function(c){return c.createNodeAttachment&&c.createNodeAttachment(e)}).forEach(function(c){a.push(c)}),this.nodeCache[e]=Promise.all(a).then(function(c){let u;if(n.isBone===!0?u=new m.Bone:c.length>1?u=new m.Group:c.length===1?u=c[0]:u=new m.Object3D,u!==c[0])for(let d=0,p=c.length;d<p;d++)u.add(c[d]);if(n.name&&(u.userData.name=n.name,u.name=s),we(u,n),n.extensions&&Me(o,u,n),n.matrix!==void 0){const d=new m.Matrix4;d.fromArray(n.matrix),u.applyMatrix4(d)}else n.translation!==void 0&&u.position.fromArray(n.translation),n.rotation!==void 0&&u.quaternion.fromArray(n.rotation),n.scale!==void 0&&u.scale.fromArray(n.scale);return i.associations.has(u)||i.associations.set(u,{}),i.associations.get(u).nodes=e,u}),this.nodeCache[e]}loadScene(e){const t=this.extensions,o=this.json.scenes[e],i=this,n=new m.Group;o.name&&(n.name=i.createUniqueName(o.name)),we(n,o),o.extensions&&Me(t,n,o);const s=o.nodes||[],a=[];for(let l=0,c=s.length;l<c;l++)a.push(i.getDependency("node",s[l]));return Promise.all(a).then(function(l){for(let u=0,d=l.length;u<d;u++)n.add(l[u]);const c=u=>{const d=new Map;for(const[p,h]of i.associations)(p instanceof m.Material||p instanceof m.Texture)&&d.set(p,h);return u.traverse(p=>{const h=i.associations.get(p);h!=null&&d.set(p,h)}),d};return i.associations=c(n),n})}_createAnimationTracks(e,t,o,i,n){const s=[],a=e.name?e.name:e.uuid,l=[];be[n.path]===be.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let c;switch(be[n.path]){case be.weights:c=m.NumberKeyframeTrack;break;case be.rotation:c=m.QuaternionKeyframeTrack;break;case be.position:case be.scale:c=m.VectorKeyframeTrack;break;default:switch(o.itemSize){case 1:c=m.NumberKeyframeTrack;break;case 2:case 3:default:c=m.VectorKeyframeTrack;break}break}const u=i.interpolation!==void 0?Ji[i.interpolation]:m.InterpolateLinear,d=this._getArrayFromAccessor(o);for(let p=0,h=l.length;p<h;p++){const g=new c(l[p]+"."+be[n.path],t.array,d,u);i.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(g),s.push(g)}return s}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const o=Pt(t.constructor),i=new Float32Array(t.length);for(let n=0,s=t.length;n<s;n++)i[n]=t[n]*o;t=i}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(o){const i=this instanceof m.QuaternionKeyframeTrack?Wi:_r;return new i(this.times,this.values,this.getValueSize()/3,o)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function on(r,e,t){const o=e.attributes,i=new m.Box3;if(o.POSITION!==void 0){const a=t.json.accessors[o.POSITION],l=a.min,c=a.max;if(l!==void 0&&c!==void 0){if(i.set(new m.Vector3(l[0],l[1],l[2]),new m.Vector3(c[0],c[1],c[2])),a.normalized){const u=Pt(Be[a.componentType]);i.min.multiplyScalar(u),i.max.multiplyScalar(u)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const n=e.targets;if(n!==void 0){const a=new m.Vector3,l=new m.Vector3;for(let c=0,u=n.length;c<u;c++){const d=n[c];if(d.POSITION!==void 0){const p=t.json.accessors[d.POSITION],h=p.min,g=p.max;if(h!==void 0&&g!==void 0){if(l.setX(Math.max(Math.abs(h[0]),Math.abs(g[0]))),l.setY(Math.max(Math.abs(h[1]),Math.abs(g[1]))),l.setZ(Math.max(Math.abs(h[2]),Math.abs(g[2]))),p.normalized){const f=Pt(Be[p.componentType]);l.multiplyScalar(f)}a.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}i.expandByVector(a)}r.boundingBox=i;const s=new m.Sphere;i.getCenter(s.center),s.radius=i.min.distanceTo(i.max)/2,r.boundingSphere=s}function to(r,e,t){const o=e.attributes,i=[];function n(s,a){return t.getDependency("accessor",s).then(function(l){r.setAttribute(a,l)})}for(const s in o){const a=Bt[s]||s.toLowerCase();a in r.attributes||i.push(n(o[s],a))}if(e.indices!==void 0&&!r.index){const s=t.getDependency("accessor",e.indices).then(function(a){r.setIndex(a)});i.push(s)}return m.ColorManagement.workingColorSpace!==m.LinearSRGBColorSpace&&"COLOR_0"in o&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${m.ColorManagement.workingColorSpace}" not supported.`),we(r,e),on(r,e,t),Promise.all(i).then(function(){return e.targets!==void 0?Zi(r,e.targets,t):r})}class ro{constructor(e="three-glb-layer"){this.id=e,this.type="custom",this.renderingMode="3d",this.map=null,this.renderer=null,this.scene=new Y.Scene,this.camera=new Y.Camera,Y.Cache.enabled=!0,this.loader=new Mi,this.anchorLngLat=null,this.anchorMercator=null,this.anchorMeterScale=1,this.models=new Map,this.onModelLoaded=null}onAdd(e,t){this.map=e,this.renderer=new Y.WebGLRenderer({canvas:e.getCanvas(),context:t,antialias:!0}),this.renderer.autoClear=!1,this.renderer.outputColorSpace=Y.SRGBColorSpace,this.renderer.toneMapping=Y.ACESFilmicToneMapping,this.renderer.toneMappingExposure=1.5;const o=new Y.AmbientLight(16777215,2);this.scene.add(o);const i=new Y.DirectionalLight(16777215,1.5);i.position.set(1,2,3).normalize(),this.scene.add(i);const n=new Y.DirectionalLight(16777215,1.5);n.position.set(-1,-1,2).normalize(),this.scene.add(n);const s=new Y.DirectionalLight(16777215,.5);s.position.set(0,-1,1).normalize(),this.scene.add(s)}render(e,t){var l;if(!this.renderer||!this.map||!this.anchorMercator)return;const o=this.anchorMeterScale,i=this.anchorMercator,n=new Y.Matrix4().fromArray([o,0,0,0,0,0,o,0,0,-o,0,0,i.x,i.y,i.z,1]);let s;if(t instanceof Float64Array||t instanceof Float32Array||Array.isArray(t))s=t;else if((l=t==null?void 0:t.defaultProjectionData)!=null&&l.mainMatrix)s=t.defaultProjectionData.mainMatrix;else return;const a=new Y.Matrix4().fromArray(s);this.camera.projectionMatrix=a.multiply(n),this.renderer.resetState(),this.renderer.render(this.scene,this.camera),this.models.size>0&&this.map.triggerRepaint()}onRemove(){var e;this.models.forEach(t=>{this.scene.remove(t.group),t.group.traverse(o=>{o.geometry&&o.geometry.dispose(),o.material&&(Array.isArray(o.material)?o.material.forEach(i=>i.dispose()):o.material.dispose())})}),this.models.clear(),(e=this.renderer)==null||e.dispose(),this.renderer=null,this.map=null}ensureAnchor(e){if(this.anchorMercator)return;const t=D.MercatorCoordinate.fromLngLat(e,0);this.anchorMercator={x:t.x,y:t.y,z:t.z||0},this.anchorMeterScale=t.meterInMercatorCoordinateUnits(),this.anchorLngLat=e}resetAnchor(){this.anchorMercator=null,this.anchorMeterScale=1,this.anchorLngLat=null}lngLatToLocal(e){if(!this.anchorMercator)return[0,0];const t=D.MercatorCoordinate.fromLngLat(e,0),o=(t.x-this.anchorMercator.x)/this.anchorMeterScale,i=-(t.y-this.anchorMercator.y)/this.anchorMeterScale;return[o,i]}addModel(e,t,o=1,i="model",n=0){return this.ensureAnchor(t),new Promise((s,a)=>{this.loader.load(e,l=>{var y,b;const c=l.scene,u=`glb-${Date.now()}-${Math.random().toString(36).slice(2,7)}`;c.traverse(x=>{if(!x.isMesh||!x.material)return;const M=I=>{if(!I.isMeshStandardMaterial)return I.side=Y.DoubleSide,I;const P=new Y.MeshLambertMaterial({color:I.color,map:I.map,opacity:I.opacity,transparent:I.transparent,side:Y.DoubleSide,alphaMap:I.alphaMap,emissive:I.emissive,emissiveMap:I.emissiveMap,emissiveIntensity:I.emissiveIntensity});return I.dispose(),P};Array.isArray(x.material)?x.material=x.material.map(M):x.material=M(x.material)});const d=new Y.Box3().setFromObject(c),p=d.getCenter(new Y.Vector3);c.position.set(-p.x,-d.min.y,-p.z);const h=new Y.Group;h.add(c);const[g,f]=this.lngLatToLocal(t);h.position.set(g,n,f),h.scale.setScalar(o),this.scene.add(h);const A={id:u,name:i,group:h,lngLat:t,scale:o,elevation:n};this.models.set(u,A),(y=this.map)==null||y.triggerRepaint(),(b=this.onModelLoaded)==null||b.call(this,A),s(u)},void 0,l=>{console.error("GLTFLoader error:",l),a(l)})})}updateModelScale(e,t){var i;const o=this.models.get(e);o&&(o.scale=t,o.group.scale.setScalar(t),(i=this.map)==null||i.triggerRepaint())}removeModel(e){var o;const t=this.models.get(e);t&&(this.scene.remove(t.group),t.group.traverse(i=>{i.geometry&&i.geometry.dispose(),i.material&&(Array.isArray(i.material)?i.material.forEach(n=>n.dispose()):i.material.dispose())}),this.models.delete(e),(o=this.map)==null||o.triggerRepaint())}moveModel(e,t,o){var n;const i=this.models.get(e);if(i){if(i.lngLat=t,typeof o=="number"&&(i.elevation=o),this.anchorLngLat){const s=Math.abs(t[0]-this.anchorLngLat[0]),a=Math.abs(t[1]-this.anchorLngLat[1]);if(s>.05||a>.05)this.recenterAnchor(t);else{const[l,c]=this.lngLatToLocal(t);i.group.position.set(l,i.elevation||0,c)}}else this.recenterAnchor(t);(n=this.map)==null||n.triggerRepaint()}}recenterAnchor(e){if(!e)return;const t=D.MercatorCoordinate.fromLngLat(e,0);this.anchorMercator={x:t.x,y:t.y,z:t.z||0},this.anchorMeterScale=t.meterInMercatorCoordinateUnits(),this.anchorLngLat=e,this.models.forEach(o=>{if(o.lngLat){const[i,n]=this.lngLatToLocal(o.lngLat);o.group.position.set(i,o.elevation||0,n)}})}rotateModel(e,t){var n;const o=this.models.get(e);if(!o)return;o.rotation=t;const i=Y.MathUtils.degToRad(-t);o.group.rotation.y=i,(n=this.map)==null||n.triggerRepaint()}setOpacity(e,t){var i;const o=this.models.get(e);o&&(o.group.traverse(n=>{n.isMesh&&n.material&&(Array.isArray(n.material)?n.material.forEach(s=>{s.transparent=t<1,s.opacity=t,s.needsUpdate=!0}):(n.material.transparent=t<1,n.material.opacity=t,n.material.needsUpdate=!0))}),(i=this.map)==null||i.triggerRepaint())}}const oo={default:{color:"#ef4444",bg:"#fee2e2"},restroom:{color:"#3b82f6",bg:"#dbeafe"},elevator:{color:"#8b5cf6",bg:"#ede9fe"},stairs:{color:"#6366f1",bg:"#e0e7ff"},food:{color:"#f59e0b",bg:"#fef3c7"},coffee:{color:"#d97706",bg:"#fef3c7"},shop:{color:"#ec4899",bg:"#fce7f3"},info:{color:"#0ea5e9",bg:"#e0f2fe"},accessibility:{color:"#10b981",bg:"#d1fae5"},entrance:{color:"#14b8a6",bg:"#ccfbf1"},office:{color:"#475569",bg:"#f1f5f9"},parking:{color:"#3b82f6",bg:"#dbeafe"},escalator:{color:"#64748b",bg:"#f1f5f9"},atm:{color:"#10b981",bg:"#d1fae5"},firstaid:{color:"#ef4444",bg:"#fee2e2"},help:{color:"#8b5cf6",bg:"#ede9fe"}},nn=[{id:"pm-draw-polygon-fill",type:"fill",filter:["all",["==","$type","Polygon"],["!=","mode","static"],["!=","user_isHidden",!0]],paint:{"fill-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#4f46e5"],"fill-opacity":["case",["any",["has","user_fillColor"],["has","fillColor"]],.8,.25]}},{id:"pm-draw-polygon-outline",type:"line",filter:["all",["==","$type","Polygon"],["!=","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_strokeColor"],["get","strokeColor"],"#312e81"],"line-width":2}},{id:"pm-draw-line-active",type:"line",filter:["all",["==","$type","LineString"],["!=","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_lineColor"],["get","lineColor"],"#38bdf8"],"line-width":3}},{id:"pm-draw-point-vertex",type:"circle",filter:["all",["==","$type","Point"],["!=","meta","midpoint"],["!=","mode","static"],["!has","user_kind"],["!=","user_isHidden",!0]],paint:{"circle-radius":4,"circle-color":"#ffffff","circle-stroke-color":"#0f172a","circle-stroke-width":2}},{id:"pm-draw-point-mid",type:"circle",filter:["all",["==","$type","Point"],["==","meta","midpoint"],["!=","user_isHidden",!0]],paint:{"circle-radius":3,"circle-color":"#0ea5e9"}},{id:"pm-draw-polygon-fill-static",type:"fill",filter:["all",["==","$type","Polygon"],["==","mode","static"],["!=","user_isHidden",!0]],paint:{"fill-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#4f46e5"],"fill-opacity":.18}},{id:"pm-draw-polygon-outline-static",type:"line",filter:["all",["==","$type","Polygon"],["==","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_strokeColor"],["get","strokeColor"],"#312e81"],"line-width":2}},{id:"pm-draw-line-static",type:"line",filter:["all",["==","$type","LineString"],["==","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_lineColor"],["get","lineColor"],"#64748b"],"line-width":3}},{id:"pm-draw-special-point-inactive",type:"circle",filter:["all",["==","$type","Point"],["has","user_kind"],["!=","user_isHidden",!0]],paint:{"circle-radius":24,"circle-color":"#000000","circle-opacity":0,"circle-stroke-width":0}},{id:"pm-draw-special-point-active",type:"circle",filter:["all",["==","$type","Point"],["has","user_kind"],["==","active","true"],["!=","user_isHidden",!0]],paint:{"circle-radius":24,"circle-color":"#000000","circle-opacity":0,"circle-stroke-width":0}}];class et{constructor(e){if(this.mapManager=e.registry.get("map"),this.eventBus=e.eventBus,this.draw=null,this._customDrawState={mode:null,startPosition:null,previewId:null},this.context=e,this._createKind=null,this._beaconPoiMarkers=new Map,this.threeGlbLayer=null,this.glbModelIdMap={},this.imageOverlayIds=new Set,!document.getElementById("pm-font-awesome")){const t=document.createElement("link");t.id="pm-font-awesome",t.rel="stylesheet",t.href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css",document.head.appendChild(t)}this._extrudeState=null,this._rotateState=null,this._cloneState=null,this._overlay=null,this._extrudeMarker=null,this.clipboard=null,this.USER_3D_SOURCE_ID="pm-user-3d-buildings",this.USER_3D_LAYER_ID="pm-user-3d-buildings-fill",this.store=new Ci(this.eventBus),this._onMapClick=this._onMapClick.bind(this),this._onMapMouseMove=this._onMapMouseMove.bind(this),this._onCloneMapClick=this._onCloneMapClick.bind(this),this._onOverlayMouseDown=this._onOverlayMouseDown.bind(this),this._onOverlayMouseMove=this._onOverlayMouseMove.bind(this),this._onOverlayMouseUp=this._onOverlayMouseUp.bind(this),this.mapManager.getMap()?this.initDraw(this.mapManager.getMap()):this.eventBus.on("mapLoaded",({map:t})=>{this.initDraw(t)})}get origin(){return this.context.origin}initDraw(e){if(this.draw)return;this.draw=new $e({displayControlsDefault:!1,controls:{},styles:nn,userProperties:!0,defaultMode:"simple_select"}),this.context.options.previewOnly?e.addControl(this.draw,"bottom-left"):e.addControl(this.draw,"bottom-left"),e.getLayer("indoor-three-glb")||(this.threeGlbLayer=new ro("indoor-three-glb"),e.addLayer(this.threeGlbLayer)),this._ensureIcons(e),this._geomHashes=new Map;const t=i=>{if(!i)return"";const n={...i.properties};return delete n.user_x,delete n.user_y,JSON.stringify({g:i.geometry,p:n})},o=i=>{this.eventBus.emit("geometryChanged",i)};e.on("draw.create",i=>{const n=i.features[0].id,s=this._createKind;this._applyKindToNewFeature(i.features[0]);let a=this.draw.get(n);if(a){const c=a.properties.user_ordinal||a.properties.ordinal;if(c!==void 0&&a.geometry.type==="Point"){const u=this.draw.getAll().features.find(d=>(d.properties.user_kind||d.properties.kind)==="floor"&&(d.properties.user_ordinal===c||d.properties.ordinal===c));if(u){const d=ye(u),{x:p,y:h}=ge(a.geometry.coordinates[0],a.geometry.coordinates[1],d.geometry.coordinates);this.draw.setFeatureProperty(a.id,"user_x",p),this.draw.setFeatureProperty(a.id,"user_y",h)}}}if(["beacon","poi"].includes(s)){const c=this.draw.get(n);c&&this._createBeaconPoiMarker(c),this.draw.changeMode("simple_select",{featureIds:[n]})}const l=this.draw.get(n);l&&this._geomHashes.set(l.id,t(l)),o({...i,type:"create",features:[l]}),this.syncUser3DBuildings(),this._updateLiveMeasurements()}),this._updateDebounceTimers=new Map,e.on("draw.update",i=>{i.features&&i.features.forEach(n=>{this._updateDebounceTimers.has(n.id)&&clearTimeout(this._updateDebounceTimers.get(n.id));const s=setTimeout(()=>{this._updateDebounceTimers.delete(n.id);const a=this.draw.get(n.id)||n,l=a.properties.user_ordinal||a.properties.ordinal;if(l!==void 0&&a.geometry.type==="Point"){const d=this.draw.getAll().features.find(p=>(p.properties.user_kind||p.properties.kind)==="floor"&&(p.properties.user_ordinal===l||p.properties.ordinal===l));if(d){const p=ye(d),{x:h,y:g}=ge(a.geometry.coordinates[0],a.geometry.coordinates[1],p.geometry.coordinates);(a.properties.user_x!==h||a.properties.user_y!==g)&&(this.draw.setFeatureProperty(a.id,"user_x",h),this.draw.setFeatureProperty(a.id,"user_y",g),Object.assign(a.properties,{user_x:h,user_y:g}))}}const c=t(a),u=this._geomHashes.get(a.id);c!==u&&(this._geomHashes.set(a.id,c),this.eventBus.emit("geometryChanged",{operation:"update",source:"draw",feature:a}),this.syncUser3DBuildings(),this._syncAllBeaconPoiMarkers(),this._updateLiveMeasurements())},500);this._updateDebounceTimers.set(n.id,s)})}),e.on("draw.delete",i=>{i.features&&i.features.forEach(n=>{this._geomHashes.delete(n.id),this._removeBeaconPoiMarker(n.id),this.eventBus.emit("geometryChanged",{operation:"delete",source:"draw",featureId:n.id,feature:null})}),this.syncUser3DBuildings(),this._updateLiveMeasurements()}),e.on("draw.selectionchange",i=>{this.eventBus.emit("geometrySelectionChanged",i),this._updateLiveMeasurements()}),e.on("draw.render",()=>{this._syncAllBeaconPoiMarkers();const i=this.draw.getSelected();if(i.features.length===1){const n=i.features[0];if(n&&n.geometry.type==="Point"){const s=n.properties.user_ordinal||n.properties.ordinal;if(s){const a=this.draw.getAll().features.find(l=>(l.properties.user_kind||l.properties.kind)==="floor"&&(l.properties.user_ordinal===s||l.properties.ordinal===s));if(a){const l=ye(a),{x:c,y:u}=ge(n.geometry.coordinates[0],n.geometry.coordinates[1],l.geometry.coordinates),d=JSON.parse(JSON.stringify(n));d.properties.user_x=c,d.properties.user_y=u,this.eventBus.emit("geometryLiveUpdate",{type:"update",features:[d]});return}}}this.eventBus.emit("geometryLiveUpdate",{type:"update",features:[n]})}}),e.on("mousemove",i=>{const n=this.draw.getMode();["draw_line_string","draw_polygon"].includes(n)&&this._updateLiveMeasurements(i.lngLat)}),this.ensureUser3DLayer(e),this.clipboard=new vi(this.draw,this.eventBus),this._attachKeyboardShortcuts()}_attachKeyboardShortcuts(){document.addEventListener("keydown",e=>{if(["INPUT","TEXTAREA"].includes(e.target.tagName)||e.target.isContentEditable)return;const t=e.code,i=/Mac|iPod|iPhone|iPad/.test(navigator.userAgent)?e.metaKey:e.ctrlKey;if(i&&t==="KeyC")this.clipboard.copy();else if(i&&t==="KeyV")this.clipboard.paste(),this.syncUser3DBuildings();else if(t==="Delete"){const n=this.draw.getSelectedIds();n.length>0&&(this.remove(n),e.preventDefault())}})}ensureUser3DLayer(e){e.getSource(this.USER_3D_SOURCE_ID)||e.addSource(this.USER_3D_SOURCE_ID,{type:"geojson",data:{type:"FeatureCollection",features:[]}}),e.getLayer(this.USER_3D_LAYER_ID)||e.addLayer({id:this.USER_3D_LAYER_ID,type:"fill-extrusion",source:this.USER_3D_SOURCE_ID,paint:{"fill-extrusion-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#4f46e5"],"fill-extrusion-opacity":.9,"fill-extrusion-height":["coalesce",["get","user_height"],["get","height"],0],"fill-extrusion-base":0}}),e.getSource("pm-live-measure")||e.addSource("pm-live-measure",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),e.getLayer("pm-live-measure-label")||e.addLayer({id:"pm-live-measure-label",type:"symbol",source:"pm-live-measure",layout:{"text-field":["get","label"],"text-font":["Noto Sans Thai Regular"],"text-size":13,"symbol-placement":"line-center","text-pitch-alignment":"map","text-anchor":"center","text-keep-upright":!0,"text-max-angle":85,"text-allow-overlap":!0,"text-ignore-placement":!0},paint:{"text-color":"#ffffff","text-halo-color":"#000000","text-halo-width":2}})}_syncAdvancedRenderers(e=null){let t;if(e)t=e;else{if(!this.draw)return;t=this.draw.getAll()}this._syncGlbFeatures(t),this._syncImageOverlays(t)}_syncGlbFeatures(e){if(!this.threeGlbLayer)return;const t=new Set;((e==null?void 0:e.features)||[]).filter(i=>{var n,s;return((n=i.properties)==null?void 0:n.kind)==="glb"||((s=i.properties)==null?void 0:s.user_kind)==="glb"}).forEach(i=>{if(!i.geometry||i.geometry.type!=="Point")return;const[n,s]=i.geometry.coordinates,a=i.properties||{},l=String(i.id);t.add(l);const c=this.glbModelIdMap[l],u=a.user_modelUrl||a.modelUrl,d=a.user_scale!==void 0?a.user_scale:a.scale||1,p=a.user_elevation!==void 0?a.user_elevation:a.elevation||0,h=a.user_rotation!==void 0?a.user_rotation:a.rotation;c?c!=="loading"&&(this.threeGlbLayer.moveModel(c,[n,s],p),typeof h=="number"&&this.threeGlbLayer.rotateModel(c,h),typeof d=="number"&&this.threeGlbLayer.updateModelScale(c,d)):u&&(this.glbModelIdMap[l]="loading",this.threeGlbLayer.addModel(u,[n,s],d,a.user_name||a.name||"3D Object",p).then(g=>{this.glbModelIdMap[l]=g,h!==void 0&&this.threeGlbLayer.rotateModel(g,h)}).catch(g=>{console.error("Failed adding GLB:",g),delete this.glbModelIdMap[l]}))}),Object.keys(this.glbModelIdMap).forEach(i=>{if(!t.has(i)){const n=this.glbModelIdMap[i];n&&n!=="loading"&&this.threeGlbLayer.removeModel(n),delete this.glbModelIdMap[i]}})}_syncImageOverlays(e){const t=this.mapManager.getMap();if(!t)return;const o=new Set;((e==null?void 0:e.features)||[]).filter(n=>{var s,a,l;return(((s=n.properties)==null?void 0:s.kind)==="image_overlay"||((a=n.properties)==null?void 0:a.user_kind)==="image_overlay")&&((l=n.geometry)==null?void 0:l.type)==="Polygon"}).forEach(n=>{const s=String(n.id);o.add(s);const a=`img-overlay-source-${s}`,l=`img-overlay-layer-${s}`,c=n.geometry.coordinates[0].slice(0,4),u=n.properties.user_imageUrl||n.properties.imageUrl,d=n.properties.user_isHidden!==void 0?n.properties.user_isHidden:n.properties.isHidden,p=n.properties.user_opacity!==void 0?n.properties.user_opacity:n.properties.opacity!==void 0?n.properties.opacity:.7;if(u)if(t.getSource(a))t.getSource(a).setCoordinates(c),t.getLayer(l)&&(t.setLayoutProperty(l,"visibility",d?"none":"visible"),t.setPaintProperty(l,"raster-opacity",p));else{t.addSource(a,{type:"image",url:u,coordinates:c});const h={id:l,type:"raster",source:a,layout:{visibility:d?"none":"visible"},paint:{"raster-opacity":p,"raster-fade-duration":0}};t.getLayer("indoor-three-glb")?t.addLayer(h,"indoor-three-glb"):t.addLayer(h)}}),this.imageOverlayIds.forEach(n=>{if(!o.has(n)){const s=`img-overlay-source-${n}`,a=`img-overlay-layer-${n}`;t.getLayer(a)&&t.removeLayer(a),t.getSource(s)&&t.removeSource(s)}}),this.imageOverlayIds=o}syncUser3DBuildings(e=null){var a;this._syncAdvancedRenderers(e);const t=this.mapManager.getMap();if(!t)return;let o=t.getSource(this.USER_3D_SOURCE_ID);if(!o)return;let i;if(e)i=e;else if(this._staticGeojson)i=this._staticGeojson;else{if(!this.draw)return;i=this.draw.getAll()}const s=(((a=i==null?void 0:i.features)==null?void 0:a.filter(l=>{if(!l.geometry||l.geometry.type!=="Polygon")return!1;const c=l.properties||{};return(c.user_height!==void 0?c.user_height:c.height!==void 0?c.height:0)>0}))||[]).map(l=>({type:"Feature",geometry:l.geometry,properties:{...l.properties||{},source:"community-3d"}}));o.setData({type:"FeatureCollection",features:s})}drawMode(e){if(!this.draw||this.context.options.previewOnly)return this;this._cancelCustomDraw();const t=e.toLowerCase();return t==="simple_select"?(this._currentDrawMode="simple_select",this.draw.changeMode("simple_select")):t==="polygon"?(this._currentDrawMode="draw_polygon",this.draw.changeMode("draw_polygon")):t==="line"||t==="linestring"?(this._currentDrawMode="draw_line_string",this.draw.changeMode("draw_line_string")):t==="point"?(this._currentDrawMode="draw_point",this.draw.changeMode("draw_point")):t==="rectangle"||t==="circle"?(this._currentDrawMode="simple_select",this.draw.changeMode("simple_select"),this._startCustomDraw(t)):["beacon","poi"].includes(t)?(this._createKind=t,this.draw.changeMode("draw_point")):t==="walkway"?(this._createKind="walkway",this.draw.changeMode("draw_line_string")):t==="floor"||t==="obstacle"?(this._createKind=t,this.draw.changeMode("draw_polygon")):console.warn(`Draw mode '${e}' is not supported.`),this}_applyKindToNewFeature(e){if(!e||!this.draw)return;const t=e.id,o=this._createKind;if(!o)return;const i=this.context.registry.get("indoor"),n=i?i.getCurrentFloor():void 0;if(n!==void 0&&o!=="floor"&&(this.draw.setFeatureProperty(t,"floorOrdinal",n),this.draw.setFeatureProperty(t,"ordinal",n)),o==="beacon")this.draw.setFeatureProperty(t,"kind","beacon"),this.draw.setFeatureProperty(t,"color","#fbbf24"),this.draw.setFeatureProperty(t,"name","Beacon"),this.draw.setFeatureProperty(t,"icon","broadcast-tower");else if(o==="poi")this.draw.setFeatureProperty(t,"kind","poi"),this.draw.setFeatureProperty(t,"color","#c084fc"),this.draw.setFeatureProperty(t,"name","POI"),this.draw.setFeatureProperty(t,"icon","map-marker");else if(o==="walkway")this.draw.setFeatureProperty(t,"kind","walkway"),this.draw.setFeatureProperty(t,"lineColor","#10b981");else if(o==="floor"){if(this.draw.setFeatureProperty(t,"kind","floor"),this.draw.setFeatureProperty(t,"user_feature_type","level"),this.draw.setFeatureProperty(t,"category","room"),this.draw.setFeatureProperty(t,"ordinal",0),this.draw.setFeatureProperty(t,"floorOrdinal",void 0),this.draw.setFeatureProperty(t,"user_floorOrdinal",void 0),this.origin)try{const s=ye(e),[a,l]=s.geometry.coordinates,{x:c,y:u}=ge(a,l,this.origin);this.draw.setFeatureProperty(t,"user_x",c),this.draw.setFeatureProperty(t,"user_y",u)}catch(s){console.error("Failed to calculate floor X/Y:",s)}}else o==="obstacle"&&(this.draw.setFeatureProperty(t,"kind","obstacle"),this.draw.setFeatureProperty(t,"user_height",2.5),this.draw.setFeatureProperty(t,"height",2.5));this._createKind=null}add(e){if(!this.draw)throw new w("Cannot add geometry: Draw instance not initialized.",v.MAP_NOT_INITIALIZED,"geometry");if(!e)throw new w("GeoJSON object is required for add().",v.INVALID_PARAMETERS,"geometry");try{const t=this.draw.add(e);return this.syncUser3DBuildings(),this._updateLiveMeasurements(),this.eventBus.emit("geometryChanged",{operation:"create",source:"programmatic",feature:this.draw.getAll().features[0]}),t}catch(t){throw new w(`Failed to add GeoJSON: ${t.message}`,v.INVALID_PARAMETERS,"geometry",{originalError:t})}}create(e,t={}){if(!this.draw)throw new w("Cannot create: Draw not initialized.",v.MAP_NOT_INITIALIZED,"geometry");const o={...t.properties||{}},i=["beacon","poi","walkway","floor","obstacle"],n=["beacon","poi","point"],s=["line","walkway"],a=["polygon","floor","obstacle","rectangle"];if(i.includes(e)&&(o.kind=e),i.includes(e)&&e!=="floor"){const d=this.context.registry.get("indoor"),p=d?d.getCurrentFloor():void 0;p!==void 0&&o.ordinal===void 0&&(o.ordinal=p,o.floorOrdinal=p)}let l=null;if(n.includes(e)){if(!t.lngLat)throw new w(`create('${e}') requires options.lngLat`,v.INVALID_PARAMETERS,"geometry");l={type:"Feature",geometry:{type:"Point",coordinates:t.lngLat},properties:o}}else if(s.includes(e)){if(!t.coordinates)throw new w(`create('${e}') requires options.coordinates`,v.INVALID_PARAMETERS,"geometry");l={type:"Feature",geometry:{type:"LineString",coordinates:t.coordinates},properties:o}}else if(e==="rectangle"&&t.bounds){const[[d,p],[h,g]]=t.bounds;l={type:"Feature",geometry:{type:"Polygon",coordinates:[[[d,p],[h,p],[h,g],[d,g],[d,p]]]},properties:o}}else if(e==="circle"&&t.center&&t.radiusKm)l={type:"Feature",geometry:Wr(Ae(t.center),t.radiusKm,{steps:64,units:"kilometers"}).geometry,properties:{...o,isCircle:!0,center:t.center,radiusKm:t.radiusKm}};else if(a.includes(e)){if(!t.coordinates)throw new w(`create('${e}') requires options.coordinates`,v.INVALID_PARAMETERS,"geometry");l={type:"Feature",geometry:{type:"Polygon",coordinates:t.coordinates},properties:o}}else throw new w(`Unknown kind: '${e}'`,v.INVALID_PARAMETERS,"geometry");const c=this.draw.add(l),u=Array.isArray(c)?c[0]:c;if(u){this._createKind=i.includes(e)?e:null,this._applyKindToNewFeature(this.draw.get(u)),["beacon","poi"].includes(e)&&this._createBeaconPoiMarker(this.draw.get(u));const d=this.draw.get(u);this.syncUser3DBuildings(),this._updateLiveMeasurements(),this.eventBus.emit("geometryChanged",{operation:"create",source:"programmatic",feature:d})}return u||null}update(e,t={}){if(!this.draw)throw new w("Cannot update: Draw not initialized.",v.MAP_NOT_INITIALIZED,"geometry");if(!e)throw new w("update() requires a feature id.",v.INVALID_PARAMETERS,"geometry");if(!this.draw.get(e))throw new w(`Feature '${e}' not found.`,v.INVALID_PARAMETERS,"geometry");if(t.properties&&Object.entries(t.properties).forEach(([n,s])=>{this.draw.setFeatureProperty(e,n,s),this.draw.setFeatureProperty(e,`user_${n}`,s)}),t.geometry){const s={...this.draw.get(e),geometry:t.geometry};this.draw.delete(e),this.draw.add({...s,id:e})}const i=this.draw.get(e);return this.syncUser3DBuildings(),this._syncAllBeaconPoiMarkers(),this._updateLiveMeasurements(),this.eventBus.emit("geometryChanged",{operation:"update",source:"programmatic",feature:i}),this}getById(e){return this.draw&&this.draw.get(e)||null}renderStatic(e){const t=this.mapManager.getMap();if(t){if(this._staticGeojson=e,t.getSource("pm-indoor-source-static")?t.getSource("pm-indoor-source-static").setData(e):(t.addSource("pm-indoor-source-static",{type:"geojson",data:e}),t.addLayer({id:"pm-indoor-rooms-static",type:"fill-extrusion",source:"pm-indoor-source-static",filter:["all",["==",["geometry-type"],"Polygon"],["!=",["get","kind"],"image_overlay"]],paint:{"fill-extrusion-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#e5e7eb"],"fill-extrusion-opacity":1,"fill-extrusion-height":["coalesce",["get","user_height"],["get","height"],0],"fill-extrusion-base":0}}),t.addLayer({id:"pm-indoor-paths-static",type:"line",source:"pm-indoor-source-static",filter:["all",["==",["geometry-type"],"LineString"],["!=",["get","isRoutingPath"],!0]],paint:{"line-color":["coalesce",["get","user_lineColor"],["get","lineColor"],"#3b82f6"],"line-width":["coalesce",["get","user_lineWidth"],["get","lineWidth"],3]}})),this.threeGlbLayer&&this.threeGlbLayer.implementation){const o=this.threeGlbLayer.implementation;o.models&&Array.from(o.models.keys()).forEach(n=>{typeof o.removeModel=="function"&&o.removeModel(n)});const i=e.features.filter(n=>{var s,a;return((s=n.geometry)==null?void 0:s.type)==="Point"&&((a=n.properties)==null?void 0:a.kind)==="glb"});o.addModelsFromGeoJSON&&o.addModelsFromGeoJSON({type:"FeatureCollection",features:i})}this._syncAllBeaconPoiMarkers(e),this.syncUser3DBuildings(e)}}getByKind(e){return this.draw?this.draw.getAll().features.filter(t=>{var i,n;return(((i=t.properties)==null?void 0:i.user_kind)||((n=t.properties)==null?void 0:n.kind))===e}):[]}query(){return new xi(()=>this.draw?this.draw.getAll().features:[])}getGeoJSON(e,t={format:"imdf"}){if(!this.draw)throw new w("Cannot get GeoJSON: Draw instance not initialized.",v.MAP_NOT_INITIALIZED,"geometry");if(e){const i=this.draw.get(e);if(!i)return null;if(t.format==="standard")return i;const n={type:"FeatureCollection",features:[i]};return xe.toIMDF(n).features[0]}const o=this.draw.getAll();return t.format==="standard"?o:xe.toIMDF(o)}remove(e){return this.draw?((Array.isArray(e)?e:[e]).forEach(o=>this._removeBeaconPoiMarker(o)),this.draw.delete(e),this.syncUser3DBuildings(),this._updateLiveMeasurements(),this):void 0}export(e={format:"imdf"}){if(!this.draw)throw new w("Cannot export: Draw instance not initialized.",v.MAP_NOT_INITIALIZED,"geometry");try{const t=this.draw.getAll();return e.format==="standard"?{type:"FeatureCollection",features:t.features.map(i=>{const n={...i.properties};for(const[s,a]of Object.entries(n))if(s.startsWith("user_")){const l=s.substring(5);l in n||(n[l]=a)}return{...i,properties:n}})}:xe.toIMDF(t)}catch(t){const o=new w(`Failed to export IMDF GeoJSON: ${t.message}`,v.UNKNOWN,"geometry",{originalError:t});throw this.eventBus.emit("error",o),o}}import(e,t={format:"imdf"}){if(!this.draw)throw new w("Cannot import: Draw instance not initialized.",v.MAP_NOT_INITIALIZED,"geometry");if(!e)throw new w("GeoJSON object is required for import().",v.INVALID_PARAMETERS,"geometry");try{const o=t.format==="standard"?e:xe.fromIMDF(e);if(this._clearAllBeaconPoiMarkers(),o.type==="FeatureCollection")this.draw.set(o);else if(o.type==="Feature")this.draw.add(o);else if(Array.isArray(o))this.draw.add({type:"FeatureCollection",features:o});else throw new w("Invalid GeoJSON structure provided for import.",v.INVALID_PARAMETERS,"geometry");this.syncUser3DBuildings(),this._syncAllBeaconPoiMarkers(),this.eventBus.emit("geometryChanged",{type:"create",features:this.draw.getAll().features})}catch(o){const i=o instanceof w?o:new w(`Failed to import IMDF GeoJSON: ${o.message}`,v.INVALID_PARAMETERS,"geometry",{originalError:o});throw this.eventBus.emit("error",i),i}return this}clear(){if(this.draw)return this._clearAllBeaconPoiMarkers(),this.draw.deleteAll(),this.syncUser3DBuildings(),this._updateLiveMeasurements(),this}addPointMeters(e,t,o={}){if(!this.draw)throw new w("Cannot add point: Draw instance not initialized.",v.MAP_NOT_INITIALIZED,"geometry");if(!this.origin)throw new w("Cannot add point in meters: Map origin is not set.",v.INVALID_PARAMETERS,"geometry");if(typeof e!="number"||typeof t!="number")throw new w("Coordinates x and y must be numbers.",v.INVALID_PARAMETERS,"geometry");const[i,n]=Ao(e,t,this.origin),s={type:"Feature",geometry:{type:"Point",coordinates:[i,n]},properties:{...o}},a=this.draw.add(s),l=Array.isArray(a)?a[0]:a;if(l){const c=o.kind;["beacon","poi"].includes(c)&&(this._createBeaconPoiMarker(this.draw.get(l)),setTimeout(()=>{this.eventBus.emit("geometrySelectionChanged",{features:[this.draw.get(l)]})},10)),this.eventBus.emit("geometryChanged",{type:"create",features:[this.draw.get(l)]}),this.syncUser3DBuildings()}return l}_ensureIcons(e){Object.entries({"shape-rounded-square":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="0" y="0" width="100" height="100" rx="20" ry="20" fill="white"/></svg>',"broadcast-tower":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 112c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 240c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 368c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48z" fill="white"/></svg>',"map-marker":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z" fill="white"/></svg>'}).forEach(([o,i])=>{if(e.hasImage(o))return;const n=new Image,s=new Blob([i],{type:"image/svg+xml;charset=utf-8"}),a=URL.createObjectURL(s);n.onload=()=>{const l=document.createElement("canvas");l.width=128,l.height=128;const c=l.getContext("2d");c.drawImage(n,0,0,128,128);const u=c.getImageData(0,0,128,128);e.addImage(o,u,{sdf:!0}),URL.revokeObjectURL(a)},n.src=a})}setFeatureHeight(e,t){if(!this.draw)return;this.draw.setFeatureProperty(e,"user_height",t),this.draw.setFeatureProperty(e,"height",t),this.syncUser3DBuildings();const o=this.draw.get(e);return o&&this.eventBus.emit("geometryChanged",{type:"update",features:[o]}),this}getDrawInstance(){return this.draw}_cancelAdvancedInteractions(){this._extrudeState=null,this._rotateState=null,this._cloneState=null,this._removeOverlay();const e=this.mapManager.getMap();e&&(e.off("click",this._onCloneMapClick),e.dragPan&&e.dragPan.enable())}_createOverlay(){this._overlay||(this._overlay=document.createElement("div"),this._overlay.className="pm-extrude-overlay",document.body.appendChild(this._overlay),this._overlay.addEventListener("mousedown",this._onOverlayMouseDown),window.addEventListener("mousemove",this._onOverlayMouseMove),window.addEventListener("mouseup",this._onOverlayMouseUp))}_removeOverlay(){this._overlay&&(this._overlay.removeEventListener("mousedown",this._onOverlayMouseDown),window.removeEventListener("mousemove",this._onOverlayMouseMove),window.removeEventListener("mouseup",this._onOverlayMouseUp),this._overlay.remove(),this._overlay=null)}beginExtrude(){var s;const e=(s=this.draw)==null?void 0:s.getSelected();if(!e||e.features.length!==1||e.features[0].geometry.type!=="Polygon")return;this._cancelAdvancedInteractions();const t=e.features[0];this.mapManager.getMap();const o=t.properties||{},i=o.user_height!==void 0?parseFloat(o.user_height):o.height!==void 0?parseFloat(o.height):void 0;i===void 0&&(this.draw.setFeatureProperty(t.id,"user_height",0),this.draw.setFeatureProperty(t.id,"height",0),this.syncUser3DBuildings(),this.eventBus.emit("geometryChanged",{type:"update",features:[this.draw.get(t.id)]})),this._extrudeState={featureId:t.id,baseHeight:i!==void 0?i:0,dragging:!1,startY:0},this._createOverlay();const n=document.getElementById("pm-btn-extrude");n&&n.classList.add("anim-pulse")}beginRotate(){var u,d;const e=(u=this.draw)==null?void 0:u.getSelected();if(!e||e.features.length!==1)return;const t=e.features[0],o=(d=t.geometry)==null?void 0:d.type;if(!["Polygon","LineString","Point"].includes(o))return;this._cancelAdvancedInteractions();let i;try{i=ye(t)}catch{return}const[n,s]=i.geometry.coordinates,a=this.mapManager.getMap(),l=a.project([n,s]);this._rotateState={featureId:t.id,centerLngLat:[n,s],centerPx:{x:l.x,y:l.y},baseGeom:JSON.parse(JSON.stringify(t.geometry)),baseProperties:{...t.properties||{}},dragging:!1,startCursorAngle:0},a.dragPan&&a.dragPan.disable(),this._createOverlay();const c=document.getElementById("pm-btn-rotate");c&&c.classList.add("anim-pulse")}beginClone(){var i;const e=(i=this.draw)==null?void 0:i.getSelected();if(!e||e.features.length!==1)return;this._cancelAdvancedInteractions(),this._cloneState={feature:e.features[0]},this.mapManager.getMap().on("click",this._onCloneMapClick);const o=document.getElementById("pm-btn-clone");o&&o.classList.add("anim-pulse")}_onCloneMapClick(e){if(!this._cloneState||!this._cloneState.feature)return;const t=this._cloneState.feature;this.mapManager.getMap();try{const o=ye(t),[i,n]=o.geometry.coordinates,{lng:s,lat:a}=e.lngLat,l=s-i,c=a-n,u=JSON.parse(JSON.stringify(t.geometry)),d=f=>[f[0]+l,f[1]+c];u.type==="Polygon"?u.coordinates=u.coordinates.map(f=>f.map(d)):u.type==="LineString"?u.coordinates=u.coordinates.map(d):u.type==="Point"&&(u.coordinates=d(u.coordinates));const p={type:"Feature",geometry:u,properties:{...t.properties||{}}},h=this.draw.add(p),g=Array.isArray(h)?h[0]:h;g&&this.draw.changeMode("simple_select",{featureIds:[g]}),this.syncUser3DBuildings(),this.eventBus.emit("geometryChanged",{type:"create",features:[this.draw.get(g)]})}catch(o){console.error(o)}this._cancelAdvancedInteractions(),document.querySelectorAll(".pm-draw-btn.anim-pulse").forEach(o=>o.classList.remove("anim-pulse"))}_onOverlayMouseDown(e){if(e.button===0){if(this._extrudeState)this._extrudeState.dragging=!0,this._extrudeState.startY=e.clientY;else if(this._rotateState){const{x:t,y:o}=this._rotateState.centerPx,i=Math.atan2(e.clientY-o,e.clientX-t);this._rotateState.dragging=!0,this._rotateState.startCursorAngle=i}}}_onOverlayMouseMove(e){if(this._extrudeState&&this._extrudeState.dragging){const t=this._extrudeState.startY-e.clientY;let o=this._extrudeState.baseHeight+t/4;o=Math.round(o*4)/4,e.ctrlKey&&(o=Math.round(o/2.5)*2.5),o=Math.max(0,o);const i=this._extrudeState.featureId;this.draw.setFeatureProperty(i,"user_height",o),this.draw.setFeatureProperty(i,"height",o);const n=this.draw.get(i);n&&(this.syncUser3DBuildings(),this.eventBus.emit("geometryChanged",{type:"update",features:[n]}))}else if(this._rotateState&&this._rotateState.dragging){const{x:t,y:o}=this._rotateState.centerPx,i=Math.atan2(e.clientY-o,e.clientX-t);let n=this._rotateState.startCursorAngle-i;e.ctrlKey&&(n=Math.round(n*180/Math.PI/5)*5*Math.PI/180);const[s,a]=this._rotateState.centerLngLat,l=Math.cos(a*Math.PI/180)||1,c=p=>{const[h,g]=p,f=(h-s)*l,A=g-a,y=f*Math.cos(n)-A*Math.sin(n),b=f*Math.sin(n)+A*Math.cos(n);return[s+y/l,a+b]},u=this._rotateState.baseGeom;let d=null;if(u.type==="Polygon"?d={type:"Polygon",coordinates:u.coordinates.map(p=>p.map(c))}:u.type==="LineString"?d={type:"LineString",coordinates:u.coordinates.map(c)}:u.type==="Point"&&(d={type:"Point",coordinates:c(u.coordinates)}),d){this.draw.delete(this._rotateState.featureId);const p=this.draw.add({type:"Feature",geometry:d,properties:this._rotateState.baseProperties}),h=Array.isArray(p)?p[0]:p;this._rotateState.featureId=h,this.draw.changeMode("simple_select",{featureIds:[h]}),this.syncUser3DBuildings()}}}_onOverlayMouseUp(e){this._extrudeState&&this._extrudeState.dragging&&this.eventBus.emit("geometryChanged",{type:"update",features:[this.draw.get(this._extrudeState.featureId)]}),this._rotateState&&this._rotateState.dragging&&this.eventBus.emit("geometryChanged",{type:"update",features:[this.draw.get(this._rotateState.featureId)]}),this._cancelAdvancedInteractions(),document.querySelectorAll(".pm-draw-btn.anim-pulse").forEach(t=>t.classList.remove("anim-pulse"))}_startCustomDraw(e){const t=this.mapManager.getMap();t&&(this._customDrawState.mode=e,this._customDrawState.startPosition=null,this._customDrawState.previewId=null,t.getCanvas().style.cursor="crosshair",t.dragPan&&t.dragPan.disable(),t.on("click",this._onMapClick),t.on("mousemove",this._onMapMouseMove))}_cancelCustomDraw(){if(this._cancelAdvancedInteractions(),!this._customDrawState.mode)return;const e=this.mapManager.getMap();e&&(e.off("click",this._onMapClick),e.off("mousemove",this._onMapMouseMove),e.getCanvas().style.cursor="",e.dragPan&&e.dragPan.enable()),this._customDrawState.previewId&&this.draw&&this.draw.delete(this._customDrawState.previewId),this._customDrawState.mode=null,this._customDrawState.startPosition=null,this._customDrawState.previewId=null}_onMapClick(e){if(this._customDrawState.startPosition){const t=this._customDrawState.startPosition,o=e.lngLat,i=this._customDrawState.mode;this._customDrawState.previewId&&this.draw.delete(this._customDrawState.previewId);const n=this._generateCustomFeature(i,t,o);if(n){const s=this.draw.add(n),a=Array.isArray(s)?s:[s];this.eventBus.emit("geometryChanged",{type:"create",features:[this.draw.get(a[0])]}),this.draw.changeMode("simple_select",{featureIds:a}),this.syncUser3DBuildings()}this._cancelCustomDraw()}else{this._customDrawState.startPosition=e.lngLat;const t=this.origin?ge(e.lngLat.lng,e.lngLat.lat,this.origin):null;this.eventBus.emit("geometryInteraction",{type:"click",lngLat:e.lngLat,x:t==null?void 0:t.x,y:t==null?void 0:t.y})}}_onMapMouseMove(e){if(!this._customDrawState.startPosition)return;const t=this._customDrawState.startPosition,o=e.lngLat,i=this._customDrawState.mode,n=this._generateCustomFeature(i,t,o);if(!n)return;this._customDrawState.previewId&&this.draw.delete(this._customDrawState.previewId);const s=this.draw.add(n);this._customDrawState.previewId=Array.isArray(s)?s[0]:s}_generateCustomFeature(e,t,o){if(e==="rectangle"){const i=Math.min(t.lng,o.lng),n=Math.max(t.lng,o.lng),s=Math.min(t.lat,o.lat),a=Math.max(t.lat,o.lat);return{type:"Feature",geometry:{type:"Polygon",coordinates:[[[i,s],[n,s],[n,a],[i,a],[i,s]]]},properties:{}}}else if(e==="circle"){const i=Ae([t.lng,t.lat]),n=Ae([o.lng,o.lat]),s=Et(i,n,{units:"kilometers"});if(s===0)return null;try{return{type:"Feature",geometry:Wr(i,s,{steps:64,units:"kilometers"}).geometry,properties:{isCircle:!0,center:[t.lng,t.lat],radiusKm:s}}}catch{return null}}return null}_updateLiveMeasurements(e=null){const t=this.mapManager.getMap();if(t)try{const o=t.getSource("pm-live-measure");if(!o)return;const i=this.draw.getAll(),n=this.draw.getSelectedIds(),s=this.draw.getMode(),a=i.features.filter(c=>n.includes(c.id)),l=[];a.forEach(c=>{var g;if(!c.geometry)return;const u=c.geometry.type;let d=[];const h=n.includes(c.id)&&!((g=c.properties)!=null&&g.kind)&&["draw_line_string","draw_polygon"].includes(s);if(u==="LineString"){let f=[...c.geometry.coordinates];if(h&&e&&f.length>0){const A=f[f.length-1];(A[0]!==e.lng||A[1]!==e.lat)&&f.push([e.lng,e.lat])}d=[f]}else if(u==="Polygon"){let f=c.geometry.coordinates.map(A=>[...A]);h&&e&&f.length>0&&f[0].length>0&&f[0].splice(f[0].length-1,0,[e.lng,e.lat]),d=f}d.forEach(f=>{if(!(!f||!Array.isArray(f)))for(let A=0;A<f.length-1;A++){const y=f[A],b=f[A+1];if(!y||!b)continue;let x=0;try{x=Et(Ae(y),Ae(b),{units:"meters"})}catch{continue}x<.1||l.push({type:"Feature",geometry:{type:"LineString",coordinates:[y,b]},properties:{label:`${x.toFixed(1)}m`}})}})}),o.setData({type:"FeatureCollection",features:l})}catch(o){console.warn("Live measurement error",o)}}static get ICON_CLASS_MAP(){return{"broadcast-tower":"fas fa-broadcast-tower","map-marker":"fas fa-map-marker-alt",wheelchair:"fas fa-wheelchair",restroom:"fas fa-restroom",info:"fas fa-info-circle","first-aid":"fas fa-first-aid",coffee:"fas fa-coffee",utensils:"fas fa-utensils",store:"fas fa-store",parking:"fas fa-parking",bus:"fas fa-bus",train:"fas fa-train",plane:"fas fa-plane",hotel:"fas fa-hotel",school:"fas fa-school",walking:"fas fa-walking","arrow-up":"fas fa-arrow-up",elevator:"fas fa-caret-square-up",stairs:"fas fa-bars",food:"fas fa-utensils",shop:"fas fa-shopping-bag",accessibility:"fas fa-wheelchair",entrance:"fas fa-door-open",office:"fas fa-briefcase",escalator:"fas fa-sort-amount-up",atm:"fas fa-money-bill",firstaid:"fas fa-medkit",help:"fas fa-question-circle","arrow-down":"fas fa-arrow-down"}}_createBeaconPoiMarker(e){if(!e||!e.geometry||e.geometry.type!=="Point")return;const t=this.mapManager.getMap();if(!t)return;const o=e.properties||{},n=o.isPoi||o.user_isPoi?"poi":o.user_kind||o.kind;if(!["beacon","poi"].includes(n))return;this._removeBeaconPoiMarker(e.id);const s=o.user_poiIcon||o.poiIcon||"default",a=oo[s]||oo.default,l=o.user_color||o.color||(n==="poi"?a.color:"#fbbf24"),c=n==="poi"?a.bg:l,u=o.user_icon||o.icon||o.user_poiIcon||o.poiIcon||(n==="beacon"?"broadcast-tower":"map-marker"),d=o.user_name||o.name||"",p=et.ICON_CLASS_MAP[u]||"fas fa-map-marker-alt",h=document.createElement("div");h.className=`pm-indoor-marker pm-indoor-marker-${n}`,h.setAttribute("data-feature-id",e.id),h.style.pointerEvents="none",h.style.zIndex="1",h.style.display="flex",h.style.flexDirection="column",h.style.alignItems="center",h.style.gap="4px";const g=document.createElement("div");g.className="pm-indoor-marker-bg",g.style.backgroundColor=c,g.style.color=l,g.style.width="32px",g.style.height="32px",g.style.borderRadius="50%",g.style.display="flex",g.style.alignItems="center",g.style.justifyContent="center",g.style.boxShadow="0 2px 5px rgba(0,0,0,0.2)",g.style.border=`2px solid ${l}`,g.style.pointerEvents="none";const f=document.createElement("i");f.className=p,f.style.fontSize="16px",f.style.color=l,g.appendChild(f),h.appendChild(g);const A=document.createElement("div");A.className="pm-indoor-marker-label",A.textContent=d||"",A.style.fontSize="11px",A.style.fontWeight="600",A.style.fontFamily="var(--pm-font-family), system-ui, sans-serif",A.style.color="#ffffff",A.style.textShadow="-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0px 2px 4px rgba(0,0,0,0.8)",A.style.padding="2px 6px",A.style.whiteSpace="nowrap",A.style.pointerEvents="none",A.style.display=d?"block":"none",h.appendChild(A);const y=e.geometry.coordinates,b=new D.Marker({element:h,anchor:"center"}).setLngLat(y).addTo(t);this._beaconPoiMarkers.set(e.id,b)}_updateBeaconPoiMarker(e){if(!this.draw)return;const t=this.draw.get(e);if(!t)return;const o=t.properties||{},i=o.user_kind||o.kind;if(!["beacon","poi"].includes(i))return;const n=this._beaconPoiMarkers.get(e);if(!n){this._createBeaconPoiMarker(t);return}const s=o.user_color||o.color||(i==="beacon"?"#fbbf24":"#c084fc"),a=o.user_icon||o.icon||(i==="beacon"?"broadcast-tower":"map-marker"),l=o.user_name||o.name||"",c=et.ICON_CLASS_MAP[a]||"fas fa-map-marker-alt",u=n.getElement();if(!u)return;const d=u.querySelector(".pm-indoor-marker-bg");if(d){d.style.backgroundColor=s;const g=d.querySelector("i");g&&(g.className=c)}let p=u.querySelector(".pm-indoor-marker-label");p||(p=document.createElement("div"),p.className="pm-indoor-marker-label",u.appendChild(p)),p.textContent=l||"",p.style.color=s,p.style.display=l?"block":"none";const h=t.geometry.coordinates;n.setLngLat(h)}_removeBeaconPoiMarker(e){const t=this._beaconPoiMarkers.get(e);t&&(t.remove(),this._beaconPoiMarkers.delete(e))}_syncAllBeaconPoiMarkers(e=null){let t;if(e)t=e;else if(this._staticGeojson)t=this._staticGeojson;else{if(!this.draw)return;t=this.draw.getAll()}if(!t||!t.features)return;const o=new Set;t.features.forEach(i=>{var l,c,u,d,p;const s=((l=i.properties)==null?void 0:l.isPoi)||((c=i.properties)==null?void 0:c.user_isPoi)?"poi":((u=i.properties)==null?void 0:u.user_kind)||((d=i.properties)==null?void 0:d.kind);if(!["beacon","poi"].includes(s)||((p=i.geometry)==null?void 0:p.type)!=="Point")return;o.add(i.id);const a=this._beaconPoiMarkers.get(i.id);a?a.setLngLat(i.geometry.coordinates):this._createBeaconPoiMarker(i)});for(const[i,n]of this._beaconPoiMarkers.entries())o.has(i)||(n.remove(),this._beaconPoiMarkers.delete(i))}_clearAllBeaconPoiMarkers(){for(const[,e]of this._beaconPoiMarkers)e.remove();this._beaconPoiMarkers.clear()}getAvailableFloors(){const e=new Set;return this.draw&&this.draw.getAll().features.forEach(t=>{const o=t.properties||{};if((o.user_kind||o.kind)==="floor"){const n=o.user_floorOrdinal!==void 0?o.user_floorOrdinal:o.floorOrdinal!==void 0?o.floorOrdinal:o.user_ordinal!==void 0?o.user_ordinal:o.ordinal!==void 0?o.ordinal:void 0;n!==void 0&&e.add(Number(n))}}),Array.from(e)}setFloorFilter(e){this._currentFloorFilter=e;for(const[t,o]of this._beaconPoiMarkers.entries()){const i=this.draw.get(t);if(i){const n=i.properties||{},a=(n.user_floorOrdinal!==void 0?n.user_floorOrdinal:n.floorOrdinal!==void 0?n.floorOrdinal:n.user_ordinal!==void 0?n.user_ordinal:n.ordinal!==void 0?n.ordinal:0)===e,l=o.getElement();l&&(l.style.display=a?"block":"none")}}}setMarkerOpacity(e){for(const t of this._beaconPoiMarkers.values()){const o=t.getElement();o&&(o.style.opacity=e,o.style.transition="opacity 0.2s ease-in-out")}}syncFloorVisibility(e){if(!this.draw)return;const t=this.context.registry.get("editor"),o=t?t.isEnabled:!1;let i=!1;if(this.draw.getAll().features.forEach(s=>{let l=(s.properties.user_floorOrdinal!==void 0?s.properties.user_floorOrdinal:s.properties.floorOrdinal!==void 0?s.properties.floorOrdinal:s.properties.user_ordinal!==void 0?s.properties.user_ordinal:s.properties.ordinal!==void 0?s.properties.ordinal:0)!==e;const c=s.properties.user_kind||s.properties.kind||"";!l&&c==="walkway"&&!o&&(l=!0),s.properties.user_isHidden!==l&&(this.draw.setFeatureProperty(s.id,"isHidden",l),i=!0)}),i){const s=this.draw.getAll(),a=this.draw.getSelectedIds();this.draw.set(s),a.length>0&&this.draw.changeMode("simple_select",{featureIds:a}),this.syncUser3DBuildings();const l=this.mapManager.getMap();l&&l.triggerRepaint()}}}let io=!1;function sn(){if(io)return;io=!0;const r=`
|
|
49
|
+
`,r.appendChild(i),document.body.appendChild(r),requestAnimationFrame(()=>{r.style.opacity="1",i.style.transform="scale(1)"});const n=s=>{r.style.opacity="0",i.style.transform="scale(0.95)",setTimeout(()=>{document.body.contains(r)&&document.body.removeChild(r),e(s)},200)};i.querySelector("#pm-unsaved-save").onclick=()=>n("save"),i.querySelector("#pm-unsaved-cancel").onclick=()=>n("cancel"),i.querySelector("#pm-unsaved-discard").onclick=()=>n("discard")})}onCreate(e){return this._onCreateCb=e,this}onUpdate(e){return this._onUpdateCb=e,this}onDelete(e){return this._onDeleteCb=e,this}onAnyChange(e){return this._onAnyCb=e,this}onSave(e){return this._onSaveCb=e,this}async _handleChange(e){this._isDirty||this.setDirty(!0);const t=this._buildPayload(e);if(t){this._log(t);try{this._onAnyCb&&await this._onAnyCb(t),t.operation==="create"&&this._onCreateCb?await this._onCreateCb(t):t.operation==="update"&&this._onUpdateCb?await this._onUpdateCb(t):t.operation==="delete"&&this._onDeleteCb&&await this._onDeleteCb(t)}catch(r){console.error("[GeometryStore] Callback error:",r)}}}async _handleSave(e){if(this._onSaveCb)try{await this._onSaveCb(e.data)}catch(t){console.error("[GeometryStore] Save Callback error:",t)}else console.group("%c[GeometryStore] 💾 SAVE REQUESTED","color: #10b981; font-weight: bold;"),console.log("format: ",e.format),console.log("data: ",e.data),console.log("Register map.geometry.store.onSave(async (data) => {...}) to handle this."),console.groupEnd()}_buildPayload(e){const t=e.operation||e.type;if(!["create","update","delete"].includes(t))return null;const r=e.feature||e.features&&e.features[0]||null,i=(r==null?void 0:r.id)||e.featureId||null,n=(r==null?void 0:r.properties)||{},s=this._stripUserPrefix(n),a=s.kind||null,l=s.ordinal??s.floorOrdinal??null,c=a?"indoor":"standard";return{operation:t,source:e.source||"draw",format:c,featureId:i,kind:a,floor:l!==null?Number(l):null,timestamp:new Date().toISOString(),geometry:t!=="delete"&&(r==null?void 0:r.geometry)||null,properties:t!=="delete"?s:null}}_stripUserPrefix(e){const t={};for(const[r,i]of Object.entries(e)){const n=r.startsWith("user_")?r.slice(5):r;t[n]||(t[n]=i)}return t}_log(e){var s;const r={create:"📦",update:"✏️",delete:"🗑️"}[e.operation]||"📋",i=e.kind?` ${e.kind}`:` ${((s=e.geometry)==null?void 0:s.type)||"feature"}`,n=e.floor!==null?` @ floor:${e.floor}`:"";console.group(`%c[GeometryStore] ${r} ${e.operation.toUpperCase()}${i}${n}`,"color: #f26522; font-weight: bold;"),console.log("featureId:",e.featureId),console.log("source: ",e.source),console.log("format: ",e.format),e.geometry&&console.log("geometry: ",e.geometry),e.properties&&Object.keys(e.properties).length>0&&console.log("props: ",e.properties),console.groupEnd()}}class xi{constructor(e){this._getAllFeatures=e,this._filters=[]}byKind(e){return this._filters.push(t=>{var i,n;return(((i=t.properties)==null?void 0:i.user_kind)||((n=t.properties)==null?void 0:n.kind))===e}),this}byFloor(e){return this._filters.push(t=>{const r=t.properties||{},i=r.user_floorOrdinal!==void 0?r.user_floorOrdinal:r.floorOrdinal!==void 0?r.floorOrdinal:r.user_ordinal!==void 0?r.user_ordinal:r.ordinal;return Number(i)===Number(e)}),this}byType(e){return this._filters.push(t=>{var r;return((r=t.geometry)==null?void 0:r.type)===e}),this}where(e,t,r){return this._filters.push(i=>{const n=i.properties||{},s=n[`user_${e}`]!==void 0?n[`user_${e}`]:n[e];switch(t){case"eq":return s===r;case"neq":return s!==r;case"contains":return typeof s=="string"&&s.includes(r);case"gt":return Number(s)>Number(r);case"lt":return Number(s)<Number(r);case"exists":return s!=null;default:return!0}}),this}byFeatureType(e){return this._filters.push(t=>{const r=t.properties||{};return(r.user_feature_type||r.feature_type)===e}),this}byVenueId(e){return this._filters.push(t=>{const r=t.properties||{};return(r.user_venue_id||r.venue_id)===e}),this}byBuildingId(e){return this._filters.push(t=>{const r=t.properties||{},i=r.user_building_ids||r.building_ids;return Array.isArray(i)?i.includes(e):i===e}),this}byLevelId(e){return this._filters.push(t=>{const r=t.properties||{};return(r.user_level_id||r.level_id)===e}),this}toArray(){return this._run()}first(){return this._run()[0]||null}count(){return this._run().length}ids(){return this._run().map(e=>e.id)}_run(){let e=this._getAllFeatures();for(const t of this._filters)e=e.filter(t);return e}}class xe{static toIMDF(e){if(!e)throw new v("FeatureCollection is required for IMDF conversion.",C.INVALID_PARAMETERS,"geometry");if(e.type!=="FeatureCollection")throw new v("Input must be a FeatureCollection for IMDF conversion.",C.INVALID_PARAMETERS,"geometry");try{return{...e,features:e.features.map(r=>{const i=r.properties||{},n=i.user_kind||i.kind;let s=this.MAPPING[n];if(n==="floor"){const P=i.user_feature_type||i.feature_type,k=i.user_category||i.category;P?s={feature_type:P,category:k||""}:k==="venue"?s=this.MAPPING.venue:k==="building"?s=this.MAPPING.building:s={feature_type:"level",category:k||"room"}}s||(s={feature_type:"unknown",category:"unknown"});const a=i.user_name||i.name,l={en:(typeof a=="object"?a==null?void 0:a.en:a)||""},c=i.user_floorOrdinal!==void 0?i.user_floorOrdinal:i.floorOrdinal!==void 0?i.floorOrdinal:i.user_ordinal!==void 0?i.user_ordinal:i.ordinal!==void 0?i.ordinal:0,u={category:i.user_category||s.category,name:l,ordinal:c,outdoor:i.user_outdoor===!0};i.user_restricted===!0||i.restricted===!0?u.restriction=i.user_restriction||i.restriction||"restricted":u.restriction=null;const d=i.user_display_point||i.display_point;d&&(u.display_point=d);const p=i.user_short_name||i.short_name;p&&(u.short_name=typeof p=="object"?p:{en:p});const h=i.user_alt_name||i.alt_name;h&&(u.alt_name=typeof h=="object"?h:{en:h});const g=i.user_address_id||i.address_id;g&&(u.address_id=g);const f=i.user_building_ids||i.building_ids;f&&(u.building_ids=f);const y=i.user_level_id||i.level_id;y&&(u.level_id=y);const A=i.user_accessibility||i.accessibility;A&&(u.accessibility=A),(i.user_hours||i.hours)&&(u.hours=i.user_hours||i.hours),(i.user_phone||i.phone)&&(u.phone=i.user_phone||i.phone),(i.user_website||i.website)&&(u.website=i.user_website||i.website),(i.user_x!==void 0||i.x!==void 0)&&(u.x=i.user_x!==void 0?i.user_x:i.x),(i.user_y!==void 0||i.y!==void 0)&&(u.y=i.user_y!==void 0?i.user_y:i.y);const b=["category","ordinal","outdoor","restricted","restriction","name","short_name","alt_name","x","y","id","kind","feature_type","display_point","address_id","building_ids","level_id","accessibility","hours","phone","website"],w=b.map(P=>`user_${P}`),M=new Set([...b,...w]);return u._internal=Object.fromEntries(Object.entries(i).filter(([P,k])=>["height","user_height"].includes(P)&&(typeof k!="number"||k<=0)?!1:!M.has(P))),{id:i.user_id||r.id,type:"Feature",feature_type:s.feature_type,geometry:r.geometry,properties:u}})}}catch(t){throw new v(`Failed to convert to IMDF: ${t.message}`,C.UNKNOWN,"geometry",{originalError:t})}}static fromIMDF(e){if(!e)throw new v("IMDF FeatureCollection is required for conversion.",C.INVALID_PARAMETERS,"geometry");if(e.type!=="FeatureCollection")throw new v("Input must be a FeatureCollection for IMDF conversion.",C.INVALID_PARAMETERS,"geometry");try{return{...e,features:e.features.map(t=>{var c,u,d,p,h,g;const r=t.properties||{},i=t.feature_type;let n="unknown";for(const[f,y]of Object.entries(this.MAPPING))if(y.feature_type===i&&y.category===r.category){n=f;break}n==="unknown"&&(n={venue:"venue",building:"building",level:"floor",unit:"unit",opening:"opening",amenity:"amenity",anchor:r.category==="beacon"?"beacon":"poi",footprint:"footprint",fixture:"fixture",section:"section",geofence:"geofence",kiosk:"kiosk",detail:"detail",occupant:"occupant",address:"address",relationship:"relationship",pathway:"walkway"}[i]||"unknown",i==="unit"&&r.category==="restricted"&&(n="obstacle"));const s=r._internal||t._internal||{};n==="floor"&&(delete s.floorOrdinal,delete s.user_floorOrdinal);const a={...s,user_kind:n,user_name:(typeof(((c=r.name)==null?void 0:c.en)||r.name)=="object"?(d=((u=r.name)==null?void 0:u.en)||r.name)==null?void 0:d.en:((p=r.name)==null?void 0:p.en)||r.name)||s.user_name||"",user_id:t.id,user_feature_type:i,user_category:r.category||(i==="venue"?"venue":i==="building"?"building":r.category),user_ordinal:r.ordinal,user_outdoor:r.outdoor,user_restricted:!!(r.restriction&&r.restriction!==null)};r.restriction&&(a.user_restriction=r.restriction),r.display_point&&(a.user_display_point=r.display_point),r.short_name&&(a.user_short_name=typeof r.short_name=="object"?(h=r.short_name)==null?void 0:h.en:r.short_name),r.alt_name&&(a.user_alt_name=typeof r.alt_name=="object"?(g=r.alt_name)==null?void 0:g.en:r.alt_name),r.address_id&&(a.user_address_id=r.address_id),r.building_ids&&(a.user_building_ids=r.building_ids),r.level_id&&(a.user_level_id=r.level_id),r.accessibility&&(a.user_accessibility=r.accessibility),r.hours&&(a.user_hours=r.hours),r.phone&&(a.user_phone=r.phone),r.website&&(a.user_website=r.website),r.x!==void 0&&(a.user_x=r.x),r.y!==void 0&&(a.user_y=r.y);const l=s.height||s.user_height||0;return l>0&&(a.user_height=l),{id:t.id,type:"Feature",geometry:t.geometry,properties:a}})}}catch(t){throw new v(`Failed to convert from IMDF: ${t.message}`,C.UNKNOWN,"geometry",{originalError:t})}}}Pe(xe,"MAPPING",{venue:{feature_type:"venue",category:"venue"},building:{feature_type:"building",category:"building"},floor:{feature_type:"level",category:"room"},unit:{feature_type:"unit",category:"room"},opening:{feature_type:"opening",category:"door"},amenity:{feature_type:"amenity",category:"restroom"},anchor:{feature_type:"anchor",category:"anchor"},footprint:{feature_type:"footprint",category:"ground"},fixture:{feature_type:"fixture",category:"furniture"},section:{feature_type:"section",category:"concourse"},geofence:{feature_type:"geofence",category:"geofence"},kiosk:{feature_type:"kiosk",category:"information"},detail:{feature_type:"detail",category:"crosswalk"},occupant:{feature_type:"occupant",category:""},address:{feature_type:"address",category:""},relationship:{feature_type:"relationship",category:""},beacon:{feature_type:"anchor",category:"beacon"},poi:{feature_type:"anchor",category:"point-of-interest"},walkway:{feature_type:"pathway",category:"walkway"},obstacle:{feature_type:"unit",category:"restricted"}}),Pe(xe,"IMDF_CATEGORIES",{venue:["venue"],building:["building"],level:["arrivals","checkIn","concourse","departures","parking","room","unspecified"],unit:["auditorium","brick","classroom","column","conferenceroom","dressing room","elevator","escalator","field","floor","foodservice","footbridge","hallway","library","lobby","lounge","movingwalkway","nonpublic","office","opentobelow","parking","platform","privatelounge","ramp","recreation","restroom","restricted","road","room","serverroom","shower","smokingarea","stairs","storage","structure","terrace","theater","unspecified","walkway"],opening:["door","emergencyexit","gate","passage","stairs","turnstile"],amenity:["atm","babychanging","chargingstation","drinkingwater","firstaid","information","locker","mail","parking","phone","restroom","shower","smoking","telecom","ticket","vendingmachine","waste","wifi"],anchor:["anchor","beacon","point-of-interest"],footprint:["ground"],fixture:["bench","chair","counter","desk","furniture","seating","shelving","table"],section:["concourse","parking","terminal","zone"],geofence:["geofence","venue","property"],kiosk:["information","retail","food","ticketing"],detail:["crosswalk","obstruction","planter","railing"],pathway:["walkway"]}),Pe(xe,"REQUIRED_PROPERTIES",{venue:["category","name"],building:["category","name"],level:["category","ordinal","outdoor","name","short_name"],unit:["category","name"],opening:["category"],amenity:["category","name"],anchor:["name"],footprint:["category"],fixture:["category"],section:["category"],geofence:["category"],kiosk:["category"],detail:["category"]});function Jr(o,e){if(e===m.TrianglesDrawMode)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),o;if(e===m.TriangleFanDrawMode||e===m.TriangleStripDrawMode){let t=o.getIndex();if(t===null){const s=[],a=o.getAttribute("position");if(a!==void 0){for(let l=0;l<a.count;l++)s.push(l);o.setIndex(s),t=o.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),o}const r=t.count-2,i=[];if(e===m.TriangleFanDrawMode)for(let s=1;s<=r;s++)i.push(t.getX(0)),i.push(t.getX(s)),i.push(t.getX(s+1));else for(let s=0;s<r;s++)s%2===0?(i.push(t.getX(s)),i.push(t.getX(s+1)),i.push(t.getX(s+2))):(i.push(t.getX(s+2)),i.push(t.getX(s+1)),i.push(t.getX(s)));i.length/3!==r&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const n=o.clone();return n.setIndex(i),n.clearGroups(),n}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),o}class Mi extends m.Loader{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new Bi(t)}),this.register(function(t){return new Gi(t)}),this.register(function(t){return new Qi(t)}),this.register(function(t){return new Ui(t)}),this.register(function(t){return new Pi(t)}),this.register(function(t){return new Di(t)}),this.register(function(t){return new Ni(t)}),this.register(function(t){return new Fi(t)}),this.register(function(t){return new Si(t)}),this.register(function(t){return new Ti(t)}),this.register(function(t){return new Li(t)}),this.register(function(t){return new Ri(t)}),this.register(function(t){return new Oi(t)}),this.register(function(t){return new Ii(t)}),this.register(function(t){return new Yi(t)}),this.register(function(t){return new zi(t)})}load(e,t,r,i){const n=this;let s;if(this.resourcePath!=="")s=this.resourcePath;else if(this.path!==""){const c=m.LoaderUtils.extractUrlBase(e);s=m.LoaderUtils.resolveURL(c,this.path)}else s=m.LoaderUtils.extractUrlBase(e);this.manager.itemStart(e);const a=function(c){i?i(c):console.error(c),n.manager.itemError(e),n.manager.itemEnd(e)},l=new m.FileLoader(this.manager);l.setPath(this.path),l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(c){try{n.parse(c,s,function(u){t(u),n.manager.itemEnd(e)},a)}catch(u){a(u)}},r,a)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,r,i){let n;const s={},a={},l=new TextDecoder;if(typeof e=="string")n=JSON.parse(e);else if(e instanceof ArrayBuffer)if(l.decode(new Uint8Array(e,0,4))===Xr){try{s[L.KHR_BINARY_GLTF]=new Hi(e)}catch(d){i&&i(d);return}n=JSON.parse(s[L.KHR_BINARY_GLTF].content)}else n=JSON.parse(l.decode(e));else n=e;if(n.asset===void 0||n.asset.version[0]<2){i&&i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const c=new rn(n,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let u=0;u<this.pluginCallbacks.length;u++){const d=this.pluginCallbacks[u](c);d.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),a[d.name]=d,s[d.name]=!0}if(n.extensionsUsed)for(let u=0;u<n.extensionsUsed.length;++u){const d=n.extensionsUsed[u],p=n.extensionsRequired||[];switch(d){case L.KHR_MATERIALS_UNLIT:s[d]=new ki;break;case L.KHR_DRACO_MESH_COMPRESSION:s[d]=new ji(n,this.dracoLoader);break;case L.KHR_TEXTURE_TRANSFORM:s[d]=new Ki;break;case L.KHR_MESH_QUANTIZATION:s[d]=new Vi;break;default:p.indexOf(d)>=0&&a[d]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+d+'".')}}c.setExtensions(s),c.setPlugins(a),c.parse(r,i)}parseAsync(e,t){const r=this;return new Promise(function(i,n){r.parse(e,t,i,n)})}}function Ei(){let o={};return{get:function(e){return o[e]},add:function(e,t){o[e]=t},remove:function(e){delete o[e]},removeAll:function(){o={}}}}const L={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class Ii{constructor(e){this.parser=e,this.name=L.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let r=0,i=t.length;r<i;r++){const n=t[r];n.extensions&&n.extensions[this.name]&&n.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,n.extensions[this.name].light)}}_loadLight(e){const t=this.parser,r="light:"+e;let i=t.cache.get(r);if(i)return i;const n=t.json,l=((n.extensions&&n.extensions[this.name]||{}).lights||[])[e];let c;const u=new m.Color(16777215);l.color!==void 0&&u.setRGB(l.color[0],l.color[1],l.color[2],m.LinearSRGBColorSpace);const d=l.range!==void 0?l.range:0;switch(l.type){case"directional":c=new m.DirectionalLight(u),c.target.position.set(0,0,-1),c.add(c.target);break;case"point":c=new m.PointLight(u),c.distance=d;break;case"spot":c=new m.SpotLight(u),c.distance=d,l.spot=l.spot||{},l.spot.innerConeAngle=l.spot.innerConeAngle!==void 0?l.spot.innerConeAngle:0,l.spot.outerConeAngle=l.spot.outerConeAngle!==void 0?l.spot.outerConeAngle:Math.PI/4,c.angle=l.spot.outerConeAngle,c.penumbra=1-l.spot.innerConeAngle/l.spot.outerConeAngle,c.target.position.set(0,0,-1),c.add(c.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+l.type)}return c.position.set(0,0,0),c.decay=2,we(c,l),l.intensity!==void 0&&(c.intensity=l.intensity),c.name=t.createUniqueName(l.name||"light_"+e),i=Promise.resolve(c),t.cache.add(r,i),i}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,r=this.parser,n=r.json.nodes[e],a=(n.extensions&&n.extensions[this.name]||{}).light;return a===void 0?null:this._loadLight(a).then(function(l){return r._getNodeRef(t.cache,a,l)})}}class ki{constructor(){this.name=L.KHR_MATERIALS_UNLIT}getMaterialType(){return m.MeshBasicMaterial}extendParams(e,t,r){const i=[];e.color=new m.Color(1,1,1),e.opacity=1;const n=t.pbrMetallicRoughness;if(n){if(Array.isArray(n.baseColorFactor)){const s=n.baseColorFactor;e.color.setRGB(s[0],s[1],s[2],m.LinearSRGBColorSpace),e.opacity=s[3]}n.baseColorTexture!==void 0&&i.push(r.assignTexture(e,"map",n.baseColorTexture,m.SRGBColorSpace))}return Promise.all(i)}}class Si{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=i.extensions[this.name].emissiveStrength;return n!==void 0&&(t.emissiveIntensity=n),Promise.resolve()}}class Bi{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];if(s.clearcoatFactor!==void 0&&(t.clearcoat=s.clearcoatFactor),s.clearcoatTexture!==void 0&&n.push(r.assignTexture(t,"clearcoatMap",s.clearcoatTexture)),s.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=s.clearcoatRoughnessFactor),s.clearcoatRoughnessTexture!==void 0&&n.push(r.assignTexture(t,"clearcoatRoughnessMap",s.clearcoatRoughnessTexture)),s.clearcoatNormalTexture!==void 0&&(n.push(r.assignTexture(t,"clearcoatNormalMap",s.clearcoatNormalTexture)),s.clearcoatNormalTexture.scale!==void 0)){const a=s.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new m.Vector2(a,a)}return Promise.all(n)}}class Li{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return s.iridescenceFactor!==void 0&&(t.iridescence=s.iridescenceFactor),s.iridescenceTexture!==void 0&&n.push(r.assignTexture(t,"iridescenceMap",s.iridescenceTexture)),s.iridescenceIor!==void 0&&(t.iridescenceIOR=s.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),s.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=s.iridescenceThicknessMinimum),s.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=s.iridescenceThicknessMaximum),s.iridescenceThicknessTexture!==void 0&&n.push(r.assignTexture(t,"iridescenceThicknessMap",s.iridescenceThicknessTexture)),Promise.all(n)}}class Pi{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_SHEEN}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[];t.sheenColor=new m.Color(0,0,0),t.sheenRoughness=0,t.sheen=1;const s=i.extensions[this.name];if(s.sheenColorFactor!==void 0){const a=s.sheenColorFactor;t.sheenColor.setRGB(a[0],a[1],a[2],m.LinearSRGBColorSpace)}return s.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=s.sheenRoughnessFactor),s.sheenColorTexture!==void 0&&n.push(r.assignTexture(t,"sheenColorMap",s.sheenColorTexture,m.SRGBColorSpace)),s.sheenRoughnessTexture!==void 0&&n.push(r.assignTexture(t,"sheenRoughnessMap",s.sheenRoughnessTexture)),Promise.all(n)}}class Di{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return s.transmissionFactor!==void 0&&(t.transmission=s.transmissionFactor),s.transmissionTexture!==void 0&&n.push(r.assignTexture(t,"transmissionMap",s.transmissionTexture)),Promise.all(n)}}class Ni{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_VOLUME}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];t.thickness=s.thicknessFactor!==void 0?s.thicknessFactor:0,s.thicknessTexture!==void 0&&n.push(r.assignTexture(t,"thicknessMap",s.thicknessTexture)),t.attenuationDistance=s.attenuationDistance||1/0;const a=s.attenuationColor||[1,1,1];return t.attenuationColor=new m.Color().setRGB(a[0],a[1],a[2],m.LinearSRGBColorSpace),Promise.all(n)}}class Fi{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_IOR}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=i.extensions[this.name];return t.ior=n.ior!==void 0?n.ior:1.5,Promise.resolve()}}class Ti{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_SPECULAR}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];t.specularIntensity=s.specularFactor!==void 0?s.specularFactor:1,s.specularTexture!==void 0&&n.push(r.assignTexture(t,"specularIntensityMap",s.specularTexture));const a=s.specularColorFactor||[1,1,1];return t.specularColor=new m.Color().setRGB(a[0],a[1],a[2],m.LinearSRGBColorSpace),s.specularColorTexture!==void 0&&n.push(r.assignTexture(t,"specularColorMap",s.specularColorTexture,m.SRGBColorSpace)),Promise.all(n)}}class Oi{constructor(e){this.parser=e,this.name=L.EXT_MATERIALS_BUMP}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return t.bumpScale=s.bumpFactor!==void 0?s.bumpFactor:1,s.bumpTexture!==void 0&&n.push(r.assignTexture(t,"bumpMap",s.bumpTexture)),Promise.all(n)}}class Ri{constructor(e){this.parser=e,this.name=L.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const r=this.parser.json.materials[e];return!r.extensions||!r.extensions[this.name]?null:m.MeshPhysicalMaterial}extendMaterialParams(e,t){const r=this.parser,i=r.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const n=[],s=i.extensions[this.name];return s.anisotropyStrength!==void 0&&(t.anisotropy=s.anisotropyStrength),s.anisotropyRotation!==void 0&&(t.anisotropyRotation=s.anisotropyRotation),s.anisotropyTexture!==void 0&&n.push(r.assignTexture(t,"anisotropyMap",s.anisotropyTexture)),Promise.all(n)}}class Gi{constructor(e){this.parser=e,this.name=L.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,r=t.json,i=r.textures[e];if(!i.extensions||!i.extensions[this.name])return null;const n=i.extensions[this.name],s=t.options.ktx2Loader;if(!s){if(r.extensionsRequired&&r.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,n.source,s)}}class Qi{constructor(e){this.parser=e,this.name=L.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,r=this.parser,i=r.json,n=i.textures[e];if(!n.extensions||!n.extensions[t])return null;const s=n.extensions[t],a=i.images[s.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,s.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class Ui{constructor(e){this.parser=e,this.name=L.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,r=this.parser,i=r.json,n=i.textures[e];if(!n.extensions||!n.extensions[t])return null;const s=n.extensions[t],a=i.images[s.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,s.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class Yi{constructor(e){this.name=L.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,r=t.bufferViews[e];if(r.extensions&&r.extensions[this.name]){const i=r.extensions[this.name],n=this.parser.getDependency("buffer",i.buffer),s=this.parser.options.meshoptDecoder;if(!s||!s.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return n.then(function(a){const l=i.byteOffset||0,c=i.byteLength||0,u=i.count,d=i.byteStride,p=new Uint8Array(a,l,c);return s.decodeGltfBufferAsync?s.decodeGltfBufferAsync(u,d,p,i.mode,i.filter).then(function(h){return h.buffer}):s.ready.then(function(){const h=new ArrayBuffer(u*d);return s.decodeGltfBuffer(new Uint8Array(h),u,d,p,i.mode,i.filter),h})})}else return null}}class zi{constructor(e){this.name=L.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,r=t.nodes[e];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const i=t.meshes[r.mesh];for(const c of i.primitives)if(c.mode!==ie.TRIANGLES&&c.mode!==ie.TRIANGLE_STRIP&&c.mode!==ie.TRIANGLE_FAN&&c.mode!==void 0)return null;const s=r.extensions[this.name].attributes,a=[],l={};for(const c in s)a.push(this.parser.getDependency("accessor",s[c]).then(u=>(l[c]=u,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const u=c.pop(),d=u.isGroup?u.children:[u],p=c[0].count,h=[];for(const g of d){const f=new m.Matrix4,y=new m.Vector3,A=new m.Quaternion,b=new m.Vector3(1,1,1),w=new m.InstancedMesh(g.geometry,g.material,p);for(let M=0;M<p;M++)l.TRANSLATION&&y.fromBufferAttribute(l.TRANSLATION,M),l.ROTATION&&A.fromBufferAttribute(l.ROTATION,M),l.SCALE&&b.fromBufferAttribute(l.SCALE,M),w.setMatrixAt(M,f.compose(y,A,b));for(const M in l)if(M==="_COLOR_0"){const E=l[M];w.instanceColor=new m.InstancedBufferAttribute(E.array,E.itemSize,E.normalized)}else M!=="TRANSLATION"&&M!=="ROTATION"&&M!=="SCALE"&&g.geometry.setAttribute(M,l[M]);m.Object3D.prototype.copy.call(w,g),this.parser.assignFinalMaterial(w),h.push(w)}return u.isGroup?(u.clear(),u.add(...h),u):h[0]}))}}const Xr="glTF",Re=12,Zr={JSON:1313821514,BIN:5130562};class Hi{constructor(e){this.name=L.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,Re),r=new TextDecoder;if(this.header={magic:r.decode(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==Xr)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const i=this.header.length-Re,n=new DataView(e,Re);let s=0;for(;s<i;){const a=n.getUint32(s,!0);s+=4;const l=n.getUint32(s,!0);if(s+=4,l===Zr.JSON){const c=new Uint8Array(e,Re+s,a);this.content=r.decode(c)}else if(l===Zr.BIN){const c=Re+s;this.body=e.slice(c,c+a)}s+=a}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class ji{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=L.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const r=this.json,i=this.dracoLoader,n=e.extensions[this.name].bufferView,s=e.extensions[this.name].attributes,a={},l={},c={};for(const u in s){const d=St[u]||u.toLowerCase();a[d]=s[u]}for(const u in e.attributes){const d=St[u]||u.toLowerCase();if(s[u]!==void 0){const p=r.accessors[e.attributes[u]],h=Se[p.componentType];c[d]=h.name,l[d]=p.normalized===!0}}return t.getDependency("bufferView",n).then(function(u){return new Promise(function(d,p){i.decodeDracoFile(u,function(h){for(const g in h.attributes){const f=h.attributes[g],y=l[g];y!==void 0&&(f.normalized=y)}d(h)},a,c,m.LinearSRGBColorSpace,p)})})}}class Ki{constructor(){this.name=L.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}class Vi{constructor(){this.name=L.KHR_MESH_QUANTIZATION}}class _r extends m.Interpolant{constructor(e,t,r,i){super(e,t,r,i)}copySampleValue_(e){const t=this.resultBuffer,r=this.sampleValues,i=this.valueSize,n=e*i*3+i;for(let s=0;s!==i;s++)t[s]=r[n+s];return t}interpolate_(e,t,r,i){const n=this.resultBuffer,s=this.sampleValues,a=this.valueSize,l=a*2,c=a*3,u=i-t,d=(r-t)/u,p=d*d,h=p*d,g=e*c,f=g-c,y=-2*h+3*p,A=h-p,b=1-y,w=A-p+d;for(let M=0;M!==a;M++){const E=s[f+M+a],P=s[f+M+l]*u,k=s[g+M+a],G=s[g+M]*u;n[M]=b*E+w*P+y*k+A*G}return n}}const qi=new m.Quaternion;class Wi extends _r{interpolate_(e,t,r,i){const n=super.interpolate_(e,t,r,i);return qi.fromArray(n).normalize().toArray(n),n}}const ie={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},Se={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},$r={9728:m.NearestFilter,9729:m.LinearFilter,9984:m.NearestMipmapNearestFilter,9985:m.LinearMipmapNearestFilter,9986:m.NearestMipmapLinearFilter,9987:m.LinearMipmapLinearFilter},eo={33071:m.ClampToEdgeWrapping,33648:m.MirroredRepeatWrapping,10497:m.RepeatWrapping},kt={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},St={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3",COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},be={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},Ji={CUBICSPLINE:void 0,LINEAR:m.InterpolateLinear,STEP:m.InterpolateDiscrete},Bt={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function Xi(o){return o.DefaultMaterial===void 0&&(o.DefaultMaterial=new m.MeshStandardMaterial({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:m.FrontSide})),o.DefaultMaterial}function Me(o,e,t){for(const r in t.extensions)o[r]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[r]=t.extensions[r])}function we(o,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(o.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function Zi(o,e,t){let r=!1,i=!1,n=!1;for(let c=0,u=e.length;c<u;c++){const d=e[c];if(d.POSITION!==void 0&&(r=!0),d.NORMAL!==void 0&&(i=!0),d.COLOR_0!==void 0&&(n=!0),r&&i&&n)break}if(!r&&!i&&!n)return Promise.resolve(o);const s=[],a=[],l=[];for(let c=0,u=e.length;c<u;c++){const d=e[c];if(r){const p=d.POSITION!==void 0?t.getDependency("accessor",d.POSITION):o.attributes.position;s.push(p)}if(i){const p=d.NORMAL!==void 0?t.getDependency("accessor",d.NORMAL):o.attributes.normal;a.push(p)}if(n){const p=d.COLOR_0!==void 0?t.getDependency("accessor",d.COLOR_0):o.attributes.color;l.push(p)}}return Promise.all([Promise.all(s),Promise.all(a),Promise.all(l)]).then(function(c){const u=c[0],d=c[1],p=c[2];return r&&(o.morphAttributes.position=u),i&&(o.morphAttributes.normal=d),n&&(o.morphAttributes.color=p),o.morphTargetsRelative=!0,o})}function _i(o,e){if(o.updateMorphTargets(),e.weights!==void 0)for(let t=0,r=e.weights.length;t<r;t++)o.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(o.morphTargetInfluences.length===t.length){o.morphTargetDictionary={};for(let r=0,i=t.length;r<i;r++)o.morphTargetDictionary[t[r]]=r}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function $i(o){let e;const t=o.extensions&&o.extensions[L.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+Lt(t.attributes):e=o.indices+":"+Lt(o.attributes)+":"+o.mode,o.targets!==void 0)for(let r=0,i=o.targets.length;r<i;r++)e+=":"+Lt(o.targets[r]);return e}function Lt(o){let e="";const t=Object.keys(o).sort();for(let r=0,i=t.length;r<i;r++)e+=t[r]+":"+o[t[r]]+";";return e}function Pt(o){switch(o){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function en(o){return o.search(/\.jpe?g($|\?)/i)>0||o.search(/^data\:image\/jpeg/)===0?"image/jpeg":o.search(/\.webp($|\?)/i)>0||o.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const tn=new m.Matrix4;class rn{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new Ei,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,i=!1,n=-1;typeof navigator<"u"&&(r=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,n=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||r||i&&n<98?this.textureLoader=new m.TextureLoader(this.options.manager):this.textureLoader=new m.ImageBitmapLoader(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new m.FileLoader(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const r=this,i=this.json,n=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(s){return s._markDefs&&s._markDefs()}),Promise.all(this._invokeAll(function(s){return s.beforeRoot&&s.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(s){const a={scene:s[0][i.scene||0],scenes:s[0],animations:s[1],cameras:s[2],asset:i.asset,parser:r,userData:{}};return Me(n,a,i),we(a,i),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){e(a)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],r=this.json.meshes||[];for(let i=0,n=t.length;i<n;i++){const s=t[i].joints;for(let a=0,l=s.length;a<l;a++)e[s[a]].isBone=!0}for(let i=0,n=e.length;i<n;i++){const s=e[i];s.mesh!==void 0&&(this._addNodeRef(this.meshCache,s.mesh),s.skin!==void 0&&(r[s.mesh].isSkinnedMesh=!0)),s.camera!==void 0&&this._addNodeRef(this.cameraCache,s.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,r){if(e.refs[t]<=1)return r;const i=r.clone(),n=(s,a)=>{const l=this.associations.get(s);l!=null&&this.associations.set(a,l);for(const[c,u]of s.children.entries())n(u,a.children[c])};return n(r,i),i.name+="_instance_"+e.uses[t]++,i}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let r=0;r<t.length;r++){const i=e(t[r]);if(i)return i}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const r=[];for(let i=0;i<t.length;i++){const n=e(t[i]);n&&r.push(n)}return r}getDependency(e,t){const r=e+":"+t;let i=this.cache.get(r);if(!i){switch(e){case"scene":i=this.loadScene(t);break;case"node":i=this._invokeOne(function(n){return n.loadNode&&n.loadNode(t)});break;case"mesh":i=this._invokeOne(function(n){return n.loadMesh&&n.loadMesh(t)});break;case"accessor":i=this.loadAccessor(t);break;case"bufferView":i=this._invokeOne(function(n){return n.loadBufferView&&n.loadBufferView(t)});break;case"buffer":i=this.loadBuffer(t);break;case"material":i=this._invokeOne(function(n){return n.loadMaterial&&n.loadMaterial(t)});break;case"texture":i=this._invokeOne(function(n){return n.loadTexture&&n.loadTexture(t)});break;case"skin":i=this.loadSkin(t);break;case"animation":i=this._invokeOne(function(n){return n.loadAnimation&&n.loadAnimation(t)});break;case"camera":i=this.loadCamera(t);break;default:if(i=this._invokeOne(function(n){return n!=this&&n.getDependency&&n.getDependency(e,t)}),!i)throw new Error("Unknown type: "+e);break}this.cache.add(r,i)}return i}getDependencies(e){let t=this.cache.get(e);if(!t){const r=this,i=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(i.map(function(n,s){return r.getDependency(e,s)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],r=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[L.KHR_BINARY_GLTF].body);const i=this.options;return new Promise(function(n,s){r.load(m.LoaderUtils.resolveURL(t.uri,i.path),n,void 0,function(){s(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(r){const i=t.byteLength||0,n=t.byteOffset||0;return r.slice(n,n+i)})}loadAccessor(e){const t=this,r=this.json,i=this.json.accessors[e];if(i.bufferView===void 0&&i.sparse===void 0){const s=kt[i.type],a=Se[i.componentType],l=i.normalized===!0,c=new a(i.count*s);return Promise.resolve(new m.BufferAttribute(c,s,l))}const n=[];return i.bufferView!==void 0?n.push(this.getDependency("bufferView",i.bufferView)):n.push(null),i.sparse!==void 0&&(n.push(this.getDependency("bufferView",i.sparse.indices.bufferView)),n.push(this.getDependency("bufferView",i.sparse.values.bufferView))),Promise.all(n).then(function(s){const a=s[0],l=kt[i.type],c=Se[i.componentType],u=c.BYTES_PER_ELEMENT,d=u*l,p=i.byteOffset||0,h=i.bufferView!==void 0?r.bufferViews[i.bufferView].byteStride:void 0,g=i.normalized===!0;let f,y;if(h&&h!==d){const A=Math.floor(p/h),b="InterleavedBuffer:"+i.bufferView+":"+i.componentType+":"+A+":"+i.count;let w=t.cache.get(b);w||(f=new c(a,A*h,i.count*h/u),w=new m.InterleavedBuffer(f,h/u),t.cache.add(b,w)),y=new m.InterleavedBufferAttribute(w,l,p%h/u,g)}else a===null?f=new c(i.count*l):f=new c(a,p,i.count*l),y=new m.BufferAttribute(f,l,g);if(i.sparse!==void 0){const A=kt.SCALAR,b=Se[i.sparse.indices.componentType],w=i.sparse.indices.byteOffset||0,M=i.sparse.values.byteOffset||0,E=new b(s[1],w,i.sparse.count*A),P=new c(s[2],M,i.sparse.count*l);a!==null&&(y=new m.BufferAttribute(y.array.slice(),y.itemSize,y.normalized));for(let k=0,G=E.length;k<G;k++){const U=E[k];if(y.setX(U,P[k*l]),l>=2&&y.setY(U,P[k*l+1]),l>=3&&y.setZ(U,P[k*l+2]),l>=4&&y.setW(U,P[k*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return y})}loadTexture(e){const t=this.json,r=this.options,n=t.textures[e].source,s=t.images[n];let a=this.textureLoader;if(s.uri){const l=r.manager.getHandler(s.uri);l!==null&&(a=l)}return this.loadTextureImage(e,n,a)}loadTextureImage(e,t,r){const i=this,n=this.json,s=n.textures[e],a=n.images[t],l=(a.uri||a.bufferView)+":"+s.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(t,r).then(function(u){u.flipY=!1,u.name=s.name||a.name||"",u.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(u.name=a.uri);const p=(n.samplers||{})[s.sampler]||{};return u.magFilter=$r[p.magFilter]||m.LinearFilter,u.minFilter=$r[p.minFilter]||m.LinearMipmapLinearFilter,u.wrapS=eo[p.wrapS]||m.RepeatWrapping,u.wrapT=eo[p.wrapT]||m.RepeatWrapping,i.associations.set(u,{textures:e}),u}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,t){const r=this,i=this.json,n=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(d=>d.clone());const s=i.images[e],a=self.URL||self.webkitURL;let l=s.uri||"",c=!1;if(s.bufferView!==void 0)l=r.getDependency("bufferView",s.bufferView).then(function(d){c=!0;const p=new Blob([d],{type:s.mimeType});return l=a.createObjectURL(p),l});else if(s.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const u=Promise.resolve(l).then(function(d){return new Promise(function(p,h){let g=p;t.isImageBitmapLoader===!0&&(g=function(f){const y=new m.Texture(f);y.needsUpdate=!0,p(y)}),t.load(m.LoaderUtils.resolveURL(d,n.path),g,void 0,h)})}).then(function(d){return c===!0&&a.revokeObjectURL(l),d.userData.mimeType=s.mimeType||en(s.uri),d}).catch(function(d){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),d});return this.sourceCache[e]=u,u}assignTexture(e,t,r,i){const n=this;return this.getDependency("texture",r.index).then(function(s){if(!s)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(s=s.clone(),s.channel=r.texCoord),n.extensions[L.KHR_TEXTURE_TRANSFORM]){const a=r.extensions!==void 0?r.extensions[L.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=n.associations.get(s);s=n.extensions[L.KHR_TEXTURE_TRANSFORM].extendTexture(s,a),n.associations.set(s,l)}}return i!==void 0&&(s.colorSpace=i),e[t]=s,s})}assignFinalMaterial(e){const t=e.geometry;let r=e.material;const i=t.attributes.tangent===void 0,n=t.attributes.color!==void 0,s=t.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new m.PointsMaterial,m.Material.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(a,l)),r=l}else if(e.isLine){const a="LineBasicMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new m.LineBasicMaterial,m.Material.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(a,l)),r=l}if(i||n||s){let a="ClonedMaterial:"+r.uuid+":";i&&(a+="derivative-tangents:"),n&&(a+="vertex-colors:"),s&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=r.clone(),n&&(l.vertexColors=!0),s&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(r))),r=l}e.material=r}getMaterialType(){return m.MeshStandardMaterial}loadMaterial(e){const t=this,r=this.json,i=this.extensions,n=r.materials[e];let s;const a={},l=n.extensions||{},c=[];if(l[L.KHR_MATERIALS_UNLIT]){const d=i[L.KHR_MATERIALS_UNLIT];s=d.getMaterialType(),c.push(d.extendParams(a,n,t))}else{const d=n.pbrMetallicRoughness||{};if(a.color=new m.Color(1,1,1),a.opacity=1,Array.isArray(d.baseColorFactor)){const p=d.baseColorFactor;a.color.setRGB(p[0],p[1],p[2],m.LinearSRGBColorSpace),a.opacity=p[3]}d.baseColorTexture!==void 0&&c.push(t.assignTexture(a,"map",d.baseColorTexture,m.SRGBColorSpace)),a.metalness=d.metallicFactor!==void 0?d.metallicFactor:1,a.roughness=d.roughnessFactor!==void 0?d.roughnessFactor:1,d.metallicRoughnessTexture!==void 0&&(c.push(t.assignTexture(a,"metalnessMap",d.metallicRoughnessTexture)),c.push(t.assignTexture(a,"roughnessMap",d.metallicRoughnessTexture))),s=this._invokeOne(function(p){return p.getMaterialType&&p.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(p){return p.extendMaterialParams&&p.extendMaterialParams(e,a)})))}n.doubleSided===!0&&(a.side=m.DoubleSide);const u=n.alphaMode||Bt.OPAQUE;if(u===Bt.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,u===Bt.MASK&&(a.alphaTest=n.alphaCutoff!==void 0?n.alphaCutoff:.5)),n.normalTexture!==void 0&&s!==m.MeshBasicMaterial&&(c.push(t.assignTexture(a,"normalMap",n.normalTexture)),a.normalScale=new m.Vector2(1,1),n.normalTexture.scale!==void 0)){const d=n.normalTexture.scale;a.normalScale.set(d,d)}if(n.occlusionTexture!==void 0&&s!==m.MeshBasicMaterial&&(c.push(t.assignTexture(a,"aoMap",n.occlusionTexture)),n.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=n.occlusionTexture.strength)),n.emissiveFactor!==void 0&&s!==m.MeshBasicMaterial){const d=n.emissiveFactor;a.emissive=new m.Color().setRGB(d[0],d[1],d[2],m.LinearSRGBColorSpace)}return n.emissiveTexture!==void 0&&s!==m.MeshBasicMaterial&&c.push(t.assignTexture(a,"emissiveMap",n.emissiveTexture,m.SRGBColorSpace)),Promise.all(c).then(function(){const d=new s(a);return n.name&&(d.name=n.name),we(d,n),t.associations.set(d,{materials:e}),n.extensions&&Me(i,d,n),d})}createUniqueName(e){const t=m.PropertyBinding.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,r=this.extensions,i=this.primitiveCache;function n(a){return r[L.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,t).then(function(l){return to(l,a,t)})}const s=[];for(let a=0,l=e.length;a<l;a++){const c=e[a],u=$i(c),d=i[u];if(d)s.push(d.promise);else{let p;c.extensions&&c.extensions[L.KHR_DRACO_MESH_COMPRESSION]?p=n(c):p=to(new m.BufferGeometry,c,t),i[u]={primitive:c,promise:p},s.push(p)}}return Promise.all(s)}loadMesh(e){const t=this,r=this.json,i=this.extensions,n=r.meshes[e],s=n.primitives,a=[];for(let l=0,c=s.length;l<c;l++){const u=s[l].material===void 0?Xi(this.cache):this.getDependency("material",s[l].material);a.push(u)}return a.push(t.loadGeometries(s)),Promise.all(a).then(function(l){const c=l.slice(0,l.length-1),u=l[l.length-1],d=[];for(let h=0,g=u.length;h<g;h++){const f=u[h],y=s[h];let A;const b=c[h];if(y.mode===ie.TRIANGLES||y.mode===ie.TRIANGLE_STRIP||y.mode===ie.TRIANGLE_FAN||y.mode===void 0)A=n.isSkinnedMesh===!0?new m.SkinnedMesh(f,b):new m.Mesh(f,b),A.isSkinnedMesh===!0&&A.normalizeSkinWeights(),y.mode===ie.TRIANGLE_STRIP?A.geometry=Jr(A.geometry,m.TriangleStripDrawMode):y.mode===ie.TRIANGLE_FAN&&(A.geometry=Jr(A.geometry,m.TriangleFanDrawMode));else if(y.mode===ie.LINES)A=new m.LineSegments(f,b);else if(y.mode===ie.LINE_STRIP)A=new m.Line(f,b);else if(y.mode===ie.LINE_LOOP)A=new m.LineLoop(f,b);else if(y.mode===ie.POINTS)A=new m.Points(f,b);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+y.mode);Object.keys(A.geometry.morphAttributes).length>0&&_i(A,n),A.name=t.createUniqueName(n.name||"mesh_"+e),we(A,n),y.extensions&&Me(i,A,y),t.assignFinalMaterial(A),d.push(A)}for(let h=0,g=d.length;h<g;h++)t.associations.set(d[h],{meshes:e,primitives:h});if(d.length===1)return n.extensions&&Me(i,d[0],n),d[0];const p=new m.Group;n.extensions&&Me(i,p,n),t.associations.set(p,{meshes:e});for(let h=0,g=d.length;h<g;h++)p.add(d[h]);return p})}loadCamera(e){let t;const r=this.json.cameras[e],i=r[r.type];if(!i){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return r.type==="perspective"?t=new m.PerspectiveCamera(m.MathUtils.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):r.type==="orthographic"&&(t=new m.OrthographicCamera(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),r.name&&(t.name=this.createUniqueName(r.name)),we(t,r),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],r=[];for(let i=0,n=t.joints.length;i<n;i++)r.push(this._loadNodeShallow(t.joints[i]));return t.inverseBindMatrices!==void 0?r.push(this.getDependency("accessor",t.inverseBindMatrices)):r.push(null),Promise.all(r).then(function(i){const n=i.pop(),s=i,a=[],l=[];for(let c=0,u=s.length;c<u;c++){const d=s[c];if(d){a.push(d);const p=new m.Matrix4;n!==null&&p.fromArray(n.array,c*16),l.push(p)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[c])}return new m.Skeleton(a,l)})}loadAnimation(e){const t=this.json,r=this,i=t.animations[e],n=i.name?i.name:"animation_"+e,s=[],a=[],l=[],c=[],u=[];for(let d=0,p=i.channels.length;d<p;d++){const h=i.channels[d],g=i.samplers[h.sampler],f=h.target,y=f.node,A=i.parameters!==void 0?i.parameters[g.input]:g.input,b=i.parameters!==void 0?i.parameters[g.output]:g.output;f.node!==void 0&&(s.push(this.getDependency("node",y)),a.push(this.getDependency("accessor",A)),l.push(this.getDependency("accessor",b)),c.push(g),u.push(f))}return Promise.all([Promise.all(s),Promise.all(a),Promise.all(l),Promise.all(c),Promise.all(u)]).then(function(d){const p=d[0],h=d[1],g=d[2],f=d[3],y=d[4],A=[];for(let b=0,w=p.length;b<w;b++){const M=p[b],E=h[b],P=g[b],k=f[b],G=y[b];if(M===void 0)continue;M.updateMatrix&&M.updateMatrix();const U=r._createAnimationTracks(M,E,P,k,G);if(U)for(let ee=0;ee<U.length;ee++)A.push(U[ee])}return new m.AnimationClip(n,void 0,A)})}createNodeMesh(e){const t=this.json,r=this,i=t.nodes[e];return i.mesh===void 0?null:r.getDependency("mesh",i.mesh).then(function(n){const s=r._getNodeRef(r.meshCache,i.mesh,n);return i.weights!==void 0&&s.traverse(function(a){if(a.isMesh)for(let l=0,c=i.weights.length;l<c;l++)a.morphTargetInfluences[l]=i.weights[l]}),s})}loadNode(e){const t=this.json,r=this,i=t.nodes[e],n=r._loadNodeShallow(e),s=[],a=i.children||[];for(let c=0,u=a.length;c<u;c++)s.push(r.getDependency("node",a[c]));const l=i.skin===void 0?Promise.resolve(null):r.getDependency("skin",i.skin);return Promise.all([n,Promise.all(s),l]).then(function(c){const u=c[0],d=c[1],p=c[2];p!==null&&u.traverse(function(h){h.isSkinnedMesh&&h.bind(p,tn)});for(let h=0,g=d.length;h<g;h++)u.add(d[h]);return u})}_loadNodeShallow(e){const t=this.json,r=this.extensions,i=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const n=t.nodes[e],s=n.name?i.createUniqueName(n.name):"",a=[],l=i._invokeOne(function(c){return c.createNodeMesh&&c.createNodeMesh(e)});return l&&a.push(l),n.camera!==void 0&&a.push(i.getDependency("camera",n.camera).then(function(c){return i._getNodeRef(i.cameraCache,n.camera,c)})),i._invokeAll(function(c){return c.createNodeAttachment&&c.createNodeAttachment(e)}).forEach(function(c){a.push(c)}),this.nodeCache[e]=Promise.all(a).then(function(c){let u;if(n.isBone===!0?u=new m.Bone:c.length>1?u=new m.Group:c.length===1?u=c[0]:u=new m.Object3D,u!==c[0])for(let d=0,p=c.length;d<p;d++)u.add(c[d]);if(n.name&&(u.userData.name=n.name,u.name=s),we(u,n),n.extensions&&Me(r,u,n),n.matrix!==void 0){const d=new m.Matrix4;d.fromArray(n.matrix),u.applyMatrix4(d)}else n.translation!==void 0&&u.position.fromArray(n.translation),n.rotation!==void 0&&u.quaternion.fromArray(n.rotation),n.scale!==void 0&&u.scale.fromArray(n.scale);return i.associations.has(u)||i.associations.set(u,{}),i.associations.get(u).nodes=e,u}),this.nodeCache[e]}loadScene(e){const t=this.extensions,r=this.json.scenes[e],i=this,n=new m.Group;r.name&&(n.name=i.createUniqueName(r.name)),we(n,r),r.extensions&&Me(t,n,r);const s=r.nodes||[],a=[];for(let l=0,c=s.length;l<c;l++)a.push(i.getDependency("node",s[l]));return Promise.all(a).then(function(l){for(let u=0,d=l.length;u<d;u++)n.add(l[u]);const c=u=>{const d=new Map;for(const[p,h]of i.associations)(p instanceof m.Material||p instanceof m.Texture)&&d.set(p,h);return u.traverse(p=>{const h=i.associations.get(p);h!=null&&d.set(p,h)}),d};return i.associations=c(n),n})}_createAnimationTracks(e,t,r,i,n){const s=[],a=e.name?e.name:e.uuid,l=[];be[n.path]===be.weights?e.traverse(function(p){p.morphTargetInfluences&&l.push(p.name?p.name:p.uuid)}):l.push(a);let c;switch(be[n.path]){case be.weights:c=m.NumberKeyframeTrack;break;case be.rotation:c=m.QuaternionKeyframeTrack;break;case be.position:case be.scale:c=m.VectorKeyframeTrack;break;default:switch(r.itemSize){case 1:c=m.NumberKeyframeTrack;break;case 2:case 3:default:c=m.VectorKeyframeTrack;break}break}const u=i.interpolation!==void 0?Ji[i.interpolation]:m.InterpolateLinear,d=this._getArrayFromAccessor(r);for(let p=0,h=l.length;p<h;p++){const g=new c(l[p]+"."+be[n.path],t.array,d,u);i.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(g),s.push(g)}return s}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const r=Pt(t.constructor),i=new Float32Array(t.length);for(let n=0,s=t.length;n<s;n++)i[n]=t[n]*r;t=i}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(r){const i=this instanceof m.QuaternionKeyframeTrack?Wi:_r;return new i(this.times,this.values,this.getValueSize()/3,r)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function on(o,e,t){const r=e.attributes,i=new m.Box3;if(r.POSITION!==void 0){const a=t.json.accessors[r.POSITION],l=a.min,c=a.max;if(l!==void 0&&c!==void 0){if(i.set(new m.Vector3(l[0],l[1],l[2]),new m.Vector3(c[0],c[1],c[2])),a.normalized){const u=Pt(Se[a.componentType]);i.min.multiplyScalar(u),i.max.multiplyScalar(u)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const n=e.targets;if(n!==void 0){const a=new m.Vector3,l=new m.Vector3;for(let c=0,u=n.length;c<u;c++){const d=n[c];if(d.POSITION!==void 0){const p=t.json.accessors[d.POSITION],h=p.min,g=p.max;if(h!==void 0&&g!==void 0){if(l.setX(Math.max(Math.abs(h[0]),Math.abs(g[0]))),l.setY(Math.max(Math.abs(h[1]),Math.abs(g[1]))),l.setZ(Math.max(Math.abs(h[2]),Math.abs(g[2]))),p.normalized){const f=Pt(Se[p.componentType]);l.multiplyScalar(f)}a.max(l)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}i.expandByVector(a)}o.boundingBox=i;const s=new m.Sphere;i.getCenter(s.center),s.radius=i.min.distanceTo(i.max)/2,o.boundingSphere=s}function to(o,e,t){const r=e.attributes,i=[];function n(s,a){return t.getDependency("accessor",s).then(function(l){o.setAttribute(a,l)})}for(const s in r){const a=St[s]||s.toLowerCase();a in o.attributes||i.push(n(r[s],a))}if(e.indices!==void 0&&!o.index){const s=t.getDependency("accessor",e.indices).then(function(a){o.setIndex(a)});i.push(s)}return m.ColorManagement.workingColorSpace!==m.LinearSRGBColorSpace&&"COLOR_0"in r&&console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${m.ColorManagement.workingColorSpace}" not supported.`),we(o,e),on(o,e,t),Promise.all(i).then(function(){return e.targets!==void 0?Zi(o,e.targets,t):o})}class ro{constructor(e="three-glb-layer"){this.id=e,this.type="custom",this.renderingMode="3d",this.map=null,this.renderer=null,this.scene=new Y.Scene,this.camera=new Y.Camera,Y.Cache.enabled=!0,this.loader=new Mi,this.anchorLngLat=null,this.anchorMercator=null,this.anchorMeterScale=1,this.models=new Map,this.onModelLoaded=null}onAdd(e,t){this.map=e,this.renderer=new Y.WebGLRenderer({canvas:e.getCanvas(),context:t,antialias:!0}),this.renderer.autoClear=!1,this.renderer.outputColorSpace=Y.SRGBColorSpace,this.renderer.toneMapping=Y.ACESFilmicToneMapping,this.renderer.toneMappingExposure=1.5;const r=new Y.AmbientLight(16777215,2);this.scene.add(r);const i=new Y.DirectionalLight(16777215,1.5);i.position.set(1,2,3).normalize(),this.scene.add(i);const n=new Y.DirectionalLight(16777215,1.5);n.position.set(-1,-1,2).normalize(),this.scene.add(n);const s=new Y.DirectionalLight(16777215,.5);s.position.set(0,-1,1).normalize(),this.scene.add(s)}render(e,t){var l;if(!this.renderer||!this.map||!this.anchorMercator)return;const r=this.anchorMeterScale,i=this.anchorMercator,n=new Y.Matrix4().fromArray([r,0,0,0,0,0,r,0,0,-r,0,0,i.x,i.y,i.z,1]);let s;if(t instanceof Float64Array||t instanceof Float32Array||Array.isArray(t))s=t;else if((l=t==null?void 0:t.defaultProjectionData)!=null&&l.mainMatrix)s=t.defaultProjectionData.mainMatrix;else return;const a=new Y.Matrix4().fromArray(s);this.camera.projectionMatrix=a.multiply(n),this.renderer.resetState(),this.renderer.render(this.scene,this.camera),this.models.size>0&&this.map.triggerRepaint()}onRemove(){var e;this.models.forEach(t=>{this.scene.remove(t.group),t.group.traverse(r=>{r.geometry&&r.geometry.dispose(),r.material&&(Array.isArray(r.material)?r.material.forEach(i=>i.dispose()):r.material.dispose())})}),this.models.clear(),(e=this.renderer)==null||e.dispose(),this.renderer=null,this.map=null}ensureAnchor(e){if(this.anchorMercator)return;const t=D.MercatorCoordinate.fromLngLat(e,0);this.anchorMercator={x:t.x,y:t.y,z:t.z||0},this.anchorMeterScale=t.meterInMercatorCoordinateUnits(),this.anchorLngLat=e}resetAnchor(){this.anchorMercator=null,this.anchorMeterScale=1,this.anchorLngLat=null}lngLatToLocal(e){if(!this.anchorMercator)return[0,0];const t=D.MercatorCoordinate.fromLngLat(e,0),r=(t.x-this.anchorMercator.x)/this.anchorMeterScale,i=-(t.y-this.anchorMercator.y)/this.anchorMeterScale;return[r,i]}addModel(e,t,r=1,i="model",n=0){return this.ensureAnchor(t),new Promise((s,a)=>{this.loader.load(e,l=>{var A,b;const c=l.scene,u=`glb-${Date.now()}-${Math.random().toString(36).slice(2,7)}`;c.traverse(w=>{if(!w.isMesh||!w.material)return;const M=E=>{if(!E.isMeshStandardMaterial)return E.side=Y.DoubleSide,E;const P=new Y.MeshLambertMaterial({color:E.color,map:E.map,opacity:E.opacity,transparent:E.transparent,side:Y.DoubleSide,alphaMap:E.alphaMap,emissive:E.emissive,emissiveMap:E.emissiveMap,emissiveIntensity:E.emissiveIntensity});return E.dispose(),P};Array.isArray(w.material)?w.material=w.material.map(M):w.material=M(w.material)});const d=new Y.Box3().setFromObject(c),p=d.getCenter(new Y.Vector3);c.position.set(-p.x,-d.min.y,-p.z);const h=new Y.Group;h.add(c);const[g,f]=this.lngLatToLocal(t);h.position.set(g,n,f),h.scale.setScalar(r),this.scene.add(h);const y={id:u,name:i,group:h,lngLat:t,scale:r,elevation:n};this.models.set(u,y),(A=this.map)==null||A.triggerRepaint(),(b=this.onModelLoaded)==null||b.call(this,y),s(u)},void 0,l=>{console.error("GLTFLoader error:",l),a(l)})})}updateModelScale(e,t){var i;const r=this.models.get(e);r&&(r.scale=t,r.group.scale.setScalar(t),(i=this.map)==null||i.triggerRepaint())}removeModel(e){var r;const t=this.models.get(e);t&&(this.scene.remove(t.group),t.group.traverse(i=>{i.geometry&&i.geometry.dispose(),i.material&&(Array.isArray(i.material)?i.material.forEach(n=>n.dispose()):i.material.dispose())}),this.models.delete(e),(r=this.map)==null||r.triggerRepaint())}moveModel(e,t,r){var n;const i=this.models.get(e);if(i){if(i.lngLat=t,typeof r=="number"&&(i.elevation=r),this.anchorLngLat){const s=Math.abs(t[0]-this.anchorLngLat[0]),a=Math.abs(t[1]-this.anchorLngLat[1]);if(s>.05||a>.05)this.recenterAnchor(t);else{const[l,c]=this.lngLatToLocal(t);i.group.position.set(l,i.elevation||0,c)}}else this.recenterAnchor(t);(n=this.map)==null||n.triggerRepaint()}}recenterAnchor(e){if(!e)return;const t=D.MercatorCoordinate.fromLngLat(e,0);this.anchorMercator={x:t.x,y:t.y,z:t.z||0},this.anchorMeterScale=t.meterInMercatorCoordinateUnits(),this.anchorLngLat=e,this.models.forEach(r=>{if(r.lngLat){const[i,n]=this.lngLatToLocal(r.lngLat);r.group.position.set(i,r.elevation||0,n)}})}rotateModel(e,t){var n;const r=this.models.get(e);if(!r)return;r.rotation=t;const i=Y.MathUtils.degToRad(-t);r.group.rotation.y=i,(n=this.map)==null||n.triggerRepaint()}setOpacity(e,t){var i;const r=this.models.get(e);r&&(r.group.traverse(n=>{n.isMesh&&n.material&&(Array.isArray(n.material)?n.material.forEach(s=>{s.transparent=t<1,s.opacity=t,s.needsUpdate=!0}):(n.material.transparent=t<1,n.material.opacity=t,n.material.needsUpdate=!0))}),(i=this.map)==null||i.triggerRepaint())}}const oo={default:{color:"#ef4444",bg:"#fee2e2"},restroom:{color:"#3b82f6",bg:"#dbeafe"},elevator:{color:"#8b5cf6",bg:"#ede9fe"},stairs:{color:"#6366f1",bg:"#e0e7ff"},food:{color:"#f59e0b",bg:"#fef3c7"},coffee:{color:"#d97706",bg:"#fef3c7"},shop:{color:"#ec4899",bg:"#fce7f3"},info:{color:"#0ea5e9",bg:"#e0f2fe"},accessibility:{color:"#10b981",bg:"#d1fae5"},entrance:{color:"#14b8a6",bg:"#ccfbf1"},office:{color:"#475569",bg:"#f1f5f9"},parking:{color:"#3b82f6",bg:"#dbeafe"},escalator:{color:"#64748b",bg:"#f1f5f9"},atm:{color:"#10b981",bg:"#d1fae5"},firstaid:{color:"#ef4444",bg:"#fee2e2"},help:{color:"#8b5cf6",bg:"#ede9fe"}},nn=[{id:"pm-draw-polygon-fill",type:"fill",filter:["all",["==","$type","Polygon"],["!=","mode","static"],["!=","user_isHidden",!0]],paint:{"fill-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#4f46e5"],"fill-opacity":["case",["any",["has","user_fillColor"],["has","fillColor"]],.8,.25]}},{id:"pm-draw-polygon-outline",type:"line",filter:["all",["==","$type","Polygon"],["!=","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_strokeColor"],["get","strokeColor"],"#312e81"],"line-width":2}},{id:"pm-draw-line-active",type:"line",filter:["all",["==","$type","LineString"],["!=","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_lineColor"],["get","lineColor"],"#38bdf8"],"line-width":3}},{id:"pm-draw-point-vertex",type:"circle",filter:["all",["==","$type","Point"],["!=","meta","midpoint"],["!=","mode","static"],["!has","user_kind"],["!=","user_isHidden",!0]],paint:{"circle-radius":4,"circle-color":"#ffffff","circle-stroke-color":"#0f172a","circle-stroke-width":2}},{id:"pm-draw-point-mid",type:"circle",filter:["all",["==","$type","Point"],["==","meta","midpoint"],["!=","user_isHidden",!0]],paint:{"circle-radius":3,"circle-color":"#0ea5e9"}},{id:"pm-draw-polygon-fill-static",type:"fill",filter:["all",["==","$type","Polygon"],["==","mode","static"],["!=","user_isHidden",!0]],paint:{"fill-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#4f46e5"],"fill-opacity":.18}},{id:"pm-draw-polygon-outline-static",type:"line",filter:["all",["==","$type","Polygon"],["==","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_strokeColor"],["get","strokeColor"],"#312e81"],"line-width":2}},{id:"pm-draw-line-static",type:"line",filter:["all",["==","$type","LineString"],["==","mode","static"],["!=","user_isHidden",!0]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["coalesce",["get","user_lineColor"],["get","lineColor"],"#64748b"],"line-width":3}},{id:"pm-draw-special-point-inactive",type:"circle",filter:["all",["==","$type","Point"],["has","user_kind"],["!=","user_isHidden",!0]],paint:{"circle-radius":24,"circle-color":"#000000","circle-opacity":0,"circle-stroke-width":0}},{id:"pm-draw-special-point-active",type:"circle",filter:["all",["==","$type","Point"],["has","user_kind"],["==","active","true"],["!=","user_isHidden",!0]],paint:{"circle-radius":24,"circle-color":"#000000","circle-opacity":0,"circle-stroke-width":0}}];class et{constructor(e){if(this.mapManager=e.registry.get("map"),this.eventBus=e.eventBus,this.draw=null,this._customDrawState={mode:null,startPosition:null,previewId:null},this.context=e,this._createKind=null,this._beaconPoiMarkers=new Map,this.threeGlbLayer=null,this.glbModelIdMap={},this.imageOverlayIds=new Set,!document.getElementById("pm-font-awesome")){const t=document.createElement("link");t.id="pm-font-awesome",t.rel="stylesheet",t.href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css",document.head.appendChild(t)}this._extrudeState=null,this._rotateState=null,this._cloneState=null,this._overlay=null,this._extrudeMarker=null,this.clipboard=null,this.USER_3D_SOURCE_ID="pm-user-3d-buildings",this.USER_3D_LAYER_ID="pm-user-3d-buildings-fill",this.store=new Ci(this.eventBus),this._onMapClick=this._onMapClick.bind(this),this._onMapMouseMove=this._onMapMouseMove.bind(this),this._onCloneMapClick=this._onCloneMapClick.bind(this),this._onOverlayMouseDown=this._onOverlayMouseDown.bind(this),this._onOverlayMouseMove=this._onOverlayMouseMove.bind(this),this._onOverlayMouseUp=this._onOverlayMouseUp.bind(this),this.mapManager.getMap()?this.initDraw(this.mapManager.getMap()):this.eventBus.on("mapLoaded",({map:t})=>{this.initDraw(t)})}get origin(){return this.context.origin}initDraw(e){if(this.draw)return;this.draw=new $e({displayControlsDefault:!1,controls:{},styles:nn,userProperties:!0,defaultMode:"simple_select"}),this.context.options.previewOnly?e.addControl(this.draw,"bottom-left"):e.addControl(this.draw,"bottom-left"),e.getLayer("indoor-three-glb")||(this.threeGlbLayer=new ro("indoor-three-glb"),e.addLayer(this.threeGlbLayer)),this._ensureIcons(e),this._geomHashes=new Map;const t=i=>{if(!i)return"";const n={...i.properties};return delete n.user_x,delete n.user_y,JSON.stringify({g:i.geometry,p:n})},r=i=>{this.eventBus.emit("geometryChanged",i)};e.on("draw.create",i=>{const n=i.features[0].id,s=this._createKind;this._applyKindToNewFeature(i.features[0]);let a=this.draw.get(n);if(a){const c=a.properties.user_ordinal||a.properties.ordinal;if(c!==void 0&&a.geometry.type==="Point"){const u=this.draw.getAll().features.find(d=>(d.properties.user_kind||d.properties.kind)==="floor"&&(d.properties.user_ordinal===c||d.properties.ordinal===c));if(u){const d=ye(u),{x:p,y:h}=ge(a.geometry.coordinates[0],a.geometry.coordinates[1],d.geometry.coordinates);this.draw.setFeatureProperty(a.id,"user_x",p),this.draw.setFeatureProperty(a.id,"user_y",h)}}}if(["beacon","poi"].includes(s)){const c=this.draw.get(n);c&&this._createBeaconPoiMarker(c),this.draw.changeMode("simple_select",{featureIds:[n]})}const l=this.draw.get(n);l&&this._geomHashes.set(l.id,t(l)),r({...i,type:"create",features:[l]}),this.syncUser3DBuildings(),this._updateLiveMeasurements()}),this._updateDebounceTimers=new Map,e.on("draw.update",i=>{i.features&&i.features.forEach(n=>{this._updateDebounceTimers.has(n.id)&&clearTimeout(this._updateDebounceTimers.get(n.id));const s=setTimeout(()=>{this._updateDebounceTimers.delete(n.id);const a=this.draw.get(n.id)||n,l=a.properties.user_ordinal||a.properties.ordinal;if(l!==void 0&&a.geometry.type==="Point"){const d=this.draw.getAll().features.find(p=>(p.properties.user_kind||p.properties.kind)==="floor"&&(p.properties.user_ordinal===l||p.properties.ordinal===l));if(d){const p=ye(d),{x:h,y:g}=ge(a.geometry.coordinates[0],a.geometry.coordinates[1],p.geometry.coordinates);(a.properties.user_x!==h||a.properties.user_y!==g)&&(this.draw.setFeatureProperty(a.id,"user_x",h),this.draw.setFeatureProperty(a.id,"user_y",g),Object.assign(a.properties,{user_x:h,user_y:g}))}}const c=t(a),u=this._geomHashes.get(a.id);c!==u&&(this._geomHashes.set(a.id,c),this.eventBus.emit("geometryChanged",{operation:"update",source:"draw",feature:a}),this.syncUser3DBuildings(),this._syncAllBeaconPoiMarkers(),this._updateLiveMeasurements())},500);this._updateDebounceTimers.set(n.id,s)})}),e.on("draw.delete",i=>{i.features&&i.features.forEach(n=>{this._geomHashes.delete(n.id),this._removeBeaconPoiMarker(n.id),this.eventBus.emit("geometryChanged",{operation:"delete",source:"draw",featureId:n.id,feature:null})}),this.syncUser3DBuildings(),this._updateLiveMeasurements()}),e.on("draw.selectionchange",i=>{this.eventBus.emit("geometrySelectionChanged",i),this._updateLiveMeasurements()}),e.on("draw.render",()=>{this._syncAllBeaconPoiMarkers();const i=this.draw.getSelected();if(i.features.length===1){const n=i.features[0];if(n&&n.geometry.type==="Point"){const s=n.properties.user_ordinal||n.properties.ordinal;if(s){const a=this.draw.getAll().features.find(l=>(l.properties.user_kind||l.properties.kind)==="floor"&&(l.properties.user_ordinal===s||l.properties.ordinal===s));if(a){const l=ye(a),{x:c,y:u}=ge(n.geometry.coordinates[0],n.geometry.coordinates[1],l.geometry.coordinates),d=JSON.parse(JSON.stringify(n));d.properties.user_x=c,d.properties.user_y=u,this.eventBus.emit("geometryLiveUpdate",{type:"update",features:[d]});return}}}this.eventBus.emit("geometryLiveUpdate",{type:"update",features:[n]})}}),e.on("mousemove",i=>{const n=this.draw.getMode();["draw_line_string","draw_polygon"].includes(n)&&this._updateLiveMeasurements(i.lngLat)}),this.ensureUser3DLayer(e),this.clipboard=new vi(this.draw,this.eventBus),this._attachKeyboardShortcuts()}_attachKeyboardShortcuts(){document.addEventListener("keydown",e=>{if(["INPUT","TEXTAREA"].includes(e.target.tagName)||e.target.isContentEditable)return;const t=e.code,i=/Mac|iPod|iPhone|iPad/.test(navigator.userAgent)?e.metaKey:e.ctrlKey;if(i&&t==="KeyC")this.clipboard.copy();else if(i&&t==="KeyV")this.clipboard.paste(),this.syncUser3DBuildings();else if(t==="Delete"){const n=typeof this.draw.getSelectedIds=="function"?this.draw.getSelectedIds():[];n.length>0&&(this.remove(n),e.preventDefault())}})}ensureUser3DLayer(e){e.getSource(this.USER_3D_SOURCE_ID)||e.addSource(this.USER_3D_SOURCE_ID,{type:"geojson",data:{type:"FeatureCollection",features:[]}}),e.getLayer(this.USER_3D_LAYER_ID)||e.addLayer({id:this.USER_3D_LAYER_ID,type:"fill-extrusion",source:this.USER_3D_SOURCE_ID,paint:{"fill-extrusion-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#4f46e5"],"fill-extrusion-opacity":.9,"fill-extrusion-height":["coalesce",["get","user_height"],["get","height"],0],"fill-extrusion-base":0}}),e.getSource("pm-live-measure")||e.addSource("pm-live-measure",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),e.getLayer("pm-live-measure-label")||e.addLayer({id:"pm-live-measure-label",type:"symbol",source:"pm-live-measure",layout:{"text-field":["get","label"],"text-font":["Noto Sans Thai Regular"],"text-size":13,"symbol-placement":"line-center","text-pitch-alignment":"map","text-anchor":"center","text-keep-upright":!0,"text-max-angle":85,"text-allow-overlap":!0,"text-ignore-placement":!0},paint:{"text-color":"#ffffff","text-halo-color":"#000000","text-halo-width":2}})}_syncAdvancedRenderers(e=null){let t;if(e)t=e;else{if(!this.draw)return;t=this.draw.getAll()}this._syncGlbFeatures(t),this._syncImageOverlays(t)}_syncGlbFeatures(e){if(!this.threeGlbLayer)return;const t=new Set;((e==null?void 0:e.features)||[]).filter(i=>{var n,s;return((n=i.properties)==null?void 0:n.kind)==="glb"||((s=i.properties)==null?void 0:s.user_kind)==="glb"}).forEach(i=>{if(!i.geometry||i.geometry.type!=="Point")return;const[n,s]=i.geometry.coordinates,a=i.properties||{},l=String(i.id);t.add(l);const c=this.glbModelIdMap[l],u=a.user_modelUrl||a.modelUrl,d=a.user_scale!==void 0?a.user_scale:a.scale||1,p=a.user_elevation!==void 0?a.user_elevation:a.elevation||0,h=a.user_rotation!==void 0?a.user_rotation:a.rotation;c?c!=="loading"&&(this.threeGlbLayer.moveModel(c,[n,s],p),typeof h=="number"&&this.threeGlbLayer.rotateModel(c,h),typeof d=="number"&&this.threeGlbLayer.updateModelScale(c,d)):u&&(this.glbModelIdMap[l]="loading",this.threeGlbLayer.addModel(u,[n,s],d,a.user_name||a.name||"3D Object",p).then(g=>{this.glbModelIdMap[l]=g,h!==void 0&&this.threeGlbLayer.rotateModel(g,h)}).catch(g=>{console.error("Failed adding GLB:",g),delete this.glbModelIdMap[l]}))}),Object.keys(this.glbModelIdMap).forEach(i=>{if(!t.has(i)){const n=this.glbModelIdMap[i];n&&n!=="loading"&&this.threeGlbLayer.removeModel(n),delete this.glbModelIdMap[i]}})}_syncImageOverlays(e){const t=this.mapManager.getMap();if(!t)return;const r=new Set;((e==null?void 0:e.features)||[]).filter(n=>{var s,a,l;return(((s=n.properties)==null?void 0:s.kind)==="image_overlay"||((a=n.properties)==null?void 0:a.user_kind)==="image_overlay")&&((l=n.geometry)==null?void 0:l.type)==="Polygon"}).forEach(n=>{const s=String(n.id);r.add(s);const a=`img-overlay-source-${s}`,l=`img-overlay-layer-${s}`,c=n.geometry.coordinates[0].slice(0,4),u=n.properties.user_imageUrl||n.properties.imageUrl,d=n.properties.user_isHidden!==void 0?n.properties.user_isHidden:n.properties.isHidden,p=n.properties.user_opacity!==void 0?n.properties.user_opacity:n.properties.opacity!==void 0?n.properties.opacity:.7;if(u)if(t.getSource(a))t.getSource(a).setCoordinates(c),t.getLayer(l)&&(t.setLayoutProperty(l,"visibility",d?"none":"visible"),t.setPaintProperty(l,"raster-opacity",p));else{t.addSource(a,{type:"image",url:u,coordinates:c});const h={id:l,type:"raster",source:a,layout:{visibility:d?"none":"visible"},paint:{"raster-opacity":p,"raster-fade-duration":0}};t.getLayer("indoor-three-glb")?t.addLayer(h,"indoor-three-glb"):t.addLayer(h)}}),this.imageOverlayIds.forEach(n=>{if(!r.has(n)){const s=`img-overlay-source-${n}`,a=`img-overlay-layer-${n}`;t.getLayer(a)&&t.removeLayer(a),t.getSource(s)&&t.removeSource(s)}}),this.imageOverlayIds=r}syncUser3DBuildings(e=null){var a;this._syncAdvancedRenderers(e);const t=this.mapManager.getMap();if(!t)return;let r=t.getSource(this.USER_3D_SOURCE_ID);if(!r)return;let i;if(e)i=e;else if(this._staticGeojson)i=this._staticGeojson;else{if(!this.draw)return;i=this.draw.getAll()}const s=(((a=i==null?void 0:i.features)==null?void 0:a.filter(l=>{if(!l.geometry||l.geometry.type!=="Polygon")return!1;const c=l.properties||{};return(c.user_height!==void 0?c.user_height:c.height!==void 0?c.height:0)>0}))||[]).map(l=>({type:"Feature",geometry:l.geometry,properties:{...l.properties||{},source:"community-3d"}}));r.setData({type:"FeatureCollection",features:s})}drawMode(e){if(!this.draw||this.context.options.previewOnly)return this;this._cancelCustomDraw();const t=e.toLowerCase();return t==="simple_select"?(this._currentDrawMode="simple_select",this.draw.changeMode("simple_select")):t==="polygon"?(this._currentDrawMode="draw_polygon",this.draw.changeMode("draw_polygon")):t==="line"||t==="linestring"?(this._currentDrawMode="draw_line_string",this.draw.changeMode("draw_line_string")):t==="point"?(this._currentDrawMode="draw_point",this.draw.changeMode("draw_point")):t==="rectangle"||t==="circle"?(this._currentDrawMode="simple_select",this.draw.changeMode("simple_select"),this._startCustomDraw(t)):["beacon","poi"].includes(t)?(this._createKind=t,this.draw.changeMode("draw_point")):t==="walkway"?(this._createKind="walkway",this.draw.changeMode("draw_line_string")):t==="floor"||t==="obstacle"?(this._createKind=t,this.draw.changeMode("draw_polygon")):console.warn(`Draw mode '${e}' is not supported.`),this}_applyKindToNewFeature(e){if(!e||!this.draw)return;const t=e.id,r=this._createKind;if(!r)return;const i=this.context.registry.get("indoor"),n=i?i.getCurrentFloor():void 0;if(n!==void 0&&r!=="floor"&&(this.draw.setFeatureProperty(t,"floorOrdinal",n),this.draw.setFeatureProperty(t,"ordinal",n)),r==="beacon")this.draw.setFeatureProperty(t,"kind","beacon"),this.draw.setFeatureProperty(t,"color","#fbbf24"),this.draw.setFeatureProperty(t,"name","Beacon"),this.draw.setFeatureProperty(t,"icon","broadcast-tower");else if(r==="poi")this.draw.setFeatureProperty(t,"kind","poi"),this.draw.setFeatureProperty(t,"color","#c084fc"),this.draw.setFeatureProperty(t,"name","POI"),this.draw.setFeatureProperty(t,"icon","map-marker");else if(r==="walkway")this.draw.setFeatureProperty(t,"kind","walkway"),this.draw.setFeatureProperty(t,"lineColor","#10b981");else if(r==="floor"){if(this.draw.setFeatureProperty(t,"kind","floor"),this.draw.setFeatureProperty(t,"user_feature_type","level"),this.draw.setFeatureProperty(t,"category","room"),this.draw.setFeatureProperty(t,"ordinal",0),this.draw.setFeatureProperty(t,"floorOrdinal",void 0),this.draw.setFeatureProperty(t,"user_floorOrdinal",void 0),this.origin)try{const s=ye(e),[a,l]=s.geometry.coordinates,{x:c,y:u}=ge(a,l,this.origin);this.draw.setFeatureProperty(t,"user_x",c),this.draw.setFeatureProperty(t,"user_y",u)}catch(s){console.error("Failed to calculate floor X/Y:",s)}}else r==="obstacle"&&(this.draw.setFeatureProperty(t,"kind","obstacle"),this.draw.setFeatureProperty(t,"user_height",2.5),this.draw.setFeatureProperty(t,"height",2.5));this._createKind=null}add(e){if(!this.draw)throw new v("Cannot add geometry: Draw instance not initialized.",C.MAP_NOT_INITIALIZED,"geometry");if(!e)throw new v("GeoJSON object is required for add().",C.INVALID_PARAMETERS,"geometry");try{const t=this.draw.add(e);return this.syncUser3DBuildings(),this._updateLiveMeasurements(),this.eventBus.emit("geometryChanged",{operation:"create",source:"programmatic",feature:this.draw.getAll().features[0]}),t}catch(t){throw new v(`Failed to add GeoJSON: ${t.message}`,C.INVALID_PARAMETERS,"geometry",{originalError:t})}}create(e,t={}){if(!this.draw)throw new v("Cannot create: Draw not initialized.",C.MAP_NOT_INITIALIZED,"geometry");const r={...t.properties||{}},i=["beacon","poi","walkway","floor","obstacle"],n=["beacon","poi","point"],s=["line","walkway"],a=["polygon","floor","obstacle","rectangle"];if(i.includes(e)&&(r.kind=e),i.includes(e)&&e!=="floor"){const d=this.context.registry.get("indoor"),p=d?d.getCurrentFloor():void 0;p!==void 0&&r.ordinal===void 0&&(r.ordinal=p,r.floorOrdinal=p)}let l=null;if(n.includes(e)){if(!t.lngLat)throw new v(`create('${e}') requires options.lngLat`,C.INVALID_PARAMETERS,"geometry");l={type:"Feature",geometry:{type:"Point",coordinates:t.lngLat},properties:r}}else if(s.includes(e)){if(!t.coordinates)throw new v(`create('${e}') requires options.coordinates`,C.INVALID_PARAMETERS,"geometry");l={type:"Feature",geometry:{type:"LineString",coordinates:t.coordinates},properties:r}}else if(e==="rectangle"&&t.bounds){const[[d,p],[h,g]]=t.bounds;l={type:"Feature",geometry:{type:"Polygon",coordinates:[[[d,p],[h,p],[h,g],[d,g],[d,p]]]},properties:r}}else if(e==="circle"&&t.center&&t.radiusKm)l={type:"Feature",geometry:Wr(Ae(t.center),t.radiusKm,{steps:64,units:"kilometers"}).geometry,properties:{...r,isCircle:!0,center:t.center,radiusKm:t.radiusKm}};else if(a.includes(e)){if(!t.coordinates)throw new v(`create('${e}') requires options.coordinates`,C.INVALID_PARAMETERS,"geometry");l={type:"Feature",geometry:{type:"Polygon",coordinates:t.coordinates},properties:r}}else throw new v(`Unknown kind: '${e}'`,C.INVALID_PARAMETERS,"geometry");const c=this.draw.add(l),u=Array.isArray(c)?c[0]:c;if(u){this._createKind=i.includes(e)?e:null,this._applyKindToNewFeature(this.draw.get(u)),["beacon","poi"].includes(e)&&this._createBeaconPoiMarker(this.draw.get(u));const d=this.draw.get(u);this.syncUser3DBuildings(),this._updateLiveMeasurements(),this.eventBus.emit("geometryChanged",{operation:"create",source:"programmatic",feature:d})}return u||null}update(e,t={}){if(!this.draw)throw new v("Cannot update: Draw not initialized.",C.MAP_NOT_INITIALIZED,"geometry");if(!e)throw new v("update() requires a feature id.",C.INVALID_PARAMETERS,"geometry");if(!this.draw.get(e))throw new v(`Feature '${e}' not found.`,C.INVALID_PARAMETERS,"geometry");if(t.properties&&Object.entries(t.properties).forEach(([n,s])=>{this.draw.setFeatureProperty(e,n,s),this.draw.setFeatureProperty(e,`user_${n}`,s)}),t.geometry){const s={...this.draw.get(e),geometry:t.geometry};this.draw.delete(e),this.draw.add({...s,id:e})}const i=this.draw.get(e);return this.syncUser3DBuildings(),this._syncAllBeaconPoiMarkers(),this._updateLiveMeasurements(),this.eventBus.emit("geometryChanged",{operation:"update",source:"programmatic",feature:i}),this}getById(e){return this.draw&&this.draw.get(e)||null}renderStatic(e){const t=this.mapManager.getMap();if(t){if(this._staticGeojson=e,t.getSource("pm-indoor-source-static")?t.getSource("pm-indoor-source-static").setData(e):(t.addSource("pm-indoor-source-static",{type:"geojson",data:e}),t.addLayer({id:"pm-indoor-rooms-static",type:"fill-extrusion",source:"pm-indoor-source-static",filter:["all",["==",["geometry-type"],"Polygon"],["!=",["get","kind"],"image_overlay"]],paint:{"fill-extrusion-color":["coalesce",["get","user_fillColor"],["get","fillColor"],"#e5e7eb"],"fill-extrusion-opacity":1,"fill-extrusion-height":["coalesce",["get","user_height"],["get","height"],0],"fill-extrusion-base":0}}),t.addLayer({id:"pm-indoor-paths-static",type:"line",source:"pm-indoor-source-static",filter:["all",["==",["geometry-type"],"LineString"],["!=",["get","isRoutingPath"],!0]],paint:{"line-color":["coalesce",["get","user_lineColor"],["get","lineColor"],"#3b82f6"],"line-width":["coalesce",["get","user_lineWidth"],["get","lineWidth"],3]}})),this.threeGlbLayer&&this.threeGlbLayer.implementation){const r=this.threeGlbLayer.implementation;r.models&&Array.from(r.models.keys()).forEach(n=>{typeof r.removeModel=="function"&&r.removeModel(n)});const i=e.features.filter(n=>{var s,a;return((s=n.geometry)==null?void 0:s.type)==="Point"&&((a=n.properties)==null?void 0:a.kind)==="glb"});r.addModelsFromGeoJSON&&r.addModelsFromGeoJSON({type:"FeatureCollection",features:i})}this._syncAllBeaconPoiMarkers(e),this.syncUser3DBuildings(e)}}getByKind(e){return this.draw?this.draw.getAll().features.filter(t=>{var i,n;return(((i=t.properties)==null?void 0:i.user_kind)||((n=t.properties)==null?void 0:n.kind))===e}):[]}query(){return new xi(()=>this.draw?this.draw.getAll().features:[])}getGeoJSON(e,t={format:"imdf"}){if(!this.draw)throw new v("Cannot get GeoJSON: Draw instance not initialized.",C.MAP_NOT_INITIALIZED,"geometry");if(e){const i=this.draw.get(e);if(!i)return null;if(t.format==="standard")return i;const n={type:"FeatureCollection",features:[i]};return xe.toIMDF(n).features[0]}const r=this.draw.getAll();return t.format==="standard"?r:xe.toIMDF(r)}remove(e){return this.draw?((Array.isArray(e)?e:[e]).forEach(r=>this._removeBeaconPoiMarker(r)),this.draw.delete(e),this.syncUser3DBuildings(),this._updateLiveMeasurements(),this):void 0}export(e={format:"imdf"}){if(!this.draw)throw new v("Cannot export: Draw instance not initialized.",C.MAP_NOT_INITIALIZED,"geometry");try{const t=this.draw.getAll();return e.format==="standard"?{type:"FeatureCollection",features:t.features.map(i=>{const n={...i.properties};for(const[s,a]of Object.entries(n))if(s.startsWith("user_")){const l=s.substring(5);l in n||(n[l]=a)}return{...i,properties:n}})}:xe.toIMDF(t)}catch(t){const r=new v(`Failed to export IMDF GeoJSON: ${t.message}`,C.UNKNOWN,"geometry",{originalError:t});throw this.eventBus.emit("error",r),r}}import(e,t={format:"imdf"}){if(!this.draw)throw new v("Cannot import: Draw instance not initialized.",C.MAP_NOT_INITIALIZED,"geometry");if(!e)throw new v("GeoJSON object is required for import().",C.INVALID_PARAMETERS,"geometry");try{const r=t.format==="standard"?e:xe.fromIMDF(e);if(this._clearAllBeaconPoiMarkers(),r.type==="FeatureCollection")this.draw.set(r);else if(r.type==="Feature")this.draw.add(r);else if(Array.isArray(r))this.draw.add({type:"FeatureCollection",features:r});else throw new v("Invalid GeoJSON structure provided for import.",C.INVALID_PARAMETERS,"geometry");this.syncUser3DBuildings(),this._syncAllBeaconPoiMarkers(),this.eventBus.emit("geometryChanged",{type:"create",features:this.draw.getAll().features})}catch(r){const i=r instanceof v?r:new v(`Failed to import IMDF GeoJSON: ${r.message}`,C.INVALID_PARAMETERS,"geometry",{originalError:r});throw this.eventBus.emit("error",i),i}return this}clear(){if(this.draw)return this._clearAllBeaconPoiMarkers(),this.draw.deleteAll(),this.syncUser3DBuildings(),this._updateLiveMeasurements(),this}addPointMeters(e,t,r={}){if(!this.draw)throw new v("Cannot add point: Draw instance not initialized.",C.MAP_NOT_INITIALIZED,"geometry");if(!this.origin)throw new v("Cannot add point in meters: Map origin is not set.",C.INVALID_PARAMETERS,"geometry");if(typeof e!="number"||typeof t!="number")throw new v("Coordinates x and y must be numbers.",C.INVALID_PARAMETERS,"geometry");const[i,n]=Ao(e,t,this.origin),s={type:"Feature",geometry:{type:"Point",coordinates:[i,n]},properties:{...r}},a=this.draw.add(s),l=Array.isArray(a)?a[0]:a;if(l){const c=r.kind;["beacon","poi"].includes(c)&&(this._createBeaconPoiMarker(this.draw.get(l)),setTimeout(()=>{this.eventBus.emit("geometrySelectionChanged",{features:[this.draw.get(l)]})},10)),this.eventBus.emit("geometryChanged",{type:"create",features:[this.draw.get(l)]}),this.syncUser3DBuildings()}return l}_ensureIcons(e){Object.entries({"shape-rounded-square":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="0" y="0" width="100" height="100" rx="20" ry="20" fill="white"/></svg>',"broadcast-tower":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M448 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 112c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 240c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 368c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48z" fill="white"/></svg>',"map-marker":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z" fill="white"/></svg>'}).forEach(([r,i])=>{if(e.hasImage(r))return;const n=new Image,s=new Blob([i],{type:"image/svg+xml;charset=utf-8"}),a=URL.createObjectURL(s);n.onload=()=>{const l=document.createElement("canvas");l.width=128,l.height=128;const c=l.getContext("2d");c.drawImage(n,0,0,128,128);const u=c.getImageData(0,0,128,128);e.addImage(r,u,{sdf:!0}),URL.revokeObjectURL(a)},n.src=a})}setFeatureHeight(e,t){if(!this.draw)return;this.draw.setFeatureProperty(e,"user_height",t),this.draw.setFeatureProperty(e,"height",t),this.syncUser3DBuildings();const r=this.draw.get(e);return r&&this.eventBus.emit("geometryChanged",{type:"update",features:[r]}),this}getDrawInstance(){return this.draw}_cancelAdvancedInteractions(){this._extrudeState=null,this._rotateState=null,this._cloneState=null,this._removeOverlay();const e=this.mapManager.getMap();e&&(e.off("click",this._onCloneMapClick),e.dragPan&&e.dragPan.enable())}_createOverlay(){this._overlay||(this._overlay=document.createElement("div"),this._overlay.className="pm-extrude-overlay",document.body.appendChild(this._overlay),this._overlay.addEventListener("mousedown",this._onOverlayMouseDown),window.addEventListener("mousemove",this._onOverlayMouseMove),window.addEventListener("mouseup",this._onOverlayMouseUp))}_removeOverlay(){this._overlay&&(this._overlay.removeEventListener("mousedown",this._onOverlayMouseDown),window.removeEventListener("mousemove",this._onOverlayMouseMove),window.removeEventListener("mouseup",this._onOverlayMouseUp),this._overlay.remove(),this._overlay=null)}beginExtrude(){var s;const e=(s=this.draw)==null?void 0:s.getSelected();if(!e||e.features.length!==1||e.features[0].geometry.type!=="Polygon")return;this._cancelAdvancedInteractions();const t=e.features[0];this.mapManager.getMap();const r=t.properties||{},i=r.user_height!==void 0?parseFloat(r.user_height):r.height!==void 0?parseFloat(r.height):void 0;i===void 0&&(this.draw.setFeatureProperty(t.id,"user_height",0),this.draw.setFeatureProperty(t.id,"height",0),this.syncUser3DBuildings(),this.eventBus.emit("geometryChanged",{type:"update",features:[this.draw.get(t.id)]})),this._extrudeState={featureId:t.id,baseHeight:i!==void 0?i:0,dragging:!1,startY:0},this._createOverlay();const n=document.getElementById("pm-btn-extrude");n&&n.classList.add("anim-pulse")}beginRotate(){var u,d;const e=(u=this.draw)==null?void 0:u.getSelected();if(!e||e.features.length!==1)return;const t=e.features[0],r=(d=t.geometry)==null?void 0:d.type;if(!["Polygon","LineString","Point"].includes(r))return;this._cancelAdvancedInteractions();let i;try{i=ye(t)}catch{return}const[n,s]=i.geometry.coordinates,a=this.mapManager.getMap(),l=a.project([n,s]);this._rotateState={featureId:t.id,centerLngLat:[n,s],centerPx:{x:l.x,y:l.y},baseGeom:JSON.parse(JSON.stringify(t.geometry)),baseProperties:{...t.properties||{}},dragging:!1,startCursorAngle:0},a.dragPan&&a.dragPan.disable(),this._createOverlay();const c=document.getElementById("pm-btn-rotate");c&&c.classList.add("anim-pulse")}beginClone(){var i;const e=(i=this.draw)==null?void 0:i.getSelected();if(!e||e.features.length!==1)return;this._cancelAdvancedInteractions(),this._cloneState={feature:e.features[0]},this.mapManager.getMap().on("click",this._onCloneMapClick);const r=document.getElementById("pm-btn-clone");r&&r.classList.add("anim-pulse")}_onCloneMapClick(e){if(!this._cloneState||!this._cloneState.feature)return;const t=this._cloneState.feature;this.mapManager.getMap();try{const r=ye(t),[i,n]=r.geometry.coordinates,{lng:s,lat:a}=e.lngLat,l=s-i,c=a-n,u=JSON.parse(JSON.stringify(t.geometry)),d=f=>[f[0]+l,f[1]+c];u.type==="Polygon"?u.coordinates=u.coordinates.map(f=>f.map(d)):u.type==="LineString"?u.coordinates=u.coordinates.map(d):u.type==="Point"&&(u.coordinates=d(u.coordinates));const p={type:"Feature",geometry:u,properties:{...t.properties||{}}},h=this.draw.add(p),g=Array.isArray(h)?h[0]:h;g&&this.draw.changeMode("simple_select",{featureIds:[g]}),this.syncUser3DBuildings(),this.eventBus.emit("geometryChanged",{type:"create",features:[this.draw.get(g)]})}catch(r){console.error(r)}this._cancelAdvancedInteractions(),document.querySelectorAll(".pm-draw-btn.anim-pulse").forEach(r=>r.classList.remove("anim-pulse"))}_onOverlayMouseDown(e){if(e.button===0){if(this._extrudeState)this._extrudeState.dragging=!0,this._extrudeState.startY=e.clientY;else if(this._rotateState){const{x:t,y:r}=this._rotateState.centerPx,i=Math.atan2(e.clientY-r,e.clientX-t);this._rotateState.dragging=!0,this._rotateState.startCursorAngle=i}}}_onOverlayMouseMove(e){if(this._extrudeState&&this._extrudeState.dragging){const t=this._extrudeState.startY-e.clientY;let r=this._extrudeState.baseHeight+t/4;r=Math.round(r*4)/4,e.ctrlKey&&(r=Math.round(r/2.5)*2.5),r=Math.max(0,r);const i=this._extrudeState.featureId;this.draw.setFeatureProperty(i,"user_height",r),this.draw.setFeatureProperty(i,"height",r);const n=this.draw.get(i);n&&(this.syncUser3DBuildings(),this.eventBus.emit("geometryChanged",{type:"update",features:[n]}))}else if(this._rotateState&&this._rotateState.dragging){const{x:t,y:r}=this._rotateState.centerPx,i=Math.atan2(e.clientY-r,e.clientX-t);let n=this._rotateState.startCursorAngle-i;e.ctrlKey&&(n=Math.round(n*180/Math.PI/5)*5*Math.PI/180);const[s,a]=this._rotateState.centerLngLat,l=Math.cos(a*Math.PI/180)||1,c=p=>{const[h,g]=p,f=(h-s)*l,y=g-a,A=f*Math.cos(n)-y*Math.sin(n),b=f*Math.sin(n)+y*Math.cos(n);return[s+A/l,a+b]},u=this._rotateState.baseGeom;let d=null;if(u.type==="Polygon"?d={type:"Polygon",coordinates:u.coordinates.map(p=>p.map(c))}:u.type==="LineString"?d={type:"LineString",coordinates:u.coordinates.map(c)}:u.type==="Point"&&(d={type:"Point",coordinates:c(u.coordinates)}),d){this.draw.delete(this._rotateState.featureId);const p=this.draw.add({type:"Feature",geometry:d,properties:this._rotateState.baseProperties}),h=Array.isArray(p)?p[0]:p;this._rotateState.featureId=h,this.draw.changeMode("simple_select",{featureIds:[h]}),this.syncUser3DBuildings()}}}_onOverlayMouseUp(e){this._extrudeState&&this._extrudeState.dragging&&this.eventBus.emit("geometryChanged",{type:"update",features:[this.draw.get(this._extrudeState.featureId)]}),this._rotateState&&this._rotateState.dragging&&this.eventBus.emit("geometryChanged",{type:"update",features:[this.draw.get(this._rotateState.featureId)]}),this._cancelAdvancedInteractions(),document.querySelectorAll(".pm-draw-btn.anim-pulse").forEach(t=>t.classList.remove("anim-pulse"))}_startCustomDraw(e){const t=this.mapManager.getMap();t&&(this._customDrawState.mode=e,this._customDrawState.startPosition=null,this._customDrawState.previewId=null,t.getCanvas().style.cursor="crosshair",t.dragPan&&t.dragPan.disable(),t.on("click",this._onMapClick),t.on("mousemove",this._onMapMouseMove))}_cancelCustomDraw(){if(this._cancelAdvancedInteractions(),!this._customDrawState.mode)return;const e=this.mapManager.getMap();e&&(e.off("click",this._onMapClick),e.off("mousemove",this._onMapMouseMove),e.getCanvas().style.cursor="",e.dragPan&&e.dragPan.enable()),this._customDrawState.previewId&&this.draw&&this.draw.delete(this._customDrawState.previewId),this._customDrawState.mode=null,this._customDrawState.startPosition=null,this._customDrawState.previewId=null}_onMapClick(e){if(this._customDrawState.startPosition){const t=this._customDrawState.startPosition,r=e.lngLat,i=this._customDrawState.mode;this._customDrawState.previewId&&this.draw.delete(this._customDrawState.previewId);const n=this._generateCustomFeature(i,t,r);if(n){const s=this.draw.add(n),a=Array.isArray(s)?s:[s];this.eventBus.emit("geometryChanged",{type:"create",features:[this.draw.get(a[0])]}),this.draw.changeMode("simple_select",{featureIds:a}),this.syncUser3DBuildings()}this._cancelCustomDraw()}else{this._customDrawState.startPosition=e.lngLat;const t=this.origin?ge(e.lngLat.lng,e.lngLat.lat,this.origin):null;this.eventBus.emit("geometryInteraction",{type:"click",lngLat:e.lngLat,x:t==null?void 0:t.x,y:t==null?void 0:t.y})}}_onMapMouseMove(e){if(!this._customDrawState.startPosition)return;const t=this._customDrawState.startPosition,r=e.lngLat,i=this._customDrawState.mode,n=this._generateCustomFeature(i,t,r);if(!n)return;this._customDrawState.previewId&&this.draw.delete(this._customDrawState.previewId);const s=this.draw.add(n);this._customDrawState.previewId=Array.isArray(s)?s[0]:s}_generateCustomFeature(e,t,r){if(e==="rectangle"){const i=Math.min(t.lng,r.lng),n=Math.max(t.lng,r.lng),s=Math.min(t.lat,r.lat),a=Math.max(t.lat,r.lat);return{type:"Feature",geometry:{type:"Polygon",coordinates:[[[i,s],[n,s],[n,a],[i,a],[i,s]]]},properties:{}}}else if(e==="circle"){const i=Ae([t.lng,t.lat]),n=Ae([r.lng,r.lat]),s=Et(i,n,{units:"kilometers"});if(s===0)return null;try{return{type:"Feature",geometry:Wr(i,s,{steps:64,units:"kilometers"}).geometry,properties:{isCircle:!0,center:[t.lng,t.lat],radiusKm:s}}}catch{return null}}return null}_updateLiveMeasurements(e=null){const t=this.mapManager.getMap();if(t)try{const r=t.getSource("pm-live-measure");if(!r)return;const i=this.draw.getAll(),n=typeof this.draw.getSelectedIds=="function"?this.draw.getSelectedIds():[],s=this.draw.getMode(),a=i.features.filter(c=>n.includes(c.id)),l=[];a.forEach(c=>{var g;if(!c.geometry)return;const u=c.geometry.type;let d=[];const h=n.includes(c.id)&&!((g=c.properties)!=null&&g.kind)&&["draw_line_string","draw_polygon"].includes(s);if(u==="LineString"){let f=[...c.geometry.coordinates];if(h&&e&&f.length>0){const y=f[f.length-1];(y[0]!==e.lng||y[1]!==e.lat)&&f.push([e.lng,e.lat])}d=[f]}else if(u==="Polygon"){let f=c.geometry.coordinates.map(y=>[...y]);h&&e&&f.length>0&&f[0].length>0&&f[0].splice(f[0].length-1,0,[e.lng,e.lat]),d=f}d.forEach(f=>{if(!(!f||!Array.isArray(f)))for(let y=0;y<f.length-1;y++){const A=f[y],b=f[y+1];if(!A||!b)continue;let w=0;try{w=Et(Ae(A),Ae(b),{units:"meters"})}catch{continue}w<.1||l.push({type:"Feature",geometry:{type:"LineString",coordinates:[A,b]},properties:{label:`${w.toFixed(1)}m`}})}})}),r.setData({type:"FeatureCollection",features:l})}catch(r){console.warn("Live measurement error",r)}}static get ICON_CLASS_MAP(){return{"broadcast-tower":"fas fa-broadcast-tower","map-marker":"fas fa-map-marker-alt",wheelchair:"fas fa-wheelchair",restroom:"fas fa-restroom",info:"fas fa-info-circle","first-aid":"fas fa-first-aid",coffee:"fas fa-coffee",utensils:"fas fa-utensils",store:"fas fa-store",parking:"fas fa-parking",bus:"fas fa-bus",train:"fas fa-train",plane:"fas fa-plane",hotel:"fas fa-hotel",school:"fas fa-school",walking:"fas fa-walking","arrow-up":"fas fa-arrow-up",elevator:"fas fa-caret-square-up",stairs:"fas fa-bars",food:"fas fa-utensils",shop:"fas fa-shopping-bag",accessibility:"fas fa-wheelchair",entrance:"fas fa-door-open",office:"fas fa-briefcase",escalator:"fas fa-sort-amount-up",atm:"fas fa-money-bill",firstaid:"fas fa-medkit",help:"fas fa-question-circle","arrow-down":"fas fa-arrow-down"}}_createBeaconPoiMarker(e){if(!e||!e.geometry||e.geometry.type!=="Point")return;const t=this.mapManager.getMap();if(!t)return;const r=e.properties||{},n=r.isPoi||r.user_isPoi?"poi":r.user_kind||r.kind;if(!["beacon","poi"].includes(n))return;this._removeBeaconPoiMarker(e.id);const s=r.user_poiIcon||r.poiIcon||"default",a=oo[s]||oo.default,l=r.user_color||r.color||(n==="poi"?a.color:"#fbbf24"),c=n==="poi"?a.bg:l,u=r.user_icon||r.icon||r.user_poiIcon||r.poiIcon||(n==="beacon"?"broadcast-tower":"map-marker"),d=r.user_name||r.name||"",p=et.ICON_CLASS_MAP[u]||"fas fa-map-marker-alt",h=document.createElement("div");h.className=`pm-indoor-marker pm-indoor-marker-${n}`,h.setAttribute("data-feature-id",e.id);const g=r.user_floorOrdinal!==void 0?r.user_floorOrdinal:r.floorOrdinal!==void 0?r.floorOrdinal:r.user_ordinal!==void 0?r.user_ordinal:r.ordinal!==void 0?r.ordinal:0;h.setAttribute("data-floor-ordinal",g),h.style.pointerEvents="none",h.style.zIndex="1";const f=this.context.indoor?this.context.indoor.currentFloor:0,y=g!==void 0?Number(g)===Number(f):!0;h.style.display=y?"flex":"none",h.style.flexDirection="column",h.style.alignItems="center",h.style.gap="4px";const A=document.createElement("div");A.className="pm-indoor-marker-bg",A.style.backgroundColor=c,A.style.color=l,A.style.width="32px",A.style.height="32px",A.style.borderRadius="50%",A.style.display="flex",A.style.alignItems="center",A.style.justifyContent="center",A.style.boxShadow="0 2px 5px rgba(0,0,0,0.2)",A.style.border=`2px solid ${l}`,A.style.pointerEvents="none";const b=document.createElement("i");b.className=p,b.style.fontSize="16px",b.style.color=l,A.appendChild(b),h.appendChild(A);const w=document.createElement("div");w.className="pm-indoor-marker-label",w.textContent=d||"",w.style.fontSize="11px",w.style.fontWeight="600",w.style.fontFamily="var(--pm-font-family), system-ui, sans-serif",w.style.color="#ffffff",w.style.textShadow="-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0px 2px 4px rgba(0,0,0,0.8)",w.style.padding="2px 6px",w.style.whiteSpace="nowrap",w.style.pointerEvents="none",w.style.display=d?"block":"none",h.appendChild(w);const M=e.geometry.coordinates,E=new D.Marker({element:h,anchor:"center"}).setLngLat(M).addTo(t);this._beaconPoiMarkers.set(e.id,E)}_updateBeaconPoiMarker(e){if(!this.draw)return;const t=this.draw.get(e);if(!t)return;const r=t.properties||{},i=r.user_kind||r.kind;if(!["beacon","poi"].includes(i))return;const n=this._beaconPoiMarkers.get(e);if(!n){this._createBeaconPoiMarker(t);return}const s=r.user_color||r.color||(i==="beacon"?"#fbbf24":"#c084fc"),a=r.user_icon||r.icon||(i==="beacon"?"broadcast-tower":"map-marker"),l=r.user_name||r.name||"",c=et.ICON_CLASS_MAP[a]||"fas fa-map-marker-alt",u=n.getElement();if(!u)return;const d=u.querySelector(".pm-indoor-marker-bg");if(d){d.style.backgroundColor=s;const g=d.querySelector("i");g&&(g.className=c)}let p=u.querySelector(".pm-indoor-marker-label");p||(p=document.createElement("div"),p.className="pm-indoor-marker-label",u.appendChild(p)),p.textContent=l||"",p.style.color=s,p.style.display=l?"block":"none";const h=t.geometry.coordinates;n.setLngLat(h)}_removeBeaconPoiMarker(e){const t=this._beaconPoiMarkers.get(e);t&&(t.remove(),this._beaconPoiMarkers.delete(e))}_syncAllBeaconPoiMarkers(e=null){let t;if(e)t=e;else if(this._staticGeojson)t=this._staticGeojson;else{if(!this.draw)return;t=this.draw.getAll()}if(!t||!t.features)return;const r=new Set;t.features.forEach(i=>{var l,c,u,d,p;const s=((l=i.properties)==null?void 0:l.isPoi)||((c=i.properties)==null?void 0:c.user_isPoi)?"poi":((u=i.properties)==null?void 0:u.user_kind)||((d=i.properties)==null?void 0:d.kind);if(!["beacon","poi"].includes(s)||((p=i.geometry)==null?void 0:p.type)!=="Point")return;r.add(i.id);const a=this._beaconPoiMarkers.get(i.id);a?a.setLngLat(i.geometry.coordinates):this._createBeaconPoiMarker(i)});for(const[i,n]of this._beaconPoiMarkers.entries())r.has(i)||(n.remove(),this._beaconPoiMarkers.delete(i))}_clearAllBeaconPoiMarkers(){for(const[,e]of this._beaconPoiMarkers)e.remove();this._beaconPoiMarkers.clear()}getAvailableFloors(){const e=new Set;return this.draw&&this.draw.getAll().features.forEach(t=>{const r=t.properties||{};if((r.user_kind||r.kind)==="floor"){const n=r.user_floorOrdinal!==void 0?r.user_floorOrdinal:r.floorOrdinal!==void 0?r.floorOrdinal:r.user_ordinal!==void 0?r.user_ordinal:r.ordinal!==void 0?r.ordinal:void 0;n!==void 0&&e.add(Number(n))}}),Array.from(e)}setFloorFilter(e){this._currentFloorFilter=e;for(const[t,r]of this._beaconPoiMarkers.entries()){const i=r.getElement();if(i){const n=i.getAttribute("data-floor-ordinal"),s=n?Number(n)===Number(e):!0;i.style.display=s?"flex":"none"}}}setMarkerOpacity(e){for(const t of this._beaconPoiMarkers.values()){const r=t.getElement();r&&(r.style.opacity=e,r.style.transition="opacity 0.2s ease-in-out")}}syncFloorVisibility(e){if(!this.draw)return;const t=this.context.registry.get("editor"),r=t?t.isEnabled:!1;let i=!1;if(this.draw.getAll().features.forEach(s=>{let l=(s.properties.user_floorOrdinal!==void 0?s.properties.user_floorOrdinal:s.properties.floorOrdinal!==void 0?s.properties.floorOrdinal:s.properties.user_ordinal!==void 0?s.properties.user_ordinal:s.properties.ordinal!==void 0?s.properties.ordinal:0)!==e;const c=s.properties.user_kind||s.properties.kind||"";!l&&c==="walkway"&&!r&&(l=!0),s.properties.user_isHidden!==l&&(this.draw.setFeatureProperty(s.id,"isHidden",l),i=!0)}),i){const s=this.draw.getAll(),a=typeof this.draw.getSelectedIds=="function"?this.draw.getSelectedIds():[];this.draw.set(s),a.length>0&&this.draw.changeMode("simple_select",{featureIds:a}),this.syncUser3DBuildings();const l=this.mapManager.getMap();l&&l.triggerRepaint()}}}let io=!1;function sn(){if(io)return;io=!0;const o=`
|
|
50
50
|
.pm-tip {
|
|
51
51
|
position: fixed;
|
|
52
52
|
z-index: 9999;
|
|
@@ -120,13 +120,13 @@
|
|
|
120
120
|
html.light .pm-tip[data-dir="bottom"]::after, .light .pm-tip[data-dir="bottom"]::after { border-bottom-color: rgba(255, 255, 255, .98); }
|
|
121
121
|
html.light .pm-tip[data-dir="left"]::after, .light .pm-tip[data-dir="left"]::after { border-left-color: rgba(255, 255, 255, .98); }
|
|
122
122
|
html.light .pm-tip[data-dir="right"]::after, .light .pm-tip[data-dir="right"]::after { border-right-color: rgba(255, 255, 255, .98); }
|
|
123
|
-
`,e=document.createElement("style");e.id="pm-tip-css",e.textContent=
|
|
123
|
+
`,e=document.createElement("style");e.id="pm-tip-css",e.textContent=o,document.head.appendChild(e)}class an{constructor(){sn(),this.tipEl=document.createElement("div"),this.tipEl.className="pm-tip",document.body.appendChild(this.tipEl),this._handleMouseEnter=this._handleMouseEnter.bind(this),this._handleMouseLeave=this._handleMouseLeave.bind(this),this._handleMouseMove=this._handleMouseMove.bind(this)}attachToToolbar(e){e&&(e.removeEventListener("mouseenter",this._handleMouseEnter,!0),e.removeEventListener("mouseleave",this._handleMouseLeave,!0),e.removeEventListener("mousemove",this._handleMouseMove,!0),e.addEventListener("mouseenter",this._handleMouseEnter,!0),e.addEventListener("mouseleave",this._handleMouseLeave,!0),e.addEventListener("mousemove",this._handleMouseMove,!0))}_handleMouseEnter(e){const t=e.target.closest(".pm-draw-btn");if(!t)return;const r=t.getAttribute("title");r&&(t.setAttribute("data-pm-title",r),t.removeAttribute("title"),this.tipEl.textContent=r,this.tipEl.classList.add("show"),this._updatePosition(t))}_handleMouseMove(e){const t=e.target.closest("[data-pm-title]");t&&this._updatePosition(t)}_handleMouseLeave(e){const t=e.target.closest("[data-pm-title]");if(!t)return;const r=t.getAttribute("data-pm-title");t.setAttribute("title",r),t.removeAttribute("data-pm-title"),this.tipEl.classList.remove("show")}_updatePosition(e){const t=e.getBoundingClientRect(),i=t.left+t.width/2>window.innerWidth/2?"left":"right",n=12,s=t.left+t.width/2,a=t.top+t.height/2;let l,c;i==="left"?(l=t.left-n,c=a):i==="right"?(l=t.right+n,c=a):i==="bottom"?(l=s,c=t.bottom+n):(l=s,c=t.top-n),this.tipEl.setAttribute("data-dir",i),this.tipEl.style.left=`${l}px`,this.tipEl.style.top=`${c}px`}destroy(){this.tipEl&&this.tipEl.parentNode&&this.tipEl.parentNode.removeChild(this.tipEl)}}const ln=["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#10b981","#14b8a6","#06b6d4","#0ea5e9","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#78716c","#000000","#ffffff"],cn=[{id:"broadcast-tower",className:"fas fa-broadcast-tower",name:"Beacon"},{id:"map-marker",className:"fas fa-map-marker-alt",name:"Marker"},{id:"wheelchair",className:"fas fa-wheelchair",name:"Accessible"},{id:"restroom",className:"fas fa-restroom",name:"Restroom"},{id:"info",className:"fas fa-info-circle",name:"Info"},{id:"first-aid",className:"fas fa-first-aid",name:"Medic"},{id:"coffee",className:"fas fa-coffee",name:"Cafe"},{id:"utensils",className:"fas fa-utensils",name:"Food"},{id:"store",className:"fas fa-store",name:"Shop"},{id:"parking",className:"fas fa-parking",name:"Parking"},{id:"bus",className:"fas fa-bus",name:"Bus"},{id:"train",className:"fas fa-train",name:"Train"},{id:"plane",className:"fas fa-plane",name:"Airport"},{id:"hotel",className:"fas fa-hotel",name:"Hotel"},{id:"school",className:"fas fa-school",name:"School"},{id:"walking",className:"fas fa-walking",name:"Stairs/Walk"},{id:"arrow-up",className:"fas fa-arrow-up",name:"Up"},{id:"arrow-down",className:"fas fa-arrow-down",name:"Down"}];class un{constructor(e,t){this.geometryManager=e,this.eventBus=t,this.container=null,this.activeFeatureId=null,this._isEditing=!1,this._commitTimer=null,this._openSnapshot=null,this._init()}_hashFeature(e){if(!e)return"";const t={...e.properties};return delete t.user_x,delete t.user_y,JSON.stringify({g:e.geometry,p:t})}_init(){this.container=document.createElement("div"),this.container.className="pm-property-editor-container",this.container.style.display="none",this.eventBus.on("geometrySelectionChanged",e=>this._onSelectionChange(e)),this.eventBus.on("geometryLiveUpdate",e=>{if(!this._isEditing&&this.activeFeatureId&&e.features){const t=e.features.find(r=>r.id===this.activeFeatureId);t&&this._render(t)}}),this.eventBus.on("geometryChanged",e=>{if(!this._isEditing&&this.activeFeatureId&&e.features){const t=e.features.find(r=>r.id===this.activeFeatureId);t&&this._render(t)}})}_onSelectionChange(e){if(!e||!e.features||e.features.length!==1){this.hide();return}const r=e.features[0].properties||{},i=r.user_kind||r.kind||"unknown";["beacon","poi","floor","walkway","obstacle"].includes(i)||this.hide()}show(e){if(this.activeFeatureId=e.id,this._openSnapshot=this._hashFeature(e),!this.container.parentNode)if(this.geometryManager&&this.geometryManager.mapManager){const t=this.geometryManager.mapManager.getMap();t&&t.getContainer?t.getContainer().appendChild(this.container):document.body.appendChild(this.container)}else document.body.appendChild(this.container);this.container.style.display="flex",setTimeout(()=>{this.container.classList.add("active")},10),this._render(e)}hide(){if(this.activeFeatureId&&this.geometryManager.draw){const e=this.geometryManager.draw.get(this.activeFeatureId);e&&this._hashFeature(e)!==this._openSnapshot&&this.eventBus.emit("geometryChanged",{operation:"update",source:"draw",feature:e})}clearTimeout(this._commitTimer),this._openSnapshot=null,this.container.classList.remove("active"),setTimeout(()=>{this.container.classList.contains("active")||(this.container.style.display="none")},300),this.activeFeatureId=null}_render(e){const t=e.properties||{},r=t.user_kind||t.kind||"unknown",i=t.user_color||t.color||(r==="beacon"?"#f59e0b":"#a855f7"),n=t.user_icon||t.icon||(r==="beacon"?"broadcast-tower":"map-marker"),s=t.user_name||t.name||"",a=t.user_id||t.id||e.id;let l=t.user_feature_type||t.feature_type;const c=t.user_category||t.category||"";!l&&r==="floor"&&(c==="venue"?l="venue":c==="building"?l="building":l="level");const u=t.user_ordinal||t.ordinal||0,d=t.user_outdoor===!0||t.outdoor===!0,p=t.user_restricted===!0||t.restricted===!0,h=["user_kind","user_color","user_icon","user_name","user_id","user_category","user_ordinal","user_outdoor","user_restricted","user_x","user_y","user_feature_type","user_height","kind","color","icon","name","id","category","ordinal","outdoor","restricted","x","y","feature_type","height"],g={};Object.keys(t).forEach(x=>{!h.includes(x)&&x.startsWith("user_")&&(g[x.replace("user_","")]=t[x])});const f=["beacon","poi"].includes(r);this.container.innerHTML=`
|
|
124
124
|
<div class="pm-prop-overlay"></div>
|
|
125
125
|
<div class="pm-property-editor-panel" style="position: relative; z-index: 10;">
|
|
126
126
|
<div class="pm-prop-header">
|
|
127
127
|
<div class="pm-prop-title">
|
|
128
|
-
<i class="${this._getIconForKind(
|
|
129
|
-
<span>${
|
|
128
|
+
<i class="${this._getIconForKind(r)}"></i>
|
|
129
|
+
<span>${r.toUpperCase()} Properties</span>
|
|
130
130
|
</div>
|
|
131
131
|
<div class="pm-prop-header-right">
|
|
132
132
|
<div class="pm-prop-header-coords">
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
<span class="pm-prop-coord-value">${e.geometry.type==="Point"?e.geometry.coordinates[0].toFixed(6):"---"}</span>
|
|
141
141
|
</div>
|
|
142
142
|
</div>
|
|
143
|
-
${
|
|
143
|
+
${r!=="floor"?`
|
|
144
144
|
<div class="pm-prop-coord-row">
|
|
145
145
|
<div class="pm-prop-coord-line">
|
|
146
146
|
<span class="pm-prop-coord-label">X(M)</span>
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
173
173
|
|
|
174
|
-
${
|
|
174
|
+
${r==="floor"?`
|
|
175
175
|
<div class="pm-prop-row">
|
|
176
176
|
<div class="pm-prop-group">
|
|
177
177
|
<label>FEATURE TYPE</label>
|
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
<label>ORDINAL (LEVEL)</label>
|
|
207
207
|
<select id="pm-prop-input-ordinal">
|
|
208
208
|
<option value="">-- select level --</option>
|
|
209
|
-
${this.geometryManager.draw.getAll().features.filter(
|
|
209
|
+
${this.geometryManager.draw.getAll().features.filter(x=>(x.properties.user_kind||x.properties.kind)==="floor"&&x.id!==e.id).map(x=>x.properties.user_ordinal||x.properties.ordinal||0).filter((x,N,Q)=>Q.indexOf(x)===N).sort((x,N)=>x-N).map(x=>`<option value="${x}" ${x===u?"selected":""}>Level ${x}</option>`).join("")}
|
|
210
210
|
</select>
|
|
211
211
|
</div>
|
|
212
212
|
</div>
|
|
@@ -240,10 +240,10 @@
|
|
|
240
240
|
<div class="pm-prop-group">
|
|
241
241
|
<label>COLOR</label>
|
|
242
242
|
<div class="pm-color-grid">
|
|
243
|
-
${ln.map(
|
|
244
|
-
<div class="pm-color-item ${
|
|
245
|
-
style="background-color: ${
|
|
246
|
-
data-color="${
|
|
243
|
+
${ln.map(x=>`
|
|
244
|
+
<div class="pm-color-item ${x===i?"active":""}"
|
|
245
|
+
style="background-color: ${x}"
|
|
246
|
+
data-color="${x}"></div>
|
|
247
247
|
`).join("")}
|
|
248
248
|
<div class="pm-color-custom" title="More colors" style="background: linear-gradient(to bottom right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8b00ff);">
|
|
249
249
|
<input type="color" id="pm-prop-custom-color" value="${i}" />
|
|
@@ -254,10 +254,10 @@
|
|
|
254
254
|
<div class="pm-prop-group">
|
|
255
255
|
<label>ICON</label>
|
|
256
256
|
<div class="pm-icon-grid">
|
|
257
|
-
${cn.map(
|
|
258
|
-
<div class="pm-icon-item ${
|
|
259
|
-
data-icon="${
|
|
260
|
-
<i class="${
|
|
257
|
+
${cn.map(x=>`
|
|
258
|
+
<div class="pm-icon-item ${x.id===n?"active":""}"
|
|
259
|
+
data-icon="${x.id}" title="${x.name}">
|
|
260
|
+
<i class="${x.className}" style="color: ${x.id===n?"#ffffff":"rgba(255,255,255,0.6)"}"></i>
|
|
261
261
|
</div>
|
|
262
262
|
`).join("")}
|
|
263
263
|
</div>
|
|
@@ -267,9 +267,9 @@
|
|
|
267
267
|
<!-- Custom Properties Section -->
|
|
268
268
|
<div class="pm-prop-section-title">Custom Properties</div>
|
|
269
269
|
<div class="pm-custom-props-list" id="pm-custom-props-list">
|
|
270
|
-
${Object.entries(g).map(([
|
|
271
|
-
<div class="pm-custom-prop-row" data-key="${
|
|
272
|
-
<input type="text" class="pm-prop-custom-key" value="${
|
|
270
|
+
${Object.entries(g).map(([x,N])=>`
|
|
271
|
+
<div class="pm-custom-prop-row" data-key="${x}">
|
|
272
|
+
<input type="text" class="pm-prop-custom-key" value="${x}" placeholder="Key" />
|
|
273
273
|
<input type="text" class="pm-prop-custom-val" value="${N}" placeholder="Value" />
|
|
274
274
|
<button class="pm-btn-remove-prop"><i class="fas fa-times"></i></button>
|
|
275
275
|
</div>
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
</button>
|
|
281
281
|
</div>
|
|
282
282
|
</div>
|
|
283
|
-
`;const
|
|
283
|
+
`;const y=this.container.querySelector("#pm-prop-close-btn");y&&(y.onclick=x=>{x.preventDefault(),x.stopPropagation(),this.hide()});const A=this.container.querySelector(".pm-prop-overlay");A&&(A.onclick=x=>{x.preventDefault(),x.stopPropagation(),this.hide()});const b=this.container.querySelector("#pm-prop-input-id");b&&b.addEventListener("input",x=>this._updateProperty("id",x.target.value));const w=this.container.querySelector("#pm-prop-input-name");w&&w.addEventListener("input",x=>this._updateProperty("name",x.target.value));const M=this.container.querySelector("#pm-prop-select-feature-type"),E=this.container.querySelector("#pm-prop-input-feature-type");M&&M.addEventListener("change",x=>{const N=x.target.value;N==="_custom"?E&&(E.style.display="block",E.focus(),this._updateProperty("feature_type",E.value)):(E&&(E.style.display="none"),this._updateProperty("feature_type",N))}),E&&E.addEventListener("input",x=>{M&&M.value==="_custom"&&this._updateProperty("feature_type",x.target.value)});const P=this.container.querySelector("#pm-prop-input-category");P&&(P.addEventListener("change",x=>this._updateProperty("category",x.target.value)),P.tagName==="INPUT"&&P.addEventListener("input",x=>this._updateProperty("category",x.target.value)));const k=this.container.querySelector("#pm-prop-input-ordinal");if(k){const x=N=>{let Q=parseInt(N.target.value,10);isNaN(Q)&&(Q=0),this._updateProperty("ordinal",Q);const H=this.container.querySelector("#pm-coords-section");H&&(H.style.display=r!=="floor"?"block":"none");const j=this.geometryManager.draw.get(this.activeFeatureId);if(j&&j.geometry.type==="Point"){const Z=this.geometryManager.draw.getAll().features.find(ne=>(ne.properties.user_kind||ne.properties.kind)==="floor"&&(ne.properties.user_ordinal===Q||ne.properties.ordinal===Q));if(Z)try{const Ge=ye(Z).geometry.coordinates,[rt,Sn]=j.geometry.coordinates,{x:so,y:ao}=ge(rt,Sn,Ge);this._updateProperty("x",so),this._updateProperty("y",ao);const lo=this.container.querySelector("#pm-prop-display-x"),co=this.container.querySelector("#pm-prop-display-y");lo&&(lo.textContent=so.toFixed(2)),co&&(co.textContent=ao.toFixed(2))}catch(ne){console.error("Failed to calculate relative X/Y:",ne)}}};k.addEventListener("input",x),k.tagName==="SELECT"&&k.addEventListener("change",x)}const G=this.container.querySelector("#pm-prop-input-outdoor");G&&G.addEventListener("change",x=>this._updateProperty("outdoor",x.target.checked));const U=this.container.querySelector("#pm-prop-input-restricted");if(U&&U.addEventListener("change",x=>this._updateProperty("restricted",x.target.checked)),f){this.container.querySelectorAll(".pm-color-item").forEach(N=>{N.onclick=Q=>{const H=Q.currentTarget.dataset.color;this._updateProperty("color",H),this.container.querySelectorAll(".pm-color-item").forEach(Z=>Z.classList.remove("active")),N.classList.add("active");const j=this.container.querySelector("#pm-prop-custom-color");j&&(j.value=H);const ue=this.geometryManager.draw.get(this.activeFeatureId);this._updateIconGridColors(ue)}});const x=this.container.querySelector("#pm-prop-custom-color");x&&x.addEventListener("change",N=>{this._updateProperty("color",N.target.value);const Q=this.geometryManager.draw.get(this.activeFeatureId);this._render(Q)}),this.container.querySelectorAll(".pm-icon-item").forEach(N=>{N.onclick=Q=>{const H=Q.currentTarget.dataset.icon;this._updateProperty("icon",H),this.container.querySelectorAll(".pm-icon-item").forEach(j=>j.classList.remove("active")),N.classList.add("active"),this.container.querySelectorAll(".pm-icon-item").forEach(j=>{const ue=j.classList.contains("active"),Z=j.querySelector("i");Z&&(Z.style.color=ue?"#ffffff":"rgba(255,255,255,0.6)")})}})}const ee=this.container.querySelector("#pm-btn-add-prop");ee&&ee.addEventListener("click",x=>{if(x.preventDefault(),x.stopPropagation(),!this.activeFeatureId)return;const N=`prop_${Math.random().toString(36).substr(2,5)}`;this._updateProperty(N,"value");const Q=this.geometryManager.draw.get(this.activeFeatureId);if(Q){this._render(Q);const H=this.container.querySelector(".pm-prop-body");H&&setTimeout(()=>{H.scrollTop=H.scrollHeight},50)}}),this.container.querySelectorAll(".pm-custom-prop-row").forEach(x=>{const N=x.dataset.key,Q=x.querySelector(".pm-prop-custom-key"),H=x.querySelector(".pm-prop-custom-val"),j=x.querySelector(".pm-btn-remove-prop");Q&&Q.addEventListener("change",ue=>{const Z=ue.target.value.trim();if(Z&&Z!==N){const ne=H.value,Ge=this.geometryManager.draw.get(this.activeFeatureId);if(Ge){delete Ge.properties[`user_${N}`],this.geometryManager.draw.add(Ge),this._updateProperty(Z,ne);const rt=this.geometryManager.draw.get(this.activeFeatureId);rt&&this._render(rt)}}}),H&&H.addEventListener("input",ue=>{this._updateProperty(N,ue.target.value)}),j&&j.addEventListener("click",ue=>{ue.preventDefault(),ue.stopPropagation();const Z=this.geometryManager.draw.get(this.activeFeatureId);if(Z){delete Z.properties[`user_${N}`],this.geometryManager.draw.add(Z);const ne=this.geometryManager.draw.get(this.activeFeatureId);ne&&this._render(ne)}})})}_getIconForKind(e){return{beacon:"fas fa-broadcast-tower",poi:"fas fa-map-marker-alt",floor:"fas fa-layer-group",walkway:"fas fa-shoe-prints",obstacle:"fas fa-exclamation-triangle"}[e]||"fas fa-cog"}_updateIconGridColors(e){const t=e.properties||{},r=t.user_kind||t.kind,i=t.user_icon||(r==="beacon"?"broadcast-tower":"map-marker");this.container.querySelectorAll(".pm-icon-item").forEach(n=>{const s=n.dataset.icon===i,a=n.querySelector("i");a&&(a.style.color=s?"#ffffff":"rgba(255,255,255,0.6)")})}_updateProperty(e,t){if(!this.activeFeatureId||!this.geometryManager.draw)return;this._isEditing=!0;const r=e.startsWith("user_")?e:`user_${e}`;if(this.geometryManager.draw.setFeatureProperty(this.activeFeatureId,r,t),e==="height"||e==="user_height"){const n=e==="height"?"user_height":"height";this.geometryManager.draw.setFeatureProperty(this.activeFeatureId,n,t),this.geometryManager.syncUser3DBuildings&&this.geometryManager.syncUser3DBuildings()}this.geometryManager._updateBeaconPoiMarker&&this.geometryManager._updateBeaconPoiMarker(this.activeFeatureId);const i=this.geometryManager.draw.get(this.activeFeatureId);this.eventBus.emit("geometryLiveUpdate",{type:"update",features:[i]}),setTimeout(()=>{this._isEditing=!1},0)}}class dn{constructor(e,t,r={}){this.geometryManager=e,this.eventBus=t,this.container=null,this._currentMode="simple_select",this._onSelectionChange=this._onSelectionChange.bind(this),this._onGeometryChange=this._onGeometryChange.bind(this),this.selectedFeature=null,this.mode=r.mode||"standard",this.tooltip=new an,this.propertyEditor=new un(this.geometryManager,this.eventBus)}setMode(e){this.mode=e,this.container&&this._renderToolbar()}onAdd(e){this.map=e,this.container=document.createElement("div"),this.container.className="maplibregl-ctrl pm-draw-control-container",this.toolbar=document.createElement("div"),this.toolbar.className="pm-draw-toolbar",this.container.appendChild(this.toolbar),this._renderToolbar(),this.measurePanel=document.createElement("div"),this.measurePanel.className="pm-draw-measure-box pm-measure-panel",this.measurePanel.style.display="none",this.measurePanel.innerHTML=`
|
|
284
284
|
<div class="pm-measure-header">
|
|
285
285
|
<div class="pm-measure-header-title-wrap">
|
|
286
286
|
<span class="pm-measure-header-title">การวัด</span>
|
|
@@ -324,17 +324,17 @@
|
|
|
324
324
|
</div>
|
|
325
325
|
</div>
|
|
326
326
|
</div>
|
|
327
|
-
`,this.container.appendChild(this.toolbar),this.container.appendChild(this.measurePanel),this.toolbar.addEventListener("click",n=>{var c,u,d,p,h;const s=n.target.closest("button");if(!s)return;const a=s.getAttribute("data-tool"),l=["simple_select","draw_line_string","draw_polygon","draw_rectangle","draw_beacon","draw_poi","draw_walkway","draw_floor","draw_obstacle"];if(l.includes(a)&&(this.measurePanel.style.display="none",this.toolbar.querySelectorAll(".pm-draw-btn").forEach(g=>{l.includes(g.getAttribute("data-tool"))&&g.classList.remove("active")}),s.classList.add("active")),a==="simple_select")this._currentMode="simple_select",this.geometryManager.drawMode("simple_select");else if(a==="draw_line_string")this._currentMode="draw_line_string",this.geometryManager.drawMode("line");else if(a==="draw_polygon")this._currentMode="draw_polygon",this.geometryManager.drawMode("polygon");else if(a==="draw_rectangle")this._currentMode="draw_rectangle",this.geometryManager.drawMode("rectangle");else if(a==="draw_beacon"||a==="draw_poi"){const g=a==="draw_beacon"?"beacon":"poi",f=this.geometryManager.draw.getSelected();if(f&&f.features.length===1){const A=f.features[0];if((((c=A.properties)==null?void 0:c.user_kind)||((u=A.properties)==null?void 0:u.kind))===g){this.propertyEditor.show(A);return}}this._currentMode=a,this.geometryManager.drawMode(g)}else if(a==="draw_walkway")this._currentMode="draw_walkway",this.geometryManager.drawMode("walkway");else if(a==="draw_floor")this._currentMode="draw_floor",this.geometryManager.drawMode("floor");else if(a==="draw_obstacle")this._currentMode="draw_obstacle",this.geometryManager.drawMode("obstacle");else if(a==="delete"){const g=((d=this.geometryManager.getDrawInstance())==null?void 0:d.getSelectedIds())||[];g.length>0&&this.geometryManager.remove(g),this.measurePanel.style.display="none"}else if(a==="extrude")this._currentMode="extrude",this.geometryManager.beginExtrude&&this.geometryManager.beginExtrude();else if(a==="rotate")this._currentMode="rotate",this.geometryManager.beginRotate&&this.geometryManager.beginRotate();else if(a==="clone")this._currentMode="clone",this.geometryManager.beginClone&&this.geometryManager.beginClone();else if(a==="export")this._exportGeoJSON();else if(a==="import")this._triggerImport();else if(a==="save")this._triggerSave();else if(a==="settings"&&this.selectedFeature){const g=((p=this.selectedFeature.properties)==null?void 0:p.user_kind)||((h=this.selectedFeature.properties)==null?void 0:h.kind);["beacon","poi"].includes(g)&&this.propertyEditor.show(this.selectedFeature)}});const t=this.measurePanel.querySelector("#pm-height-down"),o=this.measurePanel.querySelector("#pm-height-up"),i=this.measurePanel.querySelector("#pm-measure-height-val");return t.addEventListener("click",()=>{if(!this.selectedFeature)return;const n=parseFloat(i.value)||0,s=Math.max(0,parseFloat((n-.1).toFixed(2)));this.geometryManager.setFeatureHeight(this.selectedFeature.id,s)}),o.addEventListener("click",()=>{if(!this.selectedFeature)return;const n=parseFloat(i.value)||0,s=parseFloat((n+.1).toFixed(2));this.geometryManager.setFeatureHeight(this.selectedFeature.id,s)}),i.addEventListener("change",()=>{if(!this.selectedFeature)return;let n=parseFloat(i.value);isNaN(n)&&(n=0),n=Math.max(0,n),this.geometryManager.setFeatureHeight(this.selectedFeature.id,n)}),i.addEventListener("keydown",n=>{n.key==="Enter"&&i.blur()}),this.eventBus.on("geometrySelectionChanged",this._onSelectionChange),this.eventBus.on("geometryChanged",this._onGeometryChange),this.map.on("draw.modechange",()=>this._syncToolbarButtons()),this.tooltip.attachToToolbar(this.toolbar),this.container}onRemove(){this.eventBus.off("geometrySelectionChanged",this._onSelectionChange),this.eventBus.off("geometryChanged",this._onGeometryChange),this.container&&this.container.parentNode&&this.container.parentNode.removeChild(this.container),this.propertyEditor&&this.propertyEditor.container&&this.propertyEditor.container.remove(),this.map=void 0}_onSelectionChange(e){!e||!e.features||e.features.length===0?this.selectedFeature=null:this.selectedFeature=e.features[0],this._updateMeasurements(),this._syncToolbarButtons()}_onGeometryChange(e){var t,o;if(e&&e.type==="create"&&e.features&&e.features.length>0){const i=e.features[0];this.selectedFeature=i;const n=((t=i.properties)==null?void 0:t.user_kind)||((o=i.properties)==null?void 0:o.kind);["beacon","poi"].includes(n)&&setTimeout(()=>{this.propertyEditor.show(i)},50)}this._updateMeasurements(),this._syncToolbarButtons()}_syncToolbarButtons(){if(!this.toolbar||!this.geometryManager.getDrawInstance())return;const e=this.geometryManager.getDrawInstance().getMode();this.toolbar.querySelectorAll(".pm-draw-btn").forEach(t=>{var i,n,s,a;const o=t.getAttribute("data-tool");if(t.classList.remove("active"),o==="simple_select"&&e==="simple_select"&&t.classList.add("active"),o==="draw_line_string"&&e==="draw_line_string"&&this._currentMode==="draw_line_string"&&t.classList.add("active"),o==="draw_polygon"&&e==="draw_polygon"&&this._currentMode==="draw_polygon"&&t.classList.add("active"),e==="draw_point"&&(o==="draw_beacon"&&this._currentMode==="draw_beacon"&&t.classList.add("active"),o==="draw_poi"&&this._currentMode==="draw_poi"&&t.classList.add("active")),e==="draw_line_string"&&o==="draw_walkway"&&this._currentMode==="draw_walkway"&&t.classList.add("active"),e==="draw_polygon"&&(o==="draw_floor"&&this._currentMode==="draw_floor"&&t.classList.add("active"),o==="draw_obstacle"&&this._currentMode==="draw_obstacle"&&t.classList.add("active")),o==="settings"){const l=((n=(i=this.selectedFeature)==null?void 0:i.properties)==null?void 0:n.user_kind)||((a=(s=this.selectedFeature)==null?void 0:s.properties)==null?void 0:a.kind),c=this.geometryManager.getDrawInstance().getMode(),d=["simple_select","direct_select"].includes(c)&&["beacon","poi","floor","walkway","obstacle"].includes(l);t.style.display=d?"flex":"none";const p=t.previousElementSibling;p&&p.classList.contains("pm-draw-divider")&&p.getAttribute("data-for")==="settings"&&(p.style.display=d?"block":"none")}if(o==="export"){const l=this.geometryManager.draw.getAll().features.length>0;t.style.display=l?"flex":"none";const c=t.previousElementSibling;c&&c.classList.contains("pm-draw-divider")&&(c.style.display=l?"block":"none")}})}_updateMeasurements(){var y,b,x,M,I,P;if(!this.selectedFeature){this.measurePanel.style.display="none";return}const e=this.geometryManager.getDrawInstance();if(!e)return;const t=e.get(this.selectedFeature.id);if(!t)return;this.measurePanel.style.display="flex";const o=this.measurePanel.querySelector("#pm-measure-val"),i=this.measurePanel.querySelector("#pm-measure-sub"),n=this.measurePanel.querySelector("#pm-measure-sub-2"),s=this.measurePanel.querySelector("#pm-measure-badge-mode"),a=this.measurePanel.querySelector("#pm-measure-icon-container");this.measurePanel.querySelector(".pm-measure-header-title-wrap");const l=this.measurePanel.querySelector(".pm-measure-settings-btn");l&&l.remove();const c=this.measurePanel.querySelector("#pm-measure-row-height"),u=this.measurePanel.querySelector("#pm-measure-height-val"),d='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" fill="currentColor"><path d="M209.1 516.2c-18.7 18.7-49.1 18.7-67.9 0L28.1 403.1c-18.7-18.7-18.7-49.1 0-67.9l17-17 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 17-17c18.7-18.7 49.1-18.7 67.9 0L548.5 108.9c18.7 18.7 18.7 49.1 0 67.9L209.1 516.2z"/></svg>',p='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M64 0c23.7 0 44.4 12.9 55.4 32l273.1 0c11.1-19.1 31.7-32 55.4-32 35.3 0 64 28.7 64 64 0 34-26.5 61.8-60 63.9l-2.1 2.9-71.5 99.1c3.6 8 5.6 16.9 5.6 26.2s-2 18.2-5.6 26.2l2.2 3.1 69.3 96 2.1 2.9c33.5 2.1 60 29.9 60 63.9 0 35.3-28.7 64-64 64-23.7 0-44.4-12.9-55.4-32l-273.1 0c-11.1 19.1-31.7 32-55.4 32-35.3 0-64-28.7-64-64 0-23.7 12.9-44.4 32-55.4l0-273.1C12.9 108.4 0 87.7 0 64 0 28.7 28.7 0 64 0zM394.2 413.4l-65.5-90.6-2.2-3.1c-2.1 .2-4.3 .3-6.5 .3-35.3 0-64-28.7-64-64s28.7-64 64-64c2.2 0 4.4 .1 6.5 .3l67.7-93.7c-.6-.9-1.1-1.7-1.6-2.6L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l273.1 0c.5-.9 1.1-1.8 1.6-2.6z"/></svg>',h='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" fill="currentColor"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"/></svg>';c.style.display="none";const g=((y=t.properties)==null?void 0:y.user_kind)||((b=t.properties)==null?void 0:b.kind),f=this.mode==="indoor";if(t.geometry.type==="LineString"){a.innerHTML=d;const k=wi(t,{units:"kilometers"}),G=k*1e3;o.innerHTML=`${G.toFixed(f?2:1)} <span style="font-size: 11px;">ม.</span>`,g==="walkway"?(i.textContent="ทางเดิน",s.textContent="ทางเดิน"):(i.textContent="ระยะทาง",s.textContent="เส้นลาก"),k>=1&&!f?n.textContent=`${k.toFixed(2)} กม.`:n.textContent="ความยาวรวม"}else if(t.geometry.type==="Polygon"){a.innerHTML=p;const k=Ai(t),G=k/1600;o.innerHTML=`${k.toFixed(f?2:1)} <span style="font-size: 11px; font-weight: 700;">ม.²</span>`,g==="floor"?(i.textContent="พื้น",s.textContent="พื้น"):g==="obstacle"?(i.textContent="สิ่งกีดขวาง",s.textContent="สิ่งกีดขวาง"):(i.textContent="พื้นที่",s.textContent="รูปทรง"),G>=.1&&!f?n.textContent=`${G.toFixed(2)} ไร่`:n.textContent="พื้นที่ครอบคลุม";const U=((x=t.properties)==null?void 0:x.user_height)!==void 0?t.properties.user_height:(M=t.properties)==null?void 0:M.height;if(U!==void 0){const ee=parseFloat(U);(ee>0||this._currentMode==="extrude")&&(c.style.display="flex",document.activeElement!==u&&(u.value=ee.toFixed(2)))}}else{a.innerHTML=h;const k=((I=t.properties)==null?void 0:I.user_ordinal)||((P=t.properties)==null?void 0:P.ordinal);let G=!1;if(k&&t.geometry.type==="Point"){const U=this.geometryManager.getDrawInstance();if(U){const ee=U.getAll().features.find(C=>{var N,Q,H,j;return(((N=C.properties)==null?void 0:N.user_kind)||((Q=C.properties)==null?void 0:Q.kind))==="floor"&&(((H=C.properties)==null?void 0:H.user_ordinal)===k||((j=C.properties)==null?void 0:j.ordinal)===k)});if(ee)try{const C=ye(ee),{x:N,y:Q}=ge(t.geometry.coordinates[0],t.geometry.coordinates[1],C.geometry.coordinates);o.innerHTML=`<span style="font-size:12px; font-weight:600; color:#64748b;">X</span> ${N.toFixed(2)} <span style="font-size:12px; font-weight:600; color:#64748b;">Y</span> ${Q.toFixed(2)}<span style="font-size:10px; margin-left:3px; color:#cbd5e1;">ม.</span>`,G=!0}catch{}}}if(!G&&t.geometry.type==="Point"){const[U,ee]=t.geometry.coordinates;o.innerHTML=`<span style="font-size:12px; font-weight:600; color:#64748b;">Lat</span> ${ee.toFixed(5)} <span style="font-size:12px; font-weight:600; color:#64748b;">Lng</span> ${U.toFixed(5)}`}else G||(o.textContent="-");g==="beacon"?(i.textContent="บีคอน",s.textContent="บีคอน"):g==="poi"?(i.textContent="จุดสนใจ",s.textContent="จุดสนใจ"):(i.textContent="จุด",s.textContent="Point"),n.textContent="พิกัดพอยต์"}if(["beacon","poi","floor","walkway","obstacle"].includes(g)){const k=document.createElement("button");k.className="pm-measure-settings-btn",k.title="Edit Properties",k.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6l-44.4 122.1c-3.1 8.6-11.5 14.2-20.5 14.2h-1.9l-56.7-10.2c-15.8 9.6-33.1 17.4-51.5 23.2l-13 57c-2.1 9-10.1 15.3-19.4 15.3l-88.7 0c-9.3 0-17.3-6.3-19.4-15.3l-13-57c-18.4-5.7-35.7-13.5-51.5-23.2l-56.7 10.2h-1.9c-9 0-17.4-5.6-20.5-14.2L3.1 345.4c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C51.7 273.1 51.1 264.6 51.1 256s.6-17.1 1.7-25.4L9.5 191.2c-6.9-6.2-9.6-15.9-6.4-24.6L47.5 44.5c3.1-8.6 11.5-14.2 20.5-14.2h1.9l56.7 10.2c15.8-9.6 33.1-17.4 51.5-23.2l13-57c2.1-9 10.1-15.3-19.4-15.3l88.7 0c9.3 0 17.3 6.3 19.4-15.3l13 57c18.4 5.7 35.7 13.5 51.5 23.2l56.7-10.2h1.9c9 0 17.4 5.6 20.5 14.2l44.4 122.1zM256 160c-53 0-96 43-96 96s43 96 96 96s96-43 96-96s-43-96-96-96z"/></svg>',k.onclick=U=>{U.stopPropagation(),this.propertyEditor.show(t)};const G=this.measurePanel.querySelector(".pm-measure-header-title-wrap");G&&G.appendChild(k)}}_renderToolbar(){if(!this.toolbar)return;const e='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M77.3 2.5c8.1-4.1 17.9-3.2 25.1 2.3l320 239.9c8.3 6.2 11.6 17 8.4 26.8s-12.4 16.4-22.8 16.4l-152.3 0 88.9 177.7c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3l-88.9-177.7-91.3 121.8c-6.2 8.3-17 11.6-26.8 8.4S64 434.3 64 424L64 24c0-9.1 5.1-17.4 13.3-21.5z"/></svg>',t='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M209.1 516.2c-18.7 18.7-49.1 18.7-67.9 0L28.1 403.1c-18.7-18.7-18.7-49.1 0-67.9l17-17 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 17-17c18.7-18.7 49.1-18.7 67.9 0L548.5 108.9c18.7 18.7 18.7 49.1 0 67.9L209.1 516.2z"/></svg>',o='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 0c23.7 0 44.4 12.9 55.4 32l273.1 0c11.1-19.1 31.7-32 55.4-32 35.3 0 64 28.7 64 64 0 34-26.5 61.8-60 63.9l-2.1 2.9-71.5 99.1c3.6 8 5.6 16.9 5.6 26.2s-2 18.2-5.6 26.2l2.2 3.1 69.3 96 2.1 2.9c33.5 2.1 60 29.9 60 63.9 0 35.3-28.7 64-64 64-23.7 0-44.4-12.9-55.4-32l-273.1 0c-11.1 19.1-31.7 32-55.4 32-35.3 0-64-28.7-64-64 0-23.7 12.9-44.4 32-55.4l0-273.1C12.9 108.4 0 87.7 0 64 0 28.7 28.7 0 64 0zM394.2 413.4l-65.5-90.6-2.2-3.1c-2.1 .2-4.3 .3-6.5 .3-35.3 0-64-28.7-64-64s28.7-64 64-64c2.2 0 4.4 .1 6.5 .3l67.7-93.7c-.6-.9-1.1-1.7-1.6-2.6L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l273.1 0c.5-.9 1.1-1.8 1.6-2.6z"/></svg>',i='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"/></svg>',n='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg>',s='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480.1 192l7.9 0c13.3 0 24-10.7 24-24l0-144c0-9.7-5.8-18.5-14.8-22.2S477.9 .2 471 7L419.3 58.8C375 22.1 318 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1C79.2 135.5 159.3 64 256 64 300.4 64 341.2 79 373.7 104.3L327 151c-6.9 6.9-8.9 17.2-5.2 26.2S334.3 192 344 192l136.1 0zm29.4 100.5c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-44.4 0-85.2-15-117.7-40.3L185 361c6.9-6.9 8.9-17.2-5.2-26.2S177.7 320 168 320L24 320c-13.3 0-24 10.7-24 24L0 488c0 9.7 5.8 18.5 14.8 22.2S34.1 511.8 41 505l51.8-51.8C137 489.9 194 512 256 512 385 512 491.7 416.6 509.4 292.5z"/></svg>',a='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-200.6c0-17.4-7.1-34.1-19.7-46.2L370.6 17.8C358.7 6.4 342.8 0 326.3 0L192 0zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-64 0 0 16-192 0 0-256 16 0 0-64-16 0z"/></svg>',l='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M136.7 5.9L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-8.7-26.1C306.9-7.2 294.7-16 280.9-16L167.1-16c-13.8 0-26 8.8-30.4 21.9zM416 144L32 144 53.1 467.1C54.7 492.4 75.7 512 101 512L347 512c25.3 0 46.3-19.6 47.9-44.9L416 144z"/></svg>',c='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/></svg>',u='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/></svg>',d='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6l-44.4 122.1c-3.1 8.6-11.5 14.2-20.5 14.2h-1.9l-56.7-10.2c-15.8 9.6-33.1 17.4-51.5 23.2l-13 57c-2.1 9-10.1 15.3-19.4 15.3l-88.7 0c-9.3 0-17.3-6.3-19.4-15.3l-13-57c-18.4-5.7-35.7-13.5-51.5-23.2l-56.7 10.2h-1.9c-9 0-17.4-5.6-20.5-14.2L3.1 345.4c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C51.7 273.1 51.1 264.6 51.1 256s.6-17.1 1.7-25.4L9.5 191.2c-6.9-6.2-9.6-15.9-6.4-24.6L47.5 44.5c3.1-8.6 11.5-14.2 20.5-14.2h1.9l56.7 10.2c15.8-9.6 33.1-17.4 51.5-23.2l13-57c2.1-9 10.1-15.3 19.4-15.3l88.7 0c9.3 0 17.3 6.3 19.4 15.3l13 57c18.4 5.7 35.7 13.5 51.5 23.2l56.7-10.2h1.9c9 0 17.4 5.6 20.5 14.2l44.4 122.1zM256 160c-53 0-96 43-96 96s43 96 96 96s96-43 96-96s-43-96-96-96z"/></svg>',p='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M48 96V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l-33.9-33.9c-12-12-18.7-28.3-18.7-45.3V128H304v48c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V80H64c-8.8 0-16 7.2-16 16zm128-16H272V80H176v0zM48 416V96C48 60.7 76.7 32 112 32H338.7c17 0 33.3 6.7 45.3 18.7l45.3 45.3C441.3 108 448 124.3 448 141.3V416c0 35.3-28.7 64-64 64H112c-35.3 0-64-28.7-64-64zm176-16H272V272H224v128z"/></svg>',h='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M448 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 112c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 240c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 368c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48z"/></svg>',g='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"/></svg>',f='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8c-11.4 0-21.7-4-29.7-10.7L256 240l-26.3-10.7c-8 6.7-18.3 10.7-29.7 10.7h-8c-26.5 0-48-21.5-48-48V80zm232 256c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h64zm-336 0c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H40c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h64z"/></svg>',A='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32L20 176l236 144 236-144L256 32zm0 304l-20-12.2V432l20 12.2 20-12.2V323.8l-20 12.2z"/></svg>',y='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0l256 128-256 128L0 128 256 0zM0 192l256 128 256-128v128L256 448 0 320V192zm256 192l256-128v128L256 512 0 384V256l256 128z"/></svg>';let b="";this.mode==="indoor"?b=`
|
|
327
|
+
`,this.container.appendChild(this.toolbar),this.container.appendChild(this.measurePanel),this.toolbar.addEventListener("click",n=>{var c,u,d,p,h;const s=n.target.closest("button");if(!s)return;const a=s.getAttribute("data-tool"),l=["simple_select","draw_line_string","draw_polygon","draw_rectangle","draw_beacon","draw_poi","draw_walkway","draw_floor","draw_obstacle"];if(l.includes(a)&&(this.measurePanel.style.display="none",this.toolbar.querySelectorAll(".pm-draw-btn").forEach(g=>{l.includes(g.getAttribute("data-tool"))&&g.classList.remove("active")}),s.classList.add("active")),a==="simple_select")this._currentMode="simple_select",this.geometryManager.drawMode("simple_select");else if(a==="draw_line_string")this._currentMode="draw_line_string",this.geometryManager.drawMode("line");else if(a==="draw_polygon")this._currentMode="draw_polygon",this.geometryManager.drawMode("polygon");else if(a==="draw_rectangle")this._currentMode="draw_rectangle",this.geometryManager.drawMode("rectangle");else if(a==="draw_beacon"||a==="draw_poi"){const g=a==="draw_beacon"?"beacon":"poi",f=this.geometryManager.draw.getSelected();if(f&&f.features.length===1){const y=f.features[0];if((((c=y.properties)==null?void 0:c.user_kind)||((u=y.properties)==null?void 0:u.kind))===g){this.propertyEditor.show(y);return}}this._currentMode=a,this.geometryManager.drawMode(g)}else if(a==="draw_walkway")this._currentMode="draw_walkway",this.geometryManager.drawMode("walkway");else if(a==="draw_floor")this._currentMode="draw_floor",this.geometryManager.drawMode("floor");else if(a==="draw_obstacle")this._currentMode="draw_obstacle",this.geometryManager.drawMode("obstacle");else if(a==="delete"){const g=((d=this.geometryManager.getDrawInstance())==null?void 0:d.getSelectedIds())||[];g.length>0&&this.geometryManager.remove(g),this.measurePanel.style.display="none"}else if(a==="extrude")this._currentMode="extrude",this.geometryManager.beginExtrude&&this.geometryManager.beginExtrude();else if(a==="rotate")this._currentMode="rotate",this.geometryManager.beginRotate&&this.geometryManager.beginRotate();else if(a==="clone")this._currentMode="clone",this.geometryManager.beginClone&&this.geometryManager.beginClone();else if(a==="export")this._exportGeoJSON();else if(a==="import")this._triggerImport();else if(a==="save")this._triggerSave();else if(a==="settings"&&this.selectedFeature){const g=((p=this.selectedFeature.properties)==null?void 0:p.user_kind)||((h=this.selectedFeature.properties)==null?void 0:h.kind);["beacon","poi"].includes(g)&&this.propertyEditor.show(this.selectedFeature)}});const t=this.measurePanel.querySelector("#pm-height-down"),r=this.measurePanel.querySelector("#pm-height-up"),i=this.measurePanel.querySelector("#pm-measure-height-val");return t.addEventListener("click",()=>{if(!this.selectedFeature)return;const n=parseFloat(i.value)||0,s=Math.max(0,parseFloat((n-.1).toFixed(2)));this.geometryManager.setFeatureHeight(this.selectedFeature.id,s)}),r.addEventListener("click",()=>{if(!this.selectedFeature)return;const n=parseFloat(i.value)||0,s=parseFloat((n+.1).toFixed(2));this.geometryManager.setFeatureHeight(this.selectedFeature.id,s)}),i.addEventListener("change",()=>{if(!this.selectedFeature)return;let n=parseFloat(i.value);isNaN(n)&&(n=0),n=Math.max(0,n),this.geometryManager.setFeatureHeight(this.selectedFeature.id,n)}),i.addEventListener("keydown",n=>{n.key==="Enter"&&i.blur()}),this.eventBus.on("geometrySelectionChanged",this._onSelectionChange),this.eventBus.on("geometryChanged",this._onGeometryChange),this.map.on("draw.modechange",()=>this._syncToolbarButtons()),this.tooltip.attachToToolbar(this.toolbar),this.container}onRemove(){this.eventBus.off("geometrySelectionChanged",this._onSelectionChange),this.eventBus.off("geometryChanged",this._onGeometryChange),this.container&&this.container.parentNode&&this.container.parentNode.removeChild(this.container),this.propertyEditor&&this.propertyEditor.container&&this.propertyEditor.container.remove(),this.map=void 0}_onSelectionChange(e){!e||!e.features||e.features.length===0?this.selectedFeature=null:this.selectedFeature=e.features[0],this._updateMeasurements(),this._syncToolbarButtons()}_onGeometryChange(e){var t,r;if(e&&e.type==="create"&&e.features&&e.features.length>0){const i=e.features[0];this.selectedFeature=i;const n=((t=i.properties)==null?void 0:t.user_kind)||((r=i.properties)==null?void 0:r.kind);["beacon","poi"].includes(n)&&setTimeout(()=>{this.propertyEditor.show(i)},50)}this._updateMeasurements(),this._syncToolbarButtons()}_syncToolbarButtons(){if(!this.toolbar||!this.geometryManager.getDrawInstance())return;const e=this.geometryManager.getDrawInstance().getMode();this.toolbar.querySelectorAll(".pm-draw-btn").forEach(t=>{var i,n,s,a;const r=t.getAttribute("data-tool");if(t.classList.remove("active"),r==="simple_select"&&e==="simple_select"&&t.classList.add("active"),r==="draw_line_string"&&e==="draw_line_string"&&this._currentMode==="draw_line_string"&&t.classList.add("active"),r==="draw_polygon"&&e==="draw_polygon"&&this._currentMode==="draw_polygon"&&t.classList.add("active"),e==="draw_point"&&(r==="draw_beacon"&&this._currentMode==="draw_beacon"&&t.classList.add("active"),r==="draw_poi"&&this._currentMode==="draw_poi"&&t.classList.add("active")),e==="draw_line_string"&&r==="draw_walkway"&&this._currentMode==="draw_walkway"&&t.classList.add("active"),e==="draw_polygon"&&(r==="draw_floor"&&this._currentMode==="draw_floor"&&t.classList.add("active"),r==="draw_obstacle"&&this._currentMode==="draw_obstacle"&&t.classList.add("active")),r==="settings"){const l=((n=(i=this.selectedFeature)==null?void 0:i.properties)==null?void 0:n.user_kind)||((a=(s=this.selectedFeature)==null?void 0:s.properties)==null?void 0:a.kind),c=this.geometryManager.getDrawInstance().getMode(),d=["simple_select","direct_select"].includes(c)&&["beacon","poi","floor","walkway","obstacle"].includes(l);t.style.display=d?"flex":"none";const p=t.previousElementSibling;p&&p.classList.contains("pm-draw-divider")&&p.getAttribute("data-for")==="settings"&&(p.style.display=d?"block":"none")}if(r==="export"){const l=this.geometryManager.draw.getAll().features.length>0;t.style.display=l?"flex":"none";const c=t.previousElementSibling;c&&c.classList.contains("pm-draw-divider")&&(c.style.display=l?"block":"none")}})}_updateMeasurements(){var A,b,w,M,E,P;if(!this.selectedFeature){this.measurePanel.style.display="none";return}const e=this.geometryManager.getDrawInstance();if(!e)return;const t=e.get(this.selectedFeature.id);if(!t)return;this.measurePanel.style.display="flex";const r=this.measurePanel.querySelector("#pm-measure-val"),i=this.measurePanel.querySelector("#pm-measure-sub"),n=this.measurePanel.querySelector("#pm-measure-sub-2"),s=this.measurePanel.querySelector("#pm-measure-badge-mode"),a=this.measurePanel.querySelector("#pm-measure-icon-container");this.measurePanel.querySelector(".pm-measure-header-title-wrap");const l=this.measurePanel.querySelector(".pm-measure-settings-btn");l&&l.remove();const c=this.measurePanel.querySelector("#pm-measure-row-height"),u=this.measurePanel.querySelector("#pm-measure-height-val"),d='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" fill="currentColor"><path d="M209.1 516.2c-18.7 18.7-49.1 18.7-67.9 0L28.1 403.1c-18.7-18.7-18.7-49.1 0-67.9l17-17 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 17-17c18.7-18.7 49.1-18.7 67.9 0L548.5 108.9c18.7 18.7 18.7 49.1 0 67.9L209.1 516.2z"/></svg>',p='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M64 0c23.7 0 44.4 12.9 55.4 32l273.1 0c11.1-19.1 31.7-32 55.4-32 35.3 0 64 28.7 64 64 0 34-26.5 61.8-60 63.9l-2.1 2.9-71.5 99.1c3.6 8 5.6 16.9 5.6 26.2s-2 18.2-5.6 26.2l2.2 3.1 69.3 96 2.1 2.9c33.5 2.1 60 29.9 60 63.9 0 35.3-28.7 64-64 64-23.7 0-44.4-12.9-55.4-32l-273.1 0c-11.1 19.1-31.7 32-55.4 32-35.3 0-64-28.7-64-64 0-23.7 12.9-44.4 32-55.4l0-273.1C12.9 108.4 0 87.7 0 64 0 28.7 28.7 0 64 0zM394.2 413.4l-65.5-90.6-2.2-3.1c-2.1 .2-4.3 .3-6.5 .3-35.3 0-64-28.7-64-64s28.7-64 64-64c2.2 0 4.4 .1 6.5 .3l67.7-93.7c-.6-.9-1.1-1.7-1.6-2.6L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l273.1 0c.5-.9 1.1-1.8 1.6-2.6z"/></svg>',h='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512" fill="currentColor"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"/></svg>';c.style.display="none";const g=((A=t.properties)==null?void 0:A.user_kind)||((b=t.properties)==null?void 0:b.kind),f=this.mode==="indoor";if(t.geometry.type==="LineString"){a.innerHTML=d;const k=wi(t,{units:"kilometers"}),G=k*1e3;r.innerHTML=`${G.toFixed(f?2:1)} <span style="font-size: 11px;">ม.</span>`,g==="walkway"?(i.textContent="ทางเดิน",s.textContent="ทางเดิน"):(i.textContent="ระยะทาง",s.textContent="เส้นลาก"),k>=1&&!f?n.textContent=`${k.toFixed(2)} กม.`:n.textContent="ความยาวรวม"}else if(t.geometry.type==="Polygon"){a.innerHTML=p;const k=Ai(t),G=k/1600;r.innerHTML=`${k.toFixed(f?2:1)} <span style="font-size: 11px; font-weight: 700;">ม.²</span>`,g==="floor"?(i.textContent="พื้น",s.textContent="พื้น"):g==="obstacle"?(i.textContent="สิ่งกีดขวาง",s.textContent="สิ่งกีดขวาง"):(i.textContent="พื้นที่",s.textContent="รูปทรง"),G>=.1&&!f?n.textContent=`${G.toFixed(2)} ไร่`:n.textContent="พื้นที่ครอบคลุม";const U=((w=t.properties)==null?void 0:w.user_height)!==void 0?t.properties.user_height:(M=t.properties)==null?void 0:M.height;if(U!==void 0){const ee=parseFloat(U);(ee>0||this._currentMode==="extrude")&&(c.style.display="flex",document.activeElement!==u&&(u.value=ee.toFixed(2)))}}else{a.innerHTML=h;const k=((E=t.properties)==null?void 0:E.user_ordinal)||((P=t.properties)==null?void 0:P.ordinal);let G=!1;if(k&&t.geometry.type==="Point"){const U=this.geometryManager.getDrawInstance();if(U){const ee=U.getAll().features.find(x=>{var N,Q,H,j;return(((N=x.properties)==null?void 0:N.user_kind)||((Q=x.properties)==null?void 0:Q.kind))==="floor"&&(((H=x.properties)==null?void 0:H.user_ordinal)===k||((j=x.properties)==null?void 0:j.ordinal)===k)});if(ee)try{const x=ye(ee),{x:N,y:Q}=ge(t.geometry.coordinates[0],t.geometry.coordinates[1],x.geometry.coordinates);r.innerHTML=`<span style="font-size:12px; font-weight:600; color:#64748b;">X</span> ${N.toFixed(2)} <span style="font-size:12px; font-weight:600; color:#64748b;">Y</span> ${Q.toFixed(2)}<span style="font-size:10px; margin-left:3px; color:#cbd5e1;">ม.</span>`,G=!0}catch{}}}if(!G&&t.geometry.type==="Point"){const[U,ee]=t.geometry.coordinates;r.innerHTML=`<span style="font-size:12px; font-weight:600; color:#64748b;">Lat</span> ${ee.toFixed(5)} <span style="font-size:12px; font-weight:600; color:#64748b;">Lng</span> ${U.toFixed(5)}`}else G||(r.textContent="-");g==="beacon"?(i.textContent="บีคอน",s.textContent="บีคอน"):g==="poi"?(i.textContent="จุดสนใจ",s.textContent="จุดสนใจ"):(i.textContent="จุด",s.textContent="Point"),n.textContent="พิกัดพอยต์"}if(["beacon","poi","floor","walkway","obstacle"].includes(g)){const k=document.createElement("button");k.className="pm-measure-settings-btn",k.title="Edit Properties",k.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="currentColor"><path d="M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6l-44.4 122.1c-3.1 8.6-11.5 14.2-20.5 14.2h-1.9l-56.7-10.2c-15.8 9.6-33.1 17.4-51.5 23.2l-13 57c-2.1 9-10.1 15.3-19.4 15.3l-88.7 0c-9.3 0-17.3-6.3-19.4-15.3l-13-57c-18.4-5.7-35.7-13.5-51.5-23.2l-56.7 10.2h-1.9c-9 0-17.4-5.6-20.5-14.2L3.1 345.4c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C51.7 273.1 51.1 264.6 51.1 256s.6-17.1 1.7-25.4L9.5 191.2c-6.9-6.2-9.6-15.9-6.4-24.6L47.5 44.5c3.1-8.6 11.5-14.2 20.5-14.2h1.9l56.7 10.2c15.8-9.6 33.1-17.4 51.5-23.2l13-57c2.1-9 10.1-15.3-19.4-15.3l88.7 0c9.3 0 17.3 6.3 19.4-15.3l13 57c18.4 5.7 35.7 13.5 51.5 23.2l56.7-10.2h1.9c9 0 17.4 5.6 20.5 14.2l44.4 122.1zM256 160c-53 0-96 43-96 96s43 96 96 96s96-43 96-96s-43-96-96-96z"/></svg>',k.onclick=U=>{U.stopPropagation(),this.propertyEditor.show(t)};const G=this.measurePanel.querySelector(".pm-measure-header-title-wrap");G&&G.appendChild(k)}}_renderToolbar(){if(!this.toolbar)return;const e='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M77.3 2.5c8.1-4.1 17.9-3.2 25.1 2.3l320 239.9c8.3 6.2 11.6 17 8.4 26.8s-12.4 16.4-22.8 16.4l-152.3 0 88.9 177.7c7.9 15.8 1.5 35-14.3 42.9s-35 1.5-42.9-14.3l-88.9-177.7-91.3 121.8c-6.2 8.3-17 11.6-26.8 8.4S64 434.3 64 424L64 24c0-9.1 5.1-17.4 13.3-21.5z"/></svg>',t='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M209.1 516.2c-18.7 18.7-49.1 18.7-67.9 0L28.1 403.1c-18.7-18.7-18.7-49.1 0-67.9l17-17 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 17-17c18.7-18.7 49.1-18.7 67.9 0L548.5 108.9c18.7 18.7 18.7 49.1 0 67.9L209.1 516.2z"/></svg>',r='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M64 0c23.7 0 44.4 12.9 55.4 32l273.1 0c11.1-19.1 31.7-32 55.4-32 35.3 0 64 28.7 64 64 0 34-26.5 61.8-60 63.9l-2.1 2.9-71.5 99.1c3.6 8 5.6 16.9 5.6 26.2s-2 18.2-5.6 26.2l2.2 3.1 69.3 96 2.1 2.9c33.5 2.1 60 29.9 60 63.9 0 35.3-28.7 64-64 64-23.7 0-44.4-12.9-55.4-32l-273.1 0c-11.1 19.1-31.7 32-55.4 32-35.3 0-64-28.7-64-64 0-23.7 12.9-44.4 32-55.4l0-273.1C12.9 108.4 0 87.7 0 64 0 28.7 28.7 0 64 0zM394.2 413.4l-65.5-90.6-2.2-3.1c-2.1 .2-4.3 .3-6.5 .3-35.3 0-64-28.7-64-64s28.7-64 64-64c2.2 0 4.4 .1 6.5 .3l67.7-93.7c-.6-.9-1.1-1.7-1.6-2.6L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l273.1 0c.5-.9 1.1-1.8 1.6-2.6z"/></svg>',i='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M384 80c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16l320 0zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z"/></svg>',n='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg>',s='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M480.1 192l7.9 0c13.3 0 24-10.7 24-24l0-144c0-9.7-5.8-18.5-14.8-22.2S477.9 .2 471 7L419.3 58.8C375 22.1 318 0 256 0 127 0 20.3 95.4 2.6 219.5 .1 237 12.2 253.2 29.7 255.7s33.7-9.7 36.2-27.1C79.2 135.5 159.3 64 256 64 300.4 64 341.2 79 373.7 104.3L327 151c-6.9 6.9-8.9 17.2-5.2 26.2S334.3 192 344 192l136.1 0zm29.4 100.5c2.5-17.5-9.7-33.7-27.1-36.2s-33.7 9.7-36.2 27.1c-13.3 93-93.4 164.5-190.1 164.5-44.4 0-85.2-15-117.7-40.3L185 361c6.9-6.9 8.9-17.2-5.2-26.2S177.7 320 168 320L24 320c-13.3 0-24 10.7-24 24L0 488c0 9.7 5.8 18.5 14.8 22.2S34.1 511.8 41 505l51.8-51.8C137 489.9 194 512 256 512 385 512 491.7 416.6 509.4 292.5z"/></svg>',a='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-200.6c0-17.4-7.1-34.1-19.7-46.2L370.6 17.8C358.7 6.4 342.8 0 326.3 0L192 0zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-64 0 0 16-192 0 0-256 16 0 0-64-16 0z"/></svg>',l='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M136.7 5.9L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-8.7-26.1C306.9-7.2 294.7-16 280.9-16L167.1-16c-13.8 0-26 8.8-30.4 21.9zM416 144L32 144 53.1 467.1C54.7 492.4 75.7 512 101 512L347 512c25.3 0 46.3-19.6 47.9-44.9L416 144z"/></svg>',c='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/></svg>',u='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M288 109.3L288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-242.7-73.4 73.4c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L288 109.3zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352 64 352zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/></svg>',d='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M495.9 166.6c3.2 8.7 .5 18.4-6.4 24.6l-43.3 39.4c1.1 8.3 1.7 16.8 1.7 25.4s-.6 17.1-1.7 25.4l43.3 39.4c6.9 6.2 9.6 15.9 6.4 24.6l-44.4 122.1c-3.1 8.6-11.5 14.2-20.5 14.2h-1.9l-56.7-10.2c-15.8 9.6-33.1 17.4-51.5 23.2l-13 57c-2.1 9-10.1 15.3-19.4 15.3l-88.7 0c-9.3 0-17.3-6.3-19.4-15.3l-13-57c-18.4-5.7-35.7-13.5-51.5-23.2l-56.7 10.2h-1.9c-9 0-17.4-5.6-20.5-14.2L3.1 345.4c-3.2-8.7-.5-18.4 6.4-24.6l43.3-39.4C51.7 273.1 51.1 264.6 51.1 256s.6-17.1 1.7-25.4L9.5 191.2c-6.9-6.2-9.6-15.9-6.4-24.6L47.5 44.5c3.1-8.6 11.5-14.2 20.5-14.2h1.9l56.7 10.2c15.8-9.6 33.1-17.4 51.5-23.2l13-57c2.1-9 10.1-15.3 19.4-15.3l88.7 0c9.3 0 17.3 6.3 19.4 15.3l13 57c18.4 5.7 35.7 13.5 51.5 23.2l56.7-10.2h1.9c9 0 17.4 5.6 20.5 14.2l44.4 122.1zM256 160c-53 0-96 43-96 96s43 96 96 96s96-43 96-96s-43-96-96-96z"/></svg>',p='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M48 96V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l-33.9-33.9c-12-12-18.7-28.3-18.7-45.3V128H304v48c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V80H64c-8.8 0-16 7.2-16 16zm128-16H272V80H176v0zM48 416V96C48 60.7 76.7 32 112 32H338.7c17 0 33.3 6.7 45.3 18.7l45.3 45.3C441.3 108 448 124.3 448 141.3V416c0 35.3-28.7 64-64 64H112c-35.3 0-64-28.7-64-64zm176-16H272V272H224v128z"/></svg>',h='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M448 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 112c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 112c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 240c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 240c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zM448 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM304 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM144 368c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zM0 368c0 26.5 21.5 48 48 48s 48-21.5 48-48-21.5-48-48-48-48 21.5-48 48z"/></svg>',g='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"/></svg>',f='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8c-11.4 0-21.7-4-29.7-10.7L256 240l-26.3-10.7c-8 6.7-18.3 10.7-29.7 10.7h-8c-26.5 0-48-21.5-48-48V80zm232 256c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-64c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h64zm-336 0c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H40c-26.5 0-48-21.5-48-48v-64c0-26.5 21.5-48 48-48h64z"/></svg>',y='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 32L20 176l236 144 236-144L256 32zm0 304l-20-12.2V432l20 12.2 20-12.2V323.8l-20 12.2z"/></svg>',A='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 0l256 128-256 128L0 128 256 0zM0 192l256 128 256-128v128L256 448 0 320V192zm256 192l256-128v128L256 512 0 384V256l256 128z"/></svg>';let b="";this.mode==="indoor"?b=`
|
|
328
328
|
<button class="pm-draw-btn active" data-tool="simple_select" title="Select Tool">${e}</button>
|
|
329
329
|
<button class="pm-draw-btn" data-tool="draw_beacon" title="Place Beacon">${h}</button>
|
|
330
330
|
<button class="pm-draw-btn" data-tool="draw_poi" title="Place POI">${g}</button>
|
|
331
331
|
<button class="pm-draw-btn" data-tool="draw_walkway" title="Create Walkway">${f}</button>
|
|
332
|
-
<button class="pm-draw-btn" data-tool="draw_floor" title="Create Floor">${
|
|
333
|
-
<button class="pm-draw-btn" data-tool="draw_obstacle" title="Create Obstacle">${
|
|
332
|
+
<button class="pm-draw-btn" data-tool="draw_floor" title="Create Floor">${y}</button>
|
|
333
|
+
<button class="pm-draw-btn" data-tool="draw_obstacle" title="Create Obstacle">${A}</button>
|
|
334
334
|
`:b=`
|
|
335
335
|
<button class="pm-draw-btn active" data-tool="simple_select" title="Select Tool">${e}</button>
|
|
336
336
|
<button class="pm-draw-btn" data-tool="draw_line_string" title="Draw Line (Measure)">${t}</button>
|
|
337
|
-
<button class="pm-draw-btn" data-tool="draw_polygon" title="Draw Polygon (Area)">${
|
|
337
|
+
<button class="pm-draw-btn" data-tool="draw_polygon" title="Draw Polygon (Area)">${r}</button>
|
|
338
338
|
<button class="pm-draw-btn" data-tool="draw_rectangle" title="Draw Rectangle">${i}</button>
|
|
339
339
|
`,b+=`
|
|
340
340
|
<div class="pm-draw-divider"></div>
|
|
@@ -352,7 +352,7 @@
|
|
|
352
352
|
<div class="pm-draw-divider" data-for="settings" style="display: none;"></div>
|
|
353
353
|
<button class="pm-draw-btn" data-tool="settings" title="Settings" style="display: none;">${d}</button>
|
|
354
354
|
`:""}
|
|
355
|
-
`,this.toolbar.innerHTML=b,this.tooltip&&this.tooltip.attachToToolbar(this.toolbar)}_exportGeoJSON(){try{const e=this.mode==="indoor"?"imdf":"standard",t=this.geometryManager.export({format:e});this.eventBus.emit("geometryExported",{data:t,format:e});const o=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),i=URL.createObjectURL(o),n=document.createElement("a");n.href=i,n.download=`powermap-export-${new Date().getTime()}.json`,n.click(),URL.revokeObjectURL(i)}catch(e){const t=e instanceof PowerMapError?e:new PowerMapError(`Failed to export data: ${e.message}`,ErrorCode.UNKNOWN,"editor",{originalError:e});this.eventBus.emit("error",t)}}_triggerImport(){const e=document.createElement("input");e.type="file",e.accept=".json,application/json",e.onchange=t=>{const o=t.target.files[0];if(!o)return;const i=new FileReader;i.onload=n=>{try{const s=JSON.parse(n.target.result),a=this.mode==="indoor"?"imdf":"standard";this.geometryManager.import(s,{format:a})}catch(s){const a=s instanceof PowerMapError?s:new PowerMapError(`Failed to parse or import GeoJSON: ${s.message}`,ErrorCode.INVALID_PARAMETERS,"editor",{originalError:s});this.eventBus.emit("error",a)}},i.onerror=()=>{const n=new PowerMapError("Failed to read the selected file.",ErrorCode.UNKNOWN,"editor");this.eventBus.emit("error",n)},i.readAsText(o)},e.click()}_triggerSave(){try{const e=this.mode==="indoor"?"imdf":"standard",t=this.geometryManager.export({format:e});this.eventBus.emit("geometrySaveRequested",{data:t,format:e})}catch(e){typeof PowerMapError<"u"&&e instanceof PowerMapError?this.eventBus.emit("error",e):console.error(e)}}}class pn{constructor(e){this.mapManager=e.registry.get("map"),this.geometryManager=e.registry.get("geometry"),this.eventBus=e.eventBus,this.isEnabled=!1,this.control=null,this.mode=e.mode||"standard"}enable(e={}){if(this.isEnabled)return;const t=this.mapManager.getMap();if(!t){this.eventBus.on("mapLoaded",()=>this.enable(e));return}this.geometryManager.getDrawInstance()||this.geometryManager.initDraw(t);const o=e.position||"bottom-left";this.mode=e.mode||this.mode;try{this.control=new dn(this.geometryManager,this.eventBus,{mode:this.mode}),this.control.setMode&&this.control.setMode(this.mode),t.addControl(this.control,o),this.isEnabled=!0}catch(i){const n=new w(`Failed to enable editor: ${i.message}`,v.UNKNOWN,"editor",{originalError:i});throw this.eventBus.emit("error",n),n}}setMode(e){this.mode=e,this.control&&this.control.setMode&&this.control.setMode(e)}disable(){if(!this.isEnabled)return;const e=this.mapManager.getMap();e&&this.control&&e.removeControl(this.control),this.control=null,this.isEnabled=!1}attach(e){const t=typeof e=="object"?e.id:e;if(!t)throw new w("Feature ID is required to attach editor.",v.INVALID_PARAMETERS,"editor");const o=this.geometryManager.getDrawInstance();if(!o)throw new w("Cannot attach: Draw instance not initialized.",v.MAP_NOT_INITIALIZED,"editor");try{o.changeMode("direct_select",{featureId:t})}catch(i){const n=new w(`Could not attach to feature ${t}: ${i.message}`,v.UNKNOWN,"editor",{originalError:i});throw this.eventBus.emit("error",n),n}}detach(){const e=this.geometryManager.getDrawInstance();e&&e.changeMode("simple_select")}}class hn{constructor(e){this.mapManager=e.registry.get("map"),this.eventBus=e.eventBus,this.isEnabled=!1,this.panel=null,this.fps=0,this.frameCount=0,this.lastTime=performance.now(),this.lastFpsCalc=this.lastTime,this._onRender=this._onRender.bind(this),this._onMove=this._onMove.bind(this),this.showFps=!0,this.showCoord=!0}enable(e={}){if(this.isEnabled)return;const t=this.mapManager.getMap();if(!t)throw new w("Cannot enable debug panel: Map is not initialized.",v.MAP_NOT_INITIALIZED,"debug");const o=e.position||"top-left";this.panel=document.createElement("div"),this.panel.className="pm-debug-panel",Object.assign(this.panel.style,{position:"absolute",background:"rgba(0, 0, 0, 0.7)",color:"#0f0",padding:"12px",fontFamily:'"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',fontSize:"13px",borderRadius:"8px",zIndex:"9999",pointerEvents:"none",lineHeight:"1.6",boxShadow:"0 4px 6px rgba(0,0,0,0.3)",border:"1px solid rgba(0,255,0,0.3)"}),o.includes("top")&&(this.panel.style.top="10px"),o.includes("bottom")&&(this.panel.style.bottom="40px"),o.includes("left")&&(this.panel.style.left="10px"),o.includes("right")&&(this.panel.style.right="10px"),t.getContainer().appendChild(this.panel),t.on("render",this._onRender),t.on("move",this._onMove),this.isEnabled=!0,this._updateUI()}disable(){if(!this.isEnabled)return;const e=this.mapManager.getMap();e&&(e.off("render",this._onRender),e.off("move",this._onMove)),this.panel&&this.panel.parentNode&&this.panel.parentNode.removeChild(this.panel),this.panel=null,this.isEnabled=!1}showFPS(e=!0){this.showFps=e,this._updateUI()}showCoordinate(e=!0){this.showCoord=e,this._updateUI()}_onRender(){const e=performance.now();this.frameCount++,e>=this.lastFpsCalc+1e3&&(this.fps=Math.round(this.frameCount*1e3/(e-this.lastFpsCalc)),this.frameCount=0,this.lastFpsCalc=e,this._updateUI())}_onMove(){this._updateUI()}_updateUI(){if(!this.isEnabled||!this.panel)return;const e=this.mapManager.getMap();if(!e)return;let t="<strong>PowerMap Debug</strong><br/>";if(this.showFps){const o=this.fps<30?"red":this.fps<50?"orange":"#0f0";t+=`FPS: <span style="color:${o}">${this.fps}</span><br/>`}if(this.showCoord){const o=e.getCenter();t+=`Lng: ${o.lng.toFixed(5)}<br/>`,t+=`Lat: ${o.lat.toFixed(5)}<br/>`,t+=`Zoom: ${e.getZoom().toFixed(2)}<br/>`,t+=`Pitch: ${e.getPitch().toFixed(1)}°<br/>`,t+=`Bearing: ${e.getBearing().toFixed(1)}°<br/>`;const i=e.getBounds();t+='<div style="font-size:10px; color:#aaa; margin-top:8px;">',t+=`NE: ${i.getNorthEast().lng.toFixed(3)}, ${i.getNorthEast().lat.toFixed(3)}<br/>`,t+=`SW: ${i.getSouthWest().lng.toFixed(3)}, ${i.getSouthWest().lat.toFixed(3)}`,t+="</div>"}this.panel.innerHTML=t}}const Dt=new Map;async function gn(r){if(Dt.has(r))return Dt.get(r);const e=await fetch(r);if(!e.ok)throw new w(`Fetch style failed: ${r}`,v.API_REQUEST_FAILED,"layers");const t=await e.json();return Dt.set(r,t),t}function fn(r){return`${r}/api/v2/map/vtile`}function he(r,e){if(!e||r.includes("apikey="))return r;const t=r.includes("?")?"&":"?";return`${r}${t}apikey=${encodeURIComponent(e)}`}function mn(r,e,t){if(!r)return r;if(r.startsWith(e))return he(r,t);if(r.startsWith("mbtiles://")){const i=r.replace("mbtiles://","").replace(/\.mbtiles$/i,"");return he(`${e}/data/${i}.json`,t)}const o=r.match(/\/data\/([^/]+)\.json$/i);return o?he(`${e}/data/${o[1]}.json`,t):r}function An(r,e,t){if(!r)return r;if(r.startsWith(e))return he(r,t);const o=r.match(/^https?:\/\/[^/]+\/data\/([^/]+)\/\{z\}\/\{x\}\/\{y\}\.pbf(?:\?.*)?$/i);return o?he(`${e}/data/${o[1]}/{z}/{x}/{y}.pbf`,t):r}function yn(r,e,t,o,i,n=()=>!0){var s;try{if(!n()||!((s=r==null?void 0:r.getStyle)!=null&&s.call(r))||r.getSource(e))return;const a={type:"vector"};if(Array.isArray(t.tiles)&&t.tiles.length)a.tiles=t.tiles.map(l=>An(l,o,i));else if(t.url&&t.url.startsWith("mbtiles://")){const l=t.url.replace("mbtiles://","").replace(/\.mbtiles$/i,"");a.tiles=[he(`${o}/data/${l}/{z}/{x}/{y}.pbf`,i)]}else if(t.url){const l=t.url.match(/\/data\/([^/]+)\.json(?:\?.*)?$/i);l?a.tiles=[he(`${o}/data/${l[1]}/{z}/{x}/{y}.pbf`,i)]:a.url=mn(t.url,o,i)}if(!n())return;r.addSource(e,a)}catch{}}function bn(r){var e,t,o;try{return(o=(((t=(e=r==null?void 0:r.getStyle)==null?void 0:e.call(r))==null?void 0:t.layers)||[]).find(i=>i.type==="symbol"))==null?void 0:o.id}catch{return}}async function Se(r,e,{ns:t="rp",includeFn:o=()=>!0,defaultVis:i="none",beforeId:n=void 0,base:s,apiKey:a}={}){var g;if(!(r!=null&&r.getStyle))return;const l=r.__pmNonce,c=()=>{try{return!r||r.__pmDestroyed||r._removed||r.__pmNonce!==l?!1:!!r.getStyle()}catch{return!1}},u=f=>{try{return c()?r.getLayer(f):void 0}catch{return}};if(!c())return;let d=null;try{d=await gn(e)}catch{console.warn("fetchStyle failed:",e);return}if(!c())return;const p={};for(const[f,A]of Object.entries(d.sources||{})){if(!c())return;const y=`${t}-src-${f}`;yn(r,y,A,s,a,c),p[f]=y}for(const f of d.layers||[]){if(!o(f))continue;if(!c())return;const A=`${t}-${f.id}`;if(u(A))continue;const y=JSON.parse(JSON.stringify(f));y.id=A,p[y.source]&&(y.source=p[y.source]),y.layout=y.layout||{},y.layout.visibility=i;try{if(!c())return;r.addLayer(y,n)}catch{}}if(!c())return;const h=(g=r.__pmDesiredVis)==null?void 0:g[t];return typeof h=="boolean"&&no(r,t,h,c),{prefix:t}}function no(r,e,t,o=()=>!0){var i;try{if(!o())return;const n=t?"visible":"none",s=(((i=r.getStyle())==null?void 0:i.layers)||[]).filter(a=>a.id.startsWith(e+"-"));for(const a of s){if(!o())return;try{r.setLayoutProperty(a.id,"visibility",n)}catch{}}}catch{}}async function Nt(r,e,t=e,o){if(!(r!=null&&r.getStyle))return;const i=r.__pmNonce,n=()=>{try{return!r||r.__pmDestroyed||r._removed||r.__pmNonce!==i?!1:!!r.getStyle()}catch{return!1}},s=y=>{try{return n()?!!(r.hasImage&&r.hasImage(y)):!1}catch{return!1}};if(r.isStyleLoaded&&!r.isStyleLoaded()&&await new Promise(y=>{if(!n())return y();const b=()=>{x(),y()},x=()=>{try{r.off("styledata",b)}catch{}try{r.off("load",b)}catch{}};r.on("styledata",b),r.on("load",b),setTimeout(()=>{x(),y()},1500)}),!n()||(r.__pmSpriteLoaded=r.__pmSpriteLoaded||{},r.__pmSpriteLoaded[t]))return;const a=y=>he(y,o),c=(window.devicePixelRatio||1)>1.5?[a(`${e}@2x.json`),a(`${e}@2x.png`),a(`${e}.json`),a(`${e}.png`)]:[a(`${e}.json`),a(`${e}.png`),a(`${e}@2x.json`),a(`${e}@2x.png`)];let u,d,p=1;for(let y=0;y<c.length;y+=2){if(!n())return;try{const[b,x]=[c[y],c[y+1]],M=await fetch(b);if(!M.ok)throw 0;if(u=await M.json(),!n())return;const I=await fetch(x);if(!I.ok)throw 0;const P=await I.blob();if(!n())return;d="createImageBitmap"in window?await createImageBitmap(P):await A(P),p=b.includes("@2x")?2:1;break}catch{}}if(!n())return;if(!u||!d){console.warn("sprite load failed for",e);return}const h="createImageBitmap"in window&&d instanceof ImageBitmap,g=h?null:document.createElement("canvas"),f=g?g.getContext("2d"):null;for(const[y,b]of Object.entries(u)){if(!n())return;if(s(y))continue;const{x,y:M,width:I,height:P,sdf:k}=b;let G;if(h?G=await createImageBitmap(d,x,M,I,P):(g.width=I,g.height=P,f.clearRect(0,0,I,P),f.drawImage(d,x,M,I,P,0,0,I,P),G=g),!n())return;try{r.addImage(y,G,{pixelRatio:p,sdf:!!k})}catch{}}if(!n())return;r.__pmSpriteLoaded[t]=!0;function A(y){return new Promise((b,x)=>{const M=new Image;M.onload=()=>b(M),M.onerror=x,M.crossOrigin="anonymous",M.src=URL.createObjectURL(y)})}}function wn(r,e){const t=o=>he(o,e);return[{key:"city",label:"CITY PLAN",items:[ce("pm-bangkok-layer","Bangkok","PM_Bangkok",r,e),ce("pm-nakhon-pathom-layer","Nakhon Pathom","PM_Nakhon_Pathom",r,e),ce("pm-ayutthaya-layer","Ayutthaya","PM_Phra_Nakhon_Si_Ayutthaya",r,e),ce("pm-chonburi-layer","Chon Buri","PM_Chon_Buri",r,e),ce("pm-samutprakan-layer","Samut Prakan","PM_Samut_Prakan",r,e),ce("pm-rayong-layer","Rayong","PM_Rayong",r,e),ce("pm-samutsakhon-layer","Samut Sakhon","PM_Samut_Sakhon",r,e,{tileSize:128}),ce("pm-pathumthani-layer","Pathum Thani","PM_Pathumthani",r,e,{tileSize:128}),ce("pm-ubonratchathani-layer","Ubon Ratchathani","PM_Ubon_Ratchathani",r,e,{tileSize:128}),ce("pm-nonthaburi-layer","Nonthaburi","PM_Nonthaburi",r,e,{tileSize:128}),ce("pm-chachoengsao-layer","Chachoengsao","PM_Chachoengsao",r,e,{tileSize:128})]},{key:"transport",label:"TRANSPORT",items:[{id:"pm-road-vt",name:"Road",groupPrefix:"vt-road",ensure:async o=>{if(!(o!=null&&o.getStyle()))return;const i=t(`${r}/transport/road_poi/style.json`);o.__pmRoadVt||(await Se(o,i,{ns:"vt-road",defaultVis:"none",includeFn:n=>n?n.type==="line"?!0:n.type==="symbol"&&n.source==="road"?n["source-layer"]==="road_name":!1:!1,base:r,apiKey:e}),o.__pmRoadVt=!0)}},{id:"pm-post-elec-vt",name:"Post Election",groupPrefix:"vt-postelec",ensure:async o=>{if(!(o!=null&&o.getStyle()))return;const i=t(`${r}/transport/post_elec/style.json`),n=`${r}/transport/post_elec/sprite`;o.__pmGroupReady=o.__pmGroupReady||{},!o.__pmGroupReady["vt-postelec"]&&(await Nt(o,n,"post_elec",e),await Se(o,i,{ns:"vt-postelec",defaultVis:"none",includeFn:s=>(s==null?void 0:s.type)==="symbol",base:r,apiKey:e}),o.__pmGroupReady["vt-postelec"]=!0)}},Le({id:"pm-future-motorway-th-vt",name:"Future Motorway TH",ns:"vt-fmw-th",stylePath:"transport/future_motorway_th",flagPrefix:"__pmFutureMwTh",base:r,apiKey:e,tk:t}),Le({id:"pm-future-motorway-en-vt",name:"Future Motorway EN",ns:"vt-fmw-en",stylePath:"transport/future_motorway_en",flagPrefix:"__pmFutureMwEn",base:r,apiKey:e,tk:t}),Le({id:"pm-current-railway-th-vt",name:"Current Railway TH",ns:"vt-railth-cur",stylePath:"transport/current_railway_th",flagPrefix:"__pmRailTh",base:r,apiKey:e,tk:t}),Le({id:"pm-current-railway-en-vt",name:"Current Railway EN",ns:"vt-railen-cur",stylePath:"transport/current_railway_en",flagPrefix:"__pmRailEn",base:r,apiKey:e,tk:t}),Le({id:"pm-future-railway-th-vt",name:"Future Railway TH",ns:"vt-railth-future",stylePath:"transport/future_railway_th",flagPrefix:"__pmFRailTh",base:r,apiKey:e,tk:t}),Le({id:"pm-future-railway-en-vt",name:"Future Railway EN",ns:"vt-railen-future",stylePath:"transport/future_railway_en",flagPrefix:"__pmFRailEn",base:r,apiKey:e,tk:t}),tt({id:"pm-current-bts-mrt-th-vt",name:"Current BTS MRT TH",ns:"vt-btsmrt-cur-th",stylePath:"transport/current_bts_mrt_th",flagPrefix:"__pmBTSMRTTH",base:r,apiKey:e,tk:t}),tt({id:"pm-current-bts-mrt-en-vt",name:"Current BTS MRT EN",ns:"vt-btsmrt-cur-en",stylePath:"transport/current_bts_mrt_en",flagPrefix:"__pmBTSMRTEN",base:r,apiKey:e,tk:t}),tt({id:"pm-future-bts-mrt-th-vt",name:"Future BTS MRT TH",ns:"vt-btsmrt-fut-th",stylePath:"transport/future_bts_mrt_th",flagPrefix:"__pmBTSMRT_FUTTH",base:r,apiKey:e,tk:t}),tt({id:"pm-future-bts-mrt-en-vt",name:"Future BTS MRT EN",ns:"vt-btsmrt-fut-en",stylePath:"transport/future_bts_mrt_en",flagPrefix:"__pmBTSMRT_FUTEN",base:r,apiKey:e,tk:t})]},{key:"insight",label:"INSIGHT DATA",items:[{id:"pm-viirs-blackmarble-layer",name:"Night Lights",ensure:o=>{o!=null&&o.getStyle()&&(o.getSource("pm-viirs-blackmarble-source")||o.addSource("pm-viirs-blackmarble-source",{type:"raster",tiles:["https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/VIIRS_Black_Marble/default/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.png"],tileSize:256,minzoom:0,maxzoom:8}),o.getLayer("pm-viirs-blackmarble-layer")||o.addLayer({id:"pm-viirs-blackmarble-layer",type:"raster",source:"pm-viirs-blackmarble-source",paint:{"raster-opacity":.7},layout:{visibility:"none"}}))}},{id:"pm-maptiler-satellite-layer",name:"Satellite",ensure:o=>{if(!(o!=null&&o.getStyle()))return;const i=o.__pmMaptilerKey;if(!i){console.warn("PowerMap LayerManager: maptilerKey not provided, satellite layer skipped.");return}if(o.getSource("pm-maptiler-satellite-source")||o.addSource("pm-maptiler-satellite-source",{type:"raster",tiles:[`https://api.maptiler.com/tiles/satellite-v2/{z}/{x}/{y}.jpg?key=${encodeURIComponent(i)}`],tileSize:256,minzoom:0,maxzoom:22}),!o.getLayer("pm-maptiler-satellite-layer")){const n=bn(o);o.addLayer({id:"pm-maptiler-satellite-layer",type:"raster",source:"pm-maptiler-satellite-source",paint:{"raster-opacity":1},layout:{visibility:"none"}},n)}}}]}]}const Ft={"pm-road-vt":{prefix:"vt-road"},"pm-road-poi-vt":{prefix:"vt-roadpoi"},"pm-post-elec-vt":{prefix:"vt-postelec"},"pm-future-motorway-th-vt":{prefix:"vt-fmw-th"},"pm-future-motorway-en-vt":{prefix:"vt-fmw-en"},"pm-current-railway-th-vt":{prefix:"vt-railth-cur"},"pm-current-railway-en-vt":{prefix:"vt-railen-cur"},"pm-future-railway-th-vt":{prefix:"vt-railth-future"},"pm-future-railway-en-vt":{prefix:"vt-railen-future"},"pm-current-bts-mrt-th-vt":{prefix:"vt-btsmrt-cur-th"},"pm-current-bts-mrt-en-vt":{prefix:"vt-btsmrt-cur-en"},"pm-future-bts-mrt-th-vt":{prefix:"vt-btsmrt-fut-th"},"pm-future-bts-mrt-en-vt":{prefix:"vt-btsmrt-fut-en"}};function ce(r,e,t,o,i,n={}){const s=n.tileSize||256;return{id:r,name:e,ensure:a=>{if(!(a!=null&&a.getStyle()))return;const l=r.replace("-layer","-source");a.getSource(l)||a.addSource(l,{type:"raster",tiles:[he(`${o}/data/${t}/{z}/{x}/{y}.png`,i)],tileSize:s,minzoom:8,maxzoom:16}),a.getLayer(r)||a.addLayer({id:r,type:"raster",source:l,paint:{"raster-opacity":1},layout:{visibility:"none"}})}}}function Le({id:r,name:e,ns:t,stylePath:o,flagPrefix:i,base:n,apiKey:s,tk:a}){return{id:r,name:e,groupPrefix:t,ensure:async l=>{if(!(l!=null&&l.getStyle()))return;const c=a(`${n}/${o}/style.json`),u=`${n}/${o}/sprite`;l[`${i}Round1`]||(await Se(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="line",base:n,apiKey:s}),l[`${i}Round1`]=!0),l[`${i}Sprite`]||(await Nt(l,u,o.replace("/","_"),s),l[`${i}Sprite`]=!0),l[`${i}Round2`]||(await Se(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="symbol",base:n,apiKey:s}),l[`${i}Round2`]=!0)}}}function tt({id:r,name:e,ns:t,stylePath:o,flagPrefix:i,base:n,apiKey:s,tk:a}){return{id:r,name:e,groupPrefix:t,ensure:async l=>{if(!(l!=null&&l.getStyle()))return;const c=a(`${n}/${o}/style.json`),u=`${n}/${o}/sprite`;l[`${i}_Lines`]||(await Se(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="line",base:n,apiKey:s}),l[`${i}_Lines`]=!0),l[`${i}_Sprite`]||(await Nt(l,u,o.replace("/","_"),s),l[`${i}_Sprite`]=!0),l[`${i}_Symbols`]||(await Se(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="symbol"&&d["source-layer"]==="bts_mrt_station",base:n,apiKey:s}),l[`${i}_Symbols`]=!0)}}}class vn{constructor(e){this.context=e,this.eventBus=e.eventBus,this.authManager=e.authManager;const t=this.authManager.getBaseUrl();this._base=fn(t),this._apiKey=e.options.mapApiKey,this._catalog=wn(this._base,this._apiKey),this._ensured=new Set,this._layerState=new Map,e.options.maptilerKey&&(this._maptilerKey=e.options.maptilerKey),this.eventBus.on("mapLoaded",({map:o})=>{this._maptilerKey&&o&&(o.__pmMaptilerKey=this._maptilerKey),o.on("style.load",async()=>{for(const[i,n]of this._layerState.entries())try{const s=this._findItem(i);s&&await s.item.ensure(o),n.visible!==void 0&&this._setVisibility(i,n.visible),n.opacity!==void 0&&this.setOpacity(i,n.opacity)}catch(s){console.warn(`LayerManager: Failed to auto-restore layer ${i}`,s)}})})}_getMap(){var t;const e=this.context.registry.get("map");return(e==null?void 0:e.map)||((t=e==null?void 0:e.getMap)==null?void 0:t.call(e))}_findItem(e){for(const t of this._catalog){const o=t.items.find(i=>i.id===e);if(o)return{item:o,group:t}}return null}getCatalog(){return this._catalog.map(e=>({key:e.key,label:e.label,items:e.items.map(t=>({id:t.id,name:t.name,groupPrefix:t.groupPrefix||null}))}))}getGroup(e){const t=this._catalog.find(o=>o.key===e);return t?t.items.map(o=>({id:o.id,name:o.name})):null}getLayerState(e){var n;const t=this._getMap(),o=this._ensured.has(e);let i=null;if(t&&o){const s=Ft[e];if(s)try{const a=(((n=t.getStyle())==null?void 0:n.layers)||[]).filter(l=>l.id.startsWith(s.prefix+"-"));i=a.length>0&&a.some(l=>t.getLayoutProperty(l.id,"visibility")==="visible")}catch{i=!1}else try{i=t.getLayoutProperty(e,"visibility")==="visible"}catch{i=!1}}return{loaded:o,visible:i}}async ensure(e){const t=this._getMap();if(!t)throw new w("Map is not ready. Call ensure() after mapLoaded event.",v.INVALID_PARAMETERS,"layers");const o=this._findItem(e);if(!o)throw new w(`Layer "${e}" not found in catalog. Use getCatalog() to see available layers.`,v.INVALID_PARAMETERS,"layers");try{await o.item.ensure(t),this._ensured.add(e),this.eventBus.emit("layerEnsured",{layerId:e,group:o.group.key})}catch(i){throw new w(`Failed to ensure layer "${e}": ${i.message}`,v.API_REQUEST_FAILED,"layers",{originalError:i})}}async show(e){this._ensured.has(e)||await this.ensure(e);const t=this._layerState.get(e)||{};t.visible=!0,this._layerState.set(e,t),this._setVisibility(e,!0),this.eventBus.emit("layerVisibilityChanged",{layerId:e,visible:!0})}hide(e){const t=this._layerState.get(e)||{};t.visible=!1,this._layerState.set(e,t),this._setVisibility(e,!1),this.eventBus.emit("layerVisibilityChanged",{layerId:e,visible:!1})}async toggle(e){const t=this.getLayerState(e);t.loaded?t.visible?this.hide(e):this.show(e):await this.show(e)}setOpacity(e,t){var s;const o=this._layerState.get(e)||{};o.opacity=t,this._layerState.set(e,o);const i=this._getMap();if(!i)return;const n=Ft[e];if(n)try{const a=(((s=i.getStyle())==null?void 0:s.layers)||[]).filter(l=>l.id.startsWith(n.prefix+"-"));for(const l of a)try{l.type==="line"?i.setPaintProperty(l.id,"line-opacity",t):l.type==="symbol"?(i.setPaintProperty(l.id,"icon-opacity",t),i.setPaintProperty(l.id,"text-opacity",t)):l.type==="fill"&&i.setPaintProperty(l.id,"fill-opacity",t)}catch{}}catch{}else try{const a=i.getLayer(e);a&&(a.type==="raster"?i.setPaintProperty(e,"raster-opacity",t):a.type==="line"?i.setPaintProperty(e,"line-opacity",t):a.type==="fill"&&i.setPaintProperty(e,"fill-opacity",t))}catch{}}async showGroup(e){const t=this._catalog.find(o=>o.key===e);if(t)for(const o of t.items)await this.show(o.id)}hideGroup(e){const t=this._catalog.find(o=>o.key===e);if(t)for(const o of t.items)this.hide(o.id)}hideAll(){for(const e of this._catalog)for(const t of e.items)this.hide(t.id)}_setVisibility(e,t){const o=this._getMap();if(!o)return;const i=Ft[e];if(i){const n=!!t;if(o.__pmDesiredVis=o.__pmDesiredVis||{},o.__pmDesiredVis[i.prefix]=n,no(o,i.prefix,n),o.getLayer(e))try{o.setLayoutProperty(e,"visibility",n?"visible":"none")}catch{}else try{o.addLayer({id:e,type:"background",layout:{visibility:n?"visible":"none"},paint:{"background-opacity":0}})}catch{}return}if(o.getLayer(e))try{o.setLayoutProperty(e,"visibility",t?"visible":"none")}catch{}}}class Cn{constructor(e){this.context=e,this.baseUrl="http://localhost:3000/indoor-api",this._geojsonCache={}}setBaseUrl(e){return this.baseUrl=e.replace(/\/$/,""),this}async getVenues(){return this._fetchJSON("/venues")}async getBuildings(e){const t=e?`/buildings?venueId=${e}`:"/buildings";return this._fetchJSON(t)}async getFloors(e){if(!e)throw new Error("buildingId is required");return this._fetchJSON(`/floors?buildingId=${e}`)}async getFloorGeoJSON(e){if(!e)throw new Error("floorId is required");if(this._geojsonCache[e])return JSON.parse(JSON.stringify(this._geojsonCache[e]));const t=await this._fetchJSON(`/floors/${e}/geojson`);return this._geojsonCache[e]=JSON.parse(JSON.stringify(t)),t}async search(e,t={}){if(!e)throw new Error("Search query is required");if(!t.buildingId)throw new w("buildingId is required for indoor search",v.INVALID_PARAMETERS,"indoor");let o=`/search?q=${encodeURIComponent(e)}&buildingId=${t.buildingId}`;return t.category&&(o+=`&category=${t.category}`),t.limit&&(o+=`&limit=${t.limit}`),this._fetchJSON(o)}async _fetchJSON(e){const t=this.context.authManager;if(!t)throw new w("AuthManager not found in SDK context.",v.MAP_NOT_INITIALIZED,"indoor");const o=`${this.baseUrl}${e}`,i=await t.fetchWithAuth(o);if(!i.ok)throw new w(`API Request failed with status ${i.status}`,v.UNKNOWN,"indoor",{status:i.status});return await i.json()}}class xn{constructor(e){var t,o;this.context=e,this.map=(t=this.context.mapManager)==null?void 0:t.getMap(),this.routeData=null,this.activeFloorId=null,this.markers={start:null,end:null},this.backendUrl=(o=this.context.options)!=null&&o.baseUrl?this.context.options.baseUrl+"/indoor-api":"https://maps.powermap.live/indoor-api"}_getMap(){var e;if(this.map)return this.map;if(this.context.mapManager)return this.context.mapManager.getMap();if(this.context.registry&&this.context.registry.get){const t=this.context.registry.get("map");return(t==null?void 0:t.map)||((e=t==null?void 0:t.getMap)==null?void 0:e.call(t))}return null}setMap(e){this.map=e}async calculateRoute(e,t,o,i,n){var a,l;const s=new URL(`${this.backendUrl}/route`);s.searchParams.set("buildingId",e),s.searchParams.set("startFloorId",t),s.searchParams.set("startLng",o[0]),s.searchParams.set("startLat",o[1]),s.searchParams.set("endFloorId",i),s.searchParams.set("endLng",n[0]),s.searchParams.set("endLat",n[1]);try{let c;if(this.context.authManager?c=await this.context.authManager.fetchWithAuth(s.toString(),{source:"indoor-route"}):c=await fetch(s.toString(),{headers:{"x-client-id":this.context.mapApiKey||((a=this.context.auth)==null?void 0:a.clientId),"x-client-secret":(l=this.context.auth)==null?void 0:l.clientSecret}}),!c.ok)throw new Error("Failed to fetch indoor route");const u=await c.json();this.routeData=u,this.activeFloorId=t,this.drawRoute(this.activeFloorId);let d=0,p=0,h=[],g=null;if(u&&u.type==="FeatureCollection"){const A=u.properties||(u.features.length>0?u.features[0].properties:{});d=A.distance||0,p=A.duration||Math.round(d/1.4),h=A.instructions||[],g=u.features.length>0?u.features[0].geometry:null;const y=u.features.flatMap(b=>{var x;return((x=b.geometry)==null?void 0:x.coordinates)||[]});if(y.length>1){const b=y.reduce((x,M)=>x.extend(M),new D.LngLatBounds(y[0],y[0]));this._getMap()&&this._getMap().fitBounds(b,{padding:60,duration:1e3})}}const f=h.map(A=>{var x;let y=null;(x=A.maneuver)!=null&&x.location?y=A.maneuver.location:A.interval&&coords.length>0&&(y=coords[A.interval[0]]);const b=A.maneuver||{type:"turn",instruction:A.text};return!b.location&&y&&(b.location=y),{distance:A.distance,duration:A.time?A.time/1e3:Math.round((A.distance||0)/1.4),name:A.street_name||"",floorId:A.floorId,maneuver:b}});return{distance:d,duration:p,steps:f,geometry:g,raw:u}}catch(c){throw console.error("PowerMap SDK: Indoor routing failed",c),this.clearRoute(),c}}setActiveFloor(e){this.activeFloorId=e,this.routeData&&this.drawRoute(e),this._updateMarkerVisibility()}clearRoute(){this.routeData=null,this._removeLayers(),this.markers.start&&this.markers.start.remove(),this.markers.end&&this.markers.end.remove(),this.markers={start:null,end:null}}drawRoute(e){const t=this._getMap();if(!t||!this.routeData)return;let o=this.routeData;o.type==="FeatureCollection"&&e&&(o={...o,features:o.features.filter(s=>{var a;return!((a=s.properties)!=null&&a.floorId)||String(s.properties.floorId)===String(e)})});const i="pm-indoor-route",n=t.getSource(i);n?n.setData(o):t.addSource(i,{type:"geojson",data:o}),this._ensureLayers(i)}_ensureLayers(e){const t=this._getMap();t&&(t.getLayer(`${e}-casing`)||t.addLayer({id:`${e}-casing`,type:"line",source:e,layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#1d4ed8","line-width":8,"line-opacity":.3}}),t.getLayer(`${e}-line`)||t.addLayer({id:`${e}-line`,type:"line",source:e,layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#3b82f6","line-width":5}}))}_removeLayers(){const e=this._getMap();if(!e)return;const t="pm-indoor-route";e.getLayer(`${t}-line`)&&e.removeLayer(`${t}-line`),e.getLayer(`${t}-casing`)&&e.removeLayer(`${t}-casing`),e.getSource(t)&&e.removeSource(t)}drawMarkers(e,t){const o=this._getMap();if(o){if(!e&&this.markers.start&&(this.markers.start.remove(),this.markers.start=null),!t&&this.markers.end&&(this.markers.end.remove(),this.markers.end=null),e){if(this.markers.start)this.markers.start.setLngLat([e.lng,e.lat]);else{const i=document.createElement("div");i.className="pm-routing-marker pm-routing-marker-start",i.style.width="24px",i.style.height="24px",i.style.backgroundColor="#10b981",i.style.borderRadius="50%",i.style.border="3px solid white",i.style.boxShadow="0 2px 4px rgba(0,0,0,0.3)",i.style.zIndex="1",this.markers.start=new D.Marker({element:i}).setLngLat([e.lng,e.lat]).addTo(o)}this.markers.start.getElement().dataset.floorId=e.floorId}if(t){if(this.markers.end)this.markers.end.setLngLat([t.lng,t.lat]);else{const i=document.createElement("div");i.className="pm-routing-marker pm-routing-marker-end",i.style.width="24px",i.style.height="24px",i.style.backgroundColor="#ef4444",i.style.borderRadius="50%",i.style.border="3px solid white",i.style.boxShadow="0 2px 4px rgba(0,0,0,0.3)",i.style.zIndex="1",this.markers.end=new D.Marker({element:i}).setLngLat([t.lng,t.lat]).addTo(o)}this.markers.end.getElement().dataset.floorId=t.floorId}this._updateMarkerVisibility()}}_updateMarkerVisibility(){if(this.markers.start){const e=this.markers.start.getElement();e.style.display=!e.dataset.floorId||String(e.dataset.floorId)===String(this.activeFloorId)?"block":"none"}if(this.markers.end){const e=this.markers.end.getElement();e.style.display=!e.dataset.floorId||String(e.dataset.floorId)===String(this.activeFloorId)?"block":"none"}}}class Mn{constructor(e){this.context=e,this.eventBus=e.eventBus,this.api=new Cn(e),this.router=new xn(e),this.currentFloor=0,this._isTransitioning=!1,this.layerGroups={poi:["pm-draw-special-point-inactive","pm-draw-special-point-active"],beacon:["pm-draw-special-point-inactive","pm-draw-special-point-active"],walkway:["pm-draw-line-active","pm-draw-line-static","pm-draw-point-vertex","pm-draw-point-mid"],obstacle:["pm-draw-polygon-fill","pm-draw-polygon-outline","pm-draw-polygon-fill-static","pm-draw-polygon-outline-static","pm-draw-point-vertex","pm-draw-point-mid","pm-user-3d-buildings-fill"],model3d:["three-glb-layer"]},this.eventBus.on("mapLoaded",()=>{this.currentFloor!==0&&this.setFloor(this.currentFloor)}),this.eventBus.on("layerVisibilityChanged",()=>{this._applyFilters()})}_getMap(){var t;const e=this.context.registry.get("map");return(e==null?void 0:e.map)||((t=e==null?void 0:e.getMap)==null?void 0:t.call(e))}async setFloor(e,t={}){var n;if(typeof e!="number")throw new w("Floor ordinal must be a number.",v.INVALID_PARAMETERS,"indoor");if(this._isTransitioning)return this;const o=t.animate!==!1,i=t.duration||300;if(o&&this.currentFloor!==e){this._isTransitioning=!0;const s=this._getMap(),a=(n=s==null?void 0:s.getContainer)==null?void 0:n.call(s);a&&(a.style.pointerEvents="none");try{await this._transitionOpacity(0,i/2),this.currentFloor=e,this._applyFilters(),await this._transitionOpacity(1,i/2)}finally{this._isTransitioning=!1,a&&(a.style.pointerEvents="auto")}}else this.currentFloor=e,this._applyFilters();return this.eventBus.emit("floorChanged",e),this}getAvailableFloors(){var i;const e=new Set,t=this.context.registry.get("geometry");t&&typeof t.getAvailableFloors=="function"&&t.getAvailableFloors().forEach(n=>e.add(n));const o=(i=this.context.registry.get("map"))==null?void 0:i.threeLayer;return o&&typeof o.getAvailableFloors=="function"&&o.getAvailableFloors().forEach(n=>e.add(n)),Array.from(e).sort((n,s)=>n-s)}getCurrentFloor(){return this.currentFloor}async _transitionOpacity(e,t){if(!this._getMap())return;const i=this.context.registry.get("geometry");return i&&typeof i.setMarkerOpacity=="function"&&i.setMarkerOpacity(e),this._getAllIndoorLayerIds().forEach(s=>{this._setLayerOpacity(s,e,t)}),new Promise(s=>setTimeout(s,t))}_setLayerOpacity(e,t,o=0){const i=this._getMap();if(!i||!i.getLayer(e))return;const n=i.getLayer(e).type,s=[];n==="fill"?s.push("fill-opacity"):n==="line"?s.push("line-opacity"):n==="circle"?s.push("circle-opacity","circle-stroke-opacity"):n==="symbol"?s.push("icon-opacity","text-opacity"):n==="raster"?s.push("raster-opacity"):n==="fill-extrusion"&&s.push("fill-extrusion-opacity"),s.forEach(a=>{i.setPaintProperty(e,`${a}-transition`,{duration:o,delay:0}),i.setPaintProperty(e,a,t)})}_getAllIndoorLayerIds(){return[...this.layerGroups.poi,...this.layerGroups.beacon,...this.layerGroups.walkway,...this.layerGroups.obstacle]}_applyFilters(){var i;const e=this._getMap();if(!e)return;const t=this.currentFloor;try{const n=this.context.registry.get("geometry");n&&typeof n.syncFloorVisibility=="function"&&n.syncFloorVisibility(t)}catch(n){console.warn("FloorManager: Failed to sync Draw features",n)}try{const n=this.context.registry.get("geometry");n&&typeof n.setFloorFilter=="function"&&n.setFloorFilter(t)}catch(n){console.warn("FloorManager: Failed to filter DOM markers",n)}Object.entries(this.layerGroups).forEach(([n,s])=>{s.forEach(a=>{e.getLayer(a)&&(a.startsWith("pm-draw-")||e.setLayoutProperty(a,"visibility","visible"))})}),["pm-user-3d-buildings-fill"].forEach(n=>{if(e.getLayer(n))try{e.setLayoutProperty(n,"visibility","visible");const s=["all",["==",["coalesce",["get","user_floorOrdinal"],["get","floorOrdinal"],["get","user_ordinal"],["get","ordinal"],0],t],["!=",["get","user_isHidden"],!0]];e.setFilter(n,s)}catch(s){console.warn(`FloorManager: Failed to set filter on layer ${n}`,s)}});try{const n=(i=this.context.registry.get("map"))==null?void 0:i.threeLayer;n&&typeof n.setFloorFilter=="function"&&n.setFloorFilter(t)}catch{}}_setActiveVenue(e){this._activeVenue=e||null,e&&this.eventBus.emit("venueChanged",this.getVenueInfo())}getActiveVenue(){return this._activeVenue||null}getVenues(){const e=this.context.registry.get("geometry");if(!e||!e.query)return[];const t=[...e.query().byKind("venue").toArray(),...e.query().byKind("floor").where("category","eq","venue").toArray(),...e.query().byKind("floor").where("feature_type","eq","venue").toArray()],o=new Set;return t.filter(i=>{var s;const n=((s=i.properties)==null?void 0:s.user_id)||i.id;return o.has(n)?!1:(o.add(n),!0)}).map(i=>{const n=i.properties||{},s=n.user_name||n.name;return{id:n.user_id||i.id,name:typeof s=="object"?s==null?void 0:s.en:s||"",category:n.user_category||n.category||"venue",feature:i}})}getVenueInfo(){var s,a;if(!this._activeVenue)return null;const e=this._activeVenue.properties||{},t=e.user_name||e.name,o=this.getAvailableFloors(),i=this.getBuildings();let n=null;try{const l=((s=this._activeVenue.geometry)==null?void 0:s.type)==="Polygon"?this._activeVenue.geometry.coordinates[0]:((a=this._activeVenue.geometry)==null?void 0:a.type)==="Point"?[this._activeVenue.geometry.coordinates]:[];if(l.length>0){let c=1/0,u=1/0,d=-1/0,p=-1/0;for(const h of l)h[0]<c&&(c=h[0]),h[1]<u&&(u=h[1]),h[0]>d&&(d=h[0]),h[1]>p&&(p=h[1]);n=[[c,u],[d,p]]}}catch{}return{id:e.user_id||this._activeVenue.id,name:typeof t=="object"?t==null?void 0:t.en:t||"",category:e.user_category||e.category||"venue",floors:o,bounds:n,buildingCount:i.length}}getFloorInfo(e){const t=this.context.registry.get("geometry");if(!t||!t.query)return null;const o=t.query().byKind("floor").where("feature_type","eq","level").byFloor(e).first()||t.query().byKind("floor").byFloor(e).first();if(!o)return null;const i=o.properties||{},n=i.user_name||i.name,s=t.query().byKind("poi").byFloor(e).count(),a=t.query().byKind("beacon").byFloor(e).count(),l=t.query().byKind("unit").byFloor(e).count()+t.query().byKind("obstacle").byFloor(e).count();return{id:i.user_id||o.id,name:typeof n=="object"?n==null?void 0:n.en:n||"",shortName:i.user_short_name||i.short_name||"",ordinal:e,outdoor:!!(i.user_outdoor||i.outdoor),unitCount:l,poiCount:s,beaconCount:a}}getBuildings(){const e=this.context.registry.get("geometry");if(!e||!e.query)return[];const t=[...e.query().byKind("building").toArray(),...e.query().byKind("floor").where("category","eq","building").toArray(),...e.query().byKind("floor").where("feature_type","eq","building").toArray()],o=new Set;return t.filter(i=>{var s;const n=((s=i.properties)==null?void 0:s.user_id)||i.id;return o.has(n)?!1:(o.add(n),!0)}).map(i=>{const n=i.properties||{},s=n.user_name||n.name;return{id:n.user_id||i.id,name:typeof s=="object"?s==null?void 0:s.en:s||"",category:n.user_category||n.category||"building"}})}}class En{constructor(e={}){this.options=e,this.container=null,this.floors=[],this.activeFloorId=null,this._map=null}onAdd(e){return this._map=e,this.container=document.createElement("div"),this.container.className="maplibregl-ctrl maplibregl-ctrl-group pm-indoor-floor-selector",this._render(),this.container}onRemove(){var e;(e=this.container.parentNode)==null||e.removeChild(this.container),this._map=null}setFloors(e){this.floors=e||[],this._render()}setActiveFloor(e){this.activeFloorId=e,this._updateActiveState()}_render(){if(this.container){if(this.container.innerHTML="",this.floors.length===0){this.container.style.display="none";return}this.container.style.display="flex",this.floors.forEach(e=>{const t=document.createElement("button");t.className="pm-indoor-floor-btn",t.type="button",t.textContent=e.name||e.id,t.setAttribute("data-floor-id",e.id),t.addEventListener("click",()=>{this.setActiveFloor(e.id),this.options.onChange&&this.options.onChange(e.id,e)}),this.container.appendChild(t)}),this._updateActiveState()}}_updateActiveState(){if(!this.container)return;this.container.querySelectorAll(".pm-indoor-floor-btn").forEach(t=>{t.getAttribute("data-floor-id")===String(this.activeFloorId)?t.classList.add("active"):t.classList.remove("active")})}}class In{constructor(e={}){this.options=e,this.buildingId=e.buildingId||null,this.router=e.router||null,this.container=null,this._map=null,this._mapInstance=null,this._focusMarker=null,this.origin=null,this.destination=null,this.routeResult=null,this._originSearchTimer=null,this._destSearchTimer=null,this._onMapClick=this._onMapClick.bind(this),this.activeInput=null,this._icons={depart:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="3"/></svg>',arrive:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>',elevator:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 4v16M8 8l4-4 4 4M8 16l4 4 4-4"/></svg>',left:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 14l-4-4 4-4"/><path d="M5 10h11a4 4 0 0 1 4 4v4"/></svg>',right:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 14l4-4-4-4"/><path d="M19 10H8a4 4 0 0 0-4 4v4"/></svg>',straight:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg>',uturn:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 10l-4 4 4 4"/><path d="M5 14h10a4 4 0 0 0 4-4v-4"/></svg>'}}onAdd(e){return this._map=e,this.container=document.createElement("div"),this.container.className="maplibregl-ctrl pm-indoor-routing-panel",this._render(),this._map&&this._map.on("click",this._onMapClick),this.container}onRemove(){var e;this._map&&this._map.off("click",this._onMapClick),(e=this.container.parentNode)==null||e.removeChild(this.container),this._map=null}setBuildingId(e){this.buildingId=e}setMapInstance(e){this._mapInstance=e}_render(){if(!this.container)return;this.container.innerHTML=`
|
|
355
|
+
`,this.toolbar.innerHTML=b,this.tooltip&&this.tooltip.attachToToolbar(this.toolbar)}_exportGeoJSON(){try{const e=this.mode==="indoor"?"imdf":"standard",t=this.geometryManager.export({format:e});this.eventBus.emit("geometryExported",{data:t,format:e});const r=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),i=URL.createObjectURL(r),n=document.createElement("a");n.href=i,n.download=`powermap-export-${new Date().getTime()}.json`,n.click(),URL.revokeObjectURL(i)}catch(e){const t=e instanceof PowerMapError?e:new PowerMapError(`Failed to export data: ${e.message}`,ErrorCode.UNKNOWN,"editor",{originalError:e});this.eventBus.emit("error",t)}}_triggerImport(){const e=document.createElement("input");e.type="file",e.accept=".json,application/json",e.onchange=t=>{const r=t.target.files[0];if(!r)return;const i=new FileReader;i.onload=n=>{try{const s=JSON.parse(n.target.result),a=this.mode==="indoor"?"imdf":"standard";this.geometryManager.import(s,{format:a})}catch(s){const a=s instanceof PowerMapError?s:new PowerMapError(`Failed to parse or import GeoJSON: ${s.message}`,ErrorCode.INVALID_PARAMETERS,"editor",{originalError:s});this.eventBus.emit("error",a)}},i.onerror=()=>{const n=new PowerMapError("Failed to read the selected file.",ErrorCode.UNKNOWN,"editor");this.eventBus.emit("error",n)},i.readAsText(r)},e.click()}_triggerSave(){try{const e=this.mode==="indoor"?"imdf":"standard",t=this.geometryManager.export({format:e});this.eventBus.emit("geometrySaveRequested",{data:t,format:e})}catch(e){typeof PowerMapError<"u"&&e instanceof PowerMapError?this.eventBus.emit("error",e):console.error(e)}}}class pn{constructor(e){this.mapManager=e.registry.get("map"),this.geometryManager=e.registry.get("geometry"),this.eventBus=e.eventBus,this.isEnabled=!1,this.control=null,this.mode=e.mode||"standard"}enable(e={}){if(this.isEnabled)return;const t=this.mapManager.getMap();if(!t){this.eventBus.on("mapLoaded",()=>this.enable(e));return}this.geometryManager.getDrawInstance()||this.geometryManager.initDraw(t);const r=e.position||"bottom-left";this.mode=e.mode||this.mode;try{this.control=new dn(this.geometryManager,this.eventBus,{mode:this.mode}),this.control.setMode&&this.control.setMode(this.mode),t.addControl(this.control,r),this.isEnabled=!0}catch(i){const n=new v(`Failed to enable editor: ${i.message}`,C.UNKNOWN,"editor",{originalError:i});throw this.eventBus.emit("error",n),n}}setMode(e){this.mode=e,this.control&&this.control.setMode&&this.control.setMode(e)}disable(){if(!this.isEnabled)return;const e=this.mapManager.getMap();e&&this.control&&e.removeControl(this.control),this.control=null,this.isEnabled=!1}attach(e){const t=typeof e=="object"?e.id:e;if(!t)throw new v("Feature ID is required to attach editor.",C.INVALID_PARAMETERS,"editor");const r=this.geometryManager.getDrawInstance();if(!r)throw new v("Cannot attach: Draw instance not initialized.",C.MAP_NOT_INITIALIZED,"editor");try{r.changeMode("direct_select",{featureId:t})}catch(i){const n=new v(`Could not attach to feature ${t}: ${i.message}`,C.UNKNOWN,"editor",{originalError:i});throw this.eventBus.emit("error",n),n}}detach(){const e=this.geometryManager.getDrawInstance();e&&e.changeMode("simple_select")}}class hn{constructor(e){this.mapManager=e.registry.get("map"),this.eventBus=e.eventBus,this.isEnabled=!1,this.panel=null,this.fps=0,this.frameCount=0,this.lastTime=performance.now(),this.lastFpsCalc=this.lastTime,this._onRender=this._onRender.bind(this),this._onMove=this._onMove.bind(this),this.showFps=!0,this.showCoord=!0}enable(e={}){if(this.isEnabled)return;const t=this.mapManager.getMap();if(!t)throw new v("Cannot enable debug panel: Map is not initialized.",C.MAP_NOT_INITIALIZED,"debug");const r=e.position||"top-left";this.panel=document.createElement("div"),this.panel.className="pm-debug-panel",Object.assign(this.panel.style,{position:"absolute",background:"rgba(0, 0, 0, 0.7)",color:"#0f0",padding:"12px",fontFamily:'"SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace',fontSize:"13px",borderRadius:"8px",zIndex:"9999",pointerEvents:"none",lineHeight:"1.6",boxShadow:"0 4px 6px rgba(0,0,0,0.3)",border:"1px solid rgba(0,255,0,0.3)"}),r.includes("top")&&(this.panel.style.top="10px"),r.includes("bottom")&&(this.panel.style.bottom="40px"),r.includes("left")&&(this.panel.style.left="10px"),r.includes("right")&&(this.panel.style.right="10px"),t.getContainer().appendChild(this.panel),t.on("render",this._onRender),t.on("move",this._onMove),this.isEnabled=!0,this._updateUI()}disable(){if(!this.isEnabled)return;const e=this.mapManager.getMap();e&&(e.off("render",this._onRender),e.off("move",this._onMove)),this.panel&&this.panel.parentNode&&this.panel.parentNode.removeChild(this.panel),this.panel=null,this.isEnabled=!1}showFPS(e=!0){this.showFps=e,this._updateUI()}showCoordinate(e=!0){this.showCoord=e,this._updateUI()}_onRender(){const e=performance.now();this.frameCount++,e>=this.lastFpsCalc+1e3&&(this.fps=Math.round(this.frameCount*1e3/(e-this.lastFpsCalc)),this.frameCount=0,this.lastFpsCalc=e,this._updateUI())}_onMove(){this._updateUI()}_updateUI(){if(!this.isEnabled||!this.panel)return;const e=this.mapManager.getMap();if(!e)return;let t="<strong>PowerMap Debug</strong><br/>";if(this.showFps){const r=this.fps<30?"red":this.fps<50?"orange":"#0f0";t+=`FPS: <span style="color:${r}">${this.fps}</span><br/>`}if(this.showCoord){const r=e.getCenter();t+=`Lng: ${r.lng.toFixed(5)}<br/>`,t+=`Lat: ${r.lat.toFixed(5)}<br/>`,t+=`Zoom: ${e.getZoom().toFixed(2)}<br/>`,t+=`Pitch: ${e.getPitch().toFixed(1)}°<br/>`,t+=`Bearing: ${e.getBearing().toFixed(1)}°<br/>`;const i=e.getBounds();t+='<div style="font-size:10px; color:#aaa; margin-top:8px;">',t+=`NE: ${i.getNorthEast().lng.toFixed(3)}, ${i.getNorthEast().lat.toFixed(3)}<br/>`,t+=`SW: ${i.getSouthWest().lng.toFixed(3)}, ${i.getSouthWest().lat.toFixed(3)}`,t+="</div>"}this.panel.innerHTML=t}}const Dt=new Map;async function gn(o){if(Dt.has(o))return Dt.get(o);const e=await fetch(o);if(!e.ok)throw new v(`Fetch style failed: ${o}`,C.API_REQUEST_FAILED,"layers");const t=await e.json();return Dt.set(o,t),t}function fn(o){return`${o}/api/v2/map/vtile`}function he(o,e){if(!e||o.includes("apikey="))return o;const t=o.includes("?")?"&":"?";return`${o}${t}apikey=${encodeURIComponent(e)}`}function mn(o,e,t){if(!o)return o;if(o.startsWith(e))return he(o,t);if(o.startsWith("mbtiles://")){const i=o.replace("mbtiles://","").replace(/\.mbtiles$/i,"");return he(`${e}/data/${i}.json`,t)}const r=o.match(/\/data\/([^/]+)\.json$/i);return r?he(`${e}/data/${r[1]}.json`,t):o}function An(o,e,t){if(!o)return o;if(o.startsWith(e))return he(o,t);const r=o.match(/^https?:\/\/[^/]+\/data\/([^/]+)\/\{z\}\/\{x\}\/\{y\}\.pbf(?:\?.*)?$/i);return r?he(`${e}/data/${r[1]}/{z}/{x}/{y}.pbf`,t):o}function yn(o,e,t,r,i,n=()=>!0){var s;try{if(!n()||!((s=o==null?void 0:o.getStyle)!=null&&s.call(o))||o.getSource(e))return;const a={type:"vector"};if(Array.isArray(t.tiles)&&t.tiles.length)a.tiles=t.tiles.map(l=>An(l,r,i));else if(t.url&&t.url.startsWith("mbtiles://")){const l=t.url.replace("mbtiles://","").replace(/\.mbtiles$/i,"");a.tiles=[he(`${r}/data/${l}/{z}/{x}/{y}.pbf`,i)]}else if(t.url){const l=t.url.match(/\/data\/([^/]+)\.json(?:\?.*)?$/i);l?a.tiles=[he(`${r}/data/${l[1]}/{z}/{x}/{y}.pbf`,i)]:a.url=mn(t.url,r,i)}if(!n())return;o.addSource(e,a)}catch{}}function bn(o){var e,t,r;try{return(r=(((t=(e=o==null?void 0:o.getStyle)==null?void 0:e.call(o))==null?void 0:t.layers)||[]).find(i=>i.type==="symbol"))==null?void 0:r.id}catch{return}}async function Be(o,e,{ns:t="rp",includeFn:r=()=>!0,defaultVis:i="none",beforeId:n=void 0,base:s,apiKey:a}={}){var g;if(!(o!=null&&o.getStyle))return;const l=o.__pmNonce,c=()=>{try{return!o||o.__pmDestroyed||o._removed||o.__pmNonce!==l?!1:!!o.getStyle()}catch{return!1}},u=f=>{try{return c()?o.getLayer(f):void 0}catch{return}};if(!c())return;let d=null;try{d=await gn(e)}catch{console.warn("fetchStyle failed:",e);return}if(!c())return;const p={};for(const[f,y]of Object.entries(d.sources||{})){if(!c())return;const A=`${t}-src-${f}`;yn(o,A,y,s,a,c),p[f]=A}for(const f of d.layers||[]){if(!r(f))continue;if(!c())return;const y=`${t}-${f.id}`;if(u(y))continue;const A=JSON.parse(JSON.stringify(f));A.id=y,p[A.source]&&(A.source=p[A.source]),A.layout=A.layout||{},A.layout.visibility=i;try{if(!c())return;o.addLayer(A,n)}catch{}}if(!c())return;const h=(g=o.__pmDesiredVis)==null?void 0:g[t];return typeof h=="boolean"&&no(o,t,h,c),{prefix:t}}function no(o,e,t,r=()=>!0){var i;try{if(!r())return;const n=t?"visible":"none",s=(((i=o.getStyle())==null?void 0:i.layers)||[]).filter(a=>a.id.startsWith(e+"-"));for(const a of s){if(!r())return;try{o.setLayoutProperty(a.id,"visibility",n)}catch{}}}catch{}}async function Nt(o,e,t=e,r){if(!(o!=null&&o.getStyle))return;const i=o.__pmNonce,n=()=>{try{return!o||o.__pmDestroyed||o._removed||o.__pmNonce!==i?!1:!!o.getStyle()}catch{return!1}},s=A=>{try{return n()?!!(o.hasImage&&o.hasImage(A)):!1}catch{return!1}};if(o.isStyleLoaded&&!o.isStyleLoaded()&&await new Promise(A=>{if(!n())return A();const b=()=>{w(),A()},w=()=>{try{o.off("styledata",b)}catch{}try{o.off("load",b)}catch{}};o.on("styledata",b),o.on("load",b),setTimeout(()=>{w(),A()},1500)}),!n()||(o.__pmSpriteLoaded=o.__pmSpriteLoaded||{},o.__pmSpriteLoaded[t]))return;const a=A=>he(A,r),c=(window.devicePixelRatio||1)>1.5?[a(`${e}@2x.json`),a(`${e}@2x.png`),a(`${e}.json`),a(`${e}.png`)]:[a(`${e}.json`),a(`${e}.png`),a(`${e}@2x.json`),a(`${e}@2x.png`)];let u,d,p=1;for(let A=0;A<c.length;A+=2){if(!n())return;try{const[b,w]=[c[A],c[A+1]],M=await fetch(b);if(!M.ok)throw 0;if(u=await M.json(),!n())return;const E=await fetch(w);if(!E.ok)throw 0;const P=await E.blob();if(!n())return;d="createImageBitmap"in window?await createImageBitmap(P):await y(P),p=b.includes("@2x")?2:1;break}catch{}}if(!n())return;if(!u||!d){console.warn("sprite load failed for",e);return}const h="createImageBitmap"in window&&d instanceof ImageBitmap,g=h?null:document.createElement("canvas"),f=g?g.getContext("2d"):null;for(const[A,b]of Object.entries(u)){if(!n())return;if(s(A))continue;const{x:w,y:M,width:E,height:P,sdf:k}=b;let G;if(h?G=await createImageBitmap(d,w,M,E,P):(g.width=E,g.height=P,f.clearRect(0,0,E,P),f.drawImage(d,w,M,E,P,0,0,E,P),G=g),!n())return;try{o.addImage(A,G,{pixelRatio:p,sdf:!!k})}catch{}}if(!n())return;o.__pmSpriteLoaded[t]=!0;function y(A){return new Promise((b,w)=>{const M=new Image;M.onload=()=>b(M),M.onerror=w,M.crossOrigin="anonymous",M.src=URL.createObjectURL(A)})}}function wn(o,e){const t=r=>he(r,e);return[{key:"city",label:"CITY PLAN",items:[ce("pm-bangkok-layer","Bangkok","PM_Bangkok",o,e),ce("pm-nakhon-pathom-layer","Nakhon Pathom","PM_Nakhon_Pathom",o,e),ce("pm-ayutthaya-layer","Ayutthaya","PM_Phra_Nakhon_Si_Ayutthaya",o,e),ce("pm-chonburi-layer","Chon Buri","PM_Chon_Buri",o,e),ce("pm-samutprakan-layer","Samut Prakan","PM_Samut_Prakan",o,e),ce("pm-rayong-layer","Rayong","PM_Rayong",o,e),ce("pm-samutsakhon-layer","Samut Sakhon","PM_Samut_Sakhon",o,e,{tileSize:128}),ce("pm-pathumthani-layer","Pathum Thani","PM_Pathumthani",o,e,{tileSize:128}),ce("pm-ubonratchathani-layer","Ubon Ratchathani","PM_Ubon_Ratchathani",o,e,{tileSize:128}),ce("pm-nonthaburi-layer","Nonthaburi","PM_Nonthaburi",o,e,{tileSize:128}),ce("pm-chachoengsao-layer","Chachoengsao","PM_Chachoengsao",o,e,{tileSize:128})]},{key:"transport",label:"TRANSPORT",items:[{id:"pm-road-vt",name:"Road",groupPrefix:"vt-road",ensure:async r=>{if(!(r!=null&&r.getStyle()))return;const i=t(`${o}/transport/road_poi/style.json`);r.__pmRoadVt||(await Be(r,i,{ns:"vt-road",defaultVis:"none",includeFn:n=>n?n.type==="line"?!0:n.type==="symbol"&&n.source==="road"?n["source-layer"]==="road_name":!1:!1,base:o,apiKey:e}),r.__pmRoadVt=!0)}},{id:"pm-post-elec-vt",name:"Post Election",groupPrefix:"vt-postelec",ensure:async r=>{if(!(r!=null&&r.getStyle()))return;const i=t(`${o}/transport/post_elec/style.json`),n=`${o}/transport/post_elec/sprite`;r.__pmGroupReady=r.__pmGroupReady||{},!r.__pmGroupReady["vt-postelec"]&&(await Nt(r,n,"post_elec",e),await Be(r,i,{ns:"vt-postelec",defaultVis:"none",includeFn:s=>(s==null?void 0:s.type)==="symbol",base:o,apiKey:e}),r.__pmGroupReady["vt-postelec"]=!0)}},Le({id:"pm-future-motorway-th-vt",name:"Future Motorway TH",ns:"vt-fmw-th",stylePath:"transport/future_motorway_th",flagPrefix:"__pmFutureMwTh",base:o,apiKey:e,tk:t}),Le({id:"pm-future-motorway-en-vt",name:"Future Motorway EN",ns:"vt-fmw-en",stylePath:"transport/future_motorway_en",flagPrefix:"__pmFutureMwEn",base:o,apiKey:e,tk:t}),Le({id:"pm-current-railway-th-vt",name:"Current Railway TH",ns:"vt-railth-cur",stylePath:"transport/current_railway_th",flagPrefix:"__pmRailTh",base:o,apiKey:e,tk:t}),Le({id:"pm-current-railway-en-vt",name:"Current Railway EN",ns:"vt-railen-cur",stylePath:"transport/current_railway_en",flagPrefix:"__pmRailEn",base:o,apiKey:e,tk:t}),Le({id:"pm-future-railway-th-vt",name:"Future Railway TH",ns:"vt-railth-future",stylePath:"transport/future_railway_th",flagPrefix:"__pmFRailTh",base:o,apiKey:e,tk:t}),Le({id:"pm-future-railway-en-vt",name:"Future Railway EN",ns:"vt-railen-future",stylePath:"transport/future_railway_en",flagPrefix:"__pmFRailEn",base:o,apiKey:e,tk:t}),tt({id:"pm-current-bts-mrt-th-vt",name:"Current BTS MRT TH",ns:"vt-btsmrt-cur-th",stylePath:"transport/current_bts_mrt_th",flagPrefix:"__pmBTSMRTTH",base:o,apiKey:e,tk:t}),tt({id:"pm-current-bts-mrt-en-vt",name:"Current BTS MRT EN",ns:"vt-btsmrt-cur-en",stylePath:"transport/current_bts_mrt_en",flagPrefix:"__pmBTSMRTEN",base:o,apiKey:e,tk:t}),tt({id:"pm-future-bts-mrt-th-vt",name:"Future BTS MRT TH",ns:"vt-btsmrt-fut-th",stylePath:"transport/future_bts_mrt_th",flagPrefix:"__pmBTSMRT_FUTTH",base:o,apiKey:e,tk:t}),tt({id:"pm-future-bts-mrt-en-vt",name:"Future BTS MRT EN",ns:"vt-btsmrt-fut-en",stylePath:"transport/future_bts_mrt_en",flagPrefix:"__pmBTSMRT_FUTEN",base:o,apiKey:e,tk:t})]},{key:"insight",label:"INSIGHT DATA",items:[{id:"pm-viirs-blackmarble-layer",name:"Night Lights",ensure:r=>{r!=null&&r.getStyle()&&(r.getSource("pm-viirs-blackmarble-source")||r.addSource("pm-viirs-blackmarble-source",{type:"raster",tiles:["https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/VIIRS_Black_Marble/default/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.png"],tileSize:256,minzoom:0,maxzoom:8}),r.getLayer("pm-viirs-blackmarble-layer")||r.addLayer({id:"pm-viirs-blackmarble-layer",type:"raster",source:"pm-viirs-blackmarble-source",paint:{"raster-opacity":.7},layout:{visibility:"none"}}))}},{id:"pm-maptiler-satellite-layer",name:"Satellite",ensure:r=>{if(!(r!=null&&r.getStyle()))return;const i=r.__pmMaptilerKey;if(!i){console.warn("PowerMap LayerManager: maptilerKey not provided, satellite layer skipped.");return}if(r.getSource("pm-maptiler-satellite-source")||r.addSource("pm-maptiler-satellite-source",{type:"raster",tiles:[`https://api.maptiler.com/tiles/satellite-v2/{z}/{x}/{y}.jpg?key=${encodeURIComponent(i)}`],tileSize:256,minzoom:0,maxzoom:22}),!r.getLayer("pm-maptiler-satellite-layer")){const n=bn(r);r.addLayer({id:"pm-maptiler-satellite-layer",type:"raster",source:"pm-maptiler-satellite-source",paint:{"raster-opacity":1},layout:{visibility:"none"}},n)}}}]}]}const Ft={"pm-road-vt":{prefix:"vt-road"},"pm-road-poi-vt":{prefix:"vt-roadpoi"},"pm-post-elec-vt":{prefix:"vt-postelec"},"pm-future-motorway-th-vt":{prefix:"vt-fmw-th"},"pm-future-motorway-en-vt":{prefix:"vt-fmw-en"},"pm-current-railway-th-vt":{prefix:"vt-railth-cur"},"pm-current-railway-en-vt":{prefix:"vt-railen-cur"},"pm-future-railway-th-vt":{prefix:"vt-railth-future"},"pm-future-railway-en-vt":{prefix:"vt-railen-future"},"pm-current-bts-mrt-th-vt":{prefix:"vt-btsmrt-cur-th"},"pm-current-bts-mrt-en-vt":{prefix:"vt-btsmrt-cur-en"},"pm-future-bts-mrt-th-vt":{prefix:"vt-btsmrt-fut-th"},"pm-future-bts-mrt-en-vt":{prefix:"vt-btsmrt-fut-en"}};function ce(o,e,t,r,i,n={}){const s=n.tileSize||256;return{id:o,name:e,ensure:a=>{if(!(a!=null&&a.getStyle()))return;const l=o.replace("-layer","-source");a.getSource(l)||a.addSource(l,{type:"raster",tiles:[he(`${r}/data/${t}/{z}/{x}/{y}.png`,i)],tileSize:s,minzoom:8,maxzoom:16}),a.getLayer(o)||a.addLayer({id:o,type:"raster",source:l,paint:{"raster-opacity":1},layout:{visibility:"none"}})}}}function Le({id:o,name:e,ns:t,stylePath:r,flagPrefix:i,base:n,apiKey:s,tk:a}){return{id:o,name:e,groupPrefix:t,ensure:async l=>{if(!(l!=null&&l.getStyle()))return;const c=a(`${n}/${r}/style.json`),u=`${n}/${r}/sprite`;l[`${i}Round1`]||(await Be(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="line",base:n,apiKey:s}),l[`${i}Round1`]=!0),l[`${i}Sprite`]||(await Nt(l,u,r.replace("/","_"),s),l[`${i}Sprite`]=!0),l[`${i}Round2`]||(await Be(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="symbol",base:n,apiKey:s}),l[`${i}Round2`]=!0)}}}function tt({id:o,name:e,ns:t,stylePath:r,flagPrefix:i,base:n,apiKey:s,tk:a}){return{id:o,name:e,groupPrefix:t,ensure:async l=>{if(!(l!=null&&l.getStyle()))return;const c=a(`${n}/${r}/style.json`),u=`${n}/${r}/sprite`;l[`${i}_Lines`]||(await Be(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="line",base:n,apiKey:s}),l[`${i}_Lines`]=!0),l[`${i}_Sprite`]||(await Nt(l,u,r.replace("/","_"),s),l[`${i}_Sprite`]=!0),l[`${i}_Symbols`]||(await Be(l,c,{ns:t,defaultVis:"none",includeFn:d=>(d==null?void 0:d.type)==="symbol"&&d["source-layer"]==="bts_mrt_station",base:n,apiKey:s}),l[`${i}_Symbols`]=!0)}}}class vn{constructor(e){this.context=e,this.eventBus=e.eventBus,this.authManager=e.authManager;const t=this.authManager.getBaseUrl();this._base=fn(t),this._apiKey=e.options.mapApiKey,this._catalog=wn(this._base,this._apiKey),this._ensured=new Set,this._layerState=new Map,e.options.maptilerKey&&(this._maptilerKey=e.options.maptilerKey),this.eventBus.on("mapLoaded",({map:r})=>{this._maptilerKey&&r&&(r.__pmMaptilerKey=this._maptilerKey),r.on("style.load",async()=>{for(const[i,n]of this._layerState.entries())try{const s=this._findItem(i);s&&await s.item.ensure(r),n.visible!==void 0&&this._setVisibility(i,n.visible),n.opacity!==void 0&&this.setOpacity(i,n.opacity)}catch(s){console.warn(`LayerManager: Failed to auto-restore layer ${i}`,s)}})})}_getMap(){var t;const e=this.context.registry.get("map");return(e==null?void 0:e.map)||((t=e==null?void 0:e.getMap)==null?void 0:t.call(e))}_findItem(e){for(const t of this._catalog){const r=t.items.find(i=>i.id===e);if(r)return{item:r,group:t}}return null}getCatalog(){return this._catalog.map(e=>({key:e.key,label:e.label,items:e.items.map(t=>({id:t.id,name:t.name,groupPrefix:t.groupPrefix||null}))}))}getGroup(e){const t=this._catalog.find(r=>r.key===e);return t?t.items.map(r=>({id:r.id,name:r.name})):null}getLayerState(e){var n;const t=this._getMap(),r=this._ensured.has(e);let i=null;if(t&&r){const s=Ft[e];if(s)try{const a=(((n=t.getStyle())==null?void 0:n.layers)||[]).filter(l=>l.id.startsWith(s.prefix+"-"));i=a.length>0&&a.some(l=>t.getLayoutProperty(l.id,"visibility")==="visible")}catch{i=!1}else try{i=t.getLayoutProperty(e,"visibility")==="visible"}catch{i=!1}}return{loaded:r,visible:i}}async ensure(e){const t=this._getMap();if(!t)throw new v("Map is not ready. Call ensure() after mapLoaded event.",C.INVALID_PARAMETERS,"layers");const r=this._findItem(e);if(!r)throw new v(`Layer "${e}" not found in catalog. Use getCatalog() to see available layers.`,C.INVALID_PARAMETERS,"layers");try{await r.item.ensure(t),this._ensured.add(e),this.eventBus.emit("layerEnsured",{layerId:e,group:r.group.key})}catch(i){throw new v(`Failed to ensure layer "${e}": ${i.message}`,C.API_REQUEST_FAILED,"layers",{originalError:i})}}async show(e){this._ensured.has(e)||await this.ensure(e);const t=this._layerState.get(e)||{};t.visible=!0,this._layerState.set(e,t),this._setVisibility(e,!0),this.eventBus.emit("layerVisibilityChanged",{layerId:e,visible:!0})}hide(e){const t=this._layerState.get(e)||{};t.visible=!1,this._layerState.set(e,t),this._setVisibility(e,!1),this.eventBus.emit("layerVisibilityChanged",{layerId:e,visible:!1})}async toggle(e){const t=this.getLayerState(e);t.loaded?t.visible?this.hide(e):this.show(e):await this.show(e)}setOpacity(e,t){var s;const r=this._layerState.get(e)||{};r.opacity=t,this._layerState.set(e,r);const i=this._getMap();if(!i)return;const n=Ft[e];if(n)try{const a=(((s=i.getStyle())==null?void 0:s.layers)||[]).filter(l=>l.id.startsWith(n.prefix+"-"));for(const l of a)try{l.type==="line"?i.setPaintProperty(l.id,"line-opacity",t):l.type==="symbol"?(i.setPaintProperty(l.id,"icon-opacity",t),i.setPaintProperty(l.id,"text-opacity",t)):l.type==="fill"&&i.setPaintProperty(l.id,"fill-opacity",t)}catch{}}catch{}else try{const a=i.getLayer(e);a&&(a.type==="raster"?i.setPaintProperty(e,"raster-opacity",t):a.type==="line"?i.setPaintProperty(e,"line-opacity",t):a.type==="fill"&&i.setPaintProperty(e,"fill-opacity",t))}catch{}}async showGroup(e){const t=this._catalog.find(r=>r.key===e);if(t)for(const r of t.items)await this.show(r.id)}hideGroup(e){const t=this._catalog.find(r=>r.key===e);if(t)for(const r of t.items)this.hide(r.id)}hideAll(){for(const e of this._catalog)for(const t of e.items)this.hide(t.id)}_setVisibility(e,t){const r=this._getMap();if(!r)return;const i=Ft[e];if(i){const n=!!t;if(r.__pmDesiredVis=r.__pmDesiredVis||{},r.__pmDesiredVis[i.prefix]=n,no(r,i.prefix,n),r.getLayer(e))try{r.setLayoutProperty(e,"visibility",n?"visible":"none")}catch{}else try{r.addLayer({id:e,type:"background",layout:{visibility:n?"visible":"none"},paint:{"background-opacity":0}})}catch{}return}if(r.getLayer(e))try{r.setLayoutProperty(e,"visibility",t?"visible":"none")}catch{}}}class Cn{constructor(e){this.context=e,this.baseUrl="https://maps.powermap.live/api/v2/indoor",this._geojsonCache={}}setBaseUrl(e){return this.baseUrl=e.replace(/\/$/,""),this}async getVenues(){return this._fetchJSON("/venues")}async getBuildings(e){const t=e?`/buildings?venueId=${e}`:"/buildings";return this._fetchJSON(t)}async getFloors(e){if(!e||e==="undefined"||e==="null")throw new Error("Valid buildingId is required");return this._fetchJSON("/floors?buildingId="+e)}async getFloorGeoJSON(e){if(!e)throw new Error("floorId is required");if(this._geojsonCache[e])return JSON.parse(JSON.stringify(this._geojsonCache[e]));const t=await this._fetchJSON(`/floors/${e}/geojson`);return this._geojsonCache[e]=JSON.parse(JSON.stringify(t)),t}async search(e,t={}){if(!e)throw new Error("Search query is required");if(!t.buildingId)throw new v("buildingId is required for indoor search",C.INVALID_PARAMETERS,"indoor");let r=`/search?q=${encodeURIComponent(e)}&buildingId=${t.buildingId}`;return t.category&&(r+=`&category=${t.category}`),t.limit&&(r+=`&limit=${t.limit}`),this._fetchJSON(r)}async _fetchJSON(e){const t=this.context.authManager;if(!t)throw new v("AuthManager not found in SDK context.",C.MAP_NOT_INITIALIZED,"indoor");const r=`${this.baseUrl}${e}`,i=await t.fetchWithAuth(r);if(!i.ok)throw new v(`API Request failed with status ${i.status}`,C.UNKNOWN,"indoor",{status:i.status});return await i.json()}}class xn{constructor(e){var t,r;this.context=e,this.map=(t=this.context.mapManager)==null?void 0:t.getMap(),this.routeData=null,this.activeFloorId=null,this.markers={start:null,end:null},this.backendUrl=(r=this.context.options)!=null&&r.baseUrl?this.context.options.baseUrl+"/api/v2/indoor":"https://maps.powermap.live/api/v2/indoor"}_getMap(){var e;if(this.map)return this.map;if(this.context.mapManager)return this.context.mapManager.getMap();if(this.context.registry&&this.context.registry.get){const t=this.context.registry.get("map");return(t==null?void 0:t.map)||((e=t==null?void 0:t.getMap)==null?void 0:e.call(t))}return null}setMap(e){this.map=e}async calculateRoute(e,t,r,i,n){var a,l;const s=new URL(`${this.backendUrl}/route`);s.searchParams.set("buildingId",e),s.searchParams.set("startFloorId",t),s.searchParams.set("startLng",r[0]),s.searchParams.set("startLat",r[1]),s.searchParams.set("endFloorId",i),s.searchParams.set("endLng",n[0]),s.searchParams.set("endLat",n[1]);try{let c;if(this.context.authManager?c=await this.context.authManager.fetchWithAuth(s.toString(),{source:"indoor-route"}):c=await fetch(s.toString(),{headers:{"x-client-id":this.context.mapApiKey||((a=this.context.auth)==null?void 0:a.clientId),"x-client-secret":(l=this.context.auth)==null?void 0:l.clientSecret}}),!c.ok){let y="Failed to fetch indoor route";try{const A=await c.json();A.error&&(y=A.error)}catch{}throw new Error(y)}const u=await c.json();this.routeData=u,this.activeFloorId=t,this.drawRoute(this.activeFloorId);let d=0,p=0,h=[],g=null;if(u&&u.type==="FeatureCollection"){const y=u.properties||(u.features.length>0?u.features[0].properties:{});d=y.distance||0,p=y.duration||Math.round(d/1.4),h=y.instructions||[],g=u.features.length>0?u.features[0].geometry:null;const A=u.features.flatMap(b=>{var w;return((w=b.geometry)==null?void 0:w.coordinates)||[]});if(A.length>1){const b=A.reduce((w,M)=>w.extend(M),new D.LngLatBounds(A[0],A[0]));this._getMap()&&this._getMap().fitBounds(b,{padding:60,duration:1e3})}}const f=h.map(y=>{var w;let A=null;(w=y.maneuver)!=null&&w.location?A=y.maneuver.location:y.interval&&coords.length>0&&(A=coords[y.interval[0]]);const b=y.maneuver||{type:"turn",instruction:y.text};return!b.location&&A&&(b.location=A),{distance:y.distance,duration:y.time?y.time/1e3:Math.round((y.distance||0)/1.4),name:y.street_name||"",floorId:y.floorId,maneuver:b}});return{distance:d,duration:p,steps:f,geometry:g,raw:u}}catch(c){throw console.error("PowerMap SDK: Indoor routing failed",c),this.clearRoute(),c}}setActiveFloor(e){this.activeFloorId=e,this.routeData&&this.drawRoute(e),this._updateMarkerVisibility()}clearRoute(){this.routeData=null,this._removeLayers(),this.markers.start&&this.markers.start.remove(),this.markers.end&&this.markers.end.remove(),this.markers={start:null,end:null}}drawRoute(e){const t=this._getMap();if(!t||!this.routeData)return;let r=this.routeData;r.type==="FeatureCollection"&&e&&(r={...r,features:r.features.filter(s=>!s.properties||s.properties.floorId===void 0?!0:(console.log("[SDK Route Debug] Backend floorId:",s.properties.floorId," | Target floorId:",e),String(s.properties.floorId)===String(e)||String(s.properties.level)===String(e)||String(s.properties.ordinal)===String(e)))});const i="pm-indoor-route",n=t.getSource(i);n?n.setData(r):t.addSource(i,{type:"geojson",data:r}),this._ensureLayers(i)}_ensureLayers(e){const t=this._getMap();t&&(t.getLayer(`${e}-casing`)||t.addLayer({id:`${e}-casing`,type:"line",source:e,layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#1d4ed8","line-width":8,"line-opacity":.3}}),t.getLayer(`${e}-line`)||t.addLayer({id:`${e}-line`,type:"line",source:e,layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#3b82f6","line-width":5}}))}_removeLayers(){const e=this._getMap();if(!e)return;const t="pm-indoor-route";e.getLayer(`${t}-line`)&&e.removeLayer(`${t}-line`),e.getLayer(`${t}-casing`)&&e.removeLayer(`${t}-casing`),e.getSource(t)&&e.removeSource(t)}drawMarkers(e,t){const r=this._getMap();if(r){if(!e&&this.markers.start&&(this.markers.start.remove(),this.markers.start=null),!t&&this.markers.end&&(this.markers.end.remove(),this.markers.end=null),e){if(this.markers.start)this.markers.start.setLngLat([e.lng,e.lat]);else{const i=document.createElement("div");i.className="pm-routing-marker pm-routing-marker-start",i.style.width="24px",i.style.height="24px",i.style.backgroundColor="#10b981",i.style.borderRadius="50%",i.style.border="3px solid white",i.style.boxShadow="0 2px 4px rgba(0,0,0,0.3)",i.style.zIndex="1",this.markers.start=new D.Marker({element:i,draggable:!0}).setLngLat([e.lng,e.lat]).addTo(r),this.markers.start.on("dragend",()=>{const n=this.markers.start.getLngLat();r.fire("indoor-routing-marker-dragend",{markerType:"origin",lngLat:n,floorId:this.markers.start.getElement().dataset.floorId})})}this.markers.start.getElement().dataset.floorId=e.floorId}if(t){if(this.markers.end)this.markers.end.setLngLat([t.lng,t.lat]);else{const i=document.createElement("div");i.className="pm-routing-marker pm-routing-marker-end",i.style.width="24px",i.style.height="24px",i.style.backgroundColor="#ef4444",i.style.borderRadius="50%",i.style.border="3px solid white",i.style.boxShadow="0 2px 4px rgba(0,0,0,0.3)",i.style.zIndex="1",this.markers.end=new D.Marker({element:i,draggable:!0}).setLngLat([t.lng,t.lat]).addTo(r),this.markers.end.on("dragend",()=>{const n=this.markers.end.getLngLat();r.fire("indoor-routing-marker-dragend",{markerType:"destination",lngLat:n,floorId:this.markers.end.getElement().dataset.floorId})})}this.markers.end.getElement().dataset.floorId=t.floorId}this._updateMarkerVisibility()}}_updateMarkerVisibility(){if(this.markers.start){const e=this.markers.start.getElement();e.style.display=!e.dataset.floorId||String(e.dataset.floorId)===String(this.activeFloorId)?"block":"none"}if(this.markers.end){const e=this.markers.end.getElement();e.style.display=!e.dataset.floorId||String(e.dataset.floorId)===String(this.activeFloorId)?"block":"none"}}}class Mn{constructor(e){this.context=e,this.eventBus=e.eventBus,this.api=new Cn(e),this.router=new xn(e),this.currentFloor=0,this._isTransitioning=!1,this.layerGroups={poi:["pm-draw-special-point-inactive","pm-draw-special-point-active"],beacon:["pm-draw-special-point-inactive","pm-draw-special-point-active"],walkway:["pm-draw-line-active","pm-draw-line-static","pm-draw-point-vertex","pm-draw-point-mid"],obstacle:["pm-draw-polygon-fill","pm-draw-polygon-outline","pm-draw-polygon-fill-static","pm-draw-polygon-outline-static","pm-draw-point-vertex","pm-draw-point-mid","pm-user-3d-buildings-fill"],model3d:["three-glb-layer"]},this.eventBus.on("mapLoaded",()=>{this.currentFloor!==0&&this.setFloor(this.currentFloor)}),this.eventBus.on("layerVisibilityChanged",()=>{this._applyFilters()})}_getMap(){var t;const e=this.context.registry.get("map");return(e==null?void 0:e.map)||((t=e==null?void 0:e.getMap)==null?void 0:t.call(e))}async setFloor(e,t={}){var n;if(typeof e!="number")throw new v("Floor ordinal must be a number.",C.INVALID_PARAMETERS,"indoor");if(this._isTransitioning)return this;const r=t.animate!==!1,i=t.duration||300;if(r&&this.currentFloor!==e){this._isTransitioning=!0;const s=this._getMap(),a=(n=s==null?void 0:s.getContainer)==null?void 0:n.call(s);a&&(a.style.pointerEvents="none");try{await this._transitionOpacity(0,i/2),this.currentFloor=e,this._applyFilters(),await this._transitionOpacity(1,i/2)}finally{this._isTransitioning=!1,a&&(a.style.pointerEvents="auto")}}else this.currentFloor=e,this._applyFilters();return this.eventBus.emit("floorChanged",e),this}getAvailableFloors(){var i;const e=new Set,t=this.context.registry.get("geometry");t&&typeof t.getAvailableFloors=="function"&&t.getAvailableFloors().forEach(n=>e.add(n));const r=(i=this.context.registry.get("map"))==null?void 0:i.threeLayer;return r&&typeof r.getAvailableFloors=="function"&&r.getAvailableFloors().forEach(n=>e.add(n)),Array.from(e).sort((n,s)=>n-s)}getCurrentFloor(){return this.currentFloor}async _transitionOpacity(e,t){if(!this._getMap())return;const i=this.context.registry.get("geometry");return i&&typeof i.setMarkerOpacity=="function"&&i.setMarkerOpacity(e),this._getAllIndoorLayerIds().forEach(s=>{this._setLayerOpacity(s,e,t)}),new Promise(s=>setTimeout(s,t))}_setLayerOpacity(e,t,r=0){const i=this._getMap();if(!i||!i.getLayer(e))return;const n=i.getLayer(e).type,s=[];n==="fill"?s.push("fill-opacity"):n==="line"?s.push("line-opacity"):n==="circle"?s.push("circle-opacity","circle-stroke-opacity"):n==="symbol"?s.push("icon-opacity","text-opacity"):n==="raster"?s.push("raster-opacity"):n==="fill-extrusion"&&s.push("fill-extrusion-opacity"),s.forEach(a=>{i.setPaintProperty(e,`${a}-transition`,{duration:r,delay:0}),i.setPaintProperty(e,a,t)})}_getAllIndoorLayerIds(){return[...this.layerGroups.poi,...this.layerGroups.beacon,...this.layerGroups.walkway,...this.layerGroups.obstacle]}_applyFilters(){var i;const e=this._getMap();if(!e)return;const t=this.currentFloor;try{const n=this.context.registry.get("geometry");n&&typeof n.syncFloorVisibility=="function"&&n.syncFloorVisibility(t)}catch(n){console.warn("FloorManager: Failed to sync Draw features",n)}try{const n=this.context.registry.get("geometry");n&&typeof n.setFloorFilter=="function"&&n.setFloorFilter(t)}catch(n){console.warn("FloorManager: Failed to filter DOM markers",n)}Object.entries(this.layerGroups).forEach(([n,s])=>{s.forEach(a=>{e.getLayer(a)&&(a.startsWith("pm-draw-")||e.setLayoutProperty(a,"visibility","visible"))})}),["pm-user-3d-buildings-fill"].forEach(n=>{if(e.getLayer(n))try{e.setLayoutProperty(n,"visibility","visible");const s=["all",["==",["coalesce",["get","user_floorOrdinal"],["get","floorOrdinal"],["get","user_ordinal"],["get","ordinal"],0],t],["!=",["get","user_isHidden"],!0]];e.setFilter(n,s)}catch(s){console.warn(`FloorManager: Failed to set filter on layer ${n}`,s)}});try{const n=(i=this.context.registry.get("map"))==null?void 0:i.threeLayer;n&&typeof n.setFloorFilter=="function"&&n.setFloorFilter(t)}catch{}}_setActiveVenue(e){this._activeVenue=e||null,e&&this.eventBus.emit("venueChanged",this.getVenueInfo())}getActiveVenue(){return this._activeVenue||null}getVenues(){const e=this.context.registry.get("geometry");if(!e||!e.query)return[];const t=[...e.query().byKind("venue").toArray(),...e.query().byKind("floor").where("category","eq","venue").toArray(),...e.query().byKind("floor").where("feature_type","eq","venue").toArray()],r=new Set;return t.filter(i=>{var s;const n=((s=i.properties)==null?void 0:s.user_id)||i.id;return r.has(n)?!1:(r.add(n),!0)}).map(i=>{const n=i.properties||{},s=n.user_name||n.name;return{id:n.user_id||i.id,name:typeof s=="object"?s==null?void 0:s.en:s||"",category:n.user_category||n.category||"venue",feature:i}})}getVenueInfo(){var s,a;if(!this._activeVenue)return null;const e=this._activeVenue.properties||{},t=e.user_name||e.name,r=this.getAvailableFloors(),i=this.getBuildings();let n=null;try{const l=((s=this._activeVenue.geometry)==null?void 0:s.type)==="Polygon"?this._activeVenue.geometry.coordinates[0]:((a=this._activeVenue.geometry)==null?void 0:a.type)==="Point"?[this._activeVenue.geometry.coordinates]:[];if(l.length>0){let c=1/0,u=1/0,d=-1/0,p=-1/0;for(const h of l)h[0]<c&&(c=h[0]),h[1]<u&&(u=h[1]),h[0]>d&&(d=h[0]),h[1]>p&&(p=h[1]);n=[[c,u],[d,p]]}}catch{}return{id:e.user_id||this._activeVenue.id,name:typeof t=="object"?t==null?void 0:t.en:t||"",category:e.user_category||e.category||"venue",floors:r,bounds:n,buildingCount:i.length}}getFloorInfo(e){const t=this.context.registry.get("geometry");if(!t||!t.query)return null;const r=t.query().byKind("floor").where("feature_type","eq","level").byFloor(e).first()||t.query().byKind("floor").byFloor(e).first();if(!r)return null;const i=r.properties||{},n=i.user_name||i.name,s=t.query().byKind("poi").byFloor(e).count(),a=t.query().byKind("beacon").byFloor(e).count(),l=t.query().byKind("unit").byFloor(e).count()+t.query().byKind("obstacle").byFloor(e).count();return{id:i.user_id||r.id,name:typeof n=="object"?n==null?void 0:n.en:n||"",shortName:i.user_short_name||i.short_name||"",ordinal:e,outdoor:!!(i.user_outdoor||i.outdoor),unitCount:l,poiCount:s,beaconCount:a}}getBuildings(){const e=this.context.registry.get("geometry");if(!e||!e.query)return[];const t=[...e.query().byKind("building").toArray(),...e.query().byKind("floor").where("category","eq","building").toArray(),...e.query().byKind("floor").where("feature_type","eq","building").toArray()],r=new Set;return t.filter(i=>{var s;const n=((s=i.properties)==null?void 0:s.user_id)||i.id;return r.has(n)?!1:(r.add(n),!0)}).map(i=>{const n=i.properties||{},s=n.user_name||n.name;return{id:n.user_id||i.id,name:typeof s=="object"?s==null?void 0:s.en:s||"",category:n.user_category||n.category||"building"}})}}class En{constructor(e={}){this.options=e,this.container=null,this.floors=[],this.activeFloorId=null,this._map=null}onAdd(e){return this._map=e,this.container=document.createElement("div"),this.container.className="maplibregl-ctrl maplibregl-ctrl-group pm-indoor-floor-selector",this._render(),this.container}onRemove(){var e;(e=this.container.parentNode)==null||e.removeChild(this.container),this._map=null}setFloors(e){this.floors=e||[],this._render()}setActiveFloor(e){this.activeFloorId=e,this._updateActiveState()}_render(){if(this.container){if(this.container.innerHTML="",this.floors.length===0){this.container.style.display="none";return}this.container.style.display="flex",this.floors.forEach(e=>{const t=document.createElement("button");t.className="pm-indoor-floor-btn",t.type="button",t.textContent=e.name||e.id,t.setAttribute("data-floor-id",e.id),t.addEventListener("click",()=>{this.setActiveFloor(e.id),this.options.onChange&&this.options.onChange(e.id,e)}),this.container.appendChild(t)}),this._updateActiveState()}}_updateActiveState(){if(!this.container)return;this.container.querySelectorAll(".pm-indoor-floor-btn").forEach(t=>{t.getAttribute("data-floor-id")===String(this.activeFloorId)?t.classList.add("active"):t.classList.remove("active")})}}class In{constructor(e={}){if(this.options=e,this.buildingId=e.buildingId||null,this.router=e.router||null,this.container=null,this._map=null,this._mapInstance=null,this._focusMarker=null,this.origin=null,this.destination=null,this.routeResult=null,this.router&&typeof this.router.setActiveFloor=="function"){const t=this.router.setActiveFloor.bind(this.router);this.router.setActiveFloor=r=>{if(t(r),this._focusMarker){const i=this._focusMarker.getElement(),n=i.dataset.floorId;n&&String(n)!==String(r)?i.style.display="none":i.style.display="block"}}}this._originSearchTimer=null,this._destSearchTimer=null,this._onMapClick=this._onMapClick.bind(this),this._onMarkerDragEnd=this._onMarkerDragEnd.bind(this),this.activeInput=null,this._icons={depart:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="3"/></svg>',arrive:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>',elevator:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 4v16M8 8l4-4 4 4M8 16l4 4 4-4"/></svg>',left:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 14l-4-4 4-4"/><path d="M5 10h11a4 4 0 0 1 4 4v4"/></svg>',right:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M15 14l4-4-4-4"/><path d="M19 10H8a4 4 0 0 0-4 4v4"/></svg>',straight:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg>',uturn:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 10l-4 4 4 4"/><path d="M5 14h10a4 4 0 0 0 4-4v-4"/></svg>'}}onAdd(e){return this._map=e,this.container=document.createElement("div"),this.container.className="maplibregl-ctrl pm-indoor-routing-panel",this._render(),this._map&&(this._map.on("click",this._onMapClick),this._map.on("indoor-routing-marker-dragend",this._onMarkerDragEnd)),this.container}onRemove(){var e;this._map&&(this._map.off("click",this._onMapClick),this._map.off("indoor-routing-marker-dragend",this._onMarkerDragEnd)),(e=this.container.parentNode)==null||e.removeChild(this.container),this._map=null}setBuildingId(e){this.buildingId=e}setMapInstance(e){this._mapInstance=e}_render(){if(!this.container)return;this.container.innerHTML=`
|
|
356
356
|
<div class="pm-routing-panel-header">
|
|
357
357
|
<div class="pm-routing-inputs-container">
|
|
358
358
|
<div class="pm-routing-inputs">
|
|
@@ -380,7 +380,7 @@
|
|
|
380
380
|
<div id="pm-indoor-search-results" class="pm-search-results" style="display: none; position: static; box-shadow: none; border: none; border-radius: 0; width: 100%; max-height: none; padding: 0; margin: 0; flex: 1; overflow-y: auto;"></div>
|
|
381
381
|
<div class="pm-routing-summary" id="pm-routing-summary" style="display: none;"></div>
|
|
382
382
|
<div class="pm-routing-steps" id="pm-routing-steps" style="display: none;"></div>
|
|
383
|
-
`;const e=this.container.querySelector("#pm-route-origin"),t=this.container.querySelector("#pm-route-dest");e.addEventListener("input",i=>this._onSearchInput(i.target.value,"origin")),t.addEventListener("input",i=>this._onSearchInput(i.target.value,"destination")),e.addEventListener("focus",()=>{this.activeInput="origin"}),t.addEventListener("focus",()=>{this.activeInput="destination"}),document.addEventListener("click",i=>{this.container.contains(i.target)||(this._hideResults("origin"),this._hideResults("destination"))});const
|
|
383
|
+
`;const e=this.container.querySelector("#pm-route-origin"),t=this.container.querySelector("#pm-route-dest");e.addEventListener("input",i=>this._onSearchInput(i.target.value,"origin")),t.addEventListener("input",i=>this._onSearchInput(i.target.value,"destination")),e.addEventListener("focus",()=>{this.activeInput="origin"}),t.addEventListener("focus",()=>{this.activeInput="destination"}),document.addEventListener("click",i=>{this.container.contains(i.target)||(this._hideResults("origin"),this._hideResults("destination"))});const r=this.container.querySelector("#pm-route-swap");r&&r.addEventListener("click",()=>this._swapLocations())}_swapLocations(){const e=this.origin;this.origin=this.destination,this.destination=e;const t=this.container.querySelector("#pm-route-origin"),r=this.container.querySelector("#pm-route-dest"),i=t.value;t.value=r.value,r.value=i,this._tryCalculateRoute()}_onMarkerDragEnd(e){e.markerType==="origin"&&this.origin?(this.origin.lng=e.lngLat.lng,this.origin.lat=e.lngLat.lat,this._tryCalculateRoute()):e.markerType==="destination"&&this.destination&&(this.destination.lng=e.lngLat.lng,this.destination.lat=e.lngLat.lat,this._tryCalculateRoute())}_onMapClick(e){var n;if(!this.activeInput||!this.buildingId)return;const t=e.lngLat;let r=((n=this.router)==null?void 0:n.activeFloorId)||null;const i={id:"custom-"+Date.now(),name:`Point (${t.lat.toFixed(4)}, ${t.lng.toFixed(4)})`,floorId:r,lng:t.lng,lat:t.lat};this._selectLocation(i,this.activeInput),this.activeInput=null}async _onSearchInput(e,t){if(t==="origin"&&clearTimeout(this._originSearchTimer),t==="destination"&&clearTimeout(this._destSearchTimer),!e||e.length<2){this._hideResults();return}const r=setTimeout(async()=>{var i;try{const n=this.router&&this.router.backendUrl?this.router.backendUrl:"https://maps.powermap.live/api/v2/indoor",s=new URL(`${n}/search`);s.searchParams.set("q",e),this.buildingId&&s.searchParams.set("buildingId",this.buildingId);let a;const l=((i=this._map)==null?void 0:i.authManager)||this.router&&this.router.context&&this.router.context.authManager;if(l?a=await l.fetchWithAuth(s.toString(),{source:"indoor-search"}):a=await fetch(s.toString()),a&&a.ok){const c=await a.json();let u=[];Array.isArray(c)?u=c:c.hits&&Array.isArray(c.hits.hits)?u=c.hits.hits:Array.isArray(c.hits)?u=c.hits:Array.isArray(c.data)?u=c.data:Array.isArray(c.results)?u=c.results:Array.isArray(c.value)&&(u=c.value),this._renderResults(u,t)}}catch(n){console.error("PowerMap SDK: Indoor search failed",n)}},300);t==="origin"&&(this._originSearchTimer=r),t==="destination"&&(this._destSearchTimer=r)}_renderResults(e,t){const r=this.container.querySelector("#pm-indoor-search-results");if(r.innerHTML="",!e||e.length===0){this._hideResults();return}e.forEach(s=>{const a=document.createElement("div");a.className="pm-route-step";let l="-";s.floorNumber!==void 0?l=String(s.floorNumber):s.level!==void 0?l=String(s.level):s.ordinal!==void 0&&(l=String(s.ordinal)),a.innerHTML=`
|
|
384
384
|
<div class="pm-step-icon-col" style="display: flex; flex-direction: column; align-items: center; margin-right: 12px;">
|
|
385
385
|
<div class="pm-step-icon-bg" style="width: 32px; height: 32px; border-radius: 50%; background: rgba(242, 101, 34, 0.1); color: #F26522; display: flex; justify-content: center; align-items: center;">
|
|
386
386
|
<svg viewBox="0 0 24 24" fill="currentColor" style="width: 16px; height: 16px;"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>
|
|
@@ -390,7 +390,7 @@
|
|
|
390
390
|
<div class="pm-step-instruction" style="font-size: 14px; font-weight: 600; color: var(--pm-routing-text); margin-bottom: 2px;">${s.name||"Unnamed Location"}</div>
|
|
391
391
|
<div class="pm-step-meta" style="font-size: 12px; color: var(--pm-routing-text-muted);">Floor ${l}</div>
|
|
392
392
|
</div>
|
|
393
|
-
`,a.addEventListener("click",()=>this._selectLocation(s,t)),
|
|
393
|
+
`,a.addEventListener("click",()=>this._selectLocation(s,t)),r.appendChild(a)}),r.style.display="block";const i=this.container.querySelector("#pm-routing-steps");i&&(i.style.display="none");const n=this.container.querySelector("#pm-routing-summary");n&&(n.style.display="none")}_hideResults(){const e=this.container.querySelector("#pm-indoor-search-results");e&&(e.style.display="none")}_clearInput(e){const t=this.container.querySelector(e==="origin"?"#pm-route-origin":"#pm-route-dest");t.value="",e==="origin"?this.origin=null:this.destination=null,this._hideResults(),this.router&&this.router.drawMarkers(this.origin,this.destination),this._clearRouteUI()}clear(){this._clearInput("origin"),this._clearInput("destination"),this._clearFocusMarker(),this._clearRouteUI(),this.router&&(this.router.clearRoute(),this.router.drawMarkers(null,null))}_selectLocation(e,t){var s,a,l,c,u,d;const r=this.container.querySelector(t==="origin"?"#pm-route-origin":"#pm-route-dest");r.value=e.name||"Selected Location";let i=null;e.ordinal!==void 0&&e.ordinal!==null?i=e.ordinal:e.floorId!==void 0&&e.floorId!==null?i=e.floorId:i=e.floorNumber||e.level||null;const n={id:e.id||e.gid||e._id||"loc-"+Date.now(),name:e.name||"Selected Location",floorId:i,lng:((s=e.positionLngLat)==null?void 0:s[0])??e.lng??e.x??((l=(a=e.geometry)==null?void 0:a.coordinates)==null?void 0:l[0]),lat:((c=e.positionLngLat)==null?void 0:c[1])??e.lat??e.y??((d=(u=e.geometry)==null?void 0:u.coordinates)==null?void 0:d[1])};t==="origin"?this.origin=n:this.destination=n,this._hideResults(),this.options.onLocationSelect&&this.options.onLocationSelect(n),this.router&&this.router.drawMarkers(this.origin,this.destination),this._tryCalculateRoute()}async _tryCalculateRoute(){var e,t,r;if(this.origin&&this.destination&&this.router&&this.buildingId){this._setLoading(!0);try{const i=this.origin.floorId||((e=this.router)==null?void 0:e.activeFloorId),n=(t=this.router)==null?void 0:t.activeFloorId,s=await this.router.calculateRoute(this.buildingId,i,[this.origin.lng,this.origin.lat],this.destination.floorId||((r=this.router)==null?void 0:r.activeFloorId),[this.destination.lng,this.destination.lat]);if(this.routeResult=s,i){if(String(n)!==String(i)){if(this.options.onFloorChange)this.options.onFloorChange(i);else if(this._mapInstance&&this._mapInstance.indoor&&typeof this._mapInstance.indoor.setFloor=="function"){const a=Number(i);isNaN(a)||this._mapInstance.indoor.setFloor(a,{animate:!0})}}this.router&&this.router.setActiveFloor(i)}else this.router&&this.router.drawRoute(this.router.activeFloorId);this._renderRouteSummary(),this._renderRouteSteps()}catch{this._clearRouteUI(),setTimeout(()=>{const n=this.container.querySelector("#pm-routing-summary");n&&(n.style.display="flex",n.innerHTML='<div class="pm-routing-loading" style="padding: 20px 10px; text-align: center; color: #6b7280; font-size: 14px; font-weight: 500;">No route found</div>')},50)}finally{this._setLoading(!1)}}}_setLoading(e){const t=this.container.querySelector("#pm-routing-summary");e&&(t.style.display="flex",t.innerHTML='<div class="pm-routing-loading">Calculating route...</div>',this.container.querySelector("#pm-routing-steps").style.display="none")}_clearRouteUI(){this.container.querySelector("#pm-routing-summary").style.display="none",this.container.querySelector("#pm-routing-steps").style.display="none",this.routeResult=null,this._clearFocusMarker(),this.router&&(this.router.clearRoute(),this.router.drawMarkers(this.origin,this.destination))}_clearFocusMarker(){this._focusMarker&&(this._focusMarker.remove(),this._focusMarker=null)}_renderRouteSummary(){const e=this.container.querySelector("#pm-routing-summary");if(!this.routeResult)return;const t=this.routeResult.distance||0,r=this.routeResult.duration||0,i=t>=1e3?`${(t/1e3).toFixed(1)} km`:`${Math.round(t)} m`,n=Math.round(r/60),s=n<60?`${n} min`:`${Math.floor(n/60)}h ${n%60}min`;e.innerHTML=`
|
|
394
394
|
<div class="pm-summary-stat">
|
|
395
395
|
<span class="pm-stat-value">${s}</span>
|
|
396
396
|
<span class="pm-stat-label">walking</span>
|
|
@@ -399,7 +399,7 @@
|
|
|
399
399
|
<span class="pm-stat-value">${i}</span>
|
|
400
400
|
<span class="pm-stat-label">distance</span>
|
|
401
401
|
</div>
|
|
402
|
-
`,e.style.display="flex"}_renderRouteSteps(){const e=this.container.querySelector("#pm-routing-steps");if(!this.routeResult||!this.routeResult.steps||this.routeResult.steps.length===0){e.style.display="none";return}e.innerHTML="",this.routeResult.steps.forEach((t,
|
|
402
|
+
`,e.style.display="flex"}_renderRouteSteps(){const e=this.container.querySelector("#pm-routing-steps");if(!this.routeResult||!this.routeResult.steps||this.routeResult.steps.length===0){e.style.display="none";return}e.innerHTML="",this.routeResult.steps.forEach((t,r)=>{var l;const i=r===this.routeResult.steps.length-1,n=document.createElement("div");n.className="pm-route-step";const s=this._getManeuverIcon(t.maneuver),a=t.distance?`${Math.round(t.distance)}m`:"";n.innerHTML=`
|
|
403
403
|
<div class="pm-step-icon-col">
|
|
404
404
|
<div class="pm-step-icon-bg">${s}</div>
|
|
405
405
|
${i?"":'<div class="pm-step-line"></div>'}
|
|
@@ -408,7 +408,7 @@
|
|
|
408
408
|
<div class="pm-step-instruction">${((l=t.maneuver)==null?void 0:l.instruction)||t.name||"Proceed"}</div>
|
|
409
409
|
${a?`<div class="pm-step-meta">${a}</div>`:""}
|
|
410
410
|
</div>
|
|
411
|
-
`,n.addEventListener("click",()=>this._onStepClick(t)),e.appendChild(n)}),e.style.display="block"}_onStepClick(e){var
|
|
411
|
+
`,n.addEventListener("click",()=>{e.querySelectorAll(".pm-route-step").forEach(u=>u.classList.remove("active")),n.classList.add("active"),this._onStepClick(t)}),e.appendChild(n)}),e.style.display="block"}_onStepClick(e){var r,i,n;if(!this._map)return;if(e.floorId){const s=this.router?this.router.activeFloorId:null;if(String(s)!==String(e.floorId)){if(this.options.onFloorChange)this.options.onFloorChange(e.floorId);else if((i=(r=this._mapInstance)==null?void 0:r.indoor)!=null&&i.setFloor){const a=Number(e.floorId);isNaN(a)||this._mapInstance.indoor.setFloor(a,{animate:!0})}}}let t=(n=e.maneuver)==null?void 0:n.location;if(t&&!Array.isArray(t)&&t.coordinates&&(t=t.coordinates),t&&Array.isArray(t)&&t.length>=2){const[s,a]=t;this._map.flyTo({center:[s,a],zoom:19,pitch:45,duration:1500}),this._clearFocusMarker();const l=document.createElement("div");l.className="pm-focus-marker-container",l.dataset.floorId=e.floorId||(this.router?this.router.activeFloorId:"");const c=document.createElement("div");c.className="pm-focus-marker",l.appendChild(c),this._focusMarker=new D.Marker({element:l,anchor:"center"}).setLngLat([s,a]).addTo(this._map)}}_getManeuverIcon(e){if(!e)return this._icons.straight;const t=(e.type||"").toLowerCase(),r=(e.modifier||"").toLowerCase();return t==="elevator"?this._icons.elevator:t==="depart"?this._icons.depart:t==="arrive"?this._icons.arrive:r.includes("u-turn")||r.includes("uturn")||t==="uturn"?this._icons.uturn:r.includes("left")?this._icons.left:r.includes("right")?this._icons.right:this._icons.straight}}class kn{constructor(e={}){this.options=Object.assign({defaultProfile:"driving",onLocationSelect:null,onRouteCalculated:null,onClear:null},e),this.origin=null,this.destination=null,this.waypoints=[],this.activeProfile=this.options.defaultProfile,this.routeResult=null,this.activeInput=null,this.searchTimer=null,this._onMapClick=this._onMapClick.bind(this)}onAdd(e){return this._map=e,this._mapInstance=this._mapInstance||e.powermap,this.container=document.createElement("div"),this.container.className="pm-indoor-routing-panel maplibregl-ctrl mapboxgl-ctrl pm-outdoor-routing",this._renderUI(),this._map.on("click",this._onMapClick),this.container}onRemove(){this._map&&this._map.off("click",this._onMapClick),this.container.parentNode.removeChild(this.container),this._map=void 0,this._mapInstance=void 0}setMapInstance(e){this._mapInstance=e}_renderUI(){this.container.innerHTML=`
|
|
412
412
|
<div class="pm-routing-panel-header">
|
|
413
413
|
<div class="pm-routing-header-top" style="display: flex; justify-content: space-between; align-items: center;">
|
|
414
414
|
<h3>Directions</h3>
|
|
@@ -450,12 +450,12 @@
|
|
|
450
450
|
</div>
|
|
451
451
|
<input type="text" id="pm-outdoor-origin" class="pm-routing-input" placeholder="Choose starting point..." autocomplete="off" value="${this.origin?this.origin.name:""}">
|
|
452
452
|
</div>
|
|
453
|
-
`;this.waypoints.forEach((
|
|
453
|
+
`;this.waypoints.forEach((r,i)=>{t+=`
|
|
454
454
|
<div class="pm-routing-input-row wp-row" data-type="waypoint" data-index="${i}" draggable="true">
|
|
455
455
|
<div class="pm-routing-icon wp-icon" style="cursor: grab;">
|
|
456
456
|
<div class="wp-dot"></div>
|
|
457
457
|
</div>
|
|
458
|
-
<input type="text" class="pm-routing-input wp-input" placeholder="Choose stop..." autocomplete="off" value="${
|
|
458
|
+
<input type="text" class="pm-routing-input wp-input" placeholder="Choose stop..." autocomplete="off" value="${r?r.name:""}">
|
|
459
459
|
<button class="pm-remove-wp-btn" title="Remove Stop">×</button>
|
|
460
460
|
</div>
|
|
461
461
|
`}),t+=`
|
|
@@ -465,7 +465,7 @@
|
|
|
465
465
|
</div>
|
|
466
466
|
<input type="text" id="pm-outdoor-dest" class="pm-routing-input" placeholder="Choose destination..." autocomplete="off" value="${this.destination?this.destination.name:""}">
|
|
467
467
|
</div>
|
|
468
|
-
`,t+='<div class="pm-routing-line-connector" style="bottom: 36px; top: 36px;"></div>',e.innerHTML=t,this._attachInputListeners()}_attachEventHandlers(){const e=this.container.querySelector("#pm-route-clear-outdoor");e&&e.addEventListener("click",()=>this.clear()),this.container.querySelector("#pm-add-waypoint-btn").addEventListener("click",()=>{this.waypoints.push(null),this._renderInputs()});const t=this.container.querySelectorAll(".pm-profile-btn");t.forEach(
|
|
468
|
+
`,t+='<div class="pm-routing-line-connector" style="bottom: 36px; top: 36px;"></div>',e.innerHTML=t,this._attachInputListeners()}_attachEventHandlers(){const e=this.container.querySelector("#pm-route-clear-outdoor");e&&e.addEventListener("click",()=>this.clear()),this.container.querySelector("#pm-add-waypoint-btn").addEventListener("click",()=>{this.waypoints.push(null),this._renderInputs()});const t=this.container.querySelectorAll(".pm-profile-btn");t.forEach(r=>{r.addEventListener("click",i=>{t.forEach(s=>s.classList.remove("active"));const n=i.currentTarget;n.classList.add("active"),this.activeProfile=n.getAttribute("data-profile"),this._tryCalculateRoute()})}),document.addEventListener("click",r=>{this.container.contains(r.target)||this._hideResults()})}_attachInputListeners(){const e=this.container.querySelector("#pm-outdoor-origin"),t=this.container.querySelector("#pm-outdoor-dest"),r=this.container.querySelectorAll(".wp-input"),i=this.container.querySelectorAll(".pm-remove-wp-btn"),n=(u,d,p=null)=>{this.activeInput={type:d,index:p,el:u.target}},s=()=>{setTimeout(()=>{this.activeInput=null},200)},a=u=>{if(u.target.value.trim()===""&&this.activeInput){let p=!1;if(this.activeInput.type==="origin"&&this.origin!==null)this.origin=null,p=!0;else if(this.activeInput.type==="destination"&&this.destination!==null)this.destination=null,p=!0;else if(this.activeInput.type==="waypoint"){const h=this.activeInput.index;this.waypoints[h]!==null&&(this.waypoints[h]=null,p=!0)}p&&(this._drawMarkers(),this._tryCalculateRoute())}this._onSearchInput(u.target.value)};e.addEventListener("focus",u=>n(u,"origin")),e.addEventListener("blur",s),e.addEventListener("keyup",a),t.addEventListener("focus",u=>n(u,"destination")),t.addEventListener("blur",s),t.addEventListener("keyup",a),r.forEach((u,d)=>{u.addEventListener("focus",p=>n(p,"waypoint",d)),u.addEventListener("blur",s),u.addEventListener("keyup",a)}),i.forEach((u,d)=>{u.addEventListener("click",()=>{this.waypoints.splice(d,1),this._renderInputs(),this._drawMarkers(),this._tryCalculateRoute()})});const l=this.container.querySelectorAll(".pm-routing-input-row");let c=null;l.forEach(u=>{u.addEventListener("dragstart",d=>{c={type:u.dataset.type,index:u.dataset.index,el:u},u.style.opacity="0.5"}),u.addEventListener("dragend",()=>{u.style.opacity="1",c=null,l.forEach(d=>d.style.borderTop=""),l.forEach(d=>d.style.borderBottom="")}),u.addEventListener("dragover",d=>{d.preventDefault()}),u.addEventListener("dragenter",d=>{d.preventDefault(),c&&c.el!==u&&(u.style.borderTop="2px dashed var(--pm-routing-accent)")}),u.addEventListener("dragleave",()=>{u.style.borderTop="",u.style.borderBottom=""}),u.addEventListener("drop",d=>{d.preventDefault(),u.style.borderTop="",u.style.borderBottom="",c&&c.el!==u&&this._swapPoints(c.type,c.index,u.dataset.type,u.dataset.index)})})}_swapPoints(e,t,r,i){const n=(c,u)=>c==="origin"?this.origin:c==="destination"?this.destination:this.waypoints[parseInt(u,10)],s=(c,u,d)=>{c==="origin"?this.origin=d:c==="destination"?this.destination=d:this.waypoints[parseInt(u,10)]=d},a=n(e,t),l=n(r,i);s(e,t,l),s(r,i,a),this._renderInputs(),this._drawMarkers(),this._tryCalculateRoute()}async _onSearchInput(e){const t=this.container.querySelector("#pm-outdoor-search-results");if(clearTimeout(this.searchTimer),!e||e.length<2){t.style.display="none";return}this.searchTimer=setTimeout(async()=>{try{if(!this._mapInstance||!this._mapInstance.searchManager){console.warn("SearchManager not initialized on PowerMap instance.");return}let r=null;if(this._map){const s=this._map.getCenter();r=[s.lng,s.lat]}const i=await this._mapInstance.searchManager.search(e,{location:r,limit:10});let n=[];Array.isArray(i)?n=i:i.hits&&Array.isArray(i.hits.hits)?n=i.hits.hits:Array.isArray(i.hits)?n=i.hits:Array.isArray(i.data)?n=i.data:Array.isArray(i.results)?n=i.results:Array.isArray(i.value)&&(n=i.value),n&&n.length>0?this._renderResults(n,e):t.style.display="none"}catch(r){console.error("PowerMap SDK: Outdoor search failed",r)}},300)}_renderResults(e,t){const r=this.container.querySelector("#pm-outdoor-search-results");if(r.innerHTML="",!e||e.length===0){r.style.display="none";return}const i=t&&/^[A-Za-z0-9\s\.,-]+$/.test(t);e.forEach(n=>{const s=document.createElement("div"),a=i&&n.nameEn?n.nameEn:n.name||n.name_th||n.name_en||"Unnamed Location";let l="";n.address&&typeof n.address=="object"?l=n.address.province||n.address.district||"":l=i&&n.addressEn?n.addressEn:n.address||n.address_th||"",s.className="pm-route-step",s.innerHTML=`
|
|
469
469
|
<div class="pm-step-icon-col" style="display: flex; flex-direction: column; align-items: center; margin-right: 12px;">
|
|
470
470
|
<div class="pm-step-icon-bg" style="width: 32px; height: 32px; border-radius: 50%; background: rgba(242, 101, 34, 0.1); color: #F26522; display: flex; justify-content: center; align-items: center;">
|
|
471
471
|
<svg viewBox="0 0 24 24" fill="currentColor" style="width: 16px; height: 16px;"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>
|
|
@@ -475,7 +475,7 @@
|
|
|
475
475
|
<div class="pm-step-instruction" style="font-size: 14px; font-weight: 600; color: var(--pm-routing-text); margin-bottom: 2px;">${a}</div>
|
|
476
476
|
${l?`<div class="pm-step-meta" style="font-size: 12px; color: var(--pm-routing-text-muted);">${l}</div>`:""}
|
|
477
477
|
</div>
|
|
478
|
-
`,s.addEventListener("click",()=>this._selectLocation(n,a)),
|
|
478
|
+
`,s.addEventListener("click",()=>this._selectLocation(n,a)),r.appendChild(s)}),r.style.display="block",this._hideRouteUI()}_hideResults(){const e=this.container.querySelector("#pm-outdoor-search-results");e&&(e.style.display="none")}_hideRouteUI(){this.container.querySelector("#pm-outdoor-routing-summary").style.display="none",this.container.querySelector("#pm-outdoor-routing-steps").style.display="none"}_selectLocation(e,t){this._hideResults();let r=null,i=null;if(e.positionLngLat&&e.positionLngLat.length>=2)r=e.positionLngLat[0],i=e.positionLngLat[1];else if(e.position&&e.position.length>=2)i=e.position[0],r=e.position[1];else{const s=e._source||e.rawData||e,a=s.coordinates||s.geometry&&s.geometry.coordinates;r=s.lon||(s.location?s.location.lon:null),i=s.lat||(s.location?s.location.lat:null),a&&a.length>=2&&(r=a[0],i=a[1])}if(r===null||i===null){console.warn("Invalid location data",e);return}const n={id:e.id||e.gid||"point-"+Date.now(),name:t,lng:parseFloat(r),lat:parseFloat(i)};this._setLocationObject(n)}_setLocationObject(e){if(this.activeInput)this.activeInput.type==="origin"?this.origin=e:this.activeInput.type==="destination"?this.destination=e:this.activeInput.type==="waypoint"&&(this.waypoints[this.activeInput.index]=e);else if(!this.origin)this.origin=e;else{const t=this.waypoints.findIndex(r=>!r);if(t!==-1)this.waypoints[t]=e;else if(!this.destination)this.destination=e;else return}this.options.onLocationSelect&&this.options.onLocationSelect(e),this.activeInput=null,this._renderInputs(),this._drawMarkers(),this._tryCalculateRoute()}_onMapClick(e){const t={id:"custom-"+Date.now(),name:`Point (${e.lngLat.lat.toFixed(4)}, ${e.lngLat.lng.toFixed(4)})`,lng:e.lngLat.lng,lat:e.lngLat.lat};this._setLocationObject(t)}async _tryCalculateRoute(){if(this.origin&&this.destination&&this._mapInstance){const e=this.waypoints.filter(t=>t);this._setLoading(!0);try{const t=await this._mapInstance.addRoute({start:[this.origin.lng,this.origin.lat],destination:[this.destination.lng,this.destination.lat],waypoints:e.length>0?e.map(r=>[r.lng,r.lat]):void 0,profile:this.activeProfile,optimize:e.length>0});this.routeResult=t,t.geometry&&this._fitRouteBounds(t.geometry),this._renderRouteSummary(),this._renderRouteSteps()}catch(t){console.error("Routing error",t)}finally{this._setLoading(!1)}}else this.routeResult=null,this._clearRouteUI(),this._mapInstance&&this._mapInstance.clearRoutes()}_fitRouteBounds(e){if(!this._map||!e.coordinates||e.coordinates.length===0)return;const t=new D.LngLatBounds(e.coordinates[0],e.coordinates[0]);for(const r of e.coordinates)t.extend(r);this._map.fitBounds(t,{padding:80,maxZoom:18})}_setLoading(e){const t=this.container.querySelector("#pm-outdoor-routing-summary");e&&(t.style.display="flex",t.style.justifyContent="center",t.innerHTML='<div class="pm-routing-loading">Calculating route...</div>',this.container.querySelector("#pm-outdoor-routing-steps").style.display="none")}clear(){this._clearAll()}_clearAll(){this.origin=null,this.destination=null,this.waypoints=[],this.activeInput=null,this._renderInputs(),this._clearRouteUI(),this._clearMarkers(),this._mapInstance&&this._mapInstance.clearRoutes(),this.options.onClear&&this.options.onClear()}_drawMarkers(){this._clearMarkers(),this._mapInstance&&(this.origin&&this._mapInstance.addMarker({id:"pm-route-origin",position:[this.origin.lng,this.origin.lat],type:"start",popupContent:{title:"Origin",body:this.origin.name,tag:"Routing"}}),this.destination&&this._mapInstance.addMarker({id:"pm-route-dest",position:[this.destination.lng,this.destination.lat],type:"destination",popupContent:{title:"Destination",body:this.destination.name,tag:"Routing"}}),this.waypoints.forEach((e,t)=>{e&&this._mapInstance.addMarker({id:`pm-route-wp-${t}`,position:[e.lng,e.lat],type:"waypoint",popupContent:{title:`Stop ${t+1}`,body:e.name,tag:"Routing"}})}))}_clearMarkers(){if(this._mapInstance){this._mapInstance.removeMarker("pm-route-origin"),this._mapInstance.removeMarker("pm-route-dest");for(let e=0;e<10;e++)this._mapInstance.removeMarker(`pm-route-wp-${e}`)}}_clearRouteUI(){this.container.querySelector("#pm-outdoor-routing-summary").style.display="none",this.container.querySelector("#pm-outdoor-routing-steps").style.display="none",this.routeResult=null,this._focusMarker&&(this._focusMarker.remove(),this._focusMarker=null)}_renderRouteSummary(){const e=this.container.querySelector("#pm-outdoor-routing-summary");if(!this.routeResult)return;const t=this.routeResult.distance||0,r=this.routeResult.duration||0,i=t>=1e3?`${(t/1e3).toFixed(1)} km`:`${Math.round(t)} m`,n=Math.round(r/60),s=n<60?`${n} min`:`${Math.floor(n/60)}h ${n%60}min`;e.innerHTML=`
|
|
479
479
|
<div class="pm-summary-stat">
|
|
480
480
|
<span class="pm-stat-value">${s}</span>
|
|
481
481
|
<span class="pm-stat-label">${this.activeProfile}</span>
|
|
@@ -484,7 +484,7 @@
|
|
|
484
484
|
<span class="pm-stat-value">${i}</span>
|
|
485
485
|
<span class="pm-stat-label">distance</span>
|
|
486
486
|
</div>
|
|
487
|
-
`,e.style.display="flex",e.style.justifyContent="space-between"}_renderRouteSteps(){const e=this.container.querySelector("#pm-outdoor-routing-steps");if(!this.routeResult||!this.routeResult.steps||this.routeResult.steps.length===0){e.style.display="none";return}e.innerHTML="",this.routeResult.steps.forEach((t,
|
|
487
|
+
`,e.style.display="flex",e.style.justifyContent="space-between"}_renderRouteSteps(){const e=this.container.querySelector("#pm-outdoor-routing-steps");if(!this.routeResult||!this.routeResult.steps||this.routeResult.steps.length===0){e.style.display="none";return}e.innerHTML="",this.routeResult.steps.forEach((t,r)=>{const i=r===this.routeResult.steps.length-1,n=document.createElement("div");n.className="pm-route-step";const s='<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>',a=t.distance?`${Math.round(t.distance)}m`:"";n.innerHTML=`
|
|
488
488
|
<div class="pm-step-icon-col">
|
|
489
489
|
<div class="pm-step-icon-bg">${s}</div>
|
|
490
490
|
${i?"":'<div class="pm-step-line"></div>'}
|
|
@@ -493,4 +493,4 @@
|
|
|
493
493
|
<div class="pm-step-instruction">${t.text||"Proceed"}</div>
|
|
494
494
|
${a?`<div class="pm-step-meta">${a}</div>`:""}
|
|
495
495
|
</div>
|
|
496
|
-
`,n.addEventListener("click",()=>this._onStepClick(t)),e.appendChild(n)}),e.style.display="block"}_onStepClick(e){if(!this._map||!e.location)return;let t=e.location;if(t&&!Array.isArray(t)&&t.coordinates&&(t=t.coordinates),t&&Array.isArray(t)&&t.length>=2){const[
|
|
496
|
+
`,n.addEventListener("click",()=>{e.querySelectorAll(".pm-route-step").forEach(c=>c.classList.remove("active")),n.classList.add("active"),this._onStepClick(t)}),e.appendChild(n)}),e.style.display="block"}_onStepClick(e){if(!this._map||!e.location)return;let t=e.location;if(t&&!Array.isArray(t)&&t.coordinates&&(t=t.coordinates),t&&Array.isArray(t)&&t.length>=2){const[r,i]=t;this._map.flyTo({center:[r,i],zoom:19,pitch:45,duration:1500}),this._focusMarker&&(this._focusMarker.remove(),this._focusMarker=null);const n=document.createElement("div");n.className="pm-focus-marker-container";const s=document.createElement("div");s.className="pm-focus-marker",n.appendChild(s),this._focusMarker=new D.Marker({element:n,anchor:"center"}).setLngLat([r,i]).addTo(this._map)}}}class Tt{constructor(e){if(!e)throw new v("PowerMap options are required.",C.INVALID_PARAMETERS,"main");if(!e.container)throw new v('PowerMap option "container" is required.',C.INVALID_PARAMETERS,"main");if(!e.mapApiKey)throw new v('PowerMap option "mapApiKey" is required.',C.INVALID_PARAMETERS,"main");if(!e.auth||!e.auth.clientId||!e.auth.clientSecret)throw new v('PowerMap option "auth" with "clientId" and "clientSecret" is required.',C.AUTHENTICATION_FAILED,"main");this.eventBus=new ho,this.authManager=new go(e,this.eventBus),this.context={options:e,eventBus:this.eventBus,authManager:this.authManager,sdk:this,mode:"standard",origin:e.center||null},this.registry=new po(this.context),this.context.registry=this.registry,this.registry.register("map",yo),this.registry.register("markers",bo),this.registry.register("routing",wo),this.registry.register("search",vo),this.registry.register("geometry",et),this.registry.register("editor",pn),this.registry.register("debug",hn),this.registry.register("layers",vn),this.registry.register("indoor",Mn),this.mapManager,window.map=this}get mapManager(){return this.registry.get("map")}get markerManager(){return this.registry.get("markers")}get routingManager(){return this.registry.get("routing")}get searchManager(){return this.registry.get("search")}get geometryManager(){return this.registry.get("geometry")}get editorManager(){return this.registry.get("editor")}get debugManager(){return this.registry.get("debug")}get layerManager(){return this.registry.get("layers")}get indoor(){return this.registry.get("indoor")}static get RoutingPanelControl(){return kn}get layers(){return this.registry.get("layers")}get geometry(){return this.registry.get("geometry")}get indoor(){return this.registry.get("indoor")}get editor(){return this.registry.get("editor")}debug(){const e=this.registry.get("debug"),t=()=>e;return Object.assign(t,e),Object.setPrototypeOf(t,Object.getPrototypeOf(e)),t}on(e,t){return this.eventBus.on(e,t),this}off(e,t){return this.eventBus.off(e,t),this}onMapLoaded(e){return this.on("mapLoaded",e)}onClick(e){return this.on("mapClick",e)}onMapLongClick(e){return this.on("mapLongClick",e)}onMarkerClick(e){return this.on("markerClick",e)}onPoiClick(e){return this.on("poiClick",e)}onMarkerDrag(e){return this.on("markerDrag",e)}onMarkerDragEnd(e){return this.on("markerDragEnd",e)}onRouteCalculated(e){return this.on("routeCalculated",e)}onError(e){return this.on("error",e)}setStyle(e){return this.mapManager.setStyle(e),this}setMode(e,t={}){if(!["standard","indoor"].includes(e))throw new v(`Invalid mode: ${e}. Supported modes: 'standard', 'indoor'`,C.INVALID_PARAMETERS,"main");return this.context.mode=e,this.context.modeOptions=t,t.center&&(this.context.origin=t.center),this.editor&&this.editor.setMode&&this.editor.setMode(e),this.eventBus.emit("modeChanged",{mode:e,options:t}),this}setNavigationControl(e){return this.mapManager.setNavigationControl(e),this}setFullscreenControl(e){return this.mapManager.setFullscreenControl(e),this}addMarker(e){return this.markerManager.addMarker(e)}getMarker(e){return this.registry.get("markers").getMarker(e)}removeMarker(e){return this.markerManager.removeMarker(e),this}updatePopup(e,t){return this.markerManager.updatePopup(e,t),this}clearMarkers(){return this.markerManager.clearMarkers(),this}clearRoutes(){return this.routingManager.clearRoutes(),this}search(e,t){return this.searchManager.search(e,t)}flyTo(e){return this.mapManager.flyTo(e),this}easeTo(e){return this.mapManager.easeTo(e),this}fitBounds(e,t){return this.mapManager.fitBounds(e,t),this}jumpTo(e){return this.mapManager.jumpTo(e),this}setPitch(e,t=!0){return this.mapManager.setPitch(e,t),this}setBearing(e,t=!0){return this.mapManager.setBearing(e,t),this}zoomIn(){return this.mapManager.zoomIn(),this}zoomOut(){return this.mapManager.zoomOut(),this}rotateLeft(){return this.mapManager.rotateLeft(),this}rotateRight(){return this.mapManager.rotateRight(),this}getCenter(){return this.mapManager.getCenter()}getZoom(){return this.mapManager.getZoom()}getPitch(){return this.mapManager.getPitch()}getBearing(){return this.mapManager.getBearing()}addRoute(e){return this.routingManager.addRoute(e)}formatDistance(e){return e>=1e3?`${(e/1e3).toFixed(2)} km`:`${Math.round(e)} m`}formatDuration(e){const t=Math.floor(e/3600),r=Math.floor(e%3600/60);return t>0?`${t}h ${r}m`:`${r} min`}getRouteDetails(){const e=this.routingManager.routeFeature;return e?{distance:e.distance,distanceStr:this.formatDistance(e.distance),duration:e.duration,durationStr:this.formatDuration(e.duration),steps:e.steps.map(t=>({...t,distanceStr:this.formatDistance(t.distance),durationStr:this.formatDuration(t.duration)}))}:null}getRouteSummary(){const e=this.getRouteDetails();return e?{distanceStr:e.distanceStr,durationStr:e.durationStr}:null}startSimulation(e,t={}){return this.vehicleSimulator.startSimulation(e,t),this}stopSimulation(){return this.vehicleSimulator.stopSimulation(),this}startNavigation(){return this.navigationManager.startNavigation(),this}stopNavigation(){return this.navigationManager.stopNavigation(),this}async showLayer(e){return await this.layers.show(e),this}hideLayer(e){return this.layers.hide(e),this}async toggleLayer(e){return await this.layers.toggle(e),this}loadIndoorMap(e,t={}){if(!e)throw new v("venueId is required for loadIndoorMap().",C.INVALID_PARAMETERS,"indoor");this.geometry.query().byKind("venue").first()||this.geometry.query().byKind("floor").where("category","eq","venue").first();const r=[...this.geometry.query().byKind("venue").toArray(),...this.geometry.query().byKind("floor").where("category","eq","venue").toArray(),...this.geometry.query().byKind("floor").where("feature_type","eq","venue").toArray()],i=r.find(l=>{const c=l.properties||{},u=c.user_id||l.id,d=c.user_name||c.name,p=typeof d=="object"?d==null?void 0:d.en:d;return u===e||p===e})||r[0];if(!i)throw new v(`Venue "${e}" not found in loaded geometry. Load data first with map.geometry.import(data).`,C.INVALID_PARAMETERS,"indoor");this.setMode("indoor"),this.indoor._setActiveVenue(i);const n=this.indoor.getAvailableFloors(),s=t.initialFloor??(n.length>0?n[0]:0);this.indoor.setFloor(s,{animate:t.animate!==!1}),t.fitBounds!==!1&&this._fitToVenueBounds(i,t.fitBoundsOptions);const a={venue:i,floors:n,currentFloor:this.indoor.getCurrentFloor()};return this.eventBus.emit("indoorMapLoaded",a),a}setFloor(e,t){return this.indoor.setFloor(e,t),this}unloadIndoorMap(){return this.indoor._setActiveVenue(null),this.setMode("standard"),this.eventBus.emit("indoorMapUnloaded"),this}_fitToVenueBounds(e,t={}){var r;if((r=e==null?void 0:e.geometry)!=null&&r.coordinates)try{const i=e.geometry.type==="Polygon"?e.geometry.coordinates[0]:e.geometry.type==="MultiPolygon"?e.geometry.coordinates.flat(2):e.geometry.type==="Point"?[e.geometry.coordinates]:[];if(i.length===0)return;let n=1/0,s=1/0,a=-1/0,l=-1/0;for(const c of i)c[0]<n&&(n=c[0]),c[1]<s&&(s=c[1]),c[0]>a&&(a=c[0]),c[1]>l&&(l=c[1]);n!==1/0&&this.fitBounds([[n,s],[a,l]],{padding:40,maxZoom:20,...t})}catch(i){console.warn("PowerMap: Failed to fit bounds to venue",i)}}}Pe(Tt,"IndoorFloorControl",En),Pe(Tt,"IndoorRoutingPanelControl",In),V.PowerMap=Tt,V.ThreeGlbLayer=ro,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
|