From 26548cc97d6e8bcd56fde4588d659ac9e227d873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Wed, 21 Jan 2026 13:09:11 +0700 Subject: [PATCH] 1.1.1 --- package.json | 2 +- release/assets/{main-BBfpqXeX.js => main-DI0Rc_tJ.js} | 2 +- .../{modules-4-12-DmBga4_o.js => modules-4-12-jKeFwfD0.js} | 2 +- release/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename release/assets/{main-BBfpqXeX.js => main-DI0Rc_tJ.js} (97%) rename release/assets/{modules-4-12-DmBga4_o.js => modules-4-12-jKeFwfD0.js} (98%) diff --git a/package.json b/package.json index f2695e7..15e6f2b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "marco", - "version": "1.1.0", + "version": "1.1.1", "private": true, "description": "Small description for marco goes here", "repository": "", diff --git a/release/assets/main-BBfpqXeX.js b/release/assets/main-DI0Rc_tJ.js similarity index 97% rename from release/assets/main-BBfpqXeX.js rename to release/assets/main-DI0Rc_tJ.js index 9ea8a8f..7f81d23 100644 --- a/release/assets/main-BBfpqXeX.js +++ b/release/assets/main-DI0Rc_tJ.js @@ -1,2 +1,2 @@ const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return xB}},Symbol.toStringTag,{value:"Module"}));!function(){const t=document.createElement("link").relList;if(!(t&&t.supports&&t.supports("modulepreload"))){for(const t of document.querySelectorAll('link[rel="modulepreload"]'))e(t);new MutationObserver(t=>{for(const n of t)if("childList"===n.type)for(const t of n.addedNodes)"LINK"===t.tagName&&"modulepreload"===t.rel&&e(t)}).observe(document,{childList:!0,subtree:!0})}function e(t){if(t.ep)return;t.ep=!0;const e=function(t){const e={};return t.integrity&&(e.integrity=t.integrity),t.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),"use-credentials"===t.crossOrigin?e.credentials="include":"anonymous"===t.crossOrigin?e.credentials="omit":e.credentials="same-origin",e}(t);fetch(t.href,e)}}();const e="object"==typeof self&&null!==self&&self.Object===Object&&"undefined"!=typeof Window&&self.constructor===Window&&"object"==typeof document&&null!==document&&self.document===document&&"object"==typeof location&&null!==location&&self.location===location&&"object"==typeof history&&null!==history&&self.history===history&&"object"==typeof navigator&&null!==navigator&&self.navigator===navigator&&"string"==typeof navigator.userAgent,n=e?self:null,i=e?self.location:null,r=e?self.history:null,s=e?self.navigator.userAgent:"Lynx (textmode)",o=!(!e||"object"!=typeof chrome||"object"==typeof opera),a=!!e&&/Firefox|FxiOS/.test(s),l=Object.freeze(Object.defineProperty({__proto__:null,hasDOM:e,history:r,isChrome:o,isFirefox:a,location:i,userAgent:s,window:n},Symbol.toStringTag,{value:"Module"}));function u(t){return t&&t.Object===Object?t:void 0}const h=u((c="object"==typeof global&&global)&&void 0===c.nodeType?c:void 0)||u("object"==typeof self&&self)||u("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var c;const d=function(t,e){return void 0===e?{imports:t,exports:t,lookup:t}:{imports:e.imports||t,exports:e.exports||t,lookup:e.lookup||t}}(h,h.Ember);function p(){return d.lookup}function f(t){d.lookup=t}const g={ENABLE_OPTIONAL_FEATURES:!1,EXTEND_PROTOTYPES:{Array:!1},LOG_STACKTRACE_ON_DEPRECATION:!0,LOG_VERSION:!0,RAISE_ON_DEPRECATION:!1,STRUCTURED_PROFILE:!1,_DEBUG_RENDER_TREE:!1,_ALL_DEPRECATIONS_ENABLED:!1,_OVERRIDE_DEPRECATION_VERSION:null,_DEFAULT_ASYNC_OBSERVERS:!1,_RERENDER_LOOP_LIMIT:1e3,EMBER_LOAD_HOOKS:{},FEATURES:{}};function m(){return g}(t=>{if("object"!=typeof t||null===t)return;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||"EXTEND_PROTOTYPES"===i||"EMBER_LOAD_HOOKS"===i)continue;let e=g[i];g[i]=!0===e?!1!==t[i]:!1===e?!0===t[i]:t[i]}let{EMBER_LOAD_HOOKS:e}=t;if("object"==typeof e&&null!==e)for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let t=e[i];Array.isArray(t)&&(g.EMBER_LOAD_HOOKS[i]=t.filter(t=>"function"==typeof t))}let{FEATURES:n}=t;if("object"==typeof n&&null!==n)for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&(g.FEATURES[i]=!0===n[i])})(h.EmberENV);let y=()=>{},_=!1;function v(){return _}function b(t){_=Boolean(t)}const{toString:w}=Object.prototype,{toString:x}=Function.prototype,{isArray:S}=Array,{keys:E}=Object,{stringify:C}=JSON,k=100,T=/^[\w$]+$/;function R(t){return"number"==typeof t&&2===arguments.length?this:P(t,0)}function P(t,e,n){let i=!1;switch(typeof t){case"undefined":return"undefined";case"object":if(null===t)return"null";if(S(t)){i=!0;break}if(t.toString===w||void 0===t.toString)break;return t.toString();case"function":return t.toString===x?t.name?`[Function:${t.name}]`:"[Function]":t.toString();case"string":return C(t);default:return t.toString()}if(void 0===n)n=new WeakSet;else if(n.has(t))return"[Circular]";return n.add(t),i?function(t,e,n){if(e>4)return"[Array]";let i="[";for(let r=0;r=k){i+=`... ${t.length-k} more items`;break}i+=P(t[r],e,n)}return i+=" ]",i}(t,e+1,n):function(t,e,n){if(e>4)return"[Object]";let i="{",r=E(t);for(let s=0;s=k){i+=`... ${r.length-k} more keys`;break}let o=r[s];i+=`${M(String(o))}: ${P(t[o],e,n)}`}return i+=" }",i}(t,e+1,n)}function M(t){return T.test(t)?t:C(t)}function I(t){let e=Object.create(null);e[t]=1;for(let n in e)if(n===t)return n;return t}function O(t){return null!==t&&("object"==typeof t||"function"==typeof t)}let A=0;function F(){return++A}const L="ember",N=new WeakMap,D=new Map,j=I(`__ember${Date.now()}`);function z(t,e=L){let n=e+F().toString();return O(t)&&N.set(t,n),n}function U(t){let e;if(O(t))e=N.get(t),void 0===e&&(e=`${L}${F()}`,N.set(t,e));else if(e=D.get(t),void 0===e){let n=typeof t;e="string"===n?`st${F()}`:"number"===n?`nu${F()}`:"symbol"===n?`sy${F()}`:`(${t})`,D.set(t,e)}return e}const B=void 0,q=/\.(_super|call\(this|apply\(this)/,$=Function.prototype.toString,G=$.call(function(){return this}).indexOf("return this")>-1?function(t){return q.test($.call(t))}:function(){return!0},V=new WeakMap,W=Object.freeze(function(){});function H(t){let e=V.get(t);return void 0===e&&(e=G(t),V.set(t,e)),e}V.set(W,!1);class K{listeners=void 0;observers=void 0}const X=new WeakMap;function Y(t){let e=X.get(t);return void 0===e&&(e=new K,X.set(t,e)),e}function Z(t){return X.get(t)}function J(t,e){Y(t).observers=e}function Q(t,e){Y(t).listeners=e}const tt=new WeakSet;function et(t,e){return H(t)?!tt.has(e)&&H(e)?nt(t,nt(e,W)):nt(t,e):t}function nt(t,e){function n(){let n=this._super;this._super=e;let i=t.apply(this,arguments);return this._super=n,i}tt.add(n);let i=X.get(t);return void 0!==i&&X.set(n,i),n}function it(t,e){let n=t;do{let t=Object.getOwnPropertyDescriptor(n,e);if(void 0!==t)return t;n=Object.getPrototypeOf(n)}while(null!==n);return null}let rt,st,ot;const at=[];function lt(t){return-1!==at.indexOf(t)}function ut(t){return I(`__${t}${j+Math.floor(Math.random()*Date.now()).toString()}__`)}const ht=Symbol,ct=Object.prototype.toString;function dt(t){return null==t}function pt(t){if("string"==typeof t)return t;if(null===t)return"null";if(void 0===t)return"undefined";if(Array.isArray(t)){let e="";for(let n=0;n0&&(e+=","),dt(t[n])||(e+=pt(t[n]));return e}return"function"==typeof t.toString?t.toString():ct.call(t)}let ft,gt,mt,yt,_t,vt,bt,wt,xt,St,Et=()=>{},Ct=new WeakMap;function kt(t,e){return null===t?e:Array.isArray(t)?(t.push(e),t):[t,e]}function Tt(t,e){Array.isArray(t)?t.forEach(e):null!==t&&e(t)}function Rt(t,e){if(Array.isArray(t)&&t.length>1){let n=t.indexOf(e);return t.splice(n,1),t}return null}function Pt(t){let e=Ct.get(t);return void 0===e&&(e={parents:null,children:null,eagerDestructors:null,destructors:null,state:0},Ct.set(t,e)),e}function Mt(t,e){let n=Pt(t),i=Pt(e);return n.children=kt(n.children,e),i.parents=kt(i.parents,t),e}function It(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";return i[r]=kt(i[r],e),e}function Ot(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";i[r]=Rt(i[r],e)}function At(t){let e=Pt(t);if(e.state>=1)return;let{parents:n,children:i,eagerDestructors:r,destructors:s}=e;e.state=1,Tt(i,At),Tt(r,e=>{e(t)}),Tt(s,e=>{ft(t,e)}),gt(()=>{Tt(n,e=>{!function(t,e){let n=Pt(e);0===n.state&&(n.children=Rt(n.children,t))}(t,e)}),e.state=2})}function Ft(t){let e=Ct.get(t);return void 0!==e&&null!==e.children}function Lt(t){let e=Ct.get(t);return void 0!==e&&e.state>=1}function Nt(t){let e=Ct.get(t);return void 0!==e&&e.state>=2}const Dt=Object.prototype;let jt;const zt=ht("undefined");var Ut=function(t){return t[t.ADD=0]="ADD",t[t.ONCE=1]="ONCE",t[t.REMOVE=2]="REMOVE",t}(Ut||{});let Bt=1;class qt{_descriptors;_mixins;_isInit;_lazyChains;_values;_revisions;source;proto;_parent;_listeners;_listenersVersion=1;_inheritedEnd=-1;_flattenedVersion=0;constructor(t){this._parent=void 0,this._descriptors=void 0,this._mixins=void 0,this._lazyChains=void 0,this._values=void 0,this._revisions=void 0,this._isInit=!1,this.source=t,this.proto=void 0===t.constructor?void 0:t.constructor.prototype,this._listeners=void 0}get parent(){let t=this._parent;if(void 0===t){let e=$t(this.source);this._parent=t=null===e||e===Dt?null:Ht(e)}return t}setInitializing(){this._isInit=!0}unsetInitializing(){this._isInit=!1}isInitializing(){return this._isInit}isPrototypeMeta(t){return this.proto===this.source&&this.source===t}_getOrCreateOwnMap(t){return this[t]||(this[t]=Object.create(null))}_getOrCreateOwnSet(t){return this[t]||(this[t]=new Set)}_findInheritedMap(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i){let t=i.get(e);if(void 0!==t)return t}n=n.parent}}_hasInInheritedSet(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i&&i.has(e))return!0;n=n.parent}return!1}valueFor(t){let e=this._values;return void 0!==e?e[t]:void 0}setValueFor(t,e){this._getOrCreateOwnMap("_values")[t]=e}revisionFor(t){let e=this._revisions;return void 0!==e?e[t]:void 0}setRevisionFor(t,e){this._getOrCreateOwnMap("_revisions")[t]=e}writableLazyChainsFor(t){let e=this._getOrCreateOwnMap("_lazyChains"),n=e[t];return void 0===n&&(n=e[t]=[]),n}readableLazyChainsFor(t){let e=this._lazyChains;if(void 0!==e)return e[t]}addMixin(t){this._getOrCreateOwnSet("_mixins").add(t)}hasMixin(t){return this._hasInInheritedSet("_mixins",t)}forEachMixins(t){let e,n=this;for(;null!==n;){let i=n._mixins;void 0!==i&&(e=void 0===e?new Set:e,i.forEach(n=>{e.has(n)||(e.add(n),t(n))})),n=n.parent}}writeDescriptors(t,e){(this._descriptors||(this._descriptors=new Map)).set(t,e)}peekDescriptors(t){let e=this._findInheritedMap("_descriptors",t);return e===zt?void 0:e}removeDescriptors(t){this.writeDescriptors(t,zt)}forEachDescriptors(t){let e,n=this;for(;null!==n;){let i=n._descriptors;void 0!==i&&(e=void 0===e?new Set:e,i.forEach((n,i)=>{e.has(i)||(e.add(i),n!==zt&&t(i,n))})),n=n.parent}}addToListeners(t,e,n,i,r){this.pushListener(t,e,n,i?Ut.ONCE:Ut.ADD,r)}removeFromListeners(t,e,n){this.pushListener(t,e,n,Ut.REMOVE)}pushListener(t,e,n,i,r=!1){let s=this.writableListeners(),o=Kt(s,t,e,n);if(-1!==o&&o0&&(t.splice(0,this._inheritedEnd),this._inheritedEnd=0);for(let n of e)-1===Kt(t,n.event,n.target,n.method)&&(t.unshift(n),this._inheritedEnd++)}}this._flattenedVersion=Bt}return this._listeners}matchingListeners(t){let e,n=this.flattenedListeners();if(void 0!==n)for(let i of n)i.event!==t||i.kind!==Ut.ADD&&i.kind!==Ut.ONCE||(void 0===e&&(e=[]),e.push(i.target,i.method,i.kind===Ut.ONCE));return e}observerEvents(){let t,e=this.flattenedListeners();if(void 0!==e)for(let n of e)n.kind!==Ut.ADD&&n.kind!==Ut.ONCE||-1===n.event.indexOf(":change")||(void 0===t&&(t=[]),t.push(n));return t}}const $t=Object.getPrototypeOf,Gt=new WeakMap;function Vt(t,e){Gt.set(t,e)}function Wt(t){let e=Gt.get(t);if(void 0!==e)return e;let n=$t(t);for(;null!==n;){if(e=Gt.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=$t(n)}return null}const Ht=function(t){let e=Wt(t);if(null!==e&&e.source===t)return e;let n=new qt(t);return Vt(t,n),n};function Kt(t,e,n,i){for(let r=t.length-1;r>=0;r--){let s=t[r];if(s.event===e&&s.target===n&&s.method===i)return r}return-1}let Xt=1;const Yt=Symbol("TAG_COMPUTE");function Zt(t){return t[Yt]()}function Jt(t,e){return e>=t[Yt]()}Reflect.set(globalThis,"COMPUTE_SYMBOL",Yt);const Qt=Symbol("TAG_TYPE");class te{static combine(t){switch(t.length){case 0:return se;case 1:return t[0];default:{let e=new te(2);return e.subtag=t,e}}}constructor(t){this.revision=1,this.lastChecked=1,this.lastValue=1,this.isUpdating=!1,this.subtag=null,this.subtagBufferCache=null,this[Qt]=t}[Yt](){let{lastChecked:t}=this;if(this.isUpdating)this.lastChecked=++Xt;else if(t!==Xt){this.isUpdating=!0,this.lastChecked=Xt;try{let{subtag:t,revision:e}=this;if(null!==t)if(Array.isArray(t))for(const n of t){let t=n[Yt]();e=Math.max(t,e)}else{let n=t[Yt]();n===this.subtagBufferCache?e=Math.max(e,this.lastValue):(this.subtagBufferCache=null,e=Math.max(e,n))}this.lastValue=e}finally{this.isUpdating=!1}}return this.lastValue}static updateTag(t,e){let n=t,i=e;i===se?n.subtag=null:(n.subtagBufferCache=i[Yt](),n.subtag=i)}static dirtyTag(t,e){t.revision=++Xt,Et()}}const ee=te.dirtyTag,ne=te.updateTag;function ie(){return new te(0)}function re(){return new te(1)}const se=new te(3);function oe(t){return t===se}class ae{[Yt](){return NaN}constructor(){this[Qt]=100}}const le=new ae;class ue{[Yt](){return Xt}constructor(){this[Qt]=101}}const he=new ue,ce=te.combine;let de=re(),pe=re(),fe=re();Zt(de),ee(de),Zt(de),ne(de,ce([pe,fe])),Zt(de),ee(pe),Zt(de),ee(fe),Zt(de),ne(de,fe),Zt(de),ee(fe),Zt(de);class ge{add(t){t!==se&&(this.tags.add(t),this.last=t)}combine(){let{tags:t}=this;return 0===t.size?se:1===t.size?this.last:ce(Array.from(this.tags))}constructor(){this.tags=new Set,this.last=null}}let me=null;const ye=[];function _e(){ye.push(me),me=new ge}function ve(){let t=me;return me=ye.pop()||null,function(t){if(null==t)throw new Error("Expected value to be present");return t}(t).combine()}function be(){ye.push(me),me=null}function we(){me=ye.pop()||null}function xe(){return null!==me}function Se(t){null!==me&&me.add(t)}const Ee=Symbol("FN"),Ce=Symbol("LAST_VALUE"),ke=Symbol("TAG"),Te=Symbol("SNAPSHOT");function Re(t){return{[Ee]:t,[Ce]:void 0,[ke]:void 0,[Te]:-1}}function Pe(t){let e=t[Ee],n=t[ke],i=t[Te];if(void 0!==n&&Jt(n,i))Se(n);else{_e();try{t[Ce]=e()}finally{n=ve(),t[ke]=n,t[Te]=Zt(n),Se(n)}}return t[Ce]}function Me(t){return oe(t[ke])}function Ie(t){let e;_e();try{t()}finally{e=ve()}return e}function Oe(t){be();try{return t()}finally{we()}}const Ae=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),Fe=new Set(["fill","push","unshift"]);function Le(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Ne{#t;constructor(t,e){this.#e=re(),this.#n=new Map,this.#t=e;const n=t.slice(),i=this,r=new Map;let s=!1;return new Proxy(n,{get(t,e){const n=Le(e);if(null!==n)return i.#i(n),Se(i.#e),t[n];if("length"===e)return s?s=!1:Se(i.#e),t[e];if(Fe.has(e)&&(s=!0),Ae.has(e)){let n=r.get(e);return void 0===n&&(n=(...n)=>(Se(i.#e),t[e](...n)),r.set(e,n)),n}return t[e]},set(t,e,n){if(i.#t.equals(t[e],n))return!0;t[e]=n;const r=Le(e);return null!==r?(i.#r(r),i.#s()):"length"===e&&i.#s(),!0},getPrototypeOf:()=>Ne.prototype})}#e;#n;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e),this.#n.clear()}}Object.setPrototypeOf(Ne.prototype,Array.prototype);class De{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=t instanceof Map?new Map(t.entries()):new Map(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){let t=this.keys(),e=this;return{next(){let n=t.next(),i=n.value;return n.done?{value:[void 0,void 0],done:!0}:{value:[i,e.get(i)],done:!1}}}}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),n||ee(this.#e),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),this.#n.clear(),ee(this.#e),this.#o.clear())}}Object.setPrototypeOf(De.prototype,Map.prototype);class je{#t;#n;#e;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e)}constructor(t,e){this.#n=new Map,this.#e=re(),this.#t=e;const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyDescriptors(t),r=Object.create(n);for(const o in i)Object.defineProperty(r,o,i[o]);const s=this;return new Proxy(r,{get:(t,e)=>(s.#i(e),t[e]),has:(t,e)=>(s.#i(e),e in t),ownKeys:t=>(Se(s.#e),Reflect.ownKeys(t)),set:(t,e,n)=>(s.#t.equals(t[e],n)||(t[e]=n,s.#r(e),s.#s()),!0),deleteProperty:(t,e)=>(e in t&&(delete t[e],s.#r(e),s.#n.delete(e),s.#s()),!0),getPrototypeOf:()=>je.prototype})}}class ze{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=new Set(t),this.#t=e}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}union(t){return Se(this.#e),this.#o.union(t)}intersection(t){return Se(this.#e),this.#o.intersection(t)}difference(t){return Se(this.#e),this.#o.difference(t)}symmetricDifference(t){return Se(this.#e),this.#o.symmetricDifference(t)}isSubsetOf(t){return Se(this.#e),this.#o.isSubsetOf(t)}isSupersetOf(t){return Se(this.#e),this.#o.isSupersetOf(t)}isDisjointFrom(t){return Se(this.#e),this.#o.isDisjointFrom(t)}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){return Se(this.#e),this.#o[Symbol.iterator]()}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}add(t){if(this.#o.has(t)){if(this.#t.equals(t,t))return this}else ee(this.#e);return this.#r(t),this.#o.add(t),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),ee(this.#e),this.#n.clear(),this.#o.clear())}}Object.setPrototypeOf(ze.prototype,Set.prototype);class Ue{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#o=t instanceof WeakMap?t:new WeakMap(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Ue.prototype,WeakMap.prototype);class Be{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#t=e,this.#o=new WeakSet(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}add(t){return this.#o.has(t)&&this.#t.equals(t,t)||(this.#o.add(t),this.#r(t)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Be.prototype,WeakSet.prototype);const qe=new WeakMap;function $e(t,e,n){let i=void 0===n?qe.get(t):n;if(void 0===i)return;let r=i.get(e);void 0!==r&&ee(r,!0)}function Ge(t){let e=qe.get(t);return void 0===e&&(e=new Map,qe.set(t,e)),e}function Ve(t,e,n){let i=void 0===n?Ge(t):n,r=i.get(e);return void 0===r&&(r=re(),i.set(e,r)),r}function We(t,e){let n=new WeakMap,i="function"==typeof e;return{getter:function(r){let s;return Se(Ve(r,t)),i&&!n.has(r)?(s=e.call(r),n.set(r,s)):s=n.get(r),s},setter:function(e,i){$e(e,t),n.set(e,i)}}}const He=Symbol("GLIMMER_VALIDATOR_REGISTRATION");if(Reflect.has(globalThis,He))throw new Error("The `@glimmer/validator` library has been included twice in this application. It could be different versions of the package, or the same version included twice by mistake. `@glimmer/validator` depends on having a single copy of the package in use at any time in an application, even if they are the same version. You must dedupe your build to remove the duplicate packages in order to prevent this error.");Reflect.set(globalThis,He,!0);const Ke=Object.freeze(Object.defineProperty({__proto__:null,ALLOW_CYCLES:void 0,COMPUTE:Yt,CONSTANT:0,CONSTANT_TAG:se,CURRENT_TAG:he,CurrentTag:ue,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:le,VolatileTag:ae,beginTrackFrame:_e,beginUntrackFrame:be,bump:function(){Xt++},combine:ce,consumeTag:Se,createCache:Re,createTag:ie,createUpdatableTag:re,debug:{},dirtyTag:ee,dirtyTagFor:$e,endTrackFrame:ve,endUntrackFrame:we,getValue:Pe,isConst:Me,isConstTag:oe,isTracking:xe,resetTracking:function(){for(;ye.length>0;)ye.pop();me=null},tagFor:Ve,tagMetaFor:Ge,track:Ie,trackedArray:function(t,e){return new Ne(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedData:We,trackedMap:function(t,e){return new De(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedObject:function(t,e){return new je(t??{},{equals:e?.equals??Object.is,description:e?.description})},trackedSet:function(t,e){return new ze(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakMap:function(t,e){return new Ue(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakSet:function(t,e){return new Be(t??[],{equals:e?.equals??Object.is,description:e?.description})},untrack:Oe,updateTag:ne,validateTag:Jt,valueForTag:Zt},Symbol.toStringTag,{value:"Module"})),Xe=Object.freeze([]);function Ye(){return Xe}const Ze=Ye(),Je=Ye();function*Qe(t){for(let e=t.length-1;e>=0;e--)yield t[e]}function*tn(t){let e=0;for(const n of t)yield[e++,n]}function en(t){return!!t&&t.length>0}function nn(t){return 0===t.length?void 0:t[t.length-1]}function rn(){return Object.create(null)}function sn(t){return null!=t}function on(t){return"function"==typeof t||"object"==typeof t&&null!==t}class an{constructor(t=[]){this.current=null,this.stack=t}get size(){return this.stack.length}push(t){this.current=t,this.stack.push(t)}pop(){let t=this.stack.pop();return this.current=nn(this.stack)??null,void 0===t?null:t}nth(t){let e=this.stack.length;return eRn(t),null,t.debugLabel):t}function En(t){return 3===t[pn]}function Cn(t){const e=xn(()=>Rn(t),e=>Pn(t,e));return e.debugLabel=t.debugLabel,e[pn]=3,e}function kn(t){return t.tag===se}function Tn(t){return null!==t.update}function Rn(t){const e=t;let{tag:n}=e;if(n===se)return e.lastValue;const{lastRevision:i}=e;let r;if(null!==n&&Jt(n,i))r=e.lastValue;else{const{compute:t}=e,i=Ie(()=>{r=e.lastValue=t()});n=e.tag=i,e.lastRevision=Zt(i)}return Se(n),r}function Pn(t,e){(0,t.update)(e)}function Mn(t,e){const n=t,i=n[pn];let r,s=n.children;if(null===s)s=n.children=new Map;else{const t=s.get(e);if(t)return t}if(2===i){const t=Rn(n);r=sn(t)?wn(t[e]):mn}else r=xn(()=>{const t=Rn(n);if(sn(t))return _t(t,e)},t=>{const i=Rn(n);if(sn(i))return vt(i,e,t)});return s.set(e,r),r}function In(t,e){let n=t;for(const i of e)n=Mn(n,i);return n}const On={},An=(t,e)=>e,Fn=(t,e)=>String(e),Ln=t=>null===t?On:t;class Nn{get weakMap(){return void 0===this._weakMap&&(this._weakMap=new WeakMap),this._weakMap}get primitiveMap(){return void 0===this._primitiveMap&&(this._primitiveMap=new Map),this._primitiveMap}set(t,e){on(t)?this.weakMap.set(t,e):this.primitiveMap.set(t,e)}get(t){return on(t)?this.weakMap.get(t):this.primitiveMap.get(t)}}const Dn=new Nn;function jn(t){let e=new Nn;return(n,i)=>{let r=t(n,i),s=e.get(r)||0;return e.set(r,s+1),0===s?r:function(t,e){let n=Dn.get(t);void 0===n&&(n=[],Dn.set(t,n));let i=n[e];return void 0===i&&(i={value:t,count:e},n[e]=i),i}(r,s)}}function zn(t,e){return xn(()=>{let n=Rn(t),i=function(t){switch(t){case"@key":return jn(An);case"@index":return jn(Fn);case"@identity":return jn(Ln);default:return e=t,jn(t=>bt(t,e))}var e}(e);if(Array.isArray(n))return new qn(n,i);let r=mt(n);return null===r?new qn(Xe,()=>null):new Bn(r,i)})}function Un(t){let e=t,n=ie();return xn(()=>(Se(n),e),t=>{e!==t&&(e=t,ee(n))})}class Bn{constructor(t,e){this.inner=t,this.keyFor=e}isEmpty(){return this.inner.isEmpty()}next(){let t=this.inner.next();return null!==t&&(t.key=this.keyFor(t.value,t.memo)),t}}let qn=class{constructor(t,e){this.iterator=t,this.keyFor=e,this.pos=0,0===t.length?this.current={kind:"empty"}:this.current={kind:"first",value:t[this.pos]}}isEmpty(){return"empty"===this.current.kind}next(){let t,e=this.current;if("first"===e.kind)this.current={kind:"progress"},t=e.value;else{if(this.pos>=this.iterator.length-1)return null;t=this.iterator[++this.pos]}let{keyFor:n}=this;return{key:n(t,this.pos),value:t,memo:this.pos}}};const $n=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:vn,NULL_REFERENCE:yn,REFERENCE:pn,TRUE_REFERENCE:_n,UNDEFINED_REFERENCE:mn,childRefFor:Mn,childRefFromParts:In,createComputeRef:xn,createConstRef:bn,createDebugAliasRef:void 0,createInvokableRef:Cn,createIteratorItemRef:Un,createIteratorRef:zn,createPrimitiveRef:gn,createReadOnlyRef:Sn,createUnboundRef:wn,isConstRef:kn,isInvokableRef:En,isUpdatableRef:Tn,updateRef:Pn,valueForRef:Rn},Symbol.toStringTag,{value:"Module"})),Gn={Empty:0,dynamicLayout:1,dynamicTag:2,prepareArgs:4,createArgs:8,attributeHook:16,elementHook:32,dynamicScope:64,createCaller:128,updateHook:256,createInstance:512,wrapped:1024,willDestroy:2048,hasSubOwner:4096},Vn=1024,Wn=new WeakMap;function Hn(t){return Wn.get(t)}function Kn(t,e){Wn.set(t,e)}function Xn(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Yn{constructor(t){this.named=t}get(t,e){const n=this.named[e];if(void 0!==n)return Rn(n)}has(t,e){return e in this.named}ownKeys(){return Object.keys(this.named)}isExtensible(){return!1}getOwnPropertyDescriptor(t,e){return{enumerable:!0,configurable:!0}}}class Zn{constructor(t){this.positional=t}get(t,e){let{positional:n}=this;if("length"===e)return n.length;const i=Xn(e);return null!==i&&i{const{named:e,positional:n}=t,i=new Yn(e),r=new Zn(n),s=Object.create(null),o=new Proxy(s,i),a=new Proxy([],r);return Kn(o,(t,n)=>function(t,e){return Ie(()=>{e in t&&Rn(t[e])})}(e,n)),Kn(a,(t,e)=>function(t,e){return Ie(()=>{"[]"===e&&t.forEach(Rn);const n=Xn(e);null!==n&&n{let i=this.getDelegateFor(n);const r=Jn(e),s=i.createHelper(t,r);if(si(i)){let t=xn(()=>i.getValue(s),null);return oi(i)&&Mt(t,i.getDestroyable(s)),t}if(oi(i)){let t=bn(void 0);return Mt(t,i.getDestroyable(s)),t}return mn}}}class li{createHelper(t,e){return{fn:t,args:e}}getValue({fn:t,args:e}){return Object.keys(e.named).length>0?t(...e.positional,e.named):t(...e.positional)}getDebugName(t){return t.name?`(helper function ${t.name})`:"(anonymous helper function)"}constructor(){this.capabilities={hasValue:!0,hasDestroyable:!1,hasScheduledEffect:!1}}}const ui=new WeakMap,hi=new WeakMap,ci=new WeakMap,di=Object.getPrototypeOf;function pi(t,e,n){return t.set(n,e),n}function fi(t,e){let n=e;for(;null!==n;){const e=t.get(n);if(void 0!==e)return e;n=di(n)}}function gi(t,e){return pi(hi,t,e)}function mi(t){const e=fi(hi,t);return void 0===e?null:e}function yi(t,e){return pi(ci,t,e)}const _i=new ai(()=>new li);function vi(t){let e=fi(ci,t);return void 0===e&&"function"==typeof t&&(e=_i),e||null}function bi(t,e){return pi(ui,t,e)}function wi(t){const e=fi(ui,t);return void 0===e?null:e}function xi(t){return void 0!==fi(ui,t)}function Si(t){return function(t){return"function"==typeof t}(t)||void 0!==fi(ci,t)}const Ei={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1};function Ci(t,e={}){let n=Boolean(e.updateHook);return{asyncLifeCycleCallbacks:Boolean(e.asyncLifecycleCallbacks),destructor:Boolean(e.destructor),updateHook:n}}function ki(t){return t.capabilities.asyncLifeCycleCallbacks}function Ti(t){return t.capabilities.updateHook}class Ri{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n){let i=this.getDelegateFor(t),r=Jn(n.capture()),s=i.createComponent(e,r);return new Pi(s,i,r)}getDebugName(t){return"function"==typeof t?t.name:t.toString()}update(t){let{delegate:e}=t;if(Ti(e)){let{component:n,args:i}=t;e.updateComponent(n,i)}}didCreate({component:t,delegate:e}){ki(e)&&e.didCreateComponent(t)}didUpdate({component:t,delegate:e}){(function(t){return ki(t)&&Ti(t)})(e)&&e.didUpdateComponent(t)}didRenderLayout(){}didUpdateLayout(){}getSelf({component:t,delegate:e}){return bn(e.getContext(t))}getDestroyable(t){const{delegate:e}=t;if(function(t){return t.capabilities.destructor}(e)){const{component:n}=t;return It(t,()=>e.destroyComponent(n)),t}return null}getCapabilities(){return Ei}}class Pi{constructor(t,e,n){this.component=t,this.delegate=e,this.args=n}}function Mi(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Ii{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n,i){let r,s=this.getDelegateFor(t),o=Jn(i),a=s.createModifier(n,o);return r={tag:re(),element:e,delegate:s,args:o,modifier:a},It(r,()=>s.destroyModifier(a,o)),r}getDebugName(t){return"function"==typeof t?t.name||t.toString():""}getDebugInstance({modifier:t}){return t}getTag({tag:t}){return t}install({element:t,args:e,modifier:n,delegate:i}){let{capabilities:r}=i;r.disableAutoTracking?Oe(()=>i.installModifier(n,t,e)):i.installModifier(n,t,e)}update({args:t,modifier:e,delegate:n}){let{capabilities:i}=n;i.disableAutoTracking?Oe(()=>n.updateModifier(e,t)):n.updateModifier(e,t)}getDestroyable(t){return t}}function Oi(t,e){return bi(new Ri(t),e)}function Ai(t,e){return gi(new Ii(t),e)}function Fi(t,e){return yi(new ai(t),e)}const Li=new WeakMap,Ni=Reflect.getPrototypeOf;function Di(t,e){return Li.set(e,t),e}function ji(t){let e=t;for(;null!==e;){let t=Li.get(e);if(void 0!==t)return t;e=Ni(e)}}const zi=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:Ri,CustomHelperManager:ai,CustomModifierManager:Ii,capabilityFlagsFrom:ti,componentCapabilities:Ci,getComponentTemplate:ji,getCustomTagFor:Hn,getInternalComponentManager:wi,getInternalHelperManager:vi,getInternalModifierManager:mi,hasCapability:ii,hasDestroyable:oi,hasInternalComponentManager:xi,hasInternalHelperManager:Si,hasInternalModifierManager:function(t){return void 0!==fi(hi,t)},hasValue:si,helperCapabilities:ri,managerHasCapability:ni,modifierCapabilities:Mi,setComponentManager:Oi,setComponentTemplate:Di,setCustomTagFor:Kn,setHelperManager:Fi,setInternalComponentManager:bi,setInternalHelperManager:yi,setInternalModifierManager:gi,setModifierManager:Ai},Symbol.toStringTag,{value:"Module"})),Ui=new WeakSet;function Bi(t){return!!O(t)&&Ui.has(t)}function qi(t){O(t)&&Ui.add(t)}const $i=new WeakSet;function Gi(t){return $i.has(t)}let Vi=class{size=0;misses=0;hits=0;constructor(t,e,n=new Map){this.limit=t,this.func=e,this.store=n}get(t){return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,this.set(t,this.func(t)))}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}};const Wi="6.11.0-beta.1",Hi=Object.freeze(Object.defineProperty({__proto__:null,default:Wi},Symbol.toStringTag,{value:"Module"})),Ki=Symbol("OWNER");function Xi(t){return t[Ki]}function Yi(t){return Xi(t)}function Zi(t,e){!function(t,e){t[Ki]=e}(t,e)}function Ji(t,e){return Array.isArray(t)?t[e]:t.objectAt(e)}const Qi=ht("SELF_TAG");function tr(t,e,n=!1,i){let r=Hn(t);return void 0!==r?r(t,e,n):Ve(t,e,i)}function er(t){return O(t)?Ve(t,Qi):se}function nr(t,e){$e(t,e),$e(t,Qi)}const ir=new WeakSet;function rr(t,e,n){let i=t.readableLazyChainsFor(e);if(void 0!==i){if(O(n))for(let[t,e]of i)ne(t,or(n,e,Ge(n),Wt(n)));i.length=0}}function sr(t,e,n,i){let r=[];for(let s of e)ar(r,t,s,n,i);return ce(r)}function or(t,e,n,i){return ce(ar([],t,e,n,i))}function ar(t,e,n,i,r){let s,o,a=e,l=i,u=r,h=n.length,c=-1;for(;;){let e=c+1;if(c=n.indexOf(".",e),-1===c&&(c=h),s=n.slice(e,c),"@each"===s&&c!==h){e=c+1,c=n.indexOf(".",e);let i=a.length;if("number"!=typeof i||!Array.isArray(a)&&!("objectAt"in a))break;if(0===i){t.push(tr(a,"[]"));break}s=-1===c?n.slice(e):n.slice(e,c);for(let e=0;e=0;s-=3){let r=i[s],o=i[s+1],a=i[s+2];if(!o)continue;a&&Cr(t,e,r,o),r||(r=t);let l=typeof o;"string"!==l&&"symbol"!==l||(o=r[o]),o.apply(r,n)}return!0}function Tr(t,e){let n=Wt(t);if(null===n)return!1;let i=n.matchingListeners(e);return void 0!==i&&i.length>0}function Rr(...t){let e=t.pop();return Q(e,t),e}const Pr=!g._DEFAULT_ASYNC_OBSERVERS,Mr=new Map,Ir=new Map;function Or(t,e,n,i,r=Pr){let s=Sr(e);Er(t,s,n,i,!1,r);let o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Fr(t,s,r)}function Ar(t,e,n,i,r=Pr){let s=Sr(e),o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Dr(t,s,r),Cr(t,s,n,i)}function Fr(t,e,n=!1){let i=function(t,e){let n=!0===e?Mr:Ir;return n.has(t)||(n.set(t,new Map),It(t,()=>function(t){Mr.size>0&&Mr.delete(t),Ir.size>0&&Ir.delete(t)}(t),!0)),n.get(t)}(t,n);if(i.has(e))i.get(e).count++;else{let n=e.substring(0,e.lastIndexOf(":")),r=or(t,n,Ge(t),Wt(t));i.set(e,{count:1,path:n,tag:r,lastRevision:Zt(r),suspended:!1})}}let Lr=!1,Nr=[];function Dr(t,e,n=!1){if(!0===Lr)return void Nr.push([t,e,n]);let i=!0===n?Mr:Ir,r=i.get(t);if(void 0!==r){let n=r.get(e);n.count--,0===n.count&&(r.delete(e),0===r.size&&i.delete(t))}}function jr(t){Ir.has(t)&&Ir.get(t).forEach(e=>{e.tag=or(t,e.path,Ge(t),Wt(t)),e.lastRevision=Zt(e.tag)}),Mr.has(t)&&Mr.get(t).forEach(e=>{e.tag=or(t,e.path,Ge(t),Wt(t)),e.lastRevision=Zt(e.tag)})}let zr=0;function Ur(t){let e=Zt(he);zr!==e&&(zr=e,Ir.forEach((e,n)=>{let i=Wt(n);e.forEach((e,r)=>{if(!Jt(e.tag,e.lastRevision)){let s=()=>{try{kr(n,r,[n,e.path],void 0,i)}finally{e.tag=or(n,e.path,Ge(n),Wt(n)),e.lastRevision=Zt(e.tag)}};t?t("actions",s):s()}})}))}function Br(){Mr.forEach((t,e)=>{let n=Wt(e);t.forEach((t,i)=>{if(!t.suspended&&!Jt(t.tag,t.lastRevision))try{t.suspended=!0,kr(e,i,[e,t.path],void 0,n)}finally{t.tag=or(e,t.path,Ge(e),Wt(e)),t.lastRevision=Zt(t.tag),t.suspended=!1}})})}function qr(t,e,n){let i=Mr.get(t);if(!i)return;let r=i.get(Sr(e));r&&(r.suspended=n)}const $r=Symbol("PROPERTY_DID_CHANGE");let Gr=0;function Vr(t,e,n,i){let r=void 0===n?Wt(t):n;null!==r&&(r.isInitializing()||r.isPrototypeMeta(t))||(nr(t,e),Gr<=0&&Br(),$r in t&&(4===arguments.length?t[$r](e,i):t[$r](e)))}function Wr(){Gr++,Lr=!0}function Hr(){Gr--,Gr<=0&&(Br(),function(){Lr=!1;for(let[t,e,n]of Nr)Dr(t,e,n);Nr=[]}())}function Kr(t){Wr();try{t()}finally{Hr()}}function Xr(){}class Yr extends hr{_readOnly=!1;_hasConfig=!1;_getter=void 0;_setter=void 0;constructor(t){super();let e=t[t.length-1];if("function"==typeof e||null!==e&&"object"==typeof e){this._hasConfig=!0;let e=t.pop();if("function"==typeof e)this._getter=e;else{const t=e;this._getter=t.get||Xr,this._setter=t.set}}t.length>0&&this._property(...t)}setup(t,e,n,i){if(super.setup(t,e,n,i),!1===this._hasConfig){let{get:t,set:e}=n;void 0!==t&&(this._getter=t),void 0!==e&&(this._setter=function(n,i){let r=e.call(this,i);return void 0!==t&&void 0===r?t.call(this):r})}}_property(...t){let e=[];function n(t){e.push(t)}for(let i of t)wr(i,n);this._dependentKeys=e}get(t,e){let n,i=Ht(t),r=Ge(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:o,_dependentKeys:a}=this;Oe(()=>{n=o.call(t,e)}),void 0!==a&&ne(s,sr(t,a,r,i)),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]")),n}set(t,e,n){this._readOnly&&this._throwReadOnlyError(t,e);let i,r=Ht(t);r.isInitializing()&&void 0!==this._dependentKeys&&this._dependentKeys.length>0&&"function"==typeof t[$r]&&t.isComponent&&Or(t,e,()=>{t[$r](e)},void 0,!0);try{Wr(),i=this._set(t,e,n,r),rr(r,e,i);let s=Ge(t),o=Ve(t,e,s),{_dependentKeys:a}=this;void 0!==a&&ne(o,sr(t,a,s,r)),r.setRevisionFor(e,Zt(o))}finally{Hr()}return i}_throwReadOnlyError(t,e){throw new Error(`Cannot set read-only property "${e}" on object: ${R(t)}`)}_set(t,e,n,i){let r,s=void 0!==i.revisionFor(e),o=i.valueFor(e),{_setter:a}=this;qr(t,e,!0);try{r=a.call(t,e,n,o)}finally{qr(t,e,!1)}return s&&o===r||(i.setValueFor(e,r),Vr(t,e,i,n)),r}teardown(t,e,n){void 0!==n.revisionFor(e)&&(n.setRevisionFor(e,void 0),n.setValueFor(e,void 0)),super.teardown(t,e,n)}}class Zr extends Yr{get(t,e){let n,i=Ht(t),r=Ge(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:r}=this,o=Ie(()=>{n=r.call(t,e)});ne(s,o),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]",r)),n}}class Jr extends Function{readOnly(){return yr(this)._readOnly=!0,this}meta(t){let e=yr(this);return 0===arguments.length?e._meta||{}:(e._meta=t,this)}get _getter(){return yr(this)._getter}set enumerable(t){yr(this).enumerable=t}}function Qr(...t){return lr(t)?fr(new Yr([]),Jr)(t[0],t[1],t[2]):fr(new Yr(t),Jr)}function ts(...t){return fr(new Zr(t),Jr)}function es(t,e){return Boolean(mr(t,e))}function ns(t,e,n,i,r){let s=void 0===r?Ht(t):r,o=mr(t,e,s),a=void 0!==o;a&&o.teardown(t,e,s),_r(n)?is(t,e,n,s):null==n?rs(t,e,i,a,!0):Object.defineProperty(t,e,n),s.isPrototypeMeta(t)||jr(t)}function is(t,e,n,i){let r;return r=n(t,e,void 0,i),Object.defineProperty(t,e,r),n}function rs(t,e,n,i,r=!0){return!0===i||!1===r?Object.defineProperty(t,e,{configurable:!0,enumerable:r,writable:!0,value:n}):t[e]=n,n}const ss=new Vi(1e3,t=>t.indexOf("."));function os(t){return"string"==typeof t&&-1!==ss.get(t)}const as=ht("PROXY_CONTENT");function ls(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function us(t,e){return os(e)?cs(t,e):hs(t,e)}function hs(t,e){if(null==t)return;let n;return"object"==typeof t||"function"==typeof t?(n=t[e],void 0===n&&"object"==typeof t&&!(e in t)&&ls(t)&&(n=t.unknownProperty(e)),xe()&&(Se(Ve(t,e)),(Array.isArray(n)||Gi(n))&&Se(Ve(n,"[]")))):n=t[e],n}function cs(t,e,n){let i="string"==typeof e?e.split("."):e;for(let r of i){if(null==t||t.isDestroyed)return;if(n&&("__proto__"===r||"constructor"===r))return;t=hs(t,r)}return t}hs("foo","a"),hs("foo",1),hs({},"a"),hs({},1),hs({unknownProperty(){}},"a"),hs({unknownProperty(){}},1),us({},"foo"),us({},"foo.bar");let ds={};qi(ds),Ie(()=>hs({},"a")),Ie(()=>hs({},1)),Ie(()=>hs({a:[]},"a")),Ie(()=>hs({a:ds},"a"));class ps{_registry;_coreLibIndex;constructor(){this._registry=[],this._coreLibIndex=0}_getLibraryByName(t){let e=this._registry;for(let n of e)if(n.name===t)return n}register(t,e,n){let i=this._registry.length;this._getLibraryByName(t)||(n&&(i=this._coreLibIndex++),this._registry.splice(i,0,{name:t,version:e}))}registerCoreLibrary(t,e){this.register(t,e,!0)}deRegister(t){let e,n=this._getLibraryByName(t);n&&(e=this._registry.indexOf(n),this._registry.splice(e,1))}}const fs=new ps;let gs;function ms(t,...e){let n,i;lr(e)?n=e:"string"==typeof e[0]&&(i=e[0]);let r=Qr({get:function(e){return(Yi(this)||this.container).lookup(`${t}:${i||e}`)},set(t,e){ns(this,t,null,e)}});return n?r(n[0],n[1],n[2]):r}function ys(...t){if(!lr(t)){let e=t[0],n=e?e.initializer:void 0,i=e?e.value:void 0,r=function(t,e){return _s([t,e,{initializer:n||(()=>i)}])};return vr(r),r}return _s(t)}function _s([t,e,n]){let{getter:i,setter:r}=We(e,n?n.initializer:void 0);function s(){let t=i(this);return(Array.isArray(t)||Gi(t))&&Se(Ve(t,"[]")),t}function o(t){r(this,t),$e(this,Qi)}let a={enumerable:!0,configurable:!0,isTracked:!0,get:s,set:o};return pr.add(o),Ht(t).writeDescriptors(e,new vs(s,o)),a}fs.registerCoreLibrary("Ember",Wi);class vs{constructor(t,e){this._get=t,this._set=e,ir.add(this)}get(t){return this._get.call(t)}set(t,e,n){this._set.call(t,n)}}function bs(t,e,n,i){return t.isDestroyed?n:os(e)?function(t,e,n,i){let r=e.split("."),s=r.pop(),o=cs(t,r,!0);if(null!=o)return bs(o,s,n);if(!i)throw new Error(`Property set failed: object in path "${r.join(".")}" could not be found.`)}(t,e,n,i):ws(t,e,n)}function ws(t,e,n){let i,r=it(t,e);return null!==r&&pr.has(r.set)?(t[e]=n,n):(i=t[e],void 0!==i||"object"!=typeof t||e in t||"function"!=typeof t.setUnknownProperty?(t[e]=n,i!==n&&Vr(t,e)):t.setUnknownProperty(e,n),n)}function xs(t,e,n){return bs(t,e,n,!0)}function Ss(t){return fr(new Cs(t),Es)}class Es extends Function{readOnly(){return yr(this).readOnly(),this}oneWay(){return yr(this).oneWay(),this}meta(t){let e=yr(this);if(0===arguments.length)return e._meta||{};e._meta=t}}class Cs extends hr{altKey;constructor(t){super(),this.altKey=t}setup(t,e,n,i){super.setup(t,e,n,i),ir.add(this)}get(t,e){let n,i=Ht(t),r=Ge(t),s=Ve(t,e,r);Oe(()=>{n=us(t,this.altKey)});let o=i.revisionFor(e);return void 0!==o&&Jt(s,o)||(ne(s,or(t,this.altKey,r,i)),i.setRevisionFor(e,Zt(s)),rr(i,e,n)),Se(s),n}set(t,e,n){return bs(t,this.altKey,n)}readOnly(){this.set=ks}oneWay(){this.set=Ts}}function ks(t,e){throw new Error(`Cannot set read-only property '${e}' on object: ${R(t)}`)}function Ts(t,e,n){return ns(t,e,null),bs(t,e,n)}function Rs(t,e,n,i){return void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1)),kr(t,"@array:before",[t,e,n,i]),t}function Ps(t,e,n,i,r=!0){void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1));let s=Wt(t);if(r&&((i<0||n<0||i-n!==0)&&Vr(t,"length",s),Vr(t,"[]",s)),kr(t,"@array:change",[t,e,n,i]),null!==s){let r=-1===n?0:n,o=t.length-((-1===i?0:i)-r),a=e<0?o+e:e;void 0!==s.revisionFor("firstObject")&&0===a&&Vr(t,"firstObject",s),void 0!==s.revisionFor("lastObject")&&o-1{let n=Object.keys(e);for(let i of n)bs(t,i,e[i])}),e}const zs=new WeakMap;function Us(t,e){O(t)&&zs.set(t,e)}function Bs(t){return zs.get(t)}const qs=Object.prototype.hasOwnProperty;let $s=!1;const Gs={_set:0,_unprocessedNamespaces:!1,get unprocessedNamespaces(){return this._unprocessedNamespaces},set unprocessedNamespaces(t){this._set++,this._unprocessedNamespaces=t}};let Vs=!1;const Ws=[],Hs=Object.create(null);function Ks(t){Gs.unprocessedNamespaces=!0,Ws.push(t)}function Xs(t){let e=Bs(t);delete Hs[e],Ws.splice(Ws.indexOf(t),1),e in d.lookup&&t===d.lookup[e]&&(d.lookup[e]=void 0)}function Ys(){if(!Gs.unprocessedNamespaces)return;let t=d.lookup,e=Object.keys(t);for(let n of e){if(!so(n.charCodeAt(0)))continue;let e=oo(t,n);e&&Us(e,n)}}function Zs(t){return $s||Qs(),Hs[t]}function Js(t){io([t.toString()],t,new Set)}function Qs(){let t=Gs.unprocessedNamespaces;if(t&&(Ys(),Gs.unprocessedNamespaces=!1),t||Vs){let t=Ws;for(let e of t)Js(e);Vs=!1}}function to(){return $s}function eo(t){$s=Boolean(t)}function no(){Vs=!0}function io(t,e,n){let i=t.length,r=t.join(".");Hs[r]=e,Us(e,r);for(let s in e){if(!qs.call(e,s))continue;let r=e[s];if(t[i]=s,r&&void 0===Bs(r))Us(r,t.join("."));else if(r&&ro(r)){if(n.has(r))continue;n.add(r),io(t,r,n)}}t.length=i}function ro(t){return null!=t&&"object"==typeof t&&t.isNamespace}function so(t){return t>=65&&t<=90}function oo(t,e){try{let n=t[e];return(null!==n&&"object"==typeof n||"function"==typeof n)&&n.isNamespace&&n}catch(n){}}const ao={get onerror(){}},lo=setTimeout,uo=()=>{};function ho(t){if("function"==typeof Promise){const e=Promise.resolve();return()=>e.then(t)}if("function"==typeof MutationObserver){let e=0,n=new MutationObserver(t),i=document.createTextNode("");return n.observe(i,{characterData:!0}),()=>(e=++e%2,i.data=""+e,e)}return()=>lo(t,0)}function co(t){let e=uo;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:ho(t),clearNext:e}}const po=/\d+/;function fo(t){let e=typeof t;return"number"===e&&t==t||"string"===e&&po.test(t)}function go(t){return t.onError||t.onErrorTarget&&t.onErrorTarget[t.onErrorMethod]}function mo(t,e,n){let i=-1;for(let r=0,s=n.length;r=e[n]?r=n+6:s=n;return t>=e[r]?r+6:r}class bo{constructor(t,e={},n={}){this._queueBeingFlushed=[],this.targetQueues=new Map,this.index=0,this._queue=[],this.name=t,this.options=e,this.globalOptions=n}stackFor(t){if(t0){let t=go(this.globalOptions);s=t?this.invokeWithOnError:this.invoke;for(let o=this.index;o0&&this.flush(!0)}hasWork(){return this._queueBeingFlushed.length>0||this._queue.length>0}cancel({target:t,method:e}){let n=this._queue,i=this.targetQueues.get(t);void 0!==i&&i.delete(e);let r=mo(t,e,n);return r>-1?(n[r+1]=null,!0):(n=this._queueBeingFlushed,r=mo(t,e,n),r>-1&&(n[r+1]=null,!0))}push(t,e,n,i){return this._queue.push(t,e,n,i),{queue:this,target:t,method:e}}pushUnique(t,e,n,i){let r=this.targetQueues.get(t);void 0===r&&(r=new Map,this.targetQueues.set(t,r));let s=r.get(e);if(void 0===s){let s=this._queue.push(t,e,n,i)-4;r.set(e,s)}else{let t=this._queue;t[s+2]=n,t[s+3]=i}return{queue:this,target:t,method:e}}_getDebugInfo(t){if(t)return _o(this._queue,4)}invoke(t,e,n){void 0===n?e.call(t):e.apply(t,n)}invokeWithOnError(t,e,n,i,r){try{void 0===n?e.call(t):e.apply(t,n)}catch(pD){i(pD,r)}}}class wo{constructor(t=[],e){this.queues={},this.queueNameIndex=0,this.queueNames=t,t.reduce(function(t,n){return t[n]=new bo(n,e[n],e),t},this.queues)}schedule(t,e,n,i,r,s){let o=this.queues[t];if(void 0===o)throw new Error(`You attempted to schedule an action in a queue (${t}) that doesn't exist`);if(null==n)throw new Error(`You attempted to schedule an action in a queue (${t}) for a method that doesn't exist`);return this.queueNameIndex=0,r?o.pushUnique(e,n,i,s):o.push(e,n,i,s)}flush(t=!1){let e,n,i=this.queueNames.length;for(;this.queueNameIndexr){let e=i-r;t=new Array(e);for(let n=0;n{Vo++,!1!==this._autorun&&(this._autorun=!1,this._autorunStack=null,this._end(!0))};let n=this.options._buildPlatform||co;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Ro,end:Po,events:{begin:Mo,end:0},autoruns:{created:Go,completed:Vo},run:Io,join:Oo,defer:Ao,schedule:Fo,scheduleIterable:Lo,deferOnce:No,scheduleOnce:Do,setTimeout:jo,later:zo,throttle:Uo,debounce:Bo,cancelTimers:qo,cancel:$o,loops:{total:Wo,nested:Ho}}}get defaultQueue(){return this._defaultQueue}begin(){Ro++;let t,e=this.options,n=this.currentInstance;return!1!==this._autorun?(t=n,this._cancelAutorun()):(null!==n&&(Ho++,this.instanceStack.push(n)),Wo++,t=this.currentInstance=new wo(this.queueNames,e),Mo++,this._trigger("begin",t,n)),this._onBegin(t,n),t}end(){Po++,this._end(!1)}on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=this._eventCallbacks[t];if(void 0===n)throw new TypeError(`Cannot on() event ${t} because it does not exist`);n.push(e)}off(t,e){let n=this._eventCallbacks[t];if(!t||void 0===n)throw new TypeError(`Cannot off() event ${t} because it does not exist`);let i=!1;if(e)for(let r=0;r0&&fo(n[r-1])&&(i=parseInt(n.pop(),10)),[t,e,n,i]}(...arguments);return this._later(t,e,n,i)}throttle(){Uo++;let t,[e,n,i,r,s=!0]=ko(...arguments),o=yo(e,n,this._timers);if(-1===o)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{t=this._timers[o+1];let e=o+4;this._timers[e]!==Eo&&(this._timers[e]=i)}return t}debounce(){Bo++;let t,[e,n,i,r,s=!1]=ko(...arguments),o=this._timers,a=yo(e,n,o);if(-1===a)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{let s=this._platform.now()+r,l=a+4;o[l]===Eo&&(i=Eo),t=o[a+1];let u=vo(s,o);if(a+6===u)o[a]=s,o[l]=i;else{let r=this._timers[a+5];this._timers.splice(u,0,s,t,e,n,i,r),this._timers.splice(a,6)}0===a&&this._reinstallTimerTimeout()}return t}cancelTimers(){qo++,this._clearTimerTimeout(),this._timers=[],this._cancelAutorun()}hasTimers(){return this._timers.length>0||this._autorun}cancel(t){if($o++,null==t)return!1;let e=typeof t;return"number"===e?this._cancelLaterTimer(t):!("object"!==e||!t.queue||!t.method)&&t.queue.cancel(t)}ensureInstance(){this._ensureInstance()}getDebugInfo(){if(this.DEBUG)return{autorun:this._autorunStack,counters:this.counters,timers:_o(this._timers,6,2),instanceStack:[this.currentInstance,...this.instanceStack].map(t=>t&&t._getDebugInfo(this.DEBUG))}}_end(t){let e=this.currentInstance,n=null;if(null===e)throw new Error("end called without begin");let i,r=!1;try{i=e.flush(t)}finally{if(!r)if(r=!0,1===i){const t=this.queueNames[e.queueNameIndex];this._scheduleAutorun(t)}else this.currentInstance=null,this.instanceStack.length>0&&(n=this.instanceStack.pop(),this.currentInstance=n),this._trigger("end",e,n),this._onEnd(e,n)}}_join(t,e,n){return null===this.currentInstance?this._run(t,e,n):void 0===t&&void 0===n?e():e.apply(t,n)}_run(t,e,n){let i=go(this.options);if(this.begin(),i)try{return e.apply(t,n)}catch(pD){i(pD)}finally{this.end()}else try{return e.apply(t,n)}finally{this.end()}}_cancelAutorun(){this._autorun&&(this._platform.clearNext(),this._autorun=!1,this._autorunStack=null)}_later(t,e,n,i){let r=this.DEBUG?new Error:void 0,s=this._platform.now()+i,o=To++;if(0===this._timers.length)this._timers.push(s,o,t,e,n,r),this._installTimerTimeout();else{let i=vo(s,this._timers);this._timers.splice(i,0,s,o,t,e,n,r),this._reinstallTimerTimeout()}return o}_cancelLaterTimer(t){for(let e=1;e0&&(this.begin(),this._scheduleExpiredTimers(),this.end())}_scheduleExpiredTimers(){let t=this._timers,e=0,n=t.length,i=this._defaultQueue,r=this._platform.now();for(;er);e+=6){let n=t[e+4];if(n!==Eo){let r=t[e+2],s=t[e+3],o=t[e+5];this.currentInstance.schedule(i,r,s,n,!1,o)}}t.splice(0,e),this._installTimerTimeout()}_reinstallTimerTimeout(){this._clearTimerTimeout(),this._installTimerTimeout()}_clearTimerTimeout(){null!==this._timerTimeoutId&&(this._platform.clearTimeout(this._timerTimeoutId),this._timerTimeoutId=null)}_installTimerTimeout(){if(0===this._timers.length)return;let t=this._timers[0],e=this._platform.now(),n=Math.max(0,t-e);this._timerTimeoutId=this._platform.setTimeout(this._boundRunExpiredTimers,n)}_ensureInstance(){let t=this.currentInstance;return null===t&&(this._autorunStack=this.DEBUG?new Error:void 0,t=this.begin(),this._scheduleAutorun(this.queueNames[0])),t}_scheduleAutorun(t){Go++;const e=this._platform.next,n=this.options.flush;n?n(t,e):e(),this._autorun=!0}}Ko.Queue=bo,Ko.buildPlatform=co,Ko.buildNext=ho;let Xo=null;function Yo(){return Xo}const Zo=`${Math.random()}${Date.now()}`.replace(".",""),Jo=["actions","routerTransitions","render","afterRender","destroy",Zo],Qo=new Ko(Jo,{defaultQueue:"actions",onBegin:function(t){Xo=t},onEnd:function(t,e){Xo=e,Ur(ia)},onErrorTarget:ao,onErrorMethod:"onerror",flush:function(t,e){"render"!==t&&t!==Zo||Ur(ia),e()}});function ta(...t){return Qo.run(...t)}function ea(t,e,...n){return Qo.join(t,e,...n)}function na(...t){return(...e)=>ea(...t.concat(e))}function ia(...t){return Qo.schedule(...t)}function ra(...t){return Qo.scheduleOnce("actions",...t)}function sa(...t){return Qo.scheduleOnce(...t)}function oa(t){return Qo.cancel(t)}function aa(...t){return Qo.debounce(...t)}const la=Object.freeze(Object.defineProperty({__proto__:null,_backburner:Qo,_cancelTimers:function(){Qo.cancelTimers()},_getCurrentRunLoop:Yo,_hasScheduledTimers:function(){return Qo.hasTimers()},_queues:Jo,_rsvpErrorQueue:Zo,begin:function(){Qo.begin()},bind:na,cancel:oa,debounce:aa,end:function(){Qo.end()},join:ea,later:function(...t){return Qo.later(...t)},next:function(...t){return Qo.later(...t,1)},once:ra,run:ta,schedule:ia,scheduleOnce:sa,throttle:function(...t){return Qo.throttle(...t)}},Symbol.toStringTag,{value:"Module"})),ua="@warp-drive/core",ha=globalThis;ha.__warpDrive_universalCache=ha.__warpDrive_universalCache??{},ha[ua]=ha[ua]??{__version:"5.8.1"};const ca=ha[ua],da=ca.__warpDrive_ModuleScopedCaches??{};if(ca.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function pa(t,e){return e}function fa(t){return da[`(transient) ${t}`]??null}ca.__warpDrive_hasOtherCopy=!0;const ga=new WeakMap;function ma(t,e){ga.set(t,e)}const ya=pa(0,Symbol("#[]"));function _a(t,e){return fa("signalHooks").createSignal(t,e)}const va={};function ba(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===va}const wa=pa(0,Symbol("Signals"));function xa(t){return t[wa]||function(t){t[wa]=new Map}(t),t[wa]}function Sa(t,e,n,i){const r={key:n,context:e,signal:_a(e,n),value:ba(i)?i.value.call(e):i,isStale:!1};return t.set(n,r),r}function Ea(t,e){return t?.get(e)}function Ca(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,i){let r=Ea(t,n);return r||(r=Sa(t,e,n,i)),s=r.signal,fa("signalHooks").consumeSignal(s),r;var s}(xa(this),this,t,e);return n.isStale=!1,n.value},set(n){const i=function(t,e,n,i){let r=Ea(t,n);return r||(r=Sa(t,e,n,i)),r}(xa(this),this,t,e);var r;i.value!==n&&(i.value=n,(r=i)&&(r.isStale=!0,function(t){fa("signalHooks").notifySignal(t)}(r.signal)))}}}function ka(t,e,n){Object.defineProperty(t,e,Ca(e,n))}function Ta(t,e,n){const i=Ca(e,n);i.enumerable=!1,Object.defineProperty(t,e,i)}function Ra(t,e,n){const i=n.get;return n.get=function(){const t=xa(this);let n=t.get(e);return n||(n=function(t,e,n,i){{const r=function(t,e,n){return fa("signalHooks").createMemo(t,e,n)}(e,n,i);return t.set(n,r),r}}(t,this,e,i.bind(this))),n()},n}const Pa=new WeakMap;function Ma(t){return t instanceof DOMException&&"AbortError"===t.name}class Ia{_stream=null;_future;_triggered=!1;_trigger(){if(this._triggered)return;this._triggered=!0;const t=this._future.getStream();t.sizeHint&&(this._sizeHint=t.sizeHint),this.promise=t.then(t=>t?async function(t,e){const n=e,i=t.getReader();let r=0,s=null!==n._stream&&n._stream.readable.locked,o=s,a=n._stream?.writable.getWriter();const l=[];for(n._isPending=!1,n._isStarted=!0,n._startTime=performance.now();;){const{value:t,done:e}=await i.read();if(e)break;if(r+=t.byteLength,n._bytesLoaded=r,n._lastPacketTime=performance.now(),s=s||null!==n._stream&&n._stream.readable.locked,s){if(!o){o=!0,a=n._stream.writable.getWriter();for(const t of l)await a.ready,await a.write(t);l.length=0}await a.ready,await a.write(t)}else l.push(t)}o?(await a.ready,await a.close()):n._stream&&(await n._stream.readable.cancel("The Stream Has Already Ended"),n._stream=null);const u=performance.now();n._endTime=u,n._isComplete=!0,n._isStarted=!1}(t,this):(this._isPending=!1,void(this._isComplete=!0)),t=>{this._isPending=!1,this._isStarted=!1,Ma(t)&&(this._isCancelled=!0,this._isComplete=!0),this._isErrored=!0,this._error=t})}promise=null;get isPending(){return this._trigger(),this._isPending}get sizeHint(){return this._trigger(),this._sizeHint}get stream(){if(this._trigger(),!this._stream){if(this._isComplete||this._isCancelled||this._isErrored)return null;this._stream=new TransformStream}return this._stream.readable}get isStarted(){return this._trigger(),this._isStarted}get bytesLoaded(){return this._trigger(),this._bytesLoaded}get startTime(){return this._trigger(),this._startTime}get endTime(){return this._trigger(),this._endTime}get lastPacketTime(){return this._trigger(),this._lastPacketTime}get isComplete(){return this._trigger(),this._isComplete}get isCancelled(){return this._trigger(),this._isCancelled}get isErrored(){return this._trigger(),this._isErrored}get error(){return this._trigger(),this._error}get elapsedTime(){return(this.endTime||this.lastPacketTime)-this.startTime}get completedRatio(){return this.sizeHint?this.bytesLoaded/this.sizeHint:0}get remainingRatio(){return 1-this.completedRatio}get duration(){return this.endTime-this.startTime}get speed(){return this.bytesLoaded/(this.elapsedTime/1e3)}constructor(t){this._future=t}abort=()=>{this._future.abort()}}Ta(Ia.prototype,"_isPending",!0),Ta(Ia.prototype,"_isStarted",!1),Ta(Ia.prototype,"_isComplete",!1),Ta(Ia.prototype,"_isCancelled",!1),Ta(Ia.prototype,"_isErrored",!1),Ta(Ia.prototype,"_error",null),Ta(Ia.prototype,"_sizeHint",0),Ta(Ia.prototype,"_bytesLoaded",0),Ta(Ia.prototype,"_startTime",0),Ta(Ia.prototype,"_endTime",0),Ta(Ia.prototype,"_lastPacketTime",0);const Oa={};function Aa(t,e,n){const i=Object.assign({},e),r=Object.assign({},i.cacheOptions);return n?r.reload=!0:!1===n?(delete r.reload,r.backgroundReload=!0):(delete r.backgroundReload,delete r.reload),i.cacheOptions=r,t.request(i)}function Fa(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}ka(Oa,"reason",null),ka(Oa,"value",null),ka(Oa,"result",null),ka(Oa,"error",null),ka(Oa,"status","pending"),ka(Oa,"isPending",!0),ka(Oa,"isLoading",!0),ka(Oa,"isSuccess",!1),ka(Oa,"isError",!1),ka(Oa,"request",null),ka(Oa,"response",null),Object.defineProperty(Oa,"isCancelled",{get(){return this.isError&&Ma(this.reason)}}),Object.defineProperty(Oa,"loadingState",{get(){return this._loadingState||(this._loadingState=new Ia(this._request)),this._loadingState}});const La=Symbol.dispose||Symbol.for("dispose");class Na{_requester;constructor(t,e){this._args=e,this.store=t,this._subscribedTo=null,this._subscription=null,this._intervalStart=null,this._invalidated=!1,this._nextInterval=null,this._requester=null,this.isDestroyed=!1,this[La]=ja,this._installListeners(),this._beginPolling()}async _beginPolling(){try{this.isIdle||await this.request}catch{}finally{this.isDestroyed||this._scheduleInterval()}}get isIdle(){const{request:t,query:e}=this._args;return Boolean(!t&&!e)}static{Fa(this.prototype,"isIdle",[Ra])}get autorefreshTypes(){const{autorefresh:t}=this._args;let e;return e=!0===t?["online","invalid"]:"string"==typeof t?t.split(","):[],new Set(e)}static{Fa(this.prototype,"autorefreshTypes",[Ra])}async _scheduleInterval(){const{autorefreshThreshold:t}=this._args;if("undefined"!=typeof window&&"number"==typeof t&&t>0&&this.autorefreshTypes.has("interval")&&null===this._intervalStart){if(this._latestRequest){try{await this._latestRequest}catch{}if(this.isDestroyed)return}this._intervalStart=Date.now(),this._nextInterval=setTimeout(()=>{this._maybeUpdate()},t)}}_clearInterval(){this._nextInterval&&(clearTimeout(this._nextInterval),this._intervalStart=null)}_updateSubscriptions(){if(this.isIdle)return;const t=this._request.lid;if(this._subscribedTo===t)return;this._removeSubscriptions();const e=this._getRequester();this._requester=e,t&&Da(e)&&(this._subscribedTo=t,this._subscription=e.notifications.subscribe(t,(n,i)=>{if(!this._isUpdating)switch(i){case"invalidated":this.autorefreshTypes.has("invalid")&&(this._invalidated=!0,this._maybeUpdate());break;case"state":{const n=e.requestManager._deduped.get(t),i=n?.priority,r=this.reqState;i?i.blocking&&!r.isLoading?(this.isRefreshing=!1,this._maybeUpdate("policy",!0)):this.isRefreshing=!0:this.isRefreshing=!1}}}))}_removeSubscriptions(){const t=this._requester;this._subscription&&t&&Da(t)&&(t.notifications.unsubscribe(this._subscription),this._subscribedTo=null,this._subscription=null,this._requester=null)}_installListeners(){"undefined"!=typeof window&&(this.isOnline=window.navigator.onLine,this._unavailableStart=this.isOnline?null:Date.now(),this.isHidden="hidden"===document.visibilityState,this._onlineChanged=t=>{this.isOnline="online"===t.type,"offline"===t.type&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},this._backgroundChanged=()=>{const t="hidden"===document.visibilityState;this.isHidden=t,t&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},window.addEventListener("online",this._onlineChanged,{passive:!0,capture:!0}),window.addEventListener("offline",this._onlineChanged,{passive:!0,capture:!0}),document.addEventListener("visibilitychange",this._backgroundChanged,{passive:!0,capture:!0}))}_maybeUpdate(t,e){if(this.isIdle)return;const{reqState:n}=this;if(n.isPending)return;if(!Boolean(this.isOnline&&!this.isHidden&&(t||this.autorefreshTypes.size))){if(!e&&t&&"_invalidated"!==t)throw new Error("Reload not available: the network is not online or the tab is hidden");return}const{autorefreshTypes:i}=this;let r=this._invalidated||Boolean(t);if(!r&&i.has("online")){const{_unavailableStart:t}=this,{autorefreshThreshold:e}=this._args,n="number"==typeof e?e:3e4;r=Boolean(t&&Date.now()-t>n)}if(!r&&i.has("interval")){const{_intervalStart:t}=this,{autorefreshThreshold:e}=this._args;t&&"number"==typeof e&&e>0&&(r=Boolean(Date.now()-t>=e))}if(this._unavailableStart=null,this._invalidated=!1,r){this._clearInterval(),this._isUpdating=!0;const e=("_invalidated"===t?null:t)??this._args.autorefreshBehavior??"policy",i=this._getRequester();switch(n._request.requester||(n._request.requester=i),e){case"reload":this._latestRequest=n.reload();break;case"refresh":this._latestRequest=n.refresh();break;case"policy":this._latestRequest=n.refresh(!0)}"refresh"!==e&&(this._localRequest=this._latestRequest),this._scheduleInterval(),this._latestRequest.finally(()=>{this._isUpdating=!1})}}_getRequester(){return this._args.request?.requester?this._args.request.requester:this.store}retry=async()=>{this._maybeUpdate("reload"),await this._localRequest};refresh=async()=>{this._maybeUpdate("refresh"),await this._latestRequest};get errorFeatures(){return{isHidden:this.isHidden,isOnline:this.isOnline,retry:this.retry}}static{Fa(this.prototype,"errorFeatures",[Ra])}get contentFeatures(){const t={isHidden:this.isHidden,isOnline:this.isOnline,reload:this.retry,refresh:this.refresh,isRefreshing:this.isRefreshing,latestRequest:this._latestRequest};return t.isRefreshing&&(t.abort=()=>{this._latestRequest?.abort()}),t}static{Fa(this.prototype,"contentFeatures",[Ra])}get _request(){const{request:t,query:e}=this._args,{_localRequest:n,_originalRequest:i,_originalQuery:r}=this;return n&&t===i&&e===r?n:(this._originalQuery=e,this._originalRequest=t,t||this.store.request(e))}static{Fa(this.prototype,"_request",[Ra])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Fa(this.prototype,"request",[Ra])}get reqState(){return function(t){let e=Pa.get(t);return e||(e=function(t){const e=(n=t,ga.get(n));var n;const i=Object.create(Oa);return i._request=t,i.reload=()=>Aa(t.requester,i.request,!0),i.refresh=(e=!1)=>Aa(t.requester,i.request,!0===e&&null),e?e.isError?(i.error=e.result,i.reason=e.result,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):(i.result=e.result.content,i.value=e.result.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):t.then(e=>{ma(t,{isError:!1,result:e}),i.result=e.content,i.value=e.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response},e=>{ma(t,{isError:!0,result:e}),i.error=e,i.reason=e,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response}),i}(t),Pa.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function Da(t){return"requestManager"in t}function ja(){const t=this;t.isDestroyed=!0,t._removeSubscriptions(),"undefined"!=typeof window&&(t._clearInterval(),window.removeEventListener("online",t._onlineChanged,{passive:!0,capture:!0}),window.removeEventListener("offline",t._onlineChanged,{passive:!0,capture:!0}),document.removeEventListener("visibilitychange",t._backgroundChanged,{passive:!0,capture:!0}))}ka(Na.prototype,"isOnline",!0),ka(Na.prototype,"isHidden",!1),ka(Na.prototype,"isRefreshing",!1),ka(Na.prototype,"_localRequest",void 0),ka(Na.prototype,"_latestRequest",void 0);const za={};ka(za,"reason",null),ka(za,"value",null),ka(za,"result",null),ka(za,"error",null),ka(za,"status","pending"),ka(za,"isPending",!0),ka(za,"isLoading",!0),ka(za,"isSuccess",!1),ka(za,"isError",!1);const Ua=ee;var Ba;Ba=function(t){const e=t.wellknown.Array;return{createSignal:(t,n)=>n===e?[tr(t,n),tr(t,"length"),tr(t,"[]")]:tr(t,n),consumeSignal(t){if(Array.isArray(t))return Se(t[0]),Se(t[1]),void Se(t[2]);Se(t)},notifySignal(t){if(Array.isArray(t))return Ua(t[0]),Ua(t[1]),void Ua(t[2]);Ua(t)},createMemo:(t,e,n)=>{{const i=tr(t,e),r=Re(n);let s;const o=()=>{s=Pe(r)};return()=>{const t=Ie(o);return ne(i,t),Se(t),s}}},willSyncFlushWatchers:()=>!!Qo.currentInstance&&!0!==Qo._autorun,waitFor:async t=>t}},function(t,e){da["(transient) signalHooks"]=e}(0,Ba({wellknown:{Array:ya}}));const qa=Yi,$a=Object.freeze(Object.defineProperty({__proto__:null,getOwner:qa,setOwner:Zi},Symbol.toStringTag,{value:"Module"}));function Ga(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const Va=g.EMBER_LOAD_HOOKS||{},Wa={};let Ha=Wa;function Ka(t,e){if(Wa[t]=e,n&&"function"==typeof CustomEvent){let i=new CustomEvent(t,{detail:e});n.dispatchEvent(i)}Va[t]?.forEach(t=>t(e))}class Xa{static _leakTracking;owner;registry;cache;factoryManagerCache;validationCache;isDestroyed;isDestroying;constructor(t,e={}){this.registry=t,this.owner=e.owner||null,this.cache=Ga(e.cache||null),this.factoryManagerCache=Ga(e.factoryManagerCache||null),this.isDestroyed=!1,this.isDestroying=!1}lookup(t,e){if(this.isDestroyed)throw new Error(`Cannot call \`.lookup('${t}')\` after the owner has been destroyed`);return function(t,e,n={}){let i=e;if(!0===n.singleton||void 0===n.singleton&&Ya(t,e)){let e=t.cache[i];if(void 0!==e)return e}return function(t,e,n,i){let r=Ja(t,e,n);if(void 0!==r){if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!1!==n&&(!0===i||Ya(t,e))&&Za(t,e)}(t,n,i)){let n=t.cache[e]=r.create();return t.isDestroying&&"function"==typeof n.destroy&&n.destroy(),n}if(function(t,e,{instantiate:n,singleton:i}){return!1!==n&&(!1===i||!Ya(t,e))&&Za(t,e)}(t,n,i))return r.create();if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!n&&Ya(t,e)&&!Za(t,e)}(t,n,i)||function(t,e,{instantiate:n,singleton:i}){return!(!1!==n||!1!==i&&Ya(t,e)||Za(t,e))}(t,n,i))return r.class;throw new Error("Could not create factory")}}(t,i,e,n)}(this,this.registry.normalize(t),e)}destroy(){this.isDestroying=!0,Qa(this)}finalizeDestroy(){tl(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(Qa(this),tl(this)):function(t,e){let n=t.cache[e];delete t.factoryManagerCache[e],n&&(delete t.cache[e],n.destroy&&n.destroy())}(this,this.registry.normalize(t)))}ownerInjection(){let t={};return Zi(t,this.owner),t}factoryFor(t){if(this.isDestroyed)throw new Error(`Cannot call \`.factoryFor('${t}')\` after the owner has been destroyed`);return Ja(this,this.registry.normalize(t),t)}}function Ya(t,e){return!1!==t.registry.getOption(e,"singleton")}function Za(t,e){return!1!==t.registry.getOption(e,"instantiate")}function Ja(t,e,n){let i=t.factoryManagerCache[e];if(void 0!==i)return i;let r=t.registry.resolve(e);if(void 0===r)return;let s=new rl(t,r,n,e);return t.factoryManagerCache[e]=s,s}function Qa(t){let e=t.cache,n=Object.keys(e);for(let i of n){let t=e[i];t.destroy&&t.destroy()}}function tl(t){t.cache=Ga(null),t.factoryManagerCache=Ga(null)}const el=Symbol("INIT_FACTORY");function nl(t){return t[el]}function il(t,e){t[el]=e}class rl{container;owner;class;fullName;normalizedName;madeToString;injections;constructor(t,e,n,i){this.container=t,this.owner=t.owner,this.class=e,this.fullName=n,this.normalizedName=i,this.madeToString=void 0,this.injections=void 0}toString(){return void 0===this.madeToString&&(this.madeToString=this.container.registry.makeToString(this.class,this.fullName)),this.madeToString}create(t){let{container:e}=this;if(e.isDestroyed)throw new Error(`Cannot create new instances after the owner has been destroyed (you attempted to create ${this.fullName})`);let n=t?{...t}:{};return Zi(n,e.owner),il(n,this),this.class.create(n)}}const sl=/^[^:]+:[^:]+$/;class ol{_failSet;resolver;fallback;registrations;_normalizeCache;_options;_resolveCache;_typeOptions;constructor(t={}){this.fallback=t.fallback||null,this.resolver=t.resolver||null,this.registrations=Ga(t.registrations||null),this._normalizeCache=Ga(null),this._resolveCache=Ga(null),this._failSet=new Set,this._options=Ga(null),this._typeOptions=Ga(null)}container(t){return new Xa(this,t)}register(t,e,n={}){let i=this.normalize(t);this._failSet.delete(i),this.registrations[i]=e,this._options[i]=n}unregister(t){let e=this.normalize(t);delete this.registrations[e],delete this._resolveCache[e],delete this._options[e],this._failSet.delete(e)}resolve(t){let e=function(t,e){let n,i=e,r=t._resolveCache[i];return void 0!==r?r:t._failSet.has(i)?void 0:(t.resolver&&(n=t.resolver.resolve(i)),void 0===n&&(n=t.registrations[i]),void 0===n?t._failSet.add(i):t._resolveCache[i]=n,n)}(this,this.normalize(t));return void 0===e&&null!==this.fallback&&(e=this.fallback.resolve(t)),e}describe(t){return null!==this.resolver&&this.resolver.lookupDescription?this.resolver.lookupDescription(t):null!==this.fallback?this.fallback.describe(t):t}normalizeFullName(t){return null!==this.resolver&&this.resolver.normalize?this.resolver.normalize(t):null!==this.fallback?this.fallback.normalizeFullName(t):t}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this.normalizeFullName(t))}makeToString(t,e){return null!==this.resolver&&this.resolver.makeToString?this.resolver.makeToString(t,e):null!==this.fallback?this.fallback.makeToString(t,e):"string"==typeof t?t:t.name??"(unknown class)"}has(t){return!!this.isValidFullName(t)&&function(t,e){return void 0!==t.resolve(e)}(this,this.normalize(t))}optionsForType(t,e){this._typeOptions[t]=e}getOptionsForType(t){let e=this._typeOptions[t];return void 0===e&&null!==this.fallback&&(e=this.fallback.getOptionsForType(t)),e}options(t,e){let n=this.normalize(t);this._options[n]=e}getOptions(t){let e=this.normalize(t),n=this._options[e];return void 0===n&&null!==this.fallback&&(n=this.fallback.getOptions(t)),n}getOption(t,e){let n=this._options[t];if(void 0!==n&&void 0!==n[e])return n[e];let i=t.split(":")[0];return n=this._typeOptions[i],n&&void 0!==n[e]?n[e]:null!==this.fallback?this.fallback.getOption(t,e):void 0}knownForType(t){let e,n,i=Ga(null),r=Object.keys(this.registrations);for(let s of r)s.split(":")[0]===t&&(i[s]=!0);return null!==this.fallback&&(e=this.fallback.knownForType(t)),null!==this.resolver&&this.resolver.knownForType&&(n=this.resolver.knownForType(t)),Object.assign({},e,i,n)}isValidFullName(t){return sl.test(t)}}const al=Ga(null),ll=`${Math.random()}${Date.now()}`.replace(".","");function ul([t]){let e=al[t];if(e)return e;let[n,i]=t.split(":");return al[t]=I(`${n}:${i}-${ll}`)}const hl=Array.prototype.concat;function cl(t,e,n,i){let r=n[t]||i[t];return e[t]&&(r=r?hl.call(r,e[t]):e[t]),r}function dl(t,e,n,i){if(!0===n)return e;let r=n._getter;if(void 0===r)return e;let s=i[t],o="function"==typeof s?yr(s):s;if(void 0===o||!0===o)return e;let a=o._getter;if(void 0===a)return e;let l,u=et(r,a),h=n._setter,c=o._setter;if(l=void 0!==c?void 0!==h?et(h,c):c:h,u!==r||l!==h){let t=n._dependentKeys||[],e=new Yr([...t,{get:u,set:l}]);return e._readOnly=n._readOnly,e._meta=n._meta,e.enumerable=n.enumerable,fr(e,Yr)}return e}function pl(t,e,n,i){if(void 0!==i[t])return e;let r=n[t];return"function"==typeof r?et(e,r):e}function fl(t){return t?Array.isArray(t)?t:[t]:[]}function gl(t,e,n){return fl(n[t]).concat(fl(e))}function ml(t,e,n){let i=n[t];if(!i)return e;let r=Object.assign({},i),s=!1,o=Object.keys(e);for(let a of o){let t=e[a];"function"==typeof t?(s=!0,r[a]=pl(a,t,i,{})):r[a]=t}return s&&(r._super=W),r}function yl(t,e,n,i,r,s,o){let a;for(let l=0;l{let e=s.indexOf(t);-1!==e&&s.splice(e,1)}))}else _l(e,a,n,i,r,s,o)}function _l(t,e,n,i,r,s,o){let a=cl("concatenatedProperties",e,i,r),l=cl("mergedProperties",e,i,r),u=Object.keys(e);for(let h of u){let u=e[h];if(void 0===u)continue;if(-1===s.indexOf(h)){s.push(h);let e=t.peekDescriptors(h);if(void 0===e){if(!_r(u)){let t=i[h]=r[h];"function"==typeof t&&vl(r,h,t,!1)}}else n[h]=e,o.push(h),e.teardown(r,h,t)}let c="function"==typeof u;if(c){let t=yr(u);if(void 0!==t){n[h]=dl(h,u,t,n),i[h]=void 0;continue}}a&&a.indexOf(h)>=0||"concatenatedProperties"===h||"mergedProperties"===h?u=gl(h,u,i):l&&l.indexOf(h)>-1?u=ml(h,u,i):c&&(u=pl(h,u,i,n)),i[h]=u,n[h]=void 0}}function vl(t,e,n,i){let r=Z(n);if(void 0===r)return;let{observers:s,listeners:o}=r;if(void 0!==s){let n=i?Or:Ar;for(let i of s.paths)n(t,i,null,e,s.sync)}if(void 0!==o){let n=i?Er:Cr;for(let i of o)n(t,i,null,e)}}function bl(t,e,n=!1){let i=Object.create(null),r=Object.create(null),s=Ht(t),o=[],a=[];t._super=W,yl(e,s,i,r,t,o,a);for(let l of o){let e=r[l],o=i[l];void 0!==e?("function"==typeof e&&vl(t,l,e,!0),rs(t,l,e,-1!==a.indexOf(l),!n)):void 0!==o&&is(t,l,o,s)}return s.isPrototypeMeta(t)||jr(t),t}const wl=new WeakSet;class xl{mixins;properties;ownerConstructor;_without;constructor(t,e){wl.add(this),this.properties=function(t){if(void 0!==t)for(let e of Object.keys(t)){let n=Object.getOwnPropertyDescriptor(t,e);void 0===n.get&&void 0===n.set||Object.defineProperty(t,e,{value:ur(n)})}return t}(e),this.mixins=Sl(t),this.ownerConstructor=void 0,this._without=void 0}static create(...t){return no(),new this(t,void 0)}static mixins(t){let e=Wt(t),n=[];return null===e||e.forEachMixins(t=>{t.properties||n.push(t)}),n}reopen(...t){if(0===t.length)return this;if(this.properties){let t=new xl(void 0,this.properties);this.properties=void 0,this.mixins=[t]}else this.mixins||(this.mixins=[]);return this.mixins=this.mixins.concat(Sl(t)),this}apply(t,e=!1){return bl(t,[this],e)}applyPartial(t){return bl(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if(wl.has(t))return El(t,this);let e=Wt(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new xl([this]);return e._without=t,e}keys(){return Cl(this)}toString(){return"(unknown mixin)"}}function Sl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let i=0;iEl(t,e,n))}function Cl(t,e=new Set,n=new Set){if(!n.has(t)){if(n.add(t),t.properties){let n=Object.keys(t.properties);for(let t of n)e.add(t)}else t.mixins&&t.mixins.forEach(t=>Cl(t,e,n));return e}}const kl=xl.create({__registry__:null,resolveRegistration(t){return this.__registry__.resolve(t)},register:Tl("register"),unregister:Tl("unregister"),hasRegistration:Tl("has"),registeredOption:Tl("getOption"),registerOptions:Tl("options"),registeredOptions:Tl("getOptions"),registerOptionsForType:Tl("optionsForType"),registeredOptionsForType:Tl("getOptionsForType")});function Tl(t){return function(...e){return this.__registry__[t](...e)}}const Rl=xl.create({__container__:null,ownerInjection(){return this.__container__.ownerInjection()},lookup(t,e){return this.__container__.lookup(t,e)},destroy(){let t=this.__container__;t&&ea(()=>{t.destroy(),ia("destroy",t,"finalizeDestroy")}),this._super()},factoryFor(t){return this.__container__.factoryFor(t)}}),Pl=xl.create({compare:null}),Ml=xl.create({mergedProperties:["actions"],send(t,...e){if(this.actions&&this.actions[t]&&!0!==this.actions[t].apply(this,e))return;let n=us(this,"target");n&&n.send(...arguments)}});function Il(t){let e=us(t,"content");return ne(er(t),er(e)),e}function Ol(t,e,n){let i=Ge(t),r=Ve(t,e,i);if(e in t)return r;{let s=[r,Ve(t,"content",i)],o=Il(t);return O(o)&&s.push(tr(o,e,n)),ce(s)}}const Al=xl.create({content:null,init(){this._super(...arguments),qi(this),er(this),Kn(this,Ol)},willDestroy(){this.set("content",null),this._super(...arguments)},isTruthy:Qr("content",function(){return Boolean(us(this,"content"))}),unknownProperty(t){let e=Il(this);return e?us(e,t):void 0},setUnknownProperty(t,e){let n=Ht(this);return n.isInitializing()||n.isPrototypeMeta(this)?(ns(this,t,null,e),e):bs(Il(this),t,e)}}),Fl=xl.create(),Ll=xl.create(Fl),Nl=Object.freeze(Object.defineProperty({__proto__:null,default:Ll},Symbol.toStringTag,{value:"Module"})),Dl=xl.create({target:null,action:null,actionContext:null,actionContextObject:Qr("actionContext",function(){let t=us(this,"actionContext");if("string"==typeof t){let e=us(this,t);return void 0===e&&(e=us(d.lookup,t)),e}return t}),triggerAction(t={}){let{action:e,target:n,actionContext:i}=t;e=e||us(this,"action"),n=n||function(t){let e=us(t,"target");if(e){if("string"==typeof e){let n=us(t,e);return void 0===n&&(n=us(d.lookup,e)),n}return e}return t._target?t._target:null}(this),void 0===i&&(i=us(this,"actionContextObject")||this);let r=Array.isArray(i)?i:[i];if(n&&e){let t;if(t=null!=(s=n)&&"object"==typeof s&&"function"==typeof s.send?n.send(e,...r):n[e](...r),!1!==t)return!0}var s;return!1}});function jl(t){let e=t._promiseCallbacks;return e||(e=t._promiseCallbacks={}),e}const zl={mixin(t){return t.on=this.on,t.off=this.off,t.trigger=this.trigger,t._promiseCallbacks=void 0,t},on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=jl(this),i=n[t];i||(i=n[t]=[]),-1===i.indexOf(e)&&i.push(e)},off(t,e){let n=jl(this);if(!e)return void(n[t]=[]);let i=n[t],r=i.indexOf(e);-1!==r&&i.splice(r,1)},trigger(t,e,n){let i=jl(this)[t];if(i){let t;for(let r=0;r{for(let t=0;t{e===n?Jl(t,n):Yl(t,n)},e=>Ql(t,e))}(t,e):"function"==typeof n?function(t,e,n){Ul.async(t=>{let i=!1,r=function(n,r){try{n.call(r,n=>{i||(i=!0,e===n?Jl(t,n):Yl(t,n))},e=>{i||(i=!0,Ql(t,e))})}catch(s){return s}}(n,e,t._label);!i&&r&&(i=!0,Ql(t,r))},t)}(t,e,n):Jl(t,e)}function Yl(t,e){if(t===e)Jl(t,e);else if(function(t){let e=typeof t;return null!==t&&("object"===e||"function"===e)}(e)){let n;try{n=e.then}catch(pD){return void Ql(t,pD)}Xl(t,e,n)}else Jl(t,e)}function Zl(t){t._onError&&t._onError(t._result),eu(t)}function Jl(t,e){t._state===Wl&&(t._result=e,t._state=Hl,0===t._subscribers.length?Ul.instrument&&$l("fulfilled",t):Ul.async(eu,t))}function Ql(t,e){t._state===Wl&&(t._state=Kl,t._result=e,Ul.async(Zl,t))}function tu(t,e,n,i){let r=t._subscribers,s=r.length;t._onError=null,r[s]=e,r[s+Hl]=n,r[s+Kl]=i,0===s&&t._state&&Ul.async(eu,t)}function eu(t){let e=t._subscribers,n=t._state;if(Ul.instrument&&$l(n===Hl?"fulfilled":"rejected",t),0===e.length)return;let i,r,s=t._result;for(let o=0;onu(r,s,n,o))}return s}class ru{constructor(t,e,n,i){this._instanceConstructor=t,this.promise=new t(Vl,i),this._abortOnReject=n,this._isUsingOwnPromise=t===lu,this._isUsingOwnResolve=t.resolve===Gl,this._init(...arguments)}_init(t,e){let n=e.length||0;this.length=n,this._remaining=n,this._result=new Array(n),this._enumerate(e)}_enumerate(t){let e=this.length,n=this.promise;for(let i=0;n._state===Wl&&ie(t)),e,n)}else this._willSettleAt(i.resolve(t),e,n)}_eachEntry(t,e,n){null!==t&&"object"==typeof t?this._settleMaybeThenable(t,e,n):this._setResultAt(Hl,e,t,n)}_settledAt(t,e,n,i){let r=this.promise;r._state===Wl&&(this._abortOnReject&&t===Kl?Ql(r,n):(this._setResultAt(t,e,n,i),this._checkFullfillment()))}_setResultAt(t,e,n,i){this._remaining--,this._result[e]=n}_willSettleAt(t,e,n){tu(t,void 0,t=>this._settledAt(Hl,e,t,n),t=>this._settledAt(Kl,e,t,n))}}function su(t,e,n){this._remaining--,this._result[e]=t===Hl?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}const ou="rsvp_"+Date.now()+"-";let au=0,lu=class t{constructor(e,n){this._id=au++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],Ul.instrument&&$l("created",this),Vl!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(t,e){let n=!1;try{e(e=>{n||(n=!0,Yl(t,e))},e=>{n||(n=!0,Ql(t,e))})}catch(i){Ql(t,i)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}_onError(t){Ul.after(()=>{this._onError&&Ul.trigger("error",t,this._label)})}catch(t,e){return this.then(void 0,t,e)}finally(t,e){let n=this,i=n.constructor;return"function"==typeof t?n.then(e=>i.resolve(t()).then(()=>e),e=>i.resolve(t()).then(()=>{throw e})):n.then(t,t)}};function uu(t,e){return{then:(n,i)=>t.call(e,n,i)}}function hu(t,e){let n=function(){let n=arguments.length,i=new Array(n+1),r=!1;for(let t=0;tcu(t,e,n,i))}(s,i,t,this):cu(s,i,t,this)};return n.__proto__=t,n}function cu(t,e,n,i){try{n.apply(i,e)}catch(pD){Ql(t,pD)}return t}function du(t,e){return lu.all(t,e)}lu.cast=Gl,lu.all=function(t,e){return Array.isArray(t)?new ru(this,t,!0,e).promise:this.reject(new TypeError("Promise.all must be called with an array"),e)},lu.race=function(t,e){let n=this,i=new n(Vl,e);if(!Array.isArray(t))return Ql(i,new TypeError("Promise.race must be called with an array")),i;for(let r=0;i._state===Wl&&rYl(i,t),t=>Ql(i,t));return i},lu.resolve=Gl,lu.reject=function(t,e){let n=new this(Vl,e);return Ql(n,t),n},lu.prototype._guidKey=ou,lu.prototype.then=iu;class pu extends ru{constructor(t,e,n){super(t,e,!1,n)}}function fu(t,e){return Array.isArray(t)?new pu(lu,t,e).promise:lu.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function gu(t,e){return lu.race(t,e)}pu.prototype._setResultAt=su;class mu extends ru{constructor(t,e,n=!0,i){super(t,e,n,i)}_init(t,e){this._result={},this._enumerate(e)}_enumerate(t){let e,n,i=Object.keys(t),r=i.length,s=this.promise;this._remaining=r;for(let o=0;s._state===Wl&&o{throw t}),t}function wu(t){let e={resolve:void 0,reject:void 0};return e.promise=new lu((t,n)=>{e.resolve=t,e.reject=n},t),e}_u.prototype._setResultAt=su;class xu extends ru{constructor(t,e,n,i){super(t,e,!0,i,n)}_init(t,e,n,i,r){let s=e.length||0;this.length=s,this._remaining=s,this._result=new Array(s),this._mapFn=r,this._enumerate(e)}_setResultAt(t,e,n,i){if(i)try{this._eachEntry(this._mapFn(n,e),e,!1)}catch(pD){this._settledAt(Kl,e,pD,!1)}else this._remaining--,this._result[e]=n}}function Su(t,e,n){return"function"!=typeof e?lu.reject(new TypeError("map expects a function as a second argument"),n):lu.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new xu(lu,t,e,n).promise})}function Eu(t,e){return lu.resolve(t,e)}function Cu(t,e){return lu.reject(t,e)}const ku={};class Tu extends xu{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==ku);Jl(this.promise,t),this._result=null}}_setResultAt(t,e,n,i){if(i){this._result[e]=n;let t,i=!0;try{t=this._mapFn(n,e)}catch(pD){i=!1,this._settledAt(Kl,e,pD,!1)}i&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=ku)}}function Ru(t,e,n){return"function"!=typeof e?lu.reject(new TypeError("filter expects function as a second argument"),n):lu.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new Tu(lu,t,e,n).promise})}let Pu,Mu=0;function Iu(t,e){ju[Mu]=t,ju[Mu+1]=e,Mu+=2,2===Mu&&Uu()}const Ou="undefined"!=typeof window?window:void 0,Au=Ou||{},Fu=Au.MutationObserver||Au.WebKitMutationObserver,Lu="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Nu="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function Du(){return()=>setTimeout(zu,1)}const ju=new Array(1e3);function zu(){for(let t=0;tt(zu)}():Fu?function(){let t=0,e=new Fu(zu),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():Nu?function(){let t=new MessageChannel;return t.port1.onmessage=zu,()=>t.port2.postMessage(0)}():void 0===Ou&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Pu=t.runOnLoop||t.runOnContext,void 0!==Pu?function(){Pu(zu)}:Du()}catch(t){return Du()}}():Du(),Ul.async=Iu,Ul.after=t=>setTimeout(t,0);const Bu=Eu,qu=(t,e)=>Ul.async(t,e);function $u(){Ul.on(...arguments)}function Gu(){Ul.off(...arguments)}if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){let t=window.__PROMISE_INSTRUMENTATION__;Bl("instrument",!0);for(let e in t)t.hasOwnProperty(e)&&$u(e,t[e])}const Vu={asap:Iu,cast:Bu,Promise:lu,EventTarget:zl,all:du,allSettled:fu,race:gu,hash:yu,hashSettled:vu,rethrow:bu,defer:wu,denodeify:hu,configure:Bl,on:$u,off:Gu,resolve:Eu,reject:Cu,map:Su,async:qu,filter:Ru},Wu=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:zl,Promise:lu,all:du,allSettled:fu,asap:Iu,async:qu,cast:Bu,configure:Bl,default:Vu,defer:wu,denodeify:hu,filter:Ru,hash:yu,hashSettled:vu,map:Su,off:Gu,on:$u,race:gu,reject:Cu,resolve:Eu,rethrow:bu},Symbol.toStringTag,{value:"Module"}));function Hu(t){let e=function(t){if(!t)return;let e=t;return e.errorThrown?function(t){let e=t.errorThrown;return"string"==typeof e&&(e=new Error(e)),Object.defineProperty(e,"__reason_with_error_thrown__",{value:t,enumerable:!1}),e}(e):"UnrecognizedURLError"!==t.name&&"TransitionAborted"!==t.name?t:void 0}(t);if(e)throw e}Bl("async",(t,e)=>{Qo.schedule("actions",null,t,e)}),Bl("after",t=>{Qo.schedule(Zo,null,t)}),$u("error",Hu);const{isArray:Ku}=Array;function Xu(t){return null==t?[]:Ku(t)?t:[t]}function Yu(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const Zu=xl.prototype.reopen,Ju=new WeakSet,Qu=new WeakMap,th=new Set;function eh(t){th.has(t)||t.destroy()}function nh(t,e){let n=Ht(t);if(void 0!==e){let i=t.concatenatedProperties,r=t.mergedProperties,s=Object.keys(e);for(let o of s){let s=e[o],a=mr(t,o,n),l=void 0!==a;if(!l){if(void 0!==i&&i.length>0&&i.includes(o)){let e=t[o];s=e?Xu(e).concat(s):Xu(s)}if(void 0!==r&&r.length>0&&r.includes(o)){let e=t[o];s=Object.assign({},e,s)}}l?a.set(t,o,s):Yu(t)&&!(o in t)?t.setUnknownProperty(o,s):t[o]=s}}t.init(e),n.unsetInitializing();let i=n.observerEvents();if(void 0!==i)for(let r=0;rn.willDestroy()),Ht(e).setInitializing()}reopen(...t){return bl(this,t),this}init(t){}get isDestroyed(){return Nt(this)}set isDestroyed(t){}get isDestroying(){return Lt(this)}set isDestroying(t){}destroy(){th.add(this);try{At(this)}finally{th.delete(this)}return this}willDestroy(){}toString(){let t="object"==typeof this&&null!==this&&"function"==typeof this.toStringExtension?`:${this.toStringExtension()}`:"";return`<${nl(this)||"(unknown)"}:${U(this)}${t}>`}static extend(...t){let e=class extends(this){};return Zu.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(Yi(n)),il(e,nl(n))):e=new this,t.length<=1?nh(e,n):nh(e,rh.apply(this,t)),e}static reopen(...t){return this.willReopen(),Zu.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;Ju.has(t)&&(Ju.delete(t),Qu.has(this)&&Qu.set(this,xl.create(this.PrototypeMixin)))}static reopenClass(...t){return bl(this,t),this}static detect(t){if("function"!=typeof t)return!1;for(;t;){if(t===this)return!0;t=t.superclass}return!1}static detectInstance(t){return t instanceof this}static metaForProperty(t){return mr(this.proto(),t)._meta||{}}static eachComputedProperty(t,e=this){this.proto();let n={};Ht(this.prototype).forEachDescriptors((i,r)=>{if(r.enumerable){let s=r._meta||n;t.call(e,i,s)}})}static get PrototypeMixin(){let t=Qu.get(this);return void 0===t&&(t=xl.create(),t.ownerConstructor=this,Qu.set(this,t)),t}static get superclass(){let t=Object.getPrototypeOf(this);return t!==Function.prototype?t:void 0}static proto(){let t=this.prototype;if(!Ju.has(t)){Ju.add(t);let e=this.superclass;e&&e.proto(),Qu.has(this)&&this.PrototypeMixin.apply(t)}return t}static toString(){return`<${nl(this)||"(unknown)"}:constructor>`}static isClass=!0;static isMethod=!1;static _onLookup;static _lazyInjections}function rh(...t){let e={};for(let n of t){let t=Object.keys(n);for(let i=0,r=t.length;is.push(t));return J(e,{paths:s,sync:i}),e},set:bs,setProperties:js,trySet:xs},Symbol.toStringTag,{value:"Module"}));function ph(t){if(!(t instanceof MouseEvent))return!1;let e=t.shiftKey||t.metaKey||t.altKey||t.ctrlKey,n=t.which>1;return!e&&!n}function fh(t){return'Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see https://deprecations.emberjs.com/v1.x/#toc_binding-style-attributes. Style affected: "'+t+'"'}function gh(t){let e=t.lookup("-view-registry:main"),n=[];return Object.keys(e).forEach(t=>{let i=e[t];null===i.parentView&&n.push(i)}),n}function mh(t){return""!==t.tagName&&t.elementId?t.elementId:U(t)}const yh=new WeakMap,_h=new WeakMap;function vh(t){return yh.get(t)||null}function bh(t){return _h.get(t)||null}function wh(t,e){yh.set(t,e)}function xh(t,e){_h.set(t,e)}function Sh(t){yh.delete(t)}function Eh(t){_h.delete(t)}const Ch=new WeakMap;function kh(t){return function(t,e){let n=[],i=Ch.get(t);return void 0!==i&&i.forEach(t=>{let i=e[t];!i||i.isDestroying||i.isDestroyed||n.push(i)}),n}(t,Yi(t).lookup("-view-registry:main"))}function Th(t,e){let n=Ch.get(t);void 0===n&&(n=function(t){let e=new Set;return Ch.set(t,e),e}(t)),n.add(mh(e))}function Rh(t){return t.renderer.getBounds(t)}function Ph(t){let e=Rh(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Mh(t){return Ph(t).getClientRects()}function Ih(t){return Ph(t).getBoundingClientRect()}const Oh="ember-application";class Ah extends lh{events={touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",focusin:"focusIn",focusout:"focusOut",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"};rootElement="body";_eventHandlers=Object.create(null);_didSetup=!1;finalEventNameMapping=null;_sanitizedRootElement=null;lazyEvents=new Map;_reverseEventNameMapping=null;setup(t,e){let n=this.finalEventNameMapping={...us(this,"events"),...t};this._reverseEventNameMapping=Object.keys(n).reduce((t,e)=>{let i=n[e];return i?{...t,[i]:e}:t},{});let i=this.lazyEvents;null!=e&&bs(this,"rootElement",e);let r=us(this,"rootElement"),s="string"!=typeof r?r:document.querySelector(r);s.classList.add(Oh),this._sanitizedRootElement=s;for(let o in n)Object.prototype.hasOwnProperty.call(n,o)&&i.set(o,n[o]??null);this._didSetup=!0}setupHandlerForBrowserEvent(t){this.setupHandler(this._sanitizedRootElement,t,this.finalEventNameMapping[t]??null)}setupHandlerForEmberEvent(t){let e=this._reverseEventNameMapping?.[t];e&&this.setupHandler(this._sanitizedRootElement,e,t)}setupHandler(t,e,n){if(null===n||!this.lazyEvents.has(e))return;let i=(t,e)=>{let i=vh(t),r=!0;return i&&(r=i.handleEvent(n,e)),r},r=this._eventHandlers[e]=t=>{let e=t.target;do{if(vh(e)){if(!1===i(e,t)){t.preventDefault(),t.stopPropagation();break}if(!0===t.cancelBubble)break}e=e.parentNode}while(e instanceof Element)};t.addEventListener(e,r),this.lazyEvents.delete(e)}destroy(){if(!1===this._didSetup)return;let t=this._sanitizedRootElement;if(t){for(let e in this._eventHandlers)t.removeEventListener(e,this._eventHandlers[e]);return t.classList.remove(Oh),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const Fh=xl.create({on(t,e,n){return Er(this,t,e,n),this},one(t,e,n){return Er(this,t,e,n,!0),this},trigger(t,...e){kr(this,t,e)},off(t,e,n){return Cr(this,t,e,n),this},has(t){return Tr(this,t)}}),Lh=Object.freeze(Object.defineProperty({__proto__:null,default:Fh,on:Rr},Symbol.toStringTag,{value:"Module"}));let Nh=class extends lh{},Dh=[],jh={};const zh=(()=>{let t="undefined"!=typeof window&&window.performance||{},e=t.now||t.mozNow||t.webkitNow||t.msNow||t.oNow;return e?e.bind(t):Date.now})();function Uh(t,e,n){return n()}function Bh(){}function qh(t,e,n){if(0===Dh.length)return Bh;let i=jh[t];if(i||(i=function(t){let e=[];for(let n of Dh)n.regex.test(t)&&e.push(n.object);return jh[t]=e,e}(t)),0===i.length)return Bh;let r,s=e(n),o=g.STRUCTURED_PROFILE;o&&(r=`${t}: ${s.object}`,console.time(r));let a=[],l=zh();for(let h of i)a.push(h.before(t,l,s));const u=i;return function(){let e=zh();for(let n=0;na);return l===Bh?s.call(o):function(t,e,n,i){try{return t.call(i)}catch(r){throw n.exception=r,r}finally{e()}}(s,l,a,o)},reset:function(){Dh.length=0,jh={}},subscribe:function(t,e){let n=t.split("."),i=[];for(let o of n)"*"===o?i.push("[^\\.]*"):i.push(o);let r=i.join("\\.");r=`${r}(\\..*)?`;let s={pattern:t,regex:new RegExp(`^${r}$`),object:e};return Dh.push(s),jh={},s},subscribers:Dh,unsubscribe:function(t){let e=0;for(let n=0;n!0,rerender(){},destroy(){}}),Vh=Object.freeze({...Gh}),Wh=Object.freeze({...Gh,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||Uh(0,0,()=>ea(t,t.trigger,e,n))}),Hh=Object.freeze({...Wh,enter(t){t.renderer.register(t)}}),Kh=Object.freeze({...Gh,appendChild(){throw new Error("You can't call appendChild on a view being destroyed")},rerender(){throw new Error("You can't call rerender on a view being destroyed")}}),Xh=Object.freeze({preRender:Vh,inDOM:Hh,hasElement:Wh,destroying:Kh});var Yh=Object.defineProperty;((t,e)=>{for(var n in e)Yh(t,n,{get:e[n],enumerable:!0})})({},{c:()=>ic,f:()=>Jh,g:()=>Qh,i:()=>nc,m:()=>tc,n:()=>ec,p:()=>rc});var Zh=new WeakMap;function Jh(t,e,n,i){return Qh(t.prototype,e,n,i)}function Qh(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=Zh.get(t);i||(i=new Map,Zh.set(t,i)),i.set(e,n)}(t,e,r)}function tc({prototype:t},e,n){return ec(t,e,n)}function ec(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function nc(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Zh.get(n)?.get(e);if(t)return t;n=n.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}function ic(t,e){return e.reduce((t,e)=>e(t)||t,t)}function rc(t,e){for(let[n,i,r]of e)"field"===n?sc(t,i,r):ec(t,i,r);return t}function sc(t,e,n){let i={configurable:!0,enumerable:!0,writable:!0,initializer:()=>Object.getOwnPropertyDescriptor(t,e)?.value};for(let r of n)i=r(t,e,i)||i;i.initializer&&(i.value=i.initializer.call(t),delete i.initializer),Object.defineProperty(t,e,i)}class oc extends(Nh.extend(Fh,Ml)){isView=!0;_superTrigger;_superHas;init(t){super.init(t),this._superTrigger=this.trigger,this.trigger=this._trigger,this._superHas=this.has,this.has=this._has,this.parentView??=null,this._state="preRender",this._currentState=this._states.preRender}static{Qh(this.prototype,"renderer",[ms("renderer","-dom")])}#l=void nc(this,"renderer");instrumentDetails(t){return t.object=this.toString(),t.containerKey=this._debugContainerKey,t.view=this,t}_trigger(t,...e){this._superTrigger(t,...e);let n=this[t];if("function"==typeof n)return n.apply(this,e)}_has(t){return"function"==typeof this[t]||this._superHas(t)}static isViewFactory=!0}oc.prototype._states=Xh;const ac=xl.create({send(t,...e){let n=this.actions&&this.actions[t];if(n&&!0!==n.apply(this,e))return;let i=us(this,"target");i&&i.send(...arguments)}}),lc={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object AsyncFunction]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object","[object FileList]":"filelist"},{toString:uc}=Object.prototype;function hc(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=lc[uc.call(t)]||"object";return"function"===e?ih.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof ih?e="instance":t instanceof Date&&(e="date")),e}const cc={undefined:0,null:1,boolean:2,number:3,string:4,array:5,object:6,instance:7,function:8,class:9,date:10,regexp:11,filelist:12,error:13};function dc(t,e){return Math.sign(t-e)}function pc(t,e){if(t===e)return 0;let n=hc(t),i=hc(e);if("instance"===n&&fc(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===i&&fc(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let r=dc(cc[n],cc[i]);if(0!==r)return r;switch(n){case"boolean":return dc(Number(t),Number(e));case"number":return dc(t,e);case"string":return dc(t.localeCompare(e),0);case"array":{let n=t.length,i=e.length,r=Math.min(n,i);for(let s=0;st;function yc(t,e=mc){let n=Ac(),i=new Set,r="function"==typeof e?e:t=>us(t,e);return t.forEach(t=>{let e=r(t);i.has(e)||(i.add(e),n.push(t))}),n}function _c(...t){let e=2===t.length,[n,i]=t;return e?t=>i===us(t,n):t=>Boolean(us(t,n))}function vc(t,e,n){let i=t.length;for(let r=n;r!i(t,e,n),0)}function Sc(t,e,n=0,i){let r=t.length;return n<0&&(n+=r),vc(t,i&&e!=e?t=>t!=t:t=>t===e,n)}function Ec(t,e,n){return Is(t,e,n??1,gc),t}function Cc(t,e,n){return Is(t,e,0,[n]),n}function kc(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||Pc.detect(t))return!0;let e=hc(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function Tc(t){let e=Qr(t);return e.enumerable=!1,e}function Rc(t){return this.map(e=>us(e,t))}const Pc=xl.create(Fl,{init(){this._super(...arguments),$i.add(this)},objectsAt(t){return t.map(t=>Ji(this,t))},"[]":Tc({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:Tc(function(){return Ji(this,0)}).readOnly(),lastObject:Tc(function(){return Ji(this,this.length-1)}).readOnly(),slice(t=0,e){let n,i=Ac(),r=this.length;for(t<0&&(t=r+t),n=void 0===e||e>r?r:e<0?r+e:e;t=n)&&(e=n-1),e<0&&(e+=n);for(let i=e;i>=0;i--)if(Ji(this,i)===t)return i;return-1},forEach(t,e=null){let n=this.length;for(let i=0;ibs(n,t,e))},map(t,e=null){let n=Ac();return this.forEach((i,r,s)=>n[r]=t.call(e,i,r,s)),n},mapBy:Rc,filter(t,e=null){let n=Ac();return this.forEach((i,r,s)=>{t.call(e,i,r,s)&&n.push(i)}),n},reject(t,e=null){return this.filter(function(){return!t.apply(e,arguments)})},filterBy(){return this.filter(_c(...arguments))},rejectBy(){return this.reject(_c(...arguments))},find(t,e=null){return bc(this,t,e)},findBy(){return bc(this,_c(...arguments))},every(t,e=null){return xc(this,t,e)},isEvery(){return xc(this,_c(...arguments))},any(t,e=null){return wc(this,t,e)},isAny(){return wc(this,_c(...arguments))},reduce(t,e){let n=e;return this.forEach(function(e,i){n=t(n,e,i,this)},this),n},invoke(t,...e){let n=Ac();return this.forEach(i=>n.push(i[t]?.(...e))),n},toArray(){return this.map(t=>t)},compact(){return this.filter(t=>null!=t)},includes(t,e){return-1!==Sc(this,t,e,!0)},sortBy(){let t=arguments;return this.toArray().sort((e,n)=>{for(let i=0;ie!==t:t=>t==t;return this.filter(e)}}),Mc=xl.create(Pc,Ll,{clear(){let t=this.length;return 0===t||this.replace(0,t,gc),this},insertAt(t,e){return Cc(this,t,e),this},removeAt(t,e){return Ec(this,t,e)},pushObject(t){return Cc(this,this.length,t)},pushObjects(t){return this.replace(this.length,0,t),this},popObject(){let t=this.length;if(0===t)return null;let e=Ji(this,t-1);return this.removeAt(t-1,1),e},shiftObject(){if(0===this.length)return null;let t=Ji(this,0);return this.removeAt(0),t},unshiftObject(t){return Cc(this,0,t)},unshiftObjects(t){return this.replace(0,0,t),this},reverseObjects(){let t=this.length;if(0===t)return this;let e=this.toArray().reverse();return this.replace(0,t,e),this},setObjects(t){if(0===t.length)return this.clear();let e=this.length;return this.replace(0,e,t),this},removeObject(t){let e=this.length||0;for(;--e>=0;)Ji(this,e)===t&&this.removeAt(e);return this},removeObjects(t){Wr();for(let e=t.length-1;e>=0;e--)this.removeObject(t[e]);return Hr(),this},addObject(t){return this.includes(t)||this.pushObject(t),this},addObjects(t){return Wr(),t.forEach(t=>this.addObject(t)),Hr(),this}});let Ic=xl.create(Mc,oh,{objectAt(t){return this[t]},replace(t,e,n=gc){return As(this,t,e,n),this}});const Oc=["length"];let Ac;Ic.keys().forEach(t=>{Array.prototype[t]&&Oc.push(t)}),Ic=Ic.without(...Oc),Ac=function(t){return Gi(t)?t:Ic.apply(t??[])};const Fc=Object.freeze(Object.defineProperty({__proto__:null,get A(){return Ac},MutableArray:Mc,get NativeArray(){return Ic},default:Pc,isArray:kc,makeArray:Xu,removeAt:Ec,uniqBy:yc},Symbol.toStringTag,{value:"Module"})),Lc=ht("MODEL"),Nc=xl.create(Ml,{isController:!0,concatenatedProperties:["queryParams"],target:null,store:null,init(){this._super(...arguments);let t=Yi(this);t&&(this.namespace=t.lookup("application:main"),this.target=t.lookup("router:main"))},model:Qr({get(){return this[Lc]},set(t,e){return this[Lc]=e}}),queryParams:null,_qpDelegate:null,_qpChanged(t,e){let n=e.indexOf(".[]"),i=-1===n?e:e.slice(0,n);(0,t._qpDelegate)(i,us(t,i))}});class Dc extends(Nh.extend(Nc)){}const jc=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:Nc,default:Dc,inject:function(...t){return ms("controller",...t)}},Symbol.toStringTag,{value:"Module"})),zc=Symbol("ENGINE_PARENT");function Uc(t){return t[zc]}class Bc extends(lh.extend(kl,Rl)){static setupRegistry(t,e){}[zc];_booted=!1;init(t){super.init(t),U(this),this.base??=this.application;let e=this.__registry__=new ol({fallback:this.base.__registry__});this.__container__=e.container({owner:this}),this._booted=!1}_bootPromise=null;boot(t){return this._bootPromise||(this._bootPromise=new Wu.Promise(e=>{e(this._bootSync(t))})),this._bootPromise}_bootSync(t){return this._booted||(this.cloneParentDependencies(),this.setupRegistry(t),this.base.runInstanceInitializers(this),this._booted=!0),this}setupRegistry(t=this.__container__.lookup("-environment:main")){this.constructor.setupRegistry(this.__registry__,t)}unregister(t){this.__container__.reset(t),this.__registry__.unregister(t)}buildChildEngineInstance(t,e={}){let n=this.lookup(`engine:${t}`);if(!n)throw new Error(`You attempted to mount the engine '${t}', but it is not registered with its parent.`);let i=n.buildInstance(e);return i[zc]=this,i}cloneParentDependencies(){const t=Uc(this);["route:basic","service:-routing"].forEach(e=>{let n=t.resolveRegistration(e);this.register(e,n)});let e=t.lookup("-environment:main");this.register("-environment:main",e,{instantiate:!1});let n=["router:main",ul`-bucket-cache:main`,"-view-registry:main","renderer:-dom","service:-document"];e.isInteractive&&n.push("event_dispatcher:main"),n.forEach(e=>{let n=t.lookup(e);this.register(e,n,{instantiate:!1})})}}let qc=function(t,e,n){let{get:i}=n;return void 0!==i&&(n.get=function(){let t,n=Ve(this,e),r=Ie(()=>{t=i.call(this)});return ne(n,r),Se(r),t}),n};function $c(...t){if(lr(t)){let[e,n,i]=t;return qc(0,n,i)}{const e=t[0];let n=function(t,n){return qc(0,n,e)};return vr(n),n}}vr($c);var Gc=Object.create;function Vc(){var t=Gc(null);return t.__=void 0,delete t.__,t}var Wc=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};Wc.prototype.to=function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}};var Hc=function(t){this.routes=Vc(),this.children=Vc(),this.target=t};function Kc(t,e,n){return function(i,r){var s=t+i;if(!r)return new Wc(s,e,n);r(Kc(s,e,n))}}function Xc(t,e,n){for(var i=0,r=0;r0&&47===e.charCodeAt(0)&&(e=e.substr(1));for(var i=e.split("/"),r=void 0,s=void 0,o=0;o2&&"[]"===s.slice(o-2)&&(a=!0,n[s=s.slice(0,o-2)]||(n[s]=[])),l=r[1]?yd(r[1]):""),a?n[s].push(l):n[s]=l}return n},_d.prototype.recognize=function(t){var e,n=[this.rootState],i={},r=!1,s=t.indexOf("#");-1!==s&&(t=t.substr(0,s));var o=t.indexOf("?");if(-1!==o){var a=t.substr(o+1,t.length);t=t.substr(0,o),i=this.parseQueryString(a)}"/"!==t.charAt(0)&&(t="/"+t);var l=t;_d.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Zc(t):(t=decodeURI(t),l=decodeURI(l));var u=t.length;u>1&&"/"===t.charAt(u-1)&&(t=t.substr(0,u-1),l=l.substr(0,l.length-1),r=!0);for(var h=0;h0){let r=t[i-1];if(function(t){if(t&&"object"==typeof t){let e=t;return"queryParams"in e&&Object.keys(e.queryParams).every(t=>"string"==typeof t)}return!1}(r))return n=r.queryParams,e=wd.call(t,0,i-1),[e,n]}return[t,null]}function Cd(t){for(let e in t){let n=t[e];if("number"==typeof n)t[e]=""+n;else if(Array.isArray(n))for(let t=0,e=n.length;t{throw this.router.transitionDidError(t,this)},Id("Handle Abort"))}else this.promise=lu.resolve(this[Od]),this[Ad]={}}then(t,e,n){return this.promise.then(t,e,n)}catch(t,e){return this.promise.catch(t,e)}finally(t,e){return this.promise.finally(t,e)}abort(){this.rollback();let t=new Nd(this.router,void 0,void 0,void 0);return t.to=this.from,t.from=this.from,t.isAborted=!0,this.router.routeWillChange(t),this.router.routeDidChange(t),this}rollback(){this.isAborted||(kd(this.router,this.sequence,this.targetName+": transition was aborted"),void 0!==this.intent&&null!==this.intent&&(this.intent.preTransitionState=this.router.state),this.isAborted=!0,this.isActive=!1,this.router.activeTransition=void 0)}redirect(t){this[Ld]=t,this.rollback(),this.router.routeWillChange(t)}retry(){this.abort();let t=this.router.transitionByIntent(this.intent,!1);return null!==this.urlMethod&&t.method(this.urlMethod),t}method(t){return this.urlMethod=t,this}send(t=!1,e,n,i,r){this.trigger(t,e,n,i,r)}trigger(t=!1,e,...n){"string"==typeof t&&(e=t,t=!1),this.router.triggerEvent(this[Od].routeInfos.slice(0,this.resolveIndex+1),t,e,n)}followRedirects(){return this.promise.catch(t=>this[Ld]?this[Ld].followRedirects():lu.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){kd(this.router,this.sequence,t)}}function Dd(t){return kd(t.router,t.sequence,"detected abort."),vd()}function jd(t){return"object"==typeof t&&t instanceof Nd&&t.isTransition}const zd=function(){function t(e){let n=Error.call(this,e);this.name="UnrecognizedURLError",this.message=e||"UnrecognizedURL",Error.captureStackTrace?Error.captureStackTrace(this,t):this.stack=n.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function Ud(t,e){let n=t.factoryFor("controller:basic").class;n=class extends n{toString(){return`(generated ${e} controller)`}};let i=`controller:${e}`;return t.register(i,n),t.factoryFor(i)}function Bd(t,e){Ud(t,e);let n=`controller:${e}`;return t.lookup(n)}const qd=/\./g;function $d(t){let e,n,i=(t=t.slice())[t.length-1];return function(t){if(t&&"object"==typeof t){let e=t.queryParams;if(e&&"object"==typeof e)return Object.keys(e).every(t=>"string"==typeof t)}return!1}(i)?(t.pop(),e=i.queryParams):e={},"string"==typeof t[0]&&(n=t.shift()),{routeName:n,models:t,queryParams:e}}function Gd(t,e){if(e._namesStashed)return;let n,i=e[e.length-1].name,r=t._routerMicrolib.recognizer.handlersFor(i);for(let s=0;s(t[e]=n,t),s)}serializeQueryParamKey(t){return t}serializeQueryParam(t,e,n){return this._router._serializeQueryParam(t,n)}deserializeQueryParam(t,e,n){return this._router._deserializeQueryParam(t,n)}_optionsForQueryParam(t){const e=us(this,"queryParams");return us(e,t.urlKey)||us(e,t.prop)||e[t.urlKey]||e[t.prop]||{}}resetController(t,e,n){return this}exit(t){this.deactivate(t),this.trigger("deactivate",t),this.teardownViews()}_internalReset(t,e){let n=this.controller;n._qpDelegate=us(this,"_qp").states.inactive,this.resetController(n,t,e)}enter(t){this[Zd]=void 0,this.activate(t),this.trigger("activate",t)}deactivate(t){}activate(t){}intermediateTransitionTo(...t){let[e,...n]=function(t,e){let n,i=Yi(t),r=i.mountPoint;if(i.routable&&"string"==typeof e[0]){if(n=e[0],Kd(n))throw new Error("Programmatic transitions by URL cannot be used within an Engine. Please use the route name instead.");n=`${r}.${n}`,e[0]=n}return e}(this,t);this._router.intermediateTransitionTo(e,...n)}refresh(){return this._router._routerMicrolib.refresh(this)}setup(t,e){let n=this.controllerName||this.routeName,i=this.controllerFor(n,!0)??this.generateController(n),r=us(this,"_qp");if(!this.controller){let t=r.propertyNames;!function(t,e){e.forEach(e=>{if(void 0===mr(t,e)){let n=it(t,e);null===n||"function"!=typeof n.get&&"function"!=typeof n.set||ns(t,e,$c({get:n.get,set:n.set}))}Or(t,`${e}.[]`,t,t._qpChanged,!1)})}(i,t),this.controller=i}let s=r.states;if(i._qpDelegate=s.allowOverrides,e){Gd(this._router,e[Od].routeInfos);let t=this._bucketCache,n=e[Ad];r.propertyNames.forEach(e=>{let s=r.map[e];s.values=n;let o=Wd(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);bs(i,e,a)});let s=ep(this,e[Od]);js(i,s)}this.setupController(i,t,e),this._environment.options.shouldRender&&this[Yd](),Ur(!1)}_qpChanged(t,e,n){if(!n)return;let i=this._bucketCache,r=Wd(n.route.fullRouteName,n.parts,n.values);i.stash(r,t,e)}beforeModel(t){}afterModel(t,e){}redirect(t,e){}contextDidChange(){this.currentModel=this.context}model(t,e){let n,i,r=us(this,"_qp").map;for(let s in t){if("queryParams"===s||r&&s in r)continue;let t=s.match(/^(.*)_id$/);null!==t&&(n=t[1]),i=!0}if(!n){if(i)return Object.assign({},t);if(e.resolveIndex<1)return;return e[Od].routeInfos[e.resolveIndex-1].context}}deserialize(t,e){return this.model(this._paramsFor(this.routeName,t),e)}setupController(t,e,n){t&&void 0!==e&&bs(t,"model",e)}controllerFor(t,e=!1){let n=Yi(this),i=n.lookup(`route:${t}`);return i&&i.controllerName&&(t=i.controllerName),n.lookup(`controller:${t}`)}generateController(t){return Bd(Yi(this),t)}modelFor(t){let e,n=Yi(this),i=this._router&&this._router._routerMicrolib?this._router._routerMicrolib.activeTransition:void 0;e=n.routable&&void 0!==i?ip(n,t):t;let r=n.lookup(`route:${e}`);if(null!=i){let t=r&&r.routeName||e;if(Object.prototype.hasOwnProperty.call(i.resolvedModels,t))return i.resolvedModels[t]}return r?.currentModel}[Zd]=void 0;[Yd](){this[Zd]=function(t){let e,n=Yi(t),i=t.routeName,r=n.lookup(`controller:${t.controllerName||i}`),s=t.currentModel,o=n.lookup(`template:${t.templateName||i}`);return e=o?xi(o)?o:o(n):t._topLevelViewTemplate(n),{owner:n,name:i,controller:r,model:s,template:e}}(this),ra(this._router,"_setOutlets")}willDestroy(){this.teardownViews()}teardownViews(){this[Zd]&&(this[Zd]=void 0,ra(this._router,"_setOutlets"))}buildRouteInfoMetadata(){}_paramsFor(t,e){return void 0!==this._router._routerMicrolib.activeTransition?this.paramsFor(t):e}get _store(){const t=Yi(this);return this.routeName,{find(e,n){let i=t.factoryFor(`model:${e}`);if(i)return i=i.class,i.find(n)}}}static{ec(this.prototype,"_store",[Qr])}get _qp(){let t={},e=this.controllerName||this.routeName,n=Yi(this),i=n.lookup(`controller:${e}`),r=us(this,"queryParams"),s=Object.keys(r).length>0;i?t=function(t,e){let n={},i={defaultValue:!0,type:!0,scope:!0,as:!0};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]={...t[r],...e[r]},i[r]=!0);for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&!i[r]&&(n[r]={...e[r],...t[r]});return n}(function(t){let e={};for(let n of t)Hd(n,e);return e}(us(i,"queryParams")||[]),r):s&&(i=Bd(n,e),t=r);let o=[],a={},l=[];for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;if("unknownProperty"===u||"_super"===u)continue;let n,r=t[u],s=r.scope||"model";"controller"===s&&(n=[]);let h=r.as||this.serializeQueryParamKey(u),c=us(i,u);c=np(c);let d=r.type||hc(c),p=this.serializeQueryParam(c,h,d),f=`${e}:${u}`,g={undecoratedDefaultValue:us(i,u),defaultValue:c,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:h,prop:u,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[u]=a[h]=a[f]=g,o.push(g),l.push(u)}return{qps:o,map:a,propertyNames:l,states:{inactive:(t,e)=>{let n=a[t];this._qpChanged(t,e,n)},active:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._activeQPChanged(n,e)},allowOverrides:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._updatingQPChanged(n)}}}}static{ec(this.prototype,"_qp",[Qr])}}function Qd(t){return t[Zd]}function tp(t,e){if(e.fullQueryParams)return e.fullQueryParams;let n=e.routeInfos.every(t=>t.route),i={...e.queryParams};return t._deserializeQueryParams(e.routeInfos,i),n&&(e.fullQueryParams=i),i}function ep(t,e){e.queryParamsFor=e.queryParamsFor||{};let n=t.fullRouteName,i=e.queryParamsFor[n];if(i)return i;let r=tp(t._router,e),s=e.queryParamsFor[n]={},o=us(t,"_qp").qps;for(let a of o){let t=a.prop in r;s[a.prop]=t?r[a.prop]:np(a.defaultValue)}return s}function np(t){return Array.isArray(t)?Ac(t.slice()):t}function ip(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const rp=Jd.prototype.serialize;Jd.reopen({mergedProperties:["queryParams"],queryParams:{},templateName:null,controllerName:null,send(...t){if(this._router&&this._router._routerMicrolib||!v())this._router.send(...t);else{let e=t.shift(),n=this.actions[e];if(n)return n.apply(this,t)}},actions:{queryParamsDidChange(t,e,n){let i=us(this,"_qp").map,r=Object.keys(t).concat(Object.keys(n));for(let s of r){let t=i[s];if(t&&us(this._optionsForQueryParam(t),"refreshModel")&&this._router.currentState){this.refresh();break}}return!0},finalizeQueryParamChange(t,e,n){if("application"!==this.fullRouteName)return!0;if(!n)return;let i,r=n[Od].routeInfos,s=this._router,o=s._queryParamsFor(r),a=s._qpUpdates,l=!1;Gd(s,r);for(let u of o.qps){let r,s,o=u.route,h=o.controller,c=u.urlKey in t&&u.urlKey;if(a.has(u.urlKey)?(r=us(h,u.prop),s=o.serializeQueryParam(r,u.urlKey,u.type)):c?(s=t[c],void 0!==s&&(r=o.deserializeQueryParam(s,u.urlKey,u.type))):(s=u.serializedDefaultValue,r=np(u.defaultValue)),h._qpDelegate=us(o,"_qp").states.inactive,s!==u.serializedValue){if(n.queryParamsOnly&&!1!==i){let t=us(o._optionsForQueryParam(u),"replace");t?i=!0:!1===t&&(i=!1)}bs(h,u.prop,r),l=!0}u.serializedValue=s,u.serializedDefaultValue===s||e.push({value:s,visible:!0,key:c||u.urlKey})}!0===l&&Ur(!1),i&&n.method("replace"),o.qps.forEach(t=>{let e=us(t.route,"_qp");t.route.controller._qpDelegate=us(e,"states.active")}),s._qpUpdates.clear()}}});class sp{cache;constructor(){this.cache=new Map}has(t){return this.cache.has(t)}stash(t,e,n){let i=this.cache.get(t);void 0===i&&(i=new Map,this.cache.set(t,i)),i.set(e,n)}lookup(t,e,n){if(!this.has(t))return n;let i=this.cache.get(t);return i.has(e)?i.get(e):n}}let op=0;function ap(t){return"function"==typeof t}class lp{parent;matches;enableLoadingSubstates;explicitIndex=!1;options;constructor(t=null,e){this.parent=t,this.enableLoadingSubstates=Boolean(e&&e.enableLoadingSubstates),this.matches=[],this.options=e}route(t,e,n){let i,r=null,s=`/_unused_dummy_error_path_route_${t}/:error`;if(ap(e)?(i={},r=e):ap(n)?(i=e,r=n):i=e||{},this.enableLoadingSubstates&&(hp(this,`${t}_loading`,{resetNamespace:i.resetNamespace}),hp(this,`${t}_error`,{resetNamespace:i.resetNamespace,path:s})),r){let e=up(this,t,i.resetNamespace),n=new lp(e,this.options);hp(n,"loading"),hp(n,"error",{path:s}),r.call(n),hp(this,t,i,n.generate())}else hp(this,t,i)}push(t,e,n,i){let r=e.split(".");if(this.options.engineInfo){let t=e.slice(this.options.engineInfo.fullName.length+1),n=Object.assign({localFullName:t},this.options.engineInfo);i&&(n.serializeMethod=i),this.options.addRouteForEngine(e,n)}else if(i)throw new Error(`Defining a route serializer on route '${e}' outside an Engine is not allowed.`);""!==t&&"/"!==t&&"index"!==r[r.length-1]||(this.explicitIndex=!0),this.matches.push(t,e,n)}generate(){let t=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),e=>{for(let n=0;n0){let r=Object.assign({},n);return this.emberRouter._prepareQueryParams(t,e,r),Xd(r,i.queryParams)}return!0}}let dp=new WeakMap;function pp(t,e={},n={includeAttributes:!1,localizeMapUpdates:!1}){const i=new WeakMap;return t.map((r,s)=>{let{name:o,params:a,paramNames:l,context:u,route:h}=r,c=r;if(dp.has(c)&&n.includeAttributes){let t=dp.get(c);t=function(t,e){let n={get metadata(){return gp(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(h,t);let e=fp(t,u);return i.set(c,t),n.localizeMapUpdates||dp.set(c,e),e}const d=n.localizeMapUpdates?i:dp;let p={find(e,n){let i,r=[];3===e.length&&(r=t.map(t=>d.get(t)));for(let s=0;t.length>s;s++)if(i=d.get(t[s]),e.call(n,i,s,r))return i},get name(){return o},get paramNames(){return l},get metadata(){return gp(r.route)},get parent(){let e=t[s-1];return void 0===e?null:d.get(e)},get child(){let e=t[s+1];return void 0===e?null:d.get(e)},get localName(){let t=this.name.split(".");return t[t.length-1]},get params(){return a},get queryParams(){return e}};return n.includeAttributes&&(p=fp(p,u)),i.set(r,p),n.localizeMapUpdates||dp.set(r,p),p})}function fp(t,e){let n={get attributes(){return e}};return!Object.isExtensible(t)||t.hasOwnProperty("attributes")?Object.freeze(Object.assign({},t,n)):Object.assign(t,n)}function gp(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class mp{constructor(t,e,n,i){this._routePromise=void 0,this._route=null,this.params={},this.isResolved=!1,this.name=e,this.paramNames=n,this.router=t,i&&this._processRoute(i)}getModel(t){return lu.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return lu.resolve(this.routePromise).then(e=>(bd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>bd(t)).then(()=>this.getModel(t)).then(e=>(bd(t),e)).then(e=>this.runAfterModelHook(t,e)).then(e=>this.becomeResolved(t,e))}becomeResolved(t,e){let n,i=this.serialize(e);t&&(this.stashResolvedModel(t,e),t[Ad]=t[Ad]||{},t[Ad][this.name]=i);let r=e===this.context;!("context"in this)&&r||(n=e);let s=dp.get(this),o=new yp(this.router,this.name,this.paramNames,i,this.route,n);return void 0!==s&&dp.set(o,s),o}shouldSupersede(t){if(!t)return!0;let e=t.context===this.context;return t.name!==this.name||"context"in this&&!e||this.hasOwnProperty("params")&&!function(t,e){if(t===e)return!0;if(!t||!e)return!1;for(let n in t)if(t.hasOwnProperty(n)&&t[n]!==e[n])return!1;return!0}(this.params,t.params)}get route(){return null!==this._route?this._route:this.fetchRoute()}set route(t){this._route=t}get routePromise(){return this._routePromise||this.fetchRoute(),this._routePromise}set routePromise(t){this._routePromise=t}log(t,e){t.log&&t.log(this.name+": "+e)}updateRoute(t){return t._internalName=this.name,this.route=t}runBeforeModelHook(t){let e;return t.trigger&&t.trigger(!0,"willResolveModel",t,this.route),this.route&&void 0!==this.route.beforeModel&&(e=this.route.beforeModel(t)),jd(e)&&(e=null),lu.resolve(e)}runAfterModelHook(t,e){let n,i=this.name;var r;return this.stashResolvedModel(t,e),void 0!==this.route&&void 0!==this.route.afterModel&&(n=this.route.afterModel(e,t)),n=jd(r=n)?null:r,lu.resolve(n).then(()=>t.resolvedModels[i])}stashResolvedModel(t,e){t.resolvedModels=t.resolvedModels||{},t.resolvedModels[this.name]=e}fetchRoute(){let t=this.router.getRoute(this.name);return this._processRoute(t)}_processRoute(t){return this.routePromise=lu.resolve(t),null!==(e=t)&&"object"==typeof e&&"function"==typeof e.then?(this.routePromise=this.routePromise.then(t=>this.updateRoute(t)),this.route=void 0):t?this.updateRoute(t):void 0;var e}}class yp extends mp{constructor(t,e,n,i,r,s){super(t,e,n,r),this.params=i,this.isResolved=!0,this.context=s}resolve(t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),lu.resolve(this)}}class _p extends mp{constructor(t,e,n,i,r){super(t,e,n,r),this.params={},i&&(this.params=i)}getModel(t){let e=this.params;t&&t[Fd]&&(e={},Sd(e,this.params),e.queryParams=t[Fd]);let n,i=this.route;return i.deserialize?n=i.deserialize(e,t):i.model&&(n=i.model(e,t)),n&&jd(n)&&(n=void 0),lu.resolve(n)}}class vp extends mp{constructor(t,e,n,i){super(t,e,n),this.context=i,this.serializer=this.router.getSerializer(e)}getModel(t){return void 0!==this.router.log&&this.router.log(this.name+": resolving provided model"),super.getModel(t)}serialize(t){let{paramNames:e,context:n}=this;t||(t=n);let i={};if(Td(t))return i[e[0]]=t,i;if(this.serializer)return this.serializer.call(null,t,e);if(void 0!==this.route&&this.route.serialize)return this.route.serialize(t,e);if(1!==e.length)return;let r=e[0];return/_id$/.test(r)?i[r]=t.id:i[r]=t,i}}class bp{constructor(t,e={}){this.router=t,this.data=e}}function wp(t,e,n){let i=t.routeInfos,r=e.resolveIndex>=i.length?i.length-1:e.resolveIndex,s=e.isAborted;throw new Cp(n,t.routeInfos[r].route,s,t)}function xp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],i=Sp.bind(null,t,e);return n.resolve(e).then(i,null,t.promiseLabel("Proceed"))}function Sp(t,e,n){let i=t.routeInfos[e.resolveIndex].isResolved;if(t.routeInfos[e.resolveIndex++]=n,!i){let{route:t}=n;void 0!==t&&t.redirect&&t.redirect(n.context,e)}return bd(e),xp(t,e)}class Ep{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return Rd(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),Id("'"+e+"': "+t)}resolve(t){let e=this.params;Rd(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=xp.bind(null,this,t),i=wp.bind(null,this,t);return lu.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(i,this.promiseLabel("Handle error")).then(()=>this)}}class Cp{constructor(t,e,n,i){this.error=t,this.route=e,this.wasAborted=n,this.state=i}}class kp extends bp{constructor(t,e,n,i=[],r={},s){super(t,s),this.preTransitionState=void 0,this.name=e,this.pivotHandler=n,this.contexts=i,this.queryParams=r}applyToState(t,e){let n=this.router.recognizer.handlersFor(this.name),i=n[n.length-1].handler;return this.applyToHandlers(t,n,i,e,!1)}applyToHandlers(t,e,n,i,r){let s,o,a=new Ep,l=this.contexts.slice(0),u=e.length;if(this.pivotHandler)for(s=0,o=e.length;s=0;--s){let o=e[s],h=o.handler,c=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=u?this.createParamHandlerInfo(h,o.names,l,c):this.getHandlerInfoForDynamicSegment(h,o.names,l,c,n,s):this.createParamHandlerInfo(h,o.names,l,c),r){d=d.becomeResolved(null,d.context);let t=c&&c.context;o.names.length>0&&void 0!==c.context&&d.context===t&&(d.params=c&&c.params),d.context=t}let p=c;(s>=u||d.shouldSupersede(c))&&(u=Math.min(s,u),p=d),i&&!r&&(p=p.becomeResolved(null,p.context)),a.routeInfos.unshift(p)}if(l.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+n);return i||this.invalidateChildren(a.routeInfos,u),Sd(a.queryParams,this.queryParams||{}),i&&t.queryParams&&Sd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,i=t.length;n0){if(o=n[n.length-1],Td(o))return this.createParamHandlerInfo(t,e,n,i);n.pop()}else{if(i&&i.name===t)return i;if(!this.preTransitionState)return i;{let t=this.preTransitionState.routeInfos[s];o=null==t?void 0:t.context}}return new vp(this.router,t,e,o)}createParamHandlerInfo(t,e,n,i){let r={},s=e.length,o=[];for(;s--;){let a=i&&t===i.name&&i.params||{},l=n[n.length-1],u=e[s];Td(l)?r[u]=""+n.pop():a.hasOwnProperty(u)?r[u]=a[u]:o.push(u)}if(o.length>0)throw new Error(`You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route ${t}. Missing params: ${o}`);return new _p(this.router,t,e,r)}}class Tp extends bp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,i=new Ep,r=this.router.recognizer.recognize(this.url);if(!r)throw new zd(this.url);let s=!1,o=this.url;function a(t){if(t&&t.inaccessibleByURL)throw new zd(o);return t}for(e=0,n=r.length;e=0&&i;--n){let r=e[n],s=r.handler;t.add(e,{as:s}),i="/"===r.path||""===r.path||".index"===s.slice(-6)}})}hasRoute(t){return this.recognizer.hasRoute(t)}queryParamsTransition(t,e,n,i){if(this.fireQueryParamDidChange(i,t),!e&&this.activeTransition)return this.activeTransition;{let t=new Nd(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(i.routeInfos,i.queryParams,t),t[Fd]=i.queryParams,this.toReadOnlyInfos(t,i),this.routeWillChange(t),t.promise=t.promise.then(e=>(t.isAborted||(this._updateURL(t,n),this.didTransition(this.currentRouteInfos),this.toInfos(t,i.routeInfos,!0),this.routeDidChange(t)),e),null,Id("Transition complete")),t}}transitionByIntent(t,e){try{return this.getTransitionByIntent(t,e)}catch(n){return new Nd(this,t,void 0,n,void 0)}}recognize(t){let e=new Tp(this,t),n=this.generateNewState(e);if(null===n)return n;let i=pp(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return i[i.length-1]}recognizeAndLoad(t){let e=new Tp(this,t),n=this.generateNewState(e);if(null===n)return lu.reject(`URL ${t} was not recognized`);let i=new Nd(this,e,n,void 0);return i.then(()=>{let t=pp(n.routeInfos,i[Fd],{includeAttributes:!0,localizeMapUpdates:!1});return t[t.length-1]})}generateNewState(t){try{return t.applyToState(this.state,!1)}catch(e){return null}}getTransitionByIntent(t,e){let n,i=!!this.activeTransition,r=i?this.activeTransition[Od]:this.state,s=t.applyToState(r,e),o=Pd(r.queryParams,s.queryParams);if(Pp(s.routeInfos,r.routeInfos)){if(o){let t=this.queryParamsTransition(o,i,r,s);return t.queryParamsOnly=!0,t}return this.activeTransition||new Nd(this,void 0,void 0)}if(e){let t=new Nd(this,void 0,s);return t.isIntermediate=!0,this.toReadOnlyInfos(t,s),this.setupContexts(s,t),this.routeWillChange(t),this.activeTransition}return n=new Nd(this,t,s,void 0,this.activeTransition),function(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;nthis.finalizeTransition(n,t),null,Id("Settle transition promise when transition is finalized")),i||this.notifyExistingHandlers(s,n),this.fireQueryParamDidChange(s,o),n}doTransition(t,e=[],n=!1){let i,r=e[e.length-1],s={};if(r&&Object.prototype.hasOwnProperty.call(r,"queryParams")&&(s=e.pop().queryParams),void 0===t){kd(this,"Updating query params");let{routeInfos:t}=this.state;i=new kp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(kd(this,"Attempting URL transition to "+t),i=new Tp(this,t)):(kd(this,"Attempting transition to "+t),i=new kp(this,t,void 0,e,s));return this.transitionByIntent(i,n)}finalizeTransition(t,e){try{kd(t.router,t.sequence,"Resolved all models on destination route; finalizing transition.");let n=e.routeInfos;return this.setupContexts(e,t),t.isAborted?(this.state.routeInfos=this.currentRouteInfos,lu.reject(Dd(t))):(this._updateURL(t,e),t.isActive=!1,this.activeTransition=void 0,this.triggerEvent(this.currentRouteInfos,!0,"didTransition",[]),this.didTransition(this.currentRouteInfos),this.toInfos(t,e.routeInfos,!0),this.routeDidChange(t),kd(this,t.sequence,"TRANSITION COMPLETE."),n[n.length-1].route)}catch(i){if("object"!=typeof(n=i)||null===n||"TRANSITION_ABORTED"!==n.code){let e=t[Od].routeInfos;t.trigger(!0,"error",i,t,e[e.length-1].route),t.abort()}throw i}var n}setupContexts(t,e){let n,i,r,s=this.partitionRoutes(this.state,t);for(n=0,i=s.exited.length;n=0;--o){let t=i[o];Sd(s,t.params),t.route.inaccessibleByURL&&(n=null)}if(n){s.queryParams=t._visibleQueryParams||e.queryParams;let i=this.recognizer.generate(r,s),o=t.isCausedByInitialTransition,a="replace"===n&&!t.isCausedByAbortingTransition,l=t.queryParamsOnly&&"replace"===n,u="replace"===n&&t.isCausedByAbortingReplaceTransition;o||a||l||u?this.replaceURL(i):this.updateURL(i)}}finalizeQueryParamChange(t,e,n){for(let s in e)e.hasOwnProperty(s)&&null===e[s]&&delete e[s];let i=[];this.triggerEvent(t,!0,"finalizeQueryParamChange",[e,i,n]),n&&(n._visibleQueryParams={});let r={};for(let s=0,o=i.length;s0){let n=pp(e,Object.assign({},this._lastQueryParams),{includeAttributes:!0,localizeMapUpdates:!1});t.from=n[n.length-1]||null}}toInfos(t,e,n=!1){if(void 0!==t&&e.length>0){let i=pp(e,Object.assign({},t[Fd]),{includeAttributes:n,localizeMapUpdates:!1});t.to=i[i.length-1]||null}}notifyExistingHandlers(t,e){let n,i,r,s,o=this.state.routeInfos;for(i=o.length,n=0;n{t.setURL(n),bs(e,"currentURL",n)})}didTransition(t){e.didTransition(t)}willTransition(t,n){e.willTransition(t,n)}triggerEvent(t,n,i,r){return zp.bind(e)(t,n,i,r)}routeWillChange(t){e.trigger("routeWillChange",t),e._routerService.trigger("routeWillChange",t),t.isIntermediate&&e.set("currentRoute",t.to)}routeDidChange(t){e.set("currentRoute",t.to),ra(()=>{e.trigger("routeDidChange",t),e._routerService.trigger("routeDidChange",t)})}transitionDidError(t,n){return t.wasAborted||n.isAborted?Dd(n):(n.trigger(!1,"error",t.error,n,t.route),e._isErrorHandled(t.error)?(n.rollback(),this.routeDidChange(n),t.error):(n.abort(),t.error))}replaceURL(n){t.replaceURL?ra(()=>{t.replaceURL(n),bs(e,"currentURL",n)}):this.updateURL(n)}},s=this.constructor.dslCallbacks||[Ip],o=this._buildDSL();o.route("application",{path:"/",resetNamespace:!0,overrideNameAssertion:!0},function(){for(let t=0;tn.factoryFor(`route-map:${t}`),addRouteForEngine(t,n){e._engineInfoByRoute[t]||(e._engineInfoByRoute[t]=n)}};return new lp(null,i)}_resetQueuedQueryParameterChanges(){this._queuedQPChanges={}}_hasModuleBasedResolver(){let t=us(qa(this),"application.__registry__.resolver.moduleBasedResolver");return Boolean(t)}startRouting(){if(this.setupRouter()){let t=us(this,"initialURL");void 0===t&&(t=us(this,"location").getURL());let e=this.handleURL(t);if(e&&e.error)throw e.error}}setupRouter(){if(this._didSetupRouter)return!1;this._didSetupRouter=!0,this._setupLocation();let t=us(this,"location");return!us(t,"cancelRouterSetup")&&(this._initRouterJs(),t.onUpdateURL(t=>{this.handleURL(t)}),!0)}_setOutlets(){if(this.isDestroying||this.isDestroyed)return;let t=this._routerMicrolib.currentRouteInfos;if(!t)return;let e=null,n=null;for(let i of t){let t=Qd(i.route);if(!t)break;{let i={render:t,outlets:{main:void 0}};n?n.outlets.main=i:e=i,n=i}}if(null!==e)if(this._toplevelView)this._toplevelView.setOutletState(e);else{let t=qa(this),n=t.factoryFor("view:-outlet"),i=t.lookup("application:main"),r=t.lookup("-environment:main"),s=t.lookup("template:-outlet");this._toplevelView=n.create({environment:r,template:s,application:i}),this._toplevelView.setOutletState(e);let o=t.lookup("-application-instance:main");o&&o.didCreateRootView(this._toplevelView)}}handleURL(t){let e=t.split(/#(.+)?/)[0];return this._doURLTransition("handleURL",e)}_doURLTransition(t,e){this._initialTransitionStarted=!0;let n=this._routerMicrolib[t](e||"/");return qp(n,this),n}transitionTo(...t){if(Kd(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=$d(t);return this._doTransition(e,n,i)}intermediateTransitionTo(t,...e){this._routerMicrolib.intermediateTransitionTo(t,...e),Bp(this)}replaceWith(...t){return this.transitionTo(...t).method("replace")}generate(t,...e){let n=this._routerMicrolib.generate(t,...e);return this.location.formatURL(n)}isActive(t){return this._routerMicrolib.isActive(t)}isActiveIntent(t,e,n){return this.currentState.isActiveIntent(t,e,n)}send(t,...e){this._routerMicrolib.trigger(t,...e)}hasRoute(t){return this._routerMicrolib.hasRoute(t)}reset(){this._didSetupRouter=!1,this._initialTransitionStarted=!1,this._routerMicrolib&&this._routerMicrolib.reset()}willDestroy(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),super.willDestroy(),this.reset();let t=this._engineInstances;for(let e in t){let n=t[e];for(let t in n)ta(n[t],"destroy")}}_activeQPChanged(t,e){this._queuedQPChanges[t]=e,ra(this,this._fireQueryParamTransition)}_updatingQPChanged(t){this._qpUpdates.add(t)}_fireQueryParamTransition(){this.transitionTo({queryParams:this._queuedQPChanges}),this._resetQueuedQueryParameterChanges()}_setupLocation(){let t=this.location,e=this.rootURL,n=qa(this);"string"==typeof t&&(t=bs(this,"location",n.lookup(`location:${t}`))),null!==t&&"object"==typeof t&&(e&&bs(t,"rootURL",e),"function"==typeof t.initState&&t.initState())}_serializeQueryParams(t,e){$p(this,t,e,(t,n,i)=>{if(i)delete e[t],e[i.urlKey]=i.route.serializeQueryParam(n,i.urlKey,i.type);else{if(void 0===n)return;e[t]=this._serializeQueryParam(n,hc(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){$p(this,t,e,(t,n,i)=>{i&&(delete e[t],e[i.prop]=i.route.deserializeQueryParam(n,i.urlKey,i.type))})}_deserializeQueryParam(t,e){return null==t?t:"boolean"===e?"true"===t:"number"===e?Number(t).valueOf():"array"===e?Ac(JSON.parse(t)):t}_pruneDefaultQueryParamValues(t,e){let n=this._queryParamsFor(t);for(let i in e){let t=n.map[i];t&&t.serializedDefaultValue===e[i]&&delete e[i]}}_doTransition(t,e,n,i){let r=t||function(t){let e=t.activeTransition?t.activeTransition[Od].routeInfos:t.state.routeInfos;return e[e.length-1].name}(this._routerMicrolib);this._initialTransitionStarted=!0;let s={};this._processActiveTransitionQueryParams(r,e,s,n),Object.assign(s,n),this._prepareQueryParams(r,e,s,Boolean(i));let o=this._routerMicrolib.transitionTo(r,...e,{queryParams:s});return qp(o,this),o}_processActiveTransitionQueryParams(t,e,n,i){if(!this._routerMicrolib.activeTransition)return;let r={},s=this._qpUpdates,o=tp(this,this._routerMicrolib.activeTransition[Od]);for(let a in o)s.has(a)||(r[a]=o[a]);this._fullyScopeQueryParams(t,e,i),this._fullyScopeQueryParams(t,e,r),Object.assign(n,r)}_prepareQueryParams(t,e,n,i){let r=Up(this,t,e);this._hydrateUnsuppliedQueryParams(r,n,Boolean(i)),this._serializeQueryParams(r.routeInfos,n),i||this._pruneDefaultQueryParamValues(r.routeInfos,n)}_getQPMeta(t){let e=t.route;return e&&us(e,"_qp")}_queryParamsFor(t){let e=t[t.length-1].name,n=this._qpCache[e];if(void 0!==n)return n;let i,r=!0,s={},o=[];for(let l of t)if(i=this._getQPMeta(l),i){for(let t of i.qps)o.push(t);Object.assign(s,i.map)}else r=!1;let a={qps:o,map:s};return r&&(this._qpCache[e]=a),a}_fullyScopeQueryParams(t,e,n){let i,r=Up(this,t,e).routeInfos;for(let s of r)if(i=this._getQPMeta(s),i)for(let t of i.qps){let e=t.prop in n&&t.prop||t.scopedPropertyName in n&&t.scopedPropertyName||t.urlKey in n&&t.urlKey;e&&e!==t.scopedPropertyName&&(n[t.scopedPropertyName]=n[e],delete n[e])}}_hydrateUnsuppliedQueryParams(t,e,n){let i,r,s,o=t.routeInfos,a=this._bucketCache;for(let l of o)if(i=this._getQPMeta(l),i)for(let n=0,o=i.qps.length;n=0;--n){let i=t[n],r=i.route;if(void 0!==r&&!0!==e(r,i))return}}let Lp={willResolveModel(t,e,n){this._scheduleLoadingEvent(e,n)},error(t,e,n){let i=this,r=t[t.length-1];Fp(t,(t,n)=>{if(n!==r){let n=Dp(t,"error");if(n)return i._markErrorAsHandled(e),i.intermediateTransitionTo(n,e),!1}let s=Np(t,"error");return!s||(i._markErrorAsHandled(e),i.intermediateTransitionTo(s,e),!1)}),function(t,e){let n,i=[];n=t&&"object"==typeof t&&"object"==typeof t.errorThrown?t.errorThrown:t,e&&i.push(e),n&&(n.message&&i.push(n.message),n.stack&&i.push(n.stack),"string"==typeof n&&i.push(n)),console.error(...i)}(e,`Error while processing route: ${n.targetName}`)},loading(t,e){let n=this,i=t[t.length-1];Fp(t,(t,r)=>{if(r!==i){let e=Dp(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=Np(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function Np(t,e){let n=qa(t),{routeName:i,fullRouteName:r,_router:s}=t,o=`${r}_${e}`;return jp(n,s,`${i}_${e}`,o)?o:""}function Dp(t,e){let n=qa(t),{routeName:i,fullRouteName:r,_router:s}=t,o="application"===r?e:`${r}.${e}`;return jp(n,s,"application"===i?e:`${i}.${e}`,o)?o:""}function jp(t,e,n,i){let r=e.hasRoute(i),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return r&&s}function zp(t,e,n,i){if(!t){if(e)return;throw new Error(`Can't trigger action '${n}' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call \`.send()\` on the \`Transition\` object passed to the \`model/beforeModel/afterModel\` hooks.`)}let r,s,o,a=!1;for(let u=t.length-1;u>=0;u--)if(r=t[u],s=r.route,o=s&&s.actions&&s.actions[n],o){if(!0!==o.apply(s,i))return void("error"===n&&s._router._markErrorAsHandled(i[0]));a=!0}let l=Lp[n];if(l)l.call(this,t,...i);else if(!a&&!e)throw new Error(`Nothing handled the action '${n}'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.`)}function Up(t,e,n){let i=t._routerMicrolib.applyIntent(e,n),{routeInfos:r,params:s}=i;for(let o of r)o.isResolved?s[o.name]=o.params:s[o.name]=o.serialize(o.context);return i}function Bp(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=Ap._routePath(e),i=e[e.length-1].name,r=t.location.getURL();bs(t,"currentPath",n),bs(t,"currentRouteName",i),bs(t,"currentURL",r)}function qp(t,e){let n=new cp(e,e._routerMicrolib,t[Od]);e.currentState||e.set("currentState",n),e.set("targetState",n),t.promise=t.catch(t=>{if(!e._isErrorHandled(t))throw t;e._clearHandledError(t)},"Transition Error")}function $p(t,e,n,i){let r=t._queryParamsFor(e);for(let s in n)Object.prototype.hasOwnProperty.call(n,s)&&i(s,n[s],r.map[s])}function Gp(t){return void 0!==t.hash?t.hash.substring(0):""}Ap.reopen({didTransition:function(){Bp(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState)},willTransition:function(){},rootURL:"/",location:"hash",url:Qr(function(){let t=us(this,"location");if("string"!=typeof t)return t.getURL()})});class Vp extends lh{_hashchangeHandler;_location;init(){this.location=this._location??window.location,this._hashchangeHandler=void 0}getHash(){return Gp(this.location)}getURL(){let t=this.getHash().substring(1),e=t;return"/"!==e[0]&&(e="/",t&&(e+=`#${t}`)),e}setURL(t){this.location.hash=t,this.lastSetURL=t}replaceURL(t){this.location.replace(`#${t}`),this.lastSetURL=t}lastSetURL=null;onUpdateURL(t){this._removeEventListener(),this._hashchangeHandler=na(this,function(){let e=this.getURL();this.lastSetURL!==e&&(this.lastSetURL=null,t(e))}),window.addEventListener("hashchange",this._hashchangeHandler)}formatURL(t){return`#${t}`}willDestroy(){this._removeEventListener()}_removeEventListener(){this._hashchangeHandler&&window.removeEventListener("hashchange",this._hashchangeHandler)}}let Wp=!1;function Hp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e,n;return e=16*Math.random()|0,n="x"===t?e:3&e|8,n.toString(16)})}class Kp extends lh{history;_previousURL;_popstateHandler;rootURL="/";getHash(){return Gp(this.location)}init(){this._super(...arguments);let t=document.querySelector("base"),e="";null!==t&&t.hasAttribute("href")&&(e=t.getAttribute("href")??""),this.baseURL=e,this.location=this.location??window.location,this._popstateHandler=void 0}initState(){let t=this.history??window.history;this.history=t;let{state:e}=t,n=this.formatURL(this.getURL());e&&e.path===n?this._previousURL=this.getURL():this.replaceState(n)}getURL(){let{location:t,rootURL:e,baseURL:n}=this,i=t.pathname;e=e.replace(/\/$/,""),n=n.replace(/\/$/,"");let r=i.replace(new RegExp(`^${n}(?=/|$)`),"").replace(new RegExp(`^${e}(?=/|$)`),"").replace(/\/\//g,"/");return r+=(t.search||"")+this.getHash(),r}setURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.pushState(t)}replaceURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.replaceState(t)}pushState(t){let e={path:t,uuid:Hp()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:Hp()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(Wp||(Wp=!0,this.getURL()!==this._previousURL))&&t(this.getURL())},window.addEventListener("popstate",this._popstateHandler)}formatURL(t){let{rootURL:e,baseURL:n}=this;return""!==t?(e=e.replace(/\/$/,""),n=n.replace(/\/$/,"")):"/"===n[0]&&"/"===e[0]&&(n=n.replace(/\/$/,"")),n+e+t}willDestroy(){this._removeEventListener()}_removeEventListener(){this._popstateHandler&&window.removeEventListener("popstate",this._popstateHandler)}}class Xp extends lh{updateCallback;initState(){this._super(...arguments);let{rootURL:t}=this}getURL(){let{path:t,rootURL:e}=this;return e=e.replace(/\/$/,""),t.replace(new RegExp(`^${e}(?=/|$)`),"")}setURL(t){this.path=t}onUpdateURL(t){this.updateCallback=t}handleURL(t){this.path=t,this.updateCallback&&this.updateCallback(t)}formatURL(t){let{rootURL:e}=this;return""!==t&&(e=e.replace(/\/$/,"")),e+t}}function Yp(t){return Ss(t).readOnly()}Xp.reopen({path:"",rootURL:"/"});const Zp=/[ _]/g,Jp=new Vi(1e3,t=>{return(e=t,sf.get(e)).replace(Zp,"-");var e}),Qp=/^(-|_)+(.)?/,tf=/(.)(-|_|\.|\s)+(.)?/g,ef=/(^|\/|\.)([a-z])/g,nf=new Vi(1e3,t=>{let e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),rf=/([a-z\d])([A-Z])/g,sf=new Vi(1e3,t=>t.replace(rf,"$1_$2").toLowerCase());function of(t){return Jp.get(t)}function af(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let lf=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??Wi);function uf(t){return function(t,e=lf){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function hf(t){return{options:t,test:!af(t),isEnabled:af(t)||uf(t),isRemoved:uf(t)}}const cf={DEPRECATE_IMPORT_INJECT:hf({for:"ember-source",id:"importing-inject-from-ember-service",since:{available:"6.2.0",enabled:"6.3.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/importing-inject-from-ember-service"}),DEPRECATE_AMD_BUNDLES:hf({for:"ember-source",id:"using-amd-bundles",since:{available:"6.10.0",enabled:"6.10.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/using-amd-bundles"})};function df(...t){return ms("service",...t)}class pf extends Nh{static isServiceFactory=!0}const ff=Object.freeze(Object.defineProperty({__proto__:null,default:pf,inject:function(...t){return function(t,e){const{options:n}=e;if(e.isRemoved)throw new Error(`The API deprecated by ${n.id} was removed in ember-source ${n.until}. The message was: Importing \`inject\` from \`@ember/service\` is deprecated. Please import \`service\` instead.. Please see ${n.url} for more details.`)}(0,cf.DEPRECATE_IMPORT_INJECT),ms("service",...t)},service:df},Symbol.toStringTag,{value:"Module"})),gf=Symbol("ROUTER");function mf(t,e){return"/"===e?t:t.substring(e.length)}class yf extends(pf.extend(Fh)){[gf];get _router(){let t=this[gf];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return this[gf]=e}willDestroy(){super.willDestroy(),this[gf]=void 0}transitionTo(...t){if(Kd(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=$d(t);return this._router._doTransition(e,n,i,!0)}replaceWith(...t){return this.transitionTo(...t).method("replace")}urlFor(t,...e){return this._router.setupRouter(),this._router.generate(t,...e)}isActive(...t){let{routeName:e,models:n,queryParams:i}=$d(t);this._router.setupRouter();let r=this._router._routerMicrolib;if(Se(Ve(this._router,"currentURL")),!r.isActiveIntent(e,n))return!1;if(Object.keys(i).length>0){let t=e;i=Object.assign({},i),this._router._prepareQueryParams(t,n,i,!0);let s=Object.assign({},r.state.queryParams);return this._router._prepareQueryParams(t,n,s,!0),Xd(i,s)}return!0}recognize(t){this._router.setupRouter();let e=mf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=mf(t,this.rootURL);return this._router._routerMicrolib.recognizeAndLoad(e)}refresh(t){if(!t)return this._router._routerMicrolib.refresh();let e=Yi(this).lookup(`route:${t}`);return this._router._routerMicrolib.refresh(e)}static{Qh(this.prototype,"currentRouteName",[Yp("_router.currentRouteName")])}#u=void nc(this,"currentRouteName");static{Qh(this.prototype,"currentURL",[Yp("_router.currentURL")])}#h=void nc(this,"currentURL");static{Qh(this.prototype,"location",[Yp("_router.location")])}#c=void nc(this,"location");static{Qh(this.prototype,"rootURL",[Yp("_router.rootURL")])}#d=void nc(this,"rootURL");static{Qh(this.prototype,"currentRoute",[Yp("_router.currentRoute")])}#p=void nc(this,"currentRoute")}class _f extends pf{[gf];get router(){let t=this[gf];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return e.setupRouter(),this[gf]=e}hasRoute(t){return this.router.hasRoute(t)}transitionTo(t,e,n,i){let r=this.router._doTransition(t,e,n);return i&&r.method("replace"),r}normalizeQueryParams(t,e,n){this.router._prepareQueryParams(t,e,n)}_generateURL(t,e,n){let i={};return n&&(Object.assign(i,n),this.normalizeQueryParams(t,e,i)),this.router.generate(t,...e,{queryParams:i})}generateURL(t,e,n){if(this.router._initialTransitionStarted)return this._generateURL(t,e,n);try{return this._generateURL(t,e,n)}catch(i){return}}isActiveForRoute(t,e,n,i){let r=this.router._routerMicrolib.recognizer.handlersFor(n),s=r[r.length-1].handler,o=function(t,e){let n=0;for(let i=0;io&&(n=s),i.isActiveIntent(n,t,e)}}_f.reopen({targetState:Yp("router.targetState"),currentState:Yp("router.currentState"),currentRouteName:Yp("router.currentRouteName"),currentPath:Yp("router.currentPath")});class vf{constructor(t){this.buffer=t,this.size=0}encode(t,e,...n){if(t>255)throw new Error(`Opcode type over 8-bits. Got ${t}.`);let i=t|e|arguments.length-2<<8;this.buffer.push(i);for(const r of n)this.buffer.push(r);this.size=this.buffer.length}patch(t,e){if(-1!==this.buffer[t+1])throw new Error("Trying to patch operand in populated slot instead of a reserved slot.");this.buffer[t+1]=e}}const bf=32,wf=31;function xf(t){return(t|=0)<0?function(t){return-536870913&t}(t):function(t){return~t}(t)}function Sf(t){return e=>{if(!function(t){return Array.isArray(t)&&2===t.length}(e))return!1;let n=e[0];return n===wf||n===bf||n===t}}[1,-1].forEach(t=>{return e=xf(t),(e|=0)>-536870913?function(t){return~t}(e):function(t){return 536870912|t}(e);var e});const Ef=Sf(39),Cf=Sf(38),kf=Sf(37),Tf=Sf(35);function Rf(t,e,n,i){let{symbols:{upvars:r}}=n,s=r[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return i.helper(o,s)}function Pf(t){return{type:1,value:t}}function Mf(t){return{type:5,value:t}}function If(t){return{type:7,value:t}}function Of(t){return{type:8,value:t}}class Af{label(t,e){this.labels[t]=e}target(t,e){this.targets.push({at:t,target:e})}patch(t){let{targets:e,labels:n}=this;for(const{at:i,target:r}of e){let e=n[r]-i;t.getbyaddr(i),t.setbyaddr(i,e)}}constructor(){this.labels=rn(),this.targets=[]}}function Ff(t,e,n,i){let{program:{constants:r},resolver:s}=e;if(function(t){return t<1e3}(i[0])){let[e,...n]=i;t.push(r,e,...n)}else switch(i[0]){case 1e3:return t.label(i[1]);case 1001:return t.startLabels();case 1002:return t.stopLabels();case 1004:return function(t,e,n,[,i,r]){if(Ef(i),i[0]===bf){let{scopeValues:t,owner:s,symbols:{lexical:o}}=n,a=t[i[1]];r(e.component(a,s,!1,o?.at(i[1])))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupComponent?.(a,o)??null;r(e.resolvedComponent(l,a))}}(s,r,n,i);case 1003:return function(t,e,n,[,i,r]){Cf(i);let s=i[0];if(s===bf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[i[1]];r(e.modifier(o,s?.at(i[1])??void 0))}else if(s===wf){let{symbols:{upvars:s}}=n,o=s[i[1]],a=t?.lookupBuiltInModifier?.(o)??null;r(e.modifier(a,o))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupModifier?.(a,o)??null;r(e.modifier(l))}}(s,r,n,i);case 1005:return function(t,e,n,[,i,r]){kf(i);let s=i[0];if(s===bf){let{scopeValues:t}=n,s=t[i[1]];r(e.helper(s))}else if(s===wf)r(Rf(i,t,n,e));else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupHelper?.(a,o)??null;r(e.helper(l,a))}}(s,r,n,i);case 1007:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s}]){Tf(i);let o=i[0];if(o===bf){let{scopeValues:t,owner:o,symbols:{lexical:a}}=n,l=t[i[1]],u=e.component(l,o,!0,a?.at(i[1]));if(null!==u)return void r(u);s(e.helper(l,null,!0))}else if(o===wf)s(Rf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)r(e.resolvedComponent(u,l));else{let n=t?.lookupHelper?.(l,a)??null;s(e.helper(n,l))}}}(s,r,n,i);case 1008:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s,ifValue:o}]){Tf(i);let a=i[0];if(a===bf){let{scopeValues:t,owner:a,symbols:{lexical:l}}=n,u=t[i[1]];if("function"!=typeof u&&("object"!=typeof u||null===u))return void o(e.value(u));let h=e.component(u,a,!0,l?.at(i[1]));if(null!==h)return void r(h);let c=e.helper(u,null,!0);if(null!==c)return void s(c);o(e.value(u))}else if(a===wf)s(Rf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)return void r(e.resolvedComponent(u,l));let h=t?.lookupHelper?.(l,a)??null;null!==h&&s(e.helper(h,l))}}(s,r,n,i);case 1010:{let[,t,e]=i;e(n.symbols.upvars[t],n.moduleName);break}case 1011:{let[,t,e]=i,s=n.scopeValues[t];e(r.value(s));break}default:throw new Error(`Unexpected high level opcode ${i[0]}`)}}class Lf{constructor(t,e,n){this.heap=t,this.meta=e,this.stdlib=n,this.labelsStack=new an,this.encoder=new vf([]),this.errors=[],this.handle=t.malloc()}error(t){this.encoder.encode(30,0),this.errors.push(t)}commit(t){let e=this.handle;return this.heap.pushMachine(5),this.heap.finishMalloc(e,t),(n=this.errors)&&n.length>0?{errors:this.errors,handle:e}:e;var n}push(t,e,...n){let{heap:i}=this;var r;let s=e|((r=e)>=0&&r<=15?Vn:0)|n.length<<8;i.pushRaw(s);for(let o=0;o=-536870912?xf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function $f(t,e,n,i){t(0),Zf(t,n,i,!1),t(16,e),t(1),t(36,8)}function Gf(t,e,n,i){t(0),Zf(t,e,n,!1),t(33,2,1),t(107),i?(t(36,8),i(),t(1),t(34,1)):(t(1),t(34,1),t(36,8))}function Vf(t,e,n,i,r){t(0),Zf(t,i,r,!1),t(86),Uf(t,n),t(77,e,{type:2,value:void 0}),t(1),t(36,8)}function Wf(t,e,n){Zf(t,n,null,!0),t(23,e),t(24),t(61),t(64),t(40),t(1)}function Hf(t,e){!function(t,e){null!==e?t(63,If({parameters:e})):qf(t,null)}(t,e&&e[1]),t(62),Yf(t,e)}function Kf(t,e){t(0),Yf(t,e),t(61),t(2),t(1)}function Xf(t,e,n){let i=e[1],r=i.length,s=Math.min(n,r);if(0!==s){if(t(0),s){t(39);for(let e=0;e{for(let n of e)Uf(t,n);t(27,e.length)}),jf.add(28,(t,[,e,n,i])=>{kf(e)?t(1005,e,e=>{$f(t,e,n,i)}):(Uf(t,e),Gf(t,n,i))}),jf.add(50,(t,[,e,n,i,r])=>{Vf(t,n,e,i,r)}),jf.add(30,(t,[,e,n])=>{t(21,e),zf(t,n)}),jf.add(bf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),zf(t,n)})}),jf.add(wf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{$f(t,e,null,null)})})}),jf.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{$f(t,e,null,null)})})}),jf.add(27,t=>Bf(t,void 0)),jf.add(48,(t,[,e])=>{Uf(t,e),t(25)}),jf.add(49,(t,[,e])=>{Uf(t,e),t(24),t(61),t(26)}),jf.add(52,(t,[,e,n,i])=>{Uf(t,i),Uf(t,n),Uf(t,e),t(109)}),jf.add(51,(t,[,e])=>{Uf(t,e),t(110)}),jf.add(53,(t,[,e])=>{Uf(t,e),t(111)}),jf.add(54,(t,[,e])=>{t(0),Zf(t,e,null,!1),t(112),t(1),t(36,8)});class tg{constructor(t){this.blocks=t,this.names=t?Object.keys(t):[]}get(t){return this.blocks&&this.blocks[t]||null}has(t){let{blocks:e}=this;return null!==e&&t in e}with(t,e){let{blocks:n}=this;return new tg(n?un({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const eg=new tg(null);function ng(t){if(null===t)return eg;let e=rn(),[n,i]=t;for(const[r,s]of tn(n))e[s]=i[r];return new tg(e)}function ig(t,e,n){let i=[],r=0;n(function(t,e){i.push({match:t,callback:e,label:"CLAUSE"+r++})}),t(69,1),e(),t(1001);for(let s of i.slice(0,-1))t(67,Pf(s.label),s.match);for(let s=i.length-1;s>=0;s--){let e=i[s];t(1e3,e.label),t(34,1),e.callback(),0!==s&&t(4,Pf("END"))}t(1e3,"END"),t(1002),t(70)}function rg(t,e,n){t(1001),t(0),t(6,Pf("ENDINITIAL")),t(69,e()),n(),t(1e3,"FINALLY"),t(70),t(5),t(1e3,"ENDINITIAL"),t(1),t(1002)}function sg(t,e,n,i){return rg(t,e,()=>{t(66,Pf("ELSE")),n(),t(4,Pf("FINALLY")),t(1e3,"ELSE"),void 0!==i&&i()})}function og(t,e,n,i,r,s){let{compilable:o,capabilities:a,handle:l}=e,u=n?[n,[]]:null,h=ng(s);o?(t(78,l),function(t,{capabilities:e,layout:n,elementBlock:i,positional:r,named:s,blocks:o}){let{symbolTable:a}=n;if(ii(e,Gn.prepareArgs))return void lg(t,{capabilities:e,elementBlock:i,positional:r,named:s,atNames:!0,blocks:o,layout:n});t(36,4),t(33,3,1),t(35,4),t(0);let{symbols:l}=a,u=[],h=[],c=[],d=o.names;if(null!==i){let e=l.indexOf("&attrs");-1!==e&&(Hf(t,i),u.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Hf(t,o.get(p)),u.push(e))}if(ii(e,Gn.createArgs)){let e=Jf(t,r)<<4;e|=8;let n=Ze;if(null!==s){n=s[0];let e=s[1];for(let i=0;i0?1:0),t(19,0);for(const p of Qe(h))-1===p?t(34,1):t(19,p+1);null!==r&&t(34,r.length);for(const p of Qe(u))t(20,p+1);t(28,Of(n)),t(61),t(2),t(100,4),t(1),t(40),ii(e,Gn.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:u,positional:i,named:r,blocks:h})):(t(78,l),lg(t,{capabilities:a,elementBlock:u,positional:i,named:r,atNames:!0,blocks:h}))}function ag(t,e,n,i,r,s,o,a){let l=n?[n,[]]:null,u=ng(s);rg(t,()=>(Uf(t,e),t(33,3,0),2),()=>{t(66,Pf("ELSE")),a?t(81):t(80,{type:2,value:void 0}),t(79),lg(t,{capabilities:!0,elementBlock:l,positional:i,named:r,atNames:o,blocks:u}),t(1e3,"ELSE")})}function lg(t,{capabilities:e,elementBlock:n,positional:i,named:r,atNames:s,blocks:o,layout:a}){let l=!!o,u=!0===e||ii(e,Gn.prepareArgs)||!(!r||0===r[0].length),h=o.with("attrs",n);t(36,4),t(33,3,1),t(35,4),t(0),function(t,e,n,i,r){let s=i.names;for(const l of s)Hf(t,i.get(l));let o=Jf(t,e)<<4;r&&(o|=8),i.hasAny&&(o|=7);let a=Xe;if(n){a=n[0];let e=n[1];for(let n=0;n{a?(t(63,If(a.symbolTable)),t(28,Of(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function ug(t,e,n,i,r=null){t(97,4),t(59),t(87,0|e),r&&r(),t(88,4),t(90,4),t(38,4),t(19,0),i&&t(17,4),n&&t(18,4),t(34,1),t(96,4),t(100,4),t(1),t(40),t(60),t(98)}const hg=new Df,cg=["class","id","value","name","type","style","href"],dg=["div","span","p","a"];function pg(t){return"string"==typeof t?t:dg[t]}function fg(t){return"string"==typeof t?t:cg[t]}function gg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}hg.add(3,(t,e)=>t(42,e[1])),hg.add(13,t=>t(55)),hg.add(12,t=>t(54)),hg.add(4,(t,[,e,n,i])=>{Cf(e)?t(1003,e,e=>{t(0),Zf(t,n,i,!1),t(57,e),t(1)}):(Uf(t,e),t(0),Zf(t,n,i,!1),t(33,2,1),t(108),t(1))}),hg.add(14,(t,[,e,n,i])=>{t(51,fg(e),n,i??null)}),hg.add(24,(t,[,e,n,i])=>{t(105,fg(e),n,i??null)}),hg.add(15,(t,[,e,n,i])=>{Uf(t,n),t(52,fg(e),!1,i??null)}),hg.add(22,(t,[,e,n,i])=>{Uf(t,n),t(52,fg(e),!0,i??null)}),hg.add(16,(t,[,e,n,i])=>{Uf(t,n),t(53,fg(e),!1,i??null)}),hg.add(23,(t,[,e,n,i])=>{Uf(t,n),t(53,fg(e),!0,i??null)}),hg.add(10,(t,[,e])=>{t(48,pg(e))}),hg.add(11,(t,[,e])=>{t(89),t(48,pg(e))}),hg.add(8,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,n,null,i,r)}):ag(t,e,n,null,i,r,!0,!0)}),hg.add(18,(t,[,e,n])=>Wf(t,e,n)),hg.add(17,(t,[,e])=>Wf(t,e,null)),hg.add(26,(t,[,e,n,i])=>{t(103,function(t,e,n){return{type:3,value:{locals:t,upvars:e,lexical:n}}}(e,n,i))}),hg.add(1,(t,[,e])=>{if(Array.isArray(e))if(Tf(e))t(1008,e,{ifComponent(e){og(t,e,null,null,null,null)},ifHelper(e){t(0),$f(t,e,null,null),t(3,Mf("cautious-non-dynamic-append")),t(1)},ifValue(e){t(0),t(29,e),t(3,Mf("cautious-non-dynamic-append")),t(1)}});else if(28===e[0]){let[,n,i,r]=e;Tf(n)?t(1007,n,{ifComponent(e){og(t,e,null,i,gg(r),null)},ifHelper(e){t(0),$f(t,e,i,r),t(3,Mf("cautious-non-dynamic-append")),t(1)}}):ig(t,()=>{Uf(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),lg(t,{capabilities:!0,elementBlock:null,positional:i,named:r,atNames:!1,blocks:ng(null)})}),e(1,()=>{Gf(t,i,r,()=>{t(3,Mf("cautious-non-dynamic-append"))})})})}else t(0),Uf(t,e),t(3,Mf("cautious-append")),t(1);else t(41,null==e?"":String(e))}),hg.add(2,(t,[,e])=>{Array.isArray(e)?(t(0),Uf(t,e),t(3,Mf("trusting-append")),t(1)):t(41,null==e?"":String(e))}),hg.add(6,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,null,n,gg(i),r)}):ag(t,e,null,n,i,r,!1,!1)}),hg.add(40,(t,[,e,n,i,r])=>{sg(t,()=>(Uf(t,n),void 0===r?Bf(t,void 0):Uf(t,r),Uf(t,i),t(33,3,0),4),()=>{t(50),Kf(t,e),t(56)})}),hg.add(41,(t,[,e,n,i])=>sg(t,()=>(Uf(t,e),t(71),1),()=>{Kf(t,n)},i?()=>{Kf(t,i)}:void 0)),hg.add(42,(t,[,e,n,i,r])=>rg(t,()=>(n?Uf(t,n):Bf(t,null),Uf(t,e),2),()=>{t(72,Pf("BODY"),Pf("ELSE")),t(0),t(33,2,1),t(6,Pf("ITER")),t(1e3,"ITER"),t(74,Pf("BREAK")),t(1e3,"BODY"),Xf(t,i,2),t(34,2),t(4,Pf("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,Pf("FINALLY")),t(1e3,"ELSE"),r&&Kf(t,r)})),hg.add(44,(t,[,e,n])=>{Xf(t,n,Jf(t,e))}),hg.add(45,(t,[,e,n])=>{if(e){let[i,r]=e;Jf(t,r),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,i,()=>{Kf(t,n)})}else Kf(t,n)}),hg.add(46,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,null,n,gg(i),r)}):ag(t,e,null,n,i,r,!1,!1)});class mg{constructor(t,e,n,i="plain block"){this.statements=t,this.meta=e,this.symbolTable=n,this.moduleName=i,this.compiled=null}compile(t){return function(t,e){if(null!==t.compiled)return t.compiled;t.compiled=-1;let{statements:n,meta:i}=t,r=function(t,e,n){let i=hg,r=Nf(n,e),{encoder:s,evaluation:o}=r;function a(...t){Ff(s,o,e,t)}for(const l of t)i.compile(a,l);return r.encoder.commit(e.size)}(n,i,e);return t.compiled=r,r}(this,t)}}class yg{constructor(t,e,n,i,r){this.main=t,this.trustingGuardedAppend=e,this.cautiousGuardedAppend=n,this.trustingNonDynamicAppend=i,this.cautiousNonDynamicAppend=r}get"trusting-append"(){return this.trustingGuardedAppend}get"cautious-append"(){return this.cautiousGuardedAppend}get"trusting-non-dynamic-append"(){return this.trustingNonDynamicAppend}get"cautious-non-dynamic-append"(){return this.cautiousNonDynamicAppend}getAppend(t){return t?this.trustingGuardedAppend:this.cautiousGuardedAppend}}function _g(t,e,n){ig(t,()=>t(76),i=>{i(2,()=>{e?(t(68),t(43)):t(47)}),"number"==typeof n?(i(0,()=>{t(81),t(79),function(t){t(36,4),t(33,3,1),t(35,4),t(0),t(83),t(85,4),ug(t,!1,!1,!0,()=>{t(92,4),t(95,4)}),t(35,4)}(t)}),i(1,()=>{Gf(t,null,null,()=>{t(3,n)})})):(i(0,()=>{t(47)}),i(1,()=>{t(47)})),i(4,()=>{t(68),t(44)}),i(5,()=>{t(68),t(45)}),i(6,()=>{t(68),t(46)})})}const vg={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function bg(t,e){let n=new Lf(t.program.heap,vg);e(function(...e){Ff(n,t,vg,e)});let i=n.commit(0);if("number"!=typeof i)throw new Error("Unexpected errors compiling std");return i}class wg{constructor({constants:t,heap:e},n,i){this.constants=t,this.heap=e,this.resolver=i.resolver,this.createOp=n,this.env=i.env,this.program=i.program,this.stdlib=function(t){let e=bg(t,t=>function(t){t(75,4),ug(t,!1,!1,!0)}(t)),n=bg(t,t=>_g(t,!0,null)),i=bg(t,t=>_g(t,!1,null)),r=bg(t,t=>_g(t,!0,n)),s=bg(t,t=>_g(t,!1,i));return new yg(e,r,s,n,i)}(this)}}class xg{constructor(t,e){this.layout=t,this.moduleName=e,this.compiled=null;let{block:n}=t,[,i]=n;i=i.slice();let r=i.indexOf("&attrs");this.attrsBlockNumber=-1===r?i.push("&attrs"):r+1,this.symbolTable={symbols:i},this.meta=Qf(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Qf(this.layout),n=Nf(t,e),{encoder:i,evaluation:r}=n;var s,o,a;s=function(...t){Ff(i,r,e,t)},o=this.layout,a=this.attrsBlockNumber,s(1001),function(t,e,n){t(36,5),n(),t(35,5)}(s,0,()=>{s(91,4),s(31),s(33,3,0)}),s(66,Pf("BODY")),s(36,5),s(89),s(49),s(99,4),Wf(s,a,null),s(54),s(1e3,"BODY"),Kf(s,[o.block[0],[]]),s(36,5),s(66,Pf("END")),s(55),s(1e3,"END"),s(35,5),s(1002);let l=n.encoder.commit(e.size);return"number"!=typeof l||(this.compiled=l),l}}let Sg=0,Eg={cacheHit:0,cacheMiss:0};function Cg({id:t,moduleName:e,block:n,scope:i,isStrictMode:r}){let s,o=t||"client-"+Sg++,a=null,l=new WeakMap,u=t=>{if(void 0===s&&(s=JSON.parse(n)),void 0===t)return null===a?(Eg.cacheMiss++,a=new kg({id:o,block:s,moduleName:e,owner:null,scope:i,isStrictMode:r})):Eg.cacheHit++,a;let u=l.get(t);return void 0===u?(Eg.cacheMiss++,u=new kg({id:o,block:s,moduleName:e,owner:t,scope:i,isStrictMode:r}),l.set(t,u)):Eg.cacheHit++,u};return u.__id=o,u.__meta={moduleName:e},u}class kg{constructor(t){this.parsedLayout=t,this.result="ok",this.layout=null,this.wrappedLayout=null}get moduleName(){return this.parsedLayout.moduleName}get id(){return this.parsedLayout.id}get referrer(){return{moduleName:this.parsedLayout.moduleName,owner:this.parsedLayout.owner}}asLayout(){return this.layout?this.layout:this.layout=function(t,e){let[n,i]=t.block;return new mg(n,Qf(t),{symbols:i},e)}(un({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new xg(un({},this.parsedLayout),this.moduleName)}}function Tg(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const Rg={id:"1b32f5c2-7623-43d6-a0ad-9672898920a1",moduleName:"__default__.hbs",block:JSON.stringify([[[18,1,null]],["&default"],[]]),scope:null,isStrictMode:!0},Pg=Object.freeze([]),Mg=[!1,!0,null,void 0,Pg],Ig=Mg.indexOf(Pg);class Og{value(t){let e=this.indexMap,n=e.get(t);return void 0===n&&(n=this.values.push(t)-1,e.set(t,n)),n}array(t){if(0===t.length)return Ig;let e=new Array(t.length);for(let n=0;nt}helper(t,e=null,n){let i=this.helperDefinitionCache.get(t);if(void 0===i){let e=vi(t);if(null===e)return this.helperDefinitionCache.set(t,null),null;let n="function"==typeof e?e:e.getHelper(t);i=this.value(n),this.helperDefinitionCache.set(t,i),this.helperDefinitionCount++}return i}modifier(t,e=null,n){let i=this.modifierDefinitionCache.get(t);if(void 0===i){let n=mi(t);if(null===n)return this.modifierDefinitionCache.set(t,null),null;let r={resolvedName:e,manager:n,state:t};i=this.value(r),this.modifierDefinitionCache.set(t,i),this.modifierDefinitionCount++}return i}component(t,e,n,i){let r=this.componentDefinitionCache.get(t);if(void 0===r){let n=wi(t);if(null===n)return this.componentDefinitionCache.set(t,null),null;let s,o=ti(n.getCapabilities(t)),a=ji(t),l=null;s=ni(0,o,Gn.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=Tg(s),l=ni(0,o,Gn.wrapped)?s.asWrappedLayout():s.asLayout()),r={resolvedName:null,handle:-1,manager:n,capabilities:o,state:t,compilable:l},r.handle=this.value(r),i&&(r.debugName=i),this.componentDefinitionCache.set(t,r),this.componentDefinitionCount++}return r}resolvedComponent(t,e){let n=this.componentDefinitionCache.get(t);if(void 0===n){let{manager:i,state:r,template:s}=t,o=ti(i.getCapabilities(t)),a=null;ni(0,o,Gn.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=Tg(s),a=ni(0,o,Gn.wrapped)?s.asWrappedLayout():s.asLayout()),n={resolvedName:e,handle:-1,manager:i,capabilities:o,state:r,compilable:a},n.handle=this.value(n),this.componentDefinitionCache.set(t,n),this.componentDefinitionCount++}return n}getValue(t){return this.values[t]}getArray(t){let e=this.reifiedArrs,n=e[t];if(void 0===n){let i=this.getValue(t);n=new Array(i.length);for(const[t,e]of tn(i))n[t]=this.getValue(e);e[t]=n}return n}constructor(){this.reifiedArrs={[Ig]:Pg},this.defaultTemplate=Cg(Rg)(),this.helperDefinitionCount=0,this.modifierDefinitionCount=0,this.componentDefinitionCount=0,this.values=Mg.slice(),this.indexMap=new Map(this.values.map((t,e)=>[t,e])),this.helperDefinitionCache=new WeakMap,this.modifierDefinitionCache=new WeakMap,this.componentDefinitionCache=new WeakMap}}class Ag{constructor(t){this.heap=t,this.offset=0}get size(){return 1+((768&this.heap.getbyaddr(this.offset))>>8)}get isMachine(){return this.heap.getbyaddr(this.offset)&Vn?1:0}get type(){return 255&this.heap.getbyaddr(this.offset)}get op1(){return this.heap.getbyaddr(this.offset+1)}get op2(){return this.heap.getbyaddr(this.offset+2)}get op3(){return this.heap.getbyaddr(this.offset+3)}}class Fg{constructor(){this.offset=0,this.handle=0,this.heap=new Int32Array(1048576),this.handleTable=[],this.handleState=[]}entries(){return this.offset}pushRaw(t){this.sizeCheck(),this.heap[this.offset++]=t}pushOp(t){this.pushRaw(t)}pushMachine(t){this.pushRaw(t|Vn)}sizeCheck(){let{heap:t}=this;if(this.offset===this.heap.length){let e=new Int32Array(t.length+1048576);e.set(t,0),this.heap=e}}getbyaddr(t){return this.heap[t]}setbyaddr(t,e){this.heap[t]=e}malloc(){return this.handleTable.push(this.offset),this.handleTable.length-1}finishMalloc(t){}size(){return this.offset}getaddr(t){return this.handleTable[t]}sizeof(t){return this.handleTable,-1}free(t){this.handleState[t]=1}compact(){let t=0,{handleTable:e,handleState:n,heap:i}=this;for(let r=0;r-536870913?function(t){return~t}(t):function(t){return 536870912|t}(t)}[1,-1].forEach(t=>{return Bg((e=t,(e|=0)<0?function(t){return-536870913&t}(e):function(t){return~t}(e)));var e});const qg=new class{constructor(){this.evaluateOpcode=new Array(113).fill(null)}add(t,e,n="syscall"){this.evaluateOpcode[t]={syscall:"machine"!==n,evaluate:e}}evaluate(t,e,n){let i=this.evaluateOpcode[n];i.syscall?(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t,e)):(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t.lowlevel,e))}},$g=Symbol("TYPE"),Gg=Symbol("INNER"),Vg=Symbol("OWNER"),Wg=Symbol("ARGS"),Hg=Symbol("RESOLVED"),Kg=new WeakSet;function Xg(t){return Kg.has(t)}function Yg(t,e){return Xg(t)&&t[$g]===e}class Zg{constructor(t,e,n,i,r=!1){Kg.add(this),this[$g]=t,this[Gg]=e,this[Vg]=n,this[Wg]=i,this[Hg]=r}}function Jg(t){let e,n,i,r,s,o=t;for(;;){let{[Wg]:t,[Gg]:a}=o;if(null!==t){let{named:i,positional:r}=t;r.length>0&&(e=void 0===e?r:r.concat(e)),void 0===n&&(n=[]),n.unshift(i)}if(!Xg(a)){i=a,r=o[Vg],s=o[Hg];break}o=a}return{definition:i,owner:r,resolved:s,positional:e,named:n}}function Qg(t,e,n,i,r=!1){return new Zg(t,e,n,i,r)}class tm{constructor(t){this.bucket=t?un({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new tm(this.bucket)}}class em{static root(t,{self:e,size:n=0}){let i=new Array(n+1).fill(mn);return new em(t,i,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(mn);return new em(t,n,null)}constructor(t,e,n){this.owner=t,this.slots=e,this.callerScope=n}init({self:t}){return this.slots[0]=t,this}snapshot(){return this.slots.slice()}getSelf(){return this.get(0)}getSymbol(t){return this.get(t)}getBlock(t){let e=this.get(t);return e===mn?null:e}bind(t,e){this.set(t,e)}bindSelf(t){this.set(0,t)}bindSymbol(t,e){this.set(t,e)}bindBlock(t,e){this.set(t,e)}bindCallerScope(t){this.callerScope=t}getCallerScope(){return this.callerScope}child(){return new em(this.owner,this.slots.slice(),this.callerScope)}get(t){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);return this.slots[t]}set(t,e){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);this.slots[t]=e}}class nm{constructor(t,e){this.element=t,this.nextSibling=e}}class im{constructor(t,e,n){this.parentNode=t,this.first=e,this.last=n}parentElement(){return this.parentNode}firstNode(){return this.first}lastNode(){return this.last}}function rm(t,e){let n=t.parentElement(),i=t.firstNode(),r=t.lastNode(),s=i;for(;;){let t=s.nextSibling;if(n.insertBefore(s,e),s===r)return t;s=t}}function sm(t){let e=t.parentElement(),n=t.firstNode(),i=t.lastNode(),r=n;for(;;){let t=r.nextSibling;if(e.removeChild(r),r===i)return t;r=t}}function om(t){return"getDebugCustomRenderTree"in t}let am=0;class lm{constructor(t){this.id=am++,this.value=t}get(){return this.value}release(){this.value=null}toString(){let t=`Ref ${this.id}`;if(null===this.value)return`${t} (released)`;try{return`${t}: ${this.value}`}catch{return t}}}class um{begin(){this.reset()}create(t,e){let n=un({},e,{bounds:null,refs:new Set});this.nodes.set(t,n),this.appendChild(n,t),this.enter(t)}update(t){this.enter(t)}didRender(t,e){this.nodeFor(t).bounds=e,this.exit()}willDestroy(t){this.refs.get(t).release()}commit(){this.reset()}capture(){return this.captureRefs(this.roots)}reset(){if(0!==this.stack.size){let t=this.stack.toArray()[0],e=this.refs.get(t);for(void 0!==e&&this.roots.delete(e);!this.stack.isEmpty();)this.stack.pop()}}enter(t){this.stack.push(t)}exit(){this.stack.pop()}nodeFor(t){return this.nodes.get(t)}appendChild(t,e){let n=this.stack.current,i=new lm(e);if(this.refs.set(e,i),n){let e=this.nodeFor(n);e.refs.add(i),t.parent=e}else this.roots.add(i)}captureRefs(t){let e=[];return t.forEach(n=>{let i=n.get();i?e.push(this.captureNode(`render-node:${n.id}`,i)):t.delete(n)}),e}captureNode(t,e){let n=this.nodeFor(e),{type:i,name:r,args:s,instance:o,refs:a}=n,l=this.captureTemplate(n),u=this.captureBounds(n),h=this.captureRefs(a);return{id:t,type:i,name:r,args:Vm(s),instance:o,template:l,bounds:u,children:h}}captureTemplate({template:t}){return t||null}captureBounds(t){let e=t.bounds;return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}constructor(){this.stack=new an,this.refs=new WeakMap,this.roots=new Set,this.nodes=new WeakMap}}function hm(t){return cm(t)?"":String(t)}function cm(t){return null==t||"function"!=typeof t.toString}function dm(t){return null!==t&&"object"==typeof t}function pm(t){return dm(t)&&"function"==typeof t.toHTML}function fm(t){return"string"==typeof t}qg.add(39,t=>t.pushChildScope()),qg.add(40,t=>t.popScope()),qg.add(59,t=>t.pushDynamicScope()),qg.add(60,t=>t.popDynamicScope()),qg.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),qg.add(29,(t,{op1:e})=>{t.stack.push(bn(t.constants.getValue(e)))}),qg.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let i=t.constants.getValue(e);n.push(i)}else n.push(Bg(e))}),qg.add(31,t=>{let e,n=t.stack,i=n.pop();e=void 0===i?mn:null===i?yn:!0===i?_n:!1===i?vn:gn(i),n.push(e)}),qg.add(33,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e)-n;t.stack.dup(i)}),qg.add(34,(t,{op1:e})=>{t.stack.pop(e)}),qg.add(35,(t,{op1:e})=>{t.load(e)}),qg.add(36,(t,{op1:e})=>{t.fetch(e)}),qg.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),qg.add(69,(t,{op1:e})=>{t.enter(e)}),qg.add(70,t=>{t.exit()}),qg.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),qg.add(62,t=>{t.stack.push(t.scope())}),qg.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),qg.add(64,t=>{let{stack:e}=t,n=e.pop(),i=e.pop(),r=e.pop(),s=e.pop();if(null===r||null===n)return t.lowlevel.pushFrame(),void t.pushScope(i??t.scope());let o=i;{let t=r.parameters,e=t.length;if(e>0){o=o.child();for(let n=0;n{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i&&t.lowlevel.goto(e):(i&&t.lowlevel.goto(e),t.updateWith(new gm(n)))}),qg.add(66,(t,{op1:e})=>{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i||t.lowlevel.goto(e):(i||t.lowlevel.goto(e),t.updateWith(new gm(n)))}),qg.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),qg.add(68,t=>{let e=t.stack.peek();kn(e)||t.updateWith(new gm(e))}),qg.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(xn(()=>yt(Rn(n))))});class gm{constructor(t){this.ref=t,this.last=Rn(t)}evaluate(t){let{last:e,ref:n}=this;e!==Rn(n)&&t.throw()}}class mm{constructor(t,e){this.ref=t,this.filter=e,this.last=e(Rn(t))}evaluate(t){let{last:e,ref:n,filter:i}=this;e!==i(Rn(n))&&t.throw()}}class ym{finalize(t,e){this.target=e,this.didModify(t)}evaluate(t){let{tag:e,target:n,lastRevision:i}=this;!t.alwaysRevalidate&&Jt(e,i)&&(Se(e),t.goto(n))}didModify(t){this.tag=t,this.lastRevision=Zt(this.tag),Se(t)}constructor(){this.tag=se,this.lastRevision=1}}class _m{constructor(t){this.debugLabel=t}evaluate(){_e(this.debugLabel)}}class vm{constructor(t){this.target=t}evaluate(){let t=ve();this.target.didModify(t)}}qg.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),qg.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),qg.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),qg.add(49,t=>{let e=Rn(t.stack.pop());t.tree().openElement(e)}),qg.add(50,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop(),r=Rn(e),s=Rn(n),o=Rn(i);kn(e)||t.updateWith(new gm(e)),void 0===s||kn(n)||t.updateWith(new gm(n));let a=t.tree().pushRemoteElement(r,o,s);if(t.associateDestroyable(a),void 0!==t.env.debugRenderTree){let i=zm(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:i,instance:null}),It(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),qg.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),qg.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),qg.add(55,t=>{let e=t.tree().closeElement();null!==e&&e.forEach(e=>{t.env.scheduleInstallModifier(e);const n=e.manager.getDestroyable(e.state);null!==n&&t.associateDestroyable(n)})}),qg.add(57,(t,{op1:e})=>{if(!t.env.isInteractive)return;let n=t.getOwner(),i=t.stack.pop(),r=t.constants.getValue(e),{manager:s}=r,{constructing:o}=t.tree(),a=i.capture(),l=s.create(n,o,r.state,a),u={manager:s,state:l,definition:r};t.fetchValue(6).addModifier(t,u,a);let h=s.getTag(l);return null!==h?(Se(h),t.updateWith(new bm(h,u))):void 0}),qg.add(108,t=>{if(!t.env.isInteractive)return;let{stack:e}=t,n=e.pop(),i=e.pop().capture(),{positional:r,named:s}=i,{constructing:o}=t.tree(),a=t.getOwner(),l=xn(()=>{let t,e,l=Rn(n);if(!on(l))return;if(Yg(l,2)){let{definition:n,owner:o,positional:a,named:u}=Jg(l);e=n,t=o,void 0!==a&&(i.positional=a.concat(r)),void 0!==u&&(i.named=Object.assign({},...u,s))}else e=l,t=a;let u=mi(e);if(null===u)throw new Error("BUG: modifier manager expected");let h={resolvedName:null,manager:u,state:e},c=u.create(t,o,h.state,i);return{manager:u,state:c,definition:h}}),u=Rn(l),h=null;return void 0!==u&&(t.fetchValue(6).addModifier(t,u,i),h=u.manager.getTag(u.state),null!==h&&Se(h)),!kn(n)||h?t.updateWith(new wm(h,u,l)):void 0});class bm{constructor(t,e){this.tag=t,this.modifier=e,this.lastUpdated=Zt(t)}evaluate(t){let{modifier:e,tag:n,lastUpdated:i}=this;Se(n),Jt(n,i)||(t.env.scheduleUpdateModifier(e),this.lastUpdated=Zt(n))}}class wm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=Zt(t??he)}evaluate(t){let{tag:e,lastUpdated:n,instance:i,instanceRef:r}=this,s=Rn(r);if(s!==i){if(void 0!==i){let t=i.manager.getDestroyable(i.state);null!==t&&At(t)}if(void 0!==s){let{manager:n,state:i}=s,r=n.getDestroyable(i);null!==r&&Mt(this,r),e=n.getTag(i),null!==e&&(this.lastUpdated=Zt(e)),this.tag=e,t.env.scheduleInstallModifier(s)}this.instance=s}else null===e||Jt(e,n)||(t.env.scheduleUpdateModifier(i),this.lastUpdated=Zt(e));null!==e&&Se(e)}}qg.add(51,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.tree().setStaticAttribute(r,s,o)}),qg.add(52,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=Rn(o),l=i?t.constants.getValue(i):null,u=t.tree().setDynamicAttribute(r,a,s,l);kn(o)||t.updateWith(new xm(o,u,t.env))});class xm{constructor(t,e,n){let i=!1;this.updateRef=xn(()=>{let r=Rn(t);i?e.update(r,n):i=!0}),Rn(this.updateRef)}evaluate(){Rn(this.updateRef)}}qg.add(78,(t,{op1:e})=>{let n=t.constants.getValue(e),{manager:i,capabilities:r}=n,s={definition:n,manager:i,capabilities:r,state:null,handle:null,table:null,lookup:null};t.stack.push(s)}),qg.add(80,(t,{op1:e})=>{let n,i=t.stack,r=Rn(i.pop()),s=t.constants,o=t.getOwner();if(s.getValue(e),t.loadValue(7,null),"string"==typeof r){let e=function(t,e,n,i){let r=t?.lookupComponent?.(n,i)??null;return e.resolvedComponent(r,n)}(t.context.resolver,s,r,o);n=e}else n=Xg(r)?r:s.component(r,o);i.push(n)}),qg.add(81,t=>{let e,n=t.stack,i=Rn(n.pop()),r=t.constants;e=Xg(i)?i:r.component(i,t.getOwner(),!0),n.push(e)}),qg.add(79,t=>{let e,n,{stack:i}=t,r=i.pop();Xg(r)?n=e=null:(n=r.manager,e=r.capabilities),i.push({definition:r,capabilities:e,manager:n,state:null,handle:null,table:null})}),qg.add(82,(t,{op1:e,op2:n,op3:i})=>{let r=t.stack,s=t.constants.getArray(e),o=i>>4,a=8&i,l=7&i?t.constants.getArray(n):Ze;t.args.setup(r,s,l,o,!!a),r.push(t.args)}),qg.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),qg.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),qg.add(85,(t,{op1:e})=>{let n=t.stack,i=t.fetchValue(e),r=n.pop(),{definition:s}=i;if(Yg(s,0)){s.manager;let e=t.constants,{definition:n,owner:o,resolved:a,positional:l,named:u}=Jg(s);if(a)s=n;else if("string"==typeof n){let i=t.context.resolver?.lookupComponent?.(n,o)??null;s=e.resolvedComponent(i,n)}else s=e.component(n,o);void 0!==u&&r.named.merge(un({},...u)),void 0!==l&&(r.realloc(l.length),r.positional.prepend(l));let{manager:h}=s;i.definition=s,i.manager=h,i.capabilities=s.capabilities,t.loadValue(7,o)}let{manager:o,state:a}=s;if(!ni(0,i.capabilities,Gn.prepareArgs))return void n.push(r);let l=r.blocks.values,u=r.blocks.names,h=o.prepareArgs(a,r);if(h){r.clear();for(let r=0;r{let n=t.fetchValue(4),{definition:i,manager:r,capabilities:s}=n;if(!ni(0,s,Gn.createInstance))return;let o=null;ni(0,s,Gn.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;ni(0,s,Gn.createArgs)&&(l=t.stack.peek());let u=null;ni(0,s,Gn.createCaller)&&(u=t.getSelf());let h=r.create(t.getOwner(),i.state,l,t.env,o,u,!!a);n.state=h,ni(0,s,Gn.updateHook)&&t.updateWith(new Tm(h,r,o))}),qg.add(88,(t,{op1:e})=>{let{manager:n,state:i,capabilities:r}=t.fetchValue(e),s=n.getDestroyable(i);s&&t.associateDestroyable(s)}),qg.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),qg.add(89,t=>{t.loadValue(6,new Sm)}),qg.add(53,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=i?t.constants.getValue(i):null;t.fetchValue(6).setAttribute(r,o,s,a)}),qg.add(105,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.fetchValue(6).setStaticAttribute(r,s,o)});class Sm{setAttribute(t,e,n,i){let r={value:e,namespace:i,trusting:n};"class"===t&&this.classes.push(e),this.attributes[t]=r}setStaticAttribute(t,e,n){let i={value:e,namespace:n};"class"===t&&this.classes.push(e),this.attributes[t]=i}addModifier(t,e,n){if(this.modifiers.push(e),void 0!==t.env.debugRenderTree){const{manager:i,definition:r,state:s}=e;if(null===s||"object"!=typeof s&&"function"!=typeof s)return;let{element:o,constructing:a}=t.tree(),l=r.resolvedName??i.getDebugName(r.state),u=i.getDebugInstance(s),h=new im(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:u}),t.env.debugRenderTree.didRender(s,h),t.associateDestroyable(s),t.updateWith(new Pm(s)),t.updateWith(new Mm(s,h)),It(s,()=>{t.env.debugRenderTree?.willDestroy(s)})}}flush(t){let e,n=this.attributes;for(let i in this.attributes){if("type"===i){e=n[i];continue}let r=this.attributes[i];"class"===i?Cm(t,"class",Em(this.classes),r.namespace,r.trusting):Cm(t,i,r.value,r.namespace,r.trusting)}return void 0!==e&&Cm(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=rn(),this.classes=[],this.modifiers=[]}}function Em(t){return 0===t.length?"":1===t.length?t[0]:function(t){return t.every(t=>"string"==typeof t)}(t)?t.join(" "):(e=t,xn(()=>{let t=[];for(const n of e){let e=hm("string"==typeof n?n:Rn(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function Cm(t,e,n,i,r=!1){if("string"==typeof n)t.tree().setStaticAttribute(e,n,i);else{let s=t.tree().setDynamicAttribute(e,Rn(n),r,i);kn(n)||t.updateWith(new xm(n,s,t.env))}}function km(t,e,n,i,r){let s=n.table.symbols.indexOf(t),o=i.get(e);-1!==s&&r.scope().bindBlock(s+1,o),n.lookup&&(n.lookup[t]=o)}qg.add(99,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=t.fetchValue(6);r.didCreateElement(i,t.tree().constructing,s)}),qg.add(90,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e),{definition:r,state:s}=i,{manager:o}=r,a=o.getSelf(s);if(void 0!==t.env.debugRenderTree){let i,r,o=t.fetchValue(e),{definition:l,manager:u}=o;if(t.stack.peek()===t.args)i=t.args.capture();else{let e=t.constants.getArray(n);t.args.setup(t.stack,e,[],0,!0),i=t.args.capture()}let h=l.compilable;if(null===h){ni(0,o.capabilities,Gn.dynamicLayout);let e=t.context.resolver;h=null===e?null:u.getDynamicLayout(s,e),r=null!==h?h.moduleName:"__default__.hbs"}else r=h.moduleName;if(t.associateDestroyable(o),om(u))u.getDebugCustomRenderTree(o.definition.state,o.state,i,r).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),It(o,()=>{t.env.debugRenderTree?.willDestroy(n)}),t.updateWith(new Pm(n))});else{let e=function(t,e=t.manager){return t.resolvedName??t.debugName??e.getDebugName(t.state)}(l,u);t.env.debugRenderTree.create(o,{type:"component",name:e,args:i,template:r,instance:Rn(a)}),It(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new Pm(o))}}t.stack.push(a)}),qg.add(91,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=r.getTagName(i);t.stack.push(s)}),qg.add(92,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,definition:r}=n,{stack:s}=t,{compilable:o}=r;if(null===o){let{capabilities:e}=n,r=t.context.resolver;o=null===r?null:i.getDynamicLayout(n.state,r),null===o&&(o=ni(0,e,Gn.wrapped)?Ug(t.constants.defaultTemplate).asWrappedLayout():Ug(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),qg.add(75,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),{manager:r,capabilities:s}=n,o={definition:n,manager:r,capabilities:s,state:null,handle:i.handle,table:i.symbolTable,lookup:null};t.loadValue(e,o)}),qg.add(95,(t,{op1:e})=>{let{stack:n}=t,i=n.pop(),r=n.pop(),s=t.fetchValue(e);s.handle=i,s.table=r}),qg.add(38,(t,{op1:e})=>{let n,{table:i,manager:r,capabilities:s,state:o}=t.fetchValue(e);ni(0,s,Gn.hasSubOwner)?(n=r.getOwner(o),t.loadValue(7,null)):(n=t.fetchValue(7),null===n?n=t.getOwner():t.loadValue(7,null)),t.pushRootScope(i.symbols.length+1,n)}),qg.add(17,(t,{op1:e})=>{let n=t.fetchValue(e),i=t.scope(),r=t.stack.peek(),s=r.named.atNames;for(let o=s.length-1;o>=0;o--){let t=s[o],e=n.table.symbols.indexOf(t),a=r.named.get(t,!0);-1!==e&&i.bindSymbol(e+1,a),n.lookup&&(n.lookup[t]=a)}}),qg.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:i}=t.stack.peek();for(const[r]of tn(i.names))km(i.symbolNames[r],i.names[r],n,i,t)}),qg.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),qg.add(100,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,state:r,capabilities:s}=n,o=t.tree().popBlock();void 0!==t.env.debugRenderTree&&(om(i)?i.getDebugCustomRenderTree(n.definition.state,r,Km).reverse().forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.didRender(n,o),t.updateWith(new Mm(n,o))}):(t.env.debugRenderTree.didRender(n,o),t.updateWith(new Mm(n,o)))),ni(0,s,Gn.createInstance)&&(i.didRenderLayout(r,o),t.env.didCreate(n),t.updateWith(new Rm(n,o)))}),qg.add(98,t=>{t.commitCacheGroup()});class Tm{constructor(t,e,n){this.component=t,this.manager=e,this.dynamicScope=n}evaluate(t){let{component:e,manager:n,dynamicScope:i}=this;n.update(e,i)}}class Rm{constructor(t,e){this.component=t,this.bounds=e}evaluate(t){let{component:e,bounds:n}=this,{manager:i,state:r}=e;i.didUpdateLayout(r,n),t.env.didUpdate(e)}}class Pm{constructor(t){this.bucket=t}evaluate(t){t.env.debugRenderTree?.update(this.bucket)}}class Mm{constructor(t,e){this.bucket=t,this.bounds=e}evaluate(t){t.env.debugRenderTree?.didRender(this.bucket,this.bounds)}}class Im{constructor(){this.stack=null,this.positional=new Am,this.named=new Fm,this.blocks=new Dm}empty(t){let e=t.registers[3]+1;return this.named.empty(t,e),this.positional.empty(t,e),this.blocks.empty(t,e),this}setup(t,e,n,i,r){this.stack=t;let s=this.named,o=e.length,a=t.registers[3]-o+1;s.setup(t,a,o,e,r);let l=a-i;this.positional.setup(t,l,i);let u=this.blocks,h=n.length,c=l-3*h;u.setup(t,c,h,n)}get base(){return this.blocks.base}get length(){return this.positional.length+this.named.length+3*this.blocks.length}at(t){return this.positional.at(t)}realloc(t){let{stack:e}=this;if(t>0&&null!==e){let{positional:n,named:i}=this,r=n.base+t;for(let t=n.length+i.length-1;t>=0;t--)e.copy(t+n.base,t+r);n.base+=t,i.base+=t,e.registers[3]+=t}}capture(){let t=0===this.positional.length?Hm:this.positional.capture();return{named:0===this.named.length?Wm:this.named.capture(),positional:t}}clear(){let{stack:t,length:e}=this;e>0&&null!==t&&t.pop(e)}}const Om=Ye();class Am{constructor(){this.base=0,this.length=0,this.stack=null,this._references=null}empty(t,e){this.stack=t,this.base=e,this.length=0,this._references=Om}setup(t,e,n){this.stack=t,this.base=e,this.length=n,this._references=0===n?Om:null}at(t){let{base:e,length:n,stack:i}=this;return t<0||t>=n?mn:i.get(t,e)}capture(){return this.references}prepend(t){let e=t.length;if(e>0){let{base:n,length:i,stack:r}=this;this.base=n-=e,this.length=i+e;for(let s=0;s0){let{names:n,length:i,stack:r}=this,s=n.slice();for(const o of e)-1===s.indexOf(o)&&(i=s.push(o),r.push(t[o]));this.length=i,this._references=null,this._names=s,this._atNames=null}}get references(){let t=this._references;if(!t){let{base:e,length:n,stack:i}=this;t=this._references=i.slice(e,e+n)}return t}toSyntheticName(t){return t.slice(1)}toAtName(t){return`@${t}`}}function Lm(t){return`&${t}`}const Nm=Ye();class Dm{constructor(){this.internalValues=null,this._symbolNames=null,this.internalTag=null,this.names=Ze,this.length=0,this.base=0}empty(t,e){this.stack=t,this.names=Ze,this.base=e,this.length=0,this._symbolNames=null,this.internalTag=se,this.internalValues=Nm}setup(t,e,n,i){this.stack=t,this.names=i,this.base=e,this.length=n,this._symbolNames=null,0===n?(this.internalTag=se,this.internalValues=Nm):(this.internalTag=null,this.internalValues=null)}get values(){let t=this.internalValues;if(!t){let{base:e,length:n,stack:i}=this;t=this.internalValues=i.slice(e,e+3*n)}return t}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);if(-1===e)return null;let{base:n,stack:i}=this,r=i.get(3*e,n),s=i.get(3*e+1,n),o=i.get(3*e+2,n);return null===o?null:[o,s,r]}capture(){return new jm(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(Lm)),t}}class jm{constructor(t,e){this.names=t,this.values=e,this.length=t.length}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);return-1===e?null:[this.values[3*e+2],this.values[3*e+1],this.values[3*e]]}}function zm(t,e){return{named:t,positional:e}}function Um(t){let e=rn();for(const[n,i]of Object.entries(t))e[n]=Rn(i);return e}function Bm(t){return t.map(Rn)}const qm=Symbol("ARGUMENT_ERROR");function $m(t){return null!==t&&"object"==typeof t&&t[qm]}function Gm(t){return{[qm]:!0,error:t}}function Vm(t){return{named:function(t){let e=rn();for(const[i,r]of Object.entries(t))try{e[i]=Rn(r)}catch(n){e[i]=Gm(n)}return e}(t.named),positional:(e=t.positional,e.map(t=>{try{return Rn(t)}catch(e){return Gm(e)}}))};var e}const Wm=Object.freeze(Object.create(null)),Hm=Om,Km=zm(Wm,Hm);function Xm(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Ym(t){let e,n=vi(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Zm(t){return t===mn}qg.add(77,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=i.pop(),o=t.getOwner();t.context.resolver,t.loadValue(8,function(t,e,n,i){let r,s;return xn(()=>{let o=Rn(e);return o===r||(s=Yg(o,t)?i?Qg(t,o,n,i):i:0===t&&"string"==typeof o&&o||on(o)?Qg(t,o,n,i):null,r=o),s})}(e,r,o,s))}),qg.add(107,t=>{let e,n=t.stack,i=n.pop(),r=n.pop().capture(),s=t.getOwner(),o=xn(()=>{void 0!==e&&At(e);let t=Rn(i);if(Yg(t,1)){let{definition:n,owner:i,positional:s,named:a}=Jg(t),l=Ym(n);void 0!==a&&(r.named=un({},...a,r.named)),void 0!==s&&(r.positional=s.concat(r.positional)),e=l(r,i),Mt(o,e)}else if(on(t)){let n=Ym(t);e=n(r,s),Ft(e)&&Mt(o,e)}else e=mn}),a=xn(()=>(Rn(o),Rn(e)));t.associateDestroyable(o),t.loadValue(8,a)}),qg.add(16,(t,{op1:e})=>{let n=t.stack,i=t.constants.getValue(e)(n.pop().capture(),t.getOwner(),t.dynamicScope());Ft(i)&&t.associateDestroyable(i),t.loadValue(8,i)}),qg.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),qg.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),qg.add(20,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),r=t.stack.pop();t.scope().bindBlock(e,[n,i,r])}),qg.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),qg.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),i=t.stack.pop();t.stack.push(Mn(i,n))}),qg.add(23,(t,{op1:e})=>{let{stack:n}=t,i=t.scope().getBlock(e);n.push(i)}),qg.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Zm(n)){let[t,i,r]=n;e.push(r),e.push(i),e.push(t)}else e.push(null),e.push(null),e.push(null)}),qg.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Zm(n)?e.push(_n):e.push(vn)}),qg.add(26,t=>{t.stack.pop(),t.stack.pop();let e=t.stack.pop(),n=e&&e.parameters.length;t.stack.push(n?_n:vn)}),qg.add(27,(t,{op1:e})=>{let n=new Array(e);for(let r=e;r>0;r--)n[r-1]=t.stack.pop();var i;t.stack.push((i=n,xn(()=>{const t=[];for(const e of i){const n=Rn(e);null!=n&&t.push(Xm(n))}return t.length>0?t.join(""):null})))}),qg.add(109,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop();t.stack.push(xn(()=>yt(Rn(e))?Rn(n):Rn(i)))}),qg.add(110,t=>{let e=t.stack.pop();t.stack.push(xn(()=>!yt(Rn(e))))}),qg.add(111,t=>{let e=t.dynamicScope(),n=t.stack,i=n.pop();n.push(xn(()=>{let t=String(Rn(i));return Rn(e.get(t))}))}),qg.add(112,t=>{let{positional:e}=t.stack.pop().capture();t.loadValue(8,xn(()=>{console.log(...Bm(e))}))});class Jm{constructor(t,e,n){this.node=t,this.reference=e,this.lastValue=n}evaluate(){let t,e=Rn(this.reference),{lastValue:n}=this;e!==n&&(t=cm(e)?"":fm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function Qm(t){return function(t){return fm(t)||cm(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Yg(t,0)||xi(t)?0:Yg(t,1)||Si(t)?1:pm(t)?4:function(t){return dm(t)&&11===t.nodeType}(t)?5:function(t){return dm(t)&&"number"==typeof t.nodeType}(t)?6:2}function ty(t){return on(t)?Yg(t,0)||xi(t)?0:1:2}function ey(t,e){console.info("Use `context`, and `get()` to debug this template."),e("this")}qg.add(76,t=>{let e=t.stack.peek();t.stack.push(Qm(Rn(e))),kn(e)||t.updateWith(new mm(e,Qm))}),qg.add(106,t=>{let e=t.stack.peek();t.stack.push(ty(Rn(e))),kn(e)||t.updateWith(new mm(e,ty))}),qg.add(43,t=>{let e=Rn(t.stack.pop()),n=cm(e)?"":String(e);t.tree().appendDynamicHTML(n)}),qg.add(44,t=>{let e=Rn(t.stack.pop()).toHTML(),n=cm(e)?"":e;t.tree().appendDynamicHTML(n)}),qg.add(47,t=>{let e=t.stack.pop(),n=Rn(e),i=cm(n)?"":String(n),r=t.tree().appendDynamicText(i);kn(e)||t.updateWith(new Jm(r,e,i))}),qg.add(45,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicFragment(e)}),qg.add(46,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicNode(e)});let ny=ey;class iy{#f;constructor(t,e){this.scope=t,this.#f=e}get(t){let e,{scope:n}=this,i=this.#f,r=t.split("."),[s,...o]=t.split(".");return"this"===s?e=n.getSelf():i.locals[s]?e=n.getSymbol(i.locals[s]):(e=this.scope.getSelf(),o=r),o.reduce((t,e)=>Mn(t,e),e)}}qg.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),i=new iy(t.scope(),n);ny(Rn(t.getSelf()),t=>Rn(i.get(t)))}),qg.add(72,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=Rn(i.pop()),o=zn(r,null===s?"@identity":String(s)),a=Rn(o);t.updateWith(new mm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),qg.add(73,t=>{t.exitList()}),qg.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const ry={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!1,wrapped:!1,willDestroy:!1,hasSubOwner:!1};class sy{getCapabilities(){return ry}getDebugName({name:t}){return t}getSelf(){return yn}getDestroyable(){return null}}const oy=new sy;class ay{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function ly(t,e){return new ay(t,e)}bi(oy,ay.prototype);const uy={foreignObject:1,desc:1,title:1},hy=Object.create(null);class cy{constructor(t){this.document=t,this.setupUselessElement()}setupUselessElement(){this.uselessElement=this.document.createElement("div")}createElement(t,e){let n,i,r,s;if(e?(n=e.namespaceURI===Dg||"svg"===t,r=e.namespaceURI===Ng||"math"===t,i=!!uy[e.tagName]):(n="svg"===t,r="math"===t,i=!1),!r&&!n||i)return this.document.createElement(t);if(hy[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=r?Ng:Dg,this.document.createElementNS(s,t)}insertBefore(t,e,n){t.insertBefore(e,n)}insertHTMLBefore(t,e,n){if(""===n){const n=this.createComment("");return t.insertBefore(n,e),new im(t,n,n)}const i=e?e.previousSibling:t.lastChild;let r;if(null===e)t.insertAdjacentHTML("beforeend",n),r=t.lastChild;else if(e instanceof HTMLElement)e.insertAdjacentHTML("beforebegin",n),r=e.previousSibling;else{const{uselessElement:i}=this;t.insertBefore(i,e),i.insertAdjacentHTML("beforebegin",n),r=i.previousSibling,t.removeChild(i)}const s=i?i.nextSibling:t.firstChild;return new im(t,s,r)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function dy(t,e,n){if(!t)return e;if(!function(t,e){const n=t.createElementNS(e,"svg");try{n.insertAdjacentHTML("beforeend","")}catch{}finally{return 1!==n.childNodes.length||n.firstChild.namespaceURI!==Dg}}(t,n))return e;const i=t.createElement("div");return class extends e{insertHTMLBefore(t,e,r){return""===r||t.namespaceURI!==n?super.insertHTMLBefore(t,e,r):function(t,e,n,i){let r;if("FOREIGNOBJECT"===t.tagName.toUpperCase()){const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild.firstChild}else{const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild}return function(t,e,n){const i=t.firstChild;let r=i,s=i;for(;s;){const t=s.nextSibling;e.insertBefore(s,n),r=s,s=t}return new im(e,i,r)}(r,t,i)}(t,i,r,e)}}}function py(t,e){return t&&function(t){const e=t.createElement("div");return e.appendChild(t.createTextNode("first")),e.insertAdjacentHTML("beforeend","second"),2!==e.childNodes.length}(t)?class extends e{constructor(t){super(t),this.uselessComment=t.createComment("")}insertHTMLBefore(t,e,n){if(""===n)return super.insertHTMLBefore(t,e,n);let i=!1;const r=e?e.previousSibling:t.lastChild;r&&r instanceof Text&&(i=!0,t.insertBefore(this.uselessComment,e));const s=super.insertHTMLBefore(t,e,n);return i&&t.removeChild(this.uselessComment),s}}:e}const fy="undefined"==typeof document?null:jg(document);let gy=class extends cy{createElementNS(t,e){return this.document.createElementNS(t,e)}setAttribute(t,e,n,i=null){i?t.setAttributeNS(i,e,n):t.setAttribute(e,n)}};gy=py(fy,gy),gy=dy(fy,gy,Dg);const my=gy;["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","main","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].forEach(t=>hy[t]=1);const yy=/[\t\n\v\f\r \xa0\u{1680}\u{180e}\u{2000}-\u{200a}\u{2028}\u{2029}\u{202f}\u{205f}\u{3000}\u{feff}]/u,_y="undefined"==typeof document?null:jg(document);class vy extends cy{constructor(t){super(t),this.document=t,this.namespace=null}setAttribute(t,e,n){t.setAttribute(e,n)}removeAttribute(t,e){t.removeAttribute(e)}insertAfter(t,e,n){this.insertBefore(t,e,n.nextSibling)}}let by=vy;by=py(_y,by),by=dy(_y,by,Dg);const wy=by;function xy(t,e){let n,i;if(e in t)i=e,n="prop";else{let r=e.toLowerCase();r in t?(n="prop",i=r):(n="attr",i=e)}return"prop"!==n||"style"!==i.toLowerCase()&&!function(t,e){let n=Sy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,i)||(n="attr"),{normalized:i,type:n}}const Sy={INPUT:{form:!0,autocorrect:!0,list:!0},SELECT:{form:!0},OPTION:{form:!0},TEXTAREA:{form:!0},LABEL:{form:!0},FIELDSET:{form:!0},LEGEND:{form:!0},OBJECT:{form:!0},OUTPUT:{form:!0},BUTTON:{form:!0}},Ey=Symbol("TRANSACTION");class Cy{didCreate(t){this.createdComponents.push(t)}didUpdate(t){this.updatedComponents.push(t)}scheduleInstallModifier(t){this.scheduledInstallModifiers.push(t)}scheduleUpdateModifier(t){this.scheduledUpdateModifiers.push(t)}commit(){let{createdComponents:t,updatedComponents:e}=this;for(const{manager:r,state:s}of t)r.didCreate(s);for(const{manager:r,state:s}of e)r.didUpdate(s);let{scheduledInstallModifiers:n,scheduledUpdateModifiers:i}=this;for(const{manager:r,state:s,definition:o}of n){let t=r.getTag(s);if(null!==t){let e=Ie(()=>r.install(s));ne(t,e)}else r.install(s)}for(const{manager:r,state:s,definition:o}of i){let t=r.getTag(s);if(null!==t){let e=Ie(()=>r.update(s));ne(t,e)}else r.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class ky{static{Py=Ey}constructor(t,e){this.delegate=e,this[Py]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new um:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?$m:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new my(t.document),this.updateOperations=new vy(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[Ey],this.debugRenderTree?.begin(),this[Ey]=new Cy}get transaction(){return this[Ey]}didCreate(t){this.transaction.didCreate(t)}didUpdate(t){this.transaction.didUpdate(t)}scheduleInstallModifier(t){this.isInteractive&&this.transaction.scheduleInstallModifier(t)}scheduleUpdateModifier(t){this.isInteractive&&this.transaction.scheduleUpdateModifier(t)}commit(){let t=this.transaction;this[Ey]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function Ty(t,e,n,i){return{env:new ky(t,e),program:new Lg(n.constants,n.heap),resolver:i}}function Ry(t,e){if(t[Ey])e();else{t.begin();try{e()}finally{t.commit()}}}var Py;function My(t){return yi(t,{})}const Iy=My(({positional:t})=>xn(()=>Bm(t),null)),Oy=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),Ay=My(({positional:t})=>xn(()=>Bm(t).map(Oy).join(""),null)),Fy=My(({positional:t})=>{let e=t[0];return xn(()=>(...n)=>{let[i,...r]=Bm(t);if(!En(e))return i.call(null,...r,...n);{let t=r.length>0?r[0]:n[0];Pn(e,t)}},null)}),Ly=My(({positional:t})=>{let e=t[0]??mn,n=t[1]??mn;return xn(()=>{let t=Rn(e);if(sn(t))return bt(t,String(Rn(n)))},t=>{let i=Rn(e);if(sn(i))return wt(i,String(Rn(n)),t)})}),Ny=My(({named:t})=>{let e=xn(()=>Um(t),null),n=new Map;for(let i in t)n.set(i,t[i]);return e.children=n,e});function Dy(t){return Pe(t.argsCache)}class jy{constructor(t,e=()=>Km){let n=Re(()=>e(t));this.argsCache=n}get named(){return Dy(this).named||Wm}get positional(){return Dy(this).positional||Hm}}class zy{constructor(t,e){this.tag=re(),this.listener=null,this.element=t,this.args=e,It(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:i,options:r}=e;qy(t,n,i,r)}})}updateListener(){let{element:t,args:e,listener:n}=this;e.positional[0];let i=Rn(e.positional[0]);e.positional[1];let r,s,o,a=Rn(e.positional[1]);{let{once:t,passive:n,capture:i}=e.named;t&&(r=Rn(t)),n&&(s=Rn(n)),i&&(o=Rn(i))}let l,u=!1;if(u=null===n||i!==n.eventName||a!==n.userProvidedCallback||r!==n.once||s!==n.passive||o!==n.capture,u&&(void 0===r&&void 0===s&&void 0===o||(l={once:r,passive:s,capture:o})),u){let e=a;this.listener={eventName:i,callback:e,userProvidedCallback:a,once:r,passive:s,capture:o,options:l},n&&qy(t,n.eventName,n.callback,n.options),function(t,e,n,i){Uy++,t.addEventListener(e,n,i)}(t,i,e,l)}}}let Uy=0,By=0;function qy(t,e,n,i){By++,t.removeEventListener(e,n,i)}const $y=gi(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:Uy,removes:By}}create(t,e,n,i){return new zy(e,i)}getTag({tag:t}){return t}install(t){t.updateListener()}update(t){t.updateListener()}getDestroyable(t){return t}},{});class Gy{constructor(t,e,n,i){this.stack=t,this.externs=n,this.currentOpSize=0,this.context=e,this.registers=i}fetchRegister(t){return this.registers[t]}loadRegister(t,e){this.registers[t]=e}setPc(t){this.registers[0]=t}pushFrame(){this.stack.push(this.registers[1]),this.stack.push(this.registers[2]),this.registers[2]=this.registers[3]-1}popFrame(){this.registers[3]=this.registers[2]-1,this.registers[1]=this.stack.get(0),this.registers[2]=this.stack.get(1)}pushSmallFrame(){this.stack.push(this.registers[1])}popSmallFrame(){this.registers[1]=this.stack.pop()}goto(t){this.setPc(this.target(t))}target(t){return this.registers[0]+t-this.currentOpSize}call(t){this.registers[1]=this.registers[0],this.setPc(this.context.program.heap.getaddr(t))}returnTo(t){this.registers[1]=this.target(t)}return(){this.setPc(this.registers[1])}nextStatement(){let{registers:t,context:e}=this,n=t[0];if(-1===n)return null;let i=e.program.opcode(n),r=this.currentOpSize=i.size;return this.registers[0]+=r,i}evaluateOuter(t,e){this.evaluateInner(t,e)}evaluateInner(t,e){t.isMachine?this.evaluateMachine(t,e):this.evaluateSyscall(t,e)}evaluateMachine(t,e){switch(t.type){case 0:return void this.pushFrame();case 1:return void this.popFrame();case 3:return void this.call(t.op1);case 2:return void e.call(this.stack.pop());case 4:return void this.goto(t.op1);case 5:return void e.return();case 6:return void this.returnTo(t.op1)}}evaluateSyscall(t,e){qg.evaluate(e,t,t.type)}}const Vy=["javascript:","vbscript:"],Wy=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],Hy=["EMBED"],Ky=["href","src","background","action"],Xy=["src"];function Yy(t,e){return-1!==t.indexOf(e)}function Zy(t,e){return(null===t||Yy(Wy,t))&&Yy(Ky,e)}function Jy(t,e){return null!==t&&Yy(Hy,t)&&Yy(Xy,e)}function Qy(t,e){return Zy(t,e)||Jy(t,e)}let t_;function e_(t,e,n){if(null==n)return n;if(pm(n))return n.toHTML();const i=t.tagName.toUpperCase();let r=hm(n);if(Zy(i,e)){let t=(s=r,t_||(t_=function(){const t=URL;if("object"==typeof t&&null!==t&&"function"==typeof t.parse){let e=t;return t=>{let n=null;return"string"==typeof t&&(n=e.parse(t).protocol),null===n?":":n}}if("function"==typeof t)return e=>{try{return new t(e).protocol}catch{return":"}};throw new Error('@glimmer/runtime needs a valid "globalThis.URL"')}()),t_(s));if(Yy(Vy,t))return`unsafe:${r}`}var s;return Jy(i,e)?`unsafe:${r}`:r}function n_(t,e,n){const{tagName:i,namespaceURI:r}=t,s={element:t,name:e,namespace:n};if(r===Dg)return i_(i,e,s);const{type:o,normalized:a}=xy(t,e);return"attr"===o?i_(i,a,s):function(t,e,n){return Qy(t,e)?new a_(e,n):function(t,e){return("INPUT"===t||"TEXTAREA"===t)&&"value"===e}(t,e)?new u_(e,n):function(t,e){return"OPTION"===t&&"selected"===e}(t,e)?new h_(e,n):new o_(e,n)}(i,a,s)}function i_(t,e,n){return Qy(t,e)?new l_(n):new s_(n)}class r_{constructor(t){this.attribute=t}}class s_ extends r_{set(t,e,n){const i=c_(e);if(null!==i){const{name:e,namespace:n}=this.attribute;t.__setAttribute(e,i,n)}}update(t,e){const n=c_(t),{element:i,name:r}=this.attribute;null===n?i.removeAttribute(r):i.setAttribute(r,n)}}class o_ extends r_{constructor(t,e){super(e),this.normalizedName=t}set(t,e,n){null!=e&&(this.value=e,t.__setProperty(this.normalizedName,e))}update(t,e){const{element:n}=this.attribute;this.value!==t&&(n[this.normalizedName]=this.value=t,null==t&&this.removeAttribute())}removeAttribute(){const{element:t,namespace:e}=this.attribute;e?t.removeAttributeNS(e,this.normalizedName):t.removeAttribute(this.normalizedName)}}class a_ extends o_{set(t,e,n){const{element:i,name:r}=this.attribute,s=e_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=e_(n,i,t);super.update(r,e)}}class l_ extends s_{set(t,e,n){const{element:i,name:r}=this.attribute,s=e_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=e_(n,i,t);super.update(r,e)}}class u_ extends o_{set(t,e){t.__setProperty("value",hm(e))}update(t){const e=this.attribute.element,n=e.value,i=hm(t);n!==i&&(e.value=i)}}class h_ extends o_{set(t,e){null!=e&&!1!==e&&t.__setProperty("selected",!0)}update(t){this.attribute.element.selected=!!t}}function c_(t){return!1===t||null==t||void 0===t.toString?null:!0===t?"":"function"==typeof t?null:String(t)}class d_{constructor(t){this.node=t}firstNode(){return this.node}}class p_{constructor(t){this.node=t}lastNode(){return this.node}}class f_{static forInitialRender(t,e){return new this(t,e.element,e.nextSibling).initialize()}static resume(t,e){let n=new this(t,e.parentElement(),e.reset(t)).initialize();return n.pushBlock(e),n}constructor(t,e,n){this.constructing=null,this.operations=null,this.cursors=new an,this.modifierStack=new an,this.blockStack=new an,this.pushElement(e,n),this.env=t,this.dom=t.getAppendOperations(),this.updateOperations=t.getDOM()}initialize(){return this.pushAppendingBlock(),this}debugBlocks(){return this.blockStack.toArray()}get element(){return this.cursors.current.element}get nextSibling(){return this.cursors.current.nextSibling}get hasBlocks(){return this.blockStack.size>0}block(){return this.blockStack.current}popElement(){this.cursors.pop(),this.cursors.current}pushAppendingBlock(){return this.pushBlock(new g_(this.element))}pushResettableBlock(){return this.pushBlock(new y_(this.element))}pushBlockList(t){return this.pushBlock(new __(this.element,t))}pushBlock(t,e=!1){let n=this.blockStack.current;return null!==n&&(e||n.didAppendBounds(t)),this.__openBlock(),this.blockStack.push(t),t}popBlock(){return this.block().finalize(this),this.__closeBlock(),this.blockStack.pop()}__openBlock(){}__closeBlock(){}openElement(t){let e=this.__openElement(t);return this.constructing=e,e}__openElement(t){return this.dom.createElement(t,this.element)}flushElement(t){let e=this.element,n=this.constructing;this.__flushElement(e,n),this.constructing=null,this.operations=null,this.pushModifiers(t),this.pushElement(n,null),this.didOpenElement(n)}__flushElement(t,e){this.dom.insertBefore(t,e,this.nextSibling)}closeElement(){return this.willCloseElement(),this.popElement(),this.popModifiers()}pushRemoteElement(t,e,n){return this.__pushRemoteElement(t,e,n)}__pushRemoteElement(t,e,n){if(this.pushElement(t,n),void 0===n)for(;t.lastChild;)t.removeChild(t.lastChild);let i=new m_(t);return this.pushBlock(i,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new nm(t,e))}pushModifiers(t){this.modifierStack.push(t)}popModifiers(){return this.modifierStack.pop()}didAppendBounds(t){return this.block().didAppendBounds(t),t}didAppendNode(t){return this.block().didAppendNode(t),t}didOpenElement(t){return this.block().openElement(t),t}willCloseElement(){this.block().closeElement()}appendText(t){return this.didAppendNode(this.__appendText(t))}__appendText(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createTextNode(t);return e.insertBefore(n,r,i),r}__appendNode(t){return this.dom.insertBefore(this.element,t,this.nextSibling),t}__appendFragment(t){let e=t.firstChild;if(e){let n=new im(this.element,e,t.lastChild);return this.dom.insertBefore(this.element,t,this.nextSibling),n}{const t=this.__appendComment("");return new im(this.element,t,t)}}__appendHTML(t){return this.dom.insertHTMLBefore(this.element,this.nextSibling,t)}appendDynamicHTML(t){let e=this.trustedContent(t);this.didAppendBounds(e)}appendDynamicText(t){let e=this.untrustedContent(t);return this.didAppendNode(e),e}appendDynamicFragment(t){let e=this.__appendFragment(t);this.didAppendBounds(e)}appendDynamicNode(t){let e=this.__appendNode(t),n=new im(this.element,e,e);this.didAppendBounds(n)}trustedContent(t){return this.__appendHTML(t)}untrustedContent(t){return this.__appendText(t)}appendComment(t){return this.didAppendNode(this.__appendComment(t))}__appendComment(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createComment(t);return e.insertBefore(n,r,i),r}__setAttribute(t,e,n){this.dom.setAttribute(this.constructing,t,e,n)}__setProperty(t,e){this.constructing[t]=e}setStaticAttribute(t,e,n){this.__setAttribute(t,e,n)}setDynamicAttribute(t,e,n,i){let r=n_(this.constructing,t,i);return r.set(this,e,this.env),r}}class g_{constructor(t){this.parent=t,this.first=null,this.last=null,this.nesting=0}parentElement(){return this.parent}firstNode(){return this.first.firstNode()}lastNode(){return this.last.lastNode()}openElement(t){this.didAppendNode(t),this.nesting++}closeElement(){this.nesting--}didAppendNode(t){0===this.nesting&&(this.first||(this.first=new d_(t)),this.last=new p_(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class m_ extends g_{constructor(t){super(t),It(this,()=>{this.parentElement()===this.firstNode().parentNode&&sm(this)})}}class y_ extends g_{constructor(t){super(t)}reset(){At(this);let t=sm(this);return this.first=null,this.last=null,this.nesting=0,t}}class __{constructor(t,e){this.parent=t,this.boundList=e,this.parent=t,this.boundList=e}parentElement(){return this.parent}firstNode(){return this.boundList[0].firstNode()}lastNode(){let t=this.boundList;return t[t.length-1].lastNode()}openElement(t){}closeElement(){}didAppendNode(t){}didAppendBounds(t){}finalize(t){this.boundList.length}}function v_(t,e){return f_.forInitialRender(t,e)}class b_{constructor(t,{alwaysRevalidate:e=!1}){this.frameStack=new an,this.env=t,this.dom=t.getDOM(),this.alwaysRevalidate=e}execute(t,e){this._execute(t,e)}_execute(t,e){let{frameStack:n}=this;for(this.try(t,e);!n.isEmpty();){let t=this.frame.nextStatement();void 0!==t?t.evaluate(this):n.pop()}}get frame(){return this.frameStack.current}goto(t){this.frame.goto(t)}try(t,e){this.frameStack.push(new C_(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class w_{constructor(t,e,n,i){this.state=t,this.context=e,this.children=i,this.bounds=n}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}evaluate(t){t.try(this.children,null)}}class x_ extends w_{evaluate(t){t.try(this.children,this)}handleException(){let{state:t,bounds:e,context:{env:n}}=this;!function(t){let{children:e}=Pt(t);Tt(e,At)}(this);let i=f_.resume(n,e),r=t.evaluate(i),s=this.children=[],o=r.execute(t=>{t.updateWith(this),t.pushUpdating(s)});Mt(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class S_ extends x_{constructor(t,e,n,i,r,s){super(t,e,n,[]),this.key=i,this.memo=r,this.value=s,this.retained=!1,this.index=-1}shouldRemove(){return!this.retained}reset(){this.retained=!1}}class E_ extends w_{constructor(t,e,n,i,r){super(t,e,n,i),this.iterableRef=r,this.type="list-block",this.opcodeMap=new Map,this.marker=null,this.lastIterator=Rn(r)}initializeChild(t){t.index=this.children.length-1,this.opcodeMap.set(t.key,t)}evaluate(t){let e=Rn(this.iterableRef);if(this.lastIterator!==e){let{bounds:n}=this,{dom:i}=t,r=this.marker=i.createComment("");i.insertAfter(n.parentElement(),r,n.lastNode()),this.sync(e),this.parentElement().removeChild(r),this.marker=null,this.lastIterator=e}super.evaluate(t)}sync(t){let{opcodeMap:e,children:n}=this,i=0,r=0;for(this.children=this.bounds.boundList=[];;){let s=t.next();if(null===s)break;let o=n[i],{key:a}=s;for(;void 0!==o&&o.retained;)o=n[++i];if(void 0!==o&&o.key===a)this.retainItem(o,s),i++;else if(e.has(a)){let t=e.get(a);if(t.index{let i=e.enterItem(t);i.index=s.length,s.push(i),n.set(a,i),Mt(this,i)})}moveItem(t,e,n){let i,r,{children:s}=this;Pn(t.memo,e.memo),Pn(t.value,e.value),t.retained=!0,void 0===n?rm(t,this.marker):(i=t.lastNode().nextSibling,r=n.firstNode(),i!==r&&rm(t,r)),t.index=s.length,s.push(t)}deleteItem(t){At(t),sm(t),this.opcodeMap.delete(t.key)}}class C_{constructor(t,e){this.ops=t,this.exceptionHandler=e,this.current=0}goto(t){this.current=t}nextStatement(){return this.ops[this.current++]}handleException(){this.exceptionHandler&&this.exceptionHandler.handleException()}}class k_{constructor(t,e,n,i){this.env=t,this.updating=e,this.bounds=n,this.drop=i,Mt(this,i),It(this,()=>sm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new b_(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class T_{static restore(t,e){const n=new this(t.slice(),[0,-1,t.length-1,0]);return n.registers[0]=e,n.registers[3]=t.length-1,n.registers[2]=-1,n}constructor(t=[],e){this.stack=t,this.registers=e}push(t){this.stack[++this.registers[3]]=t}dup(t=this.registers[3]){this.stack[++this.registers[3]]=this.stack[t]}copy(t,e){this.stack[e]=this.stack[t]}pop(t=1){let e=this.stack[this.registers[3]];return this.registers[3]-=t,e}peek(t=0){return this.stack[this.registers[3]-t]}get(t,e=this.registers[2]){return this.stack[e+t]}set(t,e,n=this.registers[2]){this.stack[n+e]=t}slice(t,e){return this.stack.slice(t,e)}capture(t){let e=this.registers[3]+1,n=e-t;return this.stack.slice(n,e)}reset(){this.stack.length=0}}class R_{constructor(t,e){this.drop={},this.scope=new an,this.dynamicScope=new an,this.updating=new an,this.cache=new an,this.list=new an,this.destroyable=new an,this.scope.push(t),this.dynamicScope.push(e),this.destroyable.push(this.drop)}}class P_{#g;get stack(){return this.lowlevel.stack}get pc(){return this.lowlevel.fetchRegister(0)}#m;fetch(t){let e=this.fetchValue(t);this.stack.push(e)}load(t){let e=this.stack.pop();this.loadValue(t,e)}loadValue(t,e){this.#m[t]=e}fetchValue(t){return function(t){return t<=3}(t)?this.lowlevel.fetchRegister(t):this.#m[t]}call(t){null!==t&&this.lowlevel.call(t)}return(){this.lowlevel.return()}#y;constructor({scope:t,dynamicScope:e,stack:n,pc:i},r,s){this.#m=[null,null,null,null,null,null,null,null,null];let o=T_.restore(n,i);this.#y=s,this.context=r,this.#g=new R_(t,e),this.args=new Im,this.lowlevel=new Gy(o,r,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=em.root(e.owner,e.scope??{self:mn,size:0});const i=function(t,e,n){return{pc:t,scope:e,dynamicScope:n,stack:[]}}(t.program.heap.getaddr(e.handle),n,e.dynamicScope);return new P_(i,t,e.tree)}compile(t){return zg(t.compile(this.context))}get constants(){return this.context.program.constants}get program(){return this.context.program}get env(){return this.context.env}captureClosure(t,e=this.lowlevel.fetchRegister(0)){return{pc:e,scope:this.scope(),dynamicScope:this.dynamicScope(),stack:this.stack.capture(t)}}capture(t,e=this.lowlevel.fetchRegister(0)){return new M_(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new ym;e.push(n),e.push(new _m(t)),this.#g.cache.push(n),_e()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=ve();t.push(new vm(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),i=new x_(e,this.context,n,[]);this.didEnter(i)}enterItem({key:t,value:e,memo:n}){let{stack:i}=this,r=Un(e),s=Un(n);i.push(r),i.push(s);let o=this.capture(2),a=this.tree().pushResettableBlock(),l=new S_(o,this.context,a,t,s,r);return this.didEnter(l),l}registerItem(t){this.listBlock().initializeChild(t)}enterList(t,e){let n=[],i=this.lowlevel.target(e),r=this.capture(0,i),s=this.tree().pushBlockList(n),o=new E_(r,this.context,s,n,t);this.#g.list.push(o),this.didEnter(o)}didEnter(t){this.associateDestroyable(t),this.#g.destroyable.push(t),this.updateWith(t),this.pushUpdating(t.children)}exit(){this.#g.destroyable.pop(),this.#y.popBlock(),this.popUpdating()}exitList(){this.exit(),this.#g.list.pop()}pushRootScope(t,e){let n=em.sized(e,t);return this.#g.scope.push(n),n}pushChildScope(){this.#g.scope.push(this.scope().child())}pushScope(t){this.#g.scope.push(t)}popScope(){this.#g.scope.pop()}pushDynamicScope(){let t=this.dynamicScope().child();return this.#g.dynamicScope.push(t),t}bindDynamicScope(t){let e=this.dynamicScope();for(const n of Qe(t))e.set(n,this.stack.pop())}pushUpdating(t=[]){this.#g.updating.push(t)}popUpdating(){return this.#g.updating.pop()}updateWith(t){this.updating().push(t)}listBlock(){return this.#g.list.current}associateDestroyable(t){Mt(this.#g.destroyable.current,t)}updating(){return this.#g.updating.current}tree(){return this.#y}scope(){return this.#g.scope.current}dynamicScope(){return this.#g.dynamicScope.current}popDynamicScope(){this.#g.dynamicScope.pop()}getOwner(){return this.scope().owner}getSelf(){return this.scope().getSelf()}referenceForSymbol(t){return this.scope().getSymbol(t)}execute(t){return this._execute(t)}_execute(t){let e;t&&t(this);do{e=this.next()}while(!e.done);return e.value}next(){let t,{env:e}=this,n=this.lowlevel.nextStatement();return null!==n?(this.lowlevel.evaluateOuter(n,this),t={done:!1,value:null}):(this.stack.reset(),t={done:!0,value:new k_(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class M_{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new P_(this.state,this.context,t)}}class I_{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function O_(t,e,n,i,r,s=new tm){let o=zg(r.compile(t)),a=r.symbolTable.symbols.length,l=P_.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:i,handle:o,owner:e});return new I_(l)}function A_(t,e,n,i,r={},s=new tm){return function(t,e,n,i,r){const s=Object.keys(r).map(t=>[t,r[t]]),o=["main","else","attrs"],a=s.map(([t])=>`@${t}`);let l=t.constants.component(i,n,void 0,"{ROOT}");t.lowlevel.pushFrame();for(let c=0;c<3*o.length;c++)t.stack.push(null);t.stack.push(null),s.forEach(([,e])=>{t.stack.push(e)}),t.args.setup(t.stack,a,o,0,!0);const u=l.compilable,h={handle:zg(u.compile(e)),symbolTable:u.symbolTable};return t.stack.push(t.args),t.stack.push(h),t.stack.push(l),new I_(t)}(P_.initial(t,{tree:e,handle:t.stdlib.main,dynamicScope:s,owner:n}),t,n,i,function(t){const e=bn(t);return Object.keys(t).reduce((t,n)=>(t[n]=Mn(e,n),t),{})}(r))}class F_ extends nm{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class L_ extends f_{constructor(t,e,n){if(super(t,e,n),this.unmatchedAttributes=null,this.blockDepth=0,n)throw new Error("Rehydration with nextSibling not supported");let i=this.currentCursor.element.firstChild;for(;null!==i&&!N_(i);)i=i.nextSibling;this.candidate=i;const r=j_(i);if(0!==r){const t=r-1,e=this.dom.createComment(`%+b:${t}%`);i.parentNode.insertBefore(e,this.candidate);let n=i.nextSibling;for(;null!==n&&(!D_(n)||j_(n)!==r);)n=n.nextSibling;const s=this.dom.createComment(`%-b:${t}%`);i.parentNode.insertBefore(s,n.nextSibling),this.candidate=e,this.startingBlockOffset=t}else this.startingBlockOffset=0}get currentCursor(){return this.cursors.current}get candidate(){return this.currentCursor?this.currentCursor.candidate:null}set candidate(t){this.currentCursor.candidate=t}disableRehydration(t){const e=this.currentCursor;e.candidate=null,e.nextSibling=t}enableRehydration(t){const e=this.currentCursor;e.candidate=t,e.nextSibling=null}pushElement(t,e=null){const n=new F_(t,e,this.blockDepth||0);null!==this.candidate&&(n.candidate=t.firstChild,this.candidate=t.nextSibling),this.cursors.push(n)}clearMismatch(t){let e=t;const n=this.currentCursor;if(null!==n){const t=n.openBlockDepth;if(t>=n.startingBlockDepth)for(;e&&!(D_(e)&&t>=z_(e,this.startingBlockOffset));)e=this.remove(e);else for(;null!==e;)e=this.remove(e);this.disableRehydration(e)}}__openBlock(){const{currentCursor:t}=this;if(null===t)return;const e=this.blockDepth;this.blockDepth++;const{candidate:n}=t;if(null===n)return;const{tagName:i}=t.element;N_(n)&&z_(n,this.startingBlockOffset)===e?(this.candidate=this.remove(n),t.openBlockDepth=e):"TITLE"!==i&&"SCRIPT"!==i&&"STYLE"!==i&&this.clearMismatch(n)}__closeBlock(){const{currentCursor:t}=this;if(null===t)return;const e=t.openBlockDepth;this.blockDepth--;const{candidate:n}=t;let i=!1;if(null!==n)if(i=!0,D_(n)&&z_(n,this.startingBlockOffset)===e){const e=this.remove(n);this.candidate=e,t.openBlockDepth--}else this.clearMismatch(n),i=!1;if(!i){const e=t.nextSibling;if(null!==e&&D_(e)&&z_(e,this.startingBlockOffset)===this.blockDepth){const n=this.remove(e);this.enableRehydration(n),t.openBlockDepth--}}}__appendNode(t){const{candidate:e}=this;return e||super.__appendNode(t)}__appendHTML(t){const e=this.markerBounds();if(e){const t=e.firstNode(),n=e.lastNode(),i=new im(this.element,t.nextSibling,n.previousSibling),r=this.remove(t);return this.remove(n),null!==r&&q_(r)&&(this.candidate=this.remove(r),null!==this.candidate&&this.clearMismatch(this.candidate)),i}return super.__appendHTML(t)}remove(t){const e=t.parentNode,n=t.nextSibling;return e.removeChild(t),n}markerBounds(){const t=this.candidate;if(t&&B_(t)){const e=t;let n=e.nextSibling;for(;!B_(n);)n=n.nextSibling;return new im(this.element,e,n)}return null}__appendText(t){const{candidate:e}=this;return e?3===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):8===(n=e).nodeType&&"%|%"===n.nodeValue||q_(e)&&""===t?(this.candidate=this.remove(e),this.__appendText(t)):(this.clearMismatch(e),super.__appendText(t)):super.__appendText(t);var n}__appendComment(t){const e=this.candidate;return e&&8===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):(e&&this.clearMismatch(e),super.__appendComment(t))}__openElement(t){const e=this.candidate;if(e&&U_(e)&&function(t,e){return t.namespaceURI===Dg?t.tagName===e:t.tagName===e.toUpperCase()}(e,t))return this.unmatchedAttributes=[].slice.call(e.attributes),e;if(e){if(U_(e)&&"TBODY"===e.tagName)return this.pushElement(e,null),this.currentCursor.injectedOmittedNode=!0,this.__openElement(t);this.clearMismatch(e)}return super.__openElement(t)}__setAttribute(t,e,n){const i=this.unmatchedAttributes;if(i){const n=$_(i,t);if(n)return n.value!==e&&(n.value=e),void i.splice(i.indexOf(n),1)}return super.__setAttribute(t,e,n)}__setProperty(t,e){const n=this.unmatchedAttributes;if(n){const i=$_(n,t);if(i)return i.value!==e&&(i.value=e),void n.splice(n.indexOf(i),1)}return super.__setProperty(t,e)}__flushElement(t,e){const{unmatchedAttributes:n}=this;if(n){for(const t of n)this.constructing.removeAttribute(t.name);this.unmatchedAttributes=null}else super.__flushElement(t,e)}willCloseElement(){const{candidate:t,currentCursor:e}=this;null!==t&&this.clearMismatch(t),e&&e.injectedOmittedNode&&this.popElement(),super.willCloseElement()}getMarker(t,e){const n=t.querySelector(`script[glmr="${e}"]`);return n?jg(n):null}__pushRemoteElement(t,e,n){const i=this.getMarker(t,e);if(!i||i.parentNode,void 0===n){for(;null!==t.firstChild&&t.firstChild!==i;)this.remove(t.firstChild);n=null}const r=new F_(t,null,this.blockDepth);this.cursors.push(r),null===i?this.disableRehydration(n):this.candidate=this.remove(i);const s=new m_(t);return this.pushBlock(s,!0)}didAppendBounds(t){if(super.didAppendBounds(t),this.candidate){const e=t.lastNode();this.candidate=e.nextSibling}return t}}function N_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function D_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function j_(t){return parseInt(t.nodeValue.slice(4),10)}function z_(t,e){return j_(t)-e}function U_(t){return 1===t.nodeType}function B_(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function q_(t){return 8===t.nodeType&&"% %"===t.nodeValue}function $_(t,e){for(const n of t)if(n.name===e)return n}function G_(t,e){return L_.forInitialRender(t,e)}const V_=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:im,CurriedValue:Zg,CursorImpl:nm,DOMChanges:wy,DOMTreeConstruction:my,DynamicAttribute:r_,DynamicScopeImpl:tm,EMPTY_ARGS:Km,EMPTY_NAMED:Wm,EMPTY_POSITIONAL:Hm,EnvironmentImpl:ky,IDOMChanges:vy,LowLevelVM:Gy,NewTreeBuilder:f_,RehydrateTree:L_,RemoteBlock:m_,ResettableBlockImpl:y_,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:em,SimpleDynamicAttribute:s_,TEMPLATE_ONLY_COMPONENT_MANAGER:oy,TemplateOnlyComponent:ay,TemplateOnlyComponentManager:sy,UpdatingVM:b_,array:Iy,clear:sm,clientBuilder:v_,concat:Ay,createCapturedArgs:zm,curry:Qg,destroy:At,dynamicAttribute:n_,fn:Fy,get:Ly,hash:Ny,inTransaction:Ry,invokeHelper:function(t,e,n){const i=Xi(t),r=vi(e).getDelegateFor(i);let s,o=new jy(t,n),a=r.createHelper(e,o);if(!si(r))throw new Error("TODO: unreachable, to be implemented with hasScheduledEffect");return s=Re(()=>r.getValue(a)),Mt(t,s),oi(r)&&Mt(s,r.getDestroyable(a)),s},isDestroyed:Nt,isDestroying:Lt,isSerializationFirstNode:function(t){return"%+b:0%"===t.nodeValue},isWhitespace:function(t){return yy.test(t)},normalizeProperty:xy,on:$y,registerDestructor:It,rehydrationBuilder:G_,reifyArgs:function(t){return{named:Um(t.named),positional:Bm(t.positional)}},reifyNamed:Um,reifyPositional:Bm,renderComponent:A_,renderMain:O_,renderSync:function(t,e){let n;return Ry(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){ny=ey},runtimeOptions:Ty,setDebuggerCallback:function(t){ny=t},templateOnlyComponent:ly},Symbol.toStringTag,{value:"Module"})),W_=$y,H_=Symbol("MUTABLE_CELL"),K_=Cg({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),X_=Cg({id:"Cc/BCoQJ",block:'[[[11,"input"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,4,[30,0,["type"]]],[16,"checked",[30,0,["checked"]]],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/input.hbs",scope:()=>[W_],isStrictMode:!0});function Y_(){}class Z_{static toString(){return"internal component"}constructor(t,e,n){this.owner=t,this.args=e,this.caller=n,Zi(this,t)}get id(){return U(this)}get class(){return"ember-view"}validateArguments(){for(let t of Object.keys(this.args.named))this.isSupportedArgument(t)||this.onUnsupportedArgument(t)}named(t){let e=this.args.named[t];return e?Rn(e):void 0}positional(t){let e=this.args.positional[t];return e?Rn(e):void 0}listenerFor(t){return this.named(t)||Y_}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${U(this)}>`}}const J_=new WeakMap;function Q_(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return J_.set(n,t),bi(ev,n),Di(e,n),n}const tv={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},ev=new class{getCapabilities(){return tv}create(t,e,n,i,r,s){var o;let a=new(o=e,J_.get(o))(t,n.capture(),Rn(s));return Oe(a.validateArguments.bind(a)),a}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}getDebugName(t){return t.toString()}getSelf(t){return bn(t)}getDestroyable(t){return t}},nv=Object.freeze({});function iv(t){return function(t){return t.target}(t).value}function rv(t){return void 0===t?new sv(void 0):kn(t)?new sv(Rn(t)):Tn(t)?new ov(t):new av(t)}class sv{static{Qh(this.prototype,"value",[ys])}#_=void nc(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class ov{constructor(t){this.reference=t}get(){return Rn(this.reference)}set(t){Pn(this.reference,t)}}class av{local;upstream;lastUpstreamValue=nv;constructor(t){this.upstream=new ov(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new sv(t)),this.local.get()}set(t){this.local.set(t)}}class lv extends Z_{validateArguments(){super.validateArguments()}_value=rv(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=iv(t)}static{ec(this.prototype,"valueDidChange",[ch])}change(t){this.valueDidChange(t)}input(t){this.valueDidChange(t)}keyUp(t){switch(t.key){case"Enter":this.listenerFor("enter")(t),this.listenerFor("insert-newline")(t);break;case"Escape":this.listenerFor("escape-press")(t)}}static{ec(this.prototype,"keyUp",[ch])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(iv(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let uv;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,uv=n=>{let i=t[n];if(void 0===i){try{e.type=n,i=e.type===n}catch(r){i=!1}finally{e.type="text"}t[n]=i}return i}}else uv=t=>""!==t;class hv extends lv{static toString(){return"Input"}get class(){return this.isCheckbox?"ember-checkbox ember-view":"ember-text-field ember-view"}get type(){let t=this.named("type");return null==t?"text":uv(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=rv(this.args.named.checked);get checked(){return this.isCheckbox?this._checked.get():void 0}set checked(t){this._checked.set(t)}change(t){this.isCheckbox?this.checkedDidChange(t):super.change(t)}static{ec(this.prototype,"change",[ch])}input(t){this.isCheckbox||super.input(t)}static{ec(this.prototype,"input",[ch])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{ec(this.prototype,"checkedDidChange",[ch])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const cv=Q_(hv,X_),dv=Cg({id:"7Z3LFeO/",block:'[[[11,3],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[16,"role",[30,0,["role"]]],[16,"title",[30,0,["title"]]],[16,"rel",[30,0,["rel"]]],[16,"tabindex",[30,0,["tabindex"]]],[16,"target",[30,0,["target"]]],[17,1],[16,6,[30,0,["href"]]],[4,[32,0],["click",[30,0,["click"]]],null],[12],[18,2,null],[13]],["&attrs","&default"],["yield"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/link-to.hbs",scope:()=>[W_],isStrictMode:!0}),pv=[],fv={};function gv(t){return null==t}function mv(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class yv extends Z_{static toString(){return"LinkTo"}static{Qh(this.prototype,"routing",[df("-routing")])}#v=void nc(this,"routing");validateArguments(){super.validateArguments()}get class(){let t="ember-view";return this.isActive?(t+=this.classFor("active"),!1===this.willBeActive&&(t+=" ember-transitioning-out")):this.willBeActive&&(t+=" ember-transitioning-in"),this.isLoading&&(t+=this.classFor("loading")),this.isDisabled&&(t+=this.classFor("disabled")),t}get href(){if(this.isLoading)return"#";let{routing:t,route:e,models:n,query:i}=this;return Se(Ve(t,"currentState")),t.generateURL(e,n,i)}click(t){if(!ph(t))return;let e=t.currentTarget;if(""!==e.target&&"_self"!==e.target)return;if(this.preventDefault(t),this.isDisabled)return;if(this.isLoading)return;let{routing:n,route:i,models:r,query:s,replace:o}=this,a={transition:void 0};Uh(0,0,()=>{a.transition=n.transitionTo(i,r,s,o)})}static{ec(this.prototype,"click",[ch])}get route(){if("route"in this.args.named){let t=this.named("route");return t&&this.namespaceRoute(t)}return this.currentRoute}currentRouteCache=Re(()=>(Se(Ve(this.routing,"currentState")),Oe(()=>this.routing.currentRouteName)));get currentRoute(){return Pe(this.currentRouteCache)}get models(){return"models"in this.args.named?this.named("models"):"model"in this.args.named?[this.named("model")]:pv}get query(){return"query"in this.args.named?{...this.named("query")}:fv}get replace(){return!0===this.named("replace")}get isActive(){return this.isActiveForState(this.routing.currentState)}get willBeActive(){let t=this.routing.currentState,e=this.routing.targetState;return t===e?null:this.isActiveForState(e)}get isLoading(){return gv(this.route)||this.models.some(t=>gv(t))}get isDisabled(){return Boolean(this.named("disabled"))}get isEngine(){return void 0!==Uc(this.owner)}get engineMountPoint(){return this.owner.mountPoint}classFor(t){let e=this.named(`${t}Class`);return!0===e||gv(e)?` ${t}`:e?` ${e}`:""}namespaceRoute(t){let{engineMountPoint:e}=this;return void 0===e?t:"application"===t?e:`${e}.${t}`}isActiveForState(t){if(!function(t){return!gv(t)}(t))return!1;if(this.isLoading)return!1;let e=this.named("current-when");if("boolean"==typeof e)return e;if("string"==typeof e){let{models:n,routing:i}=this;return e.split(" ").some(e=>i.isActiveForRoute(n,void 0,this.namespaceRoute(e),t))}{let{route:e,models:n,query:i,routing:r}=this;return r.isActiveForRoute(n,i,e,t)}}preventDefault(t){t.preventDefault()}isSupportedArgument(t){return-1!==["route","model","models","query","replace","disabled","current-when","activeClass","loadingClass","disabledClass"].indexOf(t)||super.isSupportedArgument(t)}}let{prototype:_v}=yv,vv=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||vv(Object.getPrototypeOf(t),e):null;{let t=_v.onUnsupportedArgument;Object.defineProperty(_v,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=vv(_v,"models").get;Object.defineProperty(_v,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&mv(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=vv(_v,"query").get;Object.defineProperty(_v,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return mv(t)?t.values??fv:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(mv(t)&&null!==t.values)return t.values}return fv}}})}{let t=_v.onUnsupportedArgument;Object.defineProperty(_v,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const bv=Q_(yv,dv),wv=Cg({id:"KVdeMchh",block:'[[[11,"textarea"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/textarea.hbs",scope:()=>[W_],isStrictMode:!0});class xv extends lv{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{ec(this.prototype,"change",[ch])}input(t){super.input(t)}static{ec(this.prototype,"input",[ch])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const Sv=Q_(xv,wv);function Ev(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function Cv(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?Mn(t,e[0]):In(t,e)}function kv(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function Tv(t,e,n,i){let[r,s,o]=n;if("id"===s){let e=us(t,r);null==e&&(e=t.elementId);let n=gn(e);return void i.setAttribute("id",n,!0,null)}let a=r.indexOf(".")>-1?Cv(e,r.split(".")):Mn(e,r);i.setAttribute(s,a,!1,null)}function Rv(t,e){let n;return xn(()=>{let i=Rn(t);return!0===i?n||(n=of(e)):i||0===i?String(i):null})}function Pv(){}class Mv{classRef=null;rootRef;argsRevision;constructor(t,e,n,i,r,s){this.component=t,this.args=e,this.argsTag=n,this.finalizer=i,this.hasWrappedElement=r,this.isInteractive=s,this.classRef=null,this.argsRevision=null===e?0:Zt(n),this.rootRef=bn(t),It(this,()=>this.willDestroy(),!0),It(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){be(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),we();let e=bh(t);e&&(Sh(e),Eh(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=Pv}}function Iv(t){let e=Object.create(null),n=Object.create(null);for(let i in t){let r=t[i],s=Rn(r);Tn(r)?e[i]=new Av(r,s):e[i]=s,n[i]=s}return n.attrs=e,n}const Ov=Symbol("REF");class Av{value;[H_];[Ov];constructor(t,e){this[H_]=!0,this[Ov]=t,this.value=e}update(t){Pn(this[Ov],t)}}const Fv=ut("ARGS"),Lv=ut("HAS_BLOCK"),Nv=Symbol("DIRTY_TAG"),Dv=Symbol("IS_DISPATCHING_ATTRS"),jv=Symbol("BOUNDS"),zv=gn("ember-view");class Uv{templateFor(t){let e,{layout:n,layoutName:i}=t,r=Yi(t);if(void 0===n){if(void 0===i)return null;e=r.lookup(`template:${i}`)}else{if("function"!=typeof n)return null;e=n}return Ev(e(r)).asWrappedLayout()}getDynamicLayout(t){return this.templateFor(t.component)}getTagName(t){let{component:e,hasWrappedElement:n}=t;return n?e&&e.tagName||"div":null}getCapabilities(){return $v}prepareArgs(t,e){if(e.named.has("__ARGS__")){let{__ARGS__:t,...n}=e.named.capture(),i=Rn(t);return{positional:i.positional,named:{...n,...i.named}}}const{positionalParams:n}=t.class??t;if(null==n||0===e.positional.length)return null;let i;if("string"==typeof n){let t=e.positional.capture();i={[n]:xn(()=>Bm(t))},Object.assign(i,e.named.capture())}else{if(!(Array.isArray(n)&&n.length>0))return null;{const t=Math.min(n.length,e.positional.length);i={},Object.assign(i,e.named.capture());for(let r=0;r{s.setAttribute("class",gn(t),!1,null)}),l&&l.length&&l.forEach(t=>{!function(t,e,n){let i=e.split(":"),[r,s,o]=i;if(""===r)n.setAttribute("class",gn(s),!0,null);else{let e,i=r.indexOf(".")>-1,a=i?r.split("."):[],l=i?Cv(t,a):Mn(t,r);e=void 0===s?Rv(l,i?a[a.length-1]:r):function(t,e,n){return xn(()=>Rn(t)?e:n)}(l,s,o),n.setAttribute("class",e,!1,null)}}(i,t,s)}),s.setAttribute("class",zv,!1,null),"ariaRole"in t&&s.setAttribute("role",Mn(i,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(be(),t.trigger("willInsertElement"),we())}didRenderLayout(t,e){t.component[jv]=e,t.finalize()}didCreate({component:t,isInteractive:e}){e&&(t._transitionTo("inDOM"),t.trigger("didInsertElement"),t.trigger("didRender"))}update(t){let{component:e,args:n,argsTag:i,argsRevision:r,isInteractive:s}=t;if(t.finalizer=qh("render.component",qv,e),be(),null!==n&&!Jt(i,r)){_e();let r=Iv(n);i=t.argsTag=ve(),t.argsRevision=Zt(i),e[Dv]=!0,e.setProperties(r),e[Dv]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),we(),Se(i),Se(e[Nv])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function Bv(t){return t.instrumentDetails({initialRender:!0})}function qv(t){return t.instrumentDetails({initialRender:!1})}const $v={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!0,createArgs:!0,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!0,hasSubOwner:!1},Gv=new Uv;function Vv(t){return t===Gv}let Wv=new WeakMap;const Hv=Object.freeze([]);class Kv extends(oc.extend(Dl,ac,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:Hv,classNameBindings:Hv})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[Dv]=!1,this[Nv]=ie(),this[jv]=null;const e=this._dispatcher;if(e){let t=Wv.get(e);t||(t=new WeakSet,Wv.set(e,t));let n=Object.getPrototypeOf(this);t.has(n)||(e.lazyEvents.forEach((t,n)=>{null!==t&&"function"==typeof this[t]&&e.setupHandlerForBrowserEvent(n)}),t.add(n))}this.elementId||""===this.tagName||(this.elementId=U(this))}__dispatcher;get _dispatcher(){if(void 0===this.__dispatcher){let t=Yi(this);if(t.lookup("-environment:main").isInteractive){let e=t.lookup("event_dispatcher:main");this.__dispatcher=e}else this.__dispatcher=null}return this.__dispatcher}on(t,e,n){return this._dispatcher?.setupHandlerForEmberEvent(t),super.on(t,e,n)}_rerender(){ee(this[Nv]),this._superRerender()}[$r](t,e){if(this[Dv])return;let n=this[Fv],i=void 0!==n?n[t]:void 0;void 0!==i&&Tn(i)&&Pn(i,2===arguments.length?e:us(this,t))}getAttr(t){return this.get(t)}readDOMAttr(t){let e=bh(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:i,normalized:r}=xy(e,t);return n||"attr"===i?e.getAttribute(r):e[r]}get childViews(){return kh(this)}static{ec(this.prototype,"childViews",[ur({configurable:!1,enumerable:!1})])}appendChild(t){Th(this,t)}_transitionTo(t){let e=this._currentState,n=this._currentState=this._states[t];this._state=t,e&&e.exit&&e.exit(this),n.enter&&n.enter(this)}nearestOfType(t){let e=this.parentView;for(;e;){if(t.detect(e.constructor))return e;e=e.parentView}}nearestWithProperty(t){let e=this.parentView;for(;e;){if(t in e)return e;e=e.parentView}}rerender(){return this._currentState.rerender(this)}get element(){return this.renderer.getElement(this)}static{ec(this.prototype,"element",[ur({configurable:!1,enumerable:!1})])}appendTo(t){let n;return n=e&&"string"==typeof t?document.querySelector(t):t,this.renderer.appendTo(this,n),this}append(){return this.appendTo(document.body)}willInsertElement(){return this}didInsertElement(){return this}willClearRender(){return this}destroy(){return super.destroy(),this._currentState.destroy(this),this}willDestroyElement(){return this}didDestroyElement(){return this}parentViewDidChange(){return this}handleEvent(t,e){return this._currentState.handleEvent(this,t,e)}static isComponentFactory=!0;static toString(){return"@ember/component"}}Kv.reopenClass({positionalParams:[]}),bi(Gv,Kv);const Xv=Symbol("RECOMPUTE_TAG"),Yv=Symbol("IS_CLASSIC_HELPER");class Zv extends Nh{static isHelperFactory=!0;static[Yv]=!0;static helper=nb;init(t){super.init(t),this[Xv]=ie()}recompute(){ea(()=>ee(this[Xv]))}}class Jv{capabilities=ri(0,{hasValue:!0,hasDestroyable:!0});ownerInjection;constructor(t){let e={};Zi(e,t),this.ownerInjection=e}createHelper(t,e){var n;return{instance:null!=(n=t)&&"class"in n?t.create():t.create(this.ownerInjection),args:e}}getDestroyable({instance:t}){return t}getValue({instance:t,args:e}){let{positional:n,named:i}=e,r=t.compute(n,i);return Se(t[Xv]),r}getDebugName(t){return B((t.class||t).prototype)}}Fi(t=>new Jv(t),Zv);const Qv=vi(Zv);class tb{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const eb=new class{capabilities=ri(0,{hasValue:!0});createHelper(t,e){return()=>t.compute.call(null,e.positional,e.named)}getValue(t){return t()}getDebugName(t){return B(t.compute)}};function nb(t){return new tb(t)}function ib(t){return{object:`${t.name}:main`}}Fi(()=>eb,tb.prototype);const rb={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},sb=ti(rb),ob=new class{create(t,e,n,i,r){let s=r.get("outletState"),o=e.ref;r.set("outletState",o);let a={finalize:qh("render.outlet",ib,e)};if(void 0!==i.debugRenderTree){let t=Rn(s),e=t?.render?.owner,n=Rn(o),i=n?.render?.owner;if(e&&e!==i){let{mountPoint:t}=i;t&&(a.engine={mountPoint:t,instance:i})}}return a}getDebugName({name:t}){return`{{outlet}} for ${t}`}getDebugCustomRenderTree(t,e){let n=[];return n.push({bucket:e,type:"outlet",name:"main",args:Km,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Km,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return rb}getSelf(){return mn}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},ab=Cg({id:"Hacwyo/Q",block:'[[[8,[30,1],null,[["@controller","@model"],[[30,2],[30,3]]],null]],["@Component","@controller","@model"],[]]',moduleName:"/home/runner/work/ember.js/ember.js/packages/@ember/-internals/glimmer/lib/component-managers/outlet.ts",isStrictMode:!0});class lb{handle=-1;resolvedName=null;manager=ob;capabilities=sb;compilable;constructor(t,e){this.state=e,this.compilable=Ev(ab(t)).asLayout()}}class ub extends Uv{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:i},r){let s=this.component,o=qh("render.component",Bv,s);r.view=s;let a=""!==s.tagName;a||(i&&s.trigger("willRender"),s._transitionTo("hasElement"),i&&s.trigger("willInsertElement"));let l=new Mv(s,null,se,o,a,i);return Se(s[Nv]),l}}const hb={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!1,createArgs:!1,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!1,hasSubOwner:!1};class cb{handle=-1;resolvedName="-top-level";state;manager;capabilities=ti(hb);compilable=null;constructor(t){this.manager=new ub(t);let e=nl(t);this.state=e}}function db(t){return yi(t,{})}class pb{constructor(t){this.inner=t}}const fb=db(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return Se(er(t)),Bi(t)&&(t=Il(t)),new pb(t)})});class gb{position=0;constructor(t){this.length=t}isEmpty(){return!1}memoFor(t){return t}next(){let{length:t,position:e}=this;if(e>=t)return null;let n=this.valueFor(e),i=this.memoFor(e);return this.position++,{value:n,memo:i}}}class mb extends gb{static from(t){return t.length>0?new this(t):null}static fromForEachable(t){let e=[];return t.forEach(t=>e.push(t)),this.from(e)}constructor(t){super(t.length),this.array=t}valueFor(t){return this.array[t]}}class yb extends gb{static from(t){return t.length>0?new this(t):null}constructor(t){super(t.length),this.array=t}valueFor(t){return Ji(this.array,t)}}class _b extends gb{static fromIndexable(t){let e=Object.keys(t);if(0===e.length)return null;{let n=[];for(let i of e){let e;e=t[i],xe()&&(Se(Ve(t,i)),Array.isArray(e)&&Se(Ve(e,"[]"))),n.push(e)}return new this(e,n)}}static fromForEachable(t){let e=[],n=[],i=0,r=!1;return t.forEach(function(t,s){r=r||arguments.length>=2,r&&e.push(s),n.push(t),i++}),0===i?null:r?new this(e,n):new mb(n)}constructor(t,e){super(e.length),this.keys=t,this.values=e}valueFor(t){return this.values[t]}memoFor(t){return this.keys[t]}}class vb{static from(t){let e=t[Symbol.iterator](),n=e.next(),{done:i}=n;return i?null:new this(e,n)}position=0;constructor(t,e){this.iterable=t,this.result=e}isEmpty(){return!1}next(){let{iterable:t,result:e,position:n}=this;if(e.done)return null;let i=this.valueFor(e,n),r=this.memoFor(e,n);return this.position++,this.result=t.next(),{value:i,memo:r}}}class bb extends vb{valueFor(t){return t.value}memoFor(t,e){return e}}class wb extends vb{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function xb(t){return null!=t&&"function"==typeof t.forEach}function Sb(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var Eb;Eb={scheduleRevalidate(){Qo.ensureInstance()},toBool:function(t){return Bi(t)?(Se(tr(t,"content")),Boolean(us(t,"isTruthy"))):kc(t)?(Se(tr(t,"[]")),0!==t.length):null!==(e=t)&&"object"==typeof e&&"function"==typeof e.toHTML?Boolean(t.toString()):Boolean(t);var e},toIterator:function(t){return t instanceof pb?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||Gi(t)?_b.fromIndexable(t):Sb(t)?wb.from(t):xb(t)?_b.fromForEachable(t):_b.fromIndexable(t):null}(t.inner):function(t){return O(t)?Array.isArray(t)?mb.from(t):Gi(t)?yb.from(t):Sb(t)?bb.from(t):xb(t)?mb.fromForEachable(t):null:null}(t)},getProp:hs,setProp:ws,getPath:us,setPath:bs,scheduleDestroy(t,e){ia("actions",null,e,t)},scheduleDestroyed(t){ia("destroy",null,t)}},Et=Eb.scheduleRevalidate,ft=Eb.scheduleDestroy,gt=Eb.scheduleDestroyed,mt=Eb.toIterator,yt=Eb.toBool,_t=Eb.getProp,vt=Eb.setProp,bt=Eb.getPath,wt=Eb.setPath;class Cb{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const kb=db(({positional:t,named:e})=>{const n=t[0];let i=e.type,r=e.loc,s=e.original;return Rn(i),Rn(r),Rn(s),xn(()=>Rn(n))});let Tb;Tb=t=>t.positional[0];const Rb=db(Tb),Pb=db(({positional:t})=>xn(()=>{let e=t[0],n=t[1],i=Rn(e).split("."),r=i[i.length-1],s=Rn(n);return!0===s?of(r):s||0===s?String(s):""})),Mb=db(({positional:t},e)=>{let n=Rn(t[0]);return bn(e.factoryFor(n)?.class)}),Ib=db(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return O(t)&&Se(tr(t,"[]")),t})}),Ob=db(({positional:t})=>Cn(t[0])),Ab=db(({positional:t})=>Sn(t[0])),Fb=db(({positional:t,named:e})=>wn(Rn(t[0]))),Lb=db(()=>bn(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),Nb={dynamicLayout:!0,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!0},Db=new class{getDynamicLayout(t){return Ev(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return Nb}getOwner(t){return t.engine}create(t,{name:e},n,i){let r=t.buildChildEngineInstance(e);r.boot();let s,o,a,l,u=r.factoryFor("controller:application")||Ud(r,"application");if(n.named.has("model")&&(l=n.named.get("model")),void 0===l)s=u.create(),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l};else{let t=Rn(l);s=u.create({model:t}),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l}}return i.debugRenderTree&&Mt(r,s),a}getDebugName({name:t}){return t}getDebugCustomRenderTree(t,e,n,i){return[{bucket:e.engine,instance:e.engine,type:"engine",name:t.name,args:n},{bucket:e.controller,instance:e.controller,type:"route-template",name:"application",args:n,template:i}]}getSelf({self:t}){return t}getDestroyable(t){return t.engine}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}update(t){let{controller:e,modelRef:n}=t;void 0!==n&&e.set("model",Rn(n))}};class jb{handle=-1;state;manager=Db;compilable=null;capabilities=ti(Nb);constructor(t){this.resolvedName=t,this.state={name:t}}}const zb=db((t,e)=>{let n,i,r,s=t.positional[0];return n=zm(t.named,Hm),xn(()=>{let t=Rn(s);return"string"==typeof t?(i===t||(i=t,r=Qg(0,new jb(t),e,n,!0)),r):(r=null,i=null,null)})}),Ub={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},Bb=ti(Ub),qb=new class{create(t,e,n){let i=n.named.get("controller");return{self:i,controller:Rn(i)}}getSelf({self:t}){return t}getDebugName({name:t}){return`route-template (${t})`}getDebugCustomRenderTree({name:t,templateName:e},n,i){return[{bucket:n,type:"route-template",name:t,args:i,instance:n.controller,template:e}]}getCapabilities(){return Ub}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class $b{handle=-1;resolvedName;state;manager=qb;capabilities=Bb;compilable;constructor(t,e){let n=Ev(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function Gb(t,e,n){return Qg(0,new $b(e,n),t,null,!0)}const Vb=db((t,e,n)=>{let i=xn(()=>{let t=Rn(n.get("outletState"));return t?.outlets?.main}),r=null,s=null;return xn(()=>{let t=Rn(i),n=function(t,e){if(void 0===e)return null;let n=e.render;if(void 0===n)return null;let i=n.template;return null==i?null:{ref:t,name:n.name,template:i,controller:n.controller}}(i,t);if(!function(t,e){return null!==t&&null!==e&&t.template===e.template&&t.controller===e.controller}(n,r))if(r=n,null!==n){let o,a=t?.render?.owner??e,l=rn(),u=n.template;o=xi(u)?u:Gb(a,n.name,u),l.Component=bn(o),l.controller=bn(n.controller);let h=In(i,["render","model"]),c=Rn(h);l.model=xn(()=>(r===n&&(c=Rn(h)),c));let d=zm(l,Hm);s=Qg(0,new lb(e,n),a,d,!0)}else s=null;return s})});function Wb(t){return{object:`component:${t}`}}const Hb={mut:Ob,readonly:Ab,unbound:Fb,"-hash":Ny,"-each-in":fb,"-normalize-class":Pb,"-resolve":Mb,"-track-array":Ib,"-mount":zb,"-outlet":Vb,"-in-el-null":Rb},Kb={...Hb,array:Iy,concat:Ay,fn:Fy,get:Ly,hash:Ny,"unique-id":Lb};Kb["-disallow-dynamic-resolution"]=kb;const Xb={},Yb={...Xb,on:$y};class Zb{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=Kb[t];if(void 0!==n)return n;let i=e.factoryFor(`helper:${t}`);if(void 0===i)return null;let r=i.class;return void 0===r?null:"function"==typeof r&&!0===r[Yv]?(yi(Qv,i),i):r}lookupBuiltInHelper(t){return Hb[t]??null}lookupModifier(t,e){let n=Yb[t];if(void 0!==n)return n;let i=e.factoryFor(`modifier:${t}`);return void 0===i?null:i.class||null}lookupBuiltInModifier(t){return Xb[t]??null}lookupComponent(t,e){let n=function(t,e){let n=function(t,e){let n=`component:${t}`;return e.factoryFor(n)||null}(e,t);if(null!=(i=n)&&"function"==typeof i.create&&n.class){let t=ji(n.class);if(void 0!==t)return{component:n,layout:t}}var i;return null===n?null:{component:n,layout:null}}(e,t);if(null===n)return null;let i,r=null;i=null===n.component?r=n.layout(e):n.component;let s=this.componentDefinitionCache.get(i);if(void 0!==s)return s;null===r&&null!==n.layout&&(r=n.layout(e));let o=qh("render.getComponentDefinition",Wb,t),a=null;if(null===n.component)a={state:ly(void 0,t),manager:oy,template:r};else{let t=n.component,e=t.class,i=wi(e);a={state:Vv(i)?t:e,manager:i,template:r}}return o(),this.componentDefinitionCache.set(i,a),a}}const Jb="-top-level";class Qb{static extend(t){return class extends Qb{static create(e){return e?super.create(Object.assign({},t,e)):super.create(t)}}}static reopenClass(t){Object.assign(this,t)}static create(t){let{environment:e,application:n,template:i}=t,r=Yi(t),s=i(r);return new Qb(e,r,s,n)}ref;state;constructor(t,e,n,i){this._environment=t,this.owner=e,this.template=n,this.namespace=i;let r=ie(),s={outlets:{main:void 0},render:{owner:e,name:Jb,controller:void 0,model:void 0,template:n}},o=this.ref=xn(()=>(Se(r),s),t=>{ee(r),s.outlets.main=t});this.state={ref:o,name:Jb,template:n,controller:void 0}}appendTo(t){let e;e=this._environment.hasDOM&&"string"==typeof t?document.querySelector(t):t,ia("render",this.owner.lookup("renderer:-dom"),"appendOutletView",this,e)}rerender(){}setOutletState(t){Pn(this.ref,t)}destroy(){}}class tw{constructor(t,e){this.view=t,this.outletState=e}child(){return new tw(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const ew=()=>{};class nw{type="component";#b;#w;constructor(t,e,n){this.#w=()=>{let i=A_(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),r=this.#b=i.sync();Mt(this,this.#b),this.#w=()=>{if(!Lt(r)&&!Nt(r))return r.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#w()}destroy(){At(this)}get destroyed(){return Nt(this)}get result(){return this.#b}}class iw{type="classic";id;result;destroyed;render;env;constructor(t,e,n,i,r,s,o,a){this.root=t,this.id=t instanceof Qb?U(t):mh(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=Ev(i).asLayout(),l=O_(e,n,r,a(e.env,{element:s,nextSibling:null}),t,o),u=this.result=l.sync();Mt(n,u),this.render=()=>{if(!Lt(u)&&!Nt(u))return u.rerender({alwaysRevalidate:!1})}}}isFor(t){return this.root===t}destroy(){let{result:t,env:e}=this;this.destroyed=!0,this.root=null,this.result=void 0,this.render=void 0,void 0!==t&&Ry(e,()=>At(t))}}const rw=[];function sw(t){let e=rw.indexOf(t);rw.splice(e,1)}let ow=null,aw=0;Qo.on("begin",function(){for(let t of rw)t.rerender()}),Qo.on("end",function(){for(let t of rw)if(!t.isValid()){if(aw>g._RERENDER_LOOP_LIMIT)throw aw=0,t.destroy(),new Error("infinite rendering invalidation detected");return aw++,Qo.join(null,ew)}aw=0,function(){if(null!==ow){let t=ow.resolve;ow=null,Qo.join(null,t)}}()});class lw{static create(t,e){const n=new lw(t,e);return Mt(e,n),n}#x;#S=-1;#E=!1;#C=!1;#k=[];#T=[];constructor(t,e){this.#x=t,It(this,()=>{this.clearAllRoots(e)})}get debug(){return{roots:this.#k,inRenderTransaction:this.#E,isInteractive:this.isInteractive}}get roots(){return this.#k}get owner(){return this.#x.owner}get builder(){return this.#x.builder}get context(){return this.#x.context}get env(){return this.context.env}get isInteractive(){return this.#x.context.env.isInteractive}renderRoot(t,e){let n=this.#k;return n.push(t),Mt(this,t),1===n.length&&function(t){rw.push(t)}(e),this.#R(e),t}#R(t){if(this.#E)return;this.#E=!0;let e=!1;try{this.renderRoots(t),e=!0}finally{e||(this.#S=Zt(he)),this.#E=!1}}renderRoots(t){let e,n=this.#k,i=this.#T;do{e=n.length,Ry(this.context.env,()=>{for(let t=0;t=e||r.render()}this.#S=Zt(he)})}while(n.length>e);for(;i.length;){let t=i.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#k.length&&sw(t)}scheduleRevalidate(t){Qo.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#C||0===this.#k.length||Jt(he,this.#S)}revalidate(t){this.isValid()||this.#R(t)}clearAllRoots(t){let e=this.#k;for(let n of e)At(n);this.#T.length=0,this.#k=[],e.length&&sw(t)}}class uw{static strict(t,n,i){return new uw(t,{hasDOM:e,...i},n,new Zb,v_)}state;constructor(t,e,n,i,r){let s={constants:new Og,heap:new Fg},o=Ty({document:n},new Cb(t,e.isInteractive),s,i),a=new wg(s,t=>new Ag(t),o);this.state=lw.create({owner:t,context:a,builder:r},this)}get debugRenderTree(){let{debugRenderTree:t}=this.state.env;return t}isValid(){return this.state.isValid()}destroy(){At(this)}render(t,e){const n=new nw(this.state,t,{args:e.args,into:(i=e.into,"element"in i?i:{element:i,nextSibling:null})});var i;return this.state.renderRoot(n,this)}rerender(){this.state.scheduleRevalidate(this)}}class hw extends uw{static strict(t,n,i){return new uw(t,{hasDOM:e,...i},n,new Zb,v_)}_rootTemplate;_viewRegistry;static create(t){let{_viewRegistry:e}=t,n=Yi(t),i=n.lookup("service:-document"),r=n.lookup("-environment:main"),s=n.lookup(ul`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,i,r,s,e,o)}constructor(t,e,n,i,r,s=v_,o=new Zb){super(t,n,e,o,s),this._rootTemplate=i(t),this._viewRegistry=r||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new lb((i=t).owner,i.state);var i;let{name:r,template:s}=t.state,o=rn();o.Component=bn(Gb(t.owner,r,s)),o.controller=mn,o.model=mn;let a=zm(o,Hm);this._appendDefinition(t,Qg(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new cb(t);this._appendDefinition(t,Qg(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let i=bn(e),r=new tw(null,mn),s=new iw(t,this.state.context,this.state.owner,this._rootTemplate,i,n,r,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(Nt(this))return;let e=this.state.roots,n=e.length;for(;n--;){let i=e[n];"classic"===i.type&&i.isFor(t)&&(i.destroy(),e.splice(n,1))}}remove(t){t._transitionTo("destroying"),this.cleanupRootFor(t),this.state.isInteractive&&t.trigger("didDestroyElement")}get _roots(){return this.state.debug.roots}get _inRenderTransaction(){return this.state.debug.inRenderTransaction}get _isInteractive(){return this.state.debug.isInteractive}get _context(){return this.state.context}register(t){let e=mh(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[mh(t)]}getElement(t){if(this._isInteractive)return bh(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[jv];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const cw=Cg({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[Vb],isStrictMode:!0});class dw extends Bc{rootElement=null;init(t){super.init(t),this.application._watchInstance(this),this.register("-application-instance:main",this,{instantiate:!1})}_bootSync(t){return this._booted||(t=new pw(t),this.setupRegistry(t),t.rootElement?this.rootElement=t.rootElement:this.rootElement=this.application.rootElement,t.location&&bs(this.router,"location",t.location),this.application.runInstanceInitializers(this),t.isInteractive&&this.setupEventDispatcher(),this._booted=!0),this}setupRegistry(t){this.constructor.setupRegistry(this.__registry__,t)}_router;get router(){if(!this._router){let t=this.lookup("router:main");this._router=t}return this._router}didCreateRootView(t){t.appendTo(this.rootElement)}startRouting(){this.router.startRouting()}setupRouter(){this.router.setupRouter()}handleURL(t){return this.setupRouter(),this.router.handleURL(t)}setupEventDispatcher(){let t=this.lookup("event_dispatcher:main"),e=us(this.application,"customEvents"),n=us(this,"customEvents"),i=Object.assign({},e,n);return t.setup(i,this.rootElement),t}getURL(){return this.router.url}visit(t){this.setupRouter();let e=this.__container__.lookup("-environment:main"),n=this.router,i=()=>e.options.shouldRender?(null===ow&&(ow=Vu.defer(),Yo()||Qo.schedule("actions",null,ew)),ow.promise).then(()=>this):this,r=t=>{if(t.error&&t.error instanceof Error)throw t.error;if("TransitionAborted"===t.name&&n._routerMicrolib.activeTransition)return n._routerMicrolib.activeTransition.then(i,r);throw"TransitionAborted"===t.name?new Error(t.message):t},s=us(n,"location");return s.setURL(t),n.handleURL(s.getURL()).then(i,r)}willDestroy(){super.willDestroy(),this.application._unwatchInstance(this)}static setupRegistry(t,e={}){let n=e instanceof pw?e:new pw(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class pw{isInteractive;_renderMode;isBrowser;location=null;shouldRender;document;rootElement;constructor(t={}){this.isInteractive=Boolean(e),this._renderMode=t._renderMode,void 0!==t.isBrowser?this.isBrowser=Boolean(t.isBrowser):this.isBrowser=Boolean(e),this.isBrowser||(this.isInteractive=!1,this.location="none"),void 0!==t.shouldRender?this.shouldRender=Boolean(t.shouldRender):this.shouldRender=!0,this.shouldRender||(this.isInteractive=!1),t.document?this.document=t.document:this.document="undefined"!=typeof document?document:null,t.rootElement&&(this.rootElement=t.rootElement),void 0!==t.location&&(this.location=t.location),void 0!==t.isInteractive&&(this.isInteractive=Boolean(t.isInteractive))}toEnvironment(){return{...l,hasDOM:this.isBrowser,isInteractive:this.isInteractive,_renderMode:this._renderMode,options:this}}}class fw extends lh{static NAMESPACES=Ws;static NAMESPACES_BY_ID=Hs;static processAll=Qs;static byName=Zs;init(t){super.init(t),Ks(this)}toString(){let t=us(this,"name")||us(this,"modulePrefix");if(t)return t;Ys();let e=Bs(this);return void 0===e&&(e=U(this),Us(this,e)),e}nameClasses(){Js(this)}destroy(){return Xs(this),super.destroy()}}fw.prototype.isNamespace=!0;const gw=Object.freeze(Object.defineProperty({__proto__:null,default:fw},Symbol.toStringTag,{value:"Module"}));var mw=function(){function t(){this._vertices=new yw}return t.prototype.add=function(t,e,n,i){if(!t)throw new Error("argument `key` is required");var r=this._vertices,s=r.add(t);if(s.val=e,n)if("string"==typeof n)r.addEdge(s,r.add(n));else for(var o=0;o0){var i="cycle detected: "+e;throw this.each(this.path,function(t){i+=" <- "+t}),new Error(i)}}},t.prototype.reset=function(){this.stack.length=0,this.path.length=0,this.result.length=0;for(var t=0,e=this.length;t=0){var a=this[o];if(a.flag)continue;if(a.flag=!0,r.push(o),e===a.key)break;i.push(~o),this.pushIncoming(a)}else r.pop(),s.push(~o)}},t.prototype.pushIncoming=function(t){for(var e=this.stack,n=t.length-1;n>=0;n--){var i=t[n];this[i].flag||e.push(i)}},t.prototype.each=function(t,e){for(var n=0,i=t.length;n{for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.test(e)&&"class"===hc(t[e])&&n.push(of(e.replace(i,"")))}),n}}class bw extends lh{componentFor(t,e){let n=`component:${t}`;return e.factoryFor(n)}layoutFor(t,e,n){let i=`template:components/${t}`;return e.lookup(i,n)}}const ww=new WeakMap;class xw extends f_{__openBlock(){let{tagName:t}=this.element;if("TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=this.serializeBlockDepth++;this.__appendComment(`%+b:${t}%`)}super.__openBlock()}__closeBlock(){let{tagName:t}=this.element;if(super.__closeBlock(),"TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=--this.serializeBlockDepth;this.__appendComment(`%-b:${t}%`)}}__appendHTML(t){let{tagName:e}=this.element;if("TITLE"===e||"SCRIPT"===e||"STYLE"===e)return super.__appendHTML(t);let n=this.__appendComment("%glmr%");if("TABLE"===e){let e=t.indexOf("<");e>-1&&"tr"===t.slice(e+1,e+3)&&(t=`${t}`)}""===t?this.__appendComment("% %"):super.__appendHTML(t);let i=this.__appendComment("%glmr%");return new im(this.element,n,i)}__appendText(t){let{tagName:e}=this.element,n=function(t){let{element:e,nextSibling:n}=t;return null===n?e.lastChild:n.previousSibling}(this);return"TITLE"===e||"SCRIPT"===e||"STYLE"===e?super.__appendText(t):""===t?this.__appendComment("% %"):(n&&3===n.nodeType&&this.__appendComment("%|%"),super.__appendText(t))}closeElement(){return ww.has(this.element)&&(ww.delete(this.element),super.closeElement()),super.closeElement()}openElement(t){return"tr"===t&&"TBODY"!==this.element.tagName&&"THEAD"!==this.element.tagName&&"TFOOT"!==this.element.tagName&&(this.openElement("tbody"),ww.set(this.constructing,!0),this.flushElement(null)),super.openElement(t)}pushRemoteElement(t,e,n=null){let{dom:i}=this,r=i.createElement("script");return r.setAttribute("glmr",e),i.insertBefore(t,r,n),super.pushRemoteElement(t,e,n)}constructor(...t){super(...t),this.serializeBlockDepth=0}}function Sw(t,e){return xw.forInitialRender(t,e)}function Ew(t){t.register("service:-dom-builder",{create(t){switch(Yi(t).lookup("-environment:main")._renderMode){case"serialize":return Sw.bind(null);case"rehydrate":return G_.bind(null);default:return v_.bind(null)}}}),t.register(ul`template:-root`,K_),t.register("renderer:-dom",hw)}class Cw extends(fw.extend(kl)){static initializers=Object.create(null);static instanceInitializers=Object.create(null);static initializer=Tw("initializers");static instanceInitializer=Tw("instanceInitializers");static buildRegistry(t){let e=new ol({resolver:kw(t)});return e.set=bs,e.register("application:main",t,{instantiate:!1}),function(t){t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.register("controller:basic",Dc,{instantiate:!1}),t.register("service:-routing",_f),t.register("resolver-for-debugging:main",t.resolver,{instantiate:!1}),t.register("container-debug-adapter:main",vw),t.register("component-lookup:main",bw)}(e),function(t){t.optionsForType("template",{instantiate:!1}),t.register("view:-outlet",Qb),t.register("template:-outlet",cw),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",cv),t.register("component:link-to",bv),t.register("component:textarea",Sv)}(e),e}init(t){super.init(t),this.buildRegistry()}_initializersRan=!1;ensureInitializers(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)}buildInstance(t={}){return this.ensureInitializers(),Bc.create({...t,base:this})}buildRegistry(){return this.__registry__=this.constructor.buildRegistry(this)}initializer(t){this.constructor.initializer(t)}instanceInitializer(t){this.constructor.instanceInitializer(t)}runInitializers(){this._runInitializer("initializers",(t,e)=>{e.initialize(this)})}runInstanceInitializers(t){this._runInitializer("instanceInitializers",(e,n)=>{n.initialize(t)})}_runInitializer(t,e){let n,i=us(this.constructor,t),r=function(t){let e=[];for(let n in t)e.push(n);return e}(i),s=new mw;for(let o of r)n=i[o],s.add(n.name,n,n.before,n.after);s.topsort(e)}}function kw(t){let e={namespace:t};return t.Resolver.create(e)}function Tw(t){return function(e){let n=this.superclass;if(void 0!==n[t]&&n[t]===this[t]){let e={[t]:Object.create(this[t])};this.reopenClass(e)}this[t][e.name]=e}}const Rw=qa,Pw=Zi;class Mw extends Cw{static buildRegistry(t){let e=super.buildRegistry(t);return function(t){t.register("router:main",Ap),t.register("-view-registry:main",{create:()=>Ga(null)}),t.register("route:basic",Jd),t.register("event_dispatcher:main",Ah),t.register("location:hash",Vp),t.register("location:history",Kp),t.register("location:none",Xp),t.register(ul`-bucket-cache:main`,{create:()=>new sp}),t.register("service:router",yf)}(e),Ew(e),e}static initializer=Tw("initializers");static instanceInitializer=Tw("instanceInitializers");init(t){super.init(t),this.rootElement??="body",this._document??=null,this.eventDispatcher??=null,this.customEvents??=null,this.autoboot??=!0,this._document??=e?window.document:null,this._globalsMode??=!0,this._readinessDeferrals=1,this._booted=!1,this._applicationInstances=new Set,this.autoboot=this._globalsMode=Boolean(this.autoboot),this._globalsMode&&this._prepareForGlobalsMode(),this.autoboot&&this.waitForDOMReady()}buildInstance(t={}){return dw.create({...t,base:this,application:this})}_watchInstance(t){this._applicationInstances.add(t)}_unwatchInstance(t){return this._applicationInstances.delete(t)}Router;_prepareForGlobalsMode(){this.Router=(this.Router||Ap).extend(),this._buildDeprecatedInstance()}__deprecatedInstance__;__container__;_buildDeprecatedInstance(){let t=this.buildInstance();this.__deprecatedInstance__=t,this.__container__=t.__container__}waitForDOMReady(){const t=this._document;if(null===t||"loading"!==t.readyState)ia("actions",this,this.domReady);else{let e=()=>{t.removeEventListener("DOMContentLoaded",e),ta(this,this.domReady)};t.addEventListener("DOMContentLoaded",e)}}domReady(){this.isDestroying||this.isDestroyed||this._bootSync()}deferReadiness(){this._readinessDeferrals++}advanceReadiness(){this._readinessDeferrals--,0===this._readinessDeferrals&&ra(this,this.didBecomeReady)}_bootPromise=null;boot(){if(this._bootPromise)return this._bootPromise;try{this._bootSync()}catch(t){}return this._bootPromise}_bootResolver=null;_bootSync(){if(this._booted||this.isDestroying||this.isDestroyed)return;let t=this._bootResolver=Wu.defer();this._bootPromise=t.promise;try{this.runInitializers(),Ka("application",this),this.advanceReadiness()}catch(pD){throw t.reject(pD),pD}}reset(){let t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,ea(this,function(){ta(t,"destroy"),this._buildDeprecatedInstance(),ia("actions",this,"_bootSync")})}didBecomeReady(){if(!this.isDestroying&&!this.isDestroyed)try{if(this.autoboot){let t;t=this._globalsMode?this.__deprecatedInstance__:this.buildInstance(),t._bootSync(),this.ready(),t.startRouting()}this._bootResolver.resolve(this),this._booted=!0}catch(pD){throw this._bootResolver.reject(pD),pD}}ready(){return this}willDestroy(){super.willDestroy(),Ha.application===this&&(Ha.application=void 0),this._applicationInstances.size&&(this._applicationInstances.forEach(t=>t.destroy()),this._applicationInstances.clear())}visit(t,e){return this.boot().then(()=>{let n=this.buildInstance();return n.boot(e).then(()=>n.visit(t)).catch(t=>{throw ta(n,"destroy"),t})})}}const Iw=Object.freeze(Object.defineProperty({__proto__:null,_loaded:Ha,default:Mw,getOwner:Rw,onLoad:function(t,e){let n=Wa[t];(Va[t]??=[]).push(e),n&&e(n)},runLoadHooks:Ka,setOwner:Pw},Symbol.toStringTag,{value:"Module"})),Ow=Object.assign({},{});function Aw(){return Fw.global}const Fw={packages:{},global:{}};let Lw="undefined"!=typeof window?window._embroider_macros_runtime_config:void 0;if(Lw){let t={config:function(t){return Fw.packages[t]},getGlobalConfig:Aw,setConfig(t,e){Fw.packages[t]=e},setGlobalConfig(t,e){Fw.global[t]=e}};for(let e of Lw)e(t)}const Nw={modulePrefix:"marco",environment:"production",rootURL:"/",locationType:"history",EmberENV:{},APP:{}},Dw=Object.freeze(Object.defineProperty({__proto__:null,default:Nw,enterTestMode:function(){Nw.locationType="none",Nw.APP.rootElement="#ember-testing",Nw.APP.autoboot=!1;const t=Aw()["@embroider/macros"];t&&(t.isTesting=!0)}},Symbol.toStringTag,{value:"Module"}));var jw;jw={throwOnUnhandled:!1,workflow:[]},self.deprecationWorkflow=self.deprecationWorkflow||{},self.deprecationWorkflow.deprecationLog={messages:new Set},self.deprecationWorkflow.flushDeprecations=t=>function({handler:t="silence",config:e={}}={}){let n=self.deprecationWorkflow.deprecationLog.messages,i=e.workflow??[],r=n.values().filter(t=>!i.some(e=>e.matchId===t)).map(e=>({handler:t,matchId:e})),s={...e,workflow:[...i,...r]};return`import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow';\n\nsetupDeprecationWorkflow(${JSON.stringify(s,void 0,2)});`}({config:jw,...t});const zw=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let Uw;!function(){const t="TEST_WAITERS",e="undefined"!=typeof Symbol?Symbol.for(t):t,n=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;throw new Error("unable to locate global object")}();let i=n[e];void 0===i&&(i=n[e]=new Map)}(),Uw=Ap;var Bw=Uw;class qw extends Bw{location=Nw.locationType;rootURL=Nw.rootURL}qw.map(function(){this.route("place",{path:"/place/:place_id"})});const $w=Object.freeze(Object.defineProperty({__proto__:null,default:qw},Symbol.toStringTag,{value:"Module"})),Gw=Object.freeze(Object.defineProperty({__proto__:null,default:class extends pf{controller=null;async getNearbyPois(t,e,n=50){this.controller&&this.controller.abort(),this.controller=new AbortController;const i=this.controller.signal,r=`\n[out:json][timeout:25];\n(\n nw["amenity"](around:${n},${t},${e});\n nw["shop"](around:${n},${t},${e});\n nw["tourism"](around:${n},${t},${e});\n nw["leisure"](around:${n},${t},${e});\n nw["historic"](around:${n},${t},${e});\n);\nout center;\n `.trim(),s=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(r)}`;try{const t=await this.fetchWithRetry(s,{signal:i});if(!t.ok)throw new Error("Overpass request failed");return(await t.json()).elements.map(this.normalizePoi)}catch(o){if("AbortError"===o.name)return console.log("Overpass request aborted"),[];throw o}}normalizePoi(t){return{title:t.tags?.name||t.tags?.["name:en"]||"Untitled Place",lat:t.lat||t.center?.lat,lon:t.lon||t.center?.lon,url:t.tags?.website,osmId:String(t.id),osmType:t.type,osmTags:t.tags||{},description:t.tags?.description}}async fetchWithRetry(t,e={},n=3){try{const i=await fetch(t,e);return!i.ok&&n>0&&[502,503,504,429].includes(i.status)?(console.log(`Overpass request failed with ${i.status}. Retrying... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1)):i}catch(i){if(n>0&&"AbortError"!==i.name)return console.log(`Retrying Overpass request... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1);throw i}}async getPoiById(t,e=null){let n;n="node"===e?`[out:json][timeout:25];node(${t});out center;`:"way"===e?`[out:json][timeout:25];way(${t});out center;`:`\n[out:json][timeout:25];\n(\n node(${t});\n way(${t});\n);\nout center;\n `.trim();const i=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(n)}`,r=await this.fetchWithRetry(i);if(!r.ok)throw new Error("Overpass request failed");const s=await r.json();return s.elements[0]?this.normalizePoi(s.elements[0]):null}}},Symbol.toStringTag,{value:"Module"}));function Vw(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ww,Hw={exports:{}},Kw=(Ww||(Ww=1,Hw.exports=function(){var t={548:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Access=void 0;class n{constructor(){this.reset()}get scopes(){return Object.keys(this.scopeModeMap).map(t=>({name:t,mode:this.scopeModeMap[t]}))}get scopeParameter(){return this.scopes.map(t=>`${this._scopeNameForParameter(t)}:${t.mode}`).join(" ")}claim(t,e){if("string"!=typeof t||-1!==t.indexOf("/")||0===t.length)throw new Error("Scope should be a non-empty string without forward slashes");if("string"!=typeof e||!e.match(/^rw?$/))throw new Error("Mode should be either 'r' or 'rw'");this._adjustRootPaths(t),this.scopeModeMap[t]=e}get(t){return this.scopeModeMap[t]}remove(t){const e={};for(const n in this.scopeModeMap)e[n]=this.scopeModeMap[n];this.reset(),delete e[t];for(const n in e)this.claim(n,e[n])}checkPermission(t,e){const n=this.get(t);return n&&("r"===e||"rw"===n)}checkPathPermission(t,e){if(this.checkPermission("*",e))return!0;const n=this._getModuleName(t);return!!this.checkPermission(n,e)}reset(){this.rootPaths=[],this.scopeModeMap={}}_getModuleName(t){if("/"!==t[0])throw new Error("Path should start with a slash");const e=t.replace(/^\/public/,"").match(/^\/([^/]*)\//);return e?e[1]:"*"}_adjustRootPaths(t){"*"in this.scopeModeMap||"*"===t?this.rootPaths=["/"]:t in this.scopeModeMap||(this.rootPaths.push("/"+t+"/"),this.rootPaths.push("/public/"+t+"/"))}_scopeNameForParameter(t){if("*"===t.name&&this.storageType){if("2012.04"===this.storageType)return"";if(this.storageType.match(/remotestorage-0[01]/))return"root"}return t.name}setStorageType(t){this.storageType=t}static _rs_init(){}}e.Access=n,e.default=n},275:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Authorize=void 0;const s=r(n(334)),o=n(746),a=r(n(503)),l=n(368);let u;function h(t){const e=t||c.getLocation().href,n={};for(const[s,o]of new URL(e).searchParams)n[s]=o;const i=e.indexOf("#");if(-1===i)return n;const r=e.substring(i+1);return r.includes("=")?r.split("&").reduce(function(t,e){const n=e.split("=");if("state"===n[0]&&n[1].match(/rsDiscovery/)){let e=decodeURIComponent(n[1]);const i=e.substr(e.indexOf("rsDiscovery=")).split("&")[0].split("=")[1];t.rsDiscovery=JSON.parse(atob(i)),e=e.replace(new RegExp("&?rsDiscovery="+i),""),e.length>0&&(t.state=e)}else t[decodeURIComponent(n[0])]=decodeURIComponent(n[1]);return t},n):n}class c{static authorize(t,e){if((0,s.default)("[Authorize] authURL = ",e.authURL,"scope = ",e.scope,"redirectUri = ",e.redirectUri,"clientId = ",e.clientId,"response_type =",e.response_type),!e.scope)throw new Error("Cannot authorize due to undefined or empty scope; did you forget to access.claim()?");if(!(0,o.localStorageAvailable)()&&"remotestorage"===t.backend){e.redirectUri+=e.redirectUri.indexOf("#")>0?"&":"#";const n={userAddress:t.remote.userAddress,href:t.remote.href,storageApi:t.remote.storageApi,properties:t.remote.properties};e.redirectUri+="rsDiscovery="+(0,o.toBase64)(JSON.stringify(n))}const n=function(t){const e=new URL(t.redirectUri);t.state||(t.state=e.hash?e.hash.substring(1):""),t.response_type||(t.response_type="token");const n=new URL(t.authURL);n.searchParams.set("redirect_uri",t.redirectUri.replace(/#.*$/,"")),n.searchParams.set("scope",t.scope),n.searchParams.set("client_id",t.clientId);for(const i of["state","response_type","code_challenge","code_challenge_method","token_access_type"]){const e=t[i];e&&n.searchParams.set(i,e)}return n.href}(e);o.globalContext.cordova?c.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):c.setLocation(n)}static refreshAccessToken(t,e,n){return i(this,void 0,void 0,function*(){var t,i,r;yield e.configure({token:null,tokenType:null});const o=new URLSearchParams({grant_type:"refresh_token",client_id:e.clientId,refresh_token:n}),u=yield(0,l.requestWithTimeout)("POST",e.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString(),responseType:"json"});if(200!==(null==u?void 0:u.status))throw yield e.configure({refreshToken:null}),new a.default("refresh token rejected:"+JSON.stringify(u.response));{(0,s.default)(`[Authorize] access token good for ${null===(t=null==u?void 0:u.response)||void 0===t?void 0:t.expires_in} seconds`);const n={token:null===(i=null==u?void 0:u.response)||void 0===i?void 0:i.access_token,tokenType:null===(r=null==u?void 0:u.response)||void 0===r?void 0:r.token_type};if(!n.token)throw new Error(`no access_token in "successful" refresh: ${u.response}`);yield e.configure(n)}})}static setLocation(t){if("string"==typeof t)document.location.href=t;else{if("object"!=typeof t)throw"Invalid location "+t;document.location=t}}static _rs_supported(){return"undefined"!=typeof document}static _rs_cleanup(t){t.removeEventListener("features-loaded",u)}}e.Authorize=c,c.IMPLIED_FAKE_TOKEN=!1,c.getLocation=function(){return document.location},c.openWindow=function(t,e,n){return new Promise((i,r)=>{const s=open(t,"_blank",n);function o(){r("Authorization was canceled")}s&&!s.closed?(s.addEventListener("loadstart",function(t){if(0!==t.url.indexOf(e))return;s.removeEventListener("exit",o),s.close();const n=h(t.url);n?i(n):r("Authorization error")}),s.addEventListener("exit",o)):r("Authorization popup was blocked")})},c._rs_init=function(t){const e=h();let n;e&&(n=c.getLocation(),n.hash=""),u=function(){let r=!1;if(e){if(e.error)throw"access_denied"===e.error?new a.default("Authorization failed: access denied",{code:"access_denied"}):new a.default(`Authorization failed: ${e.error}`);e.rsDiscovery&&t.remote.configure(e.rsDiscovery),e.access_token&&(t.remote.configure({token:e.access_token}),r=!0),e.remotestorage&&(t.connect(e.remotestorage),r=!0),e.state&&(n=c.getLocation(),c.setLocation(n.href.split("#")[0]+"#"+e.state)),e.code&&(function(e){i(this,void 0,void 0,function*(){var i,r,o,a;const u=sessionStorage.getItem("remotestorage:codeVerifier");if(!u)return void(0,s.default)("[Authorize] Ignoring OAuth code parameter, because no PKCE code verifier found in sessionStorage");n=c.getLocation();let h=n.origin;"/"!==n.pathname&&(h+=n.pathname);const d=new URLSearchParams({code:e,grant_type:"authorization_code",client_id:t.remote.clientId,redirect_uri:h,code_verifier:u}),p=yield(0,l.requestWithTimeout)("POST",t.remote.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString(),responseType:"json"});if(200===p.status){(0,s.default)(`[Authorize] access token good for ${null===(i=null==p?void 0:p.response)||void 0===i?void 0:i.expires_in} seconds`);const e={token:null===(r=null==p?void 0:p.response)||void 0===r?void 0:r.access_token,refreshToken:null===(o=null==p?void 0:p.response)||void 0===o?void 0:o.refresh_token,tokenType:null===(a=null==p?void 0:p.response)||void 0===a?void 0:a.token_type};e.token?t.remote.configure(e):t._emit("error",new Error(`no access_token in "successful" response: ${p.response}`)),sessionStorage.removeItem("remotestorage:codeVerifier")}else t._emit("error",new Error(`${p.statusText}: ${p.response}`))})}(e.code),r=!0),r||t.remote.stopWaitingForToken()}else t.remote.stopWaitingForToken()},t.on("features-loaded",u)},e.default=c},424:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClient=void 0;const s=r(n(439)),o=r(n(613)),a=r(n(491)),l=r(n(93)),u=r(n(28)),h=n(746);class c{constructor(t,e){if(this.schemas={configurable:!0,get(){return c.Types.inScope(this.moduleName)}},"/"!==e[e.length-1])throw"Not a folder: "+e;"/"===e&&(this.makePath=t=>("/"===t[0]?"":"/")+t),this.storage=t,this.base=e,this.moduleName=function(t){const e=t.split("/");return t.length>2?e[1]:"root"}(this.base),this.addEvents(["change"]),this.on=this.on.bind(this),t.onChange(this.base,this._fireChange.bind(this))}scope(t){return new c(this.storage,this.makePath(t))}getListing(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,h.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(t=>404===t.statusCode?{}:t.body)})}getAll(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,h.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(n=>{if(404===n.statusCode)return{};if("object"==typeof n.body){const i=Object.keys(n.body);if(0===i.length)return{};const r=i.map(i=>this.storage.get(this.makePath(t+i),e).then(t=>{if("string"==typeof t.body)try{t.body=JSON.parse(t.body)}catch(t){}"object"==typeof t.body&&(n.body[i]=t.body)}));return Promise.all(r).then(()=>n.body)}})})}getFile(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getFile must be a string"):this.storage.get(this.makePath(t),e).then(t=>({data:t.body,contentType:t.contentType,revision:t.revision}))})}storeFile(t,e,n){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'contentType' of baseClient.storeFile must be a string"):"string"!=typeof e?Promise.reject("Argument 'path' of baseClient.storeFile must be a string"):"string"!=typeof n&&"object"!=typeof n?Promise.reject("Argument 'body' of baseClient.storeFile must be a string, ArrayBuffer, or ArrayBufferView"):(this.storage.access.checkPathPermission(this.makePath(e),"rw")||console.warn("WARNING: Editing a document to which only read access ('r') was claimed"),this.storage.put(this.makePath(e),n,t).then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode)))})}getObject(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getObject must be a string"):this.storage.get(this.makePath(t),e).then(e=>{if("object"==typeof e.body)return e.body;if("string"==typeof e.body)try{return JSON.parse(e.body)}catch(e){throw new Error("Not valid JSON: "+this.makePath(t))}else if(void 0!==e.body&&200===e.statusCode)return Promise.reject("Not an object: "+this.makePath(t))})})}storeObject(t,e,n){return i(this,void 0,void 0,function*(){if("string"!=typeof t)return Promise.reject("Argument 'typeAlias' of baseClient.storeObject must be a string");if("string"!=typeof e)return Promise.reject("Argument 'path' of baseClient.storeObject must be a string");if("object"!=typeof n)return Promise.reject("Argument 'object' of baseClient.storeObject must be an object");this._attachType(n,t);try{const t=this.validate(n);if(!t.valid)return Promise.reject(t)}catch(t){return Promise.reject(t)}return this.storage.put(this.makePath(e),JSON.stringify(n),"application/json; charset=UTF-8").then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode))})}remove(t){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.remove must be a string"):(this.storage.access.checkPathPermission(this.makePath(t),"rw")||console.warn("WARNING: Removing a document to which only read access ('r') was claimed"),this.storage.delete(this.makePath(t),this.storage.connected))})}getItemURL(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.getItemURL must be a string";return this.storage.connected?(t=(0,h.cleanPath)(this.makePath(t)),this.storage.remote.href+t):void 0}cache(t,e="ALL"){if("string"!=typeof t)throw"Argument 'path' of baseClient.cache must be a string";if("string"!=typeof e)throw"Argument 'strategy' of baseClient.cache must be a string or undefined";if("FLUSH"!==e&&"SEEN"!==e&&"ALL"!==e)throw'Argument \'strategy\' of baseclient.cache must be one of ["FLUSH", "SEEN", "ALL"]';return this.storage.caching.set(this.makePath(t),e),this}declareType(t,e,n){let i;if(n&&"string"==typeof e)i=e;else if(n||"string"==typeof e){if(!n&&"string"==typeof e)throw new Error("declareType() requires a JSON Schema object to be passed, in order to validate object types/formats")}else n=e,i=this._defaultTypeURI(t);c.Types.declare(this.moduleName,t,i,n)}validate(t){const e=c.Types.getSchema(t["@context"]);if(e)return s.default.validateResult(t,e);throw new a.default(t["@context"])}_defaultTypeURI(t){return"http://remotestorage.io/spec/modules/"+encodeURIComponent(this.moduleName)+"/"+encodeURIComponent(t)}_attachType(t,e){t["@context"]=c.Types.resolveAlias(this.moduleName+"/"+e)||this._defaultTypeURI(e)}makePath(t){return this.base+(t||"")}_fireChange(t){u.default.changeEvents[t.origin]&&(["new","old","lastCommon"].forEach(function(e){if((!t[e+"ContentType"]||/^application\/(.*)json(.*)/.exec(t[e+"ContentType"]))&&"string"==typeof t[e+"Value"])try{t[e+"Value"]=JSON.parse(t[e+"Value"])}catch(t){}}),this._emit("change",t))}static _rs_init(){}}e.BaseClient=c,c.Types=o.default,(0,h.applyMixins)(c,[l.default]),e.default=c},285:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Caching=void 0;const r=n(746),s=i(n(334));class o{constructor(t){this.pendingActivations=[],this._access=t.access,this.reset()}set(t,e){if("string"!=typeof t)throw new Error("path should be a string");if(!(0,r.isFolder)(t))throw new Error("path should be a folder");if(!this._access.checkPathPermission(t,"r"))throw new Error('No access to path "'+t+'". You must claim access to it first.');if(void 0===e||!e.match(/^(FLUSH|SEEN|ALL)$/))throw new Error("strategy should be 'FLUSH', 'SEEN', or 'ALL'");this._rootPaths[t]=e,"ALL"===e&&(this.activateHandler?this.activateHandler(t):this.pendingActivations.push(t))}enable(t){this.set(t,"ALL")}disable(t){this.set(t,"FLUSH")}onActivate(t){(0,s.default)("[Caching] Setting activate handler",t,this.pendingActivations),this.activateHandler=t;for(let e=0;e{this.emitChange(t.data)})}get(t,e,n){return i(this,void 0,void 0,function*(){return"number"==typeof e?this.getNodes((0,u.pathsFromRoot)(t)).then(i=>{const r=h(i[t]);return c(i,e)?n(t):r?{statusCode:200,body:r.body||r.itemsMap,contentType:r.contentType}:{statusCode:404}}):this.getNodes([t]).then(e=>{const n=h(e[t]);if(n){if((0,u.isFolder)(t))for(const t in n.itemsMap)n.itemsMap.hasOwnProperty(t)&&!1===n.itemsMap[t]&&delete n.itemsMap[t];return{statusCode:200,body:n.body||n.itemsMap,contentType:n.contentType}}return{statusCode:404}})})}put(t,e,n){return i(this,void 0,void 0,function*(){const i=(0,u.pathsFromRoot)(t);return this._updateNodes(i,function(t,i){try{for(let r=0,s=t.length;r0)break}else console.error("Cannot delete non-existing node "+r)}return n})})}flush(t){return this._getAllDescendentPaths(t).then(t=>this.getNodes(t)).then(t=>{for(const e in t){const n=t[e];n&&n.common&&n.local&&this.emitChange({path:n.path,origin:"local",oldValue:!1===n.local.body?void 0:n.local.body,newValue:!1===n.common.body?void 0:n.common.body}),t[e]=void 0}return this.setNodes(t)})}emitChange(t){a.default.changeEvents[t.origin]&&this._emit("change",t)}fireInitial(){a.default.changeEvents.local&&this.forAllNodes(t=>{if((0,u.isDocument)(t.path)){const e=h(t);e&&this.emitChange({path:t.path,origin:"local",oldValue:void 0,oldContentType:void 0,newValue:e.body,newContentType:e.contentType})}}).then(()=>{this._emit("local-events-done")})}onDiff(t){this.diffHandler=t}_updateNodes(t,e){return new Promise((n,i)=>{this._doUpdateNodes(t,e,{resolve:n,reject:i})})}_doUpdateNodes(t,e,n){return i(this,void 0,void 0,function*(){if(this._updateNodesRunning)return void this._updateNodesQueued.push({paths:t,cb:e,promise:n});this._updateNodesRunning=!0;try{let i=yield this.getNodes(t);const r=(0,u.deepClone)(i),s=[];i=e(t,i);for(const t in i){const e=i[t];(0,u.equal)(e,r[t])?delete i[t]:(0,u.isDocument)(t)&&((0,u.equal)(e.local.body,e.local.previousBody)&&e.local.contentType===e.local.previousContentType||s.push({path:t,origin:"window",oldValue:e.local.previousBody,newValue:!1===e.local.body?void 0:e.local.body,oldContentType:e.local.previousContentType,newContentType:e.local.contentType}),void 0===e.local.body?i[t]=void 0:(delete e.local.previousBody,delete e.local.previousContentType))}yield this.setNodes(i),this._emitChangeEvents(s),n.resolve({statusCode:200})}catch(t){n.reject(t)}this._updateNodesRunning=!1;const i=this._updateNodesQueued.shift();i&&(yield this._doUpdateNodes(i.paths,i.cb,i.promise))})}_emitChangeEvents(t){for(let e=0,n=t.length;e{const n=[t],i=h(e[t]),r=Object.keys(i.itemsMap).map(e=>this._getAllDescendentPaths(t+e).then(t=>{for(let e=0,i=t.length;en)}):Promise.resolve([t])}_getInternals(){return{getLatest:h,makeNode:d,isOutdated:c}}}(0,u.applyMixins)(f,[o.default]),t.exports=f},28:function(t){t.exports={cache:!0,changeEvents:{local:!0,window:!1,remote:!0,conflict:!0},cordovaRedirectUri:void 0,logging:!1,modules:[],backgroundSyncInterval:6e4,disableFeatures:[],discoveryTimeout:5e3,isBackground:!1,requestTimeout:3e4,syncInterval:1e4}},373:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(199)),s=i(n(28)),o=i(n(334)),a=n(746);let l;const u="remotestorage:discover";let h={};const c=function(t){return new Promise((e,n)=>{if(t in h)return e(h[t]);const i=new r.default({tls_only:!1,uri_fallback:!0,request_timeout:s.default.discoveryTimeout});return setTimeout(()=>n(new Error("timed out")),s.default.discoveryTimeout),i.lookup(t,function(i,r){if(i)return n(i);if("object"!=typeof r.idx.links.remotestorage||"number"!=typeof r.idx.links.remotestorage.length||r.idx.links.remotestorage.length<=0)return(0,o.default)("[Discover] WebFinger record for "+t+" does not have remotestorage defined in the links section ",JSON.stringify(r.json)),n("WebFinger record for "+t+" does not have remotestorage defined in the links section.");const s=r.idx.links.remotestorage[0],a=s.properties["http://tools.ietf.org/html/rfc6749#section-4.2"]||s.properties["auth-endpoint"],c=s.properties["http://remotestorage.io/spec/version"]||s.type;return h[t]={href:s.href,storageApi:c,authURL:a,properties:s.properties},l&&localStorage.setItem(u,JSON.stringify({cache:h})),e(h[t])})})};(c.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),c.DiscoveryError.prototype.constructor=c.DiscoveryError,c._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(u));t&&(h=t.cache)}},c._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},c._rs_cleanup=function(){l&&localStorage.removeItem(u)},t.exports=c},706:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(424)),a=r(n(941)),l=r(n(982)),u=r(n(503)),h=n(746),c=n(368),d=n(684),p=r(n(275));let f;const g="remotestorage:dropbox",m="https://api.dropboxapi.com/2/files/list_folder",y="https://api.dropboxapi.com/2/files/list_folder/continue",_="/remotestorage";function v(t){return(_+"/"+t).replace(/\/+$/,"").replace(/\/+/g,"/")}const b=/[\u007f-\uffff]/g;function w(t){return JSON.stringify(t).replace(b,function(t){return"\\u"+("000"+t.charCodeAt(0).toString(16)).slice(-4)})}function x(t,e){return new RegExp("^"+e.join("\\/")+"(\\/|$)").test(t.error_summary)}function S(t){return t instanceof ArrayBuffer||(0,c.isArrayBufferView)(t)}class E extends d.RemoteBase{constructor(t){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this._initialFetchDone=!1,this.addEvents(["connected","not-connected"]),this.clientId=t.apiKeys.dropbox.appKey,this.TOKEN_URL="https://api.dropboxapi.com/oauth2/token",this._revCache=new a.default("rev"),this._fetchDeltaCursor=null,this._fetchDeltaPromise=null,this._itemRefs={},f=(0,h.localStorageAvailable)(),f){const t=(0,h.getJSONFromLocalStorage)(g);t&&this.configure(t),this._itemRefs=(0,h.getJSONFromLocalStorage)(`${g}:shares`)||{}}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}connect(){return i(this,void 0,void 0,function*(){try{if(this.rs.setBackend("dropbox"),this.token)T(this.rs);else{const{codeVerifier:t,codeChallenge:e,state:n}=yield(0,h.generateCodeVerifier)();sessionStorage.setItem("remotestorage:codeVerifier",t),sessionStorage.setItem("remotestorage:state",n),this.rs.authorize({authURL:"https://www.dropbox.com/oauth2/authorize",scope:"account_info.read files.content.read files.content.write files.metadata.read files.metadata.write",clientId:this.clientId,response_type:"code",state:n,code_challenge:e,code_challenge_method:"S256",token_access_type:"offline"})}}catch(t){throw this.rs._emit("error",t),this.rs.setBackend(void 0),t}})}configure(t){return i(this,void 0,void 0,function*(){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token),void 0!==t.refreshToken&&(this.refreshToken=t.refreshToken),void 0!==t.tokenType&&(this.tokenType=t.tokenType);const e=()=>{f&&localStorage.setItem(g,JSON.stringify({userAddress:this.userAddress,token:this.token,refreshToken:this.refreshToken,tokenType:this.tokenType}))};if(this.refreshToken||this.token)if(this.connected=!0,this.userAddress)this._emit("connected"),e();else try{const t=yield this.info();this.userAddress=t.email,this._emit("connected"),e()}catch(t){this.connected=!1,this.rs._emit("error",new Error("Could not fetch user info.")),e.apply(this)}else(()=>{this.connected=!1,f&&localStorage.removeItem(g),this.rs.setBackend(void 0)})()})}_getFolder(t){const e=this._revCache,n=n=>{let r;if(200!==n.status&&409!==n.status)return Promise.reject("Unexpected response status: "+n.status);try{r=JSON.parse(n.responseText)}catch(t){return Promise.reject(t)}if(409===n.status)return x(r,["path","not_found"])?Promise.resolve({}):Promise.reject(new Error("API returned an error: "+r.error_summary));const s=r.entries.reduce((n,i)=>{try{const r="folder"===i[".tag"],s=i.path_display.split("/").slice(-1)[0]+(r?"/":"");if(r)n[s]={ETag:e.get(t+s)};else{const e=new Date(i.server_modified);n[s]={ETag:i.rev,"Content-Length":i.size,"Last-Modified":e.toUTCString()},this._revCache.set(t+s,i.rev)}}catch(e){console.error(`[Dropbox] folder “${t}” has entry ${JSON.stringify(i)}:`,e)}return n},{});return r.has_more?i(r.cursor).then(function(t){return Object.assign(s,t)}):Promise.resolve(s)},i=t=>{const e={body:{cursor:t}};return this._request("POST",y,e).then(n)};return this._request("POST",m,{body:{path:v(t)}}).then(n).then(function(n){return Promise.resolve({statusCode:200,body:n,contentType:"application/json; charset=UTF-8",revision:e.get(t)})})}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n=this._revCache.get(t);if(null===n)return Promise.resolve({statusCode:404});if(e&&e.ifNoneMatch){if(!this._initialFetchDone)return this.fetchDelta().then(()=>this.get(t,e));if(n&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304})}if("/"===t.slice(-1))return this._getFolder(t);const i={headers:{"Dropbox-API-Arg":w({path:v(t)})},responseType:"arraybuffer"};return e&&e.ifNoneMatch&&(i.headers["If-None-Match"]=e.ifNoneMatch),this._request("GET","https://content.dropboxapi.com/2/files/download",i).then(e=>{const n=e.status;let i,r,s,o;return 200!==n&&409!==n?Promise.resolve({statusCode:n}):(i=e.getResponseHeader("Dropbox-API-Result"),(0,h.getTextFromArrayBuffer)(e.response,"UTF-8").then(a=>{r=a,409===n&&(i=r);try{i=JSON.parse(i)}catch(t){return Promise.reject(t)}if(409===n)return x(i,["path","not_found"])?{statusCode:404}:Promise.reject(new Error('API error while downloading file ("'+t+'"): '+i.error_summary));if(s=e.getResponseHeader("Content-Type"),o=i.rev,this._revCache.set(t,o),this._shareIfNeeded(t),(0,h.shouldBeTreatedAsBinary)(a,s))r=e.response;else try{r=JSON.parse(r),s="application/json; charset=UTF-8"}catch(t){}return{statusCode:n,body:r,contentType:s,revision:o}}))})}put(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const r=this._revCache.get(t);if(i&&i.ifMatch&&r&&r!==i.ifMatch)return{statusCode:412,revision:r};if(i&&"*"===i.ifNoneMatch&&r&&"rev"!==r)return{statusCode:412,revision:r};if(!n.match(/charset=/)&&S(e)&&(n+="; charset=binary"),e.length>157286400)throw new Error("Cannot upload file larger than 150MB");const s={body:e,contentType:n,path:t};if(i&&(i.ifMatch||"*"===i.ifNoneMatch)){const e=yield this._getMetadata(t);if(i&&"*"===i.ifNoneMatch&&e)return{statusCode:412,revision:e.rev};if(i&&i.ifMatch&&e&&e.rev!==i.ifMatch)return{statusCode:412,revision:e.rev}}const o=yield this._uploadSimple(s);return this._shareIfNeeded(t),o})}delete(t){return i(this,arguments,void 0,function*(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const n=this._revCache.get(t);if((null==e?void 0:e.ifMatch)&&n&&e.ifMatch!==n)return{statusCode:412,revision:n};if(null==e?void 0:e.ifMatch){const n=yield this._getMetadata(t);if((null==e?void 0:e.ifMatch)&&n&&n.rev!==e.ifMatch)return{statusCode:412,revision:n.rev}}return this._deleteSimple(t)})}_shareIfNeeded(t){if(t.match(/^\/public\/.*[^/]$/)&&void 0===this._itemRefs[t])return this.share(t)}share(t){const e={body:{path:v(t)}};return this._request("POST","https://api.dropboxapi.com/2/sharing/create_shared_link_with_settings",e).then(e=>{if(200!==e.status&&409!==e.status)return Promise.reject(new Error("Invalid response status:"+e.status));let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid response body: "+e.responseText))}return 409===e.status?x(n,["shared_link_already_exists"])?this._getSharedLink(t):Promise.reject(new Error("API error: "+n.error_summary)):Promise.resolve(n.url)}).then(e=>(this._itemRefs[t]=e,f&&localStorage.setItem(g+":shares",JSON.stringify(this._itemRefs)),Promise.resolve(e)),e=>(e.message='Sharing Dropbox file or folder ("'+t+'") failed: '+e.message,Promise.reject(e)))}info(){return this._request("POST","https://api.dropboxapi.com/2/users/get_current_account",{}).then(function(t){let e;try{const n=JSON.parse(t.responseText);e=null==n?void 0:n.email}catch(e){return Promise.reject(new Error("Could not query current account info: Invalid API response: "+t.responseText))}return Promise.resolve({email:e})})}_request(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i=1){if(this.isForbiddenRequestMethod(t,e))throw`Don't use ${t} on directories!`;if(!this.token)throw new u.default("No access token");n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,"object"!=typeof n.body||S(n.body)||(n.body=JSON.stringify(n.body),n.headers["Content-Type"]="application/json; charset=UTF-8"),this.rs._emit("wire-busy",{method:t,isFolder:(0,h.isFolder)(e)});try{const r=yield(0,c.requestWithTimeout)(t,e,n);return this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,h.isFolder)(e),success:!0}),401===(null==r?void 0:r.status)&&this.refreshToken?i>=3?(console.error(`Abandoned after ${i} attempts: ${t} ${e}`),r):(this.rs._emit("wire-busy",{method:t,isFolder:(0,h.isFolder)(e)}),yield p.default.refreshAccessToken(this.rs,this,this.refreshToken),this.rs._emit("wire-done",{method:t,isFolder:(0,h.isFolder)(e),success:!0}),this._request(t,e,n,i+1)):[503,429].includes(null==r?void 0:r.status)?(this.online&&(this.online=!1,this.rs._emit("network-offline")),i>=3?(console.warn(`Abandoned after ${i} attempts: ${t} ${e}`),r):(yield new Promise(t=>setTimeout(t,(0,c.retryAfterMs)(r))),this._request(t,e,n,i+1))):r}catch(n){throw this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,h.isFolder)(e),success:!1}),n}})}fetchDelta(...t){if(this._fetchDeltaPromise)return this._fetchDeltaPromise;const e=t=>i(this,void 0,void 0,function*(){let n,i;"string"==typeof t?(n=y,i={cursor:t}):(n=m,i={path:_,recursive:!0,include_deleted:!0});try{const r=yield this._request("POST",n,{body:i});if(401===r.status)throw new u.default;if(200!==r.status&&409!==r.status)throw new Error("Invalid response status: "+r.status);let s;try{s=JSON.parse(r.responseText)}catch(t){throw new Error("Invalid response body: "+r.responseText)}if(409===r.status){if(!x(s,["path","not_found"]))throw new Error("API returned an error: "+s.error_summary);s={cursor:null,entries:[],has_more:!1}}if(t||this._revCache.deactivatePropagation(),s.entries.forEach(t=>{const e=t.path_display.slice(14);"deleted"===t[".tag"]?(this._revCache.delete(e),this._revCache.delete(e+"/")):"file"===t[".tag"]&&this._revCache.set(e,t.rev)}),this._fetchDeltaCursor=s.cursor,s.has_more)return e(s.cursor);this._revCache.activatePropagation(),this._initialFetchDone=!0}catch(t){if("timeout"===t)return;throw t}});return this._fetchDeltaPromise=e(this._fetchDeltaCursor).catch(t=>("object"==typeof t&&"message"in t?t.message="Dropbox: fetchDelta: "+t.message:t=`Dropbox: fetchDelta: ${t}`,this.rs._emit("error",t),this._fetchDeltaPromise=null,Promise.reject(t))).then(()=>(this._fetchDeltaPromise=null,Promise.resolve(t))),this._fetchDeltaPromise}_getMetadata(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/get_metadata",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status:"+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?x(e,["path","not_found"])?Promise.resolve():Promise.reject(new Error("API error: "+e.error_summary)):Promise.resolve(e)}).then(void 0,e=>(e.message='Could not load metadata for file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_uploadSimple(t){const e={path:v(t.path),mode:{".tag":"overwrite",update:void 0},mute:!0};return t.ifMatch&&(e.mode={".tag":"update",update:t.ifMatch}),this._request("POST","https://content.dropboxapi.com/2/files/upload",{body:t.body,headers:{"Content-Type":"application/octet-stream","Dropbox-API-Arg":w(e)}}).then(e=>{if(200!==e.status&&409!==e.status)return Promise.resolve({statusCode:e.status});let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid API result: "+e.responseText))}return 409===e.status?x(n,["path","conflict"])?this._getMetadata(t.path).then(function(t){return Promise.resolve({statusCode:412,revision:t.rev})}):(this.rs._emit("error",new Error(n.error_summary)),Promise.resolve({statusCode:e.status})):(this._revCache.set(t.path,n.rev),Promise.resolve({statusCode:e.status,revision:n.rev}))})}_deleteSimple(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/delete",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.resolve({statusCode:t.status});let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}if(409===t.status){if(x(e,["path_lookup","not_found"]))return Promise.resolve({statusCode:404});this.rs._emit("error",new Error(e.error_summary))}return Promise.resolve({statusCode:t.status})}).then(e=>(200!==e.statusCode&&404!==e.statusCode||(this._revCache.delete(t),delete this._itemRefs[t]),Promise.resolve(e)),e=>(e.message='Could not delete Dropbox file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_getSharedLink(t){return i(this,void 0,void 0,function*(){const e={body:{path:v(t),direct_only:!0}};return this._request("POST","https://api.dropbox.com/2/sharing/list_shared_links",e).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status: "+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?Promise.reject(new Error("API error: "+(null==e?void 0:e.error_summary)||0)):e.links.length?Promise.resolve(e.links[0].url):Promise.reject(new Error("No links returned"))},e=>(e.message='Could not get link to a shared file or folder ("'+t+'"): '+e.message,Promise.reject(e)))})}static _rs_init(t){f=(0,h.localStorageAvailable)(),t.apiKeys.dropbox&&(t.dropbox=new E(t)),"dropbox"===t.backend&&T(t)}static _rs_supported(){return!0}static _rs_cleanup(t){!function(t){(function(t){t._origRemote&&(t.remote=t._origRemote,delete t._origRemote)})(t),function(t){t._dropboxOrigSync&&(t.sync.sync=t._dropboxOrigSync,delete t._dropboxOrigSync)}(t),function(t){t._origBaseClientGetItemURL&&(o.default.prototype.getItemURL=t._origBaseClientGetItemURL,delete t._origBaseClientGetItemURL)}(t),k(t)}(t),f&&localStorage.removeItem(g),t.setBackend(void 0)}}function C(t,...e){t._dropboxOrigSync||(t._dropboxOrigSync=t.sync.sync.bind(t.sync),t.sync.sync=function(){return this.dropbox.fetchDelta(t,...e).then(t._dropboxOrigSync,function(e){t._emit("error",new l.default(e)),t._emit("sync-done")})}.bind(t))}function k(t){t._dropboxOrigSyncCycle&&(t.syncCycle=t._dropboxOrigSyncCycle,delete t._dropboxOrigSyncCycle)}function T(t){!function(t){t._origRemote||(t._origRemote=t.remote,t.remote=t.dropbox)}(t),t.sync?C(t):function(t,...e){t._dropboxOrigSyncCycle||(t._dropboxOrigSyncCycle=t.syncCycle,t.syncCycle=()=>{if(!t.sync)throw new Error("expected sync to be initialized by now");C(t),t._dropboxOrigSyncCycle(t,...e),k(t)})}(t),function(t){t._origBaseClientGetItemURL||(t._origBaseClientGetItemURL=o.default.prototype.getItemURL,o.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Dropbox yet")})}(t)}(0,h.applyMixins)(E,[s.default]),t.exports=E},451:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=n(746),o=i(n(334));class a{constructor(){this.addEvents(["background","foreground"]),this.mode="undefined"!=typeof window?"browser":"node","browser"===this.mode&&(this.setBrowserPrefixedNames(),document.addEventListener(this.visibilityChangeEvent,this.setVisibility.bind(this),!1),this.setVisibility())}setBrowserPrefixedNames(){"browser"===this.mode&&(void 0!==document.hidden?(this.hiddenProperty="hidden",this.visibilityChangeEvent="visibilitychange"):void 0!==document.mozHidden?(this.hiddenProperty="mozHidden",this.visibilityChangeEvent="mozvisibilitychange"):void 0!==document.msHidden?(this.hiddenProperty="msHidden",this.visibilityChangeEvent="msvisibilitychange"):void 0!==document.webkitHidden&&(this.hiddenProperty="webkitHidden",this.visibilityChangeEvent="webkitvisibilitychange"))}setVisibility(){document[this.hiddenProperty]?((0,o.default)("[Env] Going into background mode"),this.goBackground()):((0,o.default)("[Env] Going into foreground mode"),this.goForeground())}isBrowser(){return"browser"===this.mode}isNode(){return"node"===this.mode}goBackground(){this._emit("background")}goForeground(){this._emit("foreground")}static _rs_init(){}static _rs_cleanup(){}}(0,s.applyMixins)(a,[r.default]),t.exports=a},93:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EventHandling=void 0;const r=i(n(334));class s{addEvents(t){t.forEach(t=>this._addEvent(t))}addEventListener(t,e){if("string"!=typeof t)throw new Error("Argument eventName should be a string");if("function"!=typeof e)throw new Error("Argument handler should be a function");(0,r.default)("[EventHandling] Adding event listener",t),this._validateEvent(t),this._handlers[t].push(e)}on(t,e){return this.addEventListener(t,e)}removeEventListener(t,e){this._validateEvent(t);const n=this._handlers[t].length;for(let i=0;i{t(...e)})}_validateEvent(t){if(!(t in this._handlers))throw new Error("Unknown event: "+t)}_delegateEvent(t,e){e.on(t,e=>{this._emit(t,e)})}_addEvent(t){void 0===this._handlers&&(this._handlers={}),this._handlers[t]=[]}}e.EventHandling=s,e.default=s},545:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(28)),s=i(n(451)),o=i(n(334)),a=n(746),l=i(n(370)),u=i(n(548)),h=i(n(275)),c=i(n(373)),d=i(n(424)),p=i(n(801)),f=i(n(706)),g=i(n(600)),m=i(n(313)),y=i(n(285)),_=i(n(567)),v=i(n(794)),b=i(n(365)),w={features:[],featuresDone:0,readyFired:!1,loadFeatures(){this.features=[],this.featuresDone=0,this.readyFired=!1,this.featureModules={WireClient:g.default,Dropbox:f.default,GoogleDrive:p.default,Access:u.default,Discover:c.default,Authorize:h.default,BaseClient:d.default,Env:s.default},r.default.cache&&(0,a.extend)(this.featureModules,{Caching:y.default,IndexedDB:_.default,LocalStorage:v.default,InMemoryStorage:b.default,Sync:m.default}),r.default.disableFeatures.forEach(t=>{this.featureModules[t]&&delete this.featureModules[t]}),this._allLoaded=!1;for(const t in this.featureModules)this.loadFeature(t)},hasFeature(t){for(let e=this.features.length-1;e>=0;e--)if(this.features[e].name===t)return this.features[e].supported;return!1},loadFeature(t){const e=this.featureModules[t],n=!e._rs_supported||e._rs_supported();(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initializing ...`),"object"==typeof n?n.then(()=>{this.featureSupported(t,!0),this.initFeature(t)},()=>{this.featureSupported(t,!1)}):"boolean"==typeof n?(this.featureSupported(t,n),n&&this.initFeature(t)):this.featureSupported(t,!1)},initFeature(t){const e=this.featureModules[t];let n;try{n=e._rs_init(this)}catch(e){return void this.featureFailed(t,e)}"object"==typeof n&&"function"==typeof n.then?n.then(()=>{this.featureInitialized(t)},e=>{this.featureFailed(t,e)}):this.featureInitialized(t)},featureFailed(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialization failed (${e})`),this.featureDone()},featureSupported(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}]${e?"":"not "} supported`),e||this.featureDone()},featureInitialized(t){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialized`),this.features.push({name:t,init:this.featureModules[t]._rs_init,supported:!0,cleanup:this.featureModules[t]._rs_cleanup}),this.featureDone()},featureDone(){this.featuresDone++,this.featuresDone===Object.keys(this.featureModules).length&&setTimeout(this.featuresLoaded.bind(this),0)},_setCachingModule(){["IndexedDB","LocalStorage","InMemoryStorage"].some(t=>{if(this.features.some(e=>e.name===t))return this.features.local=this.featureModules[t],!0})},_fireReady(){try{this.readyFired||(this._emit("ready"),this.readyFired=!0)}catch(t){console.error("'ready' failed: ",t,t.stack),this._emit("error",t)}},featuresLoaded(){(0,o.default)("[RemoteStorage] All features loaded"),this._setCachingModule(),this.local=r.default.cache&&this.features.local&&new this.features.local,this.local&&this.remote?(this._setGPD(l.default,this),this._bindChange(this.local)):this.remote&&this._setGPD(this.remote,this.remote),this.remote&&(this.remote.on("connected",()=>{this._fireReady(),this._emit("connected")}),this.remote.on("not-connected",()=>{this._fireReady(),this._emit("not-connected")}),this.remote.connected&&(this._fireReady(),this._emit("connected")),this.hasFeature("Authorize")||this.remote.stopWaitingForToken()),this._collectCleanupFunctions();try{this._allLoaded=!0,this._emit("features-loaded")}catch(t){(0,a.logError)(t),this._emit("error",t)}this._processPending()},_collectCleanupFunctions(){this._cleanups=[];for(let t=0;t=n-this.maxAge?e.v:void 0}set(t,e){this._items[t]={v:e,t:(new Date).getTime()}}}class _ extends l.RemoteBase{constructor(t,e){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this.addEvents(["connected","not-connected"]),this.clientId=e,this._fileIdCache=new y(300),d=(0,o.localStorageAvailable)(),d){const t=(0,o.getJSONFromLocalStorage)(h);t&&this.configure(t)}}configure(t){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token);const e=function(){d&&localStorage.setItem(h,JSON.stringify({userAddress:this.userAddress,token:this.token}))},n=function(){this.connected=!1,delete this.token,d&&localStorage.removeItem(h)};this.token?(this.connected=!0,this.userAddress?(this._emit("connected"),e.apply(this)):this.info().then(t=>{this.userAddress=t.user.emailAddress,this._emit("connected"),e.apply(this)}).catch(()=>{n.apply(this),this.rs._emit("error",new Error("Could not fetch user info."))})):n.apply(this)}connect(){this.rs.setBackend("googledrive"),this.rs.authorize({authURL:"https://accounts.google.com/o/oauth2/auth",scope:"https://www.googleapis.com/auth/drive",clientId:this.clientId})}get(t,e={}){return(0,o.isFolder)(t)?this._getFolder(m(t)):this._getFile(m(t),e)}put(t,e,n,i={}){const r=m(t);function s(t){if(t.status>=200&&t.status<300){const e=JSON.parse(t.responseText),n=this.stripQuotes(e.etag);return Promise.resolve({statusCode:200,contentType:e.mimeType,revision:n})}return 412===t.status?Promise.resolve({statusCode:412,revision:"conflict"}):Promise.reject("PUT failed with status "+t.status+" ("+t.responseText+")")}return this._getFileId(r).then(t=>t?i&&"*"===i.ifNoneMatch?s({status:412}):this._updateFile(t,r,e,n,i).then(s):this._createFile(r,e,n).then(s))}delete(t,e={}){const n=m(t);return this._getFileId(n).then(t=>t?this._getMeta(t).then(n=>{let i;return"object"==typeof n&&"string"==typeof n.etag&&(i=this.stripQuotes(n.etag)),e&&e.ifMatch&&e.ifMatch!==i?{statusCode:412,revision:i}:this._request("DELETE",u+"/drive/v2/files/"+t,{}).then(t=>200===t.status||204===t.status?{statusCode:200}:Promise.reject("Delete failed: "+t.status+" ("+t.responseText+")"))}):Promise.resolve({statusCode:200}))}info(){const t=u+"/drive/v2/about?fields=user";return this._request("GET",t,{}).then(function(t){try{const e=JSON.parse(t.responseText);return Promise.resolve(e)}catch(t){return Promise.reject(t)}})}_updateFile(t,e,n,i,r){const s={mimeType:i},o={"Content-Type":"application/json; charset=UTF-8"};return r&&r.ifMatch&&(o["If-Match"]=this.addQuotes(r.ifMatch)),this._request("PUT",u+"/upload/drive/v2/files/"+t+"?uploadType=resumable",{body:JSON.stringify(s),headers:o}).then(t=>412===t.status?t:this._request("PUT",t.getResponseHeader("Location"),{body:i.match(/^application\/json/)?JSON.stringify(n):n}))}_createFile(t,e,n){return this._getParentId(t).then(i=>{const r={title:p(g(t)),mimeType:n,parents:[{kind:"drive#fileLink",id:i}]};return this._request("POST",u+"/upload/drive/v2/files?uploadType=resumable",{body:JSON.stringify(r),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>this._request("POST",t.getResponseHeader("Location"),{body:n.match(/^application\/json/)?JSON.stringify(e):e}))})}_getFile(t,e){return this._getFileId(t).then(t=>this._getMeta(t).then(t=>{let n;if("object"==typeof t&&"string"==typeof t.etag&&(n=this.stripQuotes(t.etag)),e&&e.ifNoneMatch&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304});if(!t.downloadUrl){if(!t.exportLinks||!t.exportLinks["text/html"])return Promise.resolve({statusCode:200,body:"",contentType:t.mimeType,revision:n});t.mimeType+=";export=text/html",t.downloadUrl=t.exportLinks["text/html"]}return this._request("GET",t.downloadUrl,{responseType:"arraybuffer"}).then(e=>(0,o.getTextFromArrayBuffer)(e.response,"UTF-8").then(function(i){let r=i;if(t.mimeType.match(/^application\/json/))try{r=JSON.parse(r)}catch(t){}else(0,o.shouldBeTreatedAsBinary)(i,t.mimeType)&&(r=e.response);return{statusCode:200,body:r,contentType:t.mimeType,revision:n}}))}))}_getFolder(t){return this._getFileId(t).then(e=>{let n,i,r;if(!e)return Promise.resolve({statusCode:404});const s="'"+e+"' in parents";return this._request("GET",u+"/drive/v2/files?q="+encodeURIComponent(s)+"&fields="+encodeURIComponent("items(downloadUrl,etag,fileSize,id,mimeType,title,labels)")+"&maxResults=1000&trashed=false",{}).then(e=>{var s;if(200!==e.status)return Promise.reject("request failed or something: "+e.status);try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject("non-JSON response from GoogleDrive")}r={};for(const a of n.items)(null===(s=a.labels)||void 0===s?void 0:s.trashed)||(i=this.stripQuotes(a.etag),a.mimeType===c?(this._fileIdCache.set(t+(0,o.cleanPath)(a.title)+"/",a.id),r[a.title+"/"]={ETag:i}):(this._fileIdCache.set(t+(0,o.cleanPath)(a.title),a.id),r[a.title]={ETag:i,"Content-Type":a.mimeType,"Content-Length":a.fileSize}));return Promise.resolve({statusCode:200,body:r,contentType:"application/json; charset=UTF-8",revision:void 0})})})}_getParentId(t){const e=f(t);return this._getFileId(e).then(t=>t?Promise.resolve(t):this._createFolder(e))}_createFolder(t){return this._getParentId(t).then(e=>this._request("POST",u+"/drive/v2/files",{body:JSON.stringify({title:p(g(t)),mimeType:c,parents:[{id:e}]}),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>{const e=JSON.parse(t.responseText);return Promise.resolve(e.id)}))}_getFileId(t){let e;return"/"===t?Promise.resolve("root"):(e=this._fileIdCache.get(t))?Promise.resolve(e):this._getFolder(f(t)).then(()=>(e=this._fileIdCache.get(t),e?Promise.resolve(e):"/"===t.substr(-1)?this._createFolder(t).then(()=>this._getFileId(t)):Promise.resolve()))}_getMeta(t){return this._request("GET",u+"/drive/v2/files/"+t,{}).then(function(e){return 200===e.status?Promise.resolve(JSON.parse(e.responseText)):Promise.reject("request (getting metadata for "+t+") failed with status: "+e.status)})}_request(t,e,n){return this.isForbiddenRequestMethod(t,e)?Promise.reject(`Don't use ${t} on directories!`):(n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,this.rs._emit("wire-busy",{method:t,isFolder:(0,o.isFolder)(e)}),(0,a.requestWithTimeout)(t,e,n).then(n=>n&&401===n.status?void this.connect():(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!0}),Promise.resolve(n)),n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!1}),Promise.reject(n))))}static _rs_init(t){const e=t.apiKeys.googledrive;var n;e&&(t.googledrive=new _(t,e.clientId),"googledrive"===t.backend&&(t._origRemote=t.remote,t.remote=t.googledrive,(n=t)._origBaseClientGetItemURL||(n._origBaseClientGetItemURL=r.default.prototype.getItemURL,r.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Google Drive yet")})))}static _rs_supported(){return!0}static _rs_cleanup(t){var e;t.setBackend(void 0),t._origRemote&&(t.remote=t._origRemote,delete t._origRemote),(e=t)._origBaseClientGetItemURL&&(r.default.prototype.getItemURL=e._origBaseClientGetItemURL,delete e._origBaseClientGetItemURL)}}(0,o.applyMixins)(_,[s.default]),t.exports=_},567:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(496)),a=r(n(334)),l=n(746),u="remotestorage";let h;class c extends o.default{constructor(t){super(),this.addEvents(["change","local-events-done"]),this.db=t||h,this.db?(this.getsRunning=0,this.putsRunning=0,this.changesQueued={},this.changesRunning={},this.commitSlownessWarning=null):(0,a.default)("[IndexedDB] Failed to open DB")}getNodes(t){return i(this,void 0,void 0,function*(){const e=[],n={};for(let i=0,r=t.length;i0?this.getNodesFromDb(e).then(function(t){for(const e in n)t[e]=n[e];return t}):n})}setNodes(t){return i(this,void 0,void 0,function*(){for(const e in t)this.changesQueued[e]=t[e]||!1;this.maybeFlush()})}maybeFlush(){0===this.putsRunning?this.flushChangesQueued():this.commitSlownessWarning||(this.commitSlownessWarning=n.g.setInterval(function(){console.warn("WARNING: waited more than 10 seconds for previous commit to finish")},1e4))}flushChangesQueued(){this.commitSlownessWarning&&(clearInterval(this.commitSlownessWarning),this.commitSlownessWarning=null),Object.keys(this.changesQueued).length>0&&(this.changesRunning=this.changesQueued,this.changesQueued={},this.setNodesInDb(this.changesRunning).then(this.flushChangesQueued.bind(this)))}getNodesFromDb(t){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readonly"),r=i.objectStore("nodes"),s={};this.getsRunning++,t.map(t=>{r.get(t).onsuccess=e=>{s[t]=e.target.result}}),i.oncomplete=()=>{e(s),this.getsRunning--},i.onerror=i.onabort=()=>{n("get transaction error/abort"),this.getsRunning--}})}setNodesInDb(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readwrite"),r=i.objectStore("nodes"),s=(new Date).getTime();this.putsRunning++,(0,a.default)("[IndexedDB] Starting puts",t,this.putsRunning);for(const o in t){const e=t[o];if("object"==typeof e)try{r.put(e)}catch(t){throw(0,a.default)("[IndexedDB] Error while putting",e,t),t}else try{r.delete(o)}catch(t){throw(0,a.default)("[IndexedDB] Error while removing",r,e,t),t}}i.oncomplete=()=>{this.putsRunning--,(0,a.default)("[IndexedDB] Finished puts",t,this.putsRunning,(new Date).getTime()-s+"ms"),e()},i.onerror=()=>{this.putsRunning--,n("transaction error")},i.onabort=()=>{n("transaction abort"),this.putsRunning--}})})}reset(t){const e=this.db.name;this.db.close(),c.clean(e,()=>{c.open(e,(n,i)=>{n?(0,a.default)(`[IndexedDB] Error while resetting database ${e}:`,n):this.db=i,"function"==typeof t&&t(self)})})}forAllNodes(t){return i(this,void 0,void 0,function*(){return new Promise(e=>{this.db.transaction(["nodes"],"readonly").objectStore("nodes").openCursor().onsuccess=n=>{const i=n.target.result;i?(t(i.value),i.continue()):e()}})})}closeDB(){0===this.putsRunning?this.db.close():setTimeout(this.closeDB.bind(this),100)}static open(t,e){const n=setTimeout(function(){e("timeout trying to open db")},1e4);try{const i=indexedDB.open(t,2);i.onerror=function(){(0,a.default)("[IndexedDB] Opening DB failed",i),clearTimeout(n),e(i.error)},i.onupgradeneeded=function(t){const e=i.result;(0,a.default)("[IndexedDB] Upgrade: from ",t.oldVersion," to ",t.newVersion),1!==t.oldVersion&&((0,a.default)("[IndexedDB] Creating object store: nodes"),e.createObjectStore("nodes",{keyPath:"path"})),(0,a.default)("[IndexedDB] Creating object store: changes"),e.createObjectStore("changes",{keyPath:"path"})},i.onsuccess=function(){clearTimeout(n);const r=i.result;if(!r.objectStoreNames.contains("nodes")||!r.objectStoreNames.contains("changes"))return(0,a.default)("[IndexedDB] Missing object store. Resetting the database."),void c.clean(t,function(){c.open(t,e)});e(null,i.result)}}catch(i){(0,a.default)("[IndexedDB] Failed to open database: "+i),(0,a.default)("[IndexedDB] Resetting database and trying again."),clearTimeout(n),c.clean(t,function(){c.open(t,e)})}}static clean(t,e){const n=indexedDB.deleteDatabase(t);n.onsuccess=function(){(0,a.default)(`[IndexedDB] Deleted database "${t}"`),e()},n.onerror=n.onabort=function(e){console.error('Failed to remove database "'+t+'"',e)}}static _rs_init(t){return new Promise((e,n)=>{c.open(u,function(i,r){i?n(i):(h=r,r.onerror=()=>{t._emit("error",i)},e())})})}static _rs_supported(){return new Promise((t,e)=>{const n=(0,l.getGlobalContext)();let i=!1;if("undefined"!=typeof navigator&&navigator.userAgent.match(/Android (2|3|4\.[0-3])/)&&(navigator.userAgent.match(/Chrome|Firefox/)||(i=!0)),"indexedDB"in n&&!i)try{const n=indexedDB.open("rs-check");n.onerror=function(){e()},n.onsuccess=function(){n.result.close(),indexedDB.deleteDatabase("rs-check"),t()}}catch(t){e()}else e()})}static _rs_cleanup(t){return new Promise(e=>{t.local instanceof c&&t.local.closeDB(),c.clean(u,e)})}diffHandler(){}}(0,l.applyMixins)(c,[s.default]),t.exports=c},365:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=i(n(496)),o=n(746);class a extends s.default{constructor(){super(),this._storage={},this.addEvents(["change","local-events-done"])}getNodes(t){const e={};for(let n=0,i=t.length;n=2e3&&t<=36e5}var k;!function(t){t.GOOGLE="googledrive",t.DROPBOX="dropbox"}(k||(k={}));class T{constructor(t){if(this._pending=[],this._cleanups=[],this._pathHandlers={change:{}},this.apiKeys={},this._init=b.default.loadFeatures,this.features=b.default.features,this.loadFeature=b.default.loadFeature,this.featureSupported=b.default.featureSupported,this.featureDone=b.default.featureDone,this.featuresDone=b.default.featuresDone,this.featuresLoaded=b.default.featuresLoaded,this.featureInitialized=b.default.featureInitialized,this.featureFailed=b.default.featureFailed,this.hasFeature=b.default.hasFeature,this._setCachingModule=b.default._setCachingModule,this._collectCleanupFunctions=b.default._collectCleanupFunctions,this._fireReady=b.default._fireReady,this.initFeature=b.default.initFeature,"object"==typeof t&&(0,u.extend)(a.default,t),this.addEvents(["ready","authing","connecting","connected","disconnected","not-connected","conflict","error","features-loaded","sync-interval-change","sync-started","sync-req-done","sync-done","wire-busy","wire-done","network-offline","network-online"]),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")}),S=(0,u.localStorageAvailable)(),S){this.apiKeys=(0,u.getJSONFromLocalStorage)("remotestorage:api-keys")||{};const t=localStorage.getItem("remotestorage:backend");"dropbox"===t||"googledrive"===t?this.setBackend(t):this.setBackend("remotestorage")}const e=this.on;this.on=function(t,n){if(this._allLoaded)switch(t){case"features-loaded":setTimeout(n,0);break;case"ready":this.remote&&setTimeout(n,0);break;case"connected":this.remote&&this.remote.connected&&setTimeout(n,0);break;case"not-connected":this.remote&&!this.remote.connected&&setTimeout(n,0)}return e.call(this,t,n)},this._init(),this.fireInitial=function(){this.local&&setTimeout(this.local.fireInitial.bind(this.local),0)}.bind(this),this.on("ready",this.fireInitial.bind(this)),this.loadModules()}get connected(){return this.remote.connected}loadModules(){a.default.modules.forEach(this.addModule.bind(this))}authorize(t){if(this.access.setStorageType(this.remote.storageApi),void 0===t.scope&&(t.scope=this.access.scopeParameter),x.cordova)t.redirectUri=a.default.cordovaRedirectUri;else{const e=c.default.getLocation();let n=e.origin;"/"!==e.pathname&&(n+=e.pathname),t.redirectUri=n}void 0===t.clientId&&(t.clientId=t.redirectUri.match(/^(https?:\/\/[^/]+)/)[0]),c.default.authorize(this,t)}impliedauth(t,e){t=t||this.remote.storageApi,e=e||String(document.location),(0,l.default)("ImpliedAuth proceeding due to absent authURL; storageApi = "+t+" redirectUri = "+e),this.remote.configure({token:c.default.IMPLIED_FAKE_TOKEN}),document.location.href=e}connect(t,e){if(this.setBackend("remotestorage"),t.indexOf("@")<0&&!t.match(/^(https?:\/\/)?[^\s\/$\.?#]+\.[^\s]*$/))this._emit("error",new T.DiscoveryError("Not a valid user address or URL."));else{if(t.indexOf("@")<0&&!t.match(/^https?:\/\//)&&(t=`https://${t}`),x.cordova){if("string"!=typeof a.default.cordovaRedirectUri)return void this._emit("error",new T.DiscoveryError("Please supply a custom HTTPS redirect URI for your Cordova app"));if(!x.cordova.InAppBrowser)return void this._emit("error",new T.DiscoveryError("Please include the InAppBrowser Cordova plugin to enable OAuth"))}this.remote.configure({userAddress:t}),this._emit("connecting"),(0,y.default)(t).then(n=>{if(this._emit("authing"),n.userAddress=t,this.remote.configure(n),!this.remote.connected)if(n.authURL)if(void 0===e)this.authorize({authURL:n.authURL});else{if("string"!=typeof e)throw new Error("Supplied bearer token must be a string");(0,l.default)("Skipping authorization sequence and connecting with known token"),this.remote.configure({token:e})}else this.impliedauth()},()=>{this._emit("error",new T.DiscoveryError("No storage information found for this user address."))})}}reconnect(){this.remote.configure({token:null}),"remotestorage"===this.backend?this.connect(this.remote.userAddress):this.remote.connect()}disconnect(){this.remote&&this.remote.configure({userAddress:null,href:null,storageApi:null,token:null,properties:null}),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")});const t=this._cleanups.length;let e=0;const n=()=>{e++,e>=t&&(this._init(),(0,l.default)('Cleanups done, emitting "disconnected" event'),this._emit("disconnected"))};t>0?this._cleanups.forEach(t=>{const e=t(this);"object"==typeof e&&"function"==typeof e.then?e.then(n):n()}):n()}setBackend(t){this.backend=t,S&&(void 0!==t?localStorage.setItem("remotestorage:backend",t):localStorage.removeItem("remotestorage:backend"))}onChange(t,e){this._pathHandlers.change[t]||(this._pathHandlers.change[t]=[]),this._pathHandlers.change[t].push(e)}enableLog(){a.default.logging=!0}disableLog(){a.default.logging=!1}log(...t){l.default.apply(T,t)}setApiKeys(t){const e=[k.GOOGLE,k.DROPBOX];if("object"!=typeof t||!Object.keys(t).every(t=>e.includes(t)))return console.error("setApiKeys() was called with invalid arguments"),!1;Object.keys(t).forEach(e=>{const n=t[e];if(n){switch(e){case k.DROPBOX:this.apiKeys[k.DROPBOX]={appKey:n},void 0!==this.dropbox&&this.dropbox.clientId===n||m.default._rs_init(this);break;case k.GOOGLE:this.apiKeys[k.GOOGLE]={clientId:n},void 0!==this.googledrive&&this.googledrive.clientId===n||g.default._rs_init(this)}return!0}delete this.apiKeys[e]}),S&&localStorage.setItem("remotestorage:api-keys",JSON.stringify(this.apiKeys))}setCordovaRedirectUri(t){if("string"!=typeof t||!t.match(/http(s)?:\/\//))throw new Error("Cordova redirect URI must be a URI string");a.default.cordovaRedirectUri=t}_setGPD(t,e){function n(t){return function(...n){return t.apply(e,n).then(E.bind(this))}}this.get=n(t.get),this.put=n(t.put),this.delete=n(t.delete)}_pendingGPD(t){return(...e)=>{const n=Array.prototype.slice.call(e);return new Promise((e,i)=>{this._pending.push({method:t,args:n,promise:{resolve:e,reject:i}})})}}_processPending(){this._pending.forEach(t=>{try{this[t.method](...t.args).then(t.promise.resolve,t.promise.reject)}catch(e){t.promise.reject(e)}}),this._pending=[]}_bindChange(t){t.on("change",this._dispatchEvent.bind(this,"change"))}_dispatchEvent(t,e){Object.keys(this._pathHandlers[t]).forEach(n=>{const i=n.length;e.path.substr(0,i)===n&&this._pathHandlers[t][n].forEach(t=>{const i={};for(const n in e)i[n]=e[n];i.relativePath=e.path.replace(new RegExp("^"+n),"");try{t(i)}catch(t){console.error("'change' handler failed: ",t,t.stack),this._emit("error",t)}})})}scope(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.scope must be a string";return this.access.checkPathPermission(t,"r")||console.warn("WARNING: Please use remoteStorage.access.claim() to ask for access permissions first: https://remotestorage.io/rs.js/docs/api/access/classes/Access.html#claim"),new d.default(this,t)}getSyncInterval(){return a.default.syncInterval}setSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.syncInterval;a.default.syncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getBackgroundSyncInterval(){return a.default.backgroundSyncInterval}setBackgroundSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.backgroundSyncInterval;a.default.backgroundSyncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getCurrentSyncInterval(){return a.default.isBackground?a.default.backgroundSyncInterval:a.default.syncInterval}getRequestTimeout(){return a.default.requestTimeout}setRequestTimeout(t){if("number"!=typeof t)throw t+" is not a valid request timeout";a.default.requestTimeout=t}setupSyncCycle(){this.sync&&!this.sync.stopped&&((0,l.default)("[Sync] Setting up sync cycle"),this.on("sync-done",()=>{(0,l.default)("[Sync] Sync done. Setting timer to",this.getCurrentSyncInterval()),this.sync&&!this.sync.stopped&&(this._syncTimer&&clearTimeout(this._syncTimer),this._syncTimer=setTimeout(this.sync.sync.bind(this.sync),this.getCurrentSyncInterval()))}),this.sync.sync())}startSync(){return a.default.cache?(this.sync.stopped=!1,this.syncStopped=!1,this.sync.sync()):(console.warn("Nothing to sync, because caching is disabled."),Promise.resolve())}stopSync(){clearTimeout(this._syncTimer),this._syncTimer=void 0,this.sync?((0,l.default)("[Sync] Stopping sync"),this.sync.stopped=!0):((0,l.default)("[Sync] Will instantiate sync stopped"),this.syncStopped=!0)}addModule(t){const e=t.name,n=t.builder;if(Object.defineProperty(this,e,{configurable:!0,get:function(){const t=this._loadModule(e,n);return Object.defineProperty(this,e,{value:t}),t}}),-1!==e.indexOf("-")){const t=e.replace(/\-[a-z]/g,function(t){return t[1].toUpperCase()});Object.defineProperty(this,t,{get:function(){return this[e]}})}}_loadModule(t,e){if(e)return e(new d.default(this,"/"+t+"/"),new d.default(this,"/public/"+t+"/")).exports;throw"Unknown module: "+t}}e.RemoteStorage=T,T.SyncError=_.default,T.Unauthorized=v.default,T.DiscoveryError=y.default.DiscoveryError,T.util=w,Object.defineProperty(T.prototype,"access",{configurable:!0,get:function(){const t=new h.default;return Object.defineProperty(this,"access",{value:t}),t}}),Object.defineProperty(T.prototype,"caching",{configurable:!0,get:function(){const t=new p.default(this);return Object.defineProperty(this,"caching",{value:t}),t}}),(0,u.applyMixins)(T,[f.EventHandling]),e.default=T},368:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isArrayBufferView=void 0,e.retryAfterMs=function(t){const e=1e3*parseInt(t.getResponseHeader("Retry-After"));return e>=1e3?e:Math.max(1500,Math.min(6e4,Math.round(o.default.syncInterval/(2.9+.2*Math.random()))))},e.requestWithTimeout=function(t,n,r){return i(this,void 0,void 0,function*(){return"function"==typeof fetch?function(t,e,n){return i(this,void 0,void 0,function*(){const i="function"==typeof AbortController?new AbortController:null;let r;const a=new Promise((t,e)=>{r=setTimeout(()=>{i&&i.abort(),e("timeout")},o.default.requestTimeout)});let l;const u={},h=fetch(e,{method:t,headers:n.headers,body:n.body,signal:i?i.signal:void 0}).then(t=>{switch((0,s.default)("[requests fetch]",t),t.headers.forEach((t,e)=>{u[e.toUpperCase()]=t}),l={readyState:4,status:t.status,statusText:t.statusText,response:void 0,getResponseHeader:t=>u[t.toUpperCase()]||null,responseType:n.responseType,responseURL:e},n.responseType){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json();case void 0:case"":case"text":return t.text();default:throw new Error("responseType 'document' is not currently supported using fetch")}}).then(t=>(l.response=t,n.responseType&&"text"!==n.responseType||(l.responseText=t),l)).finally(()=>{clearTimeout(r)});return Promise.race([h,a])})}(t,n,r):"function"==typeof XMLHttpRequest?function(t,n,r){return i(this,void 0,void 0,function*(){return new Promise((i,a)=>{(0,s.default)("[requests XHR]",t,n);let l=!1;const u=setTimeout(()=>{l=!0,a("timeout")},o.default.requestTimeout),h=new XMLHttpRequest;if(h.open(t,n,!0),r.responseType&&(h.responseType=r.responseType),r.headers)for(const t in r.headers)h.setRequestHeader(t,r.headers[t]);h.onload=()=>{l||(clearTimeout(u),i(h))},h.onerror=t=>{l||(clearTimeout(u),a(t))};let c=r.body;"object"==typeof c&&!(0,e.isArrayBufferView)(c)&&c instanceof ArrayBuffer&&(c=new Uint8Array(c)),h.send(c)})})}(t,n,r):Promise.reject("[Requests] You need to add a polyfill for fetch or XMLHttpRequest")})};const s=r(n(334)),o=r(n(28));if("function"==typeof(n.g||window).ArrayBufferView)e.isArrayBufferView=function(t){return t&&t instanceof(n.g||window).ArrayBufferView};else{const t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];e.isArrayBufferView=function(e){for(let n=0;n<8;n++)if(e instanceof t[n])return!0;return!1}}},941:function(t){t.exports=class{constructor(t){this._itemsRev={},this._storage={},this._canPropagate=!1,this.defaultValue=t,this.activatePropagation()}get(t){t=t.toLowerCase();let e=this._storage[t];return void 0===e&&(e=this.defaultValue,this._storage[t]=e),e}set(t,e){return t=t.toLowerCase(),this._storage[t]===e||(this._storage[t]=e,e||delete this._itemsRev[t],this._updateParentFolderItemRev(t,e),this._canPropagate&&this._propagate(t)),e}delete(t){return this.set(t,null)}deactivatePropagation(){return this._canPropagate=!1,!0}activatePropagation(){return this._canPropagate||(this._generateFolderRev("/"),this._canPropagate=!0),!0}_hashCode(t){let e=0;if(0===t.length)return e;for(let n=0;n0&&(n=this._generateHash(t))}return this.set(t,n),n}}},491:function(t){class e extends Error{constructor(t){super();const e=new Error("Schema not found: "+t);return e.name="SchemaNotFound",e}}t.exports=e},982:function(t){class e extends Error{constructor(t){super(),this.name="SyncError",this.message="Sync failed: ","string"==typeof t?this.message+=t:(this.message+=t.message,this.stack=t.stack,this.originalError=t)}}t.exports=e},313:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Sync=void 0;const s=r(n(28)),o=r(n(451)),a=r(n(93)),l=r(n(334)),u=r(n(275)),h=r(n(982)),c=r(n(503)),d=n(746);let p,f;function g(t,e,n){return{action:t,path:e,promise:n}}function m(t,e){return t.common.revision!==e&&(!t.remote||t.remote.revision!==e)}function y(t){return!!t.common&&!!t.common.revision}class _{constructor(t){this.numThreads=10,this._tasks={},this._running={},this._timeStarted={},this._finishedTasks=[],this.rs=t,this.rs.local.onDiff(t=>{this.addTask(t),this.doTasks()}),this.rs.caching.onActivate(t=>{this.addTask(t),this.doTasks()}),this.addEvents(["done","req-done"])}now(){return(new Date).getTime()}queueGetRequest(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{this.rs.remote.connected?this.rs.remote.online?(this.addTask(t,function(){this.rs.local.get(t).then(t=>e(t))}.bind(this)),this.doTasks()):n("cannot fulfill maxAge requirement - remote is not online"):n("cannot fulfill maxAge requirement - remote is not connected")})})}corruptServerItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t){const n=t[e];if("object"!=typeof n)return!0;if("string"!=typeof n.ETag)return!0;if((0,d.isFolder)(e)){if(-1!==e.substring(0,e.length-1).indexOf("/"))return!0}else if(-1!==e.indexOf("/"))return!0}return!1}corruptItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t)if("boolean"!=typeof t[e])return!0;return!1}corruptRevision(t){return"object"!=typeof t||Array.isArray(t)||t.revision&&"string"!=typeof t.revision||t.body&&"string"!=typeof t.body&&"object"!=typeof t.body||t.contentType&&"string"!=typeof t.contentType||t.contentLength&&"number"!=typeof t.contentLength||t.timestamp&&"number"!=typeof t.timestamp||t.itemsMap&&this.corruptItemsMap(t.itemsMap)}isCorrupt(t){return"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.path||this.corruptRevision(t.common)||t.local&&this.corruptRevision(t.local)||t.remote&&this.corruptRevision(t.remote)||t.push&&this.corruptRevision(t.push)}hasTasks(){return Object.keys(this._tasks).length>0}collectDiffTasks(){return i(this,void 0,void 0,function*(){let t=0;return this.rs.local.forAllNodes(e=>{t>100||(this.isCorrupt(e)?((0,l.default)("[Sync] WARNING: corrupt node in local cache",e),"object"==typeof e&&e.path&&(this.addTask(e.path),t++)):(this.needsFetch(e)&&this.rs.access.checkPathPermission(e.path,"r")||(0,d.isDocument)(e.path)&&this.needsPush(e)&&this.rs.access.checkPathPermission(e.path,"rw"))&&(this.addTask(e.path),t++))}).then(()=>t)})}inConflict(t){return!(!t.local||!t.remote||void 0===t.remote.body&&!t.remote.itemsMap)}needsRefresh(t){return!!t.common&&(!t.common.timestamp||this.now()-t.common.timestamp>s.default.syncInterval)}needsFetch(t){return!!this.inConflict(t)||!(!t.common||void 0!==t.common.itemsMap||void 0!==t.common.body)||!(!t.remote||void 0!==t.remote.itemsMap||void 0!==t.remote.body)}needsPush(t){return!this.inConflict(t)&&(!(!t.local||t.push)||void 0)}needsRemotePut(t){return t.local&&"string"==typeof t.local.body}needsRemoteDelete(t){return t.local&&!1===t.local.body}getParentPath(t){const e=t.match(/^(.*\/)([^\/]+\/?)$/);if(e)return e[1];throw new Error('Not a valid path: "'+t+'"')}deleteChildPathsFromTasks(){for(const t in this._tasks){const e=(0,d.pathsFromRoot)(t);for(let n=1;n{let e;if(this.needsRefresh(t)){try{e=this.getParentPath(t.path)}catch(t){}e&&this.rs.access.checkPathPermission(e,"r")?this.addTask(e):this.rs.access.checkPathPermission(t.path,"r")&&this.addTask(t.path)}}),this.deleteChildPathsFromTasks()})}flush(t){for(const e in t)"FLUSH"===this.rs.caching.checkPath(e)&&t[e]&&!t[e].local&&((0,l.default)("[Sync] Flushing",e),t[e]=void 0);return t}doTask(t){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(e=>{const n=e[t];return void 0===n||function(t){return!(!t.remote||!t.remote.revision||t.remote.itemsMap||t.remote.body)}(n)?g("get",t,this.rs.remote.get(t)):this.needsRemotePut(n)?(n.push=(0,d.deepClone)(n.local),n.push.timestamp=this.now(),this.rs.local.setNodes(this.flush(e)).then(()=>{let e;return e=y(n)?{ifMatch:n.common.revision}:{ifNoneMatch:"*"},g("put",t,this.rs.remote.put(t,n.push.body,n.push.contentType,e))})):this.needsRemoteDelete(n)?(n.push={body:!1,timestamp:this.now()},this.rs.local.setNodes(this.flush(e)).then(()=>y(n)?g("delete",t,this.rs.remote.delete(t,{ifMatch:n.common.revision})):g("get",t,this.rs.remote.get(t)))):y(n)?g("get",t,this.rs.remote.get(t,{ifNoneMatch:n.common.revision})):g("get",t,this.rs.remote.get(t))})})}autoMergeFolder(t){if(t.remote.itemsMap&&(t.common=t.remote,delete t.remote,t.common.itemsMap)){for(const e in t.common.itemsMap)t.local.itemsMap[e]||(t.local.itemsMap[e]=!1);for(const e in t.local.itemsMap)t.common.itemsMap[e]||this.addTask(t.path+e);(0,d.equal)(t.local.itemsMap,t.common.itemsMap)&&delete t.local}return t}autoMergeDocument(t){var e;return function(t){return(!t.remote||!t.remote.revision||t.remote.revision===t.common.revision)&&(void 0===t.common.body&&!1===t.remote.body||t.remote.body===t.common.body&&t.remote.contentType===t.common.contentType)}(t)?delete(t=function(t){return t.remote&&!1===t.remote.body&&t.local&&!1===t.local.body&&delete t.local,t}(t)).remote:void 0!==t.remote.body&&(!1===t.remote.body&&!1===(null===(e=t.local)||void 0===e?void 0:e.body)||((0,l.default)("[Sync] Emitting conflict event"),setTimeout(this.rs.local.emitChange.bind(this.rs.local),10,{origin:"conflict",path:t.path,oldValue:t.local.body,newValue:t.remote.body,lastCommonValue:t.common.body,oldContentType:t.local.contentType,newContentType:t.remote.contentType,lastCommonContentType:t.common.contentType})),!1===t.remote.body?t.common={}:t.common=t.remote,delete t.remote,delete t.local),t}autoMerge(t){if(t.remote){if(t.local)return(0,d.isFolder)(t.path)?this.autoMergeFolder(t):this.autoMergeDocument(t);if((0,d.isFolder)(t.path))void 0!==t.remote.itemsMap&&(t.common=t.remote,delete t.remote);else if(void 0!==t.remote.body){const e={origin:"remote",path:t.path,oldValue:!1===t.common.body?void 0:t.common.body,newValue:!1===t.remote.body?void 0:t.remote.body,oldContentType:t.common.contentType,newContentType:t.remote.contentType};if(void 0===e.oldValue&&void 0===e.newValue||this.rs.local.emitChange(e),!1===t.remote.body)return;t.common=t.remote,delete t.remote}return t}t.common.body&&this.rs.local.emitChange({origin:"remote",path:t.path,oldValue:t.common.body,newValue:void 0,oldContentType:t.common.contentType,newContentType:void 0})}updateCommonTimestamp(t,e){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(n=>(n[t]&&n[t].common&&n[t].common.revision===e&&(n[t].common.timestamp=this.now()),this.rs.local.setNodes(this.flush(n))))})}markChildren(t,e,n,r){return i(this,void 0,void 0,function*(){const i=[],s={},o={};for(const n in e)i.push(t+n),s[t+n]=e[n];for(const e in r)i.push(t+e);const a=yield this.rs.local.getNodes(i);let l,u;for(const e in a)if(u=a[e],s[e])u&&u.common?m(u,s[e].ETag)&&(n[e]=(0,d.deepClone)(u),n[e].remote={revision:s[e].ETag,timestamp:this.now()},n[e]=this.autoMerge(n[e])):(l=this.rs.caching.checkPath(e),"ALL"===l&&(n[e]={path:e,common:{timestamp:this.now()},remote:{revision:s[e].ETag,timestamp:this.now()}})),n[e]&&s[e]["Content-Type"]&&(n[e].remote.contentType=s[e]["Content-Type"]),n[e]&&s[e]["Content-Length"]&&(n[e].remote.contentLength=s[e]["Content-Length"]);else if(r[e.substring(t.length)]&&u&&u.common){if(u.common.itemsMap)for(const t in u.common.itemsMap)o[e+t]=!0;if(u.local&&u.local.itemsMap)for(const t in u.local.itemsMap)o[e+t]=!0;if(u.remote||(0,d.isFolder)(e))n[e]=void 0;else if(n[e]=this.autoMerge(u),void 0===n[e]){const i=this.getParentPath(e),r=n[i],s=e.substring(t.length);r&&r.local&&(delete r.local.itemsMap[s],(0,d.equal)(r.local.itemsMap,r.common.itemsMap)&&delete r.local)}}const h=yield this.markRemoteDeletions(Object.keys(o),n);h&&(yield this.rs.local.setNodes(this.flush(h)))})}markRemoteDeletions(t,e){return i(this,void 0,void 0,function*(){if(0===t.length)return e;const n=yield this.rs.local.getNodes(t),i={};function r(t,e){if(t&&t.itemsMap)for(const n in t.itemsMap)i[e+n]=!0}for(const t in n){const i=n[t];i&&((0,d.isFolder)(t)?(r(i.common,t),r(i.local,t)):i.common&&void 0!==i.common.body&&(e[t]=(0,d.deepClone)(i),e[t].remote={body:!1,timestamp:this.now()},e[t]=this.autoMerge(e[t])))}const s=yield this.markRemoteDeletions(Object.keys(i),e);s&&(yield this.rs.local.setNodes(this.flush(s)))})}completeFetch(t,e,n,r){return i(this,void 0,void 0,function*(){let i,s;const o=(0,d.pathsFromRoot)(t);(0,d.isFolder)(t)?i=[t]:(s=o[1],i=[t,s]);const a=yield this.rs.local.getNodes(i),l=a[s],u={};let h,c=a[t];function p(t){if(t&&t.itemsMap)for(h in t.itemsMap)e[h]||(u[h]=!0)}if("object"==typeof c&&c.path===t&&"object"==typeof c.common||(c={path:t,common:{}},a[t]=c),c.remote={revision:r,timestamp:this.now()},(0,d.isFolder)(t))for(h in p(c.common),p(c.remote),c.remote.itemsMap={},e)c.remote.itemsMap[h]=!0;else c.remote.body=e,c.remote.contentType=n,l&&l.local&&l.local.itemsMap&&(h=t.substring(s.length),!1!==e?l.local.itemsMap[h]=!0:l.local.itemsMap[h]&&delete l.local.itemsMap[h],(0,d.equal)(l.local.itemsMap,l.common.itemsMap)&&delete l.local);return a[t]=this.autoMerge(c),{toBeSaved:a,missingChildren:u}})}completePush(t,e,n,r){return i(this,void 0,void 0,function*(){const i=yield this.rs.local.getNodes([t]),s=i[t];if(!s.push)throw this.stopped=!0,new Error("completePush called but no push version!");n?((0,l.default)("[Sync] We have a conflict"),s.remote&&s.remote.revision===r||(s.remote={revision:r||"conflict",timestamp:this.now()},delete s.push),i[t]=this.autoMerge(s)):(s.common={revision:r,timestamp:this.now()},"put"===e?(s.common.body=s.push.body,s.common.contentType=s.push.contentType,(0,d.equal)(s.local.body,s.push.body)&&s.local.contentType===s.push.contentType&&delete s.local,delete s.push):"delete"===e&&(!1===s.local.body?i[t]=void 0:delete s.push)),yield this.rs.local.setNodes(this.flush(i))})}dealWithFailure(t){return i(this,void 0,void 0,function*(){const e=yield this.rs.local.getNodes([t]);if(e[t])return delete e[t].push,this.rs.local.setNodes(this.flush(e))})}interpretStatus(t){const e={statusCode:t,successful:void 0,conflict:void 0,unAuth:void 0,notFound:void 0,changed:void 0,networkProblems:void 0};if("string"==typeof t&&("offline"===t||"timeout"===t))return e.successful=!1,e.networkProblems=!0,e;if("number"==typeof t){const n=Math.floor(t/100);return e.successful=2===n||304===t||412===t||404===t,e.conflict=412===t,e.unAuth=401===t&&this.rs.remote.token!==u.default.IMPLIED_FAKE_TOKEN||402===t||403===t,e.notFound=404===t,e.changed=304!==t,e}}handleGetResponse(t,e,n,r,s){return i(this,void 0,void 0,function*(){if(e.notFound&&(n=!!(0,d.isFolder)(t)&&{}),e.changed){const e=yield this.completeFetch(t,n,r,s);if((0,d.isFolder)(t)){if(this.corruptServerItemsMap(n))return(0,l.default)("[Sync] WARNING: Discarding corrupt folder description from server for "+t),!1;yield this.markChildren(t,n,e.toBeSaved,e.missingChildren)}else yield this.rs.local.setNodes(this.flush(e.toBeSaved))}else yield this.updateCommonTimestamp(t,s);return!0})}handleResponse(t,e,n){return i(this,void 0,void 0,function*(){const i=this.interpretStatus(n.statusCode);if(i.successful){if("get"===e)return this.handleGetResponse(t,i,n.body,n.contentType,n.revision);if("put"===e||"delete"===e)return this.completePush(t,e,i.conflict,n.revision).then(function(){return!0});throw new Error(`cannot handle response for unknown action ${e}`)}{let e;return e=i.unAuth?new c.default:i.networkProblems?new h.default("Network request failed."):new Error("HTTP response code "+i.statusCode+" received."),this.dealWithFailure(t).then(()=>{throw this.rs._emit("error",e),e})}})}finishTask(t){return i(this,arguments,void 0,function*(t,e=!0){if(void 0===t.action)return void delete this._running[t.path];if(e&&((0,l.default)("[Sync] queue finished task:",t.path),this._finishedTasks.push(t),this._finishedTasks.length>1))return void(0,l.default)("[Sync] delaying finished task:",t.path);let n;(0,l.default)("[Sync] run task:",t.path);try{n=yield t.promise}catch(e){(0,l.default)("[Sync] wire client rejects its promise",t.path,t.action,e),n={statusCode:"offline"}}try{const e=yield this.handleResponse(t.path,t.action,n);this.finishSuccessfulTask(t,e)}catch(e){this.finishUnsuccessfulTask(t,e)}})}finishSuccessfulTask(t,e){return i(this,void 0,void 0,function*(){if(this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],e&&this._tasks[t.path]){for(let e=0;e0?yield this.finishTask(this._finishedTasks[0],!1):yield this.collectTasks(!1).then(()=>{!this.hasTasks()||this.stopped?(this.done||(this.done=!0),this.rs._emit("sync-done",{completed:!0})):setTimeout(()=>{this.doTasks()},10)})})}finishUnsuccessfulTask(t,e){return i(this,void 0,void 0,function*(){(0,l.default)("[Sync]",e.message),this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],this.rs._emit("sync-req-done",{tasksRemaining:Object.keys(this._tasks).length}),this._finishedTasks.length>0?yield this.finishTask(this._finishedTasks[0],!1):this.done||(this.done=!0,this.rs._emit("sync-done",{completed:!1}))})}tasksWanted(){return this.rs.remote.connected?this.rs.remote.online?this.numThreads:1:0}doTasks(){const t=this.tasksWanted()-Object.keys(this._running).length;if(t<=0)return!0;this.hasTasks()&&!this.done&&this.rs._emit("sync-started");let e,n=0;for(e in this._tasks)if(!this._running[e]&&(this._timeStarted[e]=this.now(),this._running[e]=this.doTask(e).then(this.finishTask.bind(this)),n++,n>=t))break;return n>=t}collectTasks(){return i(this,arguments,void 0,function*(t=!0){if(!this.hasTasks()&&!this.stopped)return(yield this.collectDiffTasks())>0?void 0:t?this.collectRefreshTasks():void 0})}addTask(t,e){this._tasks[t]||(this._tasks[t]=[]),"function"==typeof e&&this._tasks[t].push(e)}sync(){return i(this,void 0,void 0,function*(){if(this.done=!1,!this.doTasks()){try{yield this.collectTasks()}catch(t){throw(0,l.default)("[Sync] Sync error",t),new Error("Local cache unavailable")}this.doTasks()}})}static _rs_init(t){p=function(){const e=new o.default;e.isBrowser()&&function(t,e){function n(t){const n=e.getCurrentSyncInterval();s.default.isBackground=!t;const i=e.getCurrentSyncInterval();e._emit("sync-interval-change",{oldValue:n,newValue:i})}t.on("background",()=>n(!1)),t.on("foreground",()=>n(!0))}(e,t),t.sync||(t.sync=new _(t),t.syncStopped&&((0,l.default)("[Sync] Initializing with sync stopped"),t.sync.stopped=!0,delete t.syncStopped)),t.setupSyncCycle()},f=function(){t.removeEventListener("connected",f),t.startSync()},t.on("ready",p),t.on("connected",f)}static _rs_cleanup(t){t.stopSync(),t.removeEventListener("ready",p),t.removeEventListener("connected",f),t.sync=void 0,delete t.sync}}e.Sync=_,(0,d.applyMixins)(_,[a.default]),e.default=_},370:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const r=(this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}})(n(334));function s(t){return"dropbox"===this.backend&&!!t.match(/^\/public\/.*[^\/]$/)}const o={get:function(t,e){if(this.local){if(void 0===e)e="object"==typeof(n=this).remote&&n.remote.connected&&n.remote.online?2*n.getSyncInterval():((0,r.default)("Not setting default maxAge, because remote is offline or not connected"),!1);else if("number"!=typeof e&&!1!==e)return Promise.reject("Argument 'maxAge' must be 'false' or a number");return this.local.get(t,e,this.sync.queueGetRequest.bind(this.sync))}return this.remote.get(t);var n},put:function(t,e,n){return s.bind(this)(t)?o._wrapBusyDone.call(this,this.remote.put(t,e,n)):this.local?this.local.put(t,e,n):o._wrapBusyDone.call(this,this.remote.put(t,e,n))},delete:function(t,e){return this.local?this.local.delete(t,e):o._wrapBusyDone.call(this,this.remote.delete(t,e))},_wrapBusyDone:function(t){return i(this,void 0,void 0,function*(){return this._emit("wire-busy"),t.then(t=>(this._emit("wire-done",{success:!0}),Promise.resolve(t)),t=>(this._emit("wire-done",{success:!1}),Promise.reject(t)))})}};t.exports=o},613:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClientTypes=void 0;class n{constructor(){this.uris={},this.schemas={},this.aliases={}}declare(t,e,n,i){const r=t+"/"+e;if(i.extends){const e=i.extends.split("/"),n=1===e.length?t+"/"+e.shift():e.join("/"),s=this.uris[n];if(!s)throw"Type '"+r+"' tries to extend unknown schema '"+n+"'";i.extends=this.schemas[s]}this.uris[r]=n,this.aliases[n]=r,this.schemas[n]=i}resolveAlias(t){return this.uris[t]}getSchema(t){return this.schemas[t]}inScope(t){const e=t.length,n={};for(const i in this.uris)if(i.substr(0,e+1)===t+"/"){const t=this.uris[i];n[t]=this.schemas[t]}return n}}e.BaseClientTypes=n;const i=new n;e.default=i},503:function(t){class e extends Error{constructor(t,e={}){super(),this.name="Unauthorized",this.message=void 0===t?"App authorization expired or revoked.":t,void 0!==e.code&&(this.code=e.code),this.stack=(new Error).stack}}t.exports=e},746:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};function r(t,e){if("object"==typeof t&&!Array.isArray(t)&&null!==t)for(const n in t)if("object"==typeof t[n]&&null!==t[n])if("[object ArrayBuffer]"===t[n].toString()){e[n]=new ArrayBuffer(t[n].byteLength);const i=new Int8Array(t[n]);new Int8Array(e[n]).set(i)}else r(t[n],e[n])}Object.defineProperty(e,"__esModule",{value:!0}),e.toBase64=e.getTextFromArrayBuffer=e.shouldBeTreatedAsBinary=e.getJSONFromLocalStorage=e.localStorageAvailable=e.pathsFromRoot=e.deepClone=e.equal=e.bindAll=e.cleanPath=e.baseName=e.isDocument=e.isFolder=e.containingFolder=e.extend=e.getGlobalContext=e.globalContext=e.logError=void 0,e.generateCodeVerifier=function(){return i(this,arguments,void 0,function*(t=128){const e=new Uint8Array(t);crypto.getRandomValues(e);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=Array.from(e).map(t=>n[t%66]),r=i.join(""),s=Uint8Array.from(i.map(t=>t.charCodeAt(0))),o=(a=yield crypto.subtle.digest("SHA-256",s),btoa(String.fromCharCode.apply(null,new Uint8Array(a))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""));var a;return crypto.getRandomValues(e),{codeVerifier:r,codeChallenge:o,state:Array.from(e).map(t=>n[t%66]).join("")}})},e.applyMixins=function(t,e){e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(n=>{Object.defineProperty(t.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n))})})},e.logError=t=>{"string"==typeof t?console.error(t):console.error(t.message,t.stack)},e.globalContext="undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.getGlobalContext=()=>"undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.extend=(...t)=>{const e=t[0];return Array.prototype.slice.call(t,1).forEach(function(t){for(const n in t)e[n]=t[n]}),e},e.containingFolder=t=>{if(""===t)return"/";if(!t)throw"Path not given!";return t.replace(/\/+/g,"/").replace(/[^\/]+\/?$/,"")},e.isFolder=t=>"/"===t.slice(-1),e.isDocument=t=>!(0,e.isFolder)(t),e.baseName=t=>{const n=t.split("/");return(0,e.isFolder)(t)?n[n.length-2]+"/":n[n.length-1]},e.cleanPath=t=>t.replace(/\/+/g,"/").split("/").map(encodeURIComponent).join("/").replace(/'/g,"%27"),e.bindAll=t=>{for(const e in this)"function"==typeof t[e]&&(t[e]=t[e].bind(t))},e.equal=(t,n,i=[])=>{let r;if(typeof t!=typeof n)return!1;if("number"==typeof t||"boolean"==typeof t||"string"==typeof t)return t===n;if("function"==typeof t)return t.toString()===n.toString();if(t instanceof ArrayBuffer&&n instanceof ArrayBuffer&&(t=new Uint8Array(t),n=new Uint8Array(n)),t instanceof Array){if(t.length!==n.length)return!1;for(let r=0,s=t.length;r=0)continue;s=i.slice(),s.push(n[r])}if(!(0,e.equal)(t[r],n[r],s))return!1}}return!0},e.deepClone=t=>{if(void 0!==t){const e=JSON.parse(JSON.stringify(t));return r(t,e),e}},e.pathsFromRoot=t=>{const e=[t],n=t.replace(/\/$/,"").split("/");for(;n.length>1;)n.pop(),e.push(n.join("/")+"/");return e},e.localStorageAvailable=()=>{const t=(0,e.getGlobalContext)();if(!("localStorage"in t))return!1;try{return t.localStorage.setItem("rs-check","1"),t.localStorage.removeItem("rs-check"),!0}catch(t){return!1}},e.getJSONFromLocalStorage=t=>{const n=(0,e.getGlobalContext)();try{return JSON.parse(n.localStorage.getItem(t))}catch(t){}},e.shouldBeTreatedAsBinary=(t,e)=>!!(e&&e.match(/charset=binary/)||/[\x00-\x08\x0E-\x1F\uFFFD]/.test(t)),e.getTextFromArrayBuffer=(t,n)=>new Promise(i=>{if("undefined"==typeof Blob||"undefined"==typeof FileReader){const e=Buffer.from(t);i(e.toString(n))}else{let r;const s=e.globalContext;if(s.BlobBuilder=s.BlobBuilder||s.WebKitBlobBuilder,void 0!==s.BlobBuilder){const e=new s.BlobBuilder;e.append(t),r=e.getBlob()}else r=new Blob([t]);const o=new FileReader;"function"==typeof o.addEventListener?o.addEventListener("loadend",function(t){i(t.target.result)}):o.onloadend=function(t){i(t.target.result)},o.readAsText(r,n)}}),e.toBase64=t=>{const n=(0,e.getGlobalContext)();return"btoa"in n?n.btoa(t):Buffer.from(t).toString("base64")}},600:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(275)),o=r(n(93)),a=r(n(503)),l=r(n(334)),u=n(746),h=n(368),c=n(684);let d;const p="remotestorage:wireclient",f={"draft-dejong-remotestorage-00":2,"draft-dejong-remotestorage-01":3,"draft-dejong-remotestorage-02":4,"https://www.w3.org/community/rww/wiki/read-write-web-00#simple":1};class g extends c.RemoteBase{constructor(t){if(super(t),this._revisionCache={},d=(0,u.localStorageAvailable)(),this.addEvents(["connected","not-connected"]),d){const t=function(){const t=(0,u.getJSONFromLocalStorage)(p)||{},{userAddress:e,href:n,storageApi:i,token:r,properties:s}=t;return{userAddress:e,href:n,storageApi:i,token:r,properties:s}}();t&&setTimeout(()=>{this.configure(t)},0)}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}get storageType(){if(this.storageApi){const t=this.storageApi.match(/draft-dejong-(remotestorage-\d\d)/);return t?t[1]:"2012.04"}}_request(t,e,n,r,o,c,d){return i(this,void 0,void 0,function*(){if(this.isForbiddenRequestMethod(t,e))return Promise.reject(`Don't use ${t} on directories!`);let i;return n!==s.default.IMPLIED_FAKE_TOKEN&&(r.Authorization="Bearer "+n),this.rs._emit("wire-busy",{method:t,isFolder:(0,u.isFolder)(e)}),(0,h.requestWithTimeout)(t,e,{body:o,headers:r,responseType:"arraybuffer"}).then(n=>{if(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!0}),r=n.status,[401,403,404,412].indexOf(r)>=0)return(0,l.default)("[WireClient] Error response status",n.status),i=c?this.stripQuotes(n.getResponseHeader("ETag")):void 0,401===n.status&&this.rs._emit("error",new a.default),Promise.resolve({statusCode:n.status,revision:i});if(function(t){return[201,204,304].indexOf(t)>=0}(n.status)||200===n.status&&"GET"!==t)return i=this.stripQuotes(n.getResponseHeader("ETag")),(0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,revision:i});{const t=n.getResponseHeader("Content-Type");i=c?this.stripQuotes(n.getResponseHeader("ETag")):200===n.status?d:void 0;const e=function(t){let e,n="utf-8";return t&&(e=t.match(/charset=(.+)$/),e&&(n=e[1])),n}(t);return(0,u.shouldBeTreatedAsBinary)(n.response,t)?((0,l.default)("[WireClient] Successful request with unknown or binary mime-type",i),Promise.resolve({statusCode:n.status,body:n.response,contentType:t,revision:i})):(0,u.getTextFromArrayBuffer)(n.response,e).then(e=>((0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,body:e,contentType:t,revision:i})))}var r},n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!1}),Promise.reject(n)))})}configure(t){if("object"!=typeof t)throw new Error("WireClient configure settings parameter should be an object");if(void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.href&&(this.href=t.href),void 0!==t.storageApi&&(this.storageApi=t.storageApi),void 0!==t.token&&(this.token=t.token),void 0!==t.properties&&(this.properties=t.properties),"string"==typeof this.storageApi){const t=f[this.storageApi]||5;this.supportsRevs=t>=2}this.href&&this.token?(this.connected=!0,this.online=!0,this._emit("connected")):this.connected=!1,d&&localStorage.setItem(p,JSON.stringify({userAddress:this.userAddress,href:this.href,storageApi:this.storageApi,token:this.token,properties:this.properties}))}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n={};return this.supportsRevs&&e.ifNoneMatch&&(n["If-None-Match"]=this.addQuotes(e.ifNoneMatch)),this._request("GET",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs,this._revisionCache[t]).then(e=>{if(!(0,u.isFolder)(t))return Promise.resolve(e);let n={};if(void 0!==e.body)try{e.body=JSON.parse(e.body)}catch(e){return Promise.reject("Folder description at "+this.href+(0,u.cleanPath)(t)+" is not JSON")}if(200===e.statusCode&&"object"==typeof e.body){if(0===Object.keys(e.body).length)e.statusCode=404;else if("http://remotestorage.io/spec/folder-description"===(i=e.body)["@context"]&&"object"==typeof i.items){for(const n in e.body.items)this._revisionCache[t+n]=e.body.items[n].ETag;n=e.body.items}else Object.keys(e.body).forEach(i=>{this._revisionCache[t+i]=e.body[i],n[i]={ETag:e.body[i]}});return e.body=n,Promise.resolve(e)}return Promise.resolve(e);var i})}put(t,e,n,i={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");!n.match(/charset=/)&&(e instanceof ArrayBuffer||(0,h.isArrayBufferView)(e))&&(n+="; charset=binary");const r={"Content-Type":n};return this.supportsRevs&&(i.ifMatch&&(r["If-Match"]=this.addQuotes(i.ifMatch)),i.ifNoneMatch&&(r["If-None-Match"]=this.addQuotes(i.ifNoneMatch))),this._request("PUT",this.href+(0,u.cleanPath)(t),this.token,r,e,this.supportsRevs)}delete(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");e||(e={});const n={};return this.supportsRevs&&e.ifMatch&&(n["If-Match"]=this.addQuotes(e.ifMatch)),this._request("DELETE",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs)}static _rs_init(t){t.remote=new g(t),t.remote.online=!0}static _rs_supported(){return"function"==typeof fetch||"function"==typeof XMLHttpRequest}static _rs_cleanup(){d&&delete localStorage[p]}}(0,u.applyMixins)(g,[o.default]),t.exports=g},439:function(t,e){var n,i;n=function(){var t,e,n,i;Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),i=(n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(r){if("object"!=typeof r&&"function"!=typeof r||null===r)throw new TypeError("Object.keys called on non-object");var s=[];for(var o in r)t.call(r,o)&&s.push(o);if(e)for(var a=0;a>>0;if(0===n)return-1;var i=0;if(arguments.length>1&&((i=Number(arguments[1]))!=i?i=0:0!==i&&i!==1/0&&i!==-1/0&&(i=(i>0||-1)*Math.floor(Math.abs(i)))),i>=n)return-1;for(var r=i>=0?i:Math.max(n-Math.abs(i),0);r0&&(e+=h.suffices["*"]&&n||",",h.suffices["*"]&&l&&(e+=h.name+"=")),e+=a?encodeURIComponent(c[p]).replace(/!/g,"%21"):o(c[p])}else if("object"==typeof c){l&&!h.suffices["*"]&&(e+=h.name+"=");var f=!0;for(var g in c)f||(e+=h.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=h.suffices["*"]?"=":",",e+=a?encodeURIComponent(c[g]).replace(/!/g,"%21"):o(c[g])}else l&&(e+=h.name,u&&""===c||(e+="=")),null!=h.truncate&&(c=c.substring(0,h.truncate)),e+=a?encodeURIComponent(c).replace(/!/g,"%21"):o(c)}return e};return b.varNames=h,{prefix:i,substitution:b}}function l(t){if(!(this instanceof l))return new l(t);for(var e=t.split("{"),n=[e.shift()],i=[],r=[],s=[];e.length>0;){var o=e.shift(),u=o.split("}")[0],h=o.substring(u.length+1),c=a(u);r.push(c.substitution),i.push(c.prefix),n.push(h),s=s.concat(c.substitution.varNames)}this.fill=function(t){for(var e=n[0],i=0;i0&&"/"===e.charAt(t.length-1)||"#"===n.charAt(0)||"?"===n.charAt(0))return!0}return!1}(e,t.id)&&void 0===this.schemas[t.id]&&(this.schemas[t.id]=t),t)if("enum"!==i)if("object"==typeof t[i])this.searchSchemas(t[i],e);else if("$ref"===i){var r=g(t[i]);r&&void 0===this.schemas[r]&&void 0===this.missingMap[r]&&(this.missingMap[r]=r)}},u.prototype.addSchema=function(t,e){if("string"!=typeof t||void 0===e){if("object"!=typeof t||"string"!=typeof t.id)return;t=(e=t).id}t===g(t)+"#"&&(t=g(t)),this.schemas[t]=e,delete this.missingMap[t],m(e,t),this.searchSchemas(e,t)},u.prototype.getSchemaMap=function(){var t={};for(var e in this.schemas)t[e]=this.schemas[e];return t},u.prototype.getSchemaUris=function(t){var e=[];for(var n in this.schemas)t&&!t.test(n)||e.push(n);return e},u.prototype.getMissingUris=function(t){var e=[];for(var n in this.missingMap)t&&!t.test(n)||e.push(n);return e},u.prototype.dropSchemas=function(){this.schemas={},this.reset()},u.prototype.reset=function(){this.missing=[],this.missingMap={},this.errors=[]},u.prototype.validateAll=function(t,e,n,i,r){var s;if(!(e=this.resolveRefs(e)))return null;if(e instanceof x)return this.errors.push(e),e;var o,a=this.errors.length,l=null,u=null;if(this.checkRecursive&&t&&"object"==typeof t){if(s=!this.scanned.length,t[this.validatedSchemasKey]){var h=t[this.validatedSchemasKey].indexOf(e);if(-1!==h)return this.errors=this.errors.concat(t[this.validationErrorsKey][h]),null}if(Object.isFrozen(t)&&-1!==(o=this.scannedFrozen.indexOf(t))){var c=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==c)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][c]),null}if(this.scanned.push(t),Object.isFrozen(t))-1===o&&(o=this.scannedFrozen.length,this.scannedFrozen.push(t),this.scannedFrozenSchemas.push([])),l=this.scannedFrozenSchemas[o].length,this.scannedFrozenSchemas[o][l]=e,this.scannedFrozenValidationErrors[o][l]=[];else{if(!t[this.validatedSchemasKey])try{Object.defineProperty(t,this.validatedSchemasKey,{value:[],configurable:!0}),Object.defineProperty(t,this.validationErrorsKey,{value:[],configurable:!0})}catch(e){t[this.validatedSchemasKey]=[],t[this.validationErrorsKey]=[]}u=t[this.validatedSchemasKey].length,t[this.validatedSchemasKey][u]=e,t[this.validationErrorsKey][u]=[]}}var d=this.errors.length,p=this.validateBasic(t,e,r)||this.validateNumeric(t,e,r)||this.validateString(t,e,r)||this.validateArray(t,e,r)||this.validateObject(t,e,r)||this.validateCombinations(t,e,r)||this.validateHypermedia(t,e,r)||this.validateFormat(t,e,r)||this.validateDefinedKeywords(t,e,r)||null;if(s){for(;this.scanned.length;)delete this.scanned.pop()[this.validatedSchemasKey];this.scannedFrozen=[],this.scannedFrozenSchemas=[]}if(p||d!==this.errors.length)for(;n&&n.length||i&&i.length;){var f=n&&n.length?""+n.pop():null,g=i&&i.length?""+i.pop():null;p&&(p=p.prefixWith(f,g)),this.prefixErrors(d,f,g)}return null!==l?this.scannedFrozenValidationErrors[o][l]=this.errors.slice(a):null!==u&&(t[this.validationErrorsKey][u]=this.errors.slice(a)),this.handleError(p)},u.prototype.validateFormat=function(t,e){if("string"!=typeof e.format||!this.formatValidators[e.format])return null;var n=this.formatValidators[e.format].call(null,t,e);return"string"==typeof n||"number"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n},"","/format",null,t,e):n&&"object"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n.message||"?"},n.dataPath||"",n.schemaPath||"/format",null,t,e):null},u.prototype.validateDefinedKeywords=function(t,e,n){for(var i in this.definedKeywords)if(void 0!==e[i])for(var r=this.definedKeywords[i],s=0;s=c&&ie.maximum)return this.createError(_.NUMBER_MAXIMUM,{value:t,maximum:e.maximum},"","/maximum",null,t,e);if(e.exclusiveMaximum&&t===e.maximum)return this.createError(_.NUMBER_MAXIMUM_EXCLUSIVE,{value:t,maximum:e.maximum},"","/exclusiveMaximum",null,t,e)}return null},u.prototype.validateNaN=function(t,e){return"number"!=typeof t?null:!0===isNaN(t)||t===1/0||t===-1/0?this.createError(_.NUMBER_NOT_A_NUMBER,{value:t},"","/type",null,t,e):null},u.prototype.validateString=function(t,e,n){return this.validateStringLength(t,e,n)||this.validateStringPattern(t,e,n)||null},u.prototype.validateStringLength=function(t,e){return"string"!=typeof t?null:void 0!==e.minLength&&t.lengthe.maxLength?this.createError(_.STRING_LENGTH_LONG,{length:t.length,maximum:e.maxLength},"","/maxLength",null,t,e):null},u.prototype.validateStringPattern=function(t,e){if("string"!=typeof t||"string"!=typeof e.pattern&&!(e.pattern instanceof RegExp))return null;var n;if(e.pattern instanceof RegExp)n=e.pattern;else{var i,r="",s=e.pattern.match(/^\/(.+)\/([img]*)$/);s?(i=s[1],r=s[2]):i=e.pattern,n=new RegExp(i,r)}return n.test(t)?null:this.createError(_.STRING_PATTERN,{pattern:e.pattern},"","/pattern",null,t,e)},u.prototype.validateArray=function(t,e,n){return Array.isArray(t)&&(this.validateArrayLength(t,e,n)||this.validateArrayUniqueItems(t,e,n)||this.validateArrayItems(t,e,n))||null},u.prototype.validateArrayLength=function(t,e){var n;return void 0!==e.minItems&&t.lengthe.maxItems&&(n=this.createError(_.ARRAY_LENGTH_LONG,{length:t.length,maximum:e.maxItems},"","/maxItems",null,t,e),this.handleError(n))?n:null},u.prototype.validateArrayUniqueItems=function(t,e){if(e.uniqueItems)for(var n=0;ne.maxProperties&&(n=this.createError(_.OBJECT_PROPERTIES_MAXIMUM,{propertyCount:i.length,maximum:e.maxProperties},"","/maxProperties",null,t,e),this.handleError(n))?n:null},u.prototype.validateObjectRequiredProperties=function(t,e){if(void 0!==e.required)for(var n=0;n 10000");if(void 0!==_[t])throw new Error("Error already defined: "+t+" as "+_[t]);if(void 0!==v[e])throw new Error("Error code already used: "+v[e]+" as "+e);for(var i in _[t]=e,v[e]=t,w[t]=w[e]=n,S){var r=S[i];r[t]&&(r[e]=r[e]||r[t])}},reset:function(){i.reset(),this.error=null,this.missing=[],this.valid=!0},missing:[],error:null,valid:!0,normSchema:m,resolveUrl:f,getDocumentUri:g,errorCodes:_};return r.language("en"),r}();return E.addLanguage("en-gb",w),E.tv4=E,E},void 0===(i=n.apply(e,[]))||(t.exports=i)},199:function(t,e,n){var i;"function"!=typeof fetch&&"function"!=typeof XMLHttpRequest&&(XMLHttpRequest=n(317)),function(){var n={"http://webfist.org/spec/rel":"webfist","http://webfinger.net/rel/avatar":"avatar",remotestorage:"remotestorage","http://tools.ietf.org/id/draft-dejong-remotestorage":"remotestorage",remoteStorage:"remotestorage","http://www.packetizer.com/rel/share":"share","http://webfinger.net/rel/profile-page":"profile",me:"profile",vcard:"vcard",blog:"blog","http://packetizer.com/rel/blog":"blog","http://schemas.google.com/g/2010#updates-from":"updates","https://camlistore.org/rel/server":"camilstore"},r={avatar:[],remotestorage:[],blog:[],vcard:[],updates:[],share:[],profile:[],webfist:[],camlistore:[]},s=["webfinger","host-meta","host-meta.json"];function o(t){return t.toString=function(){return this.message},t}function a(t){"object"!=typeof t&&(t={}),this.config={tls_only:void 0===t.tls_only||t.tls_only,webfist_fallback:void 0!==t.webfist_fallback&&t.webfist_fallback,uri_fallback:void 0!==t.uri_fallback&&t.uri_fallback,request_timeout:void 0!==t.request_timeout?t.request_timeout:1e4}}a.prototype.__fetchJRD=function(t,e,n){if("function"==typeof fetch)return this.__fetchJRD_fetch(t,e,n);if("function"==typeof XMLHttpRequest)return this.__fetchJRD_XHR(t,e,n);throw new Error("add a polyfill for fetch or XMLHttpRequest")},a.prototype.__fetchJRD_fetch=function(t,e,n){var i,r=this;"function"==typeof AbortController&&(i=new AbortController);var s=fetch(t,{headers:{Accept:"application/jrd+json, application/json"},signal:i?i.signal:void 0}).then(function(e){if(e.ok)return e.text();throw 404===e.status?o({message:"resource not found",url:t,status:e.status}):o({message:"error during request",url:t,status:e.status})},function(e){throw o({message:"error during request",url:t,status:void 0,err:e})}).then(function(e){if(r.__isValidJSON(e))return e;throw o({message:"invalid json",url:t,status:void 0})}),a=new Promise(function(e,n){setTimeout(function(){n(o({message:"request timed out",url:t,status:void 0})),i&&i.abort()},r.config.request_timeout)});Promise.race([s,a]).then(function(t){n(t)}).catch(function(t){e(t)})},a.prototype.__fetchJRD_XHR=function(t,e,n){var i=this,r=!1,s=new XMLHttpRequest;function a(){if(!r)return r=!0,200===s.status?i.__isValidJSON(s.responseText)?n(s.responseText):e(o({message:"invalid json",url:t,status:s.status})):404===s.status?e(o({message:"resource not found",url:t,status:s.status})):s.status>=301&&s.status<=302?function(t){return"string"==typeof t&&"https"===t.split("://")[0]}(s.getResponseHeader("Location"))?l():e(o({message:"no redirect URL found",url:t,status:s.status})):e(o({message:"error during request",url:t,status:s.status}))}function l(){s.onreadystatechange=function(){4===s.readyState&&a()},s.onload=function(){a()},s.ontimeout=function(){return e(o({message:"request timed out",url:t,status:s.status}))},s.open("GET",t,!0),s.timeout=i.config.request_timeout,s.setRequestHeader("Accept","application/jrd+json, application/json"),s.send()}return l()},a.prototype.__isValidJSON=function(t){try{JSON.parse(t)}catch(t){return!1}return!0},a.prototype.__isLocalhost=function(t){return/^localhost(\.localdomain)?(\:[0-9]+)?$/.test(t)},a.prototype.__processJRD=function(t,e,i,s){var a=JSON.parse(e);if("object"!=typeof a||"object"!=typeof a.links)return void 0!==a.error?i(o({message:a.error,request:t})):i(o({message:"unknown response from server",request:t}));var l=a.links;Array.isArray(l)||(l=[]);var u={object:a,json:e,idx:{}};u.idx.properties={name:void 0},u.idx.links=JSON.parse(JSON.stringify(r)),l.map(function(t){if(n.hasOwnProperty(t.rel)&&u.idx.links[n[t.rel]]){var e={};Object.keys(t).map(function(n){e[n]=t[n]}),u.idx.links[n[t.rel]].push(e)}});var h=JSON.parse(e).properties;for(var c in h)h.hasOwnProperty(c)&&"http://packetizer.com/ns/name"===c&&(u.idx.properties.name=h[c]);return s(u)},a.prototype.lookup=function(t,e){if("string"!=typeof t)throw new Error("first parameter must be a user address");if("function"!=typeof e)throw new Error("second parameter must be a callback");var n=this,i="";i=t.indexOf("://")>-1?t.replace(/ /g,"").split("/")[2]:t.replace(/ /g,"").split("@")[1];var r=0,o="https";function a(){var e="";return t.split("://")[1]||(e="acct:"),o+"://"+i+"/.well-known/"+s[r]+"?resource="+e+t}function l(t){if(n.config.uri_fallback&&"webfist.org"!==i&&r!==s.length-1)return r+=1,u();if(!n.config.tls_only&&"https"===o)return r=0,o="http",u();if(!n.config.webfist_fallback||"webfist.org"===i)return e(t);r=0,o="http",i="webfist.org";var l=a();n.__fetchJRD(l,e,function(t){n.__processJRD(l,t,e,function(t){"object"==typeof t.idx.links.webfist&&"string"==typeof t.idx.links.webfist[0].href&&n.__fetchJRD(t.idx.links.webfist[0].href,e,function(t){n.__processJRD(l,t,e,function(){return e(null,e)})})})})}function u(){var t=a();n.__fetchJRD(t,l,function(i){n.__processJRD(t,i,e,function(t){e(null,t)})})}return n.__isLocalhost(i)&&(o="http"),setTimeout(u,0)},a.prototype.lookupLink=function(t,e,n){if(!r.hasOwnProperty(e))return n("unsupported rel "+e);this.lookup(t,function(t,i){var r=i.idx.links[e];return t?n(t):0===r.length?n('no links found with rel="'+e+'"'):n(null,r[0])})},void 0===(i=function(){return a}.apply(e,[]))||(t.exports=i)}()},317:function(t){t.exports=XMLHttpRequest}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,n),s.exports}return n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n(423).default}()),Hw.exports); -/*! For license information please see remotestorage.js.LICENSE.txt */const Xw=Vw(Kw),Yw="0123456789bcdefghjkmnpqrstuvwxyz";let Zw=class t{static encode(e,n,i){if(void 0===i){for(let i=1;i<=12;i++){const r=t.encode(e,n,i),s=t.decode(r);if(s.lat==e&&s.lon==n)return r}i=12}if(e=Number(e),n=Number(n),i=Number(i),isNaN(e)||isNaN(n)||isNaN(i))throw new Error("Invalid geohash");let r=0,s=0,o=!0,a="",l=-90,u=90,h=-180,c=180;for(;a.length=t?(r=2*r+1,h=t):(r*=2,c=t)}else{const t=(l+u)/2;e>=t?(r=2*r+1,l=t):(r*=2,u=t)}o=!o,5==++s&&(a+=Yw.charAt(r),s=0,r=0)}return a}static decode(e){const n=t.bounds(e),i=n.sw.lat,r=n.sw.lon,s=n.ne.lat,o=n.ne.lon;let a=(i+s)/2,l=(r+o)/2;return a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),l=l.toFixed(Math.floor(2-Math.log(o-r)/Math.LN10)),{lat:Number(a),lon:Number(l)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(e,n){if(e=e.toLowerCase(),n=n.toLowerCase(),0==e.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(n))throw new Error("Invalid direction");const i=e.slice(-1);let r=e.slice(0,-1);const s=e.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[n][s].indexOf(i)&&""!=r&&(r=t.adjacent(r,n)),r+Yw.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[n][s].indexOf(i))}static neighbours(e){return{n:t.adjacent(e,"n"),ne:t.adjacent(t.adjacent(e,"n"),"e"),e:t.adjacent(e,"e"),se:t.adjacent(t.adjacent(e,"s"),"e"),s:t.adjacent(e,"s"),sw:t.adjacent(t.adjacent(e,"s"),"w"),w:t.adjacent(e,"w"),nw:t.adjacent(t.adjacent(e,"n"),"w")}}};const Jw="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Qw=0xffffffffffff;var tx;!function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"}(tx||(tx={}));class ex extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function nx(t){const e=Math.floor(32*t())%32;return Jw.charAt(e)}const ix={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,2)}/${t.substring(2,4)}/${e}`}t.declareType("place",{type:"object",properties:{id:{type:"string",required:!0},title:{type:"string",required:!0},lat:{type:"number",required:!0},lon:{type:"number",required:!0},geohash:{type:"string",required:!0},zoom:{type:"number"},url:{type:"string"},osmId:{type:"string"},osmType:{type:"string"},osmTags:{type:"object"},description:{type:"string"},tags:{type:"array",items:{type:"string"},default:[]},createdAt:{type:"string",format:"date-time",required:!0},updatedAt:{type:"string",format:"date-time"}},required:["id","title","lat","lon","geohash","createdAt"]});const n={store:async function(n){const i=function(t){const e=(new Date).toISOString(),n=t.id||function(){const t=function(){const t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:null,e=t&&(t.crypto||t.msCrypto)||null;if("function"==typeof e?.getRandomValues)return()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]/256};if("function"==typeof e?.randomBytes)return()=>e.randomBytes(1).readUInt8()/256;throw new ex(tx.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Qw)throw new ex(tx.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Qw}: ${t}`);if(t<0)throw new ex(tx.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Jw.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=nx(e)+n;return n}(16,t)}(),i="number"==typeof t.lat?t.lat:0,r="number"==typeof t.lon?t.lon:0,s=t.title||"Untitled Place",o=t.geohash||Zw.encode(i,r,10),a={...t,id:n,lat:i,lon:r,geohash:o,title:s,createdAt:t.createdAt||e,updatedAt:t.id?e:void 0};return Object.keys(a).forEach(t=>{void 0===a[t]&&delete a[t]}),a}(n),r=e(i.geohash,i.id);return await t.storeObject("place",r,i),i},remove:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to remove a place");const r=e(i,n);return t.remove(r)},get:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to get a place");const r=e(i,n);return t.getObject(r)},listByPrefix:async function(e){let n="";return e.length>=2&&(n+=e.substring(0,2)+"/"),e.length>=4&&(n+=e.substring(2,4)+"/"),t.getAll(n)},getPlaces:async function(e){const n=[],i=async e=>{const i=await t.getAll(e,!1);i&&Object.values(i).forEach(t=>{t&&"object"==typeof t&&!t.toString().endsWith("/")&&n.push(t)})};if(e&&e.length>0){const t=e.map(async t=>{if(t.length<4)return;const e=t.substring(0,2),n=t.substring(2,4);await i(`${e}/${n}/`)});await Promise.all(t)}else{const e=t=>{if(!t||"object"!=typeof t)return[];let e=t;return t.items&&"object"==typeof t.items&&(e=t.items),Object.keys(e).filter(t=>t.endsWith("/")&&!t.startsWith("@"))},n=await t.getListing("",!1),r=e(n);await Promise.all(r.map(async n=>{const r=await t.getListing(n,!1),s=e(r);await Promise.all(s.map(async t=>{await i(n+t)}))}))}return n}};return{exports:n}}},rx="0123456789bcdefghjkmnpqrstuvwxyz";class sx{static encode(t,e,n){if(void 0===n){for(let n=1;n<=12;n++){const i=sx.encode(t,e,n),r=sx.decode(i);if(r.lat==t&&r.lon==e)return i}n=12}if(t=Number(t),e=Number(e),n=Number(n),isNaN(t)||isNaN(e)||isNaN(n))throw new Error("Invalid geohash");let i=0,r=0,s=!0,o="",a=-90,l=90,u=-180,h=180;for(;o.length=t?(i=2*i+1,u=t):(i*=2,h=t)}else{const e=(a+l)/2;t>=e?(i=2*i+1,a=e):(i*=2,l=e)}s=!s,5==++r&&(o+=rx.charAt(i),r=0,i=0)}return o}static decode(t){const e=sx.bounds(t),n=e.sw.lat,i=e.sw.lon,r=e.ne.lat,s=e.ne.lon;let o=(n+r)/2,a=(i+s)/2;return o=o.toFixed(Math.floor(2-Math.log(r-n)/Math.LN10)),a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(o),lon:Number(a)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(t,e){if(t=t.toLowerCase(),e=e.toLowerCase(),0==t.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(e))throw new Error("Invalid direction");const n=t.slice(-1);let i=t.slice(0,-1);const r=t.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[e][r].indexOf(n)&&""!=i&&(i=sx.adjacent(i,e)),i+rx.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][r].indexOf(n))}static neighbours(t){return{n:sx.adjacent(t,"n"),ne:sx.adjacent(sx.adjacent(t,"n"),"e"),e:sx.adjacent(t,"e"),se:sx.adjacent(sx.adjacent(t,"s"),"e"),s:sx.adjacent(t,"s"),sw:sx.adjacent(sx.adjacent(t,"s"),"w"),w:sx.adjacent(t,"w"),nw:sx.adjacent(sx.adjacent(t,"n"),"w")}}}function ox(t){const{minLat:e,minLon:n,maxLat:i,maxLon:r}=t,s=new Set;if(Math.abs(i-e)>20||Math.abs(r-n)>20)return console.warn("BBox too large for 4-char geohash scanning, aborting fine scan."),[];for(let a=e;a<=i+.1;a+=.1)for(let t=n;t<=r+.1;t+=.1){const e=Math.min(a,i),n=Math.min(t,r);try{const t=sx.encode(e,n,4);s.add(t)}catch(o){}}try{s.add(sx.encode(e,n,4))}catch(o){}try{s.add(sx.encode(i,r,4))}catch(o){}try{s.add(sx.encode(e,r,4))}catch(o){}try{s.add(sx.encode(i,n,4))}catch(o){}return Array.from(s)}const ax=Object.freeze(Object.defineProperty({__proto__:null,getGeohashPrefixesInBbox:ox},Symbol.toStringTag,{value:"Module"})),lx=new WeakMap;function ux(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=lx.get(t);i||(i=new Map,lx.set(t,i)),i.set(e,n)}(t,e,r)}function hx(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function cx(t,e){let n=function(t,e){var n;let i=t.prototype;for(;i;){let t=null==(n=lx.get(i))?void 0:n.get(e);if(t)return t;i=i.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}class dx extends pf{rs;static{ux(this.prototype,"savedPlaces",[ys],function(){return[]})}#P=void cx(this,"savedPlaces");static{ux(this.prototype,"loadedPrefixes",[ys],function(){return[]})}#M=void cx(this,"loadedPrefixes");static{ux(this.prototype,"currentBbox",[ys],function(){return null})}#I=void cx(this,"currentBbox");static{ux(this.prototype,"version",[ys],function(){return 0})}#O=void cx(this,"version");constructor(){super(...arguments),console.log("ohai"),this.rs=new Xw({modules:[ix]}),this.rs.access.claim("places","rw"),this.rs.caching.enable("/places/"),window.remoteStorage=this.rs,this.rs.on("ready",()=>{}),this.rs.scope("/places/").on("change",()=>{aa(this,this.reloadCurrentView,200)})}get places(){return this.rs.places}notifyChange(){this.version++,aa(this,this.reloadCurrentView,200)}reloadCurrentView(){if(!this.currentBbox)return;const t=ox(this.currentBbox);console.log("Reloading view due to changes, prefixes:",t),this.loadAllPlaces(t)}async loadPlacesInBounds(t){const e=ox(t).filter(t=>!this.loadedPrefixes.includes(t));0!==e.length&&(console.log("Loading new prefixes:",e),await this.loadAllPlaces(e),this.loadedPrefixes=[...this.loadedPrefixes,...e],this.currentBbox=t)}async loadAllPlaces(t=null){try{const e=await this.places.getPlaces(t);if(e&&Array.isArray(e))if(t){const n=new Set(t),i=this.savedPlaces.filter(t=>{if(!t.lat||!t.lon)return!1;try{const e=sx.encode(t.lat,t.lon,4);return!n.has(e)}catch(e){return!0}});this.savedPlaces=[...i,...e]}else this.savedPlaces=e;else t||(this.savedPlaces=[]);console.log("Loaded saved places:",this.savedPlaces.length)}catch(e){console.error("Failed to load places:",e)}}findPlaceById(t){let e=this.savedPlaces.find(e=>e.id===t);return e||(e=this.savedPlaces.find(e=>e.osmId===t),e)}}const px=Object.freeze(Object.defineProperty({__proto__:null,default:dx},Symbol.toStringTag,{value:"Module"}));function fx(t,e,n,i){const r=t*Math.PI/180,s=n*Math.PI/180,o=(n-t)*Math.PI/180,a=(i-e)*Math.PI/180,l=Math.sin(o/2)*Math.sin(o/2)+Math.cos(r)*Math.cos(s)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}const gx=Object.freeze(Object.defineProperty({__proto__:null,getDistance:fx},Symbol.toStringTag,{value:"Module"}));function mx(t,e,n){return(e="symbol"==typeof(i=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(e))?i:String(i))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t;var i}function yx(t,e,n,i){n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function _x(t,e,n,i){var r={};return Object.keys(i).forEach(function(t){r[t]=i[t]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),void 0===(r=n.slice().reverse().reduce(function(n,i){return i(t,e,n)||n},r)).initializer&&(Object.defineProperty(t,e,r),r=null),r}var vx,bx,wx,xx,Sx;const Ex="undefined"!=typeof FastBoot,Cx="routeDidChange",kx=["separator","prepend","replace"];let Tx=(vx=df("router"),bx=df("-document"),wx=class extends pf{constructor(t){if(super(t),yx(this,"router",xx,this),yx(this,"document",Sx,this),mx(this,"tokens",[]),mx(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),mx(this,"scheduleTitleUpdate",()=>{sa("afterRender",this,this._updateTitle)}),this._validateExistingTitleElement(),function(t){return"resolveRegistration"in t}(t)){const n=t.resolveRegistration("config:environment");"object"==typeof(e=n)&&null!==e&&"pageTitle"in e&&kx.forEach(t=>{if(!function(t){if(null==t)return!0;if(!ls(t)&&"number"==typeof t.size)return!t.size;if("object"==typeof t){let e=us(t,"size");if("number"==typeof e)return!e;let n=us(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(Cx,this.scheduleTitleUpdate)}applyTokenDefaults(t){const e=this._defaultConfig.separator,n=this._defaultConfig.prepend,i=this._defaultConfig.replace;t.previous??=null,t.next??=null,null==t.separator&&(t.separator=e),null==t.prepend&&null!=n&&(t.prepend=n),null==t.replace&&null!=i&&(t.replace=i)}inheritFromPrevious(t){const e=t.previous;e&&(null==t.separator&&(t.separator=e.separator),null==t.prepend&&(t.prepend=e.prepend))}push(t){const e=this._findTokenById(t.id);if(e){const n=this.tokens.indexOf(e),i=[...this.tokens],r=e.previous;return t.previous=r,t.next=e.next,this.inheritFromPrevious(t),this.applyTokenDefaults(t),i.splice(n,1,t),void(this.tokens=i)}const n=this.tokens.slice(-1)[0];n&&(t.previous=n??null,n.next=t,this.inheritFromPrevious(t)),this.applyTokenDefaults(t),this.tokens=[...this.tokens,t]}remove(t){const e=this._findTokenById(t);if(!e)return;const{next:n,previous:i}=e;n&&(n.previous=i),i&&(i.next=n),e.previous=e.next=null;const r=[...this.tokens];r.splice(r.indexOf(e),1),this.tokens=r}get visibleTokens(){const t=this.tokens;let e=t?t.length:0;const n=[];for(;e--;){const i=t[e];if(i){if(i.replace){n.unshift(i);break}n.unshift(i)}}return n}get sortedTokens(){const t=this.visibleTokens;if(!t)return[];let e=!0,n=[];const i=[n],r=[];return t.forEach(t=>{t.front?r.unshift(t):t.prepend?(e&&(e=!1,n=[],i.push(n)),n.unshift(t)):(e||(e=!0,n=[],i.push(n)),n.push(t))}),r.concat(i.reduce((t,e)=>t.concat(e),[]))}toString(){const t=this.sortedTokens,e=[];for(let n=0,i=t.length;ne.id===t)}updateFastbootTitle(t){if(!Ex)return;const e=this.document.head,n=e.childNodes;for(let s=0;snew Nx(t),Dx);const jx=Object.freeze(Object.defineProperty({__proto__:null,default:Dx},Symbol.toStringTag,{value:"Module"}));var zx,Ux,Bx;let qx=(zx=df("page-title"),Bx=_x((Ux=class extends Zv{constructor(t){super(t),yx(this,"tokens",Bx,this),mx(this,"tokenId",U(this)),this.tokens.push({id:this.tokenId})}compute(t,e){const n={...e,id:this.tokenId,title:t.join("")};return this.tokens.push(n),this.tokens.scheduleTitleUpdate(),""}willDestroy(){super.willDestroy(),this.tokens.remove(this.tokenId),this.tokens.scheduleTitleUpdate()}}).prototype,"tokens",[zx],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ux);const $x=Ai;class Gx{capabilities=Mi();constructor(t){this.owner=t}createModifier(t,e){return{instance:new t(this.owner,e),element:null}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e);i.instance.modify(e,n.positional,n.named)}updateModifier(t,e){t.instance.modify(t.element,e.positional,e.named)}destroyModifier({instance:t}){At(t)}}$x(t=>new Gx(t),class{constructor(t,e){Pw(this,t)}modify(t,e,n){}});const Vx=new class{capabilities=Mi();createModifier(t){return{element:null,instance:t}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e),{positional:r,named:s}=n,o=t.instance(e,r,s);"function"==typeof o&&(i.teardown=o)}updateModifier(t,e){"function"==typeof t.teardown&&t.teardown();const n=t.instance(t.element,e.positional,e.named);"function"==typeof n&&(t.teardown=n)}destroyModifier(t){"function"==typeof t.teardown&&t.teardown()}getDebugName(t){return t.instance.toString()}getDebugInstance(t){return t}};function Wx(t){return t.toString=()=>t.name,$x(()=>Vx,t)}const Hx="add",Kx="remove",Xx="propertychange",Yx="change",Zx="contextmenu",Jx="click",Qx="keydown",tS="keypress",eS="touchmove",nS="wheel";class iS{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function rS(t,e){return t>e?1:te?-1:0}function oS(t,e,n){if(t[0]<=e)return 0;const i=t.length;if(e<=t[i-1])return i-1;if("function"==typeof n){for(let r=1;r0?r-1:r}return i-1}if(n>0){for(let n=1;n0)}removeEventListener(t,e){if(!this.listeners_)return;const n=this.listeners_[t];if(!n)return;const i=n.indexOf(e);-1!==i&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[i]=dS,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}function vS(t,e,n,i,r){if(r){const r=n;n=function(s){return t.removeEventListener(e,n),r.call(i??this,s)}}else i&&i!==t&&(n=n.bind(i));const s={target:t,type:e,listener:n};return t.addEventListener(e,n),s}function bS(t,e,n,i){return vS(t,e,n,i,!0)}function wS(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),gS(t))}class xS extends _S{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Yx)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const n=t.length,i=new Array(n);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,n=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new PS(Hx,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let n=0,i=e.length;n=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new PS(Kx,e,t)),e}setAt(t,e){if(t>=this.getLength())return void this.insertAt(t,e);if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const n=this.array_[t];this.array_[t]=e,this.dispatchEvent(new PS(Kx,n,t)),this.dispatchEvent(new PS(Hx,e,t))}updateLength_(){this.set(RS,this.array_.length)}assertUnique_(t,e){const n=this.array_;for(let i=0,r=n.length;i{this.clickTimeoutId_=void 0;const e=new OS(AS.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==AS.POINTERUP||e.type==AS.POINTERCANCEL){delete this.trackedTouches_[n];for(const t in this.trackedTouches_)if(this.trackedTouches_[t].target!==e.target){delete this.trackedTouches_[t];break}}else e.type!=AS.POINTERDOWN&&e.type!=AS.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new OS(AS.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return 0===t.button}handlePointerDown_(t){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(t);const e=new OS(AS.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),0===this.dragListenerKeys_.length){const t=this.map_.getOwnerDocument();this.dragListenerKeys_.push(vS(t,AS.POINTERMOVE,this.handlePointerMove_,this),vS(t,AS.POINTERUP,this.handlePointerUp_,this),vS(this.element_,AS.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(vS(this.element_.getRootNode(),AS.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new OS(AS.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!(!this.down_||!this.isMoving_(t));this.dispatchEvent(new OS(AS.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;e&&!e.defaultPrevented||"boolean"==typeof t.cancelable&&!0!==t.cancelable||t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(wS(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(eS,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(wS(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const GS="postrender",VS="loadstart",WS="loadend",HS="layergroup",KS="size",XS="target",YS="view";function ZS(t,e){if(!t)throw new Error(e)}const JS=1/0;class QS{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,gS(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,n=t[0];1==t.length?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(t){ZS(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=JS&&(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(t){return 2*t+1}getRightChildIndex_(t){return 2*t+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return 0===this.elements_.length}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,n=this.priorities_,i=e.length,r=e[t],s=n[t],o=t;for(;t>1;){const r=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=st;){const t=this.getParentIndex_(e);if(!(i[t]>s))break;n[e]=n[t],i[e]=i[t],e=t}n[e]=r,i[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,n=this.priorities_;let i=0;const r=e.length;let s,o,a;for(o=0;ot.apply(null,e),t=>t[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){const e=super.enqueue(t);return e&&t[0].addEventListener(Yx,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,n=e.getState();if(2===n||3===n||4===n){3!==n&&e.removeEventListener(Yx,this.boundHandleTileChange_);const t=e.getKey();t in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[t],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let n=0;for(;this.tilesLoading_0;){const t=this.dequeue()[0],e=t.getKey();0!==t.getState()||e in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[e]=!0,++this.tilesLoading_,++n,t.load())}}}const eE={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function nE(t,e,n){return Math.min(Math.max(t,e),n)}function iE(t,e,n,i,r,s){const o=r-n,a=s-i;if(0!==o||0!==a){const l=((t-n)*o+(e-i)*a)/(o*o+a*a);l>1?(n=r,i=s):l>0&&(n+=o*l,i+=a*l)}return rE(t,e,n,i)}function rE(t,e,n,i){const r=n-t,s=i-e;return r*r+s*s}function sE(t){return 180*t/Math.PI}function oE(t){return t*Math.PI/180}function aE(t,e){const n=t%e;return n*e<0?n+e:n}function lE(t,e,n){return t+n*(e-t)}function uE(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function hE(t,e){return Math.floor(uE(t,e))}function cE(t,e){return Math.ceil(uE(t,e))}function dE(t,e,n){if(t>=e&&tp&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=nE(i[0],d,p),y=nE(i[1],f,g);if(o&&n&&r){const t=30*r;m+=-t*Math.log(1+Math.max(0,d-i[0])/t)+t*Math.log(1+Math.max(0,i[0]-p)/t),y+=-t*Math.log(1+Math.max(0,f-i[1])/t)+t*Math.log(1+Math.max(0,i[1]-g)/t)}return[m,y]}}function fE(t){return t}function gE(t){const e=[1/0,1/0,-1/0,-1/0];for(let n=0,i=t.length;nr&&(l|=4),as&&(l|=2),0===l&&(l=1),l}function SE(t,e,n,i,r){return r?(r[0]=t,r[1]=e,r[2]=n,r[3]=i,r):[t,e,n,i]}function EE(t){return SE(1/0,1/0,-1/0,-1/0,t)}function CE(t,e){const n=t[0],i=t[1];return SE(n,i,n,i,e)}function kE(t,e,n,i,r){return ME(EE(r),t,e,n,i)}function TE(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function RE(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function PE(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function ME(t,e,n,i,r){for(;ne[0]?i[0]=t[0]:i[0]=e[0],t[1]>e[1]?i[1]=t[1]:i[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function WE(t){return t[2]1){const e=t[2]-t[0],n=t[3]-t[1];for(let s=0;s=n[2])){const e=GE(n),r=Math.floor((i[0]-n[0])/e)*e;t[0]-=r,t[2]-=r}return t}function XE(t,e,n){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[i[0],t[1],i[2],t[3]]];KE(t,e);const r=GE(i);if(GE(t)>r&&!n)return[[i[0],t[1],i[2],t[3]]];if(t[0]i[2])return[[t[0],t[1],i[2],t[3]],[i[0],t[1],t[2]-r,t[3]]]}return[t]}function YE(t,e){let n=!0;for(let i=t.length-1;i>=0;--i)if(t[i]!=e[i]){n=!1;break}return n}function ZE(t,e){const n=Math.cos(e),i=Math.sin(e),r=t[0]*n-t[1]*i,s=t[1]*n+t[0]*i;return t[0]=r,t[1]=s,t}function JE(t,e){if(e.canWrapX()){const n=GE(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||GE(i),r=Math.floor((t[0]-i[0])/n)),r}(t,e,n);i&&(t[0]-=i*n)}return t}function QE(t){return Math.pow(t,3)}function tC(t){return 1-QE(1-t)}function eC(t){return 3*t*t-2*t*t*t}function nC(t){return t}const iC=6371008.8;function rC(t,e,n){n=n||iC;const i=oE(t[1]),r=oE(e[1]),s=(r-i)/2,o=oE(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function sC(t,e,n,i){i=i||iC;const r=oE(t[1]),s=oE(t[0]),o=e/i,a=Math.asin(Math.sin(r)*Math.cos(o)+Math.cos(r)*Math.sin(o)*Math.cos(n));return[sE(s+Math.atan2(Math.sin(n)*Math.sin(o)*Math.cos(r),Math.cos(o)-Math.sin(r)*Math.sin(a))),sE(a)]}function oC(...t){console.warn(...t)}const aC={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class lC{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||aC[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const uC=6378137,hC=Math.PI*uC,cC=[-hC,-hC,hC,hC],dC=[-180,-85,180,85],pC=uC*Math.log(Math.tan(Math.PI/2));class fC extends lC{constructor(t){super({code:t,units:"m",extent:cC,global:!0,worldExtent:dC,getPointResolution:function(t,e){return t/Math.cosh(e[1]/uC)}})}}const gC=[new fC("EPSG:3857"),new fC("EPSG:102100"),new fC("EPSG:102113"),new fC("EPSG:900913"),new fC("http://www.opengis.net/def/crs/EPSG/0/3857"),new fC("http://www.opengis.net/gml/srs/epsg.xml#3857")],mC=[-180,-90,180,90],yC=6378137*Math.PI/180;class _C extends lC{constructor(t,e){super({code:t,units:"degrees",extent:mC,axisOrientation:e,global:!0,metersPerUnit:yC,worldExtent:mC})}}const vC=[new _C("CRS:84"),new _C("EPSG:4326","neu"),new _C("urn:ogc:def:crs:OGC:1.3:CRS84"),new _C("urn:ogc:def:crs:OGC:2:84"),new _C("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new _C("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new _C("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let bC={},wC={};function xC(t,e,n){const i=t.getCode(),r=e.getCode();i in wC||(wC[i]={}),wC[i][r]=n}function SC(t,e){return t in wC&&e in wC[t]?wC[t][e]:null}const EC=.9996,CC=.00669438,kC=CC*CC,TC=kC*CC,RC=CC/(1-CC),PC=Math.sqrt(1-CC),MC=(1-PC)/(1+PC),IC=MC*MC,OC=IC*MC,AC=OC*MC,FC=AC*MC,LC=.9983242984503243,NC=15*kC/256+45*TC/1024,DC=35*TC/3072,jC=1.5*MC-27/32*OC+269/512*FC,zC=21/16*IC-55/32*AC,UC=151/96*OC-417/128*FC,BC=1097/512*AC,qC=6378137;function $C(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/EC/(qC*LC),s=r+jC*Math.sin(2*r)+zC*Math.sin(4*r)+UC*Math.sin(6*r)+BC*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),u=o/l,h=u*u,c=h*h,d=1-CC*a,p=Math.sqrt(1-CC*a),f=RC*l**2,g=f*f,m=i/(qC/p*EC),y=m*m,_=y*m,v=_*m,b=v*m,w=s-u/((1-CC)/d)*(y/2-v/24*(5+3*h+10*f-4*g-9*RC))+b*m/720*(61+90*h+298*f+45*c-252*RC-3*g);let x=(m-_/6*(1+2*h+f)+b/120*(5-2*f+28*h-3*g+8*RC+24*c))/l;return x=dE(x+oE(VC(n.number)),-Math.PI,Math.PI),[sE(x),sE(w)]}function GC(t,e,n){t=dE(t,-180,180),e<-80?e=-80:e>84&&(e=84);const i=oE(e),r=Math.sin(i),s=Math.cos(i),o=r/s,a=o*o,l=a*a,u=oE(t),h=oE(VC(n.number)),c=qC/Math.sqrt(1-CC*r**2),d=RC*s**2,p=s*dE(u-h,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=qC*(LC*i-.002514607064228144*Math.sin(2*i)+NC*Math.sin(4*i)-DC*Math.sin(6*i)),b=EC*c*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*RC))+5e5;let w=EC*(v+c*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*RC)));return n.north||(w+=1e7),[b,w]}function VC(t){return 6*(t-1)-180+3}const WC=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function HC(t){let e=0;for(const r of WC){const n=t.match(r);if(n){e=parseInt(n[1]);break}}if(!e)return null;let n=0,i=!1;return e>32700&&e<32761?n=e-32700:e>32600&&e<32661&&(i=!0,n=e-32600),n?{number:n,north:i}:null}function KC(t,e){return function(n,i,r,s){const o=n.length;r=r>1?r:2,s=s??r,i||(i=r>2?n.slice():new Array(o));for(let a=0;a180)&&(e[0]=aE(n+180,360)-180),e}function lk(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||uk(t,e)===QC)&&n}function uk(t,e){const n=t.getCode(),i=e.getCode();let r=SC(n,i);if(r)return r;let s=null,o=null;for(const l of XC)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)r=hk(s.inverse,o.forward);else{const t=SC(n,a);t&&(r=hk(t,o.forward))}else{const t=SC(a,i);t&&(r=hk(s.inverse,t))}return r&&(ek(t),ek(e),xC(t,e,r)),r}function hk(t,e){return function(n,i,r,s){return i=t(n,i,r,s),e(i,i,r,s)}}function ck(t,e){return uk(nk(t),nk(e))}function dk(t,e,n){const i=ck(e,n);if(!i){const t=nk(e).getCode(),i=nk(n).getCode();throw new Error(`No transform available between ${t} and ${i}`)}return i(t,void 0,t.length)}function pk(t,e,n,i){return HE(t,ck(e,n),void 0,i)}function fk(t){return t}function gk(t){return ZC&&!YE(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(ZC=!1,oC("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function mk(t){return t}var yk,_k,vk;rk(gC),rk(vC),yk=gC,_k=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;spC?n=pC:n<-pC&&(n=-pC),e[s+1]=n}return e},vk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;s{if(!n)return this.getSimplifiedGeometry(e);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return SS()}closestPointXY(t,e,n,i){return SS()}containsXY(t,e){return 0===this.closestPointXY(t,e,Ak,Number.MIN_VALUE)}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return SS()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&EE(t),this.extentRevision_=this.getRevision()}return function(t,e){return e?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):t}(this.extent_,t)}rotate(t,e){SS()}scale(t,e,n){SS()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return SS()}getType(){return SS()}applyTransform(t){SS()}intersectsExtent(t){return SS()}translate(t,e){SS()}transform(t,e){const n=nk(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=UE(o)/UE(s);kk(Ok,o[0],o[3],a,-a,0,0,0);const l=Mk(t,0,t.length,r,Ok,i),u=ck(n,e);return u?u(l,l,r):l}:ck(n,e);return this.applyTransform(i),this}}class Lk extends Fk{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return kE(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return SS()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)c=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function qk(t,e,n,i,r){for(let s=0,o=n.length;s0;){const n=u.pop(),s=u.pop();let o=0;const a=t[s],c=t[s+1],d=t[n],p=t[n+1];for(let e=s+i;eo&&(h=e,o=n)}o>r&&(l[(h-e)/i]=1,s+i0&&f>d)&&(p<0&&g0&&g>p)?(a=n,l=c):(s[o++]=a,s[o++]=l,u=a,h=l,a=n,l=c)}return s[o++]=a,s[o++]=l,o}function eT(t,e,n,i,r,s,o,a){for(let l=0,u=n.length;ls&&(n-a)*(s-l)-(r-a)*(i-l)>0&&o++:i<=s&&(n-a)*(s-l)-(r-a)*(i-l)<0&&o--,a=n,l=i}return 0!==o}function oT(t,e,n,i,r,s){if(0===n.length)return!1;if(!sT(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(u=(h+c)/2,oT(t,e,n,i,u,f)&&(m=u,y=r)),h=c}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function lT(t,e,n,i,r){let s=[];for(let o=0,a=n.length;o=r[0]&&s[2]<=r[2]||s[1]>=r[1]&&s[3]<=r[3]||uT(t,e,n,i,function(t,e){return function(t,e,n){let i=!1;const r=xE(t,e),s=xE(t,n);if(1===r||1===s)i=!0;else{const o=t[0],a=t[1],l=t[2],u=t[3],h=e[0],c=e[1],d=n[0],p=n[1],f=(p-c)/(d-h);let g,m;2&s&&!(2&r)&&(g=d-(p-u)/f,i=g>=o&&g<=l),i||!(4&s)||4&r||(m=p-(d-l)*f,i=m>=a&&m<=u),i||!(8&s)||8&r||(g=d-(p-a)/f,i=g>=o&&g<=l),i||!(16&s)||16&r||(m=p-(d-o)*f,i=m>=a&&m<=u)}return i}(r,t,e)}))}function cT(t,e,n,i,r){return!!(hT(t,e,n,i,r)||sT(t,e,n,i,r[0],r[1])||sT(t,e,n,i,r[0],r[3])||sT(t,e,n,i,r[2],r[1])||sT(t,e,n,i,r[2],r[3]))}function dT(t,e,n,i,r){if(!cT(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function gT(t,e,n,i,r){r=void 0!==r&&r;for(let s=0,o=n.length;sh&&d1&&"function"==typeof arguments[n-1]&&(e=arguments[n-1],--n);let i=0;for(;i0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let t;this.setHint(0,-this.hints_[0]);for(let e=0,n=this.animations_.length;e=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,s=i.length;n0?o/s.duration:1;a>=1?(s.complete=!0,a=1):r=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],n=s.targetCenter[0],i=s.targetCenter[1];this.nextCenter_=s.targetCenter;const r=t+l*(n-t),o=e+l*(i-e);this.targetCenter_=[r,o]}if(s.sourceResolution&&s.targetResolution){const t=1===l?s.targetResolution:s.sourceResolution+l*(s.targetResolution-s.sourceResolution);if(s.anchor){const e=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(t,0,e,!0);this.targetCenter_=this.calculateCenterZoom(n,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=t,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){const t=1===l?aE(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+l*(s.targetRotation-s.sourceRotation);if(s.anchor){const e=this.constraints_.rotation(t,!0);this.targetCenter_=this.calculateCenterRotate(e,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=t}if(this.applyTargetState_(!0),e=!0,!s.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=i[0].callback;t&&RT(t,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let n;const i=this.getCenterInternal();var r,s;return void 0!==i&&(n=[i[0]-e[0],i[1]-e[1]],ZE(n,t-this.getRotation()),s=e,(r=n)[0]+=+s[0],r[1]+=+s[1]),n}calculateCenterZoom(t,e){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[e[0]-t*(e[0]-i[0])/r,e[1]-t*(e[1]-i[1])/r]),n}getViewportSize_(t){const e=this.viewportSize_;if(t){const n=e[0],i=e[1];return[Math.abs(n*Math.cos(t))+Math.abs(i*Math.sin(t)),Math.abs(n*Math.sin(t))+Math.abs(i*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t?fk(t,this.getProjection()):t}getCenterInternal(){return this.get(eE.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){return e=this.calculateExtentInternal(t),this.getProjection(),e;var e}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();ZS(e,"The view center is not defined");const n=this.getResolution();ZS(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return ZS(void 0!==i,"The view rotation is not defined"),jE(e,n,i,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(eE.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(mk(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=GE(t)/e[0],i=UE(t)/e[1];return Math.max(n,i)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(e/n)/Math.log(t);return function(n){return e/Math.pow(t,n*i)}}getRotation(){return this.get(eE.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/e;return function(t){return Math.log(n/t)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const n=this.padding_;return n&&(e=[e[0]-n[1]-n[3],e[1]-n[0]-n[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const t=this.getViewportSizeMinusPadding_();i=MT(i,this.getViewportSize_(),[t[0]/2+r[3],t[1]/2+r[0]],e,n)}return{center:i.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e,n,i=this.minZoom_||0;if(this.resolutions_){const r=oS(this.resolutions_,t,1);i=r,e=this.resolutions_[r],n=r==this.resolutions_.length-1?2:e/this.resolutions_[r+1]}else e=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(e/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const e=nE(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,nE(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(ZS(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))ZS(!WE(t),"Cannot fit empty extent provided as `geometry`"),n=wT(mk(t,this.getProjection()));else if("Circle"===t.getType()){const e=mk(t.getExtent(),this.getProjection());n=wT(e),n.rotate(this.getRotation(),NE(e))}else n=t;this.fitInternal(n,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),n=Math.cos(e),i=Math.sin(-e),r=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,u=-1/0;for(let h=0,c=r.length;ht.trim().replace(/^['"]|['"]$/g,"")),n};function zT(t,e,n,i){let r;return r=n&&n.length?n.shift():jS?new class extends OffscreenCanvas{style={}}(t??300,e??150):document.createElement("canvas"),t&&(r.width=t),e&&(r.height=e),r.getContext("2d",i)}let UT;function BT(){return UT||(UT=zT(1,1)),UT}function qT(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function $T(t){let e=t.offsetWidth;const n=getComputedStyle(t);return e+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),e}function GT(t){let e=t.offsetHeight;const n=getComputedStyle(t);return e+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),e}function VT(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function WT(t){for(;t.lastChild;)t.lastChild.remove()}function HT(){const t=new Proxy({childNodes:[],appendChild:function(t){return this.childNodes.push(t),t},remove:function(){},removeChild:function(t){const e=this.childNodes.indexOf(t);if(-1===e)throw new Error("Node to remove was not found");return this.childNodes.splice(e,1),t},insertBefore:function(t,e){const n=this.childNodes.indexOf(e);if(-1===n)throw new Error("Reference node not found");return this.childNodes.splice(n,0,t),t},style:{}},{get:(t,e,n)=>"firstElementChild"===e?t.childNodes.length>0?t.childNodes[0]:null:Reflect.get(t,e,n)});return t}function KT(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class XT extends TS{constructor(t){super();const e=t.element;!e||t.target||e.style.pointerEvents||(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&this.element?.remove();for(let e=0,n=this.listenerKeys.length;ee.getAttributions(t)));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach(t=>n.add(t)):n.add(this.attributions_)),!this.overrideCollapsible_){const t=!e.some(t=>!1===t.getSource()?.getAttributionsCollapsible());this.setCollapsible(t)}return Array.from(n)}async updateElement_(t){if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=await Promise.all(this.collectSourceAttributions_(t).map(t=>fS(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!uS(e,this.renderedAttributions_)){WT(this.ulElement_);for(let t=0,n=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:tC}):t.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const n=e.viewState.rotation;if(n!=this.rotation_){const t="rotate("+n+"rad)";if(this.autoHide_){const t=this.element.classList.contains(IT);t||0!==n?t&&0!==n&&this.element.classList.remove(IT):this.element.classList.add(IT)}this.label_.style.transform=t}this.rotation_=n}}class JT extends XT{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=void 0!==t.className?t.className:"ol-zoom",n=void 0!==t.delta?t.delta:1,i=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",r=void 0!==t.zoomOutClassName?t.zoomOutClassName:e+"-out",s=void 0!==t.zoomInLabel?t.zoomInLabel:"+",o=void 0!==t.zoomOutLabel?t.zoomOutLabel:"–",a=void 0!==t.zoomInTipLabel?t.zoomInTipLabel:"Zoom in",l=void 0!==t.zoomOutTipLabel?t.zoomOutTipLabel:"Zoom out",u=document.createElement("button");u.className=i,u.setAttribute("type","button"),u.title=a,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Jx,this.handleClick_.bind(this,n),!1);const h=document.createElement("button");h.className=r,h.setAttribute("type","button"),h.title=l,h.appendChild("string"==typeof o?document.createTextNode(o):o),h.addEventListener(Jx,this.handleClick_.bind(this,-n),!1);const c=e+" "+OT+" "+AT,d=this.element;d.className=c,d.appendChild(u),d.appendChild(h),this.duration_=void 0!==t.duration?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const e=this.getMap().getView();if(!e)return;const n=e.getZoom();if(void 0!==n){const i=e.getConstrainedZoom(n+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:i,duration:this.duration_,easing:tC})):e.setZoom(i)}}}function QT(t){t=t||{};const e=new MS;return(void 0===t.zoom||t.zoom)&&e.push(new JT(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new ZT(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new YT(t.attributionOptions)),e}class tR{constructor(t,e,n){this.decay_=t,this.minVelocity_=e,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[n+2]>t;)n-=3;const i=this.points_[e+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[e]-this.points_[n],s=this.points_[e+1]-this.points_[n+1];return this.angle_=Math.atan2(s,r),this.initialVelocity_=Math.sqrt(r*r+s*s)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const eR="active";class nR extends TS{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(eR)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(eR,t)}setMap(t){this.map_=t}}function iR(t,e,n,i){const r=t.getZoom();if(void 0===r)return;const s=t.getConstrainedZoom(r+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:n,duration:void 0!==i?i:250,easing:tC})}class rR extends nR{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:250}handleEvent(t){let e=!1;if(t.type==AS.DBLCLICK){const n=t.originalEvent,i=t.map,r=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;iR(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function sR(t){const e=arguments;return function(t){let n=!0;for(let i=0,r=e.length;i0}}else if(t.type==AS.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==AS.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}}function mR(t){const e=t.length;let n=0,i=0;for(let r=0;r0&&this.condition_(t)){const e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}class _R extends gR{constructor(t){t=t||{},super({stopDown:cS}),this.condition_=t.condition?t.condition:oR,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!pR(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===CT)return;const i=e.getSize(),r=t.pixel,s=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;n.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){return!pR(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!pR(t)||!uR(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class vR extends iS{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(t[0],e[0])+n,i.top=Math.min(t[1],e[1])+n,i.width=Math.abs(e[0]-t[0])+n,i.height=Math.abs(e[1]-t[1])+n}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const t=this.startPixel_,e=this.endPixel_,n=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new bT([n])}getGeometry(){return this.geometry_}}const bR="boxcancel";class wR extends yS{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class xR extends gR{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new vR(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??uR,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,n){const i=n[0]-e[0],r=n[1]-e[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new wR("boxdrag",t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new wR(e?"boxend":bR,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new wR("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new wR(bR,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new wR(bR,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class SR extends xR{constructor(t){super({condition:(t=t||{}).condition?t.condition:cR,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=void 0!==t.duration?t.duration:200,this.out_=void 0!==t.out&&t.out}onBoxEnd(t){const e=this.getMap().getView();let n=this.getGeometry();if(this.out_){const t=e.rotatedExtentForGeometry(n),i=e.getResolutionForExtentInternal(t),r=e.getResolution()/i;n=n.clone(),n.scale(r*r)}e.fitInternal(n,{duration:this.duration_,easing:tC})}}const ER="ArrowLeft",CR="ArrowRight",kR="ArrowDown";class TR extends nR{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return hR(t)&&dR(t)},this.condition_=void 0!==t.condition?t.condition:this.defaultCondition_,this.duration_=void 0!==t.duration?t.duration:100,this.pixelDelta_=void 0!==t.pixelDelta?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Qx){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&(i==kR||i==ER||i==CR||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==kR?a=-s:i==ER?o=-s:i==CR?o=s:a=s;const l=[o,a];ZE(l,r.getRotation()),function(t,e,n){const i=t.getCenterInternal();if(i){const r=[i[0]+e[0],i[1]+e[1]];t.animateInternal({duration:void 0!==n?n:250,easing:nC,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class RR extends nR{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return NS?e.metaKey:e.ctrlKey}(t)&&dR(t)},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:100}handleEvent(t){let e=!1;if(t.type==Qx||t.type==tS){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&("+"===i||"-"===i)){const r=t.map,s="+"===i?this.delta_:-this.delta_;iR(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class PR extends nR{constructor(t){super(t=t||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==t.maxDelta?t.maxDelta:1,this.duration_=void 0!==t.duration?t.duration:250,this.timeout_=void 0!==t.timeout?t.timeout:80,this.useAnchor_=void 0===t.useAnchor||t.useAnchor,this.constrainResolution_=void 0!==t.constrainResolution&&t.constrainResolution;const e=t.condition?t.condition:lR;this.condition_=t.onFocusOnly?sR(aR,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t))return!0;if(t.type!==nS)return!0;const e=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let i=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:i*=40;break;case WheelEvent.DOM_DELTA_PAGE:i*=300}if(0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const s=e.getView();if("trackpad"===this.mode_&&!s.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(s.getAnimating()&&s.cancelAnimations(),s.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),s.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const o=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,e),o),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let n=-nE(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),iR(e,n,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}}class MR extends gR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==t.threshold?t.threshold:.3,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){let e=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const t=r-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=r;const s=t.map,o=s.getView();o.getConstraints().rotation!==CT&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(mR(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return!(this.targetPointers.length<2&&(t.map.getView().endInteraction(this.duration_),1))}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}class IR extends gR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),super(e),this.anchor_=null,this.duration_=void 0!==t.duration?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,s=n.clientY-i.clientY,o=Math.sqrt(r*r+s*s);void 0!==this.lastDistance_&&(e=this.lastDistance_/o),this.lastDistance_=o;const a=t.map,l=a.getView();1!=e&&(this.lastScaleDelta_=e),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(mR(this.targetPointers))),a.render(),l.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const e=t.map.getView(),n=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const OR="opacity",AR="visible",FR="extent",LR="zIndex",NR="maxResolution",DR="minResolution",jR="maxZoom",zR="minZoom",UR="source";class BR extends TS{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);"object"==typeof t.properties&&(delete e.properties,Object.assign(e,t.properties)),e[OR]=void 0!==t.opacity?t.opacity:1,ZS("number"==typeof e[OR],"Layer opacity must be a number"),e[AR]=void 0===t.visible||t.visible,e[LR]=t.zIndex,e[NR]=void 0!==t.maxResolution?t.maxResolution:1/0,e[DR]=void 0!==t.minResolution?t.minResolution:0,e[zR]=void 0!==t.minZoom?t.minZoom:-1/0,e[jR]=void 0!==t.maxZoom?t.maxZoom:1/0,this.className_=void 0!==e.className?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:void 0===t||t},n=this.getZIndex();return e.opacity=nE(Math.round(100*this.getOpacity())/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=void 0!==n||e.managed?n:1/0,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return SS()}getLayerStatesArray(t){return SS()}getExtent(){return this.get(FR)}getMaxResolution(){return this.get(NR)}getMinResolution(){return this.get(DR)}getMinZoom(){return this.get(zR)}getMaxZoom(){return this.get(jR)}getOpacity(){return this.get(OR)}getSourceState(){return SS()}getVisible(){return this.get(AR)}getZIndex(){return this.get(LR)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(FR,t)}setMaxResolution(t){this.set(NR,t)}setMinResolution(t){this.set(DR,t)}setMaxZoom(t){this.set(jR,t)}setMinZoom(t){this.set(zR,t)}setOpacity(t){ZS("number"==typeof t,"Layer opacity must be a number"),this.set(OR,t)}setVisible(t){this.set(AR,t)}setZIndex(t){this.set(LR,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const qR="addlayer",$R="removelayer";class GR extends yS{constructor(t,e){super(t),this.layer=e}}const VR="layers";class WR extends BR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let n=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(VR,this.handleLayersChanged_),n?Array.isArray(n)?n=new MS(n.slice(),{unique:!0}):ZS("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new MS(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(wS),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(vS(t,Hx,this.handleLayersAdd_,this),vS(t,Kx,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(wS);gS(this.listenerKeys_);const e=t.getArray();for(let n=0,i=e.length;n{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}isVisible(t){let e;const n=this.getMapInternal();let i;if(!t&&n&&(t=n.getView()),e=t instanceof TT?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&n&&(e.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),e.layerStatesArray){if(i=e.layerStatesArray.find(t=>t.layer===this),!i)return!1}else i=this.getLayerState();const r=this.getExtent();return JR(i,e.viewState)&&(!r||VE(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof TT?t.getViewStateAndExtent():t);return Array.isArray(n)||(n=[n]),n}render(t,e){const n=this.getRenderer();return n.prepareFrame(t)?(this.rendered=!0,n.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set("map",t)}getMapInternal(){return this.get("map")}setMap(t){this.mapPrecomposeKey_&&(wS(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(wS(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=vS(t,XR,this.handlePrecompose_,this),this.mapRenderKey_=vS(this,Yx,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);ZS(!e.some(t=>t.layer===n.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(n)}setSource(t){this.set(UR,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}}function JR(t,e){if(!t.visible)return!1;const n=e.resolution;if(n=t.maxResolution)return!1;const i=e.zoom;return i>t.minZoom&&i<=t.maxZoom}function QR(t,e,n=0,i=t.length-1,r=eP){for(;i>n;){if(i-n>600){const s=i-n+1,o=e-n+1,a=Math.log(s),l=.5*Math.exp(2*a/3),u=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);QR(t,e,Math.max(n,Math.floor(e-o*l/s+u)),Math.min(i,Math.floor(e+(s-o)*l/s+u)),r)}const s=t[e];let o=n,a=i;for(tP(t,n,e),r(t[i],s)>0&&tP(t,n,i);o0;)a--}0===r(t[n],s)?tP(t,n,a):(a++,tP(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function tP(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function eP(t,e){return te?1:0}let nP=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const n=[];if(!fP(t,e))return n;const i=this.toBBox,r=[];for(;e;){for(let s=0;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(i,r,e)}_split(t,e){const n=t[e],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i),o=gP(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,rP(n,this.toBBox),rP(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=gP([t,e]),this.data.height=t.height+1,this.data.leaf=!1,rP(this.data,this.toBBox)}_chooseSplitIndex(t,e,n){let i,r=1/0,s=1/0;for(let o=e;o<=n-e;o++){const e=sP(t,0,o,this.toBBox),a=sP(t,o,n,this.toBBox),l=dP(e,a),u=uP(e)+uP(a);l=e;l--){const e=t.children[l];oP(o,t.leaf?r(e):e),a+=hP(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)oP(e[i],t)}_condense(t){for(let e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children,e.splice(e.indexOf(t[n]),1)):this.clear():rP(t[n],this.toBBox)}};function iP(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function gP(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function mP(t,e,n,i,r){const s=[e,n];for(;s.length;){if((n=s.pop())-(e=s.pop())<=i)continue;const o=e+Math.ceil((n-e)/i/2)*i;QR(t,o,e,n,r),s.push(e,o,o,n)}}const yP=[NaN,NaN,NaN,0];let _P;const vP=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,bP=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,wP=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,xP=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function SP(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function EP(t){throw new Error('failed to parse "'+t+'" as color')}function CP(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(bP)||t.match(vP)||t.match(wP);if(e){const t=e[4],n=100/255;return[nE(SP(e[1],n)+.5|0,0,255),nE(SP(e[2],n)+.5|0,0,255),nE(SP(e[3],n)+.5|0,0,255),void 0!==t?nE(SP(t,100),0,1):1]}EP(t)}if(t.startsWith("#")){if(xP.test(t)){const e=t.substring(1),n=e.length<=4?1:2,i=[0,0,0,255];for(let t=0,r=e.length;t.0031308?269.025*Math.pow(t,1/2.4)-14.025:3294.6*t}function MP(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function IP(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function OP(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function AP(t){const e=IP(t[0]),n=IP(t[1]),i=IP(t[2]),r=OP(.222488403*e+.716873169*n+.06060791*i),s=500*(OP(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-OP(.016863605*e+.117638439*n+.865350722*i)),a=Math.atan2(o,s)*(180/Math.PI);return[116*r-16,Math.sqrt(s*s+o*o),a<0?a+360:a,t[3]]}function FP(t){if("none"===t)return yP;if(kP.hasOwnProperty(t))return kP[t];if(TP>=1024){let t=0;for(const e in kP)3&t++||(delete kP[e],--TP)}const e=CP(t);4!==e.length&&EP(t);for(const n of e)isNaN(n)&&EP(t);return kP[t]=e,++TP,e}function LP(t){return Array.isArray(t)?t:FP(t)}function NP(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let n=t[1];n!=(0|n)&&(n=n+.5|0);let i=t[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+e+","+n+","+i+","+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+")"}function DP(t){return t[0]>0&&t[1]>0}function jP(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let zP=0;const UP=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function tI(t,e,n){const i=t.length-1,r=new Array(i);for(let s=0;s{for(let e=0;e{for(let r=0;r{const i=t.args;let r=n.properties[e];for(let t=1,e=i.length;tt.variables[e];case KM:return n=>{const i=t.args;if(!(e in n.properties))return!1;let r=n.properties[e];for(let t=1,e=i.length;tt.featureId;case sM:return t=>t.geometryType;case rM:{const e=t.args.map(t=>oI(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case hM:return t=>t.resolution;case aM:case lM:case LM:case zM:case"!":return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{for(let e=0;e{for(let e=0;e{const e=i[0](t),n=i[1](t),r=i[2](t);return e>=n&&e<=r};case zM:return t=>{const e=i[0](t);for(let r=1;r!i[0](t);default:throw new Error(`Unsupported logical operator ${e}`)}}(t);case pM:case fM:case"<":case _M:case">":case mM:return function(t){const e=t.operator,n=oI(t.args[0]),i=oI(t.args[1]);switch(e){case pM:return t=>n(t)===i(t);case fM:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case mM:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case SM:case"%":case"^":case kM:case TM:case RM:case PM:case MM:case IM:case OM:case AM:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{let e=1;for(let r=0;ri[0](t)/i[1](t);case"+":return t=>{let e=0;for(let r=0;ri[0](t)-i[1](t);case SM:return t=>{const e=i[0](t),n=i[1](t);if(er?r:e};case"%":return t=>i[0](t)%i[1](t);case"^":return t=>Math.pow(i[0](t),i[1](t));case kM:return t=>Math.abs(i[0](t));case TM:return t=>Math.floor(i[0](t));case RM:return t=>Math.ceil(i[0](t));case PM:return t=>Math.round(i[0](t));case MM:return t=>Math.sin(i[0](t));case IM:return t=>Math.cos(i[0](t));case OM:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case AM:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case jM:return function(t){const e=t.args.length,n=new Array(e);for(let i=0;i{for(let i=0;i{const i=n[0](t);for(let r=1;r{const i=n[0](t),r=n[1](t);let s,o;for(let a=2;a=r)return 2===a?l:u?lI(i,r,s,o,e,l):aI(i,r,s,o,e,l);s=e,o=l}return o}}(t);case HM:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{const n=i[0](e);return t.args[0].type===$P?NP(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function aI(t,e,n,i,r,s){const o=r-n;if(0===o)return i;const a=e-n;return i+(1===t?a/o:(Math.pow(t,a)-1)/(Math.pow(t,o)-1))*(s-i)}function lI(t,e,n,i,r,s){if(0===r-n)return i;const o=AP(i),a=AP(s);let l=a[2]-o[2];return l>180?l-=360:l<-180&&(l+=360),function(t){const e=(t[0]+16)/116,n=t[1],i=t[2]*Math.PI/180,r=MP(e),s=MP(e+n/500*Math.cos(i)),o=MP(e-n/200*Math.sin(i)),a=PP(3.021973625*s-1.617392459*r-.404875592*o),l=PP(-.943766287*s+1.916279586*r+.027607165*o),u=PP(.069407491*s-.22898585*r+1.159737864*o);return[nE(a+.5|0,0,255),nE(l+.5|0,0,255),nE(u+.5|0,0,255),t[3]]}([aI(t,e,n,o[0],r,a[0]),aI(t,e,n,o[1],r,a[1]),o[2]+aI(t,e,n,0,r,l),aI(t,e,n,i[3],r,s[3])])}class uI extends _S{constructor(t,e,n,i){super(),this.extent=t,this.pixelRatio_=n,this.resolution=e,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Yx)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const t=this.getResolution(),e=Array.isArray(t)?t[0]:t;fS(()=>this.loader(this.getExtent(),e,this.getPixelRatio())).then(t=>{"image"in t&&(this.image_=t.image),"extent"in t&&(this.extent=t.extent),"resolution"in t&&(this.resolution=t.resolution),"pixelRatio"in t&&(this.pixelRatio_=t.pixelRatio),(t instanceof HTMLImageElement||US&&t instanceof ImageBitmap||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)&&(this.image_=t),this.state=2}).catch(t=>{this.state=3,console.error(t)}).finally(()=>this.changed())}}setImage(t){this.image_=t}setResolution(t){this.resolution=t}}function hI(t,e,n){return e+":"+t+":"+(n?LP(n):"null")}const cI=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const n=this.cache_[e];3&t++||n.hasListener()||(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,n){const i=hI(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=hI(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=hI(t,e,n),o=s in this.cache_;this.cache_[s]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then(()=>{this.patternCache_[s]=BT().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=BT().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let dI=null;class pI extends _S{constructor(t,e,n,i,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){dI||(dI=zT(1,1,void 0,{willReadFrequently:!0})),dI.drawImage(this.image_,0,0);try{dI.getImageData(0,0,1,1),this.tainted_=!1}catch{dI=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Yx)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],n=zT(t,e);n.fillRect(0,0,t,e),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(t=this.image_,e=this.src_,e&&(t.src=e),t.src&&zS?new Promise((e,n)=>t.decode().then(()=>e(t)).catch(i=>t.complete&&t.width?e(t):n(i))):function(t){return new Promise((e,n)=>{function i(){s(),e(t)}function r(){s(),n(new Error("Image load error"))}function s(){t.removeEventListener("load",i),t.removeEventListener("error",r)}t.addEventListener("load",i),t.addEventListener("error",r)})}(t)).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var t,e}replaceColor_(t){if(!this.color_||this.canvas_[t]||2!==this.imageState_)return;const e=this.image_,n=zT(Math.ceil(e.width*t),Math.ceil(e.height*t)),i=n.canvas;var r;n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(r=this.color_)?r:NP(r),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(2===this.imageState_||3===this.imageState_)t();else{const e=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Yx,e),t())};this.addEventListener(Yx,e)}})),this.ready_}}function fI(t,e,n,i,r,s){let o=void 0===e?void 0:cI.get(e,n,r);return o||(o=new pI(t,t&&"src"in t?t.src||void 0:e,n,i,r),cI.set(e,n,r,o,s)),s&&o&&!cI.getPattern(e,n,r)&&cI.set(e,n,r,o,s),o}function gI(t){return t?Array.isArray(t)?NP(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return cI.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=cI.getPattern(e,void 0,t.color);if(n)return n;const i=cI.get(t.src,"anonymous",null);if(2!==i.getImageState())return null;const r=zT(t.size[0],t.size[1]);return r.drawImage(i.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),fI(r.canvas,e,void 0,2,t.color,!0),cI.getPattern(e,void 0,t.color)}(t):t:null}const mI="10px sans-serif",yI="#000",_I="round",vI=[],bI="round",wI="#000",xI="center",SI="middle",EI=[0,0,0,0],CI=new TS;let kI,TI=null;const RI={},PI=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function MI(t,e,n){return`${t} ${e} 16px "${n}"`}const II=function(){const t=100;let e,n;async function i(t){await n.ready;const e=await n.load(t);if(0===e.length)return!1;const i=jT(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=DT[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=CI.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,FI(t,n)),0);return n[e]=i,i}class NI{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=jP(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new NI({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return SS()}getImage(t){return SS()}getHitDetectionImage(){return SS()}getPixelRatio(t){return 1}getImageState(){return SS()}getImageSize(){return SS()}getOrigin(){return SS()}getSize(){return SS()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=jP(t)}listenImageChange(t){SS()}load(){SS()}unlistenImageChange(t){SS()}ready(){return Promise.resolve()}}class DI extends NI{constructor(t){super({opacity:1,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,rotation:void 0!==t.rotation?t.rotation:0,scale:void 0!==t.scale?t.scale:1,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==t.fill?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=void 0!==t.angle?t.angle:0,this.stroke_=void 0!==t.stroke?t.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const t=this.getScale(),e=new DI({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_,e=this.getDisplacement(),n=this.getScaleArray();return[t[0]/2-e[0]/n[0],t[1]/2+e[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){const e=this.fill_?.getKey(),n=`${t},${this.angle_},${this.radius},${this.radius2_},${this.points_},${e}`+Object.values(this.renderOptions_).join(",");let i=cI.get(n,null,null)?.getImage(1);if(!i){const e=this.renderOptions_,r=Math.ceil(e.size*t),s=zT(r,r);this.draw_(e,s,t),i=s.canvas,cI.set(n,null,null,new pI(i,void 0,null,2,null))}return i}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,n){if(0===e||this.points_===1/0||"bevel"!==t&&"miter"!==t)return e;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i{this.patternImage_=null}),0===e.getImageState()&&e.load(),1===e.getImageState()&&(this.patternImage_=e)}this.color_=t}getKey(){const t=this.getColor();return t?t instanceof CanvasPattern||t instanceof CanvasGradient?CS(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:LP(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function UI(t,e,n,i){return void 0!==n&&void 0!==i?[n/t,i/e]:void 0!==n?n/t:void 0!==i?i/e:1}class BI extends NI{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,n=void 0!==t.rotation?t.rotation:0,i=void 0!==t.scale?t.scale:1,r=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:n,scale:i,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:r,declutterMode:t.declutterMode}),this.anchor_=void 0!==t.anchor?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==t.anchorOrigin?t.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==t.anchorXUnits?t.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==t.anchorYUnits?t.anchorYUnits:"fraction",this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null;const s=void 0!==t.img?t.img:null;let o,a=t.src;if(ZS(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||CS(s)),ZS(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),ZS(!((void 0!==t.width||void 0!==t.height)&&void 0!==t.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==t.src?o=0:void 0!==s&&(o="complete"in s?s.complete?s.src?2:0:1:2),this.color_=void 0!==t.color?LP(t.color):null,this.iconImage_=fI(s,a,this.crossOrigin_,o,this.color_),this.offset_=void 0!==t.offset?t.offset:[0,0],this.offsetOrigin_=void 0!==t.offsetOrigin?t.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==t.size?t.size:null,this.initialOptions_,void 0!==t.width||void 0!==t.height){let e,n;if(t.size)[e,n]=t.size;else{const i=this.getImage(1);if(i.width&&i.height)e=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(UI(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(UI(e,n,t.width,t.height))}}clone(){let t,e,n;return this.initialOptions_?(e=this.initialOptions_.width,n=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new BI({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const e=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!e)return null;t=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(t[0]*=e[0]),"fraction"==this.anchorYUnits_&&(t[1]*=e[1])}if("top-left"!=this.anchorOrigin_){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[0]=-t[0]+e[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),n=this.getScaleArray();return[t[0]-e[0]/n[0],t[1]+e[1]/n[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if("top-left"!=this.offsetOrigin_){const e=this.getSize(),n=this.iconImage_.getSize();if(!e||!n)return null;t=t.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[0]=n[0]-e[0]-t[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[1]=n[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=fI(null,t,this.crossOrigin_,0,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();return this.size_?this.size_[0]*t[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*t[0]:void 0}getHeight(){const t=this.getScaleArray();return this.size_?this.size_[1]*t[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*t[1]:void 0}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Yx,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Yx,t)}ready(){return this.iconImage_.ready()}}class qI{constructor(t){t=t||{},this.color_=void 0!==t.color?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=void 0!==t.lineDash?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new qI({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}class $I{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=WI,void 0!==t.geometry&&this.setGeometry(t.geometry),this.fill_=void 0!==t.fill?t.fill:null,this.image_=void 0!==t.image?t.image:null,this.renderer_=void 0!==t.renderer?t.renderer:null,this.hitDetectionRenderer_=void 0!==t.hitDetectionRenderer?t.hitDetectionRenderer:null,this.stroke_=void 0!==t.stroke?t.stroke:null,this.text_=void 0!==t.text?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&"object"==typeof t&&(t=t.clone()),new $I({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=WI,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let GI=null;function VI(){if(!GI){const t=new zI({color:"rgba(255,255,255,0.4)"}),e=new qI({color:"#3399CC",width:1.25});GI=[new $I({image:new jI({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return GI}function WI(t){return t.getGeometry()}let HI=class t{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.keepUpright_=t.keepUpright,this.scale_=t.scale,this.scaleArray_=jP(void 0!==t.scale?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=void 0!==t.fill?t.fill:new zI({color:"#333"}),this.maxAngle_=void 0!==t.maxAngle?t.maxAngle:Math.PI/4,this.placement_=void 0!==t.placement?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=void 0!==t.stroke?t.stroke:null,this.offsetX_=void 0!==t.offsetX?t.offsetX:0,this.offsetY_=void 0!==t.offsetY?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=void 0===t.padding?null:t.padding,this.declutterMode_=t.declutterMode}clone(){const e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof zI?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setKeepUpright(t){this.keepUpright_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=jP(void 0!==t?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}};function KI(){return!0}function XI(t){const e=tM(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=iO(t,e+"fill-color",n)}if(!i)return null;const r=new zI;return function(t){const e=i(t);return e===yP?null:(r.setColor(e),r)}}function QI(t,e,n){const i=tO(t,e+"stroke-width",n),r=iO(t,e+"stroke-color",n);if(!i&&!r)return null;const s=eO(t,e+"stroke-line-cap",n),o=eO(t,e+"stroke-line-join",n),a=rO(t,e+"stroke-line-dash",n),l=tO(t,e+"stroke-line-dash-offset",n),u=tO(t,e+"stroke-miter-limit",n),h=new qI;return function(t){if(r){const e=r(t);if(e===yP)return null;h.setColor(e)}if(i&&h.setWidth(i(t)),s){const e=s(t);if("butt"!==e&&"round"!==e&&"square"!==e)throw new Error("Expected butt, round, or square line cap");h.setLineCap(e)}if(o){const e=o(t);if("bevel"!==e&&"round"!==e&&"miter"!==e)throw new Error("Expected bevel, round, or miter line join");h.setLineJoin(e)}return a&&h.setLineDash(a(t)),l&&h.setLineDashOffset(l(t)),u&&h.setMiterLimit(u(t)),h}}function tO(t,e,n){if(!(e in t))return;const i=sI(t[e],BP,n);return function(t){return fO(i(t),e)}}function eO(t,e,n){if(!(e in t))return null;const i=sI(t[e],qP,n);return function(t){return pO(i(t),e)}}function nO(t,e,n){if(!(e in t))return null;const i=sI(t[e],UP,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function iO(t,e,n){if(!(e in t))return null;const i=sI(t[e],$P,n);return function(t){return gO(i(t),e)}}function rO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){return dO(i(t),e)}}function sO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){const n=dO(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function oO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){return mO(i(t),e)}}function aO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP|BP,n);return function(t){return function(t,e){return"number"==typeof t?t:mO(t,e)}(i(t),e)}}function lO(t,e){const n=t[e];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${e}`);return n}}function uO(t,e){const n=t[e];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${e}`);return n}}function hO(t,e){const n=t[e];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${e}`);return n}}function cO(t,e){const n=t[e];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${e}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${e}`);return n}}function dO(t,e){if(!Array.isArray(t))throw new Error(`Expected an array for ${e}`);const n=t.length;for(let i=0;i4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return n}function mO(t,e){const n=dO(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const yO="renderOrder";class _O extends ZR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=void 0!==t.renderBuffer?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=void 0!==t.updateWhileAnimating&&t.updateWhileAnimating,this.updateWhileInteracting_=void 0!==t.updateWhileInteracting&&t.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(yO)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){const n=this.getDeclutter();n in t.declutter==0&&(t.declutter[n]=new nP(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(yO,t)}setStyle(t){this.style_=void 0===t?VI:t;const e=function(t){if(void 0===t)return VI;if(!t)return null;if("function"==typeof t)return t;if(t instanceof $I)return t;if(!Array.isArray(t))return YI([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof $I){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&JR(r,u)&&o.call(a,s)){const i=s.getRenderer(),o=s.getSource();if(i&&o){const s=o.getWrapX()?d:t,a=h.bind(null,r.managed);y[0]=s[0]+p[v][0],y[1]=s[1]+p[v][1],l=i.forEachFeatureAtCoordinate(y,e,n,a,m)}if(l)return l}}if(0===m.length)return;const _=1/m.length;return m.forEach((t,e)=>t.distanceSq+=e*_),m.sort((t,e)=>t.distanceSq-e.distanceSq),m.some(t=>l=t.callback(t.feature,t.layer,t.geometry)),l}hasFeatureAtCoordinate(t,e,n,i,r,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,n,i,hS,this,r,s)}getMap(){return this.map_}renderFrame(t){SS()}scheduleExpireIconCache(t){cI.canExpireCache()&&t.postRenderFunctions.push(wO)}}function wO(){cI.expire()}class xO extends bO{constructor(t){super(t),this.fontChangeListenerKey_=vS(CI,Xx,t.redrawText,t),this.element_=jS?HT():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=OT+" ol-layers";const n=t.getViewport();n&&n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){const n=this.getMap();if(n.hasListener(t)){const i=new vO(t,void 0,e);n.dispatchEvent(i)}}disposeInternal(){wS(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(t),this.dispatchRenderEvent(XR,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof _O&&t.layer.getDeclutter())&&(t.declutter={});const n=t.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,a=e.length;o0)&&(t.fillStyle=i,t.fillRect(0,0,s.width,s.height)),KT(n)&&n.width>0){const i=e.style.opacity||n.style.opacity;t.globalAlpha=""===i?1:Number(i);const r=n.style.transform;if(r)t.setTransform(...Pk(r));else{const e=parseFloat(n.style.width)/n.width,i=parseFloat(n.style.height)/n.height;t.setTransform(e,0,0,i,0,0)}t.drawImage(n,0,0)}}t.globalAlpha=1,t.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent("postcompose",t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let n=e.length-1;n>=0;--n){const i=e[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(t,i)}e.forEach(e=>e.layer.renderDeferred(t))}}}function SO(t){t instanceof ZR?t.setMapInternal(null):t instanceof WR&&t.getLayers().forEach(SO)}function EO(t,e){if(t instanceof ZR)t.setMapInternal(e);else if(t instanceof WR){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(jS?new MS:QT()),this.interactions=e.interactions||(jS?new MS:function(t){t=t||{};const e=new MS,n=new tR(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new _R),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new rR({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new yR({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new MR),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new IR({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new TR),e.push(new RR({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new PR({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new SR({duration:t.zoomDuration})),e}({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new tE(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(HS,this.handleLayerGroupChanged_),this.addChangeListener(YS,this.handleViewChanged_),this.addChangeListener(KS,this.handleSizeChanged_),this.addChangeListener(XS,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof TT||t.view.then(function(t){n.setView(new TT(t))}),this.controls.addEventListener(Hx,t=>{t.element.setMap(this)}),this.controls.addEventListener(Kx,t=>{t.element.setMap(null)}),this.interactions.addEventListener(Hx,t=>{t.element.setMap(this)}),this.interactions.addEventListener(Kx,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(Hx,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener(Kx,t=>{const e=t.element.getId();void 0!==e&&delete this.overlayIdIndex_[e.toString()],t.element.setMap(null)}),this.controls.forEach(t=>{t.setMap(this)}),this.interactions.forEach(t=>{t.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){EO(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();void 0!==e&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(t),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,s=void 0!==n.layerFilter?n.layerFilter:hS,o=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,o,e,null,s,null)}getFeaturesAtPixel(t,e){const n=[];return this.forEachFeatureAtPixel(t,function(t){n.push(t)},e),n}getAllLayers(){const t=[];return function e(n){n.forEach(function(n){n instanceof WR?e(n.getLayers()):t.push(n)})}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(t),i=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:hS,r=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,s,i,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const e=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=e.width/n[0],r=e.height/n[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/i,(s.clientY-e.top)/r]}getTarget(){return this.get(XS)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return fk(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?Ek(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return void 0!==e?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(HS)}setLayers(t){const e=this.getLayerGroup();if(t instanceof MS)return void e.setLayers(t);const n=e.getLayers();n.clear(),n.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,n=t.length;e=0;n--){const i=e[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(t)||t.propagationStopped))break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,i=n;if(t){const e=t.viewHints;if(e[0]||e[1]){const e=Date.now()-t.time>8;n=e?0:8,i=e?0:2}}e.getTilesLoading(){this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new GR("removelayer",e)),this.set(HS,t)}setSize(t){this.set(KS,t)}setTarget(t){this.set(XS,t)}setView(t){if(!t||t instanceof TT)return void this.set(YS,t);this.set(YS,new TT);const e=this;t.then(function(t){e.setView(new TT(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(KT(t))n=t.width,i=t.height;else{const e=getComputedStyle(t);n=t.offsetWidth-parseFloat(e.borderLeftWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderRightWidth),i=t.offsetHeight-parseFloat(e.borderTopWidth)-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)-parseFloat(e.borderBottomWidth)}isNaN(n)||isNaN(i)||(e=[Math.max(0,n),Math.max(0,i)],!DP(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&oC("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&uS(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};const kO="element",TO="map",RO="offset",PO="position",MO="positioning";class IO extends TS{constructor(t){super(),this.on,this.once,this.un,this.options=t,this.id=t.id,this.insertFirst=void 0===t.insertFirst||t.insertFirst,this.stopEvent=void 0===t.stopEvent||t.stopEvent,this.element=document.createElement("div"),this.element.className=void 0!==t.className?t.className:"ol-overlay-container ol-selectable",this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=!0===t.autoPan?{}:t.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(kO,this.handleElementChanged),this.addChangeListener(TO,this.handleMapChanged),this.addChangeListener(RO,this.handleOffsetChanged),this.addChangeListener(PO,this.handlePositionChanged),this.addChangeListener(MO,this.handlePositioningChanged),void 0!==t.element&&this.setElement(t.element),this.setOffset(void 0!==t.offset?t.offset:[0,0]),this.setPositioning(t.positioning||"top-left"),void 0!==t.position&&this.setPosition(t.position)}getElement(){return this.get(kO)}getId(){return this.id}getMap(){return this.get(TO)||null}getOffset(){return this.get(RO)}getPosition(){return this.get(PO)}getPositioning(){return this.get(MO)}handleElementChanged(){WT(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),wS(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=vS(t,GS,this.render,this),this.updatePixelPosition();const e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(t){this.set(kO,t)}setMap(t){this.set(TO,t)}setOffset(t){this.set(RO,t)}setPosition(t){this.set(PO,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(PO))return;const n=this.getRect(e.getTargetElement(),e.getSize()),i=this.getElement(),r=this.getRect(i,[$T(i),GT(i)]),s=void 0===(t=t||{}).margin?20:t.margin;if(!bE(n,r)){const i=r[0]-n[0],o=n[2]-r[2],a=r[1]-n[1],l=n[3]-r[3],u=[0,0];if(i<0?u[0]=i-s:o<0&&(u[0]=Math.abs(o)+s),a<0?u[1]=a-s:l<0&&(u[1]=Math.abs(l)+s),0!==u[0]||0!==u[1]){const n=e.getView().getCenterInternal(),i=e.getPixelFromCoordinateInternal(n);if(!i)return;const r=[i[0]+u[0],i[1]+u[1]],s=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(r),duration:s.duration,easing:s.easing})}}}getRect(t,e){const n=t.getBoundingClientRect(),i=n.left+window.pageXOffset,r=n.top+window.pageYOffset;return[i,r,i+e[0],r+e[1]]}setPositioning(t){this.set(MO,t)}setVisible(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)}updatePixelPosition(){const t=this.getMap(),e=this.getPosition();if(!t||!t.isRendered()||!e)return void this.setVisible(!1);const n=t.getPixelFromCoordinate(e),i=t.getSize();this.updateRenderedPosition(n,i)}updateRenderedPosition(t,e){const n=this.element.style,i=this.getOffset(),r=this.getPositioning();this.setVisible(!0);let s="0%",o="0%";"bottom-right"==r||"center-right"==r||"top-right"==r?s="-100%":"bottom-center"!=r&&"center-center"!=r&&"top-center"!=r||(s="-50%"),"bottom-left"==r||"bottom-center"==r||"bottom-right"==r?o="-100%":"center-left"!=r&&"center-center"!=r&&"center-right"!=r||(o="-50%");const a=`translate(${s}, ${o}) translate(${t[0]+i[0]}px, ${t[1]+i[1]}px)`;this.rendered.transform_!=a&&(this.rendered.transform_=a,n.transform=a)}getOptions(){return this.options}}class OO{drawCustom(t,e,n,i,r){}drawGeometry(t){}setStyle(t){}drawCircle(t,e,n){}drawFeature(t,e,n){}drawGeometryCollection(t,e,n){}drawLineString(t,e,n){}drawMultiLineString(t,e,n){}drawMultiPoint(t,e,n){}drawMultiPolygon(t,e,n){}drawPoint(t,e,n){}drawPolygon(t,e,n){}drawText(t,e,n){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const AO=11,FO=[8],LO=[12],NO=[1],DO=[3];class jO extends OO{constructor(t,e,n,i){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return 1==e?t:t.map(function(t){return t*e})}appendFlatPointCoordinates(t,e){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let s=r.length;for(let o=0,a=t.length;oa&&(this.instructions.push([4,a,u,t,n,Kk,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,Kk,r]));break;case"Point":l=t.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),u=this.coordinates.length,this.instructions.push([4,a,u,t,n,void 0,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,void 0,r])}this.endGeometry(e)}beginGeometry(t,e,n){this.beginGeometryInstruction1_=[0,e,0,t,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[0,e,0,t,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;let e;t.reverse();const n=t.length;let i,r,s=-1;for(e=0;ethis.maxLineWidth&&(this.maxLineWidth=e.lineWidth,this.bufferedMaxExtent_=null)}else e.strokeStyle=void 0,e.lineCap=void 0,e.lineDash=null,e.lineDashOffset=void 0,e.lineJoin=void 0,e.lineWidth=void 0,e.miterLimit=void 0;return e}setFillStrokeStyle(t,e){const n=this.state;this.fillStyleToState(t,n),this.strokeStyleToState(e,n)}createFill(t){const e=t.fillStyle,n=[10,e];return"string"!=typeof e&&n.push(t.fillPatternScale),n}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[AO,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,t.lineDash?this.applyPixelRatio(t.lineDash):null,t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const n=t.fillStyle;"string"==typeof n&&t.currentFillStyle==n||(this.instructions.push(e.call(this,t)),t.currentFillStyle=n)}updateStrokeStyle(t,e){const n=t.strokeStyle,i=t.lineCap,r=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=n||t.currentLineCap!=i||r!=t.currentLineDash&&!uS(t.currentLineDash,r)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(e.call(this,t),t.currentStrokeStyle=n,t.currentLineCap=i,t.currentLineDash=r,t.currentLineDashOffset=s,t.currentLineJoin=o,t.currentLineWidth=a,t.currentMiterLimit=l)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[7,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=yE(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;mE(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class zO extends jO{constructor(t,e,n,i){super(t,e,n,i)}drawFlatCoordinatess_(t,e,n,i){const r=this.state,s=void 0!==r.fillStyle,o=void 0!==r.strokeStyle,a=n.length;this.instructions.push(NO),this.hitDetectionInstructions.push(NO);for(let l=0;l=t){const e=(t-a+c)/c,d=lE(n,u,e),p=lE(i,h,e);l.push(d,p),s.push(l),l=[d,p],a==t&&(o+=r),a=0}else if(a0&&s.push(l),s}function BO(t,e,n,i,r){let s,o,a,l,u,h,c,d,p,f,g=n,m=n,y=0,_=0,v=n;for(o=n;ot&&(_>y&&(y=_,g=v,m=o),_=0,v=o-r)),a=l,c=p,d=f),u=n,h=i}return _+=l,_>y?[v,o]:[g,m]}const qO={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},$O={Circle:zO,Default:jO,Image:class extends jO{constructor(t,e,n,i){super(t,e,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e,n){if(!this.image_||this.maxExtent&&!vE(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=t.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(i,r);this.instructions.push([6,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([6,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e,n){if(!this.image_)return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=[];for(let a=0,l=i.length;a{const i=o[2*(t+n)]===u[n*h]&&o[2*(t+n)+1]===u[n*h+1];return i||--t,i})}this.saveTextStates_();const c=s.backgroundFill?this.createFill(this.fillStyleToState(s.backgroundFill)):null,d=s.backgroundStroke?this.createStroke(this.strokeStyleToState(s.backgroundStroke)):null;this.beginGeometry(t,e,n);let p=s.padding;if(p!=EI&&(s.scale[0]<0||s.scale[1]<0)){let t=s.padding[0],e=s.padding[1],n=s.padding[2],i=s.padding[3];s.scale[0]<0&&(e=-e,i=-i),s.scale[1]<0&&(t=-t,n=-n),p=[t,e,n,i]}const f=this.pixelRatio;this.instructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,p==EI?EI:p.map(function(t){return t*f}),c,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=c?c.slice(0):null;m&&(m[1]=yI),this.hitDetectionInstructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[g,g],NaN,this.declutterMode_,this.declutterImageWithText_,p,m,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?yI:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(e)}else{if(!VE(this.maxExtent,t.getExtent()))return;let i;if(u=t.getFlatCoordinates(),"LineString"==l)i=[u.length];else if("MultiLineString"==l)i=t.getEnds();else if("Polygon"==l)i=t.getEnds().slice(0,1);else if("MultiPolygon"==l){const e=t.getEndss();i=[];for(let t=0,n=e.length;tt[2]}else R=w>k;const P=Math.PI,M=[],I=S+i===e;let O;if(y=0,_=E,p=t[e=S],f=t[e+1],I){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(k+w)/2,e=(T+x)/2;return M[0]=[t,e,(C-s)/2,O,r],M}for(let A=0,F=(r=r.replace(/\n/g," ")).length;A0?-P:P),void 0!==O){let e=t-O;if(e+=e>P?-2*P:e<-P?2*P:0,Math.abs(e)>o)return null}O=t;const c=A;let d=0;for(;A{if("function"==typeof BT()[e])return this.push_(e),this.pushMethodArgs_},set:(t,e,n)=>(this.push_(e,n),!0)})}push_(...t){const e=this.instructions_,n=this.zIndex+this.offset_;e[n]||(e[n]=[]),e[n].push(...t)}pushMethodArgs_=(...t)=>(this.push_(t),this);pushFunction(t){this.push_(t)}getContext(){return this.context_}draw(t){this.instructions_.forEach(e=>{for(let n=0,i=e.length;n0&&t.push("\n",""),t.push(e,""),t}function iA(t,e,n){return n%2==0&&(t+=e),t}class rA{constructor(t,e,n,i,r){this.overlaps=n,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new HO:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,n,i){const r=t+e+n+i;if(this.labels_[r])return this.labels_[r];const s=i?this.strokeStates[i]:null,o=n?this.fillStates[n]:null,a=this.textStates[e],l=this.pixelRatio,u=[a.scale[0]*l,a.scale[1]*l],h=a.justify?qO[a.justify]:eA(Array.isArray(t)?t[0]:t,a.textAlign||xI),c=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce(nA,[]),{width:p,height:f,widths:g,heights:m,lineWidths:y}=function(t,e){const n=[],i=[],r=[];let s=0,o=0,a=0,l=0;for(let u=0,h=e.length;u<=h;u+=2){const c=e[u];if("\n"===c||u===h){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[u+1]||t.font,p=FI(d,c);n.push(p),o+=p;const f=OI(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+c,v=[],b=(_+2)*u[0],w=(f+c)*u[1],x={width:b<0?Math.floor(b):Math.ceil(b),height:w<0?Math.floor(w):Math.ceil(w),contextInstructions:v};1==u[0]&&1==u[1]||v.push("scale",u),i&&(v.push("strokeStyle",s.strokeStyle),v.push("lineWidth",c),v.push("lineCap",s.lineCap),v.push("lineJoin",s.lineJoin),v.push("miterLimit",s.miterLimit),v.push("setLineDash",[s.lineDash]),v.push("lineDashOffset",s.lineDashOffset)),n&&v.push("fillStyle",o.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const S=.5-h;let E=h*_+S*c;const C=[],k=[];let T,R=0,P=0,M=0,I=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+u>e?e-u:s,b=p[3]+_*c[0]+p[1],w=p[0]+v*c[1]+p[2],x=m-p[3],S=y-p[0];let E;return(f||0!==h)&&(XO[0]=x,JO[0]=x,XO[1]=S,YO[1]=S,YO[0]=x+b,ZO[0]=YO[0],ZO[1]=S+w,JO[1]=ZO[1]),0!==h?(E=kk([1,0,0,1,0,0],n,i,1,1,h,-n,-i),Ek(E,XO),Ek(E,YO),Ek(E,ZO),Ek(E,JO),SE(Math.min(XO[0],YO[0],ZO[0],JO[0]),Math.min(XO[1],YO[1],ZO[1],JO[1]),Math.max(XO[0],YO[0],ZO[0],JO[0]),Math.max(XO[1],YO[1],ZO[1],JO[1]),KO)):SE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),KO),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:u,declutterBox:{minX:KO[0],minY:KO[1],maxX:KO[2],maxY:KO[3],value:g},canvasTransform:E,scale:c}}replayImageOrLabel_(t,e,n,i,r,s,o){const a=!(!s&&!o),l=i.declutterBox,u=o?o[2]*i.scale[0]/2:0;return l.minX-u<=e[0]&&l.maxX+u>=0&&l.minY-u<=e[1]&&l.maxY+u>=0&&(a&&this.replayTextBackground_(t,XO,YO,ZO,JO,s,o),function(t,e,n,i,r,s,o,a,l,u,h){t.save(),1!==n&&(void 0===t.globalAlpha?t.globalAlpha=t=>t.globalAlpha*=n:t.globalAlpha*=n),e&&t.transform.apply(t,e),i.contextInstructions?(t.translate(l,u),t.scale(h[0],h[1]),function(t,e){const n=t.contextInstructions;for(let i=0,r=n.length;iF&&(this.fill_(t),R=0),P>F&&(t.stroke(),P=0),R||P||(t.beginPath(),_=NaN,v=NaN),++d;break;case 2:T=n[1];const i=u[T],h=u[T+1],c=u[T+2]-i,p=u[T+3]-h,z=Math.sqrt(c*c+p*p);t.moveTo(i+z,h),t.arc(i,h,z,0,2*Math.PI,!0),++d;break;case 3:t.closePath(),++d;break;case 4:T=n[1],f=n[2];const U=n[3],B=n[4],q=n[5];A.geometry=U,A.feature=L,d in M||(M[d]=[]);const $=M[d];q?q(u,T,f,2,$):($[0]=u[T],$[1]=u[T+1],$.length=2),l&&(l.zIndex=n[6]),B($,A),++d;break;case 6:T=n[1],f=n[2],x=n[3],g=n[4],m=n[5];let G=n[6];const V=n[7],W=n[8],H=n[9],K=n[10];let X=n[11];const Y=n[12];let Z=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){S=n[19],E=n[20],C=n[21],k=n[22];const t=this.drawLabelWithPointPlacement_(S,E,C,k);x=t.label,n[3]=x;const e=n[23];g=(t.anchorX-e)*this.pixelRatio,n[4]=g;const i=n[24];m=(t.anchorY-i)*this.pixelRatio,n[5]=m,G=x.height,n[6]=G,Z=x.width,n[13]=Z}let Q,tt,et,nt;n.length>25&&(Q=n[25]),n.length>17?(tt=n[16],et=n[17],nt=n[18]):(tt=EI,et=null,nt=null),K&&O?X+=I:K||O||(X-=I);let it=0;for(;T!oA.includes(t));class lA{constructor(t,e,n,i,r,s,o){this.maxExtent_=t,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=e,this.renderBuffer_=s,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,o)}clip(t,e){const n=this.getClipCoords(e);t.beginPath(),t.moveTo(n[0],n[1]),t.lineTo(n[2],n[3]),t.lineTo(n[4],n[5]),t.lineTo(n[6],n[7]),t.clip()}createExecutors_(t,e){for(const n in t){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=t[n];for(const t in r){const n=r[t];i[t]=new rA(this.resolution_,this.pixelRatio_,this.overlaps_,n,e)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const n=this.executorsByZIndex_[e];for(let e=0,i=t.length;en)break;let a=i[o];a||(a=[],i[o]=a),a.push(4*((t+s)*e+(t+r))+3),s>0&&a.push(4*((t-s)*e+(t+r))+3),r>0&&(a.push(4*((t+s)*e+(t-r))+3),s>0&&a.push(4*((t-s)*e+(t-r))+3))}const r=[];for(let s=0,o=i.length;s0){if(!s||"none"===n||"Image"!==d&&"Text"!==d||s.includes(t)){const n=(c[l]-3)/4,s=i-n%o,a=i-(n/o|0),u=r(t,e,s*s+a*a);if(u)return u}u.clearRect(0,0,o,o);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let g,m,y,_,v;for(f.sort(rS),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=sA.length-1;m>=0;--m)if(d=sA[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(u,a,n,p,h),v))return v}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const n=e[0],i=e[1],r=e[2],s=e[3],o=[n,i,n,s,r,s,r,i];return Mk(o,0,8,2,t,o),o}isEmpty(){return mS(this.executorsByZIndex_)}execute(t,e,n,i,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?sS:rS),s=s||sA;const l=sA.length;for(let u=0,h=a.length;up.execute(t,e,n,i,r,o)):p.execute(c,e,n,i,r,o),d&&c.restore(),s){s.offset();const t=a[u]*l+sA.indexOf(h);this.deferredZIndexContexts_[t]||(this.deferredZIndexContexts_[t]=[]),this.deferredZIndexContexts_[t].push(s)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(rS);for(let n=0,i=e.length;n{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const uA={};class hA extends OO{constructor(t,e,n,i,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=i,this.transformRotation_=i?uE(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(t,e,n,i){if(!this.image_)return;const r=Mk(t,e,n,i,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,a=s.globalAlpha;1!=this.imageOpacity_&&(s.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let u=0,h=r.length;ut*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:bI,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:gI(t||wI)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const n=t.getPixelRatio(this.pixelRatio_),i=t.getAnchor(),r=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=e[1]*n,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const s=t.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/n,s[1]*this.pixelRatio_/n],this.imageWidth_=e[0]*n}setTextStyle(t){if(t){const e=t.getFill();if(e){const t=e.getColor();this.textFillState_={fillStyle:gI(t||yI)}}else this.textFillState_=null;const n=t.getStroke();if(n){const t=n.getColor(),e=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),s=n.getLineJoin(),o=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:_I,lineDash:i||vI,lineDashOffset:r||0,lineJoin:void 0!==s?s:bI,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:gI(t||wI)}}else this.textStrokeState_=null;const i=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),u=t.getText(),h=t.getTextAlign(),c=t.getTextBaseline();this.textState_={font:void 0!==i?i:mI,textAlign:void 0!==h?h:xI,textBaseline:void 0!==c?c:SI},this.text_=void 0!==u?Array.isArray(u)?u.reduce((t,e,n)=>t+(n%2?" ":e),""):u:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==s?this.pixelRatio_*s:0,this.textRotateWithView_=void 0!==o&&o,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}}const cA=.5;function dA(t,e,n,i,r,s,o,a,l){const u=r,h=zT(t[0]*cA,t[1]*cA);h.imageSmoothingEnabled=!1;const c=h.canvas,d=new hA(h,cA,r,null,o,a,l?uk(null,l):null),p=n.length,f=Math.floor(16777215/p),g={};for(let y=1;y<=p;++y){const t=n[y-1],e=t.getStyleFunction()||i;if(!e)continue;let r=e(t,s);if(!r)continue;Array.isArray(r)||(r=[r]);const o=(y*f).toString(16).padStart(7,"#00000");for(let n=0,i=r.length;n0;return c&&Promise.all(l).then(()=>r(null)),function(t,e,n,i,r,s,o){const a=n.getGeometryFunction()(e);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?vA(t,l,n,e,o):(0,fA[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),c}function vA(t,e,n,i,r){if("GeometryCollection"==e.getType()){const s=e.getGeometries();for(let e=0,o=s.length;ethis.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return SS()}getData(t){return null}prepareFrame(t){return SS()}renderFrame(t,e){return SS()}forEachFeatureAtCoordinate(t,e,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;2!==e.getState()&&3!==e.getState()||this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return 2!=e&&3!=e&&t.addEventListener(Yx,this.boundHandleImageChange_),0==e&&(t.load(),e=t.getState()),2==e}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}}const wA=[];let xA=null;class SA extends bA{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,n){let i;xA||(xA=zT(1,1,void 0,{willReadFrequently:!0})),xA.clearRect(0,0,1,1);try{xA.drawImage(t,e,n,1,1,0,0,1,1),i=xA.getImageData(0,0,1,1).data}catch{return xA=null,null}return i}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,n){const i=this.getLayer().getClassName();let r,s;if(t&&t.className===i&&(!n||t&&t.style.backgroundColor&&uS(LP(t.style.backgroundColor),LP(n)))){const e=t.firstElementChild;KT(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=Pk(t),i=Pk(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*Rk[r]))return!1;return!0}(s.canvas.style.transform,e)?(this.container=t,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=jS?HT():document.createElement("div"),r.className=i;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=zT();const e=s.canvas;r.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=r,this.context=s}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(t,e,n){const i=qE(n),r=$E(n),s=LE(n),o=FE(n);Ek(e.coordinateToPixelTransform,i),Ek(e.coordinateToPixelTransform,r),Ek(e.coordinateToPixelTransform,s),Ek(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;Ek(a,i),Ek(a,r),Ek(a,s),Ek(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(s[0]),Math.round(s[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.clip()}prepareContainer(t,e){const n=t.extent,i=t.viewState.resolution,r=t.viewState.rotation,s=t.pixelRatio,o=Math.round(GE(n)/i*s),a=Math.round(UE(n)/i*s);kk(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),Tk(this.inversePixelTransform,this.pixelTransform);const l="matrix("+this.pixelTransform.join(", ")+")";if(this.useContainer(e,l,this.getBackground(t)),!this.containerReused){const t=this.context.canvas;t.width!=o||t.height!=a?(t.width=o,t.height=a):this.context.clearRect(0,0,o,a),l!==t.style.transform&&(t.style.transform=l)}}dispatchRenderEvent_(t,e,n){const i=this.getLayer();if(i.hasListener(t)){const r=new vO(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(HR,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(KR,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new HO),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(HR,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(KR,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,u=i/e,h=-u,c=-t[0]+o,d=-t[1];return kk(this.tempTransform,a,l,u,h,-n,c,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class EA extends SA{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,n){const i=e.extent,r=e.viewState,s=r.center,o=r.resolution,a=r.projection,l=r.rotation,u=a.getExtent(),h=this.getLayer().getSource(),c=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round(GE(i)/o*d),y=Math.round(UE(i)/o*d),_=h.getWrapX()&&a.canWrapX(),v=_?GE(u):null,b=_?Math.ceil((i[2]-u[2])/v)+1:1;let w=_?Math.floor((i[0]-u[0])/v):0;do{let i=this.getRenderTransform(s,o,0,d,m,y,w*v);e.declutter&&(i=i.slice(0)),t.execute(g,[g.canvas.width,g.canvas.height],i,l,f,void 0===n?sA:n?oA:aA,n?c&&e.declutter[c]:void 0)}while(++w{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=this.frameState.size.slice(),e=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*cA,u=t[1]*cA;a.push(this.getRenderTransform(e,n,i,cA,l,u,0).slice());const h=o.getSource(),c=r.getExtent();if(h.getWrapX()&&r.canWrapX()&&!bE(c,s)){let t=s[0];const r=GE(c);let o,h=0;for(;tc[2];)++h,o=r*h,a.push(this.getRenderTransform(e,n,i,cA,l,u,o).slice()),t-=r}this.hitDetectionImageData_=dA(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,mA(n,this.renderedPixelRatio_),null)}e(pA(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,n,i,r){if(!this.replayGroup_)return;const s=e.viewState.resolution,o=e.viewState.rotation,a=this.getLayer(),l={},u=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,s,o,n,function(t,e,n){const s=CS(t),o=l[s];if(o){if(!0!==o&&nt.value):null)}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),n=e.getSource();if(!n)return!1;const i=t.viewHints[0],r=t.viewHints[1],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&i||!o&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,u=l.projection,h=l.resolution,c=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=gA);const g=l.center.slice(),m=mE(a,p*h),y=m.slice(),_=[m.slice()],v=u.getExtent();if(n.getWrapX()&&u.canWrapX()&&!bE(v,t.extent)){const t=GE(v),e=Math.max(GE(m)/2,t);m[0]=v[0]-e,m[2]=v[2]+e,JE(g,u);const n=KE(_[0],u);n[0]v[0]&&n[2]>v[2]&&_.push([n[0]-t,n[1],n[2]-t,n[3]])}if(this.ready&&this.renderedResolution_==h&&this.renderedRevision_==d&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!t.declutter&&bE(this.wrappedRenderedExtent_,m))return uS(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new GO(yA(h,c),m,h,c);for(let R=0,P=_.length;R{let i;const r=t.getStyleFunction()||e.getStyleFunction();if(r&&(i=r(t,h)),i){const e=this.renderFeature(t,w,i,b,void 0,this.getLayer().getDeclutter(),n);x=x&&!e}},E=m,C=n.getFeaturesInExtent(E);f&&C.sort(f);for(let R=0,P=C.length;R=200&&a.status<300){const t=e.getType();try{let i;"text"==t||"json"==t?i=a.responseText:"xml"==t?i=a.responseXML||a.responseText:"arraybuffer"==t&&(i=a.response),i?s(e.readFeatures(i,{extent:n,featureProjection:r}),e.readProjection(i)):o()}catch{o()}}else o()},a.onerror=o,a.send()}function TA(t,e){return function(n,i,r,s,o){kA(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function RA(){return[[-1/0,-1/0,1/0,1/0]]}function PA(t){return[t]}class MA extends TS{constructor(t){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),t)if("function"==typeof t.getSimplifiedGeometry){const e=t;this.setGeometry(e)}else{const e=t;this.setProperties(e)}}clone(){const t=new MA(this.hasProperties()?this.getProperties():null);t.setGeometryName(this.getGeometryName());const e=this.getGeometry();e&&t.setGeometry(e.clone());const n=this.getStyle();return n&&t.setStyle(n),t}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(wS(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=vS(t,Yx,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?function(t){if("function"==typeof t)return t;let e;return Array.isArray(t)?e=t:(ZS("function"==typeof t.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),e=[t]),function(){return e}}(t):void 0,this.changed()}setId(t){this.id_=t,this.changed()}setGeometryName(t){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=t,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}function IA(t,e,n,i){const r=[];let s=[1/0,1/0,-1/0,-1/0];for(let o=0,a=n.length;o>1),r=+n(t[i],e),r<0?s=i+1:(o=i,a=!r);return a?s:~s}(h,c);d<0?(l=(c-h[-d-2])/(h[-d-1]-h[-d-2]),a=e+(-d-2)*i):a=e+d*i}o=o>1?o:2,s=s||new Array(o);for(let h=0;h>1;rt.clone())}class NA extends Lk{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}appendCoordinate(t){lS(this.flatCoordinates,t),this.changed()}clone(){const t=new NA(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,i){return i<_E(this.getExtent(),t,e)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Bk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),$k(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,n,i))}forEachSegment(t){return uT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinateAtM(t,e){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(e=void 0!==e&&e,AA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Kk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return OA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return VO(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=Zk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new NA(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return hT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,this.getExtent())}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Vk(this.flatCoordinates,0,t,this.stride),this.changed()}}class DA extends Lk{constructor(t,e,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(t[0]))this.setCoordinates(t,e);else if(void 0!==e&&n)this.setFlatCoordinates(e,t),this.ends_=n;else{const e=t,n=[],i=[];for(let t=0,s=e.length;t{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Zk(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Jk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=eT(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new BA(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}BA.prototype.getFlatCoordinates=BA.prototype.getOrientedFlatCoordinates;class qA{constructor(t){this.rbush_=new nP(t),this.items_={}}insert(t,e){const n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(n),this.items_[CS(e)]=n}load(t,e){const n=new Array(e.length);for(let i=0,r=e.length;it):null}const VA="addfeature",WA="removefeature";class HA extends yS{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class KA extends $A{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===t.wrapX||t.wrapX}),this.on,this.once,this.un,this.loader_=dS,this.format_=t.format||null,this.overlaps_=void 0===t.overlaps||t.overlaps,this.url_=t.url,void 0!==t.loader?this.loader_=t.loader:void 0!==this.url_&&(ZS(this.format_,"`format` must be set when `url` is set"),this.loader_=TA(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:RA;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new qA:null,this.loadedExtentsRtree_=new qA,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?i=t.features:t.features&&(n=t.features,i=n.getArray()),e||void 0!==n||(n=new MS(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=CS(t);if(!this.addToIndex_(e,t))return void(this.featuresCollection_&&this.featuresCollection_.remove(t));this.setupChangeEvents_(e,t);const n=t.getGeometry();if(n){const e=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(e,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new HA(VA,t))}setupChangeEvents_(t,e){e instanceof BA||(this.featureChangeKeys_[t]=[vS(e,Yx,this.handleFeatureChange_,this),vS(e,Xx,this.handleFeatureChange_,this)])}addToIndex_(t,e){let n=!0;if(void 0!==e.getId()){const t=String(e.getId());if(t in this.idIndex_)if(e instanceof BA){const i=this.idIndex_[t];i instanceof BA?Array.isArray(i)?i.push(e):this.idIndex_[t]=[i,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(ZS(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),n}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],n=[],i=[];for(let r=0,s=t.length;r{e||(e=!0,this.addFeature(t.element),e=!1)}),t.addEventListener(Kx,t=>{e||(e=!0,this.removeFeature(t.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(const t in this.featureChangeKeys_)this.featureChangeKeys_[t].forEach(wS);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(t=>{this.removeFeatureInternal(t)});for(const t in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[t])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new HA("clear");this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const n=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(n,function(n){const i=n.getGeometry();if(i instanceof BA||i.intersectsCoordinate(t))return e(n)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(n){const i=n.getGeometry();if(i instanceof BA||i.intersectsExtent(t)){const t=e(n);if(t)return t}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),mS(this.nullGeometryFeatures_)||lS(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,function(t){e.push(t)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const n=XE(t,e);return[].concat(...n.map(t=>this.featuresRtree_.getInExtent(t)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const n=t[0],i=t[1];let r=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||hS,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof BA?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new HA("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new HA("featuresloaderror"))}),i.insert(t,{extent:t.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_,n=e.forEachInExtent(t,function(e){if(TE(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,i=t.length;n{t in e&&(n[t]=e[t])}),n}function uF(t){t=t.slice();const e=Object.create(null);for(let n=0;n`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const PF=[dF,pF,fF,gF,mF,yF,wF,_F,TF(vF),xF,EF,SF,CF,kF];function MF(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!MF(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of PF)if(!MF(t,e))return null}return`Expected ${RF(t)} but found ${RF(e)} instead.`}function IF(t,e){return e.some(e=>e.kind===t.kind)}function OF(t,e){return e.some(e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t)}function AF(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const FF=.96422,LF=.82521,NF=4/29,DF=6/29,jF=3*DF*DF,zF=DF*DF*DF,UF=Math.PI/180,BF=180/Math.PI;function qF(t){return(t%=360)<0&&(t+=360),t}function $F([t,e,n,i]){let r,s;const o=VF((.2225045*(t=GF(t))+.7168786*(e=GF(e))+.0606169*(n=GF(n)))/1);t===e&&e===n?r=s=o:(r=VF((.4360747*t+.3850649*e+.1430804*n)/FF),s=VF((.0139322*t+.0971045*e+.7141733*n)/LF));const a=116*o-16;return[a<0?0:a,500*(r-o),200*(o-s),i]}function GF(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function VF(t){return t>zF?Math.pow(t,1/3):t/jF+NF}function WF([t,e,n,i]){let r=(t+16)/116,s=isNaN(e)?r:r+e/500,o=isNaN(n)?r:r-n/200;return r=1*KF(r),s=FF*KF(s),o=LF*KF(o),[HF(3.1338561*s-1.6168667*r-.4906146*o),HF(-.9787684*s+1.9161415*r+.033454*o),HF(.0719453*s-.2289914*r+1.4052427*o),i]}function HF(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function KF(t){return t>DF?t*t*t:jF*(t-NF)}const XF=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function YF(t,e){return XF(t,e)?t[e]:void 0}function ZF(t){return parseInt(t.padEnd(2,t),16)/255}function JF(t,e){return QF(e?t/100:t,0,1)}function QF(t,e,n){return Math.min(Math.max(e,t),n)}function tL(t){return!t.some(Number.isNaN)}const eL={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function nL(t,e,n){return t+n*(e-t)}function iL(t,e,n){return t.map((t,i)=>nL(t,e[i],n))}class rL{constructor(t,e,n,i=1,r=!0){this.r=t,this.g=e,this.b=n,this.a=i,r||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[t,e,n,i]))}static parse(t){if(t instanceof rL)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=YF(eL,t);if(e){const[t,n,i]=e;return[t/255,n/255,i/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let n=1;return[ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,n=t.match(e);if(n){const[t,e,i,r,s,o,a,l,u,h,c,d]=n,p=[r||" ",a||" ",h].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,u].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[QF(+e/n,0,1),QF(+s/n,0,1),QF(+l/n,0,1),c?JF(+c,d):1];if(tL(t))return t}}return}}const n=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){const[t,e,i,r,s,o,a,l,u]=n,h=[i||" ",s||" ",a].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const t=[+e,QF(+r,0,100),QF(+o,0,100),l?JF(+l,u):1];if(tL(t))return function([t,e,n,i]){function r(i){const r=(i+t/30)%12,s=e*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(r-3,9-r,1))}return t=qF(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new rL(...e,!1):void 0}get rgb(){const{r:t,g:e,b:n,a:i}=this,r=i||1/0;return this.overwriteGetter("rgb",[t/r,e/r,n/r,i])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,n,i,r]=$F(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?qF(Math.atan2(i,n)*BF):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",$F(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,n,i]=this.rgb;return`rgba(${[t,e,n].map(t=>Math.round(255*t)).join(",")},${i})`}static interpolate(t,e,n,i="rgb"){switch(i){case"rgb":{const[i,r,s,o]=iL(t.rgb,e.rgb,n);return new rL(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,u,h]=e.hcl;let c,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?c=NaN:(c=a,1!==s&&0!==s||(d=l)):(c=i,1!==u&&0!==u||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),c=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*UF,WF([n,Math.cos(t)*e,Math.sin(t)*e,i])}([c,null!=d?d:nL(r,l,n),nL(s,u,n),nL(o,h,n)]);return new rL(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=WF(iL(t.lab,e.lab,n));return new rL(i,r,s,o,!1)}}}}rL.black=new rL(0,0,0,1),rL.white=new rL(1,1,1,1),rL.transparent=new rL(0,0,0,0),rL.red=new rL(1,0,0,1);class sL{constructor(t,e,n){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const oL=["bottom","center","top"];class aL{constructor(t,e,n,i,r,s){this.text=t,this.image=e,this.scale=n,this.fontStack=i,this.textColor=r,this.verticalAlign=s}}class lL{constructor(t){this.sections=t}static fromString(t){return new lL([new aL(t,null,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(t=>0!==t.text.length||t.image&&0!==t.image.name.length)}static factory(t){return t instanceof lL?t:lL.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class uL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof uL)return t;if("number"==typeof t)return new uL([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new uL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new uL(iL(t.values,e.values,n))}}class hL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof hL)return t;if("number"==typeof t)return new hL([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new hL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new hL(iL(t.values,e.values,n))}}class cL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof cL)return t;if("string"==typeof t){const e=rL.parse(t);if(!e)return;return new cL([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=rL.parse(n);if(!t)return;e.push(t)}return new cL(e)}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n,i="rgb"){const r=[];if(t.values.length!=e.values.length)throw new Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${e.values.length}), cannot interpolate.`);for(let s=0;s=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[t,e,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[t,e,n,i]:[t,e,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function _L(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof mL||t instanceof rL||t instanceof sL||t instanceof lL||t instanceof uL||t instanceof hL||t instanceof cL||t instanceof fL||t instanceof gL)return!0;if(Array.isArray(t)){for(const e of t)if(!_L(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!_L(t[e]))return!1;return!0}return!1}function vL(t){if(null===t)return dF;if("string"==typeof t)return fF;if("boolean"==typeof t)return gF;if("number"==typeof t)return pF;if(t instanceof rL)return mF;if(t instanceof mL)return yF;if(t instanceof sL)return bF;if(t instanceof lL)return wF;if(t instanceof uL)return xF;if(t instanceof hL)return EF;if(t instanceof cL)return SF;if(t instanceof fL)return kF;if(t instanceof gL)return CF;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=vL(i);if(n){if(n===t)continue;n=vF;break}n=t}return TF(n||vF,e)}return _F}function bL(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof rL||t instanceof mL||t instanceof lL||t instanceof uL||t instanceof hL||t instanceof cL||t instanceof fL||t instanceof gL?t.toString():JSON.stringify(t)}class wL{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!_L(t[1]))return e.error("invalid value");const n=t[1];let i=vL(n);const r=e.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new wL(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const xL={string:fF,number:pF,boolean:gF,object:_F};class SL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n,i=1;const r=t[0];if("array"===r){let r,s;if(t.length>2){const n=t[1];if("string"!=typeof n||!(n in xL)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=xL[n],i++}else r=vF;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],i++}n=TF(r,s)}else{if(!xL[r])throw new Error(`Types doesn't contain name = ${r}`);n=xL[r]}const s=[];for(;it.outputDefined())}}const EL={"to-boolean":gF,"to-color":mF,"to-number":pF,"to-string":fF};class CL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[0];if(!EL[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if(("to-boolean"===n||"to-string"===n)&&2!==t.length)return e.error("Expected one argument.");const i=EL[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:yL(e[0],e[1],e[2],e[3]),!n))return new rL(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new dL(n||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const n of this.args){e=n.evaluate(t);const i=uL.parse(e);if(i)return i}throw new dL(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"numberArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=hL.parse(e);if(i)return i}throw new dL(`Could not parse numberArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"colorArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=cL.parse(e);if(i)return i}throw new dL(`Could not parse colorArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const n of this.args){e=n.evaluate(t);const i=fL.parse(e);if(i)return i}throw new dL(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const n of this.args){if(e=n.evaluate(t),null===e)return 0;const i=Number(e);if(!isNaN(i))return i}throw new dL(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return lL.fromString(bL(this.args[0].evaluate(t)));case"resolvedImage":return gL.fromString(bL(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return bL(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const kL=["Unknown","Point","LineString","Polygon"];class TL{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?kL[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache.get(t);return e||(e=rL.parse(t),this._parseColorCache.set(t,e)),e}}class RL{constructor(t,e,n=[],i,r=new cF,s=[]){this.registry=t,this.path=n,this.key=n.map(t=>`[${t}]`).join(""),this.scope=r,this.errors=s,this.expectedType=i,this._isConstant=e}parse(t,e,n,i,r={}){return e?this.concat(e,n,i)._parse(t,r):this._parse(t,r)}_parse(t,e){function n(t,e,n){return"assert"===n?new SL(e,[t]):"coerce"===n?new CL(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const s=this.registry[r];if(s){let r=s.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,i=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind){if("projectionDefinition"===t.kind&&["string","array"].includes(i.kind)||["color","formatted","resolvedImage"].includes(t.kind)&&["value","string"].includes(i.kind)||["padding","numberArray"].includes(t.kind)&&["value","number","array"].includes(i.kind)||"colorArray"===t.kind&&["value","string","array"].includes(i.kind)||"variableAnchorOffsetCollection"===t.kind&&["value","array"].includes(i.kind))r=n(r,t,e.typeAnnotation||"coerce");else if(this.checkSubtype(t,i))return null}else r=n(r,t,e.typeAnnotation||"assert")}if(!(r instanceof wL)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new TL;try{r=new wL(r.type,r.evaluate(t))}catch(i){return this.error(i.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,n){const i="number"==typeof t?this.path.concat(t):this.path,r=n?this.scope.concat(n):this.scope;return new RL(this.registry,this._isConstant,i,e||null,r,this.errors)}error(t,...e){const n=`${this.key}${e.map(t=>`[${t}]`).join("")}`;this.errors.push(new hF(n,t))}checkSubtype(t,e){const n=MF(t,e);return n&&this.error(n),n}}class PL{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const n=[];for(let r=1;r=n.length)throw new dL(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new dL(`Array index must be an integer, but found ${e} instead.`);return n[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class OL{constructor(t,e){this.type=gF,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,vF),i=e.parse(t[2],2,vF);return n&&i?IF(n.type,[gF,fF,pF,dF,vF])?new OL(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${RF(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!OF(e,["boolean","string","number","null"]))throw new dL(`Expected first argument to be of type boolean, string, number or null, but found ${RF(vL(e))} instead.`);if(!OF(n,["string","array"]))throw new dL(`Expected second argument to be of type array or string, but found ${RF(vL(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class AL{constructor(t,e,n){this.type=pF,this.needle=t,this.haystack=e,this.fromIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,vF),i=e.parse(t[2],2,vF);if(!n||!i)return null;if(!IF(n.type,[gF,fF,pF,dF,vF]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${RF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,pF);return r?new AL(n,i,r):null}return new AL(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!OF(e,["boolean","string","number","null"]))throw new dL(`Expected first argument to be of type boolean, string, number or null, but found ${RF(vL(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),OF(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(OF(n,["array"]))return n.indexOf(e,i);throw new dL(`Expected second argument to be of type array or string, but found ${RF(vL(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class FL{constructor(t,e,n,i,r,s){this.inputType=t,this.type=e,this.input=n,this.cases=i,this.outputs=r,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let n,i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r={},s=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return u.error("Numeric branch labels must be integer values.");if(n){if(u.checkSubtype(n,vL(t)))return null}else n=vL(t);if(void 0!==r[String(t)])return u.error("Branch labels must be unique.");r[String(t)]=s.length}const h=e.parse(a,l,i);if(!h)return null;i=i||h.type,s.push(h)}const o=e.parse(t[1],1,vF);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,i);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(n,o.type)?null:new FL(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(vL(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}}class LL{constructor(t,e,n){this.type=t,this.branches=e,this.otherwise=n}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i=[];for(let s=1;se.outputDefined())&&this.otherwise.outputDefined()}}class NL{constructor(t,e,n,i){this.type=t,this.input=e,this.beginIndex=n,this.endIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,vF),i=e.parse(t[2],2,pF);if(!n||!i)return null;if(!IF(n.type,[TF(vF),fF,vF]))return e.error(`Expected first argument to be of type array or string, but found ${RF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,pF);return r?new NL(n.type,n,i,r):null}return new NL(n.type,n,i)}evaluate(t){const e=this.input.evaluate(t),n=this.beginIndex.evaluate(t);let i;if(this.endIndex&&(i=this.endIndex.evaluate(t)),OF(e,["string"]))return[...e].slice(n,i).join("");if(OF(e,["array"]))return e.slice(n,i);throw new dL(`Expected first argument to be of type array or string, but found ${RF(vL(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function DL(t,e){const n=t.length-1;let i,r,s=0,o=n,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),i=t[a],r=t[a+1],i<=e){if(a===n||ee))throw new dL("Input is not a number.");o=a-1}return 0}class jL{constructor(t,e,n){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[i,r]of n)this.labels.push(i),this.outputs.push(r)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const n=e.parse(t[1],1,pF);if(!n)return null;const i=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let s=1;s=n)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const u=e.parse(o,l,r);if(!u)return null;r=r||u.type,i.push([n,u])}return new jL(r,n,i)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;return i>=e[r-1]?n[r-1].evaluate(t):n[DL(e,i)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function zL(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var UL,BL,qL=function(){if(BL)return UL;function t(t,e,n,i){this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(i-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=n,this.p2y=i}return BL=1,UL=t,t.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var n=t,i=0;i<8;i++){var r=this.sampleCurveX(n)-t;if(Math.abs(r)r?o=n:a=n,n=.5*(a-o)+o;return n},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},UL}(),$L=zL(qL);class GL{constructor(t,e,n,i,r){this.type=t,this.operator=e,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[s,o]of r)this.labels.push(s),this.outputs.push(o)}static interpolationFactor(t,e,n,i){let r=0;if("exponential"===t.name)r=VL(e,t.base,n,i);else if("linear"===t.name)r=VL(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new $L(s[0],s[1],s[2],s[3]).solve(VL(e,1,n,i))}return r}static parse(t,e){let[n,i,r,...s]=t;if(!Array.isArray(i)||0===i.length)return e.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const t=i[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:t}}else{if("cubic-bezier"!==i[0])return e.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const t=i.slice(1);if(4!==t.length||t.some(t=>"number"!=typeof t||t<0||t>1))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,pF),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==SF?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=mF;for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,r,a);if(!u)return null;a=a||u.type,o.push([t,u])}return AF(a,pF)||AF(a,yF)||AF(a,mF)||AF(a,xF)||AF(a,EF)||AF(a,SF)||AF(a,kF)||AF(a,TF(pF))?new GL(a,n,i,r,o):e.error(`Type ${RF(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;if(i>=e[r-1])return n[r-1].evaluate(t);const s=DL(e,i),o=e[s],a=e[s+1],l=GL.interpolationFactor(this.interpolation,i,o,a),u=n[s].evaluate(t),h=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return nL(u,h,l);case"color":return rL.interpolate(u,h,l);case"padding":return uL.interpolate(u,h,l);case"colorArray":return cL.interpolate(u,h,l);case"numberArray":return hL.interpolate(u,h,l);case"variableAnchorOffsetCollection":return fL.interpolate(u,h,l);case"array":return iL(u,h,l);case"projectionDefinition":return mL.interpolate(u,h,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return rL.interpolate(u,h,l,"hcl");case"colorArray":return cL.interpolate(u,h,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return rL.interpolate(u,h,l,"lab");case"colorArray":return cL.interpolate(u,h,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function VL(t,e,n,i){const r=i-n,s=t-n;return 0===r?0:1===e?s/r:(Math.pow(e,s)-1)/(Math.pow(e,r)-1)}class WL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n=null;const i=e.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const o of t.slice(1)){const t=e.parse(o,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!t)return null;n=n||t.type,r.push(t)}if(!n)throw new Error("No output type");const s=i&&r.some(t=>MF(i,t.type));return new WL(s?vF:n,r)}evaluate(t){let e,n=null,i=0;for(const r of this.args)if(i++,n=r.evaluate(t),n&&n instanceof gL&&!n.available&&(e||(e=n.name),n=null,i===this.args.length&&(n=e)),null!==n)break;return n}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}function HL(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function KL(t,e,n,i){return 0===i.compare(e,n)}function XL(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=gF,this.lhs=t,this.rhs=e,this.collator=n,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const n=t[0];let s=e.parse(t[1],1,vF);if(!s)return null;if(!HL(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${RF(s.type)}'.`);let o=e.parse(t[2],2,vF);if(!o)return null;if(!HL(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${RF(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${RF(s.type)}' and '${RF(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new SL(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new SL(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,bF),!a)return null}return new r(s,o,a)}evaluate(r){const s=this.lhs.evaluate(r),o=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const e=vL(s),n=vL(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new dL(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const t=vL(s),n=vL(o);if("string"!==t.kind||"string"!==n.kind)return e(r,s,o)}return this.collator?n(r,s,o,this.collator.evaluate(r)):e(r,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const YL=XL("==",function(t,e,n){return e===n},KL),ZL=XL("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!KL(0,e,n,i)}),JL=XL("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),tN=XL("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),eN=XL(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class nN{constructor(t,e,n){this.type=bF,this.locale=n,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const n=t[1];if("object"!=typeof n||Array.isArray(n))return e.error("Collator options argument must be an object.");const i=e.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,gF);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,gF);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,fF),!s)?null:new nN(i,r,s)}evaluate(t){return new sL(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class iN{constructor(t,e,n,i,r){this.type=fF,this.number=t,this.locale=e,this.currency=n,this.minFractionDigits=i,this.maxFractionDigits=r}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,pF);if(!n)return null;const i=t[2];if("object"!=typeof i||Array.isArray(i))return e.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=e.parse(i.locale,1,fF),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,fF),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,pF),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,pF),!a)?null:new iN(n,r,s,o,a)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class rN{constructor(t){this.type=wF,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[1];if(!Array.isArray(n)&&"object"==typeof n)return e.error("First argument must be an image or text section.");const i=[];let r=!1;for(let s=1;s<=t.length-1;++s){const n=t[s];if(r&&"object"==typeof n&&!Array.isArray(n)){r=!1;let t=null;if(n["font-scale"]&&(t=e.parse(n["font-scale"],1,pF),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,TF(fF)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,mF),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!oL.includes(n["vertical-align"]))return e.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${n["vertical-align"]}' instead.`);if(a=e.parse(n["vertical-align"],1,fF),!a)return null}const l=i[i.length-1];l.scale=t,l.font=s,l.textColor=o,l.verticalAlign=a}else{const n=e.parse(t[s],1,vF);if(!n)return null;const o=n.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:n,scale:null,font:null,textColor:null,verticalAlign:null})}}return new rN(i)}evaluate(t){return new lL(this.sections.map(e=>{const n=e.content.evaluate(t);return vL(n)===CF?new aL("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new aL(bL(n),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null,e.verticalAlign?e.verticalAlign.evaluate(t):null)}))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor),e.verticalAlign&&t(e.verticalAlign)}outputDefined(){return!1}}class sN{constructor(t){this.type=CF,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,fF);return n?new sN(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=gL.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class oN{constructor(t){this.type=pF,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=e.parse(t[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?e.error(`Expected argument of type string or array, but found ${RF(n.type)} instead.`):new oN(n):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return[...e].length;if(Array.isArray(e))return e.length;throw new dL(`Expected value to be of type string or array, but found ${RF(vL(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const aN=8192;function lN(t,e){const n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const s=Math.pow(2,e.z);return[Math.round(n*s*aN),Math.round(i*s*aN)]}function uN(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/aN+e.x)/n,360*r-180),(i=(t[1]/aN+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function hN(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function cN(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function dN(t,e,n){return e[1]>t[1]!=n[1]>t[1]&&t[0]<(n[0]-e[0])*(t[1]-e[1])/(n[1]-e[1])+e[0]}function pN(t,e,n){const i=t[0]-e[0],r=t[1]-e[1],s=t[0]-n[0],o=t[1]-n[1];return i*o-s*r===0&&i*s<=0&&r*o<=0}function fN(t,e,n,i){const r=[e[0]-t[0],e[1]-t[1]];return 0!==(s=[i[0]-n[0],i[1]-n[1]])[0]*(o=r)[1]-s[1]*o[0]&&!(!bN(t,e,n,i)||!bN(n,i,t,e));var s,o}function gN(t,e,n){for(const i of n)for(let n=0;n0&&c<0||h<0&&c>0}function wN(t,e,n){const i=[];for(let r=0;rn[2]){const e=.5*i;let r=t[0]-n[0]>e?-i:n[0]-t[0]>e?i:0;0===r&&(r=t[0]-n[2]>e?-i:n[2]-t[0]>e?i:0),t[0]+=r}hN(e,t)}function EN(t,e,n,i){const r=Math.pow(2,i.z)*aN,s=[i.x*aN,i.y*aN],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];SN(i,e,n,r),o.push(i)}return o}function CN(t,e,n,i){const r=Math.pow(2,i.z)*aN,s=[i.x*aN,i.y*aN],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];hN(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=r/2){!function(t){t[0]=t[1]=1/0,t[2]=t[3]=-1/0}(e);for(const t of o)for(const i of t)SN(i,e,n,r)}return o}class kN{constructor(t,e){this.type=gF,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(_L(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const n of e.features){const{type:e,coordinates:i}=n.geometry;"Polygon"===e&&t.push(i),"MultiPolygon"===e&&t.push(...i)}if(t.length)return new kN(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new kN(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new kN(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=wN(e.coordinates,i,r),o=EN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!mN(t,s))return!1}if("MultiPolygon"===e.type){const s=xN(e.coordinates,i,r),o=EN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!yN(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=wN(e.coordinates,i,r),o=CN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!_N(t,s))return!1}if("MultiPolygon"===e.type){const s=xN(e.coordinates,i,r),o=CN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!vN(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class TN{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:n}=this,i=e[t];for(;t>0;){const r=t-1>>1,s=e[r];if(n(i,s)>=0)break;e[t]=s,t=r}e[t]=i}_down(t){const{data:e,compare:n}=this,i=this.length>>1,r=e[t];for(;t=0)break;e[t]=e[i],t=i}e[t]=r}}function RN(t){let e=0;for(let n,i,r=0,s=t.length,o=s-1;r1?(l=t[a+1][0],u=t[a+1][1]):d>0&&(l+=h/this.kx*d,u+=c/this.ky*d)),h=this.wrap(e[0]-l)*this.kx,c=(e[1]-u)*this.ky;const p=h*h+c*c;p180;)t-=360;return t}}function AN(t,e){return e[0]-t[0]}function FN(t){return t[1]-t[0]+1}function LN(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=FN(t);if(e){if(2===n)return[t,null];const e=Math.floor(n/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===n)return[t,null];const i=Math.floor(n/2)-1;return[[t[0],t[0]+i],[t[0]+i+1,t[1]]]}function DN(t,e){if(!LN(e,t.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let i=e[0];i<=e[1];++i)hN(n,t[i]);return n}function jN(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)hN(e,t);return e}function zN(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function UN(t,e,n){if(!zN(t)||!zN(e))return NaN;let i=0,r=0;return t[2]e[2]&&(i=t[0]-e[2]),t[1]>e[3]&&(r=t[1]-e[3]),t[3]=i)return i;if(cN(r,s)){if(HN(t,e))return 0}else if(HN(e,t))return 0;let o=1/0;for(const a of t)for(let t=0,i=a.length,r=i-1;t0;){const r=o.pop();if(r[0]>=s)continue;const l=r[1],u=e?50:100;if(FN(l)<=u){if(!LN(l,t.length))return NaN;if(e){const e=WN(t,l,n,i);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const r=VN(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=NN(l,e);XN(o,s,i,t,a,n[0]),XN(o,s,i,t,a,n[1])}}return s}function JN(t,e,n,i,r,s=1/0){let o=Math.min(s,r.distance(t[0],n[0]));if(0===o)return o;const a=new TN([[0,[0,t.length-1],[0,n.length-1]]],AN);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],u=s[2],h=e?50:100,c=i?50:100;if(FN(l)<=h&&FN(u)<=c){if(!LN(l,t.length)&&LN(u,n.length))return NaN;let s;if(e&&i)s=$N(t,l,n,u,r),o=Math.min(o,s);else if(e&&!i){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=BN(n[t],e,r),o=Math.min(o,s),0===o)return o}else if(!e&&i){const e=n.slice(u[0],u[1]+1);for(let n=l[0];n<=l[1];++n)if(s=BN(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=GN(t,l,n,u,r),o=Math.min(o,s)}else{const s=NN(l,e),h=NN(u,i);YN(a,o,r,t,n,s[0],h[0]),YN(a,o,r,t,n,s[0],h[1]),YN(a,o,r,t,n,s[1],h[0]),YN(a,o,r,t,n,s[1],h[1])}}return o}function QN(t){return"MultiPolygon"===t.type?t.coordinates.map(t=>({type:"Polygon",coordinates:t})):"MultiLineString"===t.type?t.coordinates.map(t=>({type:"LineString",coordinates:t})):"MultiPoint"===t.type?t.coordinates.map(t=>({type:"Point",coordinates:t})):[t]}class tD{constructor(t,e){this.type=pF,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(_L(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new tD(e,e.features.map(t=>QN(t.geometry)).flat());if("Feature"===e.type)return new tD(e,QN(e.geometry));if("type"in e&&"coordinates"in e)return new tD(e,QN(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>uN([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new ON(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,JN(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,JN(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,ZN(i,!1,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>uN([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new ON(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,JN(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,JN(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,ZN(i,!0,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const n=t.geometry();if(0===n.length||0===n[0].length)return NaN;const i=function(t){if(t.length<=1)return[t];const e=[];let n,i;for(const r of t){const t=RN(r);0!==t&&(r.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&e.push(n),n=[r]):n.push(r))}return n&&e.push(n),e}(n).map(e=>e.map(e=>e.map(e=>uN([e.x,e.y],t.canonical)))),r=new ON(i[0][0][0][1]);let s=1/0;for(const o of e)for(const t of i){switch(o.type){case"Point":s=Math.min(s,ZN([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,ZN(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,KN(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class eD{constructor(t){this.type=vF,this.key=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=t[1];return null==n?e.error("Global state property must be defined."):"string"!=typeof n?e.error(`Global state property must be string, but found ${typeof t[1]} instead.`):new eD(n)}evaluate(t){var e;const n=null===(e=t.globals)||void 0===e?void 0:e.globalState;return n&&0!==Object.keys(n).length?YF(n,this.key):null}eachChild(){}outputDefined(){return!1}}const nD={"==":YL,"!=":ZL,">":QL,"<":JL,">=":eN,"<=":tN,array:SL,at:IL,boolean:SL,case:LL,coalesce:WL,collator:nN,format:rN,image:sN,in:OL,"index-of":AL,interpolate:GL,"interpolate-hcl":GL,"interpolate-lab":GL,length:oN,let:PL,literal:wL,match:FL,number:SL,"number-format":iN,object:SL,slice:NL,step:jL,string:SL,"to-boolean":CL,"to-color":CL,"to-number":CL,"to-string":CL,var:ML,within:kN,distance:tD,"global-state":eD};class iD{constructor(t,e,n,i){this.name=t,this.type=e,this._evaluate=n,this.args=i}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const n=t[0],i=iD.definitions[n];if(!i)return e.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,s=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,o=s.filter(([e])=>!Array.isArray(e)||e.length===t.length-1);let a=null;for(const[l,u]of o){a=new RL(e.registry,lD,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(RF).join(", ")})`:`(${RF(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&lD(t):n&&t instanceof wL}),!!n&&uD(t)&&cD(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function uD(t){if(t instanceof iD){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof kN)return!1;if(t instanceof tD)return!1;let e=!0;return t.eachChild(t=>{e&&!uD(t)&&(e=!1)}),e}function hD(t){if(t instanceof iD&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!hD(t)&&(e=!1)}),e}function cD(t,e){if(t instanceof iD&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!cD(t,e)&&(n=!1)}),n}function dD(t){return{result:"success",value:t}}function pD(t){return{result:"error",value:t}}function fD(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&vL(t)===_F}iD.register(nD,{error:[{kind:"error"},[fF],(t,[e])=>{throw new dL(e.evaluate(t))}],typeof:[fF,[vF],(t,[e])=>RF(vL(e.evaluate(t)))],"to-rgba":[TF(pF,4),[mF],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[mF,[pF,pF,pF],rD],rgba:[mF,[pF,pF,pF,pF],rD],has:{type:gF,overloads:[[[fF],(t,[e])=>sD(e.evaluate(t),t.properties())],[[fF,_F],(t,[e,n])=>sD(e.evaluate(t),n.evaluate(t))]]},get:{type:vF,overloads:[[[fF],(t,[e])=>oD(e.evaluate(t),t.properties())],[[fF,_F],(t,[e,n])=>oD(e.evaluate(t),n.evaluate(t))]]},"feature-state":[vF,[fF],(t,[e])=>oD(e.evaluate(t),t.featureState||{})],properties:[_F,[],t=>t.properties()],"geometry-type":[fF,[],t=>t.geometryType()],id:[vF,[],t=>t.id()],zoom:[pF,[],t=>t.globals.zoom],"heatmap-density":[pF,[],t=>t.globals.heatmapDensity||0],elevation:[pF,[],t=>t.globals.elevation||0],"line-progress":[pF,[],t=>t.globals.lineProgress||0],accumulated:[vF,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[pF,aD(pF),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[pF,aD(pF),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:pF,overloads:[[[pF,pF],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[pF],(t,[e])=>-e.evaluate(t)]]},"/":[pF,[pF,pF],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[pF,[pF,pF],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[pF,[],()=>Math.LN2],pi:[pF,[],()=>Math.PI],e:[pF,[],()=>Math.E],"^":[pF,[pF,pF],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[pF,[pF],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))],log2:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pF,[pF],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pF,[pF],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pF,[pF],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pF,[pF],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pF,[pF],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pF,[pF],(t,[e])=>Math.atan(e.evaluate(t))],min:[pF,aD(pF),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[pF,aD(pF),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[pF,[pF],(t,[e])=>Math.abs(e.evaluate(t))],round:[pF,[pF],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[pF,[pF],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pF,[pF],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[gF,[fF,vF],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[gF,[vF],(t,[e])=>t.id()===e.value],"filter-type-==":[gF,[fF],(t,[e])=>t.geometryType()===e.value],"filter-<":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i{const n=t.id(),i=e.value;return typeof n==typeof i&&n":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[gF,[vF],(t,[e])=>e.value in t.properties()],"filter-has-id":[gF,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[gF,[TF(fF)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[gF,[TF(vF)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[gF,[fF,TF(vF)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[gF,[fF,TF(vF)],(t,[e,n])=>function(t,e,n,i){for(;n<=i;){const r=n+i>>1;if(e[r]===t)return!0;e[r]>t?i=r-1:n=r+1}return!1}(t.properties()[e.value],n.value,0,n.value.length-1)],all:{type:gF,overloads:[[[gF,gF],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[aD(gF),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:gF,overloads:[[[gF,gF],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[aD(gF),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[gF,[gF],(t,[e])=>!e.evaluate(t)],"is-supported-script":[gF,[fF],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[fF,[fF],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[fF,[fF],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[fF,aD(vF),(t,e)=>e.map(e=>bL(e.evaluate(t))).join("")],"resolved-locale":[fF,[bF],(t,[e])=>e.evaluate(t).resolvedLocale()]});class gD{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new TL,this._defaultValue=e?function(t){if("color"===t.type&&fD(t.default))return new rL(0,0,0,0);switch(t.type){case"color":return rL.parse(t.default)||null;case"padding":return uL.parse(t.default)||null;case"numberArray":return hL.parse(t.default)||null;case"colorArray":return cL.parse(t.default)||null;case"variableAnchorOffsetCollection":return fL.parse(t.default)||null;case"projectionDefinition":return mL.parse(t.default)||null;default:return void 0===t.default?null:t.default}}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=n,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,n,i,r,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new dL(`Expected value to be one of ${Object.keys(this._enumValues).map(t=>JSON.stringify(t)).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(o){return this._warningHistory[o.message]||(this._warningHistory[o.message]=!0,"undefined"!=typeof console&&console.warn(o.message)),this._defaultValue}}}function mD(t,e){const n=new RL(nD,lD,[],e?function(t){const e={color:mF,string:fF,number:pF,enum:fF,boolean:gF,formatted:wF,padding:xF,numberArray:EF,colorArray:SF,projectionDefinition:yF,resolvedImage:CF,variableAnchorOffsetCollection:kF};return"array"===t.type?TF(e[t.value]||vF,t.length):e[t.type]}(e):void 0),i=n.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return i?dD(new gD(i,e)):pD(n.errors)}class yD{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!hD(e.expression),this.globalStateRefs=wD(e.expression)}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}}class _D{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!hD(e.expression),this.globalStateRefs=wD(e.expression),this.interpolationType=i}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}interpolationFactor(t,e,n){return this.interpolationType?GL.interpolationFactor(this.interpolationType,t,e,n):0}}function vD(t,e){const n=mD(t,e);if("error"===n.result)return n;const i=n.value.expression,r=uD(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return pD([new hF("","data expressions not supported")]);var s;const o=cD(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return pD([new hF("","zoom expressions not supported")]);const a=bD(i);if(!a&&!o)return pD([new hF("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof hF)return pD([a]);if(a instanceof GL&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return pD([new hF("",'"interpolate" expressions cannot be used with this property')]);if(!a)return dD(new yD(r?"constant":"source",n.value));const l=a instanceof GL?a.interpolation:void 0;return dD(new _D(r?"camera":"composite",n.value,a.labels,l))}function bD(t){let e=null;if(t instanceof PL)e=bD(t.result);else if(t instanceof WL){for(const n of t.args)if(e=bD(n),e)break}else(t instanceof jL||t instanceof GL)&&t.input instanceof iD&&"zoom"===t.input.name&&(e=t);return e instanceof hF||t.eachChild(t=>{const n=bD(t);n instanceof hF?e=n:!e&&n?e=new hF("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new hF("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function wD(t,e=new Set){return t instanceof eD&&e.add(t.key),t.eachChild(t=>{wD(t,e)}),e}function xD(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!xD(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const SD={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function ED(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};xD(t)||(t=TD(t));const e=mD(t,SD);if("error"===e.result)throw new Error(e.value.map(t=>`${t.key}: ${t.message}`).join(", "));return{filter:(t,n,i)=>e.value.evaluate(t,n,{},i),needGeometry:kD(t),getGlobalStateRefs:()=>wD(e.value.expression)}}function CD(t,e){return te?1:0}function kD(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?RD(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(TD))):"all"===e?["all"].concat(t.slice(1).map(TD)):"none"===e?["all"].concat(t.slice(1).map(TD).map(ID)):"in"===e?PD(t[1],t.slice(2)):"!in"===e?ID(PD(t[1],t.slice(2))):"has"===e?MD(t[1]):"!has"!==e||ID(MD(t[1]));var n}function RD(t,e,n){switch(t){case"$type":return[`filter-type-${n}`,e];case"$id":return[`filter-id-${n}`,e];default:return[`filter-${n}`,t,e]}}function PD(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(t=>typeof t!=typeof e[0])?["filter-in-large",t,["literal",e.sort(CD)]]:["filter-in-small",t,["literal",e]]}}function MD(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function ID(t){return["!",t]}function OD(t){return"object"==typeof t?["literal",t]:t}function AD(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function FD(t,e){const n=OD((i=t.default,r=e.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===e.type?"":n}function LD(t,e,n){const i=jD(t,e),r=["get",t.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const t of n)i.push(["==",r,t[0]],t[1]);return i.push(FD(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)DD(i,t[0],t[1],!1);return i.push(FD(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)DD(e,t[0],t[1],!0);return ND(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,OD(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[AD(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)DD(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,OD(t.default)]}throw new Error(`Unknown property function type ${i}`)}function ND(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function DD(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function jD(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function zD(t){const e=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(t);null!==r;r=n.exec(t)){const s=t.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,s.length>0&&e.push(s),e.push(["get",r[1]])}if(1===e.length)return t;if(i":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};var BD={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},qD=" ",$D=/(italic|oblique)$/i,GD={};function VD(t,e,n){var i=GD[t];if(!i){Array.isArray(t)||(t=[t]);for(var r,s,o=400,a="normal",l=[],u=0,h=t.length;u1?c[c.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:BD[p],c.pop(),f&&p.startsWith(f)&&c.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=c.join(qD).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(qD)&&(g='"'+g+'"'),l.push(g)}i=GD[t]=[a,o,l]}return i[0]+qD+i[1]+qD+e+"px"+(n?"/"+n:"")+qD+i[2]}class WD extends uI{constructor(t,e,n,i,r){super(t,e,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(t){t?(this.error_=t,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}}class HD extends _S{constructor(t,e,n){super(),n=n||{},this.tileCoord=t,this.state=e,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Yx)}release(){this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(4!==this.state){if(3!==this.state&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}}load(){SS()}getAlpha(t,e){if(!this.transition_)return 1;let n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else n=e,this.transitionStarts_[t]=n;const i=e-n+1e3/60;return i>=this.transition_?1:QE(i/this.transition_)}inTransition(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}disposeInternal(){this.release(),super.disposeInternal()}}class KD extends HD{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,jS?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,null!==i&&(this.image_.crossOrigin=i)),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(t){this.image_=t,this.state=2,this.unlistenImage_(),this.changed()}getCrossOrigin(){return this.crossOrigin_}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const t=zT(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(jS)this.state=2;else{const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=2:this.state=4}this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(t,e,n){const i=t;let r=!0,s=!1,o=!1;const a=[bS(i,"load",function(){o=!0,s||e()})];return i.src&&zS?(s=!0,i.decode().then(function(){r&&e()}).catch(function(){r&&(o?e():n())})):a.push(bS(i,"error",n)),function(){r=!1,a.forEach(wS)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}}class XD{constructor(t,e,n,i){this.minX=t,this.maxX=e,this.minY=n,this.maxY=i}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function YD(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new XD(t,e,n,i)}const ZD=[];class JD extends HD{constructor(t,e,n,i,r){super(t,e,{transition:0}),this.context_=null,this.executorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=zT(1,1,ZD)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=CS(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]}load(){this.getSourceTiles()}release(){this.context_&&(qT(this.context_),ZD.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let QD=class extends HD{constructor(t,e,n,i,r,s){super(t,e,s),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(t,e){this.setFeatures(t)}onError(){this.setState(3)}setFeatures(t){this.features_=t,this.setState(2)}setLoader(t){this.loader_=t}};const tj="https://api.mapbox.com";function ej(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function nj(t,e,n){const i=ej(t);if(!i)return decodeURI(new URL(t,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${t}`);const r=i.slice(8);return`${tj}/styles/v1/${r}/sprite?access_token=${e}`}function ij(t,e){const n=ej(t);if(!n)return decodeURI(new URL(t,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${t}`);const i=n.slice(7);return`${tj}/styles/v1/${i}?&access_token=${e}`}const rj=["a","b","c","d"];function sj(t,e,n,i){const r=new URL(t,i||location.href),s=ej(t);if(!s)return e?(r.searchParams.has(n)||r.searchParams.set(n,e),[decodeURI(r.href)]):[decodeURI(r.href)];if("mapbox.satellite"===s){const t=window.devicePixelRatio>=1.5?"@2x":"";return[`https://api.mapbox.com/v4/${s}/{z}/{x}/{y}${t}.webp?access_token=${e}`]}return rj.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const oj=Object.freeze({}),aj={},lj={};let uj=0;function hj(t){return t.id||(t.id=uj++),t.id}function cj(t){let e=aj[t.id];return e||(e={},aj[hj(t)]=e),e}function dj(t){return t*Math.PI/180}const pj=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function fj(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);const n=document.createElement("canvas");return n.width=t,n.height=e,n}function gj(t,e){let n=0;const i=e.length;for(;nr).then(t=>t instanceof Response?(i&&(i.url=t.url),o(t)):(t instanceof Request||(t=new Request(t)),t.headers.get("Accept")||t.headers.set("Accept","application/json"),i&&(i.url=t.url),fetch(t).then(o).catch(s))).catch(s);return yj[e]=[r,a],a}function vj(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return _j("Style",t=ij(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(pD){return Promise.reject(pD)}}const bj={};function wj(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=bj[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof QD)t.setLoader((e,n,r)=>{const s=function(n){n.arrayBuffer().then(n=>{const i=t.getFormat().readFeatures(n,{extent:e,featureProjection:r});t.setFeatures(i)})};fS(()=>i).then(e=>{if(e instanceof Response)return s(e);fetch(e).then(s).catch(()=>t.setState(3))}).catch(()=>t.setState(3))});else{const e=t.getImage();fS(()=>i).then(n=>{if("string"==typeof n)return void(e.src=n);const i=t=>t.blob().then(t=>{const n=URL.createObjectURL(t);e.addEventListener("load",()=>URL.revokeObjectURL(n)),e.addEventListener("error",()=>URL.revokeObjectURL(n)),e.src=n});if(n instanceof Response)return i(n);fetch(n).then(i).catch(()=>t.setState(3))}).catch(()=>t.setState(3))}});const o=t.url;if(o&&!t.tiles){const i=sj(o,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(o.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},t,{url:void 0,tiles:i}),tileLoadFunction:s});else{const t={};r=_j("Source",i[0],n,t).then(function(e){return e.tiles=e.tiles.map(function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),sj(i,n.accessToken,n.accessTokenParam||"access_token",t.url)[0]}),Promise.resolve({tileJson:e,tileLoadFunction:s})})}}else t.tiles?(t=Object.assign({},t,{tiles:t.tiles.map(function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),sj(i,n.accessToken,n.accessTokenParam||"access_token",e||location.href)[0]})}),r=Promise.resolve({tileJson:Object.assign({},t),tileLoadFunction:s})):r=Promise.reject(new Error("source has no `tiles` nor `url`"));bj[i]=r}return r}function xj(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=fj(r[0],r[1]),o=s.getContext("2d");o.drawImage(t,e.x,e.y,e.width,e.height,n*e.pixelRatio,n*e.pixelRatio,e.width,e.height);const a=o.getImageData(0,0,r[0],r[1]);o.globalCompositeOperation="destination-over",o.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let u=0,h=a.width;u0&&o.arc(u,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function Sj(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function Ej(t,e,n){const i=fj(e.width,e.height),r=i.getContext("2d");r.drawImage(t,e.x,e.y,e.width,e.height,0,0,e.width,e.height);const s=r.getImageData(0,0,e.width,e.height),o=s.data;for(let a=0,l=s.width;a0?(o[e+0]=Math.round(255*n.r*s),o[e+1]=Math.round(255*n.g*s),o[e+2]=Math.round(255*n.b*s),o[e+3]=Math.round(255*s)):o[e+3]=0}return r.putImageData(s,0,0),i}const Cj=Array(256).join(" ");function kj(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=Cj.slice(0,Math.round(e/.1));for(let t=0,e=i.length;t0&&(n+="\n"),n+=i[t].split("").join(r);return n}return t}let Tj;function Rj(){return Tj||(Tj=fj(1,1).getContext("2d")),Tj}function Pj(t,e){return Rj().measureText(t).width+(t.length-1)*e}const Mj={};function Ij(t,e,n,i){if(-1!==t.indexOf("\n")){const r=t.split("\n"),s=[];for(let t=0,o=r.length;t1){const t=Rj();t.font=e;const r=t.measureText("M").width*n;let a="";const l=[];for(let e=0,n=o.length;e1;++e){const t=l[e];if(Pj(t,i)<.35*r){const r=e>0?Pj(l[e-1],i):1/0,s=e.7*r&&Pj(s,i)<.6*r){const o=t.split(" "),a=o.pop();Pj(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=kj(s,i),Mj[r]=s}return s}CI.on("propertychange",()=>{for(const t in Mj)delete Mj[t]});const Oj=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],Aj={},Fj={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},Lj={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},Nj={zoom:0,distanceFromCenter:0};let Dj,jj;function zj(t,e,n,i,r,s){const o=t.id;r||(r={},console.warn("No functionCache provided to getValue()")),r[o]||(r[o]={});const a=r[o];if(!a[n]){let i=(t[e]||oj)[n];const r=UD[`${e}_${t.type}`][n];void 0===i&&(i=r.default);let s=(l=i,Array.isArray(l)&&l.length>0&&"string"==typeof l[0]&&l[0]in nD);if(!s&&fD(i)&&(i=function(t,e){let n=t.stops;if(!n)return function(t,e){const n=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",n]:n;if("enum"===e.type)return["match",n,Object.keys(e.values),n,t.default];{const i=["color"===e.type?"to-color":e.type,n,OD(t.default)];return"array"===e.type&&i.splice(1,0,e.value,e.length||null),i}}(t,e);const i=n&&"object"==typeof n[0][0],r=i||void 0!==t.property,s=i||!r;return n=n.map(t=>!r&&e.tokens&&"string"==typeof t[1]?[t[0],zD(t[1])]:[t[0],OD(t[1])]),i?function(t,e,n){const i={},r={},s=[];for(let o=0;o`${t.key}: ${t.message}`).join(", "));return n.value}(i,r);a[n]=t.evaluate.bind(t)}else{const t=r.type;"color"!==t&&"colorArray"!==t||(i=rL.parse(i)),a[n]=function(){return i}}}var l;return a[n](Nj,i,s)}function Uj(t,e,n,i){return zj(t,"layout",`${n}-allow-overlap`,e,i)?zj(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function Bj(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=ED(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](Nj,n)}function qj(t,e){if(t){if(0===t.a||0===e)return;const n=t.a;return e=void 0===e?1:e,0===n?"transparent":"rgba("+Math.round(255*t.r/n)+","+Math.round(255*t.g/n)+","+Math.round(255*t.b/n)+","+n*e+")"}return t}iD.register(nD,{...iD.definitions,pitch:[{kind:"number"},[],()=>Nj.pitch||90],"distance-from-center":[{kind:"number"},[],()=>Nj.distanceFromCenter||0]});const $j=/\{[^{}}]*\}/g;function Gj(t,e){return t.replace($j,function(t){return e[t.slice(1,-1)]||""})}function Vj(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const Wj={};class Hj{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=MA,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?nk(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=nk(n),n.setWorldExtent(e.extent)),e={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},t)}getType(){return SS()}readFeature(t,e){return SS()}readFeatures(t,e){return SS()}readGeometry(t,e){return SS()}readProjection(t){return SS()}writeFeature(t,e){return SS()}writeFeatures(t,e){return SS()}writeGeometry(t,e){return SS()}}function Kj(t,e,n){const i=n?nk(n.featureProjection):null,r=n?nk(n.dataProjection):null;let s=t;if(i&&r&&!lk(i,r)){e&&(s=t.clone());const n=e?i:r,o=e?r:i;"tile-pixels"===n.getUnits()?s.transform(n,o):s.applyTransform(ck(n,o))}if(e&&n&&void 0!==n.decimals){const e=Math.pow(10,n.decimals),i=function(t){for(let n=0,i=t.length;nYj({...t,geometry:e})).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return Kj(new BA(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(mT(t,0,e,n)||_T(t=t.slice(),0,e,n),t):(gT(t,0,e,n)||yT(t=t.slice(),0,e,n),t)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,t.properties||{},t.id).enableSimplifyTransformed(),!1,e)}function Zj(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>Zj(t,e));return new FA(n)}return Kj(new(0,Xj[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class Jj extends Hj{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(Qj(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(Qj(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return SS()}readFeaturesFromObject(t,e){return SS()}readGeometry(t,e){return this.readGeometryFromObject(Qj(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return SS()}readProjection(t){return this.readProjectionFromObject(Qj(t))}readProjectionFromObject(t){return SS()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return SS()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return SS()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return SS()}}function Qj(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class tz extends Jj{constructor(t){t=t||{},super(),this.dataProjection=nk(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=nk(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let n=null;n="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null};const i=ez(n.geometry);if(this.featureClass===BA)return Yj({geometry:i,id:n.id,properties:n.properties},e);const r=new MA;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(Zj(i,e)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(t,e){let n=null;if("FeatureCollection"===t.type){n=[];const i=t.features;for(let t=0,r=i.length;t>3,r=this.pos;this.type=7&n,t(i,e,this),this.pos===r&&this.skip(n)}return e}readMessage(t,e){return this.readFields(t,e,this.readVarint()+this.pos)}readFixed32(){const t=this.dataView.getUint32(this.pos,!0);return this.pos+=4,t}readSFixed32(){const t=this.dataView.getInt32(this.pos,!0);return this.pos+=4,t}readFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*iz;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*iz;return this.pos+=8,t}readFloat(){const t=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,t}readDouble(){const t=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,t}readVarint(t){const e=this.buf;let n,i;return i=e[this.pos++],n=127&i,i<128?n:(i=e[this.pos++],n|=(127&i)<<7,i<128?n:(i=e[this.pos++],n|=(127&i)<<14,i<128?n:(i=e[this.pos++],n|=(127&i)<<21,i<128?n:(i=e[this.pos],n|=(15&i)<<28,function(t,e,n){const i=n.buf;let r,s;if(s=i[n.pos++],r=(112&s)>>4,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return az(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(n,t,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const t=this.readVarint();return t%2==1?(t+1)/-2:t/2}readBoolean(){return Boolean(this.readVarint())}readString(){const t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&sz?sz.decode(this.buf.subarray(e,t)):function(t,e,n){let i="",r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+u>n)break;1===u?e<128&&(l=e):2===u?(s=t[r+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===u?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&(l=(15&e)<<12|(63&s)<<6|63&o,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===u&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&e)<<18|(63&s)<<12|(63&o)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,u=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=u}return i}(this.buf,e,t)}readBytes(){const t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e}readPackedVarint(t=[],e){const n=this.readPackedEnd();for(;this.pos127;);else if(2===e)this.pos=this.readVarint()+this.pos;else if(5===e)this.pos+=4;else{if(1!==e)throw new Error(`Unimplemented type: ${e}`);this.pos+=8}}writeTag(t,e){this.writeVarint(t<<3|e)}realloc(t){let e=this.length||16;for(;e268435455||t<0?function(t,e){let n,i;if(t>=0?(n=t%4294967296|0,i=t/4294967296|0):(n=~(-t%4294967296),i=~(-t/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,n){n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos]=127&t}(n,0,e),function(t,e){const n=(7&t)<<4;e.buf[e.pos++]|=n|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(i,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))}writeSVarint(t){this.writeVarint(t<0?2*-t-1:2*t)}writeBoolean(t){this.writeVarint(+t)}writeString(t){t=String(t),this.realloc(4*t.length),this.pos++;const e=this.pos;this.pos=function(t,e,n){for(let i,r,s=0;s55295&&i<57344){if(!r){i>56319||s+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):r=i;continue}if(i<56320){t[n++]=239,t[n++]=191,t[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(t[n++]=239,t[n++]=191,t[n++]=189,r=null);i<128?t[n++]=i:(i<2048?t[n++]=i>>6|192:(i<65536?t[n++]=i>>12|224:(t[n++]=i>>18|240,t[n++]=i>>12&63|128),t[n++]=i>>6&63|128),t[n++]=63&i|128)}return n}(this.buf,t,this.pos);const n=this.pos-e;n>=128&&lz(e,n,this),this.pos=e-1,this.writeVarint(n),this.pos+=n}writeFloat(t){this.realloc(4),this.dataView.setFloat32(this.pos,t,!0),this.pos+=4}writeDouble(t){this.realloc(8),this.dataView.setFloat64(this.pos,t,!0),this.pos+=8}writeBytes(t){const e=t.length;this.writeVarint(e),this.realloc(e);for(let n=0;n=128&&lz(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(t,e,n){this.writeTag(t,2),this.writeRawMessage(e,n)}writePackedVarint(t,e){e.length&&this.writeMessage(t,uz,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,hz,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,pz,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,cz,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,dz,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,fz,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,gz,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,mz,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,yz,e)}writeBytesField(t,e){this.writeTag(t,2),this.writeBytes(e)}writeFixed32Field(t,e){this.writeTag(t,5),this.writeFixed32(e)}writeSFixed32Field(t,e){this.writeTag(t,5),this.writeSFixed32(e)}writeFixed64Field(t,e){this.writeTag(t,1),this.writeFixed64(e)}writeSFixed64Field(t,e){this.writeTag(t,1),this.writeSFixed64(e)}writeVarintField(t,e){this.writeTag(t,0),this.writeVarint(e)}writeSVarintField(t,e){this.writeTag(t,0),this.writeSVarint(e)}writeStringField(t,e){this.writeTag(t,2),this.writeString(e)}writeFloatField(t,e){this.writeTag(t,5),this.writeFloat(e)}writeDoubleField(t,e){this.writeTag(t,1),this.writeDouble(e)}writeBooleanField(t,e){this.writeVarintField(t,+e)}}function az(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function lz(t,e,n){const i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));n.realloc(i);for(let r=n.pos-1;r>=t;r--)n.buf[r+i]=n.buf[r]}function uz(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&u>h&&(i.push(u),h=u),n.push(a,l),u+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");u>h&&(n.push(n[h],n[h+1]),u+=2)}}u>h&&(i.push(u),h=u)}createFeature_(t,e,n){const i=e.type;if(0===i)return null;let r;const s=e.properties;let o;this.idProperty_?(o=s[this.idProperty_],delete s[this.idProperty_]):o=e.id,s[this.layerName_]=e.layer.name;const a=[],l=[];this.readRawGeometry_(t,e,a,l);const u=function(t,e){let n;return 1===t?n=1===e?"Point":"MultiPoint":2===t?n=1===e?"LineString":"MultiLineString":3===t&&(n="Polygon"),n}(i,l.length);if(this.featureClass===BA)r=new this.featureClass(u,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==u){const e=vT(a,l);t=e.length>1?new zA(a,"XY",e):new bT(a,"XY",l)}else t="Point"===u?new iT(a,"XY"):"LineString"===u?new NA(a,"XY"):"MultiPoint"===u?new jA(a,"XY"):"MultiLineString"===u?new DA(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=Kj(t,!1,n);r.setGeometry(e),void 0!==o&&r.setId(o),r.setProperties(s,!0)}return r}getType(){return"arraybuffer"}readFeatures(t,e){const n=this.layers_,i=nk((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new oz(t),s=r.readFields(vz,{}),o=[];for(const a in s){if(n&&!n.includes(a))continue;const t=s[a],l=t?[0,0,t.extent,t.extent]:null;i.setExtent(l);for(let n=0,i=t.length;n>3)?n.readString():2===t?n.readFloat():3===t?n.readDouble():4===t?n.readVarint64():5===t?n.readVarint():6===t?n.readSVarint():7===t?n.readBoolean():null;e.values.push(i)}}function wz(t,e,n){if(1==t)e.id=n.readVarint();else if(2==t){const t=n.readVarint()+n.pos;for(;n.pos=o.width)return null;const u=UE(s),h=Math.floor(o.height*((s[3]-i[1])/u));return h<0||h>=o.height?null:this.getImageData(o,l,h)}renderFrame(t,e){const n=this.image,i=n.getExtent(),r=n.getResolution(),[s,o]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],u=t.pixelRatio,h=t.viewState,c=h.center,d=h.resolution,p=u*s/(d*a),f=u*o/(d*a);this.prepareContainer(t,e);const g=this.context.canvas.width,m=this.context.canvas.height,y=this.getRenderContext(t);let _=!1,v=!0;if(l.extent){const e=mk(l.extent,h.projection);v=VE(e,t.extent),_=v&&!bE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=kk(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-c[0])/s,a*(c[1]-i[3])/o);this.renderedResolution=o*u/a;const x=b.width*w[0],S=b.height*w[3];if(this.getLayer().getSource().getInterpolate()||(y.imageSmoothingEnabled=!1),this.preRender(y,t),v&&x>=.5&&S>=.5){const t=w[4],e=w[5],n=l.opacity;1!==n&&(y.save(),y.globalAlpha=n),y.drawImage(b,0,0,+b.width,+b.height,t,e,x,S),1!==n&&y.restore()}return this.postRender(this.context,t),_&&y.restore(),y.imageSmoothingEnabled=!0,this.container}}class Ez extends ZR{constructor(t){super(t=t||{})}}class Cz extends Ez{constructor(t){super(t)}createRenderer(){return new Sz(this)}getData(t){return super.getData(t)}}function kz(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const Tz=new Error("disposed"),Rz=[256,256];class Pz extends HD{constructor(t){super(t.tileCoord,0,{transition:t.transition,interpolate:t.interpolate}),this.loader_=t.loader,this.data_=null,this.error_=null,this.size_=t.size||null,this.controller_=t.controller||null}getSize(){if(this.size_)return this.size_;const t=kz(this.data_);return t?[t.width,t.height]:Rz}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const t=this;this.loader_().then(function(e){t.data_=e,t.state=2,t.changed()}).catch(function(e){t.error_=e,t.state=3,t.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(Tz),this.controller_=null),super.disposeInternal()}}let Mz;const Iz=[];function Oz(t,e,n,i,r){t.beginPath(),t.moveTo(0,0),t.lineTo(e,n),t.lineTo(i,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,i)+1,Math.max(n,r)),t.restore()}function Az(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function Fz(t,e,n,i){const r=dk(n,e,t);let s=ik(e,i,n);const o=e.getMetersPerUnit();void 0!==o&&(s*=o);const a=t.getMetersPerUnit();void 0!==a&&(s/=a);const l=t.getExtent();if(!l||vE(l,r)){const e=ik(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function Lz(t,e,n,i,r,s,o,a,l,u,h,c,d){const p=zT(Math.round(n*t),Math.round(n*e),Iz);if(c||(p.imageSmoothingEnabled=!1),0===l.length)return p.canvas;function f(t){return Math.round(t*n)/n}p.scale(n,n),p.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach(function(t){RE(g,t.extent)});const y=n/i,_=(c?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===u||(m=zT(Math.round(GE(g)*y),Math.round(UE(g)*y),Iz),c||(m.imageSmoothingEnabled=!1),l.forEach(function(t){if(t.image.width>0&&t.image.height>0){if(t.clipExtent){m.save();const e=(t.clipExtent[0]-g[0])*y,n=-(t.clipExtent[3]-g[3])*y,i=GE(t.clipExtent)*y,r=UE(t.clipExtent)*y;m.rect(c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?r:Math.round(n+r)-Math.round(n)),m.clip()}const e=(t.extent[0]-g[0])*y,n=-(t.extent[3]-g[3])*y,i=GE(t.extent)*y,r=UE(t.extent)*y;m.drawImage(t.image,u,u,t.image.width-2*u,t.image.height-2*u,c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?r:Math.round(n+r)-Math.round(n)),t.clipExtent&&m.restore()}}));const v=qE(o);return a.getTriangles().forEach(function(t){const e=t.source,n=t.target;let i=e[0][0],r=e[0][1],o=e[1][0],a=e[1][1],u=e[2][0],h=e[2][1];const d=f((n[0][0]-v[0])/s),y=f(-(n[0][1]-v[1])/s),b=f((n[1][0]-v[0])/s),w=f(-(n[1][1]-v[1])/s),x=f((n[2][0]-v[0])/s),S=f(-(n[2][1]-v[1])/s),E=i,C=r;i=0,r=0,o-=E,a-=C,u-=E,h-=C;const k=function(t){const e=t.length;for(let i=0;ir&&(r=e,n=o)}if(0===r)return null;const s=t[n];t[n]=t[i],t[i]=s;for(let o=i+1;o=0;i--){n[i]=t[i][e]/t[i][i];for(let r=i-1;r>=0;r--)t[r][e]-=t[r][i]*n[i]}return n}([[o,a,0,0,b-d],[u,h,0,0,x-d],[0,0,o,a,w-y],[0,0,u,h,S-y]]);if(!k)return;if(p.save(),p.beginPath(),function(){if(void 0===Mz){const t=zT(6,6,Iz);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",Oz(t,4,5,4,0),Oz(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;Mz=Az(e,0)||Az(e,4)||Az(e,8),qT(t),Iz.push(t.canvas)}return Mz}()||!c){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;iEk(o,dk(t,this.targetProj_,this.sourceProj_)),function(t,e,n,i){const r=t.length;n=void 0!==n?n:2,i=i??n,e=void 0!==e?e:new Array(r);for(let s=0;s=o?t[s+n]:r[n]}return e}):ck(this.targetProj_,this.sourceProj_);var u;this.transformInv_=function(t){const e=t[0]+"/"+t[1];return a[e]||(a[e]=l(t)),a[e]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&GE(i)>=GE(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?GE(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?GE(this.targetProj_.getExtent()):null;const h=qE(n),c=$E(n),d=LE(n),p=FE(n),f=this.transformInv_(h),g=this.transformInv_(c),m=this.transformInv_(d),y=this.transformInv_(p),_=10+(s?Math.max(0,Math.ceil(Math.log2(AE(n)/(s*s*256*256)))):0);if(this.addQuad_(h,c,d,p,f,g,m,y,_),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach(function(e){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])}),this.triangles_.forEach(e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const n=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];n[0][0]-t>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-t>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-t>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i.5&&h<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=GE(gE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&h&&(p=h>.25||p)),!p&&this.maxSourceExtent_&&isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(u[3])&&!VE(u,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(r[0])&&isFinite(r[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)p=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(o[0])&&isFinite(o[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!p){const e=[(t[0]+n[0])/2,(t[1]+n[1])/2],i=this.transformInv_(e);let s;s=d?(aE(r[0],c)+aE(o[0],c))/2-aE(i[0],c):(r[0]+o[0])/2-i[0];const a=(r[1]+o[1])/2-i[1];p=s*s+a*a>this.errorThresholdSquared_}if(p){if(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])){const u=[(e[0]+n[0])/2,(e[1]+n[1])/2],h=this.transformInv_(u),c=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(c);this.addQuad_(t,e,u,c,r,s,h,d,l-1),this.addQuad_(c,u,n,i,d,h,o,a,l-1)}else{const u=[(t[0]+e[0])/2,(t[1]+e[1])/2],h=this.transformInv_(u),c=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(c);this.addQuad_(t,u,c,i,r,h,d,a,l-1),this.addQuad_(u,e,n,c,h,s,o,d,l-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(t,n,i,r,o,a),14&f||this.addTriangle_(t,n,e,r,o,s),f&&(13&f||this.addTriangle_(e,i,t,s,a,r),7&f||this.addTriangle_(e,i,n,s,a,o))}calculateSourceExtent(){const t=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach(function(e){const n=e.source;PE(t,n[0]),PE(t,n[1]),PE(t,n[2])}),t}getTriangles(){return this.triangles_}}class Dz extends HD{constructor(t,e,n,i,r,s,o,a,l,u,h,c){super(r,0,c),this.renderEdges_=void 0!==h&&h,this.pixelRatio_=o,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=i,this.wrappedTileCoord_=s||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const d=i.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const g=p?BE(d,p):d;if(0===AE(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?BE(f,m):m);const y=i.getResolution(this.wrappedTileCoord_[0]),_=function(t,e,n,i){const r=NE(n);let s=Fz(t,e,r,i);return(!isFinite(s)||s<=0)&&OE(n,function(n){return s=Fz(t,e,n,i),isFinite(s)&&s>0}),s}(t,n,g,y);if(!isFinite(_)||_<=0)return void(this.state=4);const v=void 0!==u?u:.5;if(this.triangulation_=new Nz(t,n,g,f,_*v,y),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=e.getZForResolution(_);let b=this.triangulation_.calculateSourceExtent();if(f&&(t.canWrapX()?(b[1]=nE(b[1],f[1],f[3]),b[3]=nE(b[3],f[1],f[3])):b=BE(b,f)),AE(b)){let n=0,i=0;t.canWrapX()&&(n=GE(m),i=Math.floor((b[0]-m[0])/n)),XE(b.slice(),t,!0).forEach(t=>{const r=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,o);if(r){const t=i*n;this.sourceTiles_.push({tile:r,offset:t})}}++i}),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{const n=e.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=e.offset,i[2]+=e.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=e.offset,r[2]+=e.offset),t.push({extent:i,clipExtent:r,image:n.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=3;else{const e=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(e),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],s=this.targetTileGrid_.getResolution(e),o=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=Lz(i,r,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,a,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const n=e.getState();if(0==n||1==n){t++;const n=vS(e,Yx,()=>{const i=e.getState();2!=i&&3!=i&&4!=i||(wS(n),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(n)}}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t}){0==t.getState()&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(wS),this.sourcesListenerKeys_=null}release(){this.canvas_&&(qT(this.canvas_.getContext("2d")),Iz.push(this.canvas_),this.canvas_=null),super.release()}}class jz{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const t=this.pop();t instanceof iS&&t.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const n=this.entries_[t];return ZS(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(t){const e=this.entries_[t];return ZS(void 0!==e,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.key_;return t}getValues(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){return this.entries_[t]?.value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){ZS(!(t in this.entries_),"Tried to set a value for a key that is used already");const n={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[t]=n,++this.count_}setSize(t){this.highWaterMark=t}}function zz(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function Uz(t,e,n,i,r){return`${CS(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function Bz(t,e,n){if(!(n in t))return t[n]=new Set([e]),!0;const i=t[n],r=i.has(e);return r||i.add(e),!r}function qz(t,e,n){const i=t[n];return!!i&&i.delete(e)}function $z(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=BE(e,mk(n.extent,t.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=BE(e,n))}return e}class Gz extends SA{constructor(t,e){super(t),e=e||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new XD(0,0,0,0),this.tempTileCoord_=zz(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new jz(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new jz(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=Uz(s,s.getKey(),t,e,n);let a;if(r.containsKey(o))a=r.get(o);else{const l=i.viewState.projection,u=s.getProjection();if(a=s.getTile(t,e,n,i.pixelRatio,l,!u||lk(u,l)?void 0:this.getSourceTileCache()),!a)return null;r.set(o,a)}return a}getTile(t,e,n,i){return this.getOrCreateTile(t,e,n,i)||null}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),i=Ek(e.pixelToCoordinateTransform,t.slice()),r=n.getExtent();if(r&&!vE(r,i))return null;const s=e.viewState,o=n.getRenderSource(),a=o.getTileGridForProjection(s.projection),l=o.getTilePixelRatio(e.pixelRatio);for(let u=a.getZForResolution(s.resolution);u>=a.getMinZoom();--u){const t=a.getTileCoordForCoordAndZ(i,u),n=this.getTile(u,t[1],t[2],e);if(!n||2!==n.getState())continue;const r=a.getOrigin(u),h=jP(a.getTileSize(u)),c=a.getResolution(u);let d;if(n instanceof KD||n instanceof Dz)d=n.getImage();else{if(!(n instanceof Pz))continue;if(d=kz(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/c-t[1]*h[0])),f=Math.floor(l*((r[1]-i[1])/c-t[2]*h[1])),g=Math.round(l*o.getGutterForProjection(s.projection));return this.getImageData(d,p+g,f+g)}return null}prepareFrame(t){this.renderedProjection?t.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=t.viewState.projection):this.renderedProjection=t.viewState.projection;const e=this.getLayer().getSource();if(!e)return!1;const n=e.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==n&&(this.renderedSourceRevision_=n,this.renderedSourceKey_===e.getKey()&&(this.tileCache_.clear(),this.sourceTileCache_?.clear())):this.renderedSourceRevision_=n,!0}enqueueTilesForNextExtent(){return!0}enqueueTiles(t,e,n,i,r){const s=t.viewState,o=this.getLayer(),a=o.getRenderSource(),l=a.getTileGridForProjection(s.projection),u=CS(a);u in t.wantedTiles||(t.wantedTiles[u]={});const h=t.wantedTiles[u],c=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),c?c.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?zE(s.center,s.resolution,p,t.size):void 0;for(let g=n;g>=d;--g){const n=l.getTileRangeForExtentAndZ(e,g,this.tempTileRange_),r=l.getResolution(g);for(let e=n.minX;e<=n.maxX;++e)for(let s=n.minY;s<=n.maxY;++s){if(p&&!l.tileCoordIntersectsViewport([g,e,s],f))continue;const n=this.getTile(g,e,s,t);if(!n)continue;if(!Bz(i,n,g))continue;const o=n.getKey();if(h[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=zz(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,u,l.getTileCoordCenter(i),r])}}}}findStaleTile_(t,e){const n=this.tileCache_,i=t[0],r=t[1],s=t[2],o=this.getStaleKeys();for(let a=0;a0&&setTimeout(()=>{this.enqueueTiles(t,E,c-1,x,S-1)},0),!(c in x))return this.container;const C=CS(this),k=t.time;for(const A of x[c]){const e=A.getState();if(4===e)continue;const n=A.tileCoord;if(2===e&&1===A.getAlpha(C,k)){A.endTransition(C);continue}if(3!==e&&(this.renderComplete=!1),this.findStaleTile_(n,x)){qz(x,A,c),t.animate=!0;continue}if(this.findAltTiles_(h,n,c+1,x))continue;const i=h.getMinZoom();for(let t=c-1;t>=i&&!this.findAltTiles_(h,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);kk(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,_),u.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const P=Object.keys(x).map(Number);let M;P.sort(rS);const I=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=u.getTilePixelSize(e,a,r),i=h.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=h.getTileCoordForCoordAndZ(qE(w),e),c=h.getTileCoordExtent(l),p=Ek(this.tempTransform,[g*(c[0]-w[0])/d,g*(w[3]-c[3])/d]),f=g*u.getGutterForProjection(r);for(const r of x[e]){if(2!==r.getState())continue;const n=r.tileCoord,i=l[1]-n[1],a=Math.round(p[0]-(i-1)*s),h=l[2]-n[2],c=Math.round(p[1]-(h-1)*o),d=Math.round(p[0]-i*s),g=Math.round(p[1]-h*o),m=a-d,y=c-g,_=1===P.length;let v=!1;M=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=I.length;t{const n=CS(u),i=e.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache(),this.sourceTileCache_?.expireCache()};t.postRenderFunctions.push(e)}return this.container}updateCacheSize(t){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*t)}drawTile(t,e,n,i,r,s,o,a){let l;if(t instanceof Pz){if(l=kz(t.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(t);if(!l)return;const u=this.getRenderContext(e),h=CS(this),c=e.layerStatesArray[e.layerIndex],d=c.opacity*(a?t.getAlpha(h,e.time):1),p=d!==u.globalAlpha;p&&(u.save(),u.globalAlpha=d),u.drawImage(l,o,o,l.width-2*o,l.height-2*o,n,i,r,s),p&&u.restore(),d!==c.opacity?e.animate=!0:a&&t.endTransition(h)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}updateUsedTiles(t,e,n){const i=CS(e);i in t||(t[i]={}),t[i][n.getKey()]=!0}}const Vz="preload",Wz="useInterimTilesOnError";class Hz extends ZR{constructor(t){t=t||{};const e=Object.assign({},t),n=t.cacheSize;delete t.cacheSize,delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(Vz)}setPreload(t){this.set(Vz,t)}getUseInterimTilesOnError(){return this.get(Wz)}setUseInterimTilesOnError(t){this.set(Wz,t)}getData(t){return super.getData(t)}}class Kz extends Hz{constructor(t){super(t)}createRenderer(){return new Gz(this,{cacheSize:this.getCacheSize()})}}const Xz={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},Yz={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class Zz extends Gz{constructor(t,e){super(t,e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}enqueueTilesForNextExtent(){return"vector"!==this.getLayer().getRenderMode()}drawTile(t,e,n,i,r,s,o,a){this.updateExecutorGroup_(t,e.pixelRatio,e.viewState.projection),this.tileImageNeedsRender_(t)&&this.renderTileImage_(t,e),super.drawTile(t,e,n,i,r,s,o,a)}getTile(t,e,n,i){const r=this.getOrCreateTile(t,e,n,i);if(!r)return null;const s=i.viewState,o=s.resolution,a=i.viewHints,l=this.getLayer().getSource(),u=l.getTileGridForProjection(s.projection),h=!(a[0]||a[1]),c=u.getZForResolution(o,l.zDirection)===t;return h&&c?r.wantedResolution=o:r.wantedResolution||(r.wantedResolution=u.getResolution(t)),r}prepareFrame(t){const e=this.getLayer().getRevision();return this.renderedLayerRevision_!==e&&(this.renderedLayerRevision_=e,this.renderedTiles.length=0),super.prepareFrame(t)}updateExecutorGroup_(t,e,n){const i=this.getLayer(),r=i.getRevision(),s=i.getRenderOrder()||null,o=t.wantedResolution,a=t.getReplayState(i);if(!a.dirty&&a.renderedResolution===o&&a.renderedRevision==r&&a.renderedRenderOrder==s)return;const l=i.getSource(),u=!!i.getDeclutter(),h=l.getTileGrid(),c=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=CS(i);delete t.hitDetectionImageData[p],t.executorGroups[p]=[],a.dirty=!1;for(let f=0,g=d.length;ft.value):null;let m;t:for(let y=0,_=d.length;y<_;++y){const e=d[y];if(!VE(l.getTileCoordExtent(e.wrappedTileCoord),u))continue;const i=e.executorGroups[p];for(let r=0,a=i.length;r{const n=this.getLayer(),i=n.getSource(),r=this.renderedProjection,s=r.getExtent(),o=this.renderedResolution,a=i.getTileGridForProjection(r),l=Ek(this.renderedPixelToCoordinateTransform_,t.slice()),u=a.getTileCoordForCoordAndResolution(l,o).toString(),h=this.renderedTiles.find(t=>t.tileCoord.toString()===u&&2===t.getState());if(!h||h.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!bE(s,a.getTileCoordExtent(h.tileCoord))&&JE(l,r);const c=CS(n),d=qE(a.getTileCoordExtent(h.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=h.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=h.hitDetectionImageData[c];if(!g){const t=jP(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=dA(t,[this.getRenderTransform(a.getTileCoordCenter(h.wrappedTileCoord),o,0,cA,t[0]*cA,t[1]*cA,0)],f,n.getStyleFunction(),a.getTileCoordExtent(h.wrappedTileCoord),h.getReplayState(n).renderedResolution,e),h.hitDetectionImageData[c]=g}e(pA(p,f,g))})}getFeaturesInExtent(t){const e=[],n=this.getTileCache();if(0===n.getCount())return e;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),s={};return n.forEach(n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const o=n.getSourceTiles();for(let r=0,a=o.length;r=0;--i)n[i].execute(this.context,o,this.getTileRenderTransform(e,t),t.viewState.rotation,s,oA,l)}n.globalAlpha=i}renderDeferredInternal(t){const e=this.renderedTiles,n=CS(this.getLayer()),i=e.reduce((t,e,i)=>(e.executorGroups[n].forEach(e=>t.push({executorGroup:e,index:i})),t),[]),r=i.map(({executorGroup:t})=>t.getDeferredZIndexContexts()),s={};for(let o=0,a=i.length;o{r.forEach((e,n)=>{e[t]&&(e[t].forEach(t=>{const{executorGroup:e,index:r}=i[n],s=e.getRenderedContext(),o=s.globalAlpha;s.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(s),t.draw(s),a&&s.restore(),s.globalAlpha=o,t.clear()}),e[t].length=0)})})}getTileRenderTransform(t,e){const n=e.pixelRatio,i=e.viewState,r=i.center,s=i.resolution,o=i.rotation,a=e.size,l=Math.round(a[0]*n),u=Math.round(a[1]*n),h=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),c=t.tileCoord,d=h.getTileCoordExtent(t.wrappedTileCoord),p=h.getTileCoordExtent(c,this.tempExtent)[0]-d[0];return xk(Ck(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,s,o,n,l,u,p))}postRender(t,e){const n=e.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation,this.renderedOpacity_=e.layerStatesArray[e.layerIndex].opacity;const r=this.getLayer(),s=r.getRenderMode(),o=t.globalAlpha;t.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?Yz[s].filter(t=>!oA.includes(t)):Yz[s],u=e.viewState,h=u.rotation,c=r.getSource(),d=c.getTileGridForProjection(u.projection).getZForResolution(u.resolution,c.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=CS(r);let _=!0;for(let v=p.length-1;v>=0;--v){const n=p[v];_=_&&!n.getReplayState(r).dirty;const s=n.executorGroups[y].filter(t=>t.hasExecutors(l));if(0===s.length)continue;const o=this.getTileRenderTransform(n,e),u=n.tileCoord[0];let c=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new HO,x=w.getContext();for(let t=0,e=f.length;t{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){wS(this.sourceListenerKey_),this.sourceListenerKey_=null}}class eU extends yS{constructor(t,e){super(t),this.image=e}}class nU extends $A{constructor(t){super({attributions:t.attributions,projection:t.projection,state:t.state,interpolate:void 0===t.interpolate||t.interpolate}),this.on,this.once,this.un,this.loader=t.loader||null,this.resolutions_=void 0!==t.resolutions?t.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!t.loader&&0===t.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(t){this.resolutions_=t}findNearestResolution(t){const e=this.getResolutions();return e&&(t=e[oS(e,t,0)]),t}getImage(t,e,n,i){const r=this.getProjection();if(!r||!i||lk(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&lk(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==e&&TE(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new tU(r,i,t,e,n,(t,e,n)=>this.getImageInternal(t,e,n,r),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,n,i){if(this.loader){const r=function(t,e,n){const i=e/n,r=NE(t),s=cE(GE(t)/i,4),o=cE(UE(t)/i,4);return jE(r,i,0,[s+2*cE(0*s/2,4),o+2*cE(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&bE(this.wantedExtent_,r)||bE(this.image.getExtent(),r))&&(this.wantedResolution_&&Qz(this.wantedResolution_)===s||Qz(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new uI(r,s,n,this.loader),this.image.addEventListener(Yx,this.handleImageChange.bind(this))}return this.image}handleImageChange(t){const e=t.target;let n;switch(e.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new eU(n,e))}}const iU=[0,0,0];class rU{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,ZS(function(t){const e=((t,e)=>e-t)||rS;return t.every(function(n,i){if(0===i)return!0;const r=e(t[i-1],n);return!(r>0||0===r)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!t.origins)for(let i=0,r=this.resolutions_.length-1;i{const i=new XD(Math.min(0,t[0]),Math.max(t[0]-1,-1),Math.min(0,t[1]),Math.max(t[1]-1,-1));if(n){const t=this.getTileRangeForExtentAndZ(n,e);i.minX=Math.max(t.minX,i.minX),i.maxX=Math.min(t.maxX,i.maxX),i.minY=Math.max(t.minY,i.minY),i.maxY=Math.min(t.maxY,i.maxY)}return i}):n&&this.calculateTileRanges_(n)}forEachTileCoord(t,e,n){const i=this.getTileRangeForExtentAndZ(t,e);for(let r=i.minX,s=i.maxX;r<=s;++r)for(let t=i.minY,o=i.maxY;t<=o;++t)n([e,r,t])}forEachTileCoordParentTileRange(t,e,n,i){let r,s,o,a=null,l=t[0]-1;for(2===this.zoomFactor_?(s=t[1],o=t[2]):a=this.getTileCoordExtent(t,i);l>=this.minZoom;){if(void 0!==s&&void 0!==o?(s=Math.floor(s/2),o=Math.floor(o/2),r=YD(s,s,o,o,n)):r=this.getTileRangeForExtentAndZ(a,l,n),e(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,n){if(t[0]this.maxZoom||e0?i:Math.max(s/n[0],r/n[1]);const o=e+1,a=new Array(o);for(let l=0;ln||n>e.getMaxZoom())return!1;const s=e.getFullTileRange(n);return!s||s.containsXY(i,r)}(t,i)?t:null}clear(){}refresh(){this.clear(),super.refresh()}}class hU extends yS{constructor(t,e){super(t),this.tile=e}}function cU(t){return function(e){const n=e.buffers,i=e.meta,r=e.imageOps,s=e.width,o=e.height,a=n.length,l=n[0].byteLength;if(r){const e=new Array(a);for(let t=0;tthis.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const t=this.queue_.shift();this.job_=t;const e=t.inputs[0].width,n=t.inputs[0].height,i=t.inputs.map(function(t){return t.data.buffer}),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},i);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/r);for(let a=0;athis.getTileInternal(t,e,n,i,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=l,d}getTileInternal(t,e,n,i,r,s){const o=this.getKey(),a=Uz(this,o,t,e,n);if(s&&s.containsKey(a))return s.get(a);const l=this.createTile_(t,e,n,i,r,o);return s?.set(a,l),l}setRenderReprojectionEdges(t){this.renderReprojectionEdges_!=t&&(this.renderReprojectionEdges_=t,this.changed())}setTileGridForProjection(t,e){const n=nk(t);if(n){const t=CS(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function TU(t,e){if(jS){const n=t.getCrossOrigin();let i="same-origin",r="same-origin";return"anonymous"===n||""===n?(i="cors",r="omit"):"use-credentials"===n&&(i="cors",r="include"),void fetch(e,{mode:i,credentials:r}).then(t=>{if(!t.ok)throw new Error(`HTTP ${t.status}`);return t.blob()}).then(t=>createImageBitmap(t)).then(e=>{const n=t.getImage();n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),e.close?.(),n.dispatchEvent(new Event("load"))}).catch(()=>{t.getImage().dispatchEvent(new Event("error"))})}t.getImage().src=e}class RU extends kU{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:nk("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.tileJSON_=null,this.tileSize_=t.tileSize,t.url)if(t.jsonp)!function(t,e,n){const i=document.createElement("script"),r="olc_"+CS(e);function s(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=t+(t.includes("?")?"&":"?")+"callback="+r;const o=setTimeout(function(){s(),n&&n()},1e4);window[r]=function(t){clearTimeout(o),s(),e(t)},document.head.appendChild(i)}(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch{return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(t){const e=nk("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=uk(e,n);i=HE(t.bounds,r)}const r=lU(n),s=t.minzoom||0,o=oU({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=EU(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==i?i:r;this.setAttributions(function(n){return VE(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class PU extends CU{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||lU(e),i=t.tileGrid||oU({extent:n,maxResolution:t.maxResolution,maxZoom:void 0!==t.maxZoom?t.maxZoom:22,minZoom:t.minZoom,tileSize:t.tileSize||512});super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,interpolate:!0,projection:e,state:t.state,tileGrid:i,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:MU,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:void 0===t.zDirection?1:t.zDirection}),this.format_=t.format?t.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==t.overlaps||t.overlaps,this.tileClass=t.tileClass?t.tileClass:QD,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(t,e,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(e);let s=r.getTileCoordExtent(i);const o=i[0],a=r.getResolution(o);mE(s,-a,s);const l=this.projection;e&&this.projection&&!lk(e,l)&&(s=pk(s,e,l));const u=this.tileGrid,h=u.getExtent();h&&BE(s,h,s);let c=a;e&&l&&!lk(e,l)&&(c=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=u.getZForResolution(c,this.zDirection);u.forEachTileCoord(s,d,i=>{const r=this.tileUrlFunction(i,t,e);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const s=this.sourceTiles_[r];n.sourceTiles.push(s),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const o=s.getState();if(o<2){const t=e=>{this.handleTileChange(e);const i=s.getState();if(2===i||3===i){const e=s.getKey();e in n.errorTileKeys?2===s.getState()&&delete n.errorTileKeys[e]:n.loadingSourceTiles--,3===i?n.errorTileKeys[e]=!0:s.removeEventListener(Yx,t),0===n.loadingSourceTiles&&n.setState(mS(n.errorTileKeys)?2:3)}};s.addEventListener(Yx,t),n.loadingSourceTiles++}0===o&&(s.extent=u.getTileCoordExtent(i),s.projection=this.projection,s.resolution=u.getResolution(i[0]),s.load())}),n.loadingSourceTiles||n.setState(n.sourceTiles.some(t=>3===t.getState())?3:2)}return n.sourceTiles}removeSourceTiles(t){const e=t.getKey(),n=t.sourceTiles;for(let i=0,r=n.length;i{h=h&&!this.tileUrlFunction(t,i,l)})}const c=new JD(s,h?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return c.key=this.getKey(),c}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!lk(i,t))return sU(t);const r=this.tileGrid,s=r.getResolutions().slice(),o=s.map(function(t,e){return r.getOrigin(e)}),a=s.map(function(t,e){return r.getTileSize(e)}),l=43;for(let t=s.length;td?c-A+d:d-A,O=Math.atan(Math.sqrt(M*M+I*I)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),F=Math.cos(O),L=255*q,z=Math.min(Math.max(2*e.sunEl,0),1),U=1.875-1.75*e.opacity,B=.5!==e.opacity?d*((Math.pow(U,O)-1)/(Math.pow(U,d)-1)):O,D={r:(1-F)*v.r*z*255,g:(1-F)*v.g*z*255,b:(1-F)*v.b*z*255,a:(1-F)*v.a*z*255},N=Math.abs(((A+f)/Math.PI+.5)%2-1),j={r:(y.r*(1-N)+_.r*N)*L,g:(y.g*(1-N)+_.g*N)*L,b:(y.b*(1-N)+_.b*N)*L,a:(y.a*(1-N)+_.a*N)*L},T=4*(x*i+w),o[T]=D.r*(1-N)+j.r,o[T+1]=D.g*(1-N)+j.g,o[T+2]=D.b*(1-N)+j.b,o[T+3]=s[T+3]*e.opacity*z*Math.sin(B);return new ImageData(o,i,r)}function OU(t,e){const n=t[0],i=n.width,r=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=i-1,l=r-1,u=[0,0,0,0];let h,c,d;const p=(f=e.saturation)>0?1-1/(1.001-f):-f;var f;const g=(m=e.contrast)>0?1/(1-m):1+m;var m;const y=function(t){t*=Math.PI/180;const e=Math.sin(t),n=Math.cos(t);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}(e.hueRotate),_=y,v=[y[2],y[0],y[1]],b=[y[1],y[2],y[0]],w=e.brightnessLow,x=e.brightnessHigh;for(c=0;c<=l;++c)for(h=0;h<=a;++h){d=4*(c*i+h),u[0]=s[d],u[1]=s[d+1],u[2]=s[d+2],u[3]=s[d+3];const t=u[0],e=u[1],n=u[2],r=(t,e)=>{let n=0;for(let i=0;i{e.accessToken=t,e.accessTokenParam=n})),e}function LU(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function NU(t,e,n){const i=new RU({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=nk(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=ok([n[0],n[1]],e),i=ok([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return nk(e).getExtent()}(r,o),l=o.getExtent(),u=r.minzoom||0,h=r.maxzoom||22,c={attributions:i.getAttributions(),projection:o,tileGrid:new rU({origin:l?qE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:u,resolutions:AU(o,e.tileSize).slice(0,h+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?c.urls=r.tiles:c.url=r.tiles,c}function DU(t,e,n){return new Promise(function(i,r){wj(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=NU(t,e,n);s.tileLoadFunction=r,s.format=new _z({layerName:"mvt:layer"});const o=new PU(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function jU(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function zU(t,e,n){const i=new Kz;return function(t,e,n){return new Promise(function(i,r){wj(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=new RU({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=NU(t,e,n).tileGrid,n.projection&&(s.projection=nk(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=jU(n);let r=o(t,e,n);if(-1!=r.indexOf(i)){const e=s.getTileGrid().getTileCoordExtent(t);r=r.replace(i,e.toString())}return r}),s.set("mapbox-source",t),i(s)}).catch(function(t){r(t)})})}(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}function UU(t,e,n){const i=n.projection?new tz({dataProjection:n.projection}):new tz,r=t.data,s={};if("string"==typeof r){const[s]=sj(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=jU(n);return s.replace(i,`${t.join(",")}`)},r=new KA({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{_j("GeoJSON","function"==typeof e?e(t,i,s):e,n).then(t=>{const e=r.getFormat().readFeatures(t,{featureProjection:s});r.addFeatures(e),o(e)}).catch(()=>{r.removeLoadedExtent(t),a()})},strategy:PA});return r.set("mapbox-source",t),r}const o=new KA({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{_j("GeoJSON",s,n).then(t=>{const e=o.getFormat().readFeatures(t,{featureProjection:i});o.addFeatures(e),r(e)}).catch(()=>{o.removeLoadedExtent(t),a()})}});return o}s.features=i.readFeatures(r,{featureProjection:"EPSG:3857"});const o=new KA(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function BU(t,e,n,i){const r=cj(t),s=t.layers,o=n.type,a=n.source||LU(s,n.ref),l=t.sources[a];let u;if("background"==o)u=function(t,e,n){const i=jS?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new ZR({source:new $A({}),render(r){const s=function(t,e,n,i){const r={id:t.id,type:t.type},s=t.layout||{},o=t.paint||{};let a;r.paint=o,Nj.zoom=gj(e,n.resolutions||pj),Nj.distanceFromCenter=0;const l=zj(r,"paint","background-color",oj,i);return void 0!==o["background-opacity"]&&(a=zj(r,"paint","background-opacity",oj,i)),"none"==s.visibility?void 0:qj(l,a)}(t,r.viewState.resolution,e,n);return i.style.backgroundColor=s,i}})}(n,i,r);else if("vector"==l.type)u=function(t,e,n){const i=new Jz({declutter:!0,visible:!1});return DU(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}(l,e,i);else if("raster"==l.type){const t=["raster-saturation","raster-contrast","raster-brightness-max","raster-brightness-min","raster-hue-rotate"];Object.keys(n.paint||{}).find(e=>t.includes(e))?(u=function(t,e,n){const i=zU(t,e,n);return new Cz({source:new gU({operationType:"image",operation:OU,sources:[i]})})}(l,e,i),u.getSource().on("beforeoperations",function(t){Nj.zoom=gj(t.resolution,i.resolutions||pj),Nj.distanceFromCenter=0;const e=t.data;e.saturation=zj(n,"paint","raster-saturation",oj,r),e.contrast=zj(n,"paint","raster-contrast",oj,r),e.brightnessHigh=zj(n,"paint","raster-brightness-max",oj,r),e.brightnessLow=zj(n,"paint","raster-brightness-min",oj,r),e.hueRotate=zj(n,"paint","raster-hue-rotate",oj,r)})):u=zU(l,e,i),u.setVisible(!n.layout||"none"!==n.layout.visibility),u.on("prerender",function(t,e,n){let i=null;return function(r){t.paint&&"raster-opacity"in t.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[t.id],function(t,e,n,i){Nj.zoom=n,Nj.distanceFromCenter=0;const r=zj(t,"paint","raster-opacity",oj,i);e.setOpacity(r)}(t,e,i,n))}}(n,u,r))}else if("geojson"==l.type)u=function(t,e,n){return new CA({declutter:!0,source:UU(t,e,n),visible:!1})}(l,e,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const t=function(t,e,n){const i=zU(t,e,n);return new Cz({source:new gU({operationType:"image",operation:IU,sources:[i]})})}(l,e,i);u=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=ik(i.projection||"EPSG:3857",t.resolution,NE(t.extent),"m"),Nj.zoom=gj(t.resolution,i.resolutions||pj),Nj.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*zj(n,"paint","hillshade-exaggeration",oj,r),e.sunAz=zj(n,"paint","hillshade-illumination-direction",oj,r),e.sunEl=35,e.opacity=.3,e.highlightColor=zj(n,"paint","hillshade-highlight-color",oj,r),e.shadowColor=zj(n,"paint","hillshade-shadow-color",oj,r),e.accentColor=zj(n,"paint","hillshade-accent-color",oj,r)}),u.setVisible(!n.layout||"none"!==n.layout.visibility)}const h=a;return u&&u.set("mapbox-source",h),u}function qU(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let u=0,h=l.length;u0||n>0)&&t.setMaxResolution(Math.min(mj(Math.max(0,o-1e-12),pj),mj(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(mj(a,pj))}}else o>0&&t.setMaxResolution(mj(Math.max(0,o-1e-12),pj));h instanceof KA||h instanceof PU?function(t,e,n="",i={},r){let s,o,a,l,u=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(s=i,a={}):(s=i.styleUrl,a=i),!1===a.updateSource&&(u=!1),r||(r=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:ij(s,a.accessToken),a=FU(s,a)),new Promise(function(n,i){vj(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof CA||t instanceof Jz))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const h=t instanceof Jz?"vector":"geojson";if(l?o=Array.isArray(l)?e.layers.find(function(t){return t.id===l[0]}).source:l:(o=e.layers.find(function(t){return t.source&&e.sources[t.source].type===h}).source,l=o),!o)return i(new Error(`No ${h} source found in the glStyle.`));function c(){if(!u)return Promise.resolve();if(t instanceof Jz)return DU(e.sources[o],s,a).then(function(e){const n=t.getSource();n?e!==n&&(n.setTileUrlFunction(e.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof e.getUrls&&n.setUrls(e.getUrls()),n.format_||(n.format_=e.format_),n.getAttributions()||n.setAttributions(e.getAttributions()),n.getTileLoadFunction()===MU&&n.setTileLoadFunction(e.getTileLoadFunction()),lk(n.getProjection(),e.getProjection())&&(n.tileGrid=e.getTileGrid())):t.setSource(e);const i=t.getSource().getTileGrid();!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())&&i.getMinZoom()>0&&t.setMaxResolution(mj(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))});const n=e.sources[o];let i=t.getSource();i&&i.get("mapbox-source")===n||(i=UU(n,s,a));const r=t.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):t.setSource(i),Promise.resolve()}let d,p;const f={},g={};function m(){if(p||e.sprite&&!f)p?(t.setStyle(p),c().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=nk(a.projection).getUnits();"m"!==t&&(r=pj.map(e=>e/aC[t]))}let s;const u=t.getSource();u instanceof PU&&u.format_ instanceof _z&&(s=u.format_.layerName_),p=function(t,e,n,i=pj,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");Wj[function(t,e){return hj(t)+"."+CS(e)}(e,t)]=Array.from(arguments);const l={};("string"==typeof s||s instanceof Request||s instanceof Response||s instanceof Promise)&&(s={default:s});for(const w in s){const e=s[w];fS(()=>e).then(async e=>{let n;if("undefined"!=typeof Image){const i=new Image;if("string"==typeof e)i.crossOrigin="anonymous",i.src=e;else{let t;e instanceof Request?t=await fetch(e):e instanceof Response&&(t=e);const r=await t.blob();n=URL.createObjectURL(r),i.src=n}i.addEventListener("load",function e(){i.removeEventListener("load",e),l[w]={image:i,size:[i.width,i.height]},t.changed(),n&&URL.revokeObjectURL(n)}),i.addEventListener("error",function t(){URL.revokeObjectURL(n),i.removeEventListener("error",t)})}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const t=self;t.postMessage({action:"loadImage",src:e}),t.addEventListener("message",function(t){"imageLoaded"===t.data.action&&t.data.src===e&&(l[w]={image:t.data.image,size:[t.data.image.width,t.data.image.height]})})}})}const u=uF(e.layers),h={},c=[],d={},p={},f=cj(e),g=function(t){let e=lj[t.id];return e||(e={},lj[hj(t)]=e),e}(e);let m;for(let w=0,x=u.length;w=c.maxzoom)continue;const k=c.filter;if(!k||Bj(x,k,T,g)){let i,u,g,b,w,x;const k=h.index;if(3==S&&("fill"==c.type||"fill-extrusion"==c.type))if(u=zj(c,"paint",c.type+"-opacity",T,f,R),c.type+"-pattern"in C){const t=zj(c,"paint",c.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?Gj(t,m):t.toString(),n=Vj(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new $I({fill:new zI}),v[P]=x),g=x.getFill(),x.setZIndex(k);const t=e+"."+u;let i=p[t];if(!i){const s=r[e],o=fj(s.width,s.height),a=o.getContext("2d");a.globalAlpha=u,a.drawImage(n.image,s.x,s.y,s.width,s.height,0,0,s.width,s.height),i=a.createPattern(o,"repeat"),p[t]=i}g.setColor(i)}}}else i=qj(zj(c,"paint",c.type+"-color",T,f,R),u),c.type+"-outline-color"in C&&(w=qj(zj(c,"paint",c.type+"-outline-color",T,f,R),u)),w||(w=i),(i||w)&&(++P,x=v[P],(!x||i&&!x.getFill()||!i&&x.getFill()||w&&!x.getStroke()||!w&&x.getStroke()||x.getText())&&(x=new $I({fill:i?new zI:void 0,stroke:w?new qI:void 0}),v[P]=x),i&&(g=x.getFill(),g.setColor(i)),w&&(b=x.getStroke(),b.setColor(w),b.setWidth(.5)),x.setZIndex(k));if(1!=S&&"line"==c.type){i="line-pattern"in C?void 0:qj(zj(c,"paint","line-color",T,f,R),zj(c,"paint","line-opacity",T,f,R));const t=zj(c,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new $I({stroke:new qI}),v[P]=x),b=x.getStroke(),b.setLineCap(zj(c,"layout","line-cap",T,f,R)),b.setLineJoin(zj(c,"layout","line-join",T,f,R)),b.setMiterLimit(zj(c,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(C["line-dasharray"]?zj(c,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(k))}let M,I,O,A,F,L,N,D,j,z=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in E){const e=zj(c,"layout","icon-image",T,f,R);if(e){let i;M="string"==typeof e?Gj(e,m):e.toString();const o=a?a(t,M):void 0,u=Vj(M,l);if(r&&r[M]&&u||o){const t=zj(c,"layout","icon-rotation-alignment",T,f,R);if(2==S){const e=n.getGeometry();if(e.getFlatMidpoint||e.getFlatMidpoints){const n=e.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/s,2),Math.pow((n[3]-n[1])/s,2)))>150){const n="MultiLineString"===e.getType()?e.getFlatMidpoints():e.getFlatMidpoint();if(jj||(Dj=[NaN,NaN],jj=new BA("Point",Dj,[],2,{},void 0)),i=jj,Dj[0]=n[0],Dj[1]=n[1],"line"===zj(c,"layout","symbol-placement",T,f,R)&&"map"===t){const t=e.getStride(),i=e.getFlatCoordinates();for(let e=0,r=i.length-t;e=l){B=Math.atan2(s-a,o-r);break}}}}}}if(2!==S||i){const e=zj(c,"layout","icon-size",T,f,R),n=void 0!==C["icon-color"]?zj(c,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=zj(c,"paint","icon-halo-color",T,f,R),s=zj(c,"paint","icon-halo-width",T,f,R);let a=`${M}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),I=d[a],!I){const l=Uj(c,T,"icon",f);let h;"icon-offset"in E&&(h=zj(c,"layout","icon-offset",T,f,R).slice(0),h[0]*=e,h[1]*=-e);let p=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(o){const n={color:p,rotateWithView:"map"===t,displacement:h,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),I=new BI(n)}else{const o=r[M];let a,c,d;if(s)o.sdf?(a=xj(Ej(u.image,o,n||[0,0,0,1]),{x:0,y:0,width:o.width,height:o.height,pixelRatio:o.pixelRatio},s,i),p=void 0):a=xj(u.image,o,s,i);else{if(o.sdf&&!u.unSDFed){const t=Ej(u.image,{x:0,y:0,width:u.size[0],height:u.size[1]},{r:1,g:1,b:1});u.image=t,u.unSDFed=!0}a=u.image,c=[o.width,o.height],d=[o.x,o.y]}I=new BI({color:p,img:a,imgSize:u.size,size:c,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:h,declutterMode:l})}d[a]=I}}I&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x),x.setGeometry(i),I.setRotation(B+dj(zj(c,"layout","icon-rotate",T,f,R))),I.setOpacity(zj(c,"paint","icon-opacity",T,f,R)),I.setAnchor(Lj[zj(c,"layout","icon-anchor",T,f,R)]),x.setImage(I),U=x.getText(),x.setText(void 0),x.setZIndex(k),z=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===c.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x);const t="circle-radius"in C?zj(c,"paint","circle-radius",T,f,R):5,e=qj(zj(c,"paint","circle-stroke-color",T,f,R),zj(c,"paint","circle-stroke-opacity",T,f,R)),n=zj(c,"paint","circle-translate",T,f,R),i=qj(zj(c,"paint","circle-color",T,f,R),zj(c,"paint","circle-opacity",T,f,R)),r=zj(c,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];I=d[s],I||(I=new jI({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new qI({width:r,color:e}):void 0,fill:i?new zI({color:i}):void 0,declutterMode:"none"}),d[s]=I),x.setImage(I),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(k),z=!0}if("text-field"in E){N=Math.round(zj(c,"layout","text-size",T,f,R));const t=zj(c,"layout","text-font",T,f,R);L=zj(c,"layout","text-line-height",T,f,R),F=VD(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,N,L),F.includes("sans-serif")||(F+=",sans-serif"),D=zj(c,"layout","text-letter-spacing",T,f,R),j=zj(c,"layout","text-max-width",T,f,R);const n=zj(c,"layout","text-field",T,f,R);A="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((e,n)=>{const i=n.fontStack?n.fontStack.split(","):t,r=VD(o?o(i):i,N*(n.scale||1),L);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(kj(s,D),r),e;s=Ij(s,r,j,D).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):Gj(n,m).trim(),u=zj(c,"paint","text-opacity",T,f,R)}if(A&&u&&!O){z||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=Uj(c,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new HI({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=zj(c,"layout","text-transform",T,f,R);"uppercase"==e?A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toUpperCase()):A.toUpperCase():"lowercase"==e&&(A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toLowerCase()):A.toLowerCase());const n=Array.isArray(A)?A:2==S?kj(A,D):Ij(A,F,j,D);if(U.setText(n),U.setFont(F),U.setRotation(dj(zj(c,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=zj(c,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=zj(c,"layout","text-anchor",T,f,R),r=z||1==S?"point":zj(c,"layout","symbol-placement",T,f,R);let s;if("line-center"===r?(U.setPlacement("line"),s="center"):U.setPlacement(r),"line"===r&&"function"==typeof U.setRepeat){const t=zj(c,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=zj(c,"paint","text-halo-width",T,f,R);const a=zj(c,"layout","text-offset",T,f,R),l=zj(c,"paint","text-translate",T,f,R);let h=0,d=0;if("point"==r){s="center",-1!==i.indexOf("left")?(s="left",d=o):-1!==i.indexOf("right")&&(s="right",d=-o);const t=zj(c,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(dj(zj(c,"layout","text-max-angle",T,f,R))*A.length/n.length),U.setRotateWithView(!1);U.setTextAlign(s);let p="middle";0==i.indexOf("bottom")?(p="bottom",h=-o-.5*(L-1)*N):0==i.indexOf("top")&&(p="top",h=o+.5*(L-1)*N),U.setTextBaseline(p);const g=zj(c,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*N+d+l[0]),U.setOffsetY(a[1]*N+h+l[1]),_.setColor(qj(zj(c,"paint","text-color",T,f,R),u)),U.setFill(_);const m=qj(zj(c,"paint","text-halo-color",T,f,R),u);if(m&&o>0){y.setColor(m),o*=2;const t=.5*N;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=zj(c,"layout","text-padding",T,f,R),w=U.getPadding();b!==w[0]&&(w[0]=b,w[1]=b,w[2]=b,w[3]=b),x.setZIndex(k)}}}return P>-1?(v.length=P+1,v):void 0};return t.setStyle(b),t.set("mapbox-layers",c),t.set("mapbox-source",m),t.set("mapbox-featurestate",t.get("mapbox-featurestate")||{}),b}(t,e,l,r,f,g,(t,e=a.webfonts)=>function(t,e="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){if(jS)return t;let n;for(let i=0,r=t.length;i{await document.fonts.ready;for(let t=0,i=n.length;tt.family.replace(/^['"]|['"]$/g,"").toLowerCase()===r.toLowerCase()&&t.weight==s&&t.style===o)){const t=e.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",s).replace("{-fontstyle}",o.replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",o);if(!document.querySelector('link[href="'+t+'"]')){const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)}}}})(),t):t}(t,e),a.getImage,s),t.getStyle()?c().then(n).catch(i):i(new Error(`Nothing to show for source [${o}]`))}}if(e.sprite){const t=function(t,e,n){if("string"==typeof t)return[{id:"default",url:nj(t,e,n)}];for(const i of t)i.url=nj(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=jS?1:window.devicePixelRatio>=1.5?.5:1;const n=.5==d?"@2x":"";Promise.all(t.map(function(t){const e=new URL(t.url);let r=e.origin+e.pathname+n+".json"+e.search;return new Promise(function(t,n){_j("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,_j("Sprite",r,a).then(t).catch(n)})}).then(function(r){let s;if(void 0===r&&i(new Error("No sprites found.")),s=e.origin+e.pathname+n+".png"+e.search,a.transformRequest){const t=a.transformRequest(s,"SpriteImage")||s;(t instanceof Request||t instanceof Promise)&&(s=t)}g[t.id]=s;for(const e in r){const n="default"==t.id?e:`${t.id}:${e}`;f[n]=r[e]}}).catch(function(t){i(new Error(`Sprites cannot be loaded: ${r}: ${t.message}`))})})).then(m).catch(i)}else m()}).catch(i)})}(t,n,e,Object.assign({styleUrl:i},s)).then(function(){!function(t,e){function n(){const n=e.get("mapbox-style");if(!n)return;const i=uF(n.layers),r=t.get("mapbox-layers"),s=i.filter(function(t){return r.includes(t.id)}).some(function(t){return!t.layout||!t.layout.visibility||"visible"===t.layout.visibility});t.get("visible")!==s&&t.setVisible(s)}t.on("change",n),n()}(t,r),l()}).catch(u):l()}else u(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const c=r.getLayers();-1===c.getArray().indexOf(t)&&c.push(t),t.getSource()?h():t.once("change:source",h)})}class $U extends Dx{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");mapInstance;bookmarkSource;searchOverlay;searchOverlayElement;setupMap=Wx(t=>{if(this.mapInstance)return;const e=new WR;this.bookmarkSource=new KA;const n=new CA({source:this.bookmarkSource,style:[new $I({image:new jI({radius:10,fill:new zI({color:"rgba(0, 0, 0, 0.2)"}),displacement:[0,-2]})}),new $I({image:new jI({radius:9,fill:new zI({color:"#ffcc33"}),stroke:new qI({color:"#fff",width:2})})})],zIndex:10});let i=[99.05738,7.55087],r=13;try{const t=localStorage.getItem("marco:map-view");if(t){const e=JSON.parse(t);e.center&&Array.isArray(e.center)&&2===e.center.length&&"number"==typeof e.zoom&&(i=e.center,r=e.zoom)}}catch(y){console.warn("Failed to restore map view:",y)}const s=new TT({center:ok(i),zoom:r,projection:"EPSG:3857"});this.mapInstance=new CO({target:t,layers:[e,n],view:s,controls:QT({zoom:!1,rotate:!1,attribution:!0})}),function(t,e,n={}){let i,r;if(jS){if(!(t instanceof CO||t instanceof WR))throw new Error("ol-mapbox-style in a web worker requires a Map or a LayerGroup as first argument");r=t}else r="string"==typeof t||t instanceof HTMLElement?new CO({target:t}):t;{const t=e.startsWith("data:")?location.href:ij(e,n.accessToken);n=FU(t,n),i=new Promise(function(i,s){vj(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof CO){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?nk(i.projection):s.getProjection();s=new TT(Object.assign(s.getProperties(),{maxResolution:pj[0]/aC[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(ok(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(pj[0]/aC[s.getProjection().getUnits()]/Math.pow(2,t.zoom)),s.getCenter()&&void 0!==s.getZoom()||s.fit(s.getProjection().getExtent(),{nearest:!0,size:e.getSize()})}e.set("mapbox-style",t),e.set("mapbox-metadata",{styleUrl:n,options:i});const o=t.layers;let a,l,u,h=[];for(let c=0,d=o.length;c{d&&(clearTimeout(d),d=null);try{p&&(o.un("change:position",g),p=null)}catch(y){}this.locationOverlayElement&&this.locationOverlayElement.classList.remove("active")},g=()=>{const t=o.getPosition(),e=o.getAccuracyGeometry(),n=o.getAccuracy();if(!t)return;const i=this.mapInstance.getSize(),r=this.mapInstance.getView();let s=null;if(this.locationOverlayElement){const e=r.getResolution(),i=2*(n||50)/ik(r.getProjection(),e,t);this.locationOverlayElement.style.width=`${i}px`,this.locationOverlayElement.style.height=`${i}px`,this.locationOverlay.setPosition(t)}if(n&&n<=20&&f(),e){const t=e.getExtent();s=3.162*r.getResolutionForExtent(t,i)}else n&&(s=6.325*n/Math.min(i[0],i[1])/ik(r.getProjection(),1,t));let a={center:t,duration:1e3};if(s){const t=r.getResolutionForZoom(17);a.resolution=Math.max(s,t)}else a.zoom=16;this.mapInstance.getView().animate(a)};c.addEventListener("click",()=>{f(),o.setTracking(!0);const t=o.getPosition();this.locationOverlayElement&&this.locationOverlayElement.classList.add("active"),t&&g(),p=o.on("change:position",g),d=setTimeout(()=>{f()},1e4)});const m=new XT({element:h});this.mapInstance.addLayer(u),this.mapInstance.addControl(m),this.mapInstance.on("singleclick",this.handleMapClick),this.mapInstance.on("moveend",this.handleMapMove),this.mapInstance.on("pointermove",t=>{const e=this.mapInstance.getEventPixel(t.originalEvent),n=this.mapInstance.hasFeatureAtPixel(e,{hitTolerance:10});this.mapInstance.getTarget().style.cursor=n?"pointer":""}),this.storage.rs.on("ready",()=>{this.handleMapMove()})});updateBookmarks=Wx(()=>{const t=this.storage.savedPlaces;this.loadBookmarks(t)});async loadBookmarks(t=[]){try{if(!this.bookmarkSource)return;t&&0!==t.length||(t=this.storage.savedPlaces),this.bookmarkSource.clear(),t&&Array.isArray(t)&&t.forEach(t=>{if(t.lat&&t.lon){const e=new MA({geometry:new iT(ok([t.lon,t.lat])),name:t.title,id:t.id,isBookmark:!0,originalPlace:t});this.bookmarkSource.addFeature(e)}})}catch(e){console.error("Failed to load bookmarks:",e)}}handleMapMove=async()=>{if(!this.mapInstance)return;const t=this.mapInstance.getSize(),e=this.mapInstance.getView().calculateExtent(t),[n,i]=ak([e[0],e[1]]),[r,s]=ak([e[2],e[3]]),o={minLat:i,minLon:n,maxLat:s,maxLon:r};await this.storage.loadPlacesInBounds(o),this.loadBookmarks(this.storage.savedPlaces);try{const t=this.mapInstance.getView(),e={center:ak(t.getCenter()),zoom:t.getZoom()};localStorage.setItem("marco:map-view",JSON.stringify(e))}catch(a){console.warn("Failed to save map view:",a)}};handleMapClick=async t=>{const e=this.mapInstance.getFeaturesAtPixel(t.pixel,{hitTolerance:10});let n=null,i=null,r=null;if(e&&e.length>0){const t=e.find(t=>t.get("isBookmark"));t&&(n=t.get("originalPlace"));const s=e[0].getProperties();s.name&&(i=s.name,r=s.class||s.subclass)}if(this.args.isSidebarOpen)return n?(console.log("Clicked bookmark while sidebar open (switching):",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n))):void(this.args.onOutsideClick&&this.args.onOutsideClick());if(n)return console.log("Clicked bookmark:",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n));const s=ak(t.coordinate),[o,a]=s,l=i?30:50;if(this.searchOverlayElement){const e=this.mapInstance.getView(),n=2*l/ik(e.getProjection(),e.getResolution(),t.coordinate);this.searchOverlayElement.style.width=`${n}px`,this.searchOverlayElement.style.height=`${n}px`,this.searchOverlay.setPosition(t.coordinate),this.searchOverlayElement.classList.add("active")}try{let t=await this.osm.getNearbyPois(a,o,l);t=t.map(t=>({...t,_distance:fx(a,o,t.lat,t.lon)})).sort((t,e)=>t._distance-e._distance);let e=null;if(i&&t.length>0&&(e=t.find(t=>t.osmTags&&(t.osmTags.name===i||t.osmTags["name:en"]===i)),!e)){const n=t[0];if(n._distance<=20){const t=n.osmTags.amenity||n.osmTags.shop||n.osmTags.tourism;r&&t&&(r===t||t.includes(r))?(console.log("Heuristic match found (distance + type):",n),e=n):n._distance<=10&&(console.log("Heuristic match found (proximity):",n),e=n)}}this.args.onPlacesFound&&this.args.onPlacesFound(t,e)}catch(pD){console.error("Failed to fetch POIs:",pD)}finally{this.searchOverlayElement&&this.searchOverlayElement.classList.remove("active")}};static{Di(Cg({id:"p44jAHbH",block:'[[[11,0],[24,0,"map-container"],[24,5,"position: absolute; inset: 0;"],[4,[30,0,["setupMap"]],null,null],[4,[30,0,["updateBookmarks"]],null,null],[12],[13]],[],[]]',moduleName:"/home/basti/src/marco/app/components/map.gjs",isStrictMode:!0}),this)}}const GU=Fy;function VU(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:kc(t)?0!==t.length:!!t}class WU extends Zv{compute(t){for(let e=0,n=t.length;e[W_,WU,GU],isStrictMode:!0}),this)}}class KU extends Zv{compute(t){for(let e=0,n=t.length;e0&&(this.nearbyPlaces=t,this.router.transitionTo("index"))}static{hx(this.prototype,"showPlaces",[ch])}selectFromList(t){t&&this.router.transitionTo("place",t)}static{hx(this.prototype,"selectFromList",[ch])}closeSidebar(){this.nearbyPlaces=null,this.router.transitionTo("index")}static{hx(this.prototype,"closeSidebar",[ch])}refreshBookmarks(){this.storage.notifyChange()}static{hx(this.prototype,"refreshBookmarks",[ch])}static{Di(Cg({id:"blSKCVz1",block:'[[[1,[28,[32,0],["M/\\\\RCO"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onPlacesFound","@isSidebarOpen","@onOutsideClick"],[[30,0,["showPlaces"]],[30,0,["isSidebarOpen"]],[30,0,["closeSidebar"]]]],null],[1,"\\n\\n"],[41,[28,[32,2],[[28,[32,3],[[30,0,["router","currentRouteName"]],"index"],null],[30,0,["nearbyPlaces"]]],null],[[[1," "],[8,[32,4],null,[["@places","@onSelect","@onClose"],[[30,0,["nearbyPlaces"]],[30,0,["selectFromList"]],[30,0,["closeSidebar"]]]],null],[1,"\\n"]],[]],null],[1,"\\n"],[46,[28,[31,2],null,null],null,null,null]],[],["if","component","-outlet"]]',moduleName:"/home/basti/src/marco/app/templates/application.gjs",scope:()=>[qx,$U,KU,XU,HU],isStrictMode:!0}),this)}}const ZU=Object.freeze(Object.defineProperty({__proto__:null,default:YU},Symbol.toStringTag,{value:"Module"}));class JU extends Jd{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage")}const QU=Object.freeze(Object.defineProperty({__proto__:null,default:JU},Symbol.toStringTag,{value:"Module"}));class tB extends Dx{static{ux(this.prototype,"router",[df])}#L=void cx(this,"router");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"localPlace",[ys],function(){return null})}#D=void cx(this,"localPlace");constructor(){super(...arguments),this.localPlace=this.args.model}get place(){const t=this.args.model;return!this.localPlace||this.localPlace.id!==t.id&&this.localPlace.osmId!==t.osmId||!this.localPlace.createdAt||t.createdAt?t:this.localPlace}handleUpdate(t){console.log("Updating local place state:",t),this.localPlace=t,this.storage.notifyChange()}static{hx(this.prototype,"handleUpdate",[ch])}refreshMap(){this.storage.notifyChange()}static{hx(this.prototype,"refreshMap",[ch])}close(){this.router.transitionTo("index")}static{hx(this.prototype,"close",[ch])}static{Di(Cg({id:"UQo8iDu3",block:'[[[8,[32,0],null,[["@selectedPlace","@onClose","@onBookmarkChange","@onUpdate"],[[30,0,["place"]],[30,0,["close"]],[30,0,["refreshMap"]],[30,0,["handleUpdate"]]]],null]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place.gjs",scope:()=>[HU],isStrictMode:!0}),this)}}const eB=Object.freeze(Object.defineProperty({__proto__:null,default:tB},Symbol.toStringTag,{value:"Module"}));class nB extends Jd{static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");async model(t){const e=t.place_id;if(e.startsWith("osm:node:")||e.startsWith("osm:way:")){const[,t,n]=e.split(":");return console.log(`Fetching explicit OSM ${t}:`,n),this.loadOsmPlace(n,t)}let n=this.storage.findPlaceById(e);return n?(console.log("Found in bookmarks:",n.title),n):(console.log("Not in bookmarks, fetching from OSM:",e),this.loadOsmPlace(e))}async loadOsmPlace(t,e=null){try{const n=await this.osm.getPoiById(t,e);if(n)return console.debug("Found OSM POI:",n),n}catch(n){console.error("Failed to fetch POI",n)}return null}serialize(t){return t.id?{place_id:t.id}:t.osmId&&t.osmType?{place_id:`osm:${t.osmType}:${t.osmId}`}:{place_id:t.osmId}}}const iB=Object.freeze(Object.defineProperty({__proto__:null,default:nB},Symbol.toStringTag,{value:"Module"})),rB=Object.assign({},Ow,{"marco/app":t,"marco/config/environment":Dw,"marco/deprecation-workflow":zw,"marco/router":$w,"marco/services/osm":Gw,"marco/services/storage":px,"marco/utils/geo":gx,"marco/utils/geohash-coverage":ax,"marco/services/page-title":Rx,"marco/templates/application":ZU,"marco/routes/application":QU,"marco/templates/place":eB,"marco/routes/place":iB},{});class sB{constructor(t,e,n){this.limit=t,this.func=e,this.store=n,this.size=0,this.misses=0,this.hits=0,this.store=n||new Map}get(t){let e=this.store.get(t);return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,e=this.set(t,this.func(t)),e)}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}}const oB=/[ _]/g,aB=new sB(1e3,t=>{return(e=t,mB.get(e)).replace(oB,"-");var e}),lB=/^(\-|_)+(.)?/,uB=/(.)(\-|\_|\.|\s)+(.)?/g,hB=/(^|\/|\.)([a-z])/g,cB=new sB(1e3,t=>{const e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),dB=/([a-z\d])([A-Z]+)/g,pB=/\-|\s+/g,fB=new sB(1e3,t=>t.replace(dB,"$1_$2").replace(pB,"_").toLowerCase()),gB=/([a-z\d])([A-Z])/g,mB=new sB(1e3,t=>t.replace(gB,"$1_$2").toLowerCase());class yB{constructor(t){this._entries=t||globalThis.requirejs.entries}moduleNames(){return Object.keys(this._entries)}has(t){return t in this._entries}get(...t){return globalThis.require(...t)}}class _B{static moduleBasedResolver=!0;moduleBasedResolver=!0;_deprecatedPodModulePrefix=!1;_normalizeCache=Object.create(null);static create(t){return new this(t)}moduleNameLookupPatterns=[this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName,this.nestedColocationComponentModuleName];static withModules(t){return class extends(this){static explicitModules=t}}constructor(t){if(Object.assign(this,t),!this._moduleRegistry){let t=this.constructor.explicitModules;t?this._moduleRegistry={moduleNames:()=>Object.keys(t),has:e=>Boolean(t[e]),get:e=>t[e],addModules(e){t=Object.assign({},t,e)}}:(void 0===globalThis.requirejs.entries&&(globalThis.requirejs.entries=globalThis.requirejs._eak_seen),this._moduleRegistry=new yB)}this.pluralizedTypes=this.pluralizedTypes||Object.create(null),this.pluralizedTypes.config||(this.pluralizedTypes.config="config")}makeToString(t,e){return this.namespace.modulePrefix+"@"+e+":"}shouldWrapInClassFactory(){return!1}parseName(t){if(!0===t.parsedName)return t;let e,n,i,r=t.split("@");if(3===r.length){if(0===r[0].length){e=`@${r[1]}`;let t=r[2].split(":");n=t[0],i=t[1]}else e=`@${r[1]}`,n=r[0].slice(0,-1),i=r[2];"template:components"===n&&(i=`components/${i}`,n="template")}else if(2===r.length){let t=r[0].split(":");if(2===t.length)0===t[1].length?(n=t[0],i=`@${r[1]}`):(e=t[1],n=t[0],i=r[1]);else{let t=r[1].split(":");e=r[0],n=t[0],i=t[1]}"template"===n&&0===e.lastIndexOf("components/",0)&&(i=`components/${i}`,e=e.slice(11))}else r=t.split(":"),n=r[0],i=r[1];let s=i,o=this.namespace;return{parsedName:!0,fullName:t,prefix:e||this.prefix({type:n}),type:n,fullNameWithoutType:s,name:i,root:o,resolveMethodName:"resolve"+(a=n,cB.get(a))};var a}resolveOther(t){vB("`modulePrefix` must be defined",this.namespace.modulePrefix);let e=this.findModuleName(t);if(e){let i=this._extractDefaultExport(e,t);if(void 0===i)throw new Error(` Expected to find: '${t.fullName}' within '${e}' but got 'undefined'. Did you forget to 'export default' within '${e}'?`);return this.shouldWrapInClassFactory(i,t)&&(n=i,i={create:t=>"function"==typeof n.extend?n.extend(t):n}),i}var n}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this._normalize(t))}resolve(t){if("resolver:current"===t)return{create:()=>this};let e,n=this.parseName(t),i=n.resolveMethodName;return"function"==typeof this[i]&&(e=this[i](n)),null==e&&(e=this.resolveOther(n)),e}addModules(t){if(!this._moduleRegistry.addModules)throw new Error("addModules is only supported when your Resolver has been configured to use static modules via Resolver.withModules()");this._moduleRegistry.addModules(t)}_normalize(t){let e=t.split(":");if(e.length>1){let t=e[0];return"component"===t||"helper"===t||"modifier"===t||"template"===t&&0===e[1].indexOf("components/")?t+":"+e[1].replace(/_/g,"-"):t+":"+(n=e[1].replace(/\./g,"/"),aB.get(n))}return t;var n}pluralize(t){return this.pluralizedTypes[t]||(this.pluralizedTypes[t]=t+"s")}podBasedLookupWithPrefix(t,e){let n=e.fullNameWithoutType;return"template"===e.type&&(n=n.replace(/^components\//,"")),t+"/"+n+"/"+e.type}podBasedModuleName(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(e,t)}podBasedComponentsInSubdir(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;if(e+="/components","component"===t.type||/^components/.test(t.fullNameWithoutType))return this.podBasedLookupWithPrefix(e,t)}resolveEngine(t){let e=t.fullNameWithoutType+"/engine";if(this._moduleRegistry.has(e))return this._extractDefaultExport(e)}resolveRouteMap(t){let e=t.fullNameWithoutType,n=e+"/routes";if(this._moduleRegistry.has(n)){let t=this._extractDefaultExport(n);return vB(`The route map for ${e} should be wrapped by 'buildRoutes' before exporting.`,t.isRouteMap),t}}resolveTemplate(t){return this.resolveOther(t)}mainModuleName(t){if("main"===t.fullNameWithoutType)return t.prefix+"/"+t.type}defaultModuleName(t){return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType}nestedColocationComponentModuleName(t){if("component"===t.type)return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType+"/index"}prefix(t){let e=this.namespace.modulePrefix;return this.namespace[t.type+"Prefix"]&&(e=this.namespace[t.type+"Prefix"]),e}findModuleName(t){let e,n=this.moduleNameLookupPatterns;for(let i=0,r=n.length;ii.length+r.length)return t+":"+e.slice(s+i.length,o);let a=n+"/"+this.pluralize(t)+"/";return 0===e.indexOf(a)&&e.length>a.length?t+":"+e.slice(a.length):void 0}_extractDefaultExport(t){let e=this._moduleRegistry.get(t,null,null,!0);return e&&e.default&&(e=e.default),e}}function vB(t,e){if(!e)throw new Error(t)}const bB={};function wB(t){!function(t){globalThis.emberInspectorApps||(globalThis.emberInspectorApps=[]),globalThis.emberInspectorApps.push({app:t,name:`app-${globalThis.emberInspectorApps.length}`,loadCompatInspector:()=>function(t,e){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),r=t?.nonce||t?.getAttribute("nonce");i=e.map(t=>{if((t=function(t){return"/"+t}(t))in bB)return;bB[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const i=document.createElement("link");return i.rel=e?"stylesheet":"modulepreload",e||(i.as="script"),i.crossOrigin="",i.href=t,r&&i.setAttribute("nonce",r),document.head.appendChild(i),e?new Promise((e,n)=>{i.addEventListener("load",e),i.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),n=Promise.all(i.map(t=>Promise.resolve(t).then(t=>({status:"fulfilled",value:t}),t=>({status:"rejected",reason:t}))))}var i;function r(t){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=t,window.dispatchEvent(e),!e.defaultPrevented)throw t}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return import("./modules-4-12-DmBga4_o.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class xB extends Mw{modulePrefix=Nw.modulePrefix;podModulePrefix=Nw.podModulePrefix;Resolver=_B.withModules(rB);inspector=wB(this)}xB.create(Nw.APP);export{to as $,Ir as A,is as B,hr as C,gs as D,ns as E,rs as F,yr as G,mr as H,Hr as I,wr as J,Zs as K,ps as L,Ys as M,Ws as N,Ur as O,$r as P,Ds as Q,Tr as R,Mr as S,vs as T,ls as U,ms as V,_r as W,es as X,Me as Y,lr as Z,cs as _,y as a,Rl as a$,fs as a0,fr as a1,nr as a2,ur as a3,Vr as a4,Ji as a5,Rr as a6,Qs as a7,Js as a8,Ns as a9,Kv as aA,ji as aB,Px as aC,Di as aD,U as aE,Mc as aF,lh as aG,Kn as aH,Se as aI,Jt as aJ,Ve as aK,Zt as aL,O as aM,ce as aN,g as aO,d as aP,m as aQ,p as aR,h as aS,f as aT,qt as aU,zt as aV,jt as aW,Ht as aX,Vt as aY,Ml as aZ,Pl as a_,Cr as aa,Xs as ab,Ar as ac,Is as ad,As as ae,jr as af,kr as ag,vr as ah,eo as ai,js as aj,no as ak,er as al,tr as am,ys as an,xs as ao,It as ap,Ot as aq,St as ar,Mt as as,At as at,xt as au,Nt as av,Lt as aw,cv as ax,Sv as ay,Ci as az,v as b,Vu as b$,Ll as b0,Wu as b1,kl as b2,Dl as b3,Al as b4,Il as b5,Hu as b6,Vi as b7,j as b8,W as b9,H_ as bA,Xh as bB,Th as bC,Sh as bD,Eh as bE,fh as bF,kh as bG,vh as bH,gh as bI,Ih as bJ,Rh as bK,Mh as bL,bh as bM,mh as bN,ph as bO,wh as bP,xh as bQ,xl as bR,Nh as bS,zl as bT,lu as bU,du as bV,fu as bW,Iu as bX,qu as bY,Bu as bZ,Bl as b_,G as ba,Ga as bb,ut as bc,z as bd,B as be,Bs as bf,I as bg,lt as bh,Bi as bi,it as bj,Z as bk,Q as bl,Us as bm,J as bn,qi as bo,ot as bp,rt as bq,ht as br,st as bs,pt as bt,F as bu,et as bv,ac as bw,bw as bx,oc as by,Ah as bz,Re as c,wu as c0,hu as c1,Ru as c2,yu as c3,vu as c4,Su as c5,Gu as c6,$u as c7,gu as c8,Cu as c9,Eu as ca,bu as cb,Iw as cc,gw as cd,Fc as ce,jc as cf,dh as cg,Nl as ch,$h as ci,sh as cj,Lh as ck,ah as cl,la as cm,ff as cn,$a as co,Hi as cp,jx as cq,zi as cr,$n as cs,V_ as ct,dn as cu,Ke as cv,us as d,bs as e,Yr as f,Pe as g,Hs as h,R as i,as as j,hs as k,ws as l,Fr as m,Ls as n,Er as o,Wt as p,Ks as q,Or as r,b as s,Ss as t,Ps as u,Rs as v,ts as w,Wr as x,Kr as y,Qr as z}; +/*! For license information please see remotestorage.js.LICENSE.txt */const Xw=Vw(Kw),Yw="0123456789bcdefghjkmnpqrstuvwxyz";let Zw=class t{static encode(e,n,i){if(void 0===i){for(let i=1;i<=12;i++){const r=t.encode(e,n,i),s=t.decode(r);if(s.lat==e&&s.lon==n)return r}i=12}if(e=Number(e),n=Number(n),i=Number(i),isNaN(e)||isNaN(n)||isNaN(i))throw new Error("Invalid geohash");let r=0,s=0,o=!0,a="",l=-90,u=90,h=-180,c=180;for(;a.length=t?(r=2*r+1,h=t):(r*=2,c=t)}else{const t=(l+u)/2;e>=t?(r=2*r+1,l=t):(r*=2,u=t)}o=!o,5==++s&&(a+=Yw.charAt(r),s=0,r=0)}return a}static decode(e){const n=t.bounds(e),i=n.sw.lat,r=n.sw.lon,s=n.ne.lat,o=n.ne.lon;let a=(i+s)/2,l=(r+o)/2;return a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),l=l.toFixed(Math.floor(2-Math.log(o-r)/Math.LN10)),{lat:Number(a),lon:Number(l)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(e,n){if(e=e.toLowerCase(),n=n.toLowerCase(),0==e.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(n))throw new Error("Invalid direction");const i=e.slice(-1);let r=e.slice(0,-1);const s=e.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[n][s].indexOf(i)&&""!=r&&(r=t.adjacent(r,n)),r+Yw.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[n][s].indexOf(i))}static neighbours(e){return{n:t.adjacent(e,"n"),ne:t.adjacent(t.adjacent(e,"n"),"e"),e:t.adjacent(e,"e"),se:t.adjacent(t.adjacent(e,"s"),"e"),s:t.adjacent(e,"s"),sw:t.adjacent(t.adjacent(e,"s"),"w"),w:t.adjacent(e,"w"),nw:t.adjacent(t.adjacent(e,"n"),"w")}}};const Jw="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Qw=0xffffffffffff;var tx;!function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"}(tx||(tx={}));class ex extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function nx(t){const e=Math.floor(32*t())%32;return Jw.charAt(e)}const ix={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,2)}/${t.substring(2,4)}/${e}`}t.declareType("place",{type:"object",properties:{id:{type:"string",required:!0},title:{type:"string",required:!0},lat:{type:"number",required:!0},lon:{type:"number",required:!0},geohash:{type:"string",required:!0},zoom:{type:"number"},url:{type:"string"},osmId:{type:"string"},osmType:{type:"string"},osmTags:{type:"object"},description:{type:"string"},tags:{type:"array",items:{type:"string"},default:[]},createdAt:{type:"string",format:"date-time",required:!0},updatedAt:{type:"string",format:"date-time"}},required:["id","title","lat","lon","geohash","createdAt"]});const n={store:async function(n){const i=function(t){const e=(new Date).toISOString(),n=t.id||function(){const t=function(){const t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:null,e=t&&(t.crypto||t.msCrypto)||null;if("function"==typeof e?.getRandomValues)return()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]/256};if("function"==typeof e?.randomBytes)return()=>e.randomBytes(1).readUInt8()/256;throw new ex(tx.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Qw)throw new ex(tx.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Qw}: ${t}`);if(t<0)throw new ex(tx.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Jw.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=nx(e)+n;return n}(16,t)}(),i="number"==typeof t.lat?t.lat:0,r="number"==typeof t.lon?t.lon:0,s=t.title||"Untitled Place",o=t.geohash||Zw.encode(i,r,10),a={...t,id:n,lat:i,lon:r,geohash:o,title:s,createdAt:t.createdAt||e,updatedAt:t.id?e:void 0};return Object.keys(a).forEach(t=>{void 0===a[t]&&delete a[t]}),a}(n),r=e(i.geohash,i.id);return await t.storeObject("place",r,i),i},remove:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to remove a place");const r=e(i,n);return t.remove(r)},get:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to get a place");const r=e(i,n);return t.getObject(r)},listByPrefix:async function(e){let n="";return e.length>=2&&(n+=e.substring(0,2)+"/"),e.length>=4&&(n+=e.substring(2,4)+"/"),t.getAll(n)},getPlaces:async function(e){const n=[],i=async e=>{const i=await t.getAll(e,!1);i&&Object.values(i).forEach(t=>{t&&"object"==typeof t&&!t.toString().endsWith("/")&&n.push(t)})};if(e&&e.length>0){const t=e.map(async t=>{if(t.length<4)return;const e=t.substring(0,2),n=t.substring(2,4);await i(`${e}/${n}/`)});await Promise.all(t)}else{const e=t=>{if(!t||"object"!=typeof t)return[];let e=t;return t.items&&"object"==typeof t.items&&(e=t.items),Object.keys(e).filter(t=>t.endsWith("/")&&!t.startsWith("@"))},n=await t.getListing("",!1),r=e(n);await Promise.all(r.map(async n=>{const r=await t.getListing(n,!1),s=e(r);await Promise.all(s.map(async t=>{await i(n+t)}))}))}return n}};return{exports:n}}},rx="0123456789bcdefghjkmnpqrstuvwxyz";class sx{static encode(t,e,n){if(void 0===n){for(let n=1;n<=12;n++){const i=sx.encode(t,e,n),r=sx.decode(i);if(r.lat==t&&r.lon==e)return i}n=12}if(t=Number(t),e=Number(e),n=Number(n),isNaN(t)||isNaN(e)||isNaN(n))throw new Error("Invalid geohash");let i=0,r=0,s=!0,o="",a=-90,l=90,u=-180,h=180;for(;o.length=t?(i=2*i+1,u=t):(i*=2,h=t)}else{const e=(a+l)/2;t>=e?(i=2*i+1,a=e):(i*=2,l=e)}s=!s,5==++r&&(o+=rx.charAt(i),r=0,i=0)}return o}static decode(t){const e=sx.bounds(t),n=e.sw.lat,i=e.sw.lon,r=e.ne.lat,s=e.ne.lon;let o=(n+r)/2,a=(i+s)/2;return o=o.toFixed(Math.floor(2-Math.log(r-n)/Math.LN10)),a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(o),lon:Number(a)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(t,e){if(t=t.toLowerCase(),e=e.toLowerCase(),0==t.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(e))throw new Error("Invalid direction");const n=t.slice(-1);let i=t.slice(0,-1);const r=t.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[e][r].indexOf(n)&&""!=i&&(i=sx.adjacent(i,e)),i+rx.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][r].indexOf(n))}static neighbours(t){return{n:sx.adjacent(t,"n"),ne:sx.adjacent(sx.adjacent(t,"n"),"e"),e:sx.adjacent(t,"e"),se:sx.adjacent(sx.adjacent(t,"s"),"e"),s:sx.adjacent(t,"s"),sw:sx.adjacent(sx.adjacent(t,"s"),"w"),w:sx.adjacent(t,"w"),nw:sx.adjacent(sx.adjacent(t,"n"),"w")}}}function ox(t){const{minLat:e,minLon:n,maxLat:i,maxLon:r}=t,s=new Set;if(Math.abs(i-e)>20||Math.abs(r-n)>20)return console.warn("BBox too large for 4-char geohash scanning, aborting fine scan."),[];for(let a=e;a<=i+.1;a+=.1)for(let t=n;t<=r+.1;t+=.1){const e=Math.min(a,i),n=Math.min(t,r);try{const t=sx.encode(e,n,4);s.add(t)}catch(o){}}try{s.add(sx.encode(e,n,4))}catch(o){}try{s.add(sx.encode(i,r,4))}catch(o){}try{s.add(sx.encode(e,r,4))}catch(o){}try{s.add(sx.encode(i,n,4))}catch(o){}return Array.from(s)}const ax=Object.freeze(Object.defineProperty({__proto__:null,getGeohashPrefixesInBbox:ox},Symbol.toStringTag,{value:"Module"})),lx=new WeakMap;function ux(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=lx.get(t);i||(i=new Map,lx.set(t,i)),i.set(e,n)}(t,e,r)}function hx(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function cx(t,e){let n=function(t,e){var n;let i=t.prototype;for(;i;){let t=null==(n=lx.get(i))?void 0:n.get(e);if(t)return t;i=i.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}class dx extends pf{rs;static{ux(this.prototype,"savedPlaces",[ys],function(){return[]})}#P=void cx(this,"savedPlaces");static{ux(this.prototype,"loadedPrefixes",[ys],function(){return[]})}#M=void cx(this,"loadedPrefixes");static{ux(this.prototype,"currentBbox",[ys],function(){return null})}#I=void cx(this,"currentBbox");static{ux(this.prototype,"version",[ys],function(){return 0})}#O=void cx(this,"version");constructor(){super(...arguments),console.log("ohai"),this.rs=new Xw({modules:[ix]}),this.rs.access.claim("places","rw"),this.rs.caching.enable("/places/"),window.remoteStorage=this.rs,this.rs.on("ready",()=>{}),this.rs.scope("/places/").on("change",()=>{aa(this,this.reloadCurrentView,200)})}get places(){return this.rs.places}notifyChange(){this.version++,aa(this,this.reloadCurrentView,200)}reloadCurrentView(){if(!this.currentBbox)return;const t=ox(this.currentBbox);console.log("Reloading view due to changes, prefixes:",t),this.loadAllPlaces(t)}async loadPlacesInBounds(t){const e=ox(t).filter(t=>!this.loadedPrefixes.includes(t));0!==e.length&&(console.log("Loading new prefixes:",e),await this.loadAllPlaces(e),this.loadedPrefixes=[...this.loadedPrefixes,...e],this.currentBbox=t)}async loadAllPlaces(t=null){try{const e=await this.places.getPlaces(t);if(e&&Array.isArray(e))if(t){const n=new Set(t),i=this.savedPlaces.filter(t=>{if(!t.lat||!t.lon)return!1;try{const e=sx.encode(t.lat,t.lon,4);return!n.has(e)}catch(e){return!0}});this.savedPlaces=[...i,...e]}else this.savedPlaces=e;else t||(this.savedPlaces=[]);console.log("Loaded saved places:",this.savedPlaces.length)}catch(e){console.error("Failed to load places:",e)}}findPlaceById(t){let e=this.savedPlaces.find(e=>e.id===t);return e||(e=this.savedPlaces.find(e=>e.osmId===t),e)}}const px=Object.freeze(Object.defineProperty({__proto__:null,default:dx},Symbol.toStringTag,{value:"Module"}));function fx(t,e,n,i){const r=t*Math.PI/180,s=n*Math.PI/180,o=(n-t)*Math.PI/180,a=(i-e)*Math.PI/180,l=Math.sin(o/2)*Math.sin(o/2)+Math.cos(r)*Math.cos(s)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}const gx=Object.freeze(Object.defineProperty({__proto__:null,getDistance:fx},Symbol.toStringTag,{value:"Module"}));function mx(t,e,n){return(e="symbol"==typeof(i=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(e))?i:String(i))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t;var i}function yx(t,e,n,i){n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function _x(t,e,n,i){var r={};return Object.keys(i).forEach(function(t){r[t]=i[t]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),void 0===(r=n.slice().reverse().reduce(function(n,i){return i(t,e,n)||n},r)).initializer&&(Object.defineProperty(t,e,r),r=null),r}var vx,bx,wx,xx,Sx;const Ex="undefined"!=typeof FastBoot,Cx="routeDidChange",kx=["separator","prepend","replace"];let Tx=(vx=df("router"),bx=df("-document"),wx=class extends pf{constructor(t){if(super(t),yx(this,"router",xx,this),yx(this,"document",Sx,this),mx(this,"tokens",[]),mx(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),mx(this,"scheduleTitleUpdate",()=>{sa("afterRender",this,this._updateTitle)}),this._validateExistingTitleElement(),function(t){return"resolveRegistration"in t}(t)){const n=t.resolveRegistration("config:environment");"object"==typeof(e=n)&&null!==e&&"pageTitle"in e&&kx.forEach(t=>{if(!function(t){if(null==t)return!0;if(!ls(t)&&"number"==typeof t.size)return!t.size;if("object"==typeof t){let e=us(t,"size");if("number"==typeof e)return!e;let n=us(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(Cx,this.scheduleTitleUpdate)}applyTokenDefaults(t){const e=this._defaultConfig.separator,n=this._defaultConfig.prepend,i=this._defaultConfig.replace;t.previous??=null,t.next??=null,null==t.separator&&(t.separator=e),null==t.prepend&&null!=n&&(t.prepend=n),null==t.replace&&null!=i&&(t.replace=i)}inheritFromPrevious(t){const e=t.previous;e&&(null==t.separator&&(t.separator=e.separator),null==t.prepend&&(t.prepend=e.prepend))}push(t){const e=this._findTokenById(t.id);if(e){const n=this.tokens.indexOf(e),i=[...this.tokens],r=e.previous;return t.previous=r,t.next=e.next,this.inheritFromPrevious(t),this.applyTokenDefaults(t),i.splice(n,1,t),void(this.tokens=i)}const n=this.tokens.slice(-1)[0];n&&(t.previous=n??null,n.next=t,this.inheritFromPrevious(t)),this.applyTokenDefaults(t),this.tokens=[...this.tokens,t]}remove(t){const e=this._findTokenById(t);if(!e)return;const{next:n,previous:i}=e;n&&(n.previous=i),i&&(i.next=n),e.previous=e.next=null;const r=[...this.tokens];r.splice(r.indexOf(e),1),this.tokens=r}get visibleTokens(){const t=this.tokens;let e=t?t.length:0;const n=[];for(;e--;){const i=t[e];if(i){if(i.replace){n.unshift(i);break}n.unshift(i)}}return n}get sortedTokens(){const t=this.visibleTokens;if(!t)return[];let e=!0,n=[];const i=[n],r=[];return t.forEach(t=>{t.front?r.unshift(t):t.prepend?(e&&(e=!1,n=[],i.push(n)),n.unshift(t)):(e||(e=!0,n=[],i.push(n)),n.push(t))}),r.concat(i.reduce((t,e)=>t.concat(e),[]))}toString(){const t=this.sortedTokens,e=[];for(let n=0,i=t.length;ne.id===t)}updateFastbootTitle(t){if(!Ex)return;const e=this.document.head,n=e.childNodes;for(let s=0;snew Nx(t),Dx);const jx=Object.freeze(Object.defineProperty({__proto__:null,default:Dx},Symbol.toStringTag,{value:"Module"}));var zx,Ux,Bx;let qx=(zx=df("page-title"),Bx=_x((Ux=class extends Zv{constructor(t){super(t),yx(this,"tokens",Bx,this),mx(this,"tokenId",U(this)),this.tokens.push({id:this.tokenId})}compute(t,e){const n={...e,id:this.tokenId,title:t.join("")};return this.tokens.push(n),this.tokens.scheduleTitleUpdate(),""}willDestroy(){super.willDestroy(),this.tokens.remove(this.tokenId),this.tokens.scheduleTitleUpdate()}}).prototype,"tokens",[zx],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ux);const $x=Ai;class Gx{capabilities=Mi();constructor(t){this.owner=t}createModifier(t,e){return{instance:new t(this.owner,e),element:null}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e);i.instance.modify(e,n.positional,n.named)}updateModifier(t,e){t.instance.modify(t.element,e.positional,e.named)}destroyModifier({instance:t}){At(t)}}$x(t=>new Gx(t),class{constructor(t,e){Pw(this,t)}modify(t,e,n){}});const Vx=new class{capabilities=Mi();createModifier(t){return{element:null,instance:t}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e),{positional:r,named:s}=n,o=t.instance(e,r,s);"function"==typeof o&&(i.teardown=o)}updateModifier(t,e){"function"==typeof t.teardown&&t.teardown();const n=t.instance(t.element,e.positional,e.named);"function"==typeof n&&(t.teardown=n)}destroyModifier(t){"function"==typeof t.teardown&&t.teardown()}getDebugName(t){return t.instance.toString()}getDebugInstance(t){return t}};function Wx(t){return t.toString=()=>t.name,$x(()=>Vx,t)}const Hx="add",Kx="remove",Xx="propertychange",Yx="change",Zx="contextmenu",Jx="click",Qx="keydown",tS="keypress",eS="touchmove",nS="wheel";class iS{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function rS(t,e){return t>e?1:te?-1:0}function oS(t,e,n){if(t[0]<=e)return 0;const i=t.length;if(e<=t[i-1])return i-1;if("function"==typeof n){for(let r=1;r0?r-1:r}return i-1}if(n>0){for(let n=1;n0)}removeEventListener(t,e){if(!this.listeners_)return;const n=this.listeners_[t];if(!n)return;const i=n.indexOf(e);-1!==i&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[i]=dS,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}function vS(t,e,n,i,r){if(r){const r=n;n=function(s){return t.removeEventListener(e,n),r.call(i??this,s)}}else i&&i!==t&&(n=n.bind(i));const s={target:t,type:e,listener:n};return t.addEventListener(e,n),s}function bS(t,e,n,i){return vS(t,e,n,i,!0)}function wS(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),gS(t))}class xS extends _S{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Yx)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const n=t.length,i=new Array(n);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,n=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new PS(Hx,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let n=0,i=e.length;n=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new PS(Kx,e,t)),e}setAt(t,e){if(t>=this.getLength())return void this.insertAt(t,e);if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const n=this.array_[t];this.array_[t]=e,this.dispatchEvent(new PS(Kx,n,t)),this.dispatchEvent(new PS(Hx,e,t))}updateLength_(){this.set(RS,this.array_.length)}assertUnique_(t,e){const n=this.array_;for(let i=0,r=n.length;i{this.clickTimeoutId_=void 0;const e=new OS(AS.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==AS.POINTERUP||e.type==AS.POINTERCANCEL){delete this.trackedTouches_[n];for(const t in this.trackedTouches_)if(this.trackedTouches_[t].target!==e.target){delete this.trackedTouches_[t];break}}else e.type!=AS.POINTERDOWN&&e.type!=AS.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new OS(AS.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return 0===t.button}handlePointerDown_(t){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(t);const e=new OS(AS.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),0===this.dragListenerKeys_.length){const t=this.map_.getOwnerDocument();this.dragListenerKeys_.push(vS(t,AS.POINTERMOVE,this.handlePointerMove_,this),vS(t,AS.POINTERUP,this.handlePointerUp_,this),vS(this.element_,AS.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(vS(this.element_.getRootNode(),AS.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new OS(AS.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!(!this.down_||!this.isMoving_(t));this.dispatchEvent(new OS(AS.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;e&&!e.defaultPrevented||"boolean"==typeof t.cancelable&&!0!==t.cancelable||t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(wS(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(eS,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(wS(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const GS="postrender",VS="loadstart",WS="loadend",HS="layergroup",KS="size",XS="target",YS="view";function ZS(t,e){if(!t)throw new Error(e)}const JS=1/0;class QS{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,gS(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,n=t[0];1==t.length?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(t){ZS(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=JS&&(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(t){return 2*t+1}getRightChildIndex_(t){return 2*t+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return 0===this.elements_.length}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,n=this.priorities_,i=e.length,r=e[t],s=n[t],o=t;for(;t>1;){const r=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=st;){const t=this.getParentIndex_(e);if(!(i[t]>s))break;n[e]=n[t],i[e]=i[t],e=t}n[e]=r,i[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,n=this.priorities_;let i=0;const r=e.length;let s,o,a;for(o=0;ot.apply(null,e),t=>t[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){const e=super.enqueue(t);return e&&t[0].addEventListener(Yx,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,n=e.getState();if(2===n||3===n||4===n){3!==n&&e.removeEventListener(Yx,this.boundHandleTileChange_);const t=e.getKey();t in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[t],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let n=0;for(;this.tilesLoading_0;){const t=this.dequeue()[0],e=t.getKey();0!==t.getState()||e in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[e]=!0,++this.tilesLoading_,++n,t.load())}}}const eE={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function nE(t,e,n){return Math.min(Math.max(t,e),n)}function iE(t,e,n,i,r,s){const o=r-n,a=s-i;if(0!==o||0!==a){const l=((t-n)*o+(e-i)*a)/(o*o+a*a);l>1?(n=r,i=s):l>0&&(n+=o*l,i+=a*l)}return rE(t,e,n,i)}function rE(t,e,n,i){const r=n-t,s=i-e;return r*r+s*s}function sE(t){return 180*t/Math.PI}function oE(t){return t*Math.PI/180}function aE(t,e){const n=t%e;return n*e<0?n+e:n}function lE(t,e,n){return t+n*(e-t)}function uE(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function hE(t,e){return Math.floor(uE(t,e))}function cE(t,e){return Math.ceil(uE(t,e))}function dE(t,e,n){if(t>=e&&tp&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=nE(i[0],d,p),y=nE(i[1],f,g);if(o&&n&&r){const t=30*r;m+=-t*Math.log(1+Math.max(0,d-i[0])/t)+t*Math.log(1+Math.max(0,i[0]-p)/t),y+=-t*Math.log(1+Math.max(0,f-i[1])/t)+t*Math.log(1+Math.max(0,i[1]-g)/t)}return[m,y]}}function fE(t){return t}function gE(t){const e=[1/0,1/0,-1/0,-1/0];for(let n=0,i=t.length;nr&&(l|=4),as&&(l|=2),0===l&&(l=1),l}function SE(t,e,n,i,r){return r?(r[0]=t,r[1]=e,r[2]=n,r[3]=i,r):[t,e,n,i]}function EE(t){return SE(1/0,1/0,-1/0,-1/0,t)}function CE(t,e){const n=t[0],i=t[1];return SE(n,i,n,i,e)}function kE(t,e,n,i,r){return ME(EE(r),t,e,n,i)}function TE(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function RE(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function PE(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function ME(t,e,n,i,r){for(;ne[0]?i[0]=t[0]:i[0]=e[0],t[1]>e[1]?i[1]=t[1]:i[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function WE(t){return t[2]1){const e=t[2]-t[0],n=t[3]-t[1];for(let s=0;s=n[2])){const e=GE(n),r=Math.floor((i[0]-n[0])/e)*e;t[0]-=r,t[2]-=r}return t}function XE(t,e,n){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[i[0],t[1],i[2],t[3]]];KE(t,e);const r=GE(i);if(GE(t)>r&&!n)return[[i[0],t[1],i[2],t[3]]];if(t[0]i[2])return[[t[0],t[1],i[2],t[3]],[i[0],t[1],t[2]-r,t[3]]]}return[t]}function YE(t,e){let n=!0;for(let i=t.length-1;i>=0;--i)if(t[i]!=e[i]){n=!1;break}return n}function ZE(t,e){const n=Math.cos(e),i=Math.sin(e),r=t[0]*n-t[1]*i,s=t[1]*n+t[0]*i;return t[0]=r,t[1]=s,t}function JE(t,e){if(e.canWrapX()){const n=GE(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||GE(i),r=Math.floor((t[0]-i[0])/n)),r}(t,e,n);i&&(t[0]-=i*n)}return t}function QE(t){return Math.pow(t,3)}function tC(t){return 1-QE(1-t)}function eC(t){return 3*t*t-2*t*t*t}function nC(t){return t}const iC=6371008.8;function rC(t,e,n){n=n||iC;const i=oE(t[1]),r=oE(e[1]),s=(r-i)/2,o=oE(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function sC(t,e,n,i){i=i||iC;const r=oE(t[1]),s=oE(t[0]),o=e/i,a=Math.asin(Math.sin(r)*Math.cos(o)+Math.cos(r)*Math.sin(o)*Math.cos(n));return[sE(s+Math.atan2(Math.sin(n)*Math.sin(o)*Math.cos(r),Math.cos(o)-Math.sin(r)*Math.sin(a))),sE(a)]}function oC(...t){console.warn(...t)}const aC={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class lC{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||aC[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const uC=6378137,hC=Math.PI*uC,cC=[-hC,-hC,hC,hC],dC=[-180,-85,180,85],pC=uC*Math.log(Math.tan(Math.PI/2));class fC extends lC{constructor(t){super({code:t,units:"m",extent:cC,global:!0,worldExtent:dC,getPointResolution:function(t,e){return t/Math.cosh(e[1]/uC)}})}}const gC=[new fC("EPSG:3857"),new fC("EPSG:102100"),new fC("EPSG:102113"),new fC("EPSG:900913"),new fC("http://www.opengis.net/def/crs/EPSG/0/3857"),new fC("http://www.opengis.net/gml/srs/epsg.xml#3857")],mC=[-180,-90,180,90],yC=6378137*Math.PI/180;class _C extends lC{constructor(t,e){super({code:t,units:"degrees",extent:mC,axisOrientation:e,global:!0,metersPerUnit:yC,worldExtent:mC})}}const vC=[new _C("CRS:84"),new _C("EPSG:4326","neu"),new _C("urn:ogc:def:crs:OGC:1.3:CRS84"),new _C("urn:ogc:def:crs:OGC:2:84"),new _C("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new _C("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new _C("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let bC={},wC={};function xC(t,e,n){const i=t.getCode(),r=e.getCode();i in wC||(wC[i]={}),wC[i][r]=n}function SC(t,e){return t in wC&&e in wC[t]?wC[t][e]:null}const EC=.9996,CC=.00669438,kC=CC*CC,TC=kC*CC,RC=CC/(1-CC),PC=Math.sqrt(1-CC),MC=(1-PC)/(1+PC),IC=MC*MC,OC=IC*MC,AC=OC*MC,FC=AC*MC,LC=.9983242984503243,NC=15*kC/256+45*TC/1024,DC=35*TC/3072,jC=1.5*MC-27/32*OC+269/512*FC,zC=21/16*IC-55/32*AC,UC=151/96*OC-417/128*FC,BC=1097/512*AC,qC=6378137;function $C(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/EC/(qC*LC),s=r+jC*Math.sin(2*r)+zC*Math.sin(4*r)+UC*Math.sin(6*r)+BC*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),u=o/l,h=u*u,c=h*h,d=1-CC*a,p=Math.sqrt(1-CC*a),f=RC*l**2,g=f*f,m=i/(qC/p*EC),y=m*m,_=y*m,v=_*m,b=v*m,w=s-u/((1-CC)/d)*(y/2-v/24*(5+3*h+10*f-4*g-9*RC))+b*m/720*(61+90*h+298*f+45*c-252*RC-3*g);let x=(m-_/6*(1+2*h+f)+b/120*(5-2*f+28*h-3*g+8*RC+24*c))/l;return x=dE(x+oE(VC(n.number)),-Math.PI,Math.PI),[sE(x),sE(w)]}function GC(t,e,n){t=dE(t,-180,180),e<-80?e=-80:e>84&&(e=84);const i=oE(e),r=Math.sin(i),s=Math.cos(i),o=r/s,a=o*o,l=a*a,u=oE(t),h=oE(VC(n.number)),c=qC/Math.sqrt(1-CC*r**2),d=RC*s**2,p=s*dE(u-h,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=qC*(LC*i-.002514607064228144*Math.sin(2*i)+NC*Math.sin(4*i)-DC*Math.sin(6*i)),b=EC*c*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*RC))+5e5;let w=EC*(v+c*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*RC)));return n.north||(w+=1e7),[b,w]}function VC(t){return 6*(t-1)-180+3}const WC=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function HC(t){let e=0;for(const r of WC){const n=t.match(r);if(n){e=parseInt(n[1]);break}}if(!e)return null;let n=0,i=!1;return e>32700&&e<32761?n=e-32700:e>32600&&e<32661&&(i=!0,n=e-32600),n?{number:n,north:i}:null}function KC(t,e){return function(n,i,r,s){const o=n.length;r=r>1?r:2,s=s??r,i||(i=r>2?n.slice():new Array(o));for(let a=0;a180)&&(e[0]=aE(n+180,360)-180),e}function lk(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||uk(t,e)===QC)&&n}function uk(t,e){const n=t.getCode(),i=e.getCode();let r=SC(n,i);if(r)return r;let s=null,o=null;for(const l of XC)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)r=hk(s.inverse,o.forward);else{const t=SC(n,a);t&&(r=hk(t,o.forward))}else{const t=SC(a,i);t&&(r=hk(s.inverse,t))}return r&&(ek(t),ek(e),xC(t,e,r)),r}function hk(t,e){return function(n,i,r,s){return i=t(n,i,r,s),e(i,i,r,s)}}function ck(t,e){return uk(nk(t),nk(e))}function dk(t,e,n){const i=ck(e,n);if(!i){const t=nk(e).getCode(),i=nk(n).getCode();throw new Error(`No transform available between ${t} and ${i}`)}return i(t,void 0,t.length)}function pk(t,e,n,i){return HE(t,ck(e,n),void 0,i)}function fk(t){return t}function gk(t){return ZC&&!YE(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(ZC=!1,oC("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function mk(t){return t}var yk,_k,vk;rk(gC),rk(vC),yk=gC,_k=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;spC?n=pC:n<-pC&&(n=-pC),e[s+1]=n}return e},vk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;s{if(!n)return this.getSimplifiedGeometry(e);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return SS()}closestPointXY(t,e,n,i){return SS()}containsXY(t,e){return 0===this.closestPointXY(t,e,Ak,Number.MIN_VALUE)}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return SS()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&EE(t),this.extentRevision_=this.getRevision()}return function(t,e){return e?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):t}(this.extent_,t)}rotate(t,e){SS()}scale(t,e,n){SS()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return SS()}getType(){return SS()}applyTransform(t){SS()}intersectsExtent(t){return SS()}translate(t,e){SS()}transform(t,e){const n=nk(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=UE(o)/UE(s);kk(Ok,o[0],o[3],a,-a,0,0,0);const l=Mk(t,0,t.length,r,Ok,i),u=ck(n,e);return u?u(l,l,r):l}:ck(n,e);return this.applyTransform(i),this}}class Lk extends Fk{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return kE(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return SS()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)c=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function qk(t,e,n,i,r){for(let s=0,o=n.length;s0;){const n=u.pop(),s=u.pop();let o=0;const a=t[s],c=t[s+1],d=t[n],p=t[n+1];for(let e=s+i;eo&&(h=e,o=n)}o>r&&(l[(h-e)/i]=1,s+i0&&f>d)&&(p<0&&g0&&g>p)?(a=n,l=c):(s[o++]=a,s[o++]=l,u=a,h=l,a=n,l=c)}return s[o++]=a,s[o++]=l,o}function eT(t,e,n,i,r,s,o,a){for(let l=0,u=n.length;ls&&(n-a)*(s-l)-(r-a)*(i-l)>0&&o++:i<=s&&(n-a)*(s-l)-(r-a)*(i-l)<0&&o--,a=n,l=i}return 0!==o}function oT(t,e,n,i,r,s){if(0===n.length)return!1;if(!sT(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(u=(h+c)/2,oT(t,e,n,i,u,f)&&(m=u,y=r)),h=c}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function lT(t,e,n,i,r){let s=[];for(let o=0,a=n.length;o=r[0]&&s[2]<=r[2]||s[1]>=r[1]&&s[3]<=r[3]||uT(t,e,n,i,function(t,e){return function(t,e,n){let i=!1;const r=xE(t,e),s=xE(t,n);if(1===r||1===s)i=!0;else{const o=t[0],a=t[1],l=t[2],u=t[3],h=e[0],c=e[1],d=n[0],p=n[1],f=(p-c)/(d-h);let g,m;2&s&&!(2&r)&&(g=d-(p-u)/f,i=g>=o&&g<=l),i||!(4&s)||4&r||(m=p-(d-l)*f,i=m>=a&&m<=u),i||!(8&s)||8&r||(g=d-(p-a)/f,i=g>=o&&g<=l),i||!(16&s)||16&r||(m=p-(d-o)*f,i=m>=a&&m<=u)}return i}(r,t,e)}))}function cT(t,e,n,i,r){return!!(hT(t,e,n,i,r)||sT(t,e,n,i,r[0],r[1])||sT(t,e,n,i,r[0],r[3])||sT(t,e,n,i,r[2],r[1])||sT(t,e,n,i,r[2],r[3]))}function dT(t,e,n,i,r){if(!cT(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function gT(t,e,n,i,r){r=void 0!==r&&r;for(let s=0,o=n.length;sh&&d1&&"function"==typeof arguments[n-1]&&(e=arguments[n-1],--n);let i=0;for(;i0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let t;this.setHint(0,-this.hints_[0]);for(let e=0,n=this.animations_.length;e=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,s=i.length;n0?o/s.duration:1;a>=1?(s.complete=!0,a=1):r=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],n=s.targetCenter[0],i=s.targetCenter[1];this.nextCenter_=s.targetCenter;const r=t+l*(n-t),o=e+l*(i-e);this.targetCenter_=[r,o]}if(s.sourceResolution&&s.targetResolution){const t=1===l?s.targetResolution:s.sourceResolution+l*(s.targetResolution-s.sourceResolution);if(s.anchor){const e=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(t,0,e,!0);this.targetCenter_=this.calculateCenterZoom(n,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=t,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){const t=1===l?aE(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+l*(s.targetRotation-s.sourceRotation);if(s.anchor){const e=this.constraints_.rotation(t,!0);this.targetCenter_=this.calculateCenterRotate(e,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=t}if(this.applyTargetState_(!0),e=!0,!s.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=i[0].callback;t&&RT(t,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let n;const i=this.getCenterInternal();var r,s;return void 0!==i&&(n=[i[0]-e[0],i[1]-e[1]],ZE(n,t-this.getRotation()),s=e,(r=n)[0]+=+s[0],r[1]+=+s[1]),n}calculateCenterZoom(t,e){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[e[0]-t*(e[0]-i[0])/r,e[1]-t*(e[1]-i[1])/r]),n}getViewportSize_(t){const e=this.viewportSize_;if(t){const n=e[0],i=e[1];return[Math.abs(n*Math.cos(t))+Math.abs(i*Math.sin(t)),Math.abs(n*Math.sin(t))+Math.abs(i*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t?fk(t,this.getProjection()):t}getCenterInternal(){return this.get(eE.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){return e=this.calculateExtentInternal(t),this.getProjection(),e;var e}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();ZS(e,"The view center is not defined");const n=this.getResolution();ZS(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return ZS(void 0!==i,"The view rotation is not defined"),jE(e,n,i,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(eE.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(mk(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=GE(t)/e[0],i=UE(t)/e[1];return Math.max(n,i)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(e/n)/Math.log(t);return function(n){return e/Math.pow(t,n*i)}}getRotation(){return this.get(eE.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/e;return function(t){return Math.log(n/t)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const n=this.padding_;return n&&(e=[e[0]-n[1]-n[3],e[1]-n[0]-n[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const t=this.getViewportSizeMinusPadding_();i=MT(i,this.getViewportSize_(),[t[0]/2+r[3],t[1]/2+r[0]],e,n)}return{center:i.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e,n,i=this.minZoom_||0;if(this.resolutions_){const r=oS(this.resolutions_,t,1);i=r,e=this.resolutions_[r],n=r==this.resolutions_.length-1?2:e/this.resolutions_[r+1]}else e=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(e/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const e=nE(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,nE(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(ZS(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))ZS(!WE(t),"Cannot fit empty extent provided as `geometry`"),n=wT(mk(t,this.getProjection()));else if("Circle"===t.getType()){const e=mk(t.getExtent(),this.getProjection());n=wT(e),n.rotate(this.getRotation(),NE(e))}else n=t;this.fitInternal(n,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),n=Math.cos(e),i=Math.sin(-e),r=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,u=-1/0;for(let h=0,c=r.length;ht.trim().replace(/^['"]|['"]$/g,"")),n};function zT(t,e,n,i){let r;return r=n&&n.length?n.shift():jS?new class extends OffscreenCanvas{style={}}(t??300,e??150):document.createElement("canvas"),t&&(r.width=t),e&&(r.height=e),r.getContext("2d",i)}let UT;function BT(){return UT||(UT=zT(1,1)),UT}function qT(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function $T(t){let e=t.offsetWidth;const n=getComputedStyle(t);return e+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),e}function GT(t){let e=t.offsetHeight;const n=getComputedStyle(t);return e+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),e}function VT(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function WT(t){for(;t.lastChild;)t.lastChild.remove()}function HT(){const t=new Proxy({childNodes:[],appendChild:function(t){return this.childNodes.push(t),t},remove:function(){},removeChild:function(t){const e=this.childNodes.indexOf(t);if(-1===e)throw new Error("Node to remove was not found");return this.childNodes.splice(e,1),t},insertBefore:function(t,e){const n=this.childNodes.indexOf(e);if(-1===n)throw new Error("Reference node not found");return this.childNodes.splice(n,0,t),t},style:{}},{get:(t,e,n)=>"firstElementChild"===e?t.childNodes.length>0?t.childNodes[0]:null:Reflect.get(t,e,n)});return t}function KT(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class XT extends TS{constructor(t){super();const e=t.element;!e||t.target||e.style.pointerEvents||(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&this.element?.remove();for(let e=0,n=this.listenerKeys.length;ee.getAttributions(t)));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach(t=>n.add(t)):n.add(this.attributions_)),!this.overrideCollapsible_){const t=!e.some(t=>!1===t.getSource()?.getAttributionsCollapsible());this.setCollapsible(t)}return Array.from(n)}async updateElement_(t){if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=await Promise.all(this.collectSourceAttributions_(t).map(t=>fS(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!uS(e,this.renderedAttributions_)){WT(this.ulElement_);for(let t=0,n=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:tC}):t.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const n=e.viewState.rotation;if(n!=this.rotation_){const t="rotate("+n+"rad)";if(this.autoHide_){const t=this.element.classList.contains(IT);t||0!==n?t&&0!==n&&this.element.classList.remove(IT):this.element.classList.add(IT)}this.label_.style.transform=t}this.rotation_=n}}class JT extends XT{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=void 0!==t.className?t.className:"ol-zoom",n=void 0!==t.delta?t.delta:1,i=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",r=void 0!==t.zoomOutClassName?t.zoomOutClassName:e+"-out",s=void 0!==t.zoomInLabel?t.zoomInLabel:"+",o=void 0!==t.zoomOutLabel?t.zoomOutLabel:"–",a=void 0!==t.zoomInTipLabel?t.zoomInTipLabel:"Zoom in",l=void 0!==t.zoomOutTipLabel?t.zoomOutTipLabel:"Zoom out",u=document.createElement("button");u.className=i,u.setAttribute("type","button"),u.title=a,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Jx,this.handleClick_.bind(this,n),!1);const h=document.createElement("button");h.className=r,h.setAttribute("type","button"),h.title=l,h.appendChild("string"==typeof o?document.createTextNode(o):o),h.addEventListener(Jx,this.handleClick_.bind(this,-n),!1);const c=e+" "+OT+" "+AT,d=this.element;d.className=c,d.appendChild(u),d.appendChild(h),this.duration_=void 0!==t.duration?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const e=this.getMap().getView();if(!e)return;const n=e.getZoom();if(void 0!==n){const i=e.getConstrainedZoom(n+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:i,duration:this.duration_,easing:tC})):e.setZoom(i)}}}function QT(t){t=t||{};const e=new MS;return(void 0===t.zoom||t.zoom)&&e.push(new JT(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new ZT(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new YT(t.attributionOptions)),e}class tR{constructor(t,e,n){this.decay_=t,this.minVelocity_=e,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[n+2]>t;)n-=3;const i=this.points_[e+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[e]-this.points_[n],s=this.points_[e+1]-this.points_[n+1];return this.angle_=Math.atan2(s,r),this.initialVelocity_=Math.sqrt(r*r+s*s)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const eR="active";class nR extends TS{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(eR)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(eR,t)}setMap(t){this.map_=t}}function iR(t,e,n,i){const r=t.getZoom();if(void 0===r)return;const s=t.getConstrainedZoom(r+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:n,duration:void 0!==i?i:250,easing:tC})}class rR extends nR{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:250}handleEvent(t){let e=!1;if(t.type==AS.DBLCLICK){const n=t.originalEvent,i=t.map,r=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;iR(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function sR(t){const e=arguments;return function(t){let n=!0;for(let i=0,r=e.length;i0}}else if(t.type==AS.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==AS.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}}function mR(t){const e=t.length;let n=0,i=0;for(let r=0;r0&&this.condition_(t)){const e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}class _R extends gR{constructor(t){t=t||{},super({stopDown:cS}),this.condition_=t.condition?t.condition:oR,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!pR(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===CT)return;const i=e.getSize(),r=t.pixel,s=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;n.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){return!pR(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!pR(t)||!uR(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class vR extends iS{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(t[0],e[0])+n,i.top=Math.min(t[1],e[1])+n,i.width=Math.abs(e[0]-t[0])+n,i.height=Math.abs(e[1]-t[1])+n}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const t=this.startPixel_,e=this.endPixel_,n=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new bT([n])}getGeometry(){return this.geometry_}}const bR="boxcancel";class wR extends yS{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class xR extends gR{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new vR(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??uR,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,n){const i=n[0]-e[0],r=n[1]-e[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new wR("boxdrag",t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new wR(e?"boxend":bR,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new wR("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new wR(bR,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new wR(bR,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class SR extends xR{constructor(t){super({condition:(t=t||{}).condition?t.condition:cR,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=void 0!==t.duration?t.duration:200,this.out_=void 0!==t.out&&t.out}onBoxEnd(t){const e=this.getMap().getView();let n=this.getGeometry();if(this.out_){const t=e.rotatedExtentForGeometry(n),i=e.getResolutionForExtentInternal(t),r=e.getResolution()/i;n=n.clone(),n.scale(r*r)}e.fitInternal(n,{duration:this.duration_,easing:tC})}}const ER="ArrowLeft",CR="ArrowRight",kR="ArrowDown";class TR extends nR{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return hR(t)&&dR(t)},this.condition_=void 0!==t.condition?t.condition:this.defaultCondition_,this.duration_=void 0!==t.duration?t.duration:100,this.pixelDelta_=void 0!==t.pixelDelta?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Qx){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&(i==kR||i==ER||i==CR||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==kR?a=-s:i==ER?o=-s:i==CR?o=s:a=s;const l=[o,a];ZE(l,r.getRotation()),function(t,e,n){const i=t.getCenterInternal();if(i){const r=[i[0]+e[0],i[1]+e[1]];t.animateInternal({duration:void 0!==n?n:250,easing:nC,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class RR extends nR{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return NS?e.metaKey:e.ctrlKey}(t)&&dR(t)},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:100}handleEvent(t){let e=!1;if(t.type==Qx||t.type==tS){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&("+"===i||"-"===i)){const r=t.map,s="+"===i?this.delta_:-this.delta_;iR(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class PR extends nR{constructor(t){super(t=t||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==t.maxDelta?t.maxDelta:1,this.duration_=void 0!==t.duration?t.duration:250,this.timeout_=void 0!==t.timeout?t.timeout:80,this.useAnchor_=void 0===t.useAnchor||t.useAnchor,this.constrainResolution_=void 0!==t.constrainResolution&&t.constrainResolution;const e=t.condition?t.condition:lR;this.condition_=t.onFocusOnly?sR(aR,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t))return!0;if(t.type!==nS)return!0;const e=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let i=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:i*=40;break;case WheelEvent.DOM_DELTA_PAGE:i*=300}if(0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const s=e.getView();if("trackpad"===this.mode_&&!s.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(s.getAnimating()&&s.cancelAnimations(),s.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),s.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const o=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,e),o),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let n=-nE(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),iR(e,n,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}}class MR extends gR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==t.threshold?t.threshold:.3,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){let e=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const t=r-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=r;const s=t.map,o=s.getView();o.getConstraints().rotation!==CT&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(mR(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return!(this.targetPointers.length<2&&(t.map.getView().endInteraction(this.duration_),1))}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}class IR extends gR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),super(e),this.anchor_=null,this.duration_=void 0!==t.duration?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,s=n.clientY-i.clientY,o=Math.sqrt(r*r+s*s);void 0!==this.lastDistance_&&(e=this.lastDistance_/o),this.lastDistance_=o;const a=t.map,l=a.getView();1!=e&&(this.lastScaleDelta_=e),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(mR(this.targetPointers))),a.render(),l.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const e=t.map.getView(),n=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const OR="opacity",AR="visible",FR="extent",LR="zIndex",NR="maxResolution",DR="minResolution",jR="maxZoom",zR="minZoom",UR="source";class BR extends TS{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);"object"==typeof t.properties&&(delete e.properties,Object.assign(e,t.properties)),e[OR]=void 0!==t.opacity?t.opacity:1,ZS("number"==typeof e[OR],"Layer opacity must be a number"),e[AR]=void 0===t.visible||t.visible,e[LR]=t.zIndex,e[NR]=void 0!==t.maxResolution?t.maxResolution:1/0,e[DR]=void 0!==t.minResolution?t.minResolution:0,e[zR]=void 0!==t.minZoom?t.minZoom:-1/0,e[jR]=void 0!==t.maxZoom?t.maxZoom:1/0,this.className_=void 0!==e.className?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:void 0===t||t},n=this.getZIndex();return e.opacity=nE(Math.round(100*this.getOpacity())/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=void 0!==n||e.managed?n:1/0,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return SS()}getLayerStatesArray(t){return SS()}getExtent(){return this.get(FR)}getMaxResolution(){return this.get(NR)}getMinResolution(){return this.get(DR)}getMinZoom(){return this.get(zR)}getMaxZoom(){return this.get(jR)}getOpacity(){return this.get(OR)}getSourceState(){return SS()}getVisible(){return this.get(AR)}getZIndex(){return this.get(LR)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(FR,t)}setMaxResolution(t){this.set(NR,t)}setMinResolution(t){this.set(DR,t)}setMaxZoom(t){this.set(jR,t)}setMinZoom(t){this.set(zR,t)}setOpacity(t){ZS("number"==typeof t,"Layer opacity must be a number"),this.set(OR,t)}setVisible(t){this.set(AR,t)}setZIndex(t){this.set(LR,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const qR="addlayer",$R="removelayer";class GR extends yS{constructor(t,e){super(t),this.layer=e}}const VR="layers";class WR extends BR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let n=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(VR,this.handleLayersChanged_),n?Array.isArray(n)?n=new MS(n.slice(),{unique:!0}):ZS("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new MS(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(wS),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(vS(t,Hx,this.handleLayersAdd_,this),vS(t,Kx,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(wS);gS(this.listenerKeys_);const e=t.getArray();for(let n=0,i=e.length;n{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}isVisible(t){let e;const n=this.getMapInternal();let i;if(!t&&n&&(t=n.getView()),e=t instanceof TT?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&n&&(e.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),e.layerStatesArray){if(i=e.layerStatesArray.find(t=>t.layer===this),!i)return!1}else i=this.getLayerState();const r=this.getExtent();return JR(i,e.viewState)&&(!r||VE(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof TT?t.getViewStateAndExtent():t);return Array.isArray(n)||(n=[n]),n}render(t,e){const n=this.getRenderer();return n.prepareFrame(t)?(this.rendered=!0,n.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set("map",t)}getMapInternal(){return this.get("map")}setMap(t){this.mapPrecomposeKey_&&(wS(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(wS(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=vS(t,XR,this.handlePrecompose_,this),this.mapRenderKey_=vS(this,Yx,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);ZS(!e.some(t=>t.layer===n.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(n)}setSource(t){this.set(UR,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}}function JR(t,e){if(!t.visible)return!1;const n=e.resolution;if(n=t.maxResolution)return!1;const i=e.zoom;return i>t.minZoom&&i<=t.maxZoom}function QR(t,e,n=0,i=t.length-1,r=eP){for(;i>n;){if(i-n>600){const s=i-n+1,o=e-n+1,a=Math.log(s),l=.5*Math.exp(2*a/3),u=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);QR(t,e,Math.max(n,Math.floor(e-o*l/s+u)),Math.min(i,Math.floor(e+(s-o)*l/s+u)),r)}const s=t[e];let o=n,a=i;for(tP(t,n,e),r(t[i],s)>0&&tP(t,n,i);o0;)a--}0===r(t[n],s)?tP(t,n,a):(a++,tP(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function tP(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function eP(t,e){return te?1:0}let nP=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const n=[];if(!fP(t,e))return n;const i=this.toBBox,r=[];for(;e;){for(let s=0;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(i,r,e)}_split(t,e){const n=t[e],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i),o=gP(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,rP(n,this.toBBox),rP(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=gP([t,e]),this.data.height=t.height+1,this.data.leaf=!1,rP(this.data,this.toBBox)}_chooseSplitIndex(t,e,n){let i,r=1/0,s=1/0;for(let o=e;o<=n-e;o++){const e=sP(t,0,o,this.toBBox),a=sP(t,o,n,this.toBBox),l=dP(e,a),u=uP(e)+uP(a);l=e;l--){const e=t.children[l];oP(o,t.leaf?r(e):e),a+=hP(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)oP(e[i],t)}_condense(t){for(let e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children,e.splice(e.indexOf(t[n]),1)):this.clear():rP(t[n],this.toBBox)}};function iP(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function gP(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function mP(t,e,n,i,r){const s=[e,n];for(;s.length;){if((n=s.pop())-(e=s.pop())<=i)continue;const o=e+Math.ceil((n-e)/i/2)*i;QR(t,o,e,n,r),s.push(e,o,o,n)}}const yP=[NaN,NaN,NaN,0];let _P;const vP=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,bP=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,wP=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,xP=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function SP(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function EP(t){throw new Error('failed to parse "'+t+'" as color')}function CP(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(bP)||t.match(vP)||t.match(wP);if(e){const t=e[4],n=100/255;return[nE(SP(e[1],n)+.5|0,0,255),nE(SP(e[2],n)+.5|0,0,255),nE(SP(e[3],n)+.5|0,0,255),void 0!==t?nE(SP(t,100),0,1):1]}EP(t)}if(t.startsWith("#")){if(xP.test(t)){const e=t.substring(1),n=e.length<=4?1:2,i=[0,0,0,255];for(let t=0,r=e.length;t.0031308?269.025*Math.pow(t,1/2.4)-14.025:3294.6*t}function MP(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function IP(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function OP(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function AP(t){const e=IP(t[0]),n=IP(t[1]),i=IP(t[2]),r=OP(.222488403*e+.716873169*n+.06060791*i),s=500*(OP(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-OP(.016863605*e+.117638439*n+.865350722*i)),a=Math.atan2(o,s)*(180/Math.PI);return[116*r-16,Math.sqrt(s*s+o*o),a<0?a+360:a,t[3]]}function FP(t){if("none"===t)return yP;if(kP.hasOwnProperty(t))return kP[t];if(TP>=1024){let t=0;for(const e in kP)3&t++||(delete kP[e],--TP)}const e=CP(t);4!==e.length&&EP(t);for(const n of e)isNaN(n)&&EP(t);return kP[t]=e,++TP,e}function LP(t){return Array.isArray(t)?t:FP(t)}function NP(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let n=t[1];n!=(0|n)&&(n=n+.5|0);let i=t[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+e+","+n+","+i+","+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+")"}function DP(t){return t[0]>0&&t[1]>0}function jP(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let zP=0;const UP=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function tI(t,e,n){const i=t.length-1,r=new Array(i);for(let s=0;s{for(let e=0;e{for(let r=0;r{const i=t.args;let r=n.properties[e];for(let t=1,e=i.length;tt.variables[e];case KM:return n=>{const i=t.args;if(!(e in n.properties))return!1;let r=n.properties[e];for(let t=1,e=i.length;tt.featureId;case sM:return t=>t.geometryType;case rM:{const e=t.args.map(t=>oI(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case hM:return t=>t.resolution;case aM:case lM:case LM:case zM:case"!":return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{for(let e=0;e{for(let e=0;e{const e=i[0](t),n=i[1](t),r=i[2](t);return e>=n&&e<=r};case zM:return t=>{const e=i[0](t);for(let r=1;r!i[0](t);default:throw new Error(`Unsupported logical operator ${e}`)}}(t);case pM:case fM:case"<":case _M:case">":case mM:return function(t){const e=t.operator,n=oI(t.args[0]),i=oI(t.args[1]);switch(e){case pM:return t=>n(t)===i(t);case fM:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case mM:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case SM:case"%":case"^":case kM:case TM:case RM:case PM:case MM:case IM:case OM:case AM:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{let e=1;for(let r=0;ri[0](t)/i[1](t);case"+":return t=>{let e=0;for(let r=0;ri[0](t)-i[1](t);case SM:return t=>{const e=i[0](t),n=i[1](t);if(er?r:e};case"%":return t=>i[0](t)%i[1](t);case"^":return t=>Math.pow(i[0](t),i[1](t));case kM:return t=>Math.abs(i[0](t));case TM:return t=>Math.floor(i[0](t));case RM:return t=>Math.ceil(i[0](t));case PM:return t=>Math.round(i[0](t));case MM:return t=>Math.sin(i[0](t));case IM:return t=>Math.cos(i[0](t));case OM:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case AM:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case jM:return function(t){const e=t.args.length,n=new Array(e);for(let i=0;i{for(let i=0;i{const i=n[0](t);for(let r=1;r{const i=n[0](t),r=n[1](t);let s,o;for(let a=2;a=r)return 2===a?l:u?lI(i,r,s,o,e,l):aI(i,r,s,o,e,l);s=e,o=l}return o}}(t);case HM:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{const n=i[0](e);return t.args[0].type===$P?NP(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function aI(t,e,n,i,r,s){const o=r-n;if(0===o)return i;const a=e-n;return i+(1===t?a/o:(Math.pow(t,a)-1)/(Math.pow(t,o)-1))*(s-i)}function lI(t,e,n,i,r,s){if(0===r-n)return i;const o=AP(i),a=AP(s);let l=a[2]-o[2];return l>180?l-=360:l<-180&&(l+=360),function(t){const e=(t[0]+16)/116,n=t[1],i=t[2]*Math.PI/180,r=MP(e),s=MP(e+n/500*Math.cos(i)),o=MP(e-n/200*Math.sin(i)),a=PP(3.021973625*s-1.617392459*r-.404875592*o),l=PP(-.943766287*s+1.916279586*r+.027607165*o),u=PP(.069407491*s-.22898585*r+1.159737864*o);return[nE(a+.5|0,0,255),nE(l+.5|0,0,255),nE(u+.5|0,0,255),t[3]]}([aI(t,e,n,o[0],r,a[0]),aI(t,e,n,o[1],r,a[1]),o[2]+aI(t,e,n,0,r,l),aI(t,e,n,i[3],r,s[3])])}class uI extends _S{constructor(t,e,n,i){super(),this.extent=t,this.pixelRatio_=n,this.resolution=e,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Yx)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const t=this.getResolution(),e=Array.isArray(t)?t[0]:t;fS(()=>this.loader(this.getExtent(),e,this.getPixelRatio())).then(t=>{"image"in t&&(this.image_=t.image),"extent"in t&&(this.extent=t.extent),"resolution"in t&&(this.resolution=t.resolution),"pixelRatio"in t&&(this.pixelRatio_=t.pixelRatio),(t instanceof HTMLImageElement||US&&t instanceof ImageBitmap||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)&&(this.image_=t),this.state=2}).catch(t=>{this.state=3,console.error(t)}).finally(()=>this.changed())}}setImage(t){this.image_=t}setResolution(t){this.resolution=t}}function hI(t,e,n){return e+":"+t+":"+(n?LP(n):"null")}const cI=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const n=this.cache_[e];3&t++||n.hasListener()||(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,n){const i=hI(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=hI(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=hI(t,e,n),o=s in this.cache_;this.cache_[s]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then(()=>{this.patternCache_[s]=BT().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=BT().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let dI=null;class pI extends _S{constructor(t,e,n,i,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){dI||(dI=zT(1,1,void 0,{willReadFrequently:!0})),dI.drawImage(this.image_,0,0);try{dI.getImageData(0,0,1,1),this.tainted_=!1}catch{dI=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Yx)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],n=zT(t,e);n.fillRect(0,0,t,e),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(t=this.image_,e=this.src_,e&&(t.src=e),t.src&&zS?new Promise((e,n)=>t.decode().then(()=>e(t)).catch(i=>t.complete&&t.width?e(t):n(i))):function(t){return new Promise((e,n)=>{function i(){s(),e(t)}function r(){s(),n(new Error("Image load error"))}function s(){t.removeEventListener("load",i),t.removeEventListener("error",r)}t.addEventListener("load",i),t.addEventListener("error",r)})}(t)).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var t,e}replaceColor_(t){if(!this.color_||this.canvas_[t]||2!==this.imageState_)return;const e=this.image_,n=zT(Math.ceil(e.width*t),Math.ceil(e.height*t)),i=n.canvas;var r;n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(r=this.color_)?r:NP(r),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(2===this.imageState_||3===this.imageState_)t();else{const e=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Yx,e),t())};this.addEventListener(Yx,e)}})),this.ready_}}function fI(t,e,n,i,r,s){let o=void 0===e?void 0:cI.get(e,n,r);return o||(o=new pI(t,t&&"src"in t?t.src||void 0:e,n,i,r),cI.set(e,n,r,o,s)),s&&o&&!cI.getPattern(e,n,r)&&cI.set(e,n,r,o,s),o}function gI(t){return t?Array.isArray(t)?NP(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return cI.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=cI.getPattern(e,void 0,t.color);if(n)return n;const i=cI.get(t.src,"anonymous",null);if(2!==i.getImageState())return null;const r=zT(t.size[0],t.size[1]);return r.drawImage(i.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),fI(r.canvas,e,void 0,2,t.color,!0),cI.getPattern(e,void 0,t.color)}(t):t:null}const mI="10px sans-serif",yI="#000",_I="round",vI=[],bI="round",wI="#000",xI="center",SI="middle",EI=[0,0,0,0],CI=new TS;let kI,TI=null;const RI={},PI=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function MI(t,e,n){return`${t} ${e} 16px "${n}"`}const II=function(){const t=100;let e,n;async function i(t){await n.ready;const e=await n.load(t);if(0===e.length)return!1;const i=jT(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=DT[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=CI.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,FI(t,n)),0);return n[e]=i,i}class NI{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=jP(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new NI({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return SS()}getImage(t){return SS()}getHitDetectionImage(){return SS()}getPixelRatio(t){return 1}getImageState(){return SS()}getImageSize(){return SS()}getOrigin(){return SS()}getSize(){return SS()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=jP(t)}listenImageChange(t){SS()}load(){SS()}unlistenImageChange(t){SS()}ready(){return Promise.resolve()}}class DI extends NI{constructor(t){super({opacity:1,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,rotation:void 0!==t.rotation?t.rotation:0,scale:void 0!==t.scale?t.scale:1,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==t.fill?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=void 0!==t.angle?t.angle:0,this.stroke_=void 0!==t.stroke?t.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const t=this.getScale(),e=new DI({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_,e=this.getDisplacement(),n=this.getScaleArray();return[t[0]/2-e[0]/n[0],t[1]/2+e[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){const e=this.fill_?.getKey(),n=`${t},${this.angle_},${this.radius},${this.radius2_},${this.points_},${e}`+Object.values(this.renderOptions_).join(",");let i=cI.get(n,null,null)?.getImage(1);if(!i){const e=this.renderOptions_,r=Math.ceil(e.size*t),s=zT(r,r);this.draw_(e,s,t),i=s.canvas,cI.set(n,null,null,new pI(i,void 0,null,2,null))}return i}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,n){if(0===e||this.points_===1/0||"bevel"!==t&&"miter"!==t)return e;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i{this.patternImage_=null}),0===e.getImageState()&&e.load(),1===e.getImageState()&&(this.patternImage_=e)}this.color_=t}getKey(){const t=this.getColor();return t?t instanceof CanvasPattern||t instanceof CanvasGradient?CS(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:LP(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function UI(t,e,n,i){return void 0!==n&&void 0!==i?[n/t,i/e]:void 0!==n?n/t:void 0!==i?i/e:1}class BI extends NI{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,n=void 0!==t.rotation?t.rotation:0,i=void 0!==t.scale?t.scale:1,r=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:n,scale:i,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:r,declutterMode:t.declutterMode}),this.anchor_=void 0!==t.anchor?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==t.anchorOrigin?t.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==t.anchorXUnits?t.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==t.anchorYUnits?t.anchorYUnits:"fraction",this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null;const s=void 0!==t.img?t.img:null;let o,a=t.src;if(ZS(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||CS(s)),ZS(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),ZS(!((void 0!==t.width||void 0!==t.height)&&void 0!==t.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==t.src?o=0:void 0!==s&&(o="complete"in s?s.complete?s.src?2:0:1:2),this.color_=void 0!==t.color?LP(t.color):null,this.iconImage_=fI(s,a,this.crossOrigin_,o,this.color_),this.offset_=void 0!==t.offset?t.offset:[0,0],this.offsetOrigin_=void 0!==t.offsetOrigin?t.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==t.size?t.size:null,this.initialOptions_,void 0!==t.width||void 0!==t.height){let e,n;if(t.size)[e,n]=t.size;else{const i=this.getImage(1);if(i.width&&i.height)e=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(UI(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(UI(e,n,t.width,t.height))}}clone(){let t,e,n;return this.initialOptions_?(e=this.initialOptions_.width,n=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new BI({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const e=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!e)return null;t=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(t[0]*=e[0]),"fraction"==this.anchorYUnits_&&(t[1]*=e[1])}if("top-left"!=this.anchorOrigin_){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[0]=-t[0]+e[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),n=this.getScaleArray();return[t[0]-e[0]/n[0],t[1]+e[1]/n[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if("top-left"!=this.offsetOrigin_){const e=this.getSize(),n=this.iconImage_.getSize();if(!e||!n)return null;t=t.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[0]=n[0]-e[0]-t[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[1]=n[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=fI(null,t,this.crossOrigin_,0,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();return this.size_?this.size_[0]*t[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*t[0]:void 0}getHeight(){const t=this.getScaleArray();return this.size_?this.size_[1]*t[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*t[1]:void 0}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Yx,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Yx,t)}ready(){return this.iconImage_.ready()}}class qI{constructor(t){t=t||{},this.color_=void 0!==t.color?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=void 0!==t.lineDash?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new qI({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}class $I{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=WI,void 0!==t.geometry&&this.setGeometry(t.geometry),this.fill_=void 0!==t.fill?t.fill:null,this.image_=void 0!==t.image?t.image:null,this.renderer_=void 0!==t.renderer?t.renderer:null,this.hitDetectionRenderer_=void 0!==t.hitDetectionRenderer?t.hitDetectionRenderer:null,this.stroke_=void 0!==t.stroke?t.stroke:null,this.text_=void 0!==t.text?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&"object"==typeof t&&(t=t.clone()),new $I({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=WI,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let GI=null;function VI(){if(!GI){const t=new zI({color:"rgba(255,255,255,0.4)"}),e=new qI({color:"#3399CC",width:1.25});GI=[new $I({image:new jI({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return GI}function WI(t){return t.getGeometry()}let HI=class t{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.keepUpright_=t.keepUpright,this.scale_=t.scale,this.scaleArray_=jP(void 0!==t.scale?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=void 0!==t.fill?t.fill:new zI({color:"#333"}),this.maxAngle_=void 0!==t.maxAngle?t.maxAngle:Math.PI/4,this.placement_=void 0!==t.placement?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=void 0!==t.stroke?t.stroke:null,this.offsetX_=void 0!==t.offsetX?t.offsetX:0,this.offsetY_=void 0!==t.offsetY?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=void 0===t.padding?null:t.padding,this.declutterMode_=t.declutterMode}clone(){const e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof zI?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setKeepUpright(t){this.keepUpright_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=jP(void 0!==t?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}};function KI(){return!0}function XI(t){const e=tM(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=iO(t,e+"fill-color",n)}if(!i)return null;const r=new zI;return function(t){const e=i(t);return e===yP?null:(r.setColor(e),r)}}function QI(t,e,n){const i=tO(t,e+"stroke-width",n),r=iO(t,e+"stroke-color",n);if(!i&&!r)return null;const s=eO(t,e+"stroke-line-cap",n),o=eO(t,e+"stroke-line-join",n),a=rO(t,e+"stroke-line-dash",n),l=tO(t,e+"stroke-line-dash-offset",n),u=tO(t,e+"stroke-miter-limit",n),h=new qI;return function(t){if(r){const e=r(t);if(e===yP)return null;h.setColor(e)}if(i&&h.setWidth(i(t)),s){const e=s(t);if("butt"!==e&&"round"!==e&&"square"!==e)throw new Error("Expected butt, round, or square line cap");h.setLineCap(e)}if(o){const e=o(t);if("bevel"!==e&&"round"!==e&&"miter"!==e)throw new Error("Expected bevel, round, or miter line join");h.setLineJoin(e)}return a&&h.setLineDash(a(t)),l&&h.setLineDashOffset(l(t)),u&&h.setMiterLimit(u(t)),h}}function tO(t,e,n){if(!(e in t))return;const i=sI(t[e],BP,n);return function(t){return fO(i(t),e)}}function eO(t,e,n){if(!(e in t))return null;const i=sI(t[e],qP,n);return function(t){return pO(i(t),e)}}function nO(t,e,n){if(!(e in t))return null;const i=sI(t[e],UP,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function iO(t,e,n){if(!(e in t))return null;const i=sI(t[e],$P,n);return function(t){return gO(i(t),e)}}function rO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){return dO(i(t),e)}}function sO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){const n=dO(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function oO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){return mO(i(t),e)}}function aO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP|BP,n);return function(t){return function(t,e){return"number"==typeof t?t:mO(t,e)}(i(t),e)}}function lO(t,e){const n=t[e];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${e}`);return n}}function uO(t,e){const n=t[e];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${e}`);return n}}function hO(t,e){const n=t[e];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${e}`);return n}}function cO(t,e){const n=t[e];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${e}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${e}`);return n}}function dO(t,e){if(!Array.isArray(t))throw new Error(`Expected an array for ${e}`);const n=t.length;for(let i=0;i4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return n}function mO(t,e){const n=dO(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const yO="renderOrder";class _O extends ZR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=void 0!==t.renderBuffer?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=void 0!==t.updateWhileAnimating&&t.updateWhileAnimating,this.updateWhileInteracting_=void 0!==t.updateWhileInteracting&&t.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(yO)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){const n=this.getDeclutter();n in t.declutter==0&&(t.declutter[n]=new nP(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(yO,t)}setStyle(t){this.style_=void 0===t?VI:t;const e=function(t){if(void 0===t)return VI;if(!t)return null;if("function"==typeof t)return t;if(t instanceof $I)return t;if(!Array.isArray(t))return YI([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof $I){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&JR(r,u)&&o.call(a,s)){const i=s.getRenderer(),o=s.getSource();if(i&&o){const s=o.getWrapX()?d:t,a=h.bind(null,r.managed);y[0]=s[0]+p[v][0],y[1]=s[1]+p[v][1],l=i.forEachFeatureAtCoordinate(y,e,n,a,m)}if(l)return l}}if(0===m.length)return;const _=1/m.length;return m.forEach((t,e)=>t.distanceSq+=e*_),m.sort((t,e)=>t.distanceSq-e.distanceSq),m.some(t=>l=t.callback(t.feature,t.layer,t.geometry)),l}hasFeatureAtCoordinate(t,e,n,i,r,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,n,i,hS,this,r,s)}getMap(){return this.map_}renderFrame(t){SS()}scheduleExpireIconCache(t){cI.canExpireCache()&&t.postRenderFunctions.push(wO)}}function wO(){cI.expire()}class xO extends bO{constructor(t){super(t),this.fontChangeListenerKey_=vS(CI,Xx,t.redrawText,t),this.element_=jS?HT():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=OT+" ol-layers";const n=t.getViewport();n&&n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){const n=this.getMap();if(n.hasListener(t)){const i=new vO(t,void 0,e);n.dispatchEvent(i)}}disposeInternal(){wS(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(t),this.dispatchRenderEvent(XR,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof _O&&t.layer.getDeclutter())&&(t.declutter={});const n=t.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,a=e.length;o0)&&(t.fillStyle=i,t.fillRect(0,0,s.width,s.height)),KT(n)&&n.width>0){const i=e.style.opacity||n.style.opacity;t.globalAlpha=""===i?1:Number(i);const r=n.style.transform;if(r)t.setTransform(...Pk(r));else{const e=parseFloat(n.style.width)/n.width,i=parseFloat(n.style.height)/n.height;t.setTransform(e,0,0,i,0,0)}t.drawImage(n,0,0)}}t.globalAlpha=1,t.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent("postcompose",t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let n=e.length-1;n>=0;--n){const i=e[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(t,i)}e.forEach(e=>e.layer.renderDeferred(t))}}}function SO(t){t instanceof ZR?t.setMapInternal(null):t instanceof WR&&t.getLayers().forEach(SO)}function EO(t,e){if(t instanceof ZR)t.setMapInternal(e);else if(t instanceof WR){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(jS?new MS:QT()),this.interactions=e.interactions||(jS?new MS:function(t){t=t||{};const e=new MS,n=new tR(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new _R),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new rR({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new yR({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new MR),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new IR({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new TR),e.push(new RR({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new PR({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new SR({duration:t.zoomDuration})),e}({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new tE(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(HS,this.handleLayerGroupChanged_),this.addChangeListener(YS,this.handleViewChanged_),this.addChangeListener(KS,this.handleSizeChanged_),this.addChangeListener(XS,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof TT||t.view.then(function(t){n.setView(new TT(t))}),this.controls.addEventListener(Hx,t=>{t.element.setMap(this)}),this.controls.addEventListener(Kx,t=>{t.element.setMap(null)}),this.interactions.addEventListener(Hx,t=>{t.element.setMap(this)}),this.interactions.addEventListener(Kx,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(Hx,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener(Kx,t=>{const e=t.element.getId();void 0!==e&&delete this.overlayIdIndex_[e.toString()],t.element.setMap(null)}),this.controls.forEach(t=>{t.setMap(this)}),this.interactions.forEach(t=>{t.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){EO(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();void 0!==e&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(t),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,s=void 0!==n.layerFilter?n.layerFilter:hS,o=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,o,e,null,s,null)}getFeaturesAtPixel(t,e){const n=[];return this.forEachFeatureAtPixel(t,function(t){n.push(t)},e),n}getAllLayers(){const t=[];return function e(n){n.forEach(function(n){n instanceof WR?e(n.getLayers()):t.push(n)})}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(t),i=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:hS,r=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,s,i,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const e=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=e.width/n[0],r=e.height/n[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/i,(s.clientY-e.top)/r]}getTarget(){return this.get(XS)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return fk(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?Ek(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return void 0!==e?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(HS)}setLayers(t){const e=this.getLayerGroup();if(t instanceof MS)return void e.setLayers(t);const n=e.getLayers();n.clear(),n.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,n=t.length;e=0;n--){const i=e[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(t)||t.propagationStopped))break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,i=n;if(t){const e=t.viewHints;if(e[0]||e[1]){const e=Date.now()-t.time>8;n=e?0:8,i=e?0:2}}e.getTilesLoading(){this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new GR("removelayer",e)),this.set(HS,t)}setSize(t){this.set(KS,t)}setTarget(t){this.set(XS,t)}setView(t){if(!t||t instanceof TT)return void this.set(YS,t);this.set(YS,new TT);const e=this;t.then(function(t){e.setView(new TT(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(KT(t))n=t.width,i=t.height;else{const e=getComputedStyle(t);n=t.offsetWidth-parseFloat(e.borderLeftWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderRightWidth),i=t.offsetHeight-parseFloat(e.borderTopWidth)-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)-parseFloat(e.borderBottomWidth)}isNaN(n)||isNaN(i)||(e=[Math.max(0,n),Math.max(0,i)],!DP(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&oC("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&uS(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};const kO="element",TO="map",RO="offset",PO="position",MO="positioning";class IO extends TS{constructor(t){super(),this.on,this.once,this.un,this.options=t,this.id=t.id,this.insertFirst=void 0===t.insertFirst||t.insertFirst,this.stopEvent=void 0===t.stopEvent||t.stopEvent,this.element=document.createElement("div"),this.element.className=void 0!==t.className?t.className:"ol-overlay-container ol-selectable",this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=!0===t.autoPan?{}:t.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(kO,this.handleElementChanged),this.addChangeListener(TO,this.handleMapChanged),this.addChangeListener(RO,this.handleOffsetChanged),this.addChangeListener(PO,this.handlePositionChanged),this.addChangeListener(MO,this.handlePositioningChanged),void 0!==t.element&&this.setElement(t.element),this.setOffset(void 0!==t.offset?t.offset:[0,0]),this.setPositioning(t.positioning||"top-left"),void 0!==t.position&&this.setPosition(t.position)}getElement(){return this.get(kO)}getId(){return this.id}getMap(){return this.get(TO)||null}getOffset(){return this.get(RO)}getPosition(){return this.get(PO)}getPositioning(){return this.get(MO)}handleElementChanged(){WT(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),wS(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=vS(t,GS,this.render,this),this.updatePixelPosition();const e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(t){this.set(kO,t)}setMap(t){this.set(TO,t)}setOffset(t){this.set(RO,t)}setPosition(t){this.set(PO,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(PO))return;const n=this.getRect(e.getTargetElement(),e.getSize()),i=this.getElement(),r=this.getRect(i,[$T(i),GT(i)]),s=void 0===(t=t||{}).margin?20:t.margin;if(!bE(n,r)){const i=r[0]-n[0],o=n[2]-r[2],a=r[1]-n[1],l=n[3]-r[3],u=[0,0];if(i<0?u[0]=i-s:o<0&&(u[0]=Math.abs(o)+s),a<0?u[1]=a-s:l<0&&(u[1]=Math.abs(l)+s),0!==u[0]||0!==u[1]){const n=e.getView().getCenterInternal(),i=e.getPixelFromCoordinateInternal(n);if(!i)return;const r=[i[0]+u[0],i[1]+u[1]],s=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(r),duration:s.duration,easing:s.easing})}}}getRect(t,e){const n=t.getBoundingClientRect(),i=n.left+window.pageXOffset,r=n.top+window.pageYOffset;return[i,r,i+e[0],r+e[1]]}setPositioning(t){this.set(MO,t)}setVisible(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)}updatePixelPosition(){const t=this.getMap(),e=this.getPosition();if(!t||!t.isRendered()||!e)return void this.setVisible(!1);const n=t.getPixelFromCoordinate(e),i=t.getSize();this.updateRenderedPosition(n,i)}updateRenderedPosition(t,e){const n=this.element.style,i=this.getOffset(),r=this.getPositioning();this.setVisible(!0);let s="0%",o="0%";"bottom-right"==r||"center-right"==r||"top-right"==r?s="-100%":"bottom-center"!=r&&"center-center"!=r&&"top-center"!=r||(s="-50%"),"bottom-left"==r||"bottom-center"==r||"bottom-right"==r?o="-100%":"center-left"!=r&&"center-center"!=r&&"center-right"!=r||(o="-50%");const a=`translate(${s}, ${o}) translate(${t[0]+i[0]}px, ${t[1]+i[1]}px)`;this.rendered.transform_!=a&&(this.rendered.transform_=a,n.transform=a)}getOptions(){return this.options}}class OO{drawCustom(t,e,n,i,r){}drawGeometry(t){}setStyle(t){}drawCircle(t,e,n){}drawFeature(t,e,n){}drawGeometryCollection(t,e,n){}drawLineString(t,e,n){}drawMultiLineString(t,e,n){}drawMultiPoint(t,e,n){}drawMultiPolygon(t,e,n){}drawPoint(t,e,n){}drawPolygon(t,e,n){}drawText(t,e,n){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const AO=11,FO=[8],LO=[12],NO=[1],DO=[3];class jO extends OO{constructor(t,e,n,i){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return 1==e?t:t.map(function(t){return t*e})}appendFlatPointCoordinates(t,e){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let s=r.length;for(let o=0,a=t.length;oa&&(this.instructions.push([4,a,u,t,n,Kk,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,Kk,r]));break;case"Point":l=t.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),u=this.coordinates.length,this.instructions.push([4,a,u,t,n,void 0,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,void 0,r])}this.endGeometry(e)}beginGeometry(t,e,n){this.beginGeometryInstruction1_=[0,e,0,t,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[0,e,0,t,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;let e;t.reverse();const n=t.length;let i,r,s=-1;for(e=0;ethis.maxLineWidth&&(this.maxLineWidth=e.lineWidth,this.bufferedMaxExtent_=null)}else e.strokeStyle=void 0,e.lineCap=void 0,e.lineDash=null,e.lineDashOffset=void 0,e.lineJoin=void 0,e.lineWidth=void 0,e.miterLimit=void 0;return e}setFillStrokeStyle(t,e){const n=this.state;this.fillStyleToState(t,n),this.strokeStyleToState(e,n)}createFill(t){const e=t.fillStyle,n=[10,e];return"string"!=typeof e&&n.push(t.fillPatternScale),n}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[AO,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,t.lineDash?this.applyPixelRatio(t.lineDash):null,t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const n=t.fillStyle;"string"==typeof n&&t.currentFillStyle==n||(this.instructions.push(e.call(this,t)),t.currentFillStyle=n)}updateStrokeStyle(t,e){const n=t.strokeStyle,i=t.lineCap,r=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=n||t.currentLineCap!=i||r!=t.currentLineDash&&!uS(t.currentLineDash,r)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(e.call(this,t),t.currentStrokeStyle=n,t.currentLineCap=i,t.currentLineDash=r,t.currentLineDashOffset=s,t.currentLineJoin=o,t.currentLineWidth=a,t.currentMiterLimit=l)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[7,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=yE(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;mE(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class zO extends jO{constructor(t,e,n,i){super(t,e,n,i)}drawFlatCoordinatess_(t,e,n,i){const r=this.state,s=void 0!==r.fillStyle,o=void 0!==r.strokeStyle,a=n.length;this.instructions.push(NO),this.hitDetectionInstructions.push(NO);for(let l=0;l=t){const e=(t-a+c)/c,d=lE(n,u,e),p=lE(i,h,e);l.push(d,p),s.push(l),l=[d,p],a==t&&(o+=r),a=0}else if(a0&&s.push(l),s}function BO(t,e,n,i,r){let s,o,a,l,u,h,c,d,p,f,g=n,m=n,y=0,_=0,v=n;for(o=n;ot&&(_>y&&(y=_,g=v,m=o),_=0,v=o-r)),a=l,c=p,d=f),u=n,h=i}return _+=l,_>y?[v,o]:[g,m]}const qO={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},$O={Circle:zO,Default:jO,Image:class extends jO{constructor(t,e,n,i){super(t,e,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e,n){if(!this.image_||this.maxExtent&&!vE(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=t.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(i,r);this.instructions.push([6,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([6,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e,n){if(!this.image_)return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=[];for(let a=0,l=i.length;a{const i=o[2*(t+n)]===u[n*h]&&o[2*(t+n)+1]===u[n*h+1];return i||--t,i})}this.saveTextStates_();const c=s.backgroundFill?this.createFill(this.fillStyleToState(s.backgroundFill)):null,d=s.backgroundStroke?this.createStroke(this.strokeStyleToState(s.backgroundStroke)):null;this.beginGeometry(t,e,n);let p=s.padding;if(p!=EI&&(s.scale[0]<0||s.scale[1]<0)){let t=s.padding[0],e=s.padding[1],n=s.padding[2],i=s.padding[3];s.scale[0]<0&&(e=-e,i=-i),s.scale[1]<0&&(t=-t,n=-n),p=[t,e,n,i]}const f=this.pixelRatio;this.instructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,p==EI?EI:p.map(function(t){return t*f}),c,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=c?c.slice(0):null;m&&(m[1]=yI),this.hitDetectionInstructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[g,g],NaN,this.declutterMode_,this.declutterImageWithText_,p,m,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?yI:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(e)}else{if(!VE(this.maxExtent,t.getExtent()))return;let i;if(u=t.getFlatCoordinates(),"LineString"==l)i=[u.length];else if("MultiLineString"==l)i=t.getEnds();else if("Polygon"==l)i=t.getEnds().slice(0,1);else if("MultiPolygon"==l){const e=t.getEndss();i=[];for(let t=0,n=e.length;tt[2]}else R=w>k;const P=Math.PI,M=[],I=S+i===e;let O;if(y=0,_=E,p=t[e=S],f=t[e+1],I){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(k+w)/2,e=(T+x)/2;return M[0]=[t,e,(C-s)/2,O,r],M}for(let A=0,F=(r=r.replace(/\n/g," ")).length;A0?-P:P),void 0!==O){let e=t-O;if(e+=e>P?-2*P:e<-P?2*P:0,Math.abs(e)>o)return null}O=t;const c=A;let d=0;for(;A{if("function"==typeof BT()[e])return this.push_(e),this.pushMethodArgs_},set:(t,e,n)=>(this.push_(e,n),!0)})}push_(...t){const e=this.instructions_,n=this.zIndex+this.offset_;e[n]||(e[n]=[]),e[n].push(...t)}pushMethodArgs_=(...t)=>(this.push_(t),this);pushFunction(t){this.push_(t)}getContext(){return this.context_}draw(t){this.instructions_.forEach(e=>{for(let n=0,i=e.length;n0&&t.push("\n",""),t.push(e,""),t}function iA(t,e,n){return n%2==0&&(t+=e),t}class rA{constructor(t,e,n,i,r){this.overlaps=n,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new HO:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,n,i){const r=t+e+n+i;if(this.labels_[r])return this.labels_[r];const s=i?this.strokeStates[i]:null,o=n?this.fillStates[n]:null,a=this.textStates[e],l=this.pixelRatio,u=[a.scale[0]*l,a.scale[1]*l],h=a.justify?qO[a.justify]:eA(Array.isArray(t)?t[0]:t,a.textAlign||xI),c=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce(nA,[]),{width:p,height:f,widths:g,heights:m,lineWidths:y}=function(t,e){const n=[],i=[],r=[];let s=0,o=0,a=0,l=0;for(let u=0,h=e.length;u<=h;u+=2){const c=e[u];if("\n"===c||u===h){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[u+1]||t.font,p=FI(d,c);n.push(p),o+=p;const f=OI(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+c,v=[],b=(_+2)*u[0],w=(f+c)*u[1],x={width:b<0?Math.floor(b):Math.ceil(b),height:w<0?Math.floor(w):Math.ceil(w),contextInstructions:v};1==u[0]&&1==u[1]||v.push("scale",u),i&&(v.push("strokeStyle",s.strokeStyle),v.push("lineWidth",c),v.push("lineCap",s.lineCap),v.push("lineJoin",s.lineJoin),v.push("miterLimit",s.miterLimit),v.push("setLineDash",[s.lineDash]),v.push("lineDashOffset",s.lineDashOffset)),n&&v.push("fillStyle",o.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const S=.5-h;let E=h*_+S*c;const C=[],k=[];let T,R=0,P=0,M=0,I=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+u>e?e-u:s,b=p[3]+_*c[0]+p[1],w=p[0]+v*c[1]+p[2],x=m-p[3],S=y-p[0];let E;return(f||0!==h)&&(XO[0]=x,JO[0]=x,XO[1]=S,YO[1]=S,YO[0]=x+b,ZO[0]=YO[0],ZO[1]=S+w,JO[1]=ZO[1]),0!==h?(E=kk([1,0,0,1,0,0],n,i,1,1,h,-n,-i),Ek(E,XO),Ek(E,YO),Ek(E,ZO),Ek(E,JO),SE(Math.min(XO[0],YO[0],ZO[0],JO[0]),Math.min(XO[1],YO[1],ZO[1],JO[1]),Math.max(XO[0],YO[0],ZO[0],JO[0]),Math.max(XO[1],YO[1],ZO[1],JO[1]),KO)):SE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),KO),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:u,declutterBox:{minX:KO[0],minY:KO[1],maxX:KO[2],maxY:KO[3],value:g},canvasTransform:E,scale:c}}replayImageOrLabel_(t,e,n,i,r,s,o){const a=!(!s&&!o),l=i.declutterBox,u=o?o[2]*i.scale[0]/2:0;return l.minX-u<=e[0]&&l.maxX+u>=0&&l.minY-u<=e[1]&&l.maxY+u>=0&&(a&&this.replayTextBackground_(t,XO,YO,ZO,JO,s,o),function(t,e,n,i,r,s,o,a,l,u,h){t.save(),1!==n&&(void 0===t.globalAlpha?t.globalAlpha=t=>t.globalAlpha*=n:t.globalAlpha*=n),e&&t.transform.apply(t,e),i.contextInstructions?(t.translate(l,u),t.scale(h[0],h[1]),function(t,e){const n=t.contextInstructions;for(let i=0,r=n.length;iF&&(this.fill_(t),R=0),P>F&&(t.stroke(),P=0),R||P||(t.beginPath(),_=NaN,v=NaN),++d;break;case 2:T=n[1];const i=u[T],h=u[T+1],c=u[T+2]-i,p=u[T+3]-h,z=Math.sqrt(c*c+p*p);t.moveTo(i+z,h),t.arc(i,h,z,0,2*Math.PI,!0),++d;break;case 3:t.closePath(),++d;break;case 4:T=n[1],f=n[2];const U=n[3],B=n[4],q=n[5];A.geometry=U,A.feature=L,d in M||(M[d]=[]);const $=M[d];q?q(u,T,f,2,$):($[0]=u[T],$[1]=u[T+1],$.length=2),l&&(l.zIndex=n[6]),B($,A),++d;break;case 6:T=n[1],f=n[2],x=n[3],g=n[4],m=n[5];let G=n[6];const V=n[7],W=n[8],H=n[9],K=n[10];let X=n[11];const Y=n[12];let Z=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){S=n[19],E=n[20],C=n[21],k=n[22];const t=this.drawLabelWithPointPlacement_(S,E,C,k);x=t.label,n[3]=x;const e=n[23];g=(t.anchorX-e)*this.pixelRatio,n[4]=g;const i=n[24];m=(t.anchorY-i)*this.pixelRatio,n[5]=m,G=x.height,n[6]=G,Z=x.width,n[13]=Z}let Q,tt,et,nt;n.length>25&&(Q=n[25]),n.length>17?(tt=n[16],et=n[17],nt=n[18]):(tt=EI,et=null,nt=null),K&&O?X+=I:K||O||(X-=I);let it=0;for(;T!oA.includes(t));class lA{constructor(t,e,n,i,r,s,o){this.maxExtent_=t,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=e,this.renderBuffer_=s,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,o)}clip(t,e){const n=this.getClipCoords(e);t.beginPath(),t.moveTo(n[0],n[1]),t.lineTo(n[2],n[3]),t.lineTo(n[4],n[5]),t.lineTo(n[6],n[7]),t.clip()}createExecutors_(t,e){for(const n in t){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=t[n];for(const t in r){const n=r[t];i[t]=new rA(this.resolution_,this.pixelRatio_,this.overlaps_,n,e)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const n=this.executorsByZIndex_[e];for(let e=0,i=t.length;en)break;let a=i[o];a||(a=[],i[o]=a),a.push(4*((t+s)*e+(t+r))+3),s>0&&a.push(4*((t-s)*e+(t+r))+3),r>0&&(a.push(4*((t+s)*e+(t-r))+3),s>0&&a.push(4*((t-s)*e+(t-r))+3))}const r=[];for(let s=0,o=i.length;s0){if(!s||"none"===n||"Image"!==d&&"Text"!==d||s.includes(t)){const n=(c[l]-3)/4,s=i-n%o,a=i-(n/o|0),u=r(t,e,s*s+a*a);if(u)return u}u.clearRect(0,0,o,o);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let g,m,y,_,v;for(f.sort(rS),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=sA.length-1;m>=0;--m)if(d=sA[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(u,a,n,p,h),v))return v}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const n=e[0],i=e[1],r=e[2],s=e[3],o=[n,i,n,s,r,s,r,i];return Mk(o,0,8,2,t,o),o}isEmpty(){return mS(this.executorsByZIndex_)}execute(t,e,n,i,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?sS:rS),s=s||sA;const l=sA.length;for(let u=0,h=a.length;up.execute(t,e,n,i,r,o)):p.execute(c,e,n,i,r,o),d&&c.restore(),s){s.offset();const t=a[u]*l+sA.indexOf(h);this.deferredZIndexContexts_[t]||(this.deferredZIndexContexts_[t]=[]),this.deferredZIndexContexts_[t].push(s)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(rS);for(let n=0,i=e.length;n{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const uA={};class hA extends OO{constructor(t,e,n,i,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=i,this.transformRotation_=i?uE(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(t,e,n,i){if(!this.image_)return;const r=Mk(t,e,n,i,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,a=s.globalAlpha;1!=this.imageOpacity_&&(s.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let u=0,h=r.length;ut*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:bI,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:gI(t||wI)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const n=t.getPixelRatio(this.pixelRatio_),i=t.getAnchor(),r=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=e[1]*n,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const s=t.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/n,s[1]*this.pixelRatio_/n],this.imageWidth_=e[0]*n}setTextStyle(t){if(t){const e=t.getFill();if(e){const t=e.getColor();this.textFillState_={fillStyle:gI(t||yI)}}else this.textFillState_=null;const n=t.getStroke();if(n){const t=n.getColor(),e=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),s=n.getLineJoin(),o=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:_I,lineDash:i||vI,lineDashOffset:r||0,lineJoin:void 0!==s?s:bI,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:gI(t||wI)}}else this.textStrokeState_=null;const i=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),u=t.getText(),h=t.getTextAlign(),c=t.getTextBaseline();this.textState_={font:void 0!==i?i:mI,textAlign:void 0!==h?h:xI,textBaseline:void 0!==c?c:SI},this.text_=void 0!==u?Array.isArray(u)?u.reduce((t,e,n)=>t+(n%2?" ":e),""):u:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==s?this.pixelRatio_*s:0,this.textRotateWithView_=void 0!==o&&o,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}}const cA=.5;function dA(t,e,n,i,r,s,o,a,l){const u=r,h=zT(t[0]*cA,t[1]*cA);h.imageSmoothingEnabled=!1;const c=h.canvas,d=new hA(h,cA,r,null,o,a,l?uk(null,l):null),p=n.length,f=Math.floor(16777215/p),g={};for(let y=1;y<=p;++y){const t=n[y-1],e=t.getStyleFunction()||i;if(!e)continue;let r=e(t,s);if(!r)continue;Array.isArray(r)||(r=[r]);const o=(y*f).toString(16).padStart(7,"#00000");for(let n=0,i=r.length;n0;return c&&Promise.all(l).then(()=>r(null)),function(t,e,n,i,r,s,o){const a=n.getGeometryFunction()(e);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?vA(t,l,n,e,o):(0,fA[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),c}function vA(t,e,n,i,r){if("GeometryCollection"==e.getType()){const s=e.getGeometries();for(let e=0,o=s.length;ethis.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return SS()}getData(t){return null}prepareFrame(t){return SS()}renderFrame(t,e){return SS()}forEachFeatureAtCoordinate(t,e,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;2!==e.getState()&&3!==e.getState()||this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return 2!=e&&3!=e&&t.addEventListener(Yx,this.boundHandleImageChange_),0==e&&(t.load(),e=t.getState()),2==e}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}}const wA=[];let xA=null;class SA extends bA{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,n){let i;xA||(xA=zT(1,1,void 0,{willReadFrequently:!0})),xA.clearRect(0,0,1,1);try{xA.drawImage(t,e,n,1,1,0,0,1,1),i=xA.getImageData(0,0,1,1).data}catch{return xA=null,null}return i}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,n){const i=this.getLayer().getClassName();let r,s;if(t&&t.className===i&&(!n||t&&t.style.backgroundColor&&uS(LP(t.style.backgroundColor),LP(n)))){const e=t.firstElementChild;KT(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=Pk(t),i=Pk(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*Rk[r]))return!1;return!0}(s.canvas.style.transform,e)?(this.container=t,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=jS?HT():document.createElement("div"),r.className=i;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=zT();const e=s.canvas;r.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=r,this.context=s}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(t,e,n){const i=qE(n),r=$E(n),s=LE(n),o=FE(n);Ek(e.coordinateToPixelTransform,i),Ek(e.coordinateToPixelTransform,r),Ek(e.coordinateToPixelTransform,s),Ek(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;Ek(a,i),Ek(a,r),Ek(a,s),Ek(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(s[0]),Math.round(s[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.clip()}prepareContainer(t,e){const n=t.extent,i=t.viewState.resolution,r=t.viewState.rotation,s=t.pixelRatio,o=Math.round(GE(n)/i*s),a=Math.round(UE(n)/i*s);kk(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),Tk(this.inversePixelTransform,this.pixelTransform);const l="matrix("+this.pixelTransform.join(", ")+")";if(this.useContainer(e,l,this.getBackground(t)),!this.containerReused){const t=this.context.canvas;t.width!=o||t.height!=a?(t.width=o,t.height=a):this.context.clearRect(0,0,o,a),l!==t.style.transform&&(t.style.transform=l)}}dispatchRenderEvent_(t,e,n){const i=this.getLayer();if(i.hasListener(t)){const r=new vO(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(HR,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(KR,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new HO),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(HR,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(KR,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,u=i/e,h=-u,c=-t[0]+o,d=-t[1];return kk(this.tempTransform,a,l,u,h,-n,c,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class EA extends SA{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,n){const i=e.extent,r=e.viewState,s=r.center,o=r.resolution,a=r.projection,l=r.rotation,u=a.getExtent(),h=this.getLayer().getSource(),c=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round(GE(i)/o*d),y=Math.round(UE(i)/o*d),_=h.getWrapX()&&a.canWrapX(),v=_?GE(u):null,b=_?Math.ceil((i[2]-u[2])/v)+1:1;let w=_?Math.floor((i[0]-u[0])/v):0;do{let i=this.getRenderTransform(s,o,0,d,m,y,w*v);e.declutter&&(i=i.slice(0)),t.execute(g,[g.canvas.width,g.canvas.height],i,l,f,void 0===n?sA:n?oA:aA,n?c&&e.declutter[c]:void 0)}while(++w{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=this.frameState.size.slice(),e=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*cA,u=t[1]*cA;a.push(this.getRenderTransform(e,n,i,cA,l,u,0).slice());const h=o.getSource(),c=r.getExtent();if(h.getWrapX()&&r.canWrapX()&&!bE(c,s)){let t=s[0];const r=GE(c);let o,h=0;for(;tc[2];)++h,o=r*h,a.push(this.getRenderTransform(e,n,i,cA,l,u,o).slice()),t-=r}this.hitDetectionImageData_=dA(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,mA(n,this.renderedPixelRatio_),null)}e(pA(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,n,i,r){if(!this.replayGroup_)return;const s=e.viewState.resolution,o=e.viewState.rotation,a=this.getLayer(),l={},u=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,s,o,n,function(t,e,n){const s=CS(t),o=l[s];if(o){if(!0!==o&&nt.value):null)}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),n=e.getSource();if(!n)return!1;const i=t.viewHints[0],r=t.viewHints[1],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&i||!o&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,u=l.projection,h=l.resolution,c=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=gA);const g=l.center.slice(),m=mE(a,p*h),y=m.slice(),_=[m.slice()],v=u.getExtent();if(n.getWrapX()&&u.canWrapX()&&!bE(v,t.extent)){const t=GE(v),e=Math.max(GE(m)/2,t);m[0]=v[0]-e,m[2]=v[2]+e,JE(g,u);const n=KE(_[0],u);n[0]v[0]&&n[2]>v[2]&&_.push([n[0]-t,n[1],n[2]-t,n[3]])}if(this.ready&&this.renderedResolution_==h&&this.renderedRevision_==d&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!t.declutter&&bE(this.wrappedRenderedExtent_,m))return uS(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new GO(yA(h,c),m,h,c);for(let R=0,P=_.length;R{let i;const r=t.getStyleFunction()||e.getStyleFunction();if(r&&(i=r(t,h)),i){const e=this.renderFeature(t,w,i,b,void 0,this.getLayer().getDeclutter(),n);x=x&&!e}},E=m,C=n.getFeaturesInExtent(E);f&&C.sort(f);for(let R=0,P=C.length;R=200&&a.status<300){const t=e.getType();try{let i;"text"==t||"json"==t?i=a.responseText:"xml"==t?i=a.responseXML||a.responseText:"arraybuffer"==t&&(i=a.response),i?s(e.readFeatures(i,{extent:n,featureProjection:r}),e.readProjection(i)):o()}catch{o()}}else o()},a.onerror=o,a.send()}function TA(t,e){return function(n,i,r,s,o){kA(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function RA(){return[[-1/0,-1/0,1/0,1/0]]}function PA(t){return[t]}class MA extends TS{constructor(t){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),t)if("function"==typeof t.getSimplifiedGeometry){const e=t;this.setGeometry(e)}else{const e=t;this.setProperties(e)}}clone(){const t=new MA(this.hasProperties()?this.getProperties():null);t.setGeometryName(this.getGeometryName());const e=this.getGeometry();e&&t.setGeometry(e.clone());const n=this.getStyle();return n&&t.setStyle(n),t}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(wS(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=vS(t,Yx,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?function(t){if("function"==typeof t)return t;let e;return Array.isArray(t)?e=t:(ZS("function"==typeof t.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),e=[t]),function(){return e}}(t):void 0,this.changed()}setId(t){this.id_=t,this.changed()}setGeometryName(t){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=t,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}function IA(t,e,n,i){const r=[];let s=[1/0,1/0,-1/0,-1/0];for(let o=0,a=n.length;o>1),r=+n(t[i],e),r<0?s=i+1:(o=i,a=!r);return a?s:~s}(h,c);d<0?(l=(c-h[-d-2])/(h[-d-1]-h[-d-2]),a=e+(-d-2)*i):a=e+d*i}o=o>1?o:2,s=s||new Array(o);for(let h=0;h>1;rt.clone())}class NA extends Lk{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}appendCoordinate(t){lS(this.flatCoordinates,t),this.changed()}clone(){const t=new NA(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,i){return i<_E(this.getExtent(),t,e)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Bk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),$k(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,n,i))}forEachSegment(t){return uT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinateAtM(t,e){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(e=void 0!==e&&e,AA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Kk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return OA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return VO(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=Zk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new NA(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return hT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,this.getExtent())}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Vk(this.flatCoordinates,0,t,this.stride),this.changed()}}class DA extends Lk{constructor(t,e,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(t[0]))this.setCoordinates(t,e);else if(void 0!==e&&n)this.setFlatCoordinates(e,t),this.ends_=n;else{const e=t,n=[],i=[];for(let t=0,s=e.length;t{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Zk(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Jk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=eT(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new BA(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}BA.prototype.getFlatCoordinates=BA.prototype.getOrientedFlatCoordinates;class qA{constructor(t){this.rbush_=new nP(t),this.items_={}}insert(t,e){const n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(n),this.items_[CS(e)]=n}load(t,e){const n=new Array(e.length);for(let i=0,r=e.length;it):null}const VA="addfeature",WA="removefeature";class HA extends yS{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class KA extends $A{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===t.wrapX||t.wrapX}),this.on,this.once,this.un,this.loader_=dS,this.format_=t.format||null,this.overlaps_=void 0===t.overlaps||t.overlaps,this.url_=t.url,void 0!==t.loader?this.loader_=t.loader:void 0!==this.url_&&(ZS(this.format_,"`format` must be set when `url` is set"),this.loader_=TA(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:RA;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new qA:null,this.loadedExtentsRtree_=new qA,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?i=t.features:t.features&&(n=t.features,i=n.getArray()),e||void 0!==n||(n=new MS(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=CS(t);if(!this.addToIndex_(e,t))return void(this.featuresCollection_&&this.featuresCollection_.remove(t));this.setupChangeEvents_(e,t);const n=t.getGeometry();if(n){const e=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(e,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new HA(VA,t))}setupChangeEvents_(t,e){e instanceof BA||(this.featureChangeKeys_[t]=[vS(e,Yx,this.handleFeatureChange_,this),vS(e,Xx,this.handleFeatureChange_,this)])}addToIndex_(t,e){let n=!0;if(void 0!==e.getId()){const t=String(e.getId());if(t in this.idIndex_)if(e instanceof BA){const i=this.idIndex_[t];i instanceof BA?Array.isArray(i)?i.push(e):this.idIndex_[t]=[i,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(ZS(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),n}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],n=[],i=[];for(let r=0,s=t.length;r{e||(e=!0,this.addFeature(t.element),e=!1)}),t.addEventListener(Kx,t=>{e||(e=!0,this.removeFeature(t.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(const t in this.featureChangeKeys_)this.featureChangeKeys_[t].forEach(wS);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(t=>{this.removeFeatureInternal(t)});for(const t in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[t])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new HA("clear");this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const n=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(n,function(n){const i=n.getGeometry();if(i instanceof BA||i.intersectsCoordinate(t))return e(n)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(n){const i=n.getGeometry();if(i instanceof BA||i.intersectsExtent(t)){const t=e(n);if(t)return t}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),mS(this.nullGeometryFeatures_)||lS(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,function(t){e.push(t)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const n=XE(t,e);return[].concat(...n.map(t=>this.featuresRtree_.getInExtent(t)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const n=t[0],i=t[1];let r=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||hS,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof BA?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new HA("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new HA("featuresloaderror"))}),i.insert(t,{extent:t.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_,n=e.forEachInExtent(t,function(e){if(TE(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,i=t.length;n{t in e&&(n[t]=e[t])}),n}function uF(t){t=t.slice();const e=Object.create(null);for(let n=0;n`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const PF=[dF,pF,fF,gF,mF,yF,wF,_F,TF(vF),xF,EF,SF,CF,kF];function MF(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!MF(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of PF)if(!MF(t,e))return null}return`Expected ${RF(t)} but found ${RF(e)} instead.`}function IF(t,e){return e.some(e=>e.kind===t.kind)}function OF(t,e){return e.some(e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t)}function AF(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const FF=.96422,LF=.82521,NF=4/29,DF=6/29,jF=3*DF*DF,zF=DF*DF*DF,UF=Math.PI/180,BF=180/Math.PI;function qF(t){return(t%=360)<0&&(t+=360),t}function $F([t,e,n,i]){let r,s;const o=VF((.2225045*(t=GF(t))+.7168786*(e=GF(e))+.0606169*(n=GF(n)))/1);t===e&&e===n?r=s=o:(r=VF((.4360747*t+.3850649*e+.1430804*n)/FF),s=VF((.0139322*t+.0971045*e+.7141733*n)/LF));const a=116*o-16;return[a<0?0:a,500*(r-o),200*(o-s),i]}function GF(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function VF(t){return t>zF?Math.pow(t,1/3):t/jF+NF}function WF([t,e,n,i]){let r=(t+16)/116,s=isNaN(e)?r:r+e/500,o=isNaN(n)?r:r-n/200;return r=1*KF(r),s=FF*KF(s),o=LF*KF(o),[HF(3.1338561*s-1.6168667*r-.4906146*o),HF(-.9787684*s+1.9161415*r+.033454*o),HF(.0719453*s-.2289914*r+1.4052427*o),i]}function HF(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function KF(t){return t>DF?t*t*t:jF*(t-NF)}const XF=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function YF(t,e){return XF(t,e)?t[e]:void 0}function ZF(t){return parseInt(t.padEnd(2,t),16)/255}function JF(t,e){return QF(e?t/100:t,0,1)}function QF(t,e,n){return Math.min(Math.max(e,t),n)}function tL(t){return!t.some(Number.isNaN)}const eL={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function nL(t,e,n){return t+n*(e-t)}function iL(t,e,n){return t.map((t,i)=>nL(t,e[i],n))}class rL{constructor(t,e,n,i=1,r=!0){this.r=t,this.g=e,this.b=n,this.a=i,r||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[t,e,n,i]))}static parse(t){if(t instanceof rL)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=YF(eL,t);if(e){const[t,n,i]=e;return[t/255,n/255,i/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let n=1;return[ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,n=t.match(e);if(n){const[t,e,i,r,s,o,a,l,u,h,c,d]=n,p=[r||" ",a||" ",h].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,u].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[QF(+e/n,0,1),QF(+s/n,0,1),QF(+l/n,0,1),c?JF(+c,d):1];if(tL(t))return t}}return}}const n=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){const[t,e,i,r,s,o,a,l,u]=n,h=[i||" ",s||" ",a].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const t=[+e,QF(+r,0,100),QF(+o,0,100),l?JF(+l,u):1];if(tL(t))return function([t,e,n,i]){function r(i){const r=(i+t/30)%12,s=e*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(r-3,9-r,1))}return t=qF(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new rL(...e,!1):void 0}get rgb(){const{r:t,g:e,b:n,a:i}=this,r=i||1/0;return this.overwriteGetter("rgb",[t/r,e/r,n/r,i])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,n,i,r]=$F(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?qF(Math.atan2(i,n)*BF):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",$F(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,n,i]=this.rgb;return`rgba(${[t,e,n].map(t=>Math.round(255*t)).join(",")},${i})`}static interpolate(t,e,n,i="rgb"){switch(i){case"rgb":{const[i,r,s,o]=iL(t.rgb,e.rgb,n);return new rL(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,u,h]=e.hcl;let c,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?c=NaN:(c=a,1!==s&&0!==s||(d=l)):(c=i,1!==u&&0!==u||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),c=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*UF,WF([n,Math.cos(t)*e,Math.sin(t)*e,i])}([c,null!=d?d:nL(r,l,n),nL(s,u,n),nL(o,h,n)]);return new rL(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=WF(iL(t.lab,e.lab,n));return new rL(i,r,s,o,!1)}}}}rL.black=new rL(0,0,0,1),rL.white=new rL(1,1,1,1),rL.transparent=new rL(0,0,0,0),rL.red=new rL(1,0,0,1);class sL{constructor(t,e,n){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const oL=["bottom","center","top"];class aL{constructor(t,e,n,i,r,s){this.text=t,this.image=e,this.scale=n,this.fontStack=i,this.textColor=r,this.verticalAlign=s}}class lL{constructor(t){this.sections=t}static fromString(t){return new lL([new aL(t,null,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(t=>0!==t.text.length||t.image&&0!==t.image.name.length)}static factory(t){return t instanceof lL?t:lL.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class uL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof uL)return t;if("number"==typeof t)return new uL([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new uL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new uL(iL(t.values,e.values,n))}}class hL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof hL)return t;if("number"==typeof t)return new hL([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new hL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new hL(iL(t.values,e.values,n))}}class cL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof cL)return t;if("string"==typeof t){const e=rL.parse(t);if(!e)return;return new cL([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=rL.parse(n);if(!t)return;e.push(t)}return new cL(e)}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n,i="rgb"){const r=[];if(t.values.length!=e.values.length)throw new Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${e.values.length}), cannot interpolate.`);for(let s=0;s=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[t,e,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[t,e,n,i]:[t,e,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function _L(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof mL||t instanceof rL||t instanceof sL||t instanceof lL||t instanceof uL||t instanceof hL||t instanceof cL||t instanceof fL||t instanceof gL)return!0;if(Array.isArray(t)){for(const e of t)if(!_L(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!_L(t[e]))return!1;return!0}return!1}function vL(t){if(null===t)return dF;if("string"==typeof t)return fF;if("boolean"==typeof t)return gF;if("number"==typeof t)return pF;if(t instanceof rL)return mF;if(t instanceof mL)return yF;if(t instanceof sL)return bF;if(t instanceof lL)return wF;if(t instanceof uL)return xF;if(t instanceof hL)return EF;if(t instanceof cL)return SF;if(t instanceof fL)return kF;if(t instanceof gL)return CF;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=vL(i);if(n){if(n===t)continue;n=vF;break}n=t}return TF(n||vF,e)}return _F}function bL(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof rL||t instanceof mL||t instanceof lL||t instanceof uL||t instanceof hL||t instanceof cL||t instanceof fL||t instanceof gL?t.toString():JSON.stringify(t)}class wL{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!_L(t[1]))return e.error("invalid value");const n=t[1];let i=vL(n);const r=e.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new wL(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const xL={string:fF,number:pF,boolean:gF,object:_F};class SL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n,i=1;const r=t[0];if("array"===r){let r,s;if(t.length>2){const n=t[1];if("string"!=typeof n||!(n in xL)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=xL[n],i++}else r=vF;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],i++}n=TF(r,s)}else{if(!xL[r])throw new Error(`Types doesn't contain name = ${r}`);n=xL[r]}const s=[];for(;it.outputDefined())}}const EL={"to-boolean":gF,"to-color":mF,"to-number":pF,"to-string":fF};class CL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[0];if(!EL[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if(("to-boolean"===n||"to-string"===n)&&2!==t.length)return e.error("Expected one argument.");const i=EL[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:yL(e[0],e[1],e[2],e[3]),!n))return new rL(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new dL(n||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const n of this.args){e=n.evaluate(t);const i=uL.parse(e);if(i)return i}throw new dL(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"numberArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=hL.parse(e);if(i)return i}throw new dL(`Could not parse numberArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"colorArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=cL.parse(e);if(i)return i}throw new dL(`Could not parse colorArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const n of this.args){e=n.evaluate(t);const i=fL.parse(e);if(i)return i}throw new dL(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const n of this.args){if(e=n.evaluate(t),null===e)return 0;const i=Number(e);if(!isNaN(i))return i}throw new dL(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return lL.fromString(bL(this.args[0].evaluate(t)));case"resolvedImage":return gL.fromString(bL(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return bL(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const kL=["Unknown","Point","LineString","Polygon"];class TL{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?kL[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache.get(t);return e||(e=rL.parse(t),this._parseColorCache.set(t,e)),e}}class RL{constructor(t,e,n=[],i,r=new cF,s=[]){this.registry=t,this.path=n,this.key=n.map(t=>`[${t}]`).join(""),this.scope=r,this.errors=s,this.expectedType=i,this._isConstant=e}parse(t,e,n,i,r={}){return e?this.concat(e,n,i)._parse(t,r):this._parse(t,r)}_parse(t,e){function n(t,e,n){return"assert"===n?new SL(e,[t]):"coerce"===n?new CL(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const s=this.registry[r];if(s){let r=s.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,i=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind){if("projectionDefinition"===t.kind&&["string","array"].includes(i.kind)||["color","formatted","resolvedImage"].includes(t.kind)&&["value","string"].includes(i.kind)||["padding","numberArray"].includes(t.kind)&&["value","number","array"].includes(i.kind)||"colorArray"===t.kind&&["value","string","array"].includes(i.kind)||"variableAnchorOffsetCollection"===t.kind&&["value","array"].includes(i.kind))r=n(r,t,e.typeAnnotation||"coerce");else if(this.checkSubtype(t,i))return null}else r=n(r,t,e.typeAnnotation||"assert")}if(!(r instanceof wL)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new TL;try{r=new wL(r.type,r.evaluate(t))}catch(i){return this.error(i.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,n){const i="number"==typeof t?this.path.concat(t):this.path,r=n?this.scope.concat(n):this.scope;return new RL(this.registry,this._isConstant,i,e||null,r,this.errors)}error(t,...e){const n=`${this.key}${e.map(t=>`[${t}]`).join("")}`;this.errors.push(new hF(n,t))}checkSubtype(t,e){const n=MF(t,e);return n&&this.error(n),n}}class PL{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const n=[];for(let r=1;r=n.length)throw new dL(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new dL(`Array index must be an integer, but found ${e} instead.`);return n[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class OL{constructor(t,e){this.type=gF,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,vF),i=e.parse(t[2],2,vF);return n&&i?IF(n.type,[gF,fF,pF,dF,vF])?new OL(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${RF(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!OF(e,["boolean","string","number","null"]))throw new dL(`Expected first argument to be of type boolean, string, number or null, but found ${RF(vL(e))} instead.`);if(!OF(n,["string","array"]))throw new dL(`Expected second argument to be of type array or string, but found ${RF(vL(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class AL{constructor(t,e,n){this.type=pF,this.needle=t,this.haystack=e,this.fromIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,vF),i=e.parse(t[2],2,vF);if(!n||!i)return null;if(!IF(n.type,[gF,fF,pF,dF,vF]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${RF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,pF);return r?new AL(n,i,r):null}return new AL(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!OF(e,["boolean","string","number","null"]))throw new dL(`Expected first argument to be of type boolean, string, number or null, but found ${RF(vL(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),OF(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(OF(n,["array"]))return n.indexOf(e,i);throw new dL(`Expected second argument to be of type array or string, but found ${RF(vL(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class FL{constructor(t,e,n,i,r,s){this.inputType=t,this.type=e,this.input=n,this.cases=i,this.outputs=r,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let n,i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r={},s=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return u.error("Numeric branch labels must be integer values.");if(n){if(u.checkSubtype(n,vL(t)))return null}else n=vL(t);if(void 0!==r[String(t)])return u.error("Branch labels must be unique.");r[String(t)]=s.length}const h=e.parse(a,l,i);if(!h)return null;i=i||h.type,s.push(h)}const o=e.parse(t[1],1,vF);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,i);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(n,o.type)?null:new FL(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(vL(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}}class LL{constructor(t,e,n){this.type=t,this.branches=e,this.otherwise=n}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i=[];for(let s=1;se.outputDefined())&&this.otherwise.outputDefined()}}class NL{constructor(t,e,n,i){this.type=t,this.input=e,this.beginIndex=n,this.endIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,vF),i=e.parse(t[2],2,pF);if(!n||!i)return null;if(!IF(n.type,[TF(vF),fF,vF]))return e.error(`Expected first argument to be of type array or string, but found ${RF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,pF);return r?new NL(n.type,n,i,r):null}return new NL(n.type,n,i)}evaluate(t){const e=this.input.evaluate(t),n=this.beginIndex.evaluate(t);let i;if(this.endIndex&&(i=this.endIndex.evaluate(t)),OF(e,["string"]))return[...e].slice(n,i).join("");if(OF(e,["array"]))return e.slice(n,i);throw new dL(`Expected first argument to be of type array or string, but found ${RF(vL(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function DL(t,e){const n=t.length-1;let i,r,s=0,o=n,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),i=t[a],r=t[a+1],i<=e){if(a===n||ee))throw new dL("Input is not a number.");o=a-1}return 0}class jL{constructor(t,e,n){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[i,r]of n)this.labels.push(i),this.outputs.push(r)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const n=e.parse(t[1],1,pF);if(!n)return null;const i=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let s=1;s=n)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const u=e.parse(o,l,r);if(!u)return null;r=r||u.type,i.push([n,u])}return new jL(r,n,i)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;return i>=e[r-1]?n[r-1].evaluate(t):n[DL(e,i)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function zL(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var UL,BL,qL=function(){if(BL)return UL;function t(t,e,n,i){this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(i-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=n,this.p2y=i}return BL=1,UL=t,t.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var n=t,i=0;i<8;i++){var r=this.sampleCurveX(n)-t;if(Math.abs(r)r?o=n:a=n,n=.5*(a-o)+o;return n},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},UL}(),$L=zL(qL);class GL{constructor(t,e,n,i,r){this.type=t,this.operator=e,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[s,o]of r)this.labels.push(s),this.outputs.push(o)}static interpolationFactor(t,e,n,i){let r=0;if("exponential"===t.name)r=VL(e,t.base,n,i);else if("linear"===t.name)r=VL(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new $L(s[0],s[1],s[2],s[3]).solve(VL(e,1,n,i))}return r}static parse(t,e){let[n,i,r,...s]=t;if(!Array.isArray(i)||0===i.length)return e.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const t=i[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:t}}else{if("cubic-bezier"!==i[0])return e.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const t=i.slice(1);if(4!==t.length||t.some(t=>"number"!=typeof t||t<0||t>1))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,pF),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==SF?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=mF;for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,r,a);if(!u)return null;a=a||u.type,o.push([t,u])}return AF(a,pF)||AF(a,yF)||AF(a,mF)||AF(a,xF)||AF(a,EF)||AF(a,SF)||AF(a,kF)||AF(a,TF(pF))?new GL(a,n,i,r,o):e.error(`Type ${RF(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;if(i>=e[r-1])return n[r-1].evaluate(t);const s=DL(e,i),o=e[s],a=e[s+1],l=GL.interpolationFactor(this.interpolation,i,o,a),u=n[s].evaluate(t),h=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return nL(u,h,l);case"color":return rL.interpolate(u,h,l);case"padding":return uL.interpolate(u,h,l);case"colorArray":return cL.interpolate(u,h,l);case"numberArray":return hL.interpolate(u,h,l);case"variableAnchorOffsetCollection":return fL.interpolate(u,h,l);case"array":return iL(u,h,l);case"projectionDefinition":return mL.interpolate(u,h,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return rL.interpolate(u,h,l,"hcl");case"colorArray":return cL.interpolate(u,h,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return rL.interpolate(u,h,l,"lab");case"colorArray":return cL.interpolate(u,h,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function VL(t,e,n,i){const r=i-n,s=t-n;return 0===r?0:1===e?s/r:(Math.pow(e,s)-1)/(Math.pow(e,r)-1)}class WL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n=null;const i=e.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const o of t.slice(1)){const t=e.parse(o,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!t)return null;n=n||t.type,r.push(t)}if(!n)throw new Error("No output type");const s=i&&r.some(t=>MF(i,t.type));return new WL(s?vF:n,r)}evaluate(t){let e,n=null,i=0;for(const r of this.args)if(i++,n=r.evaluate(t),n&&n instanceof gL&&!n.available&&(e||(e=n.name),n=null,i===this.args.length&&(n=e)),null!==n)break;return n}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}function HL(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function KL(t,e,n,i){return 0===i.compare(e,n)}function XL(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=gF,this.lhs=t,this.rhs=e,this.collator=n,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const n=t[0];let s=e.parse(t[1],1,vF);if(!s)return null;if(!HL(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${RF(s.type)}'.`);let o=e.parse(t[2],2,vF);if(!o)return null;if(!HL(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${RF(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${RF(s.type)}' and '${RF(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new SL(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new SL(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,bF),!a)return null}return new r(s,o,a)}evaluate(r){const s=this.lhs.evaluate(r),o=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const e=vL(s),n=vL(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new dL(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const t=vL(s),n=vL(o);if("string"!==t.kind||"string"!==n.kind)return e(r,s,o)}return this.collator?n(r,s,o,this.collator.evaluate(r)):e(r,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const YL=XL("==",function(t,e,n){return e===n},KL),ZL=XL("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!KL(0,e,n,i)}),JL=XL("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),tN=XL("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),eN=XL(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class nN{constructor(t,e,n){this.type=bF,this.locale=n,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const n=t[1];if("object"!=typeof n||Array.isArray(n))return e.error("Collator options argument must be an object.");const i=e.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,gF);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,gF);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,fF),!s)?null:new nN(i,r,s)}evaluate(t){return new sL(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class iN{constructor(t,e,n,i,r){this.type=fF,this.number=t,this.locale=e,this.currency=n,this.minFractionDigits=i,this.maxFractionDigits=r}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,pF);if(!n)return null;const i=t[2];if("object"!=typeof i||Array.isArray(i))return e.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=e.parse(i.locale,1,fF),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,fF),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,pF),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,pF),!a)?null:new iN(n,r,s,o,a)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class rN{constructor(t){this.type=wF,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[1];if(!Array.isArray(n)&&"object"==typeof n)return e.error("First argument must be an image or text section.");const i=[];let r=!1;for(let s=1;s<=t.length-1;++s){const n=t[s];if(r&&"object"==typeof n&&!Array.isArray(n)){r=!1;let t=null;if(n["font-scale"]&&(t=e.parse(n["font-scale"],1,pF),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,TF(fF)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,mF),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!oL.includes(n["vertical-align"]))return e.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${n["vertical-align"]}' instead.`);if(a=e.parse(n["vertical-align"],1,fF),!a)return null}const l=i[i.length-1];l.scale=t,l.font=s,l.textColor=o,l.verticalAlign=a}else{const n=e.parse(t[s],1,vF);if(!n)return null;const o=n.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:n,scale:null,font:null,textColor:null,verticalAlign:null})}}return new rN(i)}evaluate(t){return new lL(this.sections.map(e=>{const n=e.content.evaluate(t);return vL(n)===CF?new aL("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new aL(bL(n),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null,e.verticalAlign?e.verticalAlign.evaluate(t):null)}))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor),e.verticalAlign&&t(e.verticalAlign)}outputDefined(){return!1}}class sN{constructor(t){this.type=CF,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,fF);return n?new sN(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=gL.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class oN{constructor(t){this.type=pF,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=e.parse(t[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?e.error(`Expected argument of type string or array, but found ${RF(n.type)} instead.`):new oN(n):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return[...e].length;if(Array.isArray(e))return e.length;throw new dL(`Expected value to be of type string or array, but found ${RF(vL(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const aN=8192;function lN(t,e){const n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const s=Math.pow(2,e.z);return[Math.round(n*s*aN),Math.round(i*s*aN)]}function uN(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/aN+e.x)/n,360*r-180),(i=(t[1]/aN+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function hN(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function cN(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function dN(t,e,n){return e[1]>t[1]!=n[1]>t[1]&&t[0]<(n[0]-e[0])*(t[1]-e[1])/(n[1]-e[1])+e[0]}function pN(t,e,n){const i=t[0]-e[0],r=t[1]-e[1],s=t[0]-n[0],o=t[1]-n[1];return i*o-s*r===0&&i*s<=0&&r*o<=0}function fN(t,e,n,i){const r=[e[0]-t[0],e[1]-t[1]];return 0!==(s=[i[0]-n[0],i[1]-n[1]])[0]*(o=r)[1]-s[1]*o[0]&&!(!bN(t,e,n,i)||!bN(n,i,t,e));var s,o}function gN(t,e,n){for(const i of n)for(let n=0;n0&&c<0||h<0&&c>0}function wN(t,e,n){const i=[];for(let r=0;rn[2]){const e=.5*i;let r=t[0]-n[0]>e?-i:n[0]-t[0]>e?i:0;0===r&&(r=t[0]-n[2]>e?-i:n[2]-t[0]>e?i:0),t[0]+=r}hN(e,t)}function EN(t,e,n,i){const r=Math.pow(2,i.z)*aN,s=[i.x*aN,i.y*aN],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];SN(i,e,n,r),o.push(i)}return o}function CN(t,e,n,i){const r=Math.pow(2,i.z)*aN,s=[i.x*aN,i.y*aN],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];hN(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=r/2){!function(t){t[0]=t[1]=1/0,t[2]=t[3]=-1/0}(e);for(const t of o)for(const i of t)SN(i,e,n,r)}return o}class kN{constructor(t,e){this.type=gF,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(_L(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const n of e.features){const{type:e,coordinates:i}=n.geometry;"Polygon"===e&&t.push(i),"MultiPolygon"===e&&t.push(...i)}if(t.length)return new kN(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new kN(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new kN(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=wN(e.coordinates,i,r),o=EN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!mN(t,s))return!1}if("MultiPolygon"===e.type){const s=xN(e.coordinates,i,r),o=EN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!yN(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=wN(e.coordinates,i,r),o=CN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!_N(t,s))return!1}if("MultiPolygon"===e.type){const s=xN(e.coordinates,i,r),o=CN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!vN(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class TN{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:n}=this,i=e[t];for(;t>0;){const r=t-1>>1,s=e[r];if(n(i,s)>=0)break;e[t]=s,t=r}e[t]=i}_down(t){const{data:e,compare:n}=this,i=this.length>>1,r=e[t];for(;t=0)break;e[t]=e[i],t=i}e[t]=r}}function RN(t){let e=0;for(let n,i,r=0,s=t.length,o=s-1;r1?(l=t[a+1][0],u=t[a+1][1]):d>0&&(l+=h/this.kx*d,u+=c/this.ky*d)),h=this.wrap(e[0]-l)*this.kx,c=(e[1]-u)*this.ky;const p=h*h+c*c;p180;)t-=360;return t}}function AN(t,e){return e[0]-t[0]}function FN(t){return t[1]-t[0]+1}function LN(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=FN(t);if(e){if(2===n)return[t,null];const e=Math.floor(n/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===n)return[t,null];const i=Math.floor(n/2)-1;return[[t[0],t[0]+i],[t[0]+i+1,t[1]]]}function DN(t,e){if(!LN(e,t.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let i=e[0];i<=e[1];++i)hN(n,t[i]);return n}function jN(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)hN(e,t);return e}function zN(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function UN(t,e,n){if(!zN(t)||!zN(e))return NaN;let i=0,r=0;return t[2]e[2]&&(i=t[0]-e[2]),t[1]>e[3]&&(r=t[1]-e[3]),t[3]=i)return i;if(cN(r,s)){if(HN(t,e))return 0}else if(HN(e,t))return 0;let o=1/0;for(const a of t)for(let t=0,i=a.length,r=i-1;t0;){const r=o.pop();if(r[0]>=s)continue;const l=r[1],u=e?50:100;if(FN(l)<=u){if(!LN(l,t.length))return NaN;if(e){const e=WN(t,l,n,i);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const r=VN(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=NN(l,e);XN(o,s,i,t,a,n[0]),XN(o,s,i,t,a,n[1])}}return s}function JN(t,e,n,i,r,s=1/0){let o=Math.min(s,r.distance(t[0],n[0]));if(0===o)return o;const a=new TN([[0,[0,t.length-1],[0,n.length-1]]],AN);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],u=s[2],h=e?50:100,c=i?50:100;if(FN(l)<=h&&FN(u)<=c){if(!LN(l,t.length)&&LN(u,n.length))return NaN;let s;if(e&&i)s=$N(t,l,n,u,r),o=Math.min(o,s);else if(e&&!i){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=BN(n[t],e,r),o=Math.min(o,s),0===o)return o}else if(!e&&i){const e=n.slice(u[0],u[1]+1);for(let n=l[0];n<=l[1];++n)if(s=BN(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=GN(t,l,n,u,r),o=Math.min(o,s)}else{const s=NN(l,e),h=NN(u,i);YN(a,o,r,t,n,s[0],h[0]),YN(a,o,r,t,n,s[0],h[1]),YN(a,o,r,t,n,s[1],h[0]),YN(a,o,r,t,n,s[1],h[1])}}return o}function QN(t){return"MultiPolygon"===t.type?t.coordinates.map(t=>({type:"Polygon",coordinates:t})):"MultiLineString"===t.type?t.coordinates.map(t=>({type:"LineString",coordinates:t})):"MultiPoint"===t.type?t.coordinates.map(t=>({type:"Point",coordinates:t})):[t]}class tD{constructor(t,e){this.type=pF,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(_L(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new tD(e,e.features.map(t=>QN(t.geometry)).flat());if("Feature"===e.type)return new tD(e,QN(e.geometry));if("type"in e&&"coordinates"in e)return new tD(e,QN(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>uN([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new ON(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,JN(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,JN(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,ZN(i,!1,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>uN([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new ON(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,JN(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,JN(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,ZN(i,!0,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const n=t.geometry();if(0===n.length||0===n[0].length)return NaN;const i=function(t){if(t.length<=1)return[t];const e=[];let n,i;for(const r of t){const t=RN(r);0!==t&&(r.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&e.push(n),n=[r]):n.push(r))}return n&&e.push(n),e}(n).map(e=>e.map(e=>e.map(e=>uN([e.x,e.y],t.canonical)))),r=new ON(i[0][0][0][1]);let s=1/0;for(const o of e)for(const t of i){switch(o.type){case"Point":s=Math.min(s,ZN([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,ZN(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,KN(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class eD{constructor(t){this.type=vF,this.key=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=t[1];return null==n?e.error("Global state property must be defined."):"string"!=typeof n?e.error(`Global state property must be string, but found ${typeof t[1]} instead.`):new eD(n)}evaluate(t){var e;const n=null===(e=t.globals)||void 0===e?void 0:e.globalState;return n&&0!==Object.keys(n).length?YF(n,this.key):null}eachChild(){}outputDefined(){return!1}}const nD={"==":YL,"!=":ZL,">":QL,"<":JL,">=":eN,"<=":tN,array:SL,at:IL,boolean:SL,case:LL,coalesce:WL,collator:nN,format:rN,image:sN,in:OL,"index-of":AL,interpolate:GL,"interpolate-hcl":GL,"interpolate-lab":GL,length:oN,let:PL,literal:wL,match:FL,number:SL,"number-format":iN,object:SL,slice:NL,step:jL,string:SL,"to-boolean":CL,"to-color":CL,"to-number":CL,"to-string":CL,var:ML,within:kN,distance:tD,"global-state":eD};class iD{constructor(t,e,n,i){this.name=t,this.type=e,this._evaluate=n,this.args=i}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const n=t[0],i=iD.definitions[n];if(!i)return e.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,s=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,o=s.filter(([e])=>!Array.isArray(e)||e.length===t.length-1);let a=null;for(const[l,u]of o){a=new RL(e.registry,lD,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(RF).join(", ")})`:`(${RF(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&lD(t):n&&t instanceof wL}),!!n&&uD(t)&&cD(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function uD(t){if(t instanceof iD){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof kN)return!1;if(t instanceof tD)return!1;let e=!0;return t.eachChild(t=>{e&&!uD(t)&&(e=!1)}),e}function hD(t){if(t instanceof iD&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!hD(t)&&(e=!1)}),e}function cD(t,e){if(t instanceof iD&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!cD(t,e)&&(n=!1)}),n}function dD(t){return{result:"success",value:t}}function pD(t){return{result:"error",value:t}}function fD(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&vL(t)===_F}iD.register(nD,{error:[{kind:"error"},[fF],(t,[e])=>{throw new dL(e.evaluate(t))}],typeof:[fF,[vF],(t,[e])=>RF(vL(e.evaluate(t)))],"to-rgba":[TF(pF,4),[mF],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[mF,[pF,pF,pF],rD],rgba:[mF,[pF,pF,pF,pF],rD],has:{type:gF,overloads:[[[fF],(t,[e])=>sD(e.evaluate(t),t.properties())],[[fF,_F],(t,[e,n])=>sD(e.evaluate(t),n.evaluate(t))]]},get:{type:vF,overloads:[[[fF],(t,[e])=>oD(e.evaluate(t),t.properties())],[[fF,_F],(t,[e,n])=>oD(e.evaluate(t),n.evaluate(t))]]},"feature-state":[vF,[fF],(t,[e])=>oD(e.evaluate(t),t.featureState||{})],properties:[_F,[],t=>t.properties()],"geometry-type":[fF,[],t=>t.geometryType()],id:[vF,[],t=>t.id()],zoom:[pF,[],t=>t.globals.zoom],"heatmap-density":[pF,[],t=>t.globals.heatmapDensity||0],elevation:[pF,[],t=>t.globals.elevation||0],"line-progress":[pF,[],t=>t.globals.lineProgress||0],accumulated:[vF,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[pF,aD(pF),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[pF,aD(pF),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:pF,overloads:[[[pF,pF],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[pF],(t,[e])=>-e.evaluate(t)]]},"/":[pF,[pF,pF],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[pF,[pF,pF],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[pF,[],()=>Math.LN2],pi:[pF,[],()=>Math.PI],e:[pF,[],()=>Math.E],"^":[pF,[pF,pF],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[pF,[pF],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))],log2:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pF,[pF],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pF,[pF],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pF,[pF],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pF,[pF],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pF,[pF],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pF,[pF],(t,[e])=>Math.atan(e.evaluate(t))],min:[pF,aD(pF),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[pF,aD(pF),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[pF,[pF],(t,[e])=>Math.abs(e.evaluate(t))],round:[pF,[pF],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[pF,[pF],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pF,[pF],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[gF,[fF,vF],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[gF,[vF],(t,[e])=>t.id()===e.value],"filter-type-==":[gF,[fF],(t,[e])=>t.geometryType()===e.value],"filter-<":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i{const n=t.id(),i=e.value;return typeof n==typeof i&&n":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[gF,[vF],(t,[e])=>e.value in t.properties()],"filter-has-id":[gF,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[gF,[TF(fF)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[gF,[TF(vF)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[gF,[fF,TF(vF)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[gF,[fF,TF(vF)],(t,[e,n])=>function(t,e,n,i){for(;n<=i;){const r=n+i>>1;if(e[r]===t)return!0;e[r]>t?i=r-1:n=r+1}return!1}(t.properties()[e.value],n.value,0,n.value.length-1)],all:{type:gF,overloads:[[[gF,gF],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[aD(gF),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:gF,overloads:[[[gF,gF],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[aD(gF),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[gF,[gF],(t,[e])=>!e.evaluate(t)],"is-supported-script":[gF,[fF],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[fF,[fF],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[fF,[fF],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[fF,aD(vF),(t,e)=>e.map(e=>bL(e.evaluate(t))).join("")],"resolved-locale":[fF,[bF],(t,[e])=>e.evaluate(t).resolvedLocale()]});class gD{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new TL,this._defaultValue=e?function(t){if("color"===t.type&&fD(t.default))return new rL(0,0,0,0);switch(t.type){case"color":return rL.parse(t.default)||null;case"padding":return uL.parse(t.default)||null;case"numberArray":return hL.parse(t.default)||null;case"colorArray":return cL.parse(t.default)||null;case"variableAnchorOffsetCollection":return fL.parse(t.default)||null;case"projectionDefinition":return mL.parse(t.default)||null;default:return void 0===t.default?null:t.default}}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=n,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,n,i,r,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new dL(`Expected value to be one of ${Object.keys(this._enumValues).map(t=>JSON.stringify(t)).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(o){return this._warningHistory[o.message]||(this._warningHistory[o.message]=!0,"undefined"!=typeof console&&console.warn(o.message)),this._defaultValue}}}function mD(t,e){const n=new RL(nD,lD,[],e?function(t){const e={color:mF,string:fF,number:pF,enum:fF,boolean:gF,formatted:wF,padding:xF,numberArray:EF,colorArray:SF,projectionDefinition:yF,resolvedImage:CF,variableAnchorOffsetCollection:kF};return"array"===t.type?TF(e[t.value]||vF,t.length):e[t.type]}(e):void 0),i=n.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return i?dD(new gD(i,e)):pD(n.errors)}class yD{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!hD(e.expression),this.globalStateRefs=wD(e.expression)}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}}class _D{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!hD(e.expression),this.globalStateRefs=wD(e.expression),this.interpolationType=i}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}interpolationFactor(t,e,n){return this.interpolationType?GL.interpolationFactor(this.interpolationType,t,e,n):0}}function vD(t,e){const n=mD(t,e);if("error"===n.result)return n;const i=n.value.expression,r=uD(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return pD([new hF("","data expressions not supported")]);var s;const o=cD(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return pD([new hF("","zoom expressions not supported")]);const a=bD(i);if(!a&&!o)return pD([new hF("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof hF)return pD([a]);if(a instanceof GL&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return pD([new hF("",'"interpolate" expressions cannot be used with this property')]);if(!a)return dD(new yD(r?"constant":"source",n.value));const l=a instanceof GL?a.interpolation:void 0;return dD(new _D(r?"camera":"composite",n.value,a.labels,l))}function bD(t){let e=null;if(t instanceof PL)e=bD(t.result);else if(t instanceof WL){for(const n of t.args)if(e=bD(n),e)break}else(t instanceof jL||t instanceof GL)&&t.input instanceof iD&&"zoom"===t.input.name&&(e=t);return e instanceof hF||t.eachChild(t=>{const n=bD(t);n instanceof hF?e=n:!e&&n?e=new hF("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new hF("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function wD(t,e=new Set){return t instanceof eD&&e.add(t.key),t.eachChild(t=>{wD(t,e)}),e}function xD(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!xD(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const SD={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function ED(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};xD(t)||(t=TD(t));const e=mD(t,SD);if("error"===e.result)throw new Error(e.value.map(t=>`${t.key}: ${t.message}`).join(", "));return{filter:(t,n,i)=>e.value.evaluate(t,n,{},i),needGeometry:kD(t),getGlobalStateRefs:()=>wD(e.value.expression)}}function CD(t,e){return te?1:0}function kD(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?RD(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(TD))):"all"===e?["all"].concat(t.slice(1).map(TD)):"none"===e?["all"].concat(t.slice(1).map(TD).map(ID)):"in"===e?PD(t[1],t.slice(2)):"!in"===e?ID(PD(t[1],t.slice(2))):"has"===e?MD(t[1]):"!has"!==e||ID(MD(t[1]));var n}function RD(t,e,n){switch(t){case"$type":return[`filter-type-${n}`,e];case"$id":return[`filter-id-${n}`,e];default:return[`filter-${n}`,t,e]}}function PD(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(t=>typeof t!=typeof e[0])?["filter-in-large",t,["literal",e.sort(CD)]]:["filter-in-small",t,["literal",e]]}}function MD(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function ID(t){return["!",t]}function OD(t){return"object"==typeof t?["literal",t]:t}function AD(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function FD(t,e){const n=OD((i=t.default,r=e.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===e.type?"":n}function LD(t,e,n){const i=jD(t,e),r=["get",t.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const t of n)i.push(["==",r,t[0]],t[1]);return i.push(FD(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)DD(i,t[0],t[1],!1);return i.push(FD(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)DD(e,t[0],t[1],!0);return ND(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,OD(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[AD(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)DD(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,OD(t.default)]}throw new Error(`Unknown property function type ${i}`)}function ND(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function DD(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function jD(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function zD(t){const e=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(t);null!==r;r=n.exec(t)){const s=t.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,s.length>0&&e.push(s),e.push(["get",r[1]])}if(1===e.length)return t;if(i":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};var BD={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},qD=" ",$D=/(italic|oblique)$/i,GD={};function VD(t,e,n){var i=GD[t];if(!i){Array.isArray(t)||(t=[t]);for(var r,s,o=400,a="normal",l=[],u=0,h=t.length;u1?c[c.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:BD[p],c.pop(),f&&p.startsWith(f)&&c.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=c.join(qD).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(qD)&&(g='"'+g+'"'),l.push(g)}i=GD[t]=[a,o,l]}return i[0]+qD+i[1]+qD+e+"px"+(n?"/"+n:"")+qD+i[2]}class WD extends uI{constructor(t,e,n,i,r){super(t,e,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(t){t?(this.error_=t,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}}class HD extends _S{constructor(t,e,n){super(),n=n||{},this.tileCoord=t,this.state=e,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Yx)}release(){this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(4!==this.state){if(3!==this.state&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}}load(){SS()}getAlpha(t,e){if(!this.transition_)return 1;let n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else n=e,this.transitionStarts_[t]=n;const i=e-n+1e3/60;return i>=this.transition_?1:QE(i/this.transition_)}inTransition(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}disposeInternal(){this.release(),super.disposeInternal()}}class KD extends HD{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,jS?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,null!==i&&(this.image_.crossOrigin=i)),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(t){this.image_=t,this.state=2,this.unlistenImage_(),this.changed()}getCrossOrigin(){return this.crossOrigin_}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const t=zT(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(jS)this.state=2;else{const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=2:this.state=4}this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(t,e,n){const i=t;let r=!0,s=!1,o=!1;const a=[bS(i,"load",function(){o=!0,s||e()})];return i.src&&zS?(s=!0,i.decode().then(function(){r&&e()}).catch(function(){r&&(o?e():n())})):a.push(bS(i,"error",n)),function(){r=!1,a.forEach(wS)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}}class XD{constructor(t,e,n,i){this.minX=t,this.maxX=e,this.minY=n,this.maxY=i}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function YD(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new XD(t,e,n,i)}const ZD=[];class JD extends HD{constructor(t,e,n,i,r){super(t,e,{transition:0}),this.context_=null,this.executorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=zT(1,1,ZD)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=CS(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]}load(){this.getSourceTiles()}release(){this.context_&&(qT(this.context_),ZD.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let QD=class extends HD{constructor(t,e,n,i,r,s){super(t,e,s),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(t,e){this.setFeatures(t)}onError(){this.setState(3)}setFeatures(t){this.features_=t,this.setState(2)}setLoader(t){this.loader_=t}};const tj="https://api.mapbox.com";function ej(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function nj(t,e,n){const i=ej(t);if(!i)return decodeURI(new URL(t,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${t}`);const r=i.slice(8);return`${tj}/styles/v1/${r}/sprite?access_token=${e}`}function ij(t,e){const n=ej(t);if(!n)return decodeURI(new URL(t,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${t}`);const i=n.slice(7);return`${tj}/styles/v1/${i}?&access_token=${e}`}const rj=["a","b","c","d"];function sj(t,e,n,i){const r=new URL(t,i||location.href),s=ej(t);if(!s)return e?(r.searchParams.has(n)||r.searchParams.set(n,e),[decodeURI(r.href)]):[decodeURI(r.href)];if("mapbox.satellite"===s){const t=window.devicePixelRatio>=1.5?"@2x":"";return[`https://api.mapbox.com/v4/${s}/{z}/{x}/{y}${t}.webp?access_token=${e}`]}return rj.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const oj=Object.freeze({}),aj={},lj={};let uj=0;function hj(t){return t.id||(t.id=uj++),t.id}function cj(t){let e=aj[t.id];return e||(e={},aj[hj(t)]=e),e}function dj(t){return t*Math.PI/180}const pj=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function fj(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);const n=document.createElement("canvas");return n.width=t,n.height=e,n}function gj(t,e){let n=0;const i=e.length;for(;nr).then(t=>t instanceof Response?(i&&(i.url=t.url),o(t)):(t instanceof Request||(t=new Request(t)),t.headers.get("Accept")||t.headers.set("Accept","application/json"),i&&(i.url=t.url),fetch(t).then(o).catch(s))).catch(s);return yj[e]=[r,a],a}function vj(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return _j("Style",t=ij(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(pD){return Promise.reject(pD)}}const bj={};function wj(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=bj[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof QD)t.setLoader((e,n,r)=>{const s=function(n){n.arrayBuffer().then(n=>{const i=t.getFormat().readFeatures(n,{extent:e,featureProjection:r});t.setFeatures(i)})};fS(()=>i).then(e=>{if(e instanceof Response)return s(e);fetch(e).then(s).catch(()=>t.setState(3))}).catch(()=>t.setState(3))});else{const e=t.getImage();fS(()=>i).then(n=>{if("string"==typeof n)return void(e.src=n);const i=t=>t.blob().then(t=>{const n=URL.createObjectURL(t);e.addEventListener("load",()=>URL.revokeObjectURL(n)),e.addEventListener("error",()=>URL.revokeObjectURL(n)),e.src=n});if(n instanceof Response)return i(n);fetch(n).then(i).catch(()=>t.setState(3))}).catch(()=>t.setState(3))}});const o=t.url;if(o&&!t.tiles){const i=sj(o,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(o.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},t,{url:void 0,tiles:i}),tileLoadFunction:s});else{const t={};r=_j("Source",i[0],n,t).then(function(e){return e.tiles=e.tiles.map(function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),sj(i,n.accessToken,n.accessTokenParam||"access_token",t.url)[0]}),Promise.resolve({tileJson:e,tileLoadFunction:s})})}}else t.tiles?(t=Object.assign({},t,{tiles:t.tiles.map(function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),sj(i,n.accessToken,n.accessTokenParam||"access_token",e||location.href)[0]})}),r=Promise.resolve({tileJson:Object.assign({},t),tileLoadFunction:s})):r=Promise.reject(new Error("source has no `tiles` nor `url`"));bj[i]=r}return r}function xj(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=fj(r[0],r[1]),o=s.getContext("2d");o.drawImage(t,e.x,e.y,e.width,e.height,n*e.pixelRatio,n*e.pixelRatio,e.width,e.height);const a=o.getImageData(0,0,r[0],r[1]);o.globalCompositeOperation="destination-over",o.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let u=0,h=a.width;u0&&o.arc(u,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function Sj(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function Ej(t,e,n){const i=fj(e.width,e.height),r=i.getContext("2d");r.drawImage(t,e.x,e.y,e.width,e.height,0,0,e.width,e.height);const s=r.getImageData(0,0,e.width,e.height),o=s.data;for(let a=0,l=s.width;a0?(o[e+0]=Math.round(255*n.r*s),o[e+1]=Math.round(255*n.g*s),o[e+2]=Math.round(255*n.b*s),o[e+3]=Math.round(255*s)):o[e+3]=0}return r.putImageData(s,0,0),i}const Cj=Array(256).join(" ");function kj(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=Cj.slice(0,Math.round(e/.1));for(let t=0,e=i.length;t0&&(n+="\n"),n+=i[t].split("").join(r);return n}return t}let Tj;function Rj(){return Tj||(Tj=fj(1,1).getContext("2d")),Tj}function Pj(t,e){return Rj().measureText(t).width+(t.length-1)*e}const Mj={};function Ij(t,e,n,i){if(-1!==t.indexOf("\n")){const r=t.split("\n"),s=[];for(let t=0,o=r.length;t1){const t=Rj();t.font=e;const r=t.measureText("M").width*n;let a="";const l=[];for(let e=0,n=o.length;e1;++e){const t=l[e];if(Pj(t,i)<.35*r){const r=e>0?Pj(l[e-1],i):1/0,s=e.7*r&&Pj(s,i)<.6*r){const o=t.split(" "),a=o.pop();Pj(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=kj(s,i),Mj[r]=s}return s}CI.on("propertychange",()=>{for(const t in Mj)delete Mj[t]});const Oj=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],Aj={},Fj={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},Lj={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},Nj={zoom:0,distanceFromCenter:0};let Dj,jj;function zj(t,e,n,i,r,s){const o=t.id;r||(r={},console.warn("No functionCache provided to getValue()")),r[o]||(r[o]={});const a=r[o];if(!a[n]){let i=(t[e]||oj)[n];const r=UD[`${e}_${t.type}`][n];void 0===i&&(i=r.default);let s=(l=i,Array.isArray(l)&&l.length>0&&"string"==typeof l[0]&&l[0]in nD);if(!s&&fD(i)&&(i=function(t,e){let n=t.stops;if(!n)return function(t,e){const n=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",n]:n;if("enum"===e.type)return["match",n,Object.keys(e.values),n,t.default];{const i=["color"===e.type?"to-color":e.type,n,OD(t.default)];return"array"===e.type&&i.splice(1,0,e.value,e.length||null),i}}(t,e);const i=n&&"object"==typeof n[0][0],r=i||void 0!==t.property,s=i||!r;return n=n.map(t=>!r&&e.tokens&&"string"==typeof t[1]?[t[0],zD(t[1])]:[t[0],OD(t[1])]),i?function(t,e,n){const i={},r={},s=[];for(let o=0;o`${t.key}: ${t.message}`).join(", "));return n.value}(i,r);a[n]=t.evaluate.bind(t)}else{const t=r.type;"color"!==t&&"colorArray"!==t||(i=rL.parse(i)),a[n]=function(){return i}}}var l;return a[n](Nj,i,s)}function Uj(t,e,n,i){return zj(t,"layout",`${n}-allow-overlap`,e,i)?zj(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function Bj(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=ED(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](Nj,n)}function qj(t,e){if(t){if(0===t.a||0===e)return;const n=t.a;return e=void 0===e?1:e,0===n?"transparent":"rgba("+Math.round(255*t.r/n)+","+Math.round(255*t.g/n)+","+Math.round(255*t.b/n)+","+n*e+")"}return t}iD.register(nD,{...iD.definitions,pitch:[{kind:"number"},[],()=>Nj.pitch||90],"distance-from-center":[{kind:"number"},[],()=>Nj.distanceFromCenter||0]});const $j=/\{[^{}}]*\}/g;function Gj(t,e){return t.replace($j,function(t){return e[t.slice(1,-1)]||""})}function Vj(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const Wj={};class Hj{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=MA,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?nk(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=nk(n),n.setWorldExtent(e.extent)),e={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},t)}getType(){return SS()}readFeature(t,e){return SS()}readFeatures(t,e){return SS()}readGeometry(t,e){return SS()}readProjection(t){return SS()}writeFeature(t,e){return SS()}writeFeatures(t,e){return SS()}writeGeometry(t,e){return SS()}}function Kj(t,e,n){const i=n?nk(n.featureProjection):null,r=n?nk(n.dataProjection):null;let s=t;if(i&&r&&!lk(i,r)){e&&(s=t.clone());const n=e?i:r,o=e?r:i;"tile-pixels"===n.getUnits()?s.transform(n,o):s.applyTransform(ck(n,o))}if(e&&n&&void 0!==n.decimals){const e=Math.pow(10,n.decimals),i=function(t){for(let n=0,i=t.length;nYj({...t,geometry:e})).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return Kj(new BA(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(mT(t,0,e,n)||_T(t=t.slice(),0,e,n),t):(gT(t,0,e,n)||yT(t=t.slice(),0,e,n),t)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,t.properties||{},t.id).enableSimplifyTransformed(),!1,e)}function Zj(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>Zj(t,e));return new FA(n)}return Kj(new(0,Xj[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class Jj extends Hj{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(Qj(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(Qj(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return SS()}readFeaturesFromObject(t,e){return SS()}readGeometry(t,e){return this.readGeometryFromObject(Qj(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return SS()}readProjection(t){return this.readProjectionFromObject(Qj(t))}readProjectionFromObject(t){return SS()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return SS()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return SS()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return SS()}}function Qj(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class tz extends Jj{constructor(t){t=t||{},super(),this.dataProjection=nk(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=nk(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let n=null;n="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null};const i=ez(n.geometry);if(this.featureClass===BA)return Yj({geometry:i,id:n.id,properties:n.properties},e);const r=new MA;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(Zj(i,e)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(t,e){let n=null;if("FeatureCollection"===t.type){n=[];const i=t.features;for(let t=0,r=i.length;t>3,r=this.pos;this.type=7&n,t(i,e,this),this.pos===r&&this.skip(n)}return e}readMessage(t,e){return this.readFields(t,e,this.readVarint()+this.pos)}readFixed32(){const t=this.dataView.getUint32(this.pos,!0);return this.pos+=4,t}readSFixed32(){const t=this.dataView.getInt32(this.pos,!0);return this.pos+=4,t}readFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*iz;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*iz;return this.pos+=8,t}readFloat(){const t=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,t}readDouble(){const t=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,t}readVarint(t){const e=this.buf;let n,i;return i=e[this.pos++],n=127&i,i<128?n:(i=e[this.pos++],n|=(127&i)<<7,i<128?n:(i=e[this.pos++],n|=(127&i)<<14,i<128?n:(i=e[this.pos++],n|=(127&i)<<21,i<128?n:(i=e[this.pos],n|=(15&i)<<28,function(t,e,n){const i=n.buf;let r,s;if(s=i[n.pos++],r=(112&s)>>4,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return az(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(n,t,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const t=this.readVarint();return t%2==1?(t+1)/-2:t/2}readBoolean(){return Boolean(this.readVarint())}readString(){const t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&sz?sz.decode(this.buf.subarray(e,t)):function(t,e,n){let i="",r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+u>n)break;1===u?e<128&&(l=e):2===u?(s=t[r+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===u?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&(l=(15&e)<<12|(63&s)<<6|63&o,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===u&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&e)<<18|(63&s)<<12|(63&o)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,u=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=u}return i}(this.buf,e,t)}readBytes(){const t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e}readPackedVarint(t=[],e){const n=this.readPackedEnd();for(;this.pos127;);else if(2===e)this.pos=this.readVarint()+this.pos;else if(5===e)this.pos+=4;else{if(1!==e)throw new Error(`Unimplemented type: ${e}`);this.pos+=8}}writeTag(t,e){this.writeVarint(t<<3|e)}realloc(t){let e=this.length||16;for(;e268435455||t<0?function(t,e){let n,i;if(t>=0?(n=t%4294967296|0,i=t/4294967296|0):(n=~(-t%4294967296),i=~(-t/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,n){n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos]=127&t}(n,0,e),function(t,e){const n=(7&t)<<4;e.buf[e.pos++]|=n|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(i,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))}writeSVarint(t){this.writeVarint(t<0?2*-t-1:2*t)}writeBoolean(t){this.writeVarint(+t)}writeString(t){t=String(t),this.realloc(4*t.length),this.pos++;const e=this.pos;this.pos=function(t,e,n){for(let i,r,s=0;s55295&&i<57344){if(!r){i>56319||s+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):r=i;continue}if(i<56320){t[n++]=239,t[n++]=191,t[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(t[n++]=239,t[n++]=191,t[n++]=189,r=null);i<128?t[n++]=i:(i<2048?t[n++]=i>>6|192:(i<65536?t[n++]=i>>12|224:(t[n++]=i>>18|240,t[n++]=i>>12&63|128),t[n++]=i>>6&63|128),t[n++]=63&i|128)}return n}(this.buf,t,this.pos);const n=this.pos-e;n>=128&&lz(e,n,this),this.pos=e-1,this.writeVarint(n),this.pos+=n}writeFloat(t){this.realloc(4),this.dataView.setFloat32(this.pos,t,!0),this.pos+=4}writeDouble(t){this.realloc(8),this.dataView.setFloat64(this.pos,t,!0),this.pos+=8}writeBytes(t){const e=t.length;this.writeVarint(e),this.realloc(e);for(let n=0;n=128&&lz(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(t,e,n){this.writeTag(t,2),this.writeRawMessage(e,n)}writePackedVarint(t,e){e.length&&this.writeMessage(t,uz,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,hz,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,pz,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,cz,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,dz,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,fz,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,gz,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,mz,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,yz,e)}writeBytesField(t,e){this.writeTag(t,2),this.writeBytes(e)}writeFixed32Field(t,e){this.writeTag(t,5),this.writeFixed32(e)}writeSFixed32Field(t,e){this.writeTag(t,5),this.writeSFixed32(e)}writeFixed64Field(t,e){this.writeTag(t,1),this.writeFixed64(e)}writeSFixed64Field(t,e){this.writeTag(t,1),this.writeSFixed64(e)}writeVarintField(t,e){this.writeTag(t,0),this.writeVarint(e)}writeSVarintField(t,e){this.writeTag(t,0),this.writeSVarint(e)}writeStringField(t,e){this.writeTag(t,2),this.writeString(e)}writeFloatField(t,e){this.writeTag(t,5),this.writeFloat(e)}writeDoubleField(t,e){this.writeTag(t,1),this.writeDouble(e)}writeBooleanField(t,e){this.writeVarintField(t,+e)}}function az(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function lz(t,e,n){const i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));n.realloc(i);for(let r=n.pos-1;r>=t;r--)n.buf[r+i]=n.buf[r]}function uz(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&u>h&&(i.push(u),h=u),n.push(a,l),u+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");u>h&&(n.push(n[h],n[h+1]),u+=2)}}u>h&&(i.push(u),h=u)}createFeature_(t,e,n){const i=e.type;if(0===i)return null;let r;const s=e.properties;let o;this.idProperty_?(o=s[this.idProperty_],delete s[this.idProperty_]):o=e.id,s[this.layerName_]=e.layer.name;const a=[],l=[];this.readRawGeometry_(t,e,a,l);const u=function(t,e){let n;return 1===t?n=1===e?"Point":"MultiPoint":2===t?n=1===e?"LineString":"MultiLineString":3===t&&(n="Polygon"),n}(i,l.length);if(this.featureClass===BA)r=new this.featureClass(u,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==u){const e=vT(a,l);t=e.length>1?new zA(a,"XY",e):new bT(a,"XY",l)}else t="Point"===u?new iT(a,"XY"):"LineString"===u?new NA(a,"XY"):"MultiPoint"===u?new jA(a,"XY"):"MultiLineString"===u?new DA(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=Kj(t,!1,n);r.setGeometry(e),void 0!==o&&r.setId(o),r.setProperties(s,!0)}return r}getType(){return"arraybuffer"}readFeatures(t,e){const n=this.layers_,i=nk((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new oz(t),s=r.readFields(vz,{}),o=[];for(const a in s){if(n&&!n.includes(a))continue;const t=s[a],l=t?[0,0,t.extent,t.extent]:null;i.setExtent(l);for(let n=0,i=t.length;n>3)?n.readString():2===t?n.readFloat():3===t?n.readDouble():4===t?n.readVarint64():5===t?n.readVarint():6===t?n.readSVarint():7===t?n.readBoolean():null;e.values.push(i)}}function wz(t,e,n){if(1==t)e.id=n.readVarint();else if(2==t){const t=n.readVarint()+n.pos;for(;n.pos=o.width)return null;const u=UE(s),h=Math.floor(o.height*((s[3]-i[1])/u));return h<0||h>=o.height?null:this.getImageData(o,l,h)}renderFrame(t,e){const n=this.image,i=n.getExtent(),r=n.getResolution(),[s,o]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],u=t.pixelRatio,h=t.viewState,c=h.center,d=h.resolution,p=u*s/(d*a),f=u*o/(d*a);this.prepareContainer(t,e);const g=this.context.canvas.width,m=this.context.canvas.height,y=this.getRenderContext(t);let _=!1,v=!0;if(l.extent){const e=mk(l.extent,h.projection);v=VE(e,t.extent),_=v&&!bE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=kk(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-c[0])/s,a*(c[1]-i[3])/o);this.renderedResolution=o*u/a;const x=b.width*w[0],S=b.height*w[3];if(this.getLayer().getSource().getInterpolate()||(y.imageSmoothingEnabled=!1),this.preRender(y,t),v&&x>=.5&&S>=.5){const t=w[4],e=w[5],n=l.opacity;1!==n&&(y.save(),y.globalAlpha=n),y.drawImage(b,0,0,+b.width,+b.height,t,e,x,S),1!==n&&y.restore()}return this.postRender(this.context,t),_&&y.restore(),y.imageSmoothingEnabled=!0,this.container}}class Ez extends ZR{constructor(t){super(t=t||{})}}class Cz extends Ez{constructor(t){super(t)}createRenderer(){return new Sz(this)}getData(t){return super.getData(t)}}function kz(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const Tz=new Error("disposed"),Rz=[256,256];class Pz extends HD{constructor(t){super(t.tileCoord,0,{transition:t.transition,interpolate:t.interpolate}),this.loader_=t.loader,this.data_=null,this.error_=null,this.size_=t.size||null,this.controller_=t.controller||null}getSize(){if(this.size_)return this.size_;const t=kz(this.data_);return t?[t.width,t.height]:Rz}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const t=this;this.loader_().then(function(e){t.data_=e,t.state=2,t.changed()}).catch(function(e){t.error_=e,t.state=3,t.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(Tz),this.controller_=null),super.disposeInternal()}}let Mz;const Iz=[];function Oz(t,e,n,i,r){t.beginPath(),t.moveTo(0,0),t.lineTo(e,n),t.lineTo(i,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,i)+1,Math.max(n,r)),t.restore()}function Az(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function Fz(t,e,n,i){const r=dk(n,e,t);let s=ik(e,i,n);const o=e.getMetersPerUnit();void 0!==o&&(s*=o);const a=t.getMetersPerUnit();void 0!==a&&(s/=a);const l=t.getExtent();if(!l||vE(l,r)){const e=ik(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function Lz(t,e,n,i,r,s,o,a,l,u,h,c,d){const p=zT(Math.round(n*t),Math.round(n*e),Iz);if(c||(p.imageSmoothingEnabled=!1),0===l.length)return p.canvas;function f(t){return Math.round(t*n)/n}p.scale(n,n),p.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach(function(t){RE(g,t.extent)});const y=n/i,_=(c?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===u||(m=zT(Math.round(GE(g)*y),Math.round(UE(g)*y),Iz),c||(m.imageSmoothingEnabled=!1),l.forEach(function(t){if(t.image.width>0&&t.image.height>0){if(t.clipExtent){m.save();const e=(t.clipExtent[0]-g[0])*y,n=-(t.clipExtent[3]-g[3])*y,i=GE(t.clipExtent)*y,r=UE(t.clipExtent)*y;m.rect(c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?r:Math.round(n+r)-Math.round(n)),m.clip()}const e=(t.extent[0]-g[0])*y,n=-(t.extent[3]-g[3])*y,i=GE(t.extent)*y,r=UE(t.extent)*y;m.drawImage(t.image,u,u,t.image.width-2*u,t.image.height-2*u,c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?r:Math.round(n+r)-Math.round(n)),t.clipExtent&&m.restore()}}));const v=qE(o);return a.getTriangles().forEach(function(t){const e=t.source,n=t.target;let i=e[0][0],r=e[0][1],o=e[1][0],a=e[1][1],u=e[2][0],h=e[2][1];const d=f((n[0][0]-v[0])/s),y=f(-(n[0][1]-v[1])/s),b=f((n[1][0]-v[0])/s),w=f(-(n[1][1]-v[1])/s),x=f((n[2][0]-v[0])/s),S=f(-(n[2][1]-v[1])/s),E=i,C=r;i=0,r=0,o-=E,a-=C,u-=E,h-=C;const k=function(t){const e=t.length;for(let i=0;ir&&(r=e,n=o)}if(0===r)return null;const s=t[n];t[n]=t[i],t[i]=s;for(let o=i+1;o=0;i--){n[i]=t[i][e]/t[i][i];for(let r=i-1;r>=0;r--)t[r][e]-=t[r][i]*n[i]}return n}([[o,a,0,0,b-d],[u,h,0,0,x-d],[0,0,o,a,w-y],[0,0,u,h,S-y]]);if(!k)return;if(p.save(),p.beginPath(),function(){if(void 0===Mz){const t=zT(6,6,Iz);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",Oz(t,4,5,4,0),Oz(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;Mz=Az(e,0)||Az(e,4)||Az(e,8),qT(t),Iz.push(t.canvas)}return Mz}()||!c){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;iEk(o,dk(t,this.targetProj_,this.sourceProj_)),function(t,e,n,i){const r=t.length;n=void 0!==n?n:2,i=i??n,e=void 0!==e?e:new Array(r);for(let s=0;s=o?t[s+n]:r[n]}return e}):ck(this.targetProj_,this.sourceProj_);var u;this.transformInv_=function(t){const e=t[0]+"/"+t[1];return a[e]||(a[e]=l(t)),a[e]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&GE(i)>=GE(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?GE(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?GE(this.targetProj_.getExtent()):null;const h=qE(n),c=$E(n),d=LE(n),p=FE(n),f=this.transformInv_(h),g=this.transformInv_(c),m=this.transformInv_(d),y=this.transformInv_(p),_=10+(s?Math.max(0,Math.ceil(Math.log2(AE(n)/(s*s*256*256)))):0);if(this.addQuad_(h,c,d,p,f,g,m,y,_),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach(function(e){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])}),this.triangles_.forEach(e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const n=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];n[0][0]-t>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-t>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-t>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i.5&&h<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=GE(gE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&h&&(p=h>.25||p)),!p&&this.maxSourceExtent_&&isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(u[3])&&!VE(u,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(r[0])&&isFinite(r[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)p=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(o[0])&&isFinite(o[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!p){const e=[(t[0]+n[0])/2,(t[1]+n[1])/2],i=this.transformInv_(e);let s;s=d?(aE(r[0],c)+aE(o[0],c))/2-aE(i[0],c):(r[0]+o[0])/2-i[0];const a=(r[1]+o[1])/2-i[1];p=s*s+a*a>this.errorThresholdSquared_}if(p){if(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])){const u=[(e[0]+n[0])/2,(e[1]+n[1])/2],h=this.transformInv_(u),c=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(c);this.addQuad_(t,e,u,c,r,s,h,d,l-1),this.addQuad_(c,u,n,i,d,h,o,a,l-1)}else{const u=[(t[0]+e[0])/2,(t[1]+e[1])/2],h=this.transformInv_(u),c=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(c);this.addQuad_(t,u,c,i,r,h,d,a,l-1),this.addQuad_(u,e,n,c,h,s,o,d,l-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(t,n,i,r,o,a),14&f||this.addTriangle_(t,n,e,r,o,s),f&&(13&f||this.addTriangle_(e,i,t,s,a,r),7&f||this.addTriangle_(e,i,n,s,a,o))}calculateSourceExtent(){const t=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach(function(e){const n=e.source;PE(t,n[0]),PE(t,n[1]),PE(t,n[2])}),t}getTriangles(){return this.triangles_}}class Dz extends HD{constructor(t,e,n,i,r,s,o,a,l,u,h,c){super(r,0,c),this.renderEdges_=void 0!==h&&h,this.pixelRatio_=o,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=i,this.wrappedTileCoord_=s||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const d=i.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const g=p?BE(d,p):d;if(0===AE(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?BE(f,m):m);const y=i.getResolution(this.wrappedTileCoord_[0]),_=function(t,e,n,i){const r=NE(n);let s=Fz(t,e,r,i);return(!isFinite(s)||s<=0)&&OE(n,function(n){return s=Fz(t,e,n,i),isFinite(s)&&s>0}),s}(t,n,g,y);if(!isFinite(_)||_<=0)return void(this.state=4);const v=void 0!==u?u:.5;if(this.triangulation_=new Nz(t,n,g,f,_*v,y),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=e.getZForResolution(_);let b=this.triangulation_.calculateSourceExtent();if(f&&(t.canWrapX()?(b[1]=nE(b[1],f[1],f[3]),b[3]=nE(b[3],f[1],f[3])):b=BE(b,f)),AE(b)){let n=0,i=0;t.canWrapX()&&(n=GE(m),i=Math.floor((b[0]-m[0])/n)),XE(b.slice(),t,!0).forEach(t=>{const r=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,o);if(r){const t=i*n;this.sourceTiles_.push({tile:r,offset:t})}}++i}),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{const n=e.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=e.offset,i[2]+=e.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=e.offset,r[2]+=e.offset),t.push({extent:i,clipExtent:r,image:n.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=3;else{const e=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(e),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],s=this.targetTileGrid_.getResolution(e),o=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=Lz(i,r,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,a,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const n=e.getState();if(0==n||1==n){t++;const n=vS(e,Yx,()=>{const i=e.getState();2!=i&&3!=i&&4!=i||(wS(n),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(n)}}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t}){0==t.getState()&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(wS),this.sourcesListenerKeys_=null}release(){this.canvas_&&(qT(this.canvas_.getContext("2d")),Iz.push(this.canvas_),this.canvas_=null),super.release()}}class jz{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const t=this.pop();t instanceof iS&&t.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const n=this.entries_[t];return ZS(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(t){const e=this.entries_[t];return ZS(void 0!==e,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.key_;return t}getValues(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){return this.entries_[t]?.value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){ZS(!(t in this.entries_),"Tried to set a value for a key that is used already");const n={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[t]=n,++this.count_}setSize(t){this.highWaterMark=t}}function zz(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function Uz(t,e,n,i,r){return`${CS(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function Bz(t,e,n){if(!(n in t))return t[n]=new Set([e]),!0;const i=t[n],r=i.has(e);return r||i.add(e),!r}function qz(t,e,n){const i=t[n];return!!i&&i.delete(e)}function $z(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=BE(e,mk(n.extent,t.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=BE(e,n))}return e}class Gz extends SA{constructor(t,e){super(t),e=e||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new XD(0,0,0,0),this.tempTileCoord_=zz(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new jz(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new jz(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=Uz(s,s.getKey(),t,e,n);let a;if(r.containsKey(o))a=r.get(o);else{const l=i.viewState.projection,u=s.getProjection();if(a=s.getTile(t,e,n,i.pixelRatio,l,!u||lk(u,l)?void 0:this.getSourceTileCache()),!a)return null;r.set(o,a)}return a}getTile(t,e,n,i){return this.getOrCreateTile(t,e,n,i)||null}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),i=Ek(e.pixelToCoordinateTransform,t.slice()),r=n.getExtent();if(r&&!vE(r,i))return null;const s=e.viewState,o=n.getRenderSource(),a=o.getTileGridForProjection(s.projection),l=o.getTilePixelRatio(e.pixelRatio);for(let u=a.getZForResolution(s.resolution);u>=a.getMinZoom();--u){const t=a.getTileCoordForCoordAndZ(i,u),n=this.getTile(u,t[1],t[2],e);if(!n||2!==n.getState())continue;const r=a.getOrigin(u),h=jP(a.getTileSize(u)),c=a.getResolution(u);let d;if(n instanceof KD||n instanceof Dz)d=n.getImage();else{if(!(n instanceof Pz))continue;if(d=kz(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/c-t[1]*h[0])),f=Math.floor(l*((r[1]-i[1])/c-t[2]*h[1])),g=Math.round(l*o.getGutterForProjection(s.projection));return this.getImageData(d,p+g,f+g)}return null}prepareFrame(t){this.renderedProjection?t.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=t.viewState.projection):this.renderedProjection=t.viewState.projection;const e=this.getLayer().getSource();if(!e)return!1;const n=e.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==n&&(this.renderedSourceRevision_=n,this.renderedSourceKey_===e.getKey()&&(this.tileCache_.clear(),this.sourceTileCache_?.clear())):this.renderedSourceRevision_=n,!0}enqueueTilesForNextExtent(){return!0}enqueueTiles(t,e,n,i,r){const s=t.viewState,o=this.getLayer(),a=o.getRenderSource(),l=a.getTileGridForProjection(s.projection),u=CS(a);u in t.wantedTiles||(t.wantedTiles[u]={});const h=t.wantedTiles[u],c=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),c?c.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?zE(s.center,s.resolution,p,t.size):void 0;for(let g=n;g>=d;--g){const n=l.getTileRangeForExtentAndZ(e,g,this.tempTileRange_),r=l.getResolution(g);for(let e=n.minX;e<=n.maxX;++e)for(let s=n.minY;s<=n.maxY;++s){if(p&&!l.tileCoordIntersectsViewport([g,e,s],f))continue;const n=this.getTile(g,e,s,t);if(!n)continue;if(!Bz(i,n,g))continue;const o=n.getKey();if(h[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=zz(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,u,l.getTileCoordCenter(i),r])}}}}findStaleTile_(t,e){const n=this.tileCache_,i=t[0],r=t[1],s=t[2],o=this.getStaleKeys();for(let a=0;a0&&setTimeout(()=>{this.enqueueTiles(t,E,c-1,x,S-1)},0),!(c in x))return this.container;const C=CS(this),k=t.time;for(const A of x[c]){const e=A.getState();if(4===e)continue;const n=A.tileCoord;if(2===e&&1===A.getAlpha(C,k)){A.endTransition(C);continue}if(3!==e&&(this.renderComplete=!1),this.findStaleTile_(n,x)){qz(x,A,c),t.animate=!0;continue}if(this.findAltTiles_(h,n,c+1,x))continue;const i=h.getMinZoom();for(let t=c-1;t>=i&&!this.findAltTiles_(h,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);kk(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,_),u.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const P=Object.keys(x).map(Number);let M;P.sort(rS);const I=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=u.getTilePixelSize(e,a,r),i=h.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=h.getTileCoordForCoordAndZ(qE(w),e),c=h.getTileCoordExtent(l),p=Ek(this.tempTransform,[g*(c[0]-w[0])/d,g*(w[3]-c[3])/d]),f=g*u.getGutterForProjection(r);for(const r of x[e]){if(2!==r.getState())continue;const n=r.tileCoord,i=l[1]-n[1],a=Math.round(p[0]-(i-1)*s),h=l[2]-n[2],c=Math.round(p[1]-(h-1)*o),d=Math.round(p[0]-i*s),g=Math.round(p[1]-h*o),m=a-d,y=c-g,_=1===P.length;let v=!1;M=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=I.length;t{const n=CS(u),i=e.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache(),this.sourceTileCache_?.expireCache()};t.postRenderFunctions.push(e)}return this.container}updateCacheSize(t){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*t)}drawTile(t,e,n,i,r,s,o,a){let l;if(t instanceof Pz){if(l=kz(t.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(t);if(!l)return;const u=this.getRenderContext(e),h=CS(this),c=e.layerStatesArray[e.layerIndex],d=c.opacity*(a?t.getAlpha(h,e.time):1),p=d!==u.globalAlpha;p&&(u.save(),u.globalAlpha=d),u.drawImage(l,o,o,l.width-2*o,l.height-2*o,n,i,r,s),p&&u.restore(),d!==c.opacity?e.animate=!0:a&&t.endTransition(h)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}updateUsedTiles(t,e,n){const i=CS(e);i in t||(t[i]={}),t[i][n.getKey()]=!0}}const Vz="preload",Wz="useInterimTilesOnError";class Hz extends ZR{constructor(t){t=t||{};const e=Object.assign({},t),n=t.cacheSize;delete t.cacheSize,delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(Vz)}setPreload(t){this.set(Vz,t)}getUseInterimTilesOnError(){return this.get(Wz)}setUseInterimTilesOnError(t){this.set(Wz,t)}getData(t){return super.getData(t)}}class Kz extends Hz{constructor(t){super(t)}createRenderer(){return new Gz(this,{cacheSize:this.getCacheSize()})}}const Xz={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},Yz={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class Zz extends Gz{constructor(t,e){super(t,e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}enqueueTilesForNextExtent(){return"vector"!==this.getLayer().getRenderMode()}drawTile(t,e,n,i,r,s,o,a){this.updateExecutorGroup_(t,e.pixelRatio,e.viewState.projection),this.tileImageNeedsRender_(t)&&this.renderTileImage_(t,e),super.drawTile(t,e,n,i,r,s,o,a)}getTile(t,e,n,i){const r=this.getOrCreateTile(t,e,n,i);if(!r)return null;const s=i.viewState,o=s.resolution,a=i.viewHints,l=this.getLayer().getSource(),u=l.getTileGridForProjection(s.projection),h=!(a[0]||a[1]),c=u.getZForResolution(o,l.zDirection)===t;return h&&c?r.wantedResolution=o:r.wantedResolution||(r.wantedResolution=u.getResolution(t)),r}prepareFrame(t){const e=this.getLayer().getRevision();return this.renderedLayerRevision_!==e&&(this.renderedLayerRevision_=e,this.renderedTiles.length=0),super.prepareFrame(t)}updateExecutorGroup_(t,e,n){const i=this.getLayer(),r=i.getRevision(),s=i.getRenderOrder()||null,o=t.wantedResolution,a=t.getReplayState(i);if(!a.dirty&&a.renderedResolution===o&&a.renderedRevision==r&&a.renderedRenderOrder==s)return;const l=i.getSource(),u=!!i.getDeclutter(),h=l.getTileGrid(),c=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=CS(i);delete t.hitDetectionImageData[p],t.executorGroups[p]=[],a.dirty=!1;for(let f=0,g=d.length;ft.value):null;let m;t:for(let y=0,_=d.length;y<_;++y){const e=d[y];if(!VE(l.getTileCoordExtent(e.wrappedTileCoord),u))continue;const i=e.executorGroups[p];for(let r=0,a=i.length;r{const n=this.getLayer(),i=n.getSource(),r=this.renderedProjection,s=r.getExtent(),o=this.renderedResolution,a=i.getTileGridForProjection(r),l=Ek(this.renderedPixelToCoordinateTransform_,t.slice()),u=a.getTileCoordForCoordAndResolution(l,o).toString(),h=this.renderedTiles.find(t=>t.tileCoord.toString()===u&&2===t.getState());if(!h||h.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!bE(s,a.getTileCoordExtent(h.tileCoord))&&JE(l,r);const c=CS(n),d=qE(a.getTileCoordExtent(h.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=h.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=h.hitDetectionImageData[c];if(!g){const t=jP(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=dA(t,[this.getRenderTransform(a.getTileCoordCenter(h.wrappedTileCoord),o,0,cA,t[0]*cA,t[1]*cA,0)],f,n.getStyleFunction(),a.getTileCoordExtent(h.wrappedTileCoord),h.getReplayState(n).renderedResolution,e),h.hitDetectionImageData[c]=g}e(pA(p,f,g))})}getFeaturesInExtent(t){const e=[],n=this.getTileCache();if(0===n.getCount())return e;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),s={};return n.forEach(n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const o=n.getSourceTiles();for(let r=0,a=o.length;r=0;--i)n[i].execute(this.context,o,this.getTileRenderTransform(e,t),t.viewState.rotation,s,oA,l)}n.globalAlpha=i}renderDeferredInternal(t){const e=this.renderedTiles,n=CS(this.getLayer()),i=e.reduce((t,e,i)=>(e.executorGroups[n].forEach(e=>t.push({executorGroup:e,index:i})),t),[]),r=i.map(({executorGroup:t})=>t.getDeferredZIndexContexts()),s={};for(let o=0,a=i.length;o{r.forEach((e,n)=>{e[t]&&(e[t].forEach(t=>{const{executorGroup:e,index:r}=i[n],s=e.getRenderedContext(),o=s.globalAlpha;s.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(s),t.draw(s),a&&s.restore(),s.globalAlpha=o,t.clear()}),e[t].length=0)})})}getTileRenderTransform(t,e){const n=e.pixelRatio,i=e.viewState,r=i.center,s=i.resolution,o=i.rotation,a=e.size,l=Math.round(a[0]*n),u=Math.round(a[1]*n),h=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),c=t.tileCoord,d=h.getTileCoordExtent(t.wrappedTileCoord),p=h.getTileCoordExtent(c,this.tempExtent)[0]-d[0];return xk(Ck(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,s,o,n,l,u,p))}postRender(t,e){const n=e.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation,this.renderedOpacity_=e.layerStatesArray[e.layerIndex].opacity;const r=this.getLayer(),s=r.getRenderMode(),o=t.globalAlpha;t.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?Yz[s].filter(t=>!oA.includes(t)):Yz[s],u=e.viewState,h=u.rotation,c=r.getSource(),d=c.getTileGridForProjection(u.projection).getZForResolution(u.resolution,c.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=CS(r);let _=!0;for(let v=p.length-1;v>=0;--v){const n=p[v];_=_&&!n.getReplayState(r).dirty;const s=n.executorGroups[y].filter(t=>t.hasExecutors(l));if(0===s.length)continue;const o=this.getTileRenderTransform(n,e),u=n.tileCoord[0];let c=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new HO,x=w.getContext();for(let t=0,e=f.length;t{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){wS(this.sourceListenerKey_),this.sourceListenerKey_=null}}class eU extends yS{constructor(t,e){super(t),this.image=e}}class nU extends $A{constructor(t){super({attributions:t.attributions,projection:t.projection,state:t.state,interpolate:void 0===t.interpolate||t.interpolate}),this.on,this.once,this.un,this.loader=t.loader||null,this.resolutions_=void 0!==t.resolutions?t.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!t.loader&&0===t.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(t){this.resolutions_=t}findNearestResolution(t){const e=this.getResolutions();return e&&(t=e[oS(e,t,0)]),t}getImage(t,e,n,i){const r=this.getProjection();if(!r||!i||lk(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&lk(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==e&&TE(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new tU(r,i,t,e,n,(t,e,n)=>this.getImageInternal(t,e,n,r),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,n,i){if(this.loader){const r=function(t,e,n){const i=e/n,r=NE(t),s=cE(GE(t)/i,4),o=cE(UE(t)/i,4);return jE(r,i,0,[s+2*cE(0*s/2,4),o+2*cE(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&bE(this.wantedExtent_,r)||bE(this.image.getExtent(),r))&&(this.wantedResolution_&&Qz(this.wantedResolution_)===s||Qz(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new uI(r,s,n,this.loader),this.image.addEventListener(Yx,this.handleImageChange.bind(this))}return this.image}handleImageChange(t){const e=t.target;let n;switch(e.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new eU(n,e))}}const iU=[0,0,0];class rU{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,ZS(function(t){const e=((t,e)=>e-t)||rS;return t.every(function(n,i){if(0===i)return!0;const r=e(t[i-1],n);return!(r>0||0===r)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!t.origins)for(let i=0,r=this.resolutions_.length-1;i{const i=new XD(Math.min(0,t[0]),Math.max(t[0]-1,-1),Math.min(0,t[1]),Math.max(t[1]-1,-1));if(n){const t=this.getTileRangeForExtentAndZ(n,e);i.minX=Math.max(t.minX,i.minX),i.maxX=Math.min(t.maxX,i.maxX),i.minY=Math.max(t.minY,i.minY),i.maxY=Math.min(t.maxY,i.maxY)}return i}):n&&this.calculateTileRanges_(n)}forEachTileCoord(t,e,n){const i=this.getTileRangeForExtentAndZ(t,e);for(let r=i.minX,s=i.maxX;r<=s;++r)for(let t=i.minY,o=i.maxY;t<=o;++t)n([e,r,t])}forEachTileCoordParentTileRange(t,e,n,i){let r,s,o,a=null,l=t[0]-1;for(2===this.zoomFactor_?(s=t[1],o=t[2]):a=this.getTileCoordExtent(t,i);l>=this.minZoom;){if(void 0!==s&&void 0!==o?(s=Math.floor(s/2),o=Math.floor(o/2),r=YD(s,s,o,o,n)):r=this.getTileRangeForExtentAndZ(a,l,n),e(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,n){if(t[0]this.maxZoom||e0?i:Math.max(s/n[0],r/n[1]);const o=e+1,a=new Array(o);for(let l=0;ln||n>e.getMaxZoom())return!1;const s=e.getFullTileRange(n);return!s||s.containsXY(i,r)}(t,i)?t:null}clear(){}refresh(){this.clear(),super.refresh()}}class hU extends yS{constructor(t,e){super(t),this.tile=e}}function cU(t){return function(e){const n=e.buffers,i=e.meta,r=e.imageOps,s=e.width,o=e.height,a=n.length,l=n[0].byteLength;if(r){const e=new Array(a);for(let t=0;tthis.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const t=this.queue_.shift();this.job_=t;const e=t.inputs[0].width,n=t.inputs[0].height,i=t.inputs.map(function(t){return t.data.buffer}),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},i);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/r);for(let a=0;athis.getTileInternal(t,e,n,i,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=l,d}getTileInternal(t,e,n,i,r,s){const o=this.getKey(),a=Uz(this,o,t,e,n);if(s&&s.containsKey(a))return s.get(a);const l=this.createTile_(t,e,n,i,r,o);return s?.set(a,l),l}setRenderReprojectionEdges(t){this.renderReprojectionEdges_!=t&&(this.renderReprojectionEdges_=t,this.changed())}setTileGridForProjection(t,e){const n=nk(t);if(n){const t=CS(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function TU(t,e){if(jS){const n=t.getCrossOrigin();let i="same-origin",r="same-origin";return"anonymous"===n||""===n?(i="cors",r="omit"):"use-credentials"===n&&(i="cors",r="include"),void fetch(e,{mode:i,credentials:r}).then(t=>{if(!t.ok)throw new Error(`HTTP ${t.status}`);return t.blob()}).then(t=>createImageBitmap(t)).then(e=>{const n=t.getImage();n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),e.close?.(),n.dispatchEvent(new Event("load"))}).catch(()=>{t.getImage().dispatchEvent(new Event("error"))})}t.getImage().src=e}class RU extends kU{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:nk("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.tileJSON_=null,this.tileSize_=t.tileSize,t.url)if(t.jsonp)!function(t,e,n){const i=document.createElement("script"),r="olc_"+CS(e);function s(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=t+(t.includes("?")?"&":"?")+"callback="+r;const o=setTimeout(function(){s(),n&&n()},1e4);window[r]=function(t){clearTimeout(o),s(),e(t)},document.head.appendChild(i)}(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch{return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(t){const e=nk("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=uk(e,n);i=HE(t.bounds,r)}const r=lU(n),s=t.minzoom||0,o=oU({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=EU(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==i?i:r;this.setAttributions(function(n){return VE(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class PU extends CU{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||lU(e),i=t.tileGrid||oU({extent:n,maxResolution:t.maxResolution,maxZoom:void 0!==t.maxZoom?t.maxZoom:22,minZoom:t.minZoom,tileSize:t.tileSize||512});super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,interpolate:!0,projection:e,state:t.state,tileGrid:i,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:MU,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:void 0===t.zDirection?1:t.zDirection}),this.format_=t.format?t.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==t.overlaps||t.overlaps,this.tileClass=t.tileClass?t.tileClass:QD,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(t,e,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(e);let s=r.getTileCoordExtent(i);const o=i[0],a=r.getResolution(o);mE(s,-a,s);const l=this.projection;e&&this.projection&&!lk(e,l)&&(s=pk(s,e,l));const u=this.tileGrid,h=u.getExtent();h&&BE(s,h,s);let c=a;e&&l&&!lk(e,l)&&(c=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=u.getZForResolution(c,this.zDirection);u.forEachTileCoord(s,d,i=>{const r=this.tileUrlFunction(i,t,e);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const s=this.sourceTiles_[r];n.sourceTiles.push(s),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const o=s.getState();if(o<2){const t=e=>{this.handleTileChange(e);const i=s.getState();if(2===i||3===i){const e=s.getKey();e in n.errorTileKeys?2===s.getState()&&delete n.errorTileKeys[e]:n.loadingSourceTiles--,3===i?n.errorTileKeys[e]=!0:s.removeEventListener(Yx,t),0===n.loadingSourceTiles&&n.setState(mS(n.errorTileKeys)?2:3)}};s.addEventListener(Yx,t),n.loadingSourceTiles++}0===o&&(s.extent=u.getTileCoordExtent(i),s.projection=this.projection,s.resolution=u.getResolution(i[0]),s.load())}),n.loadingSourceTiles||n.setState(n.sourceTiles.some(t=>3===t.getState())?3:2)}return n.sourceTiles}removeSourceTiles(t){const e=t.getKey(),n=t.sourceTiles;for(let i=0,r=n.length;i{h=h&&!this.tileUrlFunction(t,i,l)})}const c=new JD(s,h?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return c.key=this.getKey(),c}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!lk(i,t))return sU(t);const r=this.tileGrid,s=r.getResolutions().slice(),o=s.map(function(t,e){return r.getOrigin(e)}),a=s.map(function(t,e){return r.getTileSize(e)}),l=43;for(let t=s.length;td?c-A+d:d-A,O=Math.atan(Math.sqrt(M*M+I*I)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),F=Math.cos(O),L=255*q,z=Math.min(Math.max(2*e.sunEl,0),1),U=1.875-1.75*e.opacity,B=.5!==e.opacity?d*((Math.pow(U,O)-1)/(Math.pow(U,d)-1)):O,D={r:(1-F)*v.r*z*255,g:(1-F)*v.g*z*255,b:(1-F)*v.b*z*255,a:(1-F)*v.a*z*255},N=Math.abs(((A+f)/Math.PI+.5)%2-1),j={r:(y.r*(1-N)+_.r*N)*L,g:(y.g*(1-N)+_.g*N)*L,b:(y.b*(1-N)+_.b*N)*L,a:(y.a*(1-N)+_.a*N)*L},T=4*(x*i+w),o[T]=D.r*(1-N)+j.r,o[T+1]=D.g*(1-N)+j.g,o[T+2]=D.b*(1-N)+j.b,o[T+3]=s[T+3]*e.opacity*z*Math.sin(B);return new ImageData(o,i,r)}function OU(t,e){const n=t[0],i=n.width,r=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=i-1,l=r-1,u=[0,0,0,0];let h,c,d;const p=(f=e.saturation)>0?1-1/(1.001-f):-f;var f;const g=(m=e.contrast)>0?1/(1-m):1+m;var m;const y=function(t){t*=Math.PI/180;const e=Math.sin(t),n=Math.cos(t);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}(e.hueRotate),_=y,v=[y[2],y[0],y[1]],b=[y[1],y[2],y[0]],w=e.brightnessLow,x=e.brightnessHigh;for(c=0;c<=l;++c)for(h=0;h<=a;++h){d=4*(c*i+h),u[0]=s[d],u[1]=s[d+1],u[2]=s[d+2],u[3]=s[d+3];const t=u[0],e=u[1],n=u[2],r=(t,e)=>{let n=0;for(let i=0;i{e.accessToken=t,e.accessTokenParam=n})),e}function LU(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function NU(t,e,n){const i=new RU({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=nk(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=ok([n[0],n[1]],e),i=ok([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return nk(e).getExtent()}(r,o),l=o.getExtent(),u=r.minzoom||0,h=r.maxzoom||22,c={attributions:i.getAttributions(),projection:o,tileGrid:new rU({origin:l?qE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:u,resolutions:AU(o,e.tileSize).slice(0,h+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?c.urls=r.tiles:c.url=r.tiles,c}function DU(t,e,n){return new Promise(function(i,r){wj(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=NU(t,e,n);s.tileLoadFunction=r,s.format=new _z({layerName:"mvt:layer"});const o=new PU(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function jU(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function zU(t,e,n){const i=new Kz;return function(t,e,n){return new Promise(function(i,r){wj(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=new RU({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=NU(t,e,n).tileGrid,n.projection&&(s.projection=nk(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=jU(n);let r=o(t,e,n);if(-1!=r.indexOf(i)){const e=s.getTileGrid().getTileCoordExtent(t);r=r.replace(i,e.toString())}return r}),s.set("mapbox-source",t),i(s)}).catch(function(t){r(t)})})}(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}function UU(t,e,n){const i=n.projection?new tz({dataProjection:n.projection}):new tz,r=t.data,s={};if("string"==typeof r){const[s]=sj(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=jU(n);return s.replace(i,`${t.join(",")}`)},r=new KA({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{_j("GeoJSON","function"==typeof e?e(t,i,s):e,n).then(t=>{const e=r.getFormat().readFeatures(t,{featureProjection:s});r.addFeatures(e),o(e)}).catch(()=>{r.removeLoadedExtent(t),a()})},strategy:PA});return r.set("mapbox-source",t),r}const o=new KA({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{_j("GeoJSON",s,n).then(t=>{const e=o.getFormat().readFeatures(t,{featureProjection:i});o.addFeatures(e),r(e)}).catch(()=>{o.removeLoadedExtent(t),a()})}});return o}s.features=i.readFeatures(r,{featureProjection:"EPSG:3857"});const o=new KA(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function BU(t,e,n,i){const r=cj(t),s=t.layers,o=n.type,a=n.source||LU(s,n.ref),l=t.sources[a];let u;if("background"==o)u=function(t,e,n){const i=jS?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new ZR({source:new $A({}),render(r){const s=function(t,e,n,i){const r={id:t.id,type:t.type},s=t.layout||{},o=t.paint||{};let a;r.paint=o,Nj.zoom=gj(e,n.resolutions||pj),Nj.distanceFromCenter=0;const l=zj(r,"paint","background-color",oj,i);return void 0!==o["background-opacity"]&&(a=zj(r,"paint","background-opacity",oj,i)),"none"==s.visibility?void 0:qj(l,a)}(t,r.viewState.resolution,e,n);return i.style.backgroundColor=s,i}})}(n,i,r);else if("vector"==l.type)u=function(t,e,n){const i=new Jz({declutter:!0,visible:!1});return DU(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}(l,e,i);else if("raster"==l.type){const t=["raster-saturation","raster-contrast","raster-brightness-max","raster-brightness-min","raster-hue-rotate"];Object.keys(n.paint||{}).find(e=>t.includes(e))?(u=function(t,e,n){const i=zU(t,e,n);return new Cz({source:new gU({operationType:"image",operation:OU,sources:[i]})})}(l,e,i),u.getSource().on("beforeoperations",function(t){Nj.zoom=gj(t.resolution,i.resolutions||pj),Nj.distanceFromCenter=0;const e=t.data;e.saturation=zj(n,"paint","raster-saturation",oj,r),e.contrast=zj(n,"paint","raster-contrast",oj,r),e.brightnessHigh=zj(n,"paint","raster-brightness-max",oj,r),e.brightnessLow=zj(n,"paint","raster-brightness-min",oj,r),e.hueRotate=zj(n,"paint","raster-hue-rotate",oj,r)})):u=zU(l,e,i),u.setVisible(!n.layout||"none"!==n.layout.visibility),u.on("prerender",function(t,e,n){let i=null;return function(r){t.paint&&"raster-opacity"in t.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[t.id],function(t,e,n,i){Nj.zoom=n,Nj.distanceFromCenter=0;const r=zj(t,"paint","raster-opacity",oj,i);e.setOpacity(r)}(t,e,i,n))}}(n,u,r))}else if("geojson"==l.type)u=function(t,e,n){return new CA({declutter:!0,source:UU(t,e,n),visible:!1})}(l,e,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const t=function(t,e,n){const i=zU(t,e,n);return new Cz({source:new gU({operationType:"image",operation:IU,sources:[i]})})}(l,e,i);u=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=ik(i.projection||"EPSG:3857",t.resolution,NE(t.extent),"m"),Nj.zoom=gj(t.resolution,i.resolutions||pj),Nj.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*zj(n,"paint","hillshade-exaggeration",oj,r),e.sunAz=zj(n,"paint","hillshade-illumination-direction",oj,r),e.sunEl=35,e.opacity=.3,e.highlightColor=zj(n,"paint","hillshade-highlight-color",oj,r),e.shadowColor=zj(n,"paint","hillshade-shadow-color",oj,r),e.accentColor=zj(n,"paint","hillshade-accent-color",oj,r)}),u.setVisible(!n.layout||"none"!==n.layout.visibility)}const h=a;return u&&u.set("mapbox-source",h),u}function qU(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let u=0,h=l.length;u0||n>0)&&t.setMaxResolution(Math.min(mj(Math.max(0,o-1e-12),pj),mj(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(mj(a,pj))}}else o>0&&t.setMaxResolution(mj(Math.max(0,o-1e-12),pj));h instanceof KA||h instanceof PU?function(t,e,n="",i={},r){let s,o,a,l,u=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(s=i,a={}):(s=i.styleUrl,a=i),!1===a.updateSource&&(u=!1),r||(r=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:ij(s,a.accessToken),a=FU(s,a)),new Promise(function(n,i){vj(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof CA||t instanceof Jz))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const h=t instanceof Jz?"vector":"geojson";if(l?o=Array.isArray(l)?e.layers.find(function(t){return t.id===l[0]}).source:l:(o=e.layers.find(function(t){return t.source&&e.sources[t.source].type===h}).source,l=o),!o)return i(new Error(`No ${h} source found in the glStyle.`));function c(){if(!u)return Promise.resolve();if(t instanceof Jz)return DU(e.sources[o],s,a).then(function(e){const n=t.getSource();n?e!==n&&(n.setTileUrlFunction(e.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof e.getUrls&&n.setUrls(e.getUrls()),n.format_||(n.format_=e.format_),n.getAttributions()||n.setAttributions(e.getAttributions()),n.getTileLoadFunction()===MU&&n.setTileLoadFunction(e.getTileLoadFunction()),lk(n.getProjection(),e.getProjection())&&(n.tileGrid=e.getTileGrid())):t.setSource(e);const i=t.getSource().getTileGrid();!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())&&i.getMinZoom()>0&&t.setMaxResolution(mj(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))});const n=e.sources[o];let i=t.getSource();i&&i.get("mapbox-source")===n||(i=UU(n,s,a));const r=t.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):t.setSource(i),Promise.resolve()}let d,p;const f={},g={};function m(){if(p||e.sprite&&!f)p?(t.setStyle(p),c().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=nk(a.projection).getUnits();"m"!==t&&(r=pj.map(e=>e/aC[t]))}let s;const u=t.getSource();u instanceof PU&&u.format_ instanceof _z&&(s=u.format_.layerName_),p=function(t,e,n,i=pj,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");Wj[function(t,e){return hj(t)+"."+CS(e)}(e,t)]=Array.from(arguments);const l={};("string"==typeof s||s instanceof Request||s instanceof Response||s instanceof Promise)&&(s={default:s});for(const w in s){const e=s[w];fS(()=>e).then(async e=>{let n;if("undefined"!=typeof Image){const i=new Image;if("string"==typeof e)i.crossOrigin="anonymous",i.src=e;else{let t;e instanceof Request?t=await fetch(e):e instanceof Response&&(t=e);const r=await t.blob();n=URL.createObjectURL(r),i.src=n}i.addEventListener("load",function e(){i.removeEventListener("load",e),l[w]={image:i,size:[i.width,i.height]},t.changed(),n&&URL.revokeObjectURL(n)}),i.addEventListener("error",function t(){URL.revokeObjectURL(n),i.removeEventListener("error",t)})}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const t=self;t.postMessage({action:"loadImage",src:e}),t.addEventListener("message",function(t){"imageLoaded"===t.data.action&&t.data.src===e&&(l[w]={image:t.data.image,size:[t.data.image.width,t.data.image.height]})})}})}const u=uF(e.layers),h={},c=[],d={},p={},f=cj(e),g=function(t){let e=lj[t.id];return e||(e={},lj[hj(t)]=e),e}(e);let m;for(let w=0,x=u.length;w=c.maxzoom)continue;const k=c.filter;if(!k||Bj(x,k,T,g)){let i,u,g,b,w,x;const k=h.index;if(3==S&&("fill"==c.type||"fill-extrusion"==c.type))if(u=zj(c,"paint",c.type+"-opacity",T,f,R),c.type+"-pattern"in C){const t=zj(c,"paint",c.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?Gj(t,m):t.toString(),n=Vj(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new $I({fill:new zI}),v[P]=x),g=x.getFill(),x.setZIndex(k);const t=e+"."+u;let i=p[t];if(!i){const s=r[e],o=fj(s.width,s.height),a=o.getContext("2d");a.globalAlpha=u,a.drawImage(n.image,s.x,s.y,s.width,s.height,0,0,s.width,s.height),i=a.createPattern(o,"repeat"),p[t]=i}g.setColor(i)}}}else i=qj(zj(c,"paint",c.type+"-color",T,f,R),u),c.type+"-outline-color"in C&&(w=qj(zj(c,"paint",c.type+"-outline-color",T,f,R),u)),w||(w=i),(i||w)&&(++P,x=v[P],(!x||i&&!x.getFill()||!i&&x.getFill()||w&&!x.getStroke()||!w&&x.getStroke()||x.getText())&&(x=new $I({fill:i?new zI:void 0,stroke:w?new qI:void 0}),v[P]=x),i&&(g=x.getFill(),g.setColor(i)),w&&(b=x.getStroke(),b.setColor(w),b.setWidth(.5)),x.setZIndex(k));if(1!=S&&"line"==c.type){i="line-pattern"in C?void 0:qj(zj(c,"paint","line-color",T,f,R),zj(c,"paint","line-opacity",T,f,R));const t=zj(c,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new $I({stroke:new qI}),v[P]=x),b=x.getStroke(),b.setLineCap(zj(c,"layout","line-cap",T,f,R)),b.setLineJoin(zj(c,"layout","line-join",T,f,R)),b.setMiterLimit(zj(c,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(C["line-dasharray"]?zj(c,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(k))}let M,I,O,A,F,L,N,D,j,z=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in E){const e=zj(c,"layout","icon-image",T,f,R);if(e){let i;M="string"==typeof e?Gj(e,m):e.toString();const o=a?a(t,M):void 0,u=Vj(M,l);if(r&&r[M]&&u||o){const t=zj(c,"layout","icon-rotation-alignment",T,f,R);if(2==S){const e=n.getGeometry();if(e.getFlatMidpoint||e.getFlatMidpoints){const n=e.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/s,2),Math.pow((n[3]-n[1])/s,2)))>150){const n="MultiLineString"===e.getType()?e.getFlatMidpoints():e.getFlatMidpoint();if(jj||(Dj=[NaN,NaN],jj=new BA("Point",Dj,[],2,{},void 0)),i=jj,Dj[0]=n[0],Dj[1]=n[1],"line"===zj(c,"layout","symbol-placement",T,f,R)&&"map"===t){const t=e.getStride(),i=e.getFlatCoordinates();for(let e=0,r=i.length-t;e=l){B=Math.atan2(s-a,o-r);break}}}}}}if(2!==S||i){const e=zj(c,"layout","icon-size",T,f,R),n=void 0!==C["icon-color"]?zj(c,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=zj(c,"paint","icon-halo-color",T,f,R),s=zj(c,"paint","icon-halo-width",T,f,R);let a=`${M}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),I=d[a],!I){const l=Uj(c,T,"icon",f);let h;"icon-offset"in E&&(h=zj(c,"layout","icon-offset",T,f,R).slice(0),h[0]*=e,h[1]*=-e);let p=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(o){const n={color:p,rotateWithView:"map"===t,displacement:h,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),I=new BI(n)}else{const o=r[M];let a,c,d;if(s)o.sdf?(a=xj(Ej(u.image,o,n||[0,0,0,1]),{x:0,y:0,width:o.width,height:o.height,pixelRatio:o.pixelRatio},s,i),p=void 0):a=xj(u.image,o,s,i);else{if(o.sdf&&!u.unSDFed){const t=Ej(u.image,{x:0,y:0,width:u.size[0],height:u.size[1]},{r:1,g:1,b:1});u.image=t,u.unSDFed=!0}a=u.image,c=[o.width,o.height],d=[o.x,o.y]}I=new BI({color:p,img:a,imgSize:u.size,size:c,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:h,declutterMode:l})}d[a]=I}}I&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x),x.setGeometry(i),I.setRotation(B+dj(zj(c,"layout","icon-rotate",T,f,R))),I.setOpacity(zj(c,"paint","icon-opacity",T,f,R)),I.setAnchor(Lj[zj(c,"layout","icon-anchor",T,f,R)]),x.setImage(I),U=x.getText(),x.setText(void 0),x.setZIndex(k),z=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===c.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x);const t="circle-radius"in C?zj(c,"paint","circle-radius",T,f,R):5,e=qj(zj(c,"paint","circle-stroke-color",T,f,R),zj(c,"paint","circle-stroke-opacity",T,f,R)),n=zj(c,"paint","circle-translate",T,f,R),i=qj(zj(c,"paint","circle-color",T,f,R),zj(c,"paint","circle-opacity",T,f,R)),r=zj(c,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];I=d[s],I||(I=new jI({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new qI({width:r,color:e}):void 0,fill:i?new zI({color:i}):void 0,declutterMode:"none"}),d[s]=I),x.setImage(I),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(k),z=!0}if("text-field"in E){N=Math.round(zj(c,"layout","text-size",T,f,R));const t=zj(c,"layout","text-font",T,f,R);L=zj(c,"layout","text-line-height",T,f,R),F=VD(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,N,L),F.includes("sans-serif")||(F+=",sans-serif"),D=zj(c,"layout","text-letter-spacing",T,f,R),j=zj(c,"layout","text-max-width",T,f,R);const n=zj(c,"layout","text-field",T,f,R);A="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((e,n)=>{const i=n.fontStack?n.fontStack.split(","):t,r=VD(o?o(i):i,N*(n.scale||1),L);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(kj(s,D),r),e;s=Ij(s,r,j,D).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):Gj(n,m).trim(),u=zj(c,"paint","text-opacity",T,f,R)}if(A&&u&&!O){z||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=Uj(c,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new HI({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=zj(c,"layout","text-transform",T,f,R);"uppercase"==e?A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toUpperCase()):A.toUpperCase():"lowercase"==e&&(A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toLowerCase()):A.toLowerCase());const n=Array.isArray(A)?A:2==S?kj(A,D):Ij(A,F,j,D);if(U.setText(n),U.setFont(F),U.setRotation(dj(zj(c,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=zj(c,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=zj(c,"layout","text-anchor",T,f,R),r=z||1==S?"point":zj(c,"layout","symbol-placement",T,f,R);let s;if("line-center"===r?(U.setPlacement("line"),s="center"):U.setPlacement(r),"line"===r&&"function"==typeof U.setRepeat){const t=zj(c,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=zj(c,"paint","text-halo-width",T,f,R);const a=zj(c,"layout","text-offset",T,f,R),l=zj(c,"paint","text-translate",T,f,R);let h=0,d=0;if("point"==r){s="center",-1!==i.indexOf("left")?(s="left",d=o):-1!==i.indexOf("right")&&(s="right",d=-o);const t=zj(c,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(dj(zj(c,"layout","text-max-angle",T,f,R))*A.length/n.length),U.setRotateWithView(!1);U.setTextAlign(s);let p="middle";0==i.indexOf("bottom")?(p="bottom",h=-o-.5*(L-1)*N):0==i.indexOf("top")&&(p="top",h=o+.5*(L-1)*N),U.setTextBaseline(p);const g=zj(c,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*N+d+l[0]),U.setOffsetY(a[1]*N+h+l[1]),_.setColor(qj(zj(c,"paint","text-color",T,f,R),u)),U.setFill(_);const m=qj(zj(c,"paint","text-halo-color",T,f,R),u);if(m&&o>0){y.setColor(m),o*=2;const t=.5*N;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=zj(c,"layout","text-padding",T,f,R),w=U.getPadding();b!==w[0]&&(w[0]=b,w[1]=b,w[2]=b,w[3]=b),x.setZIndex(k)}}}return P>-1?(v.length=P+1,v):void 0};return t.setStyle(b),t.set("mapbox-layers",c),t.set("mapbox-source",m),t.set("mapbox-featurestate",t.get("mapbox-featurestate")||{}),b}(t,e,l,r,f,g,(t,e=a.webfonts)=>function(t,e="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){if(jS)return t;let n;for(let i=0,r=t.length;i{await document.fonts.ready;for(let t=0,i=n.length;tt.family.replace(/^['"]|['"]$/g,"").toLowerCase()===r.toLowerCase()&&t.weight==s&&t.style===o)){const t=e.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",s).replace("{-fontstyle}",o.replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",o);if(!document.querySelector('link[href="'+t+'"]')){const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)}}}})(),t):t}(t,e),a.getImage,s),t.getStyle()?c().then(n).catch(i):i(new Error(`Nothing to show for source [${o}]`))}}if(e.sprite){const t=function(t,e,n){if("string"==typeof t)return[{id:"default",url:nj(t,e,n)}];for(const i of t)i.url=nj(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=jS?1:window.devicePixelRatio>=1.5?.5:1;const n=.5==d?"@2x":"";Promise.all(t.map(function(t){const e=new URL(t.url);let r=e.origin+e.pathname+n+".json"+e.search;return new Promise(function(t,n){_j("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,_j("Sprite",r,a).then(t).catch(n)})}).then(function(r){let s;if(void 0===r&&i(new Error("No sprites found.")),s=e.origin+e.pathname+n+".png"+e.search,a.transformRequest){const t=a.transformRequest(s,"SpriteImage")||s;(t instanceof Request||t instanceof Promise)&&(s=t)}g[t.id]=s;for(const e in r){const n="default"==t.id?e:`${t.id}:${e}`;f[n]=r[e]}}).catch(function(t){i(new Error(`Sprites cannot be loaded: ${r}: ${t.message}`))})})).then(m).catch(i)}else m()}).catch(i)})}(t,n,e,Object.assign({styleUrl:i},s)).then(function(){!function(t,e){function n(){const n=e.get("mapbox-style");if(!n)return;const i=uF(n.layers),r=t.get("mapbox-layers"),s=i.filter(function(t){return r.includes(t.id)}).some(function(t){return!t.layout||!t.layout.visibility||"visible"===t.layout.visibility});t.get("visible")!==s&&t.setVisible(s)}t.on("change",n),n()}(t,r),l()}).catch(u):l()}else u(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const c=r.getLayers();-1===c.getArray().indexOf(t)&&c.push(t),t.getSource()?h():t.once("change:source",h)})}class $U extends Dx{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");mapInstance;bookmarkSource;searchOverlay;searchOverlayElement;setupMap=Wx(t=>{if(this.mapInstance)return;const e=new WR;this.bookmarkSource=new KA;const n=new CA({source:this.bookmarkSource,style:[new $I({image:new jI({radius:10,fill:new zI({color:"rgba(0, 0, 0, 0.2)"}),displacement:[0,-2]})}),new $I({image:new jI({radius:9,fill:new zI({color:"#ffcc33"}),stroke:new qI({color:"#fff",width:2})})})],zIndex:10});let i=[99.05738,7.55087],r=13;try{const t=localStorage.getItem("marco:map-view");if(t){const e=JSON.parse(t);e.center&&Array.isArray(e.center)&&2===e.center.length&&"number"==typeof e.zoom&&(i=e.center,r=e.zoom)}}catch(y){console.warn("Failed to restore map view:",y)}const s=new TT({center:ok(i),zoom:r,projection:"EPSG:3857"});this.mapInstance=new CO({target:t,layers:[e,n],view:s,controls:QT({zoom:!1,rotate:!0,attribution:!0})}),function(t,e,n={}){let i,r;if(jS){if(!(t instanceof CO||t instanceof WR))throw new Error("ol-mapbox-style in a web worker requires a Map or a LayerGroup as first argument");r=t}else r="string"==typeof t||t instanceof HTMLElement?new CO({target:t}):t;{const t=e.startsWith("data:")?location.href:ij(e,n.accessToken);n=FU(t,n),i=new Promise(function(i,s){vj(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof CO){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?nk(i.projection):s.getProjection();s=new TT(Object.assign(s.getProperties(),{maxResolution:pj[0]/aC[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(ok(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(pj[0]/aC[s.getProjection().getUnits()]/Math.pow(2,t.zoom)),s.getCenter()&&void 0!==s.getZoom()||s.fit(s.getProjection().getExtent(),{nearest:!0,size:e.getSize()})}e.set("mapbox-style",t),e.set("mapbox-metadata",{styleUrl:n,options:i});const o=t.layers;let a,l,u,h=[];for(let c=0,d=o.length;c{d&&(clearTimeout(d),d=null);try{p&&(o.un("change:position",g),p=null)}catch(y){}this.locationOverlayElement&&this.locationOverlayElement.classList.remove("active")},g=()=>{const t=o.getPosition(),e=o.getAccuracyGeometry(),n=o.getAccuracy();if(!t)return;const i=this.mapInstance.getSize(),r=this.mapInstance.getView();let s=null;if(this.locationOverlayElement){const e=r.getResolution(),i=2*(n||50)/ik(r.getProjection(),e,t);this.locationOverlayElement.style.width=`${i}px`,this.locationOverlayElement.style.height=`${i}px`,this.locationOverlay.setPosition(t)}if(n&&n<=20&&f(),e){const t=e.getExtent();s=3.162*r.getResolutionForExtent(t,i)}else n&&(s=6.325*n/Math.min(i[0],i[1])/ik(r.getProjection(),1,t));let a={center:t,duration:1e3};if(s){const t=r.getResolutionForZoom(17);a.resolution=Math.max(s,t)}else a.zoom=16;this.mapInstance.getView().animate(a)};c.addEventListener("click",()=>{f(),o.setTracking(!0);const t=o.getPosition();this.locationOverlayElement&&this.locationOverlayElement.classList.add("active"),t&&g(),p=o.on("change:position",g),d=setTimeout(()=>{f()},1e4)});const m=new XT({element:h});this.mapInstance.addLayer(u),this.mapInstance.addControl(m),this.mapInstance.on("singleclick",this.handleMapClick),this.mapInstance.on("moveend",this.handleMapMove),this.mapInstance.on("pointermove",t=>{const e=this.mapInstance.getEventPixel(t.originalEvent),n=this.mapInstance.hasFeatureAtPixel(e,{hitTolerance:10});this.mapInstance.getTarget().style.cursor=n?"pointer":""}),this.storage.rs.on("ready",()=>{this.handleMapMove()})});updateBookmarks=Wx(()=>{const t=this.storage.savedPlaces;this.loadBookmarks(t)});async loadBookmarks(t=[]){try{if(!this.bookmarkSource)return;t&&0!==t.length||(t=this.storage.savedPlaces),this.bookmarkSource.clear(),t&&Array.isArray(t)&&t.forEach(t=>{if(t.lat&&t.lon){const e=new MA({geometry:new iT(ok([t.lon,t.lat])),name:t.title,id:t.id,isBookmark:!0,originalPlace:t});this.bookmarkSource.addFeature(e)}})}catch(e){console.error("Failed to load bookmarks:",e)}}handleMapMove=async()=>{if(!this.mapInstance)return;const t=this.mapInstance.getSize(),e=this.mapInstance.getView().calculateExtent(t),[n,i]=ak([e[0],e[1]]),[r,s]=ak([e[2],e[3]]),o={minLat:i,minLon:n,maxLat:s,maxLon:r};await this.storage.loadPlacesInBounds(o),this.loadBookmarks(this.storage.savedPlaces);try{const t=this.mapInstance.getView(),e={center:ak(t.getCenter()),zoom:t.getZoom()};localStorage.setItem("marco:map-view",JSON.stringify(e))}catch(a){console.warn("Failed to save map view:",a)}};handleMapClick=async t=>{const e=this.mapInstance.getFeaturesAtPixel(t.pixel,{hitTolerance:10});let n=null,i=null,r=null;if(e&&e.length>0){const t=e.find(t=>t.get("isBookmark"));t&&(n=t.get("originalPlace"));const s=e[0].getProperties();s.name&&(i=s.name,r=s.class||s.subclass)}if(this.args.isSidebarOpen)return n?(console.log("Clicked bookmark while sidebar open (switching):",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n))):void(this.args.onOutsideClick&&this.args.onOutsideClick());if(n)return console.log("Clicked bookmark:",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n));const s=ak(t.coordinate),[o,a]=s,l=i?30:50;if(this.searchOverlayElement){const e=this.mapInstance.getView(),n=2*l/ik(e.getProjection(),e.getResolution(),t.coordinate);this.searchOverlayElement.style.width=`${n}px`,this.searchOverlayElement.style.height=`${n}px`,this.searchOverlay.setPosition(t.coordinate),this.searchOverlayElement.classList.add("active")}try{let t=await this.osm.getNearbyPois(a,o,l);t=t.map(t=>({...t,_distance:fx(a,o,t.lat,t.lon)})).sort((t,e)=>t._distance-e._distance);let e=null;if(i&&t.length>0&&(e=t.find(t=>t.osmTags&&(t.osmTags.name===i||t.osmTags["name:en"]===i)),!e)){const n=t[0];if(n._distance<=20){const t=n.osmTags.amenity||n.osmTags.shop||n.osmTags.tourism;r&&t&&(r===t||t.includes(r))?(console.log("Heuristic match found (distance + type):",n),e=n):n._distance<=10&&(console.log("Heuristic match found (proximity):",n),e=n)}}this.args.onPlacesFound&&this.args.onPlacesFound(t,e)}catch(pD){console.error("Failed to fetch POIs:",pD)}finally{this.searchOverlayElement&&this.searchOverlayElement.classList.remove("active")}};static{Di(Cg({id:null,block:'[[[11,0],[24,0,"map-container"],[24,5,"position: absolute; inset: 0;"],[4,[30,0,["setupMap"]],null,null],[4,[30,0,["updateBookmarks"]],null,null],[12],[13]],[],[]]',moduleName:"/home/basti/src/marco/app/components/map.gjs",isStrictMode:!0}),this)}}const GU=Fy;function VU(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:kc(t)?0!==t.length:!!t}class WU extends Zv{compute(t){for(let e=0,n=t.length;e[W_,WU,GU],isStrictMode:!0}),this)}}class KU extends Zv{compute(t){for(let e=0,n=t.length;e0&&(this.nearbyPlaces=t,this.router.transitionTo("index"))}static{hx(this.prototype,"showPlaces",[ch])}selectFromList(t){t&&this.router.transitionTo("place",t)}static{hx(this.prototype,"selectFromList",[ch])}closeSidebar(){this.nearbyPlaces=null,this.router.transitionTo("index")}static{hx(this.prototype,"closeSidebar",[ch])}refreshBookmarks(){this.storage.notifyChange()}static{hx(this.prototype,"refreshBookmarks",[ch])}static{Di(Cg({id:null,block:'[[[1,[28,[32,0],["M/\\\\RCO"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onPlacesFound","@isSidebarOpen","@onOutsideClick"],[[30,0,["showPlaces"]],[30,0,["isSidebarOpen"]],[30,0,["closeSidebar"]]]],null],[1,"\\n\\n"],[41,[28,[32,2],[[28,[32,3],[[30,0,["router","currentRouteName"]],"index"],null],[30,0,["nearbyPlaces"]]],null],[[[1," "],[8,[32,4],null,[["@places","@onSelect","@onClose"],[[30,0,["nearbyPlaces"]],[30,0,["selectFromList"]],[30,0,["closeSidebar"]]]],null],[1,"\\n"]],[]],null],[1,"\\n"],[46,[28,[31,2],null,null],null,null,null]],[],["if","component","-outlet"]]',moduleName:"/home/basti/src/marco/app/templates/application.gjs",scope:()=>[qx,$U,KU,XU,HU],isStrictMode:!0}),this)}}const ZU=Object.freeze(Object.defineProperty({__proto__:null,default:YU},Symbol.toStringTag,{value:"Module"}));class JU extends Jd{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage")}const QU=Object.freeze(Object.defineProperty({__proto__:null,default:JU},Symbol.toStringTag,{value:"Module"}));class tB extends Dx{static{ux(this.prototype,"router",[df])}#L=void cx(this,"router");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"localPlace",[ys],function(){return null})}#D=void cx(this,"localPlace");constructor(){super(...arguments),this.localPlace=this.args.model}get place(){const t=this.args.model;return!this.localPlace||this.localPlace.id!==t.id&&this.localPlace.osmId!==t.osmId||!this.localPlace.createdAt||t.createdAt?t:this.localPlace}handleUpdate(t){console.log("Updating local place state:",t),this.localPlace=t,this.storage.notifyChange()}static{hx(this.prototype,"handleUpdate",[ch])}refreshMap(){this.storage.notifyChange()}static{hx(this.prototype,"refreshMap",[ch])}close(){this.router.transitionTo("index")}static{hx(this.prototype,"close",[ch])}static{Di(Cg({id:null,block:'[[[8,[32,0],null,[["@selectedPlace","@onClose","@onBookmarkChange","@onUpdate"],[[30,0,["place"]],[30,0,["close"]],[30,0,["refreshMap"]],[30,0,["handleUpdate"]]]],null]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place.gjs",scope:()=>[HU],isStrictMode:!0}),this)}}const eB=Object.freeze(Object.defineProperty({__proto__:null,default:tB},Symbol.toStringTag,{value:"Module"}));class nB extends Jd{static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");async model(t){const e=t.place_id;if(e.startsWith("osm:node:")||e.startsWith("osm:way:")){const[,t,n]=e.split(":");return console.log(`Fetching explicit OSM ${t}:`,n),this.loadOsmPlace(n,t)}let n=this.storage.findPlaceById(e);return n?(console.log("Found in bookmarks:",n.title),n):(console.log("Not in bookmarks, fetching from OSM:",e),this.loadOsmPlace(e))}async loadOsmPlace(t,e=null){try{const n=await this.osm.getPoiById(t,e);if(n)return console.debug("Found OSM POI:",n),n}catch(n){console.error("Failed to fetch POI",n)}return null}serialize(t){return t.id?{place_id:t.id}:t.osmId&&t.osmType?{place_id:`osm:${t.osmType}:${t.osmId}`}:{place_id:t.osmId}}}const iB=Object.freeze(Object.defineProperty({__proto__:null,default:nB},Symbol.toStringTag,{value:"Module"})),rB=Object.assign({},Ow,{"marco/app":t,"marco/config/environment":Dw,"marco/deprecation-workflow":zw,"marco/router":$w,"marco/services/osm":Gw,"marco/services/storage":px,"marco/utils/geo":gx,"marco/utils/geohash-coverage":ax,"marco/services/page-title":Rx,"marco/templates/application":ZU,"marco/routes/application":QU,"marco/templates/place":eB,"marco/routes/place":iB},{});class sB{constructor(t,e,n){this.limit=t,this.func=e,this.store=n,this.size=0,this.misses=0,this.hits=0,this.store=n||new Map}get(t){let e=this.store.get(t);return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,e=this.set(t,this.func(t)),e)}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}}const oB=/[ _]/g,aB=new sB(1e3,t=>{return(e=t,mB.get(e)).replace(oB,"-");var e}),lB=/^(\-|_)+(.)?/,uB=/(.)(\-|\_|\.|\s)+(.)?/g,hB=/(^|\/|\.)([a-z])/g,cB=new sB(1e3,t=>{const e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),dB=/([a-z\d])([A-Z]+)/g,pB=/\-|\s+/g,fB=new sB(1e3,t=>t.replace(dB,"$1_$2").replace(pB,"_").toLowerCase()),gB=/([a-z\d])([A-Z])/g,mB=new sB(1e3,t=>t.replace(gB,"$1_$2").toLowerCase());class yB{constructor(t){this._entries=t||globalThis.requirejs.entries}moduleNames(){return Object.keys(this._entries)}has(t){return t in this._entries}get(...t){return globalThis.require(...t)}}class _B{static moduleBasedResolver=!0;moduleBasedResolver=!0;_deprecatedPodModulePrefix=!1;_normalizeCache=Object.create(null);static create(t){return new this(t)}moduleNameLookupPatterns=[this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName,this.nestedColocationComponentModuleName];static withModules(t){return class extends(this){static explicitModules=t}}constructor(t){if(Object.assign(this,t),!this._moduleRegistry){let t=this.constructor.explicitModules;t?this._moduleRegistry={moduleNames:()=>Object.keys(t),has:e=>Boolean(t[e]),get:e=>t[e],addModules(e){t=Object.assign({},t,e)}}:(void 0===globalThis.requirejs.entries&&(globalThis.requirejs.entries=globalThis.requirejs._eak_seen),this._moduleRegistry=new yB)}this.pluralizedTypes=this.pluralizedTypes||Object.create(null),this.pluralizedTypes.config||(this.pluralizedTypes.config="config")}makeToString(t,e){return this.namespace.modulePrefix+"@"+e+":"}shouldWrapInClassFactory(){return!1}parseName(t){if(!0===t.parsedName)return t;let e,n,i,r=t.split("@");if(3===r.length){if(0===r[0].length){e=`@${r[1]}`;let t=r[2].split(":");n=t[0],i=t[1]}else e=`@${r[1]}`,n=r[0].slice(0,-1),i=r[2];"template:components"===n&&(i=`components/${i}`,n="template")}else if(2===r.length){let t=r[0].split(":");if(2===t.length)0===t[1].length?(n=t[0],i=`@${r[1]}`):(e=t[1],n=t[0],i=r[1]);else{let t=r[1].split(":");e=r[0],n=t[0],i=t[1]}"template"===n&&0===e.lastIndexOf("components/",0)&&(i=`components/${i}`,e=e.slice(11))}else r=t.split(":"),n=r[0],i=r[1];let s=i,o=this.namespace;return{parsedName:!0,fullName:t,prefix:e||this.prefix({type:n}),type:n,fullNameWithoutType:s,name:i,root:o,resolveMethodName:"resolve"+(a=n,cB.get(a))};var a}resolveOther(t){vB("`modulePrefix` must be defined",this.namespace.modulePrefix);let e=this.findModuleName(t);if(e){let i=this._extractDefaultExport(e,t);if(void 0===i)throw new Error(` Expected to find: '${t.fullName}' within '${e}' but got 'undefined'. Did you forget to 'export default' within '${e}'?`);return this.shouldWrapInClassFactory(i,t)&&(n=i,i={create:t=>"function"==typeof n.extend?n.extend(t):n}),i}var n}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this._normalize(t))}resolve(t){if("resolver:current"===t)return{create:()=>this};let e,n=this.parseName(t),i=n.resolveMethodName;return"function"==typeof this[i]&&(e=this[i](n)),null==e&&(e=this.resolveOther(n)),e}addModules(t){if(!this._moduleRegistry.addModules)throw new Error("addModules is only supported when your Resolver has been configured to use static modules via Resolver.withModules()");this._moduleRegistry.addModules(t)}_normalize(t){let e=t.split(":");if(e.length>1){let t=e[0];return"component"===t||"helper"===t||"modifier"===t||"template"===t&&0===e[1].indexOf("components/")?t+":"+e[1].replace(/_/g,"-"):t+":"+(n=e[1].replace(/\./g,"/"),aB.get(n))}return t;var n}pluralize(t){return this.pluralizedTypes[t]||(this.pluralizedTypes[t]=t+"s")}podBasedLookupWithPrefix(t,e){let n=e.fullNameWithoutType;return"template"===e.type&&(n=n.replace(/^components\//,"")),t+"/"+n+"/"+e.type}podBasedModuleName(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(e,t)}podBasedComponentsInSubdir(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;if(e+="/components","component"===t.type||/^components/.test(t.fullNameWithoutType))return this.podBasedLookupWithPrefix(e,t)}resolveEngine(t){let e=t.fullNameWithoutType+"/engine";if(this._moduleRegistry.has(e))return this._extractDefaultExport(e)}resolveRouteMap(t){let e=t.fullNameWithoutType,n=e+"/routes";if(this._moduleRegistry.has(n)){let t=this._extractDefaultExport(n);return vB(`The route map for ${e} should be wrapped by 'buildRoutes' before exporting.`,t.isRouteMap),t}}resolveTemplate(t){return this.resolveOther(t)}mainModuleName(t){if("main"===t.fullNameWithoutType)return t.prefix+"/"+t.type}defaultModuleName(t){return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType}nestedColocationComponentModuleName(t){if("component"===t.type)return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType+"/index"}prefix(t){let e=this.namespace.modulePrefix;return this.namespace[t.type+"Prefix"]&&(e=this.namespace[t.type+"Prefix"]),e}findModuleName(t){let e,n=this.moduleNameLookupPatterns;for(let i=0,r=n.length;ii.length+r.length)return t+":"+e.slice(s+i.length,o);let a=n+"/"+this.pluralize(t)+"/";return 0===e.indexOf(a)&&e.length>a.length?t+":"+e.slice(a.length):void 0}_extractDefaultExport(t){let e=this._moduleRegistry.get(t,null,null,!0);return e&&e.default&&(e=e.default),e}}function vB(t,e){if(!e)throw new Error(t)}const bB={};function wB(t){!function(t){globalThis.emberInspectorApps||(globalThis.emberInspectorApps=[]),globalThis.emberInspectorApps.push({app:t,name:`app-${globalThis.emberInspectorApps.length}`,loadCompatInspector:()=>function(t,e){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),r=t?.nonce||t?.getAttribute("nonce");i=e.map(t=>{if((t=function(t){return"/"+t}(t))in bB)return;bB[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const i=document.createElement("link");return i.rel=e?"stylesheet":"modulepreload",e||(i.as="script"),i.crossOrigin="",i.href=t,r&&i.setAttribute("nonce",r),document.head.appendChild(i),e?new Promise((e,n)=>{i.addEventListener("load",e),i.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),n=Promise.all(i.map(t=>Promise.resolve(t).then(t=>({status:"fulfilled",value:t}),t=>({status:"rejected",reason:t}))))}var i;function r(t){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=t,window.dispatchEvent(e),!e.defaultPrevented)throw t}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return import("./modules-4-12-jKeFwfD0.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class xB extends Mw{modulePrefix=Nw.modulePrefix;podModulePrefix=Nw.podModulePrefix;Resolver=_B.withModules(rB);inspector=wB(this)}xB.create(Nw.APP);export{to as $,Ir as A,is as B,hr as C,gs as D,ns as E,rs as F,yr as G,mr as H,Hr as I,wr as J,Zs as K,ps as L,Ys as M,Ws as N,Ur as O,$r as P,Ds as Q,Tr as R,Mr as S,vs as T,ls as U,ms as V,_r as W,es as X,Me as Y,lr as Z,cs as _,y as a,Rl as a$,fs as a0,fr as a1,nr as a2,ur as a3,Vr as a4,Ji as a5,Rr as a6,Qs as a7,Js as a8,Ns as a9,Kv as aA,ji as aB,Px as aC,Di as aD,U as aE,Mc as aF,lh as aG,Kn as aH,Se as aI,Jt as aJ,Ve as aK,Zt as aL,O as aM,ce as aN,g as aO,d as aP,m as aQ,p as aR,h as aS,f as aT,qt as aU,zt as aV,jt as aW,Ht as aX,Vt as aY,Ml as aZ,Pl as a_,Cr as aa,Xs as ab,Ar as ac,Is as ad,As as ae,jr as af,kr as ag,vr as ah,eo as ai,js as aj,no as ak,er as al,tr as am,ys as an,xs as ao,It as ap,Ot as aq,St as ar,Mt as as,At as at,xt as au,Nt as av,Lt as aw,cv as ax,Sv as ay,Ci as az,v as b,Vu as b$,Ll as b0,Wu as b1,kl as b2,Dl as b3,Al as b4,Il as b5,Hu as b6,Vi as b7,j as b8,W as b9,H_ as bA,Xh as bB,Th as bC,Sh as bD,Eh as bE,fh as bF,kh as bG,vh as bH,gh as bI,Ih as bJ,Rh as bK,Mh as bL,bh as bM,mh as bN,ph as bO,wh as bP,xh as bQ,xl as bR,Nh as bS,zl as bT,lu as bU,du as bV,fu as bW,Iu as bX,qu as bY,Bu as bZ,Bl as b_,G as ba,Ga as bb,ut as bc,z as bd,B as be,Bs as bf,I as bg,lt as bh,Bi as bi,it as bj,Z as bk,Q as bl,Us as bm,J as bn,qi as bo,ot as bp,rt as bq,ht as br,st as bs,pt as bt,F as bu,et as bv,ac as bw,bw as bx,oc as by,Ah as bz,Re as c,wu as c0,hu as c1,Ru as c2,yu as c3,vu as c4,Su as c5,Gu as c6,$u as c7,gu as c8,Cu as c9,Eu as ca,bu as cb,Iw as cc,gw as cd,Fc as ce,jc as cf,dh as cg,Nl as ch,$h as ci,sh as cj,Lh as ck,ah as cl,la as cm,ff as cn,$a as co,Hi as cp,jx as cq,zi as cr,$n as cs,V_ as ct,dn as cu,Ke as cv,us as d,bs as e,Yr as f,Pe as g,Hs as h,R as i,as as j,hs as k,ws as l,Fr as m,Ls as n,Er as o,Wt as p,Ks as q,Or as r,b as s,Ss as t,Ps as u,Rs as v,ts as w,Wr as x,Kr as y,Qr as z}; diff --git a/release/assets/modules-4-12-DmBga4_o.js b/release/assets/modules-4-12-jKeFwfD0.js similarity index 98% rename from release/assets/modules-4-12-DmBga4_o.js rename to release/assets/modules-4-12-jKeFwfD0.js index 5f967cd..9c41c81 100644 --- a/release/assets/modules-4-12-DmBga4_o.js +++ b/release/assets/modules-4-12-jKeFwfD0.js @@ -1 +1 @@ -import{a as e,i as t,b as a,s as r,p as s,c as n,g as o,d as i,e as l,A as c,C as d,f as b,D as g,L as u,N as h,h as _,P as p,j as y,S as m,T as C,_ as f,k as j,l as O,m as v,n as S,o as D,q as P,r as A,t as T,u as M,v as E,w as I,x as w,y as x,z as N,B as R,E as V,F,G as k,H as z,I as U,J as L,K as G,M as W,O as B,Q as Y,R as H,U as q,V as J,W as K,X,Y as Q,Z,$,a0 as ee,a1 as te,a2 as ae,a3 as re,a4 as se,a5 as ne,a6 as oe,a7 as ie,a8 as le,a9 as de,aa as be,ab as ge,ac as ue,ad as he,ae as _e,af as pe,ag as ye,ah as me,ai as Ce,aj as fe,ak as je,al as Oe,am as ve,an as Se,ao as De,ap as Pe,aq as Ae,ar as Te,as as Me,at as Ee,au as Ie,av as we,aw as xe,ax as Ne,ay as Re,az as Ve,aA as Fe,aB as ke,aC as ze,aD as Ue,aE as Le,aF as Ge,aG as We,aH as Be,aI as Ye,aJ as He,aK as qe,aL as Je,aM as Ke,aN as Xe,aO as Qe,aP as Ze,aQ as $e,aR as et,aS as tt,aT as at,aU as rt,aV as st,aW as nt,aX as ot,aY as it,aZ as lt,a_ as dt,a$ as bt,b0 as gt,b1 as ut,b2 as ht,b3 as _t,b4 as pt,b5 as yt,b6 as mt,b7 as Ct,b8 as ft,b9 as jt,ba as Ot,bb as vt,bc as St,bd as Dt,be as Pt,bf as At,bg as Tt,bh as Mt,bi as Et,bj as It,bk as wt,bl as xt,bm as Nt,bn as Rt,bo as Vt,bp as Ft,bq as kt,br as zt,bs as Ut,bt as Lt,bu as Gt,bv as Wt,bw as Bt,bx as Yt,by as Ht,bz as qt,bA as Jt,bB as Kt,bC as Xt,bD as Qt,bE as Zt,bF as $t,bG as ea,bH as ta,bI as aa,bJ as ra,bK as sa,bL as na,bM as oa,bN as ia,bO as la,bP as ca,bQ as da,bR as ba,bS as ga,bT as ua,bU as ha,bV as _a,bW as pa,bX as ya,bY as ma,bZ as Ca,b_ as fa,b$ as ja,c0 as Oa,c1 as va,c2 as Sa,c3 as Da,c4 as Pa,c5 as Aa,c6 as Ta,c7 as Ma,c8 as Ea,c9 as Ia,ca as wa,cb as xa}from"./main-BBfpqXeX.js";export{cc as Application,cd as ApplicationNamespace,ce as Array,cf as Controller,cg as EmberObject,ch as EnumerableMutable,cq as GlimmerComponent,cr as GlimmerManager,cs as GlimmerReference,ct as GlimmerRuntime,cu as GlimmerUtil,cv as GlimmerValidator,ci as Instrumentation,cg as Object,cj as ObjectCore,ck as ObjectEvented,cl as ObjectObservable,co as Owner,cm as Runloop,cn as Service,cp as VERSION}from"./main-BBfpqXeX.js";const Na=()=>{};let Ra=Na,Va=Na,Fa=Na,ka=Na,za=Na,Ua=Na,La=Na,Ga=Na;const Wa=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:e,captureRenderTree:function(e){let t=e.lookup("renderer:-dom");if(!t)throw new Error("BUG: owner is missing renderer");return t.debugRenderTree.capture()},debug:Fa,debugFreeze:za,debugSeal:ka,deprecate:function(){},deprecateFunc:function(){return arguments[arguments.length-1]},getDebugFunction:Ga,info:Ra,inspect:t,isTesting:a,registerDeprecationHandler:()=>{},registerWarnHandler:()=>{},runInDebug:Ua,setDebugFunction:La,setTesting:r,warn:Va},Symbol.toStringTag,{value:"Module"}));function Ba(e,t){let a=s(e);return a?a.valueFor(t):void 0}const Ya=new WeakMap,Ha=Object.freeze(Object.defineProperty({__proto__:null,ASYNC_OBSERVERS:c,ComputedDescriptor:d,ComputedProperty:b,DEBUG_INJECTION_FUNCTIONS:g,Libraries:u,NAMESPACES:h,NAMESPACES_BY_ID:_,PROPERTY_DID_CHANGE:p,PROXY_CONTENT:y,SYNC_OBSERVERS:m,TrackedDescriptor:C,_getPath:f,_getProp:j,_setProp:O,activateObserver:v,addArrayObserver:S,addListener:D,addNamespace:P,addObserver:A,alias:T,arrayContentDidChange:M,arrayContentWillChange:E,autoComputed:I,beginPropertyChanges:w,cached:(...e)=>{const[t,a,r]=e,s=new WeakMap,i=r.get;r.get=function(){return s.has(this)||s.set(this,n(i.bind(this))),o(s.get(this))}},changeProperties:x,computed:N,createCache:n,defineDecorator:R,defineProperty:V,defineValue:F,deprecateProperty:function(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,set(e){l(this,a,e)},get(){return i(this,a)}})},descriptorForDecorator:k,descriptorForProperty:z,eachProxyArrayDidChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayDidChange(e,t,a,r)},eachProxyArrayWillChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayWillChange(e,t,a,r)},endPropertyChanges:U,expandProperties:L,findNamespace:G,findNamespaces:W,flushAsyncObservers:B,get:i,getCachedValueFor:Ba,getProperties:Y,getValue:o,hasListeners:H,hasUnknownProperty:q,inject:J,isClassicDecorator:K,isComputed:X,isConst:Q,isElementDescriptor:Z,isNamespaceSearchDisabled:$,libraries:ee,makeComputedDecorator:te,markObjectAsDirty:ae,nativeDescDecorator:re,notifyPropertyChange:se,objectAt:ne,on:oe,processAllNamespaces:ie,processNamespace:le,removeArrayObserver:de,removeListener:be,removeNamespace:ge,removeObserver:ue,replace:he,replaceInNativeArray:_e,revalidateObservers:pe,sendEvent:ye,set:l,setClassicDecorator:me,setNamespaceSearchDisabled:Ce,setProperties:fe,setUnprocessedMixins:je,tagForObject:Oe,tagForProperty:ve,tracked:Se,trySet:De},Symbol.toStringTag,{value:"Module"})),qa=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Te,associateDestroyableChild:Me,destroy:Ee,enableDestroyableTracking:Ie,isDestroyed:we,isDestroying:xe,registerDestructor:function(e,t){return Pe(e,t)},unregisterDestructor:function(e,t){return Ae(e,t)}},Symbol.toStringTag,{value:"Module"})),Ja=Object.freeze(Object.defineProperty({__proto__:null,Input:Ne,Textarea:Re,capabilities:Ve,default:Fe,getComponentTemplate:ke,setComponentManager:ze,setComponentTemplate:Ue},Symbol.toStringTag,{value:"Module"})),Ka=Object.freeze(Object.defineProperty({__proto__:null,cacheFor:Ba,guidFor:Le},Symbol.toStringTag,{value:"Module"})),Xa=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"})),Qa={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function Za(e,t){return"[]"===t?(e._revalidate(),e._arrTag):"length"===t?(e._revalidate(),e._lengthTag):qe(e,t)}class $a extends We{_objectsDirtyIndex=0;_objects=null;_lengthDirty=!0;_length=0;_arrangedContent=null;_arrangedContentIsUpdating=!1;_arrangedContentTag=null;_arrangedContentRevision=null;_lengthTag=null;_arrTag=null;init(e){super.init(e),Be(this,Za)}[p](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(e){let t=i(this,"arrangedContent");return ne(t,e)}replace(e,t,a){this.replaceContent(e,t,a)}replaceContent(e,t,a){let r=i(this,"content");he(r,e,t,a)}objectAt(e){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&e>=this._objectsDirtyIndex){let e=i(this,"arrangedContent");if(e){let t=this._objects.length=i(e,"length");for(let e=this._objectsDirtyIndex;es)&&(this._objectsDirtyIndex=s),this._lengthDirty=!0,M(this,t,a,r,!1)}_invalidate(){this._objectsDirtyIndex=0,this._lengthDirty=!0}_revalidate(){if(!0!==this._arrangedContentIsUpdating&&(null===this._arrangedContentTag||!He(this._arrangedContentTag,this._arrangedContentRevision))){let e=this.get("arrangedContent");null===this._arrangedContentTag?this._addArrangedContentArrayObserver(e):(this._arrangedContentIsUpdating=!0,this._updateArrangedContentArray(e),this._arrangedContentIsUpdating=!1);let t=this._arrangedContentTag=qe(this,"arrangedContent");this._arrangedContentRevision=Je(this._arrangedContentTag),Ke(e)?(this._lengthTag=Xe([t,ve(e,"length")]),this._arrTag=Xe([t,ve(e,"[]")])):this._lengthTag=this._arrTag=t}}}$a.reopen(Ge,{arrangedContent:T("content")});const er=Object.freeze(Object.defineProperty({__proto__:null,default:$a},Symbol.toStringTag,{value:"Module"})),tr=Object.freeze(Object.defineProperty({__proto__:null,ENV:Qe,context:Ze,getENV:$e,getLookup:et,global:tt,setLookup:at},Symbol.toStringTag,{value:"Module"})),ar=Object.freeze(Object.defineProperty({__proto__:null,Meta:rt,UNDEFINED:st,counters:nt,meta:ot,peekMeta:s,setMeta:it},Symbol.toStringTag,{value:"Module"})),rr=Object.freeze(Object.defineProperty({__proto__:null,ActionHandler:lt,Comparable:dt,ContainerProxyMixin:bt,MutableEnumerable:gt,RSVP:ut,RegistryProxyMixin:ht,TargetActionSupport:_t,_ProxyMixin:pt,_contentFor:yt,onerrorDefault:mt},Symbol.toStringTag,{value:"Module"})),sr=Object.freeze(Object.defineProperty({__proto__:null,Cache:Ct,GUID_KEY:ft,ROOT:jt,canInvoke:function(e,t){return null!=e&&"function"==typeof e[t]},checkHasSuper:Ot,dictionary:vt,enumerableSymbol:St,generateGuid:Dt,getDebugName:Pt,getName:At,guidFor:Le,intern:Tt,isInternalSymbol:Mt,isObject:Ke,isProxy:Et,lookupDescriptor:It,observerListenerMetaFor:wt,setListeners:xt,setName:Nt,setObservers:Rt,setProxy:Vt,setWithMandatorySetter:Ft,setupMandatorySetter:kt,symbol:zt,teardownMandatorySetter:Ut,toString:Lt,uuid:Gt,wrap:Wt},Symbol.toStringTag,{value:"Module"})),nr=Object.freeze(Object.defineProperty({__proto__:null,ActionSupport:Bt,ComponentLookup:Yt,CoreView:Ht,EventDispatcher:qt,MUTABLE_CELL:Jt,ViewStates:Kt,addChildView:Xt,clearElementView:Qt,clearViewElement:Zt,constructStyleDeprecationMessage:$t,getChildViews:ea,getElementView:ta,getRootViews:aa,getViewBoundingClientRect:ra,getViewBounds:sa,getViewClientRects:na,getViewElement:oa,getViewId:ia,isSimpleClick:la,setElementView:ca,setViewElement:da},Symbol.toStringTag,{value:"Module"})),or=ba.create({reason:null,isPending:N("isSettled",function(){return!i(this,"isSettled")}).readOnly(),isSettled:N("isRejected","isFulfilled",function(){return i(this,"isRejected")||i(this,"isFulfilled")}).readOnly(),isRejected:!1,isFulfilled:!1,promise:N({get(){throw new Error("PromiseProxy's promise must be set")},set(e,t){return function(e,t){return fe(e,{isFulfilled:!1,isRejected:!1}),t.then(t=>(e.isDestroyed||e.isDestroying||fe(e,{content:t,isFulfilled:!0}),t),t=>{throw e.isDestroyed||e.isDestroying||fe(e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}(this,t)}}),then:ir("then"),catch:ir("catch"),finally:ir("finally")});function ir(e){return function(...t){return i(this,"promise")[e](...t)}}const lr=Object.freeze(Object.defineProperty({__proto__:null,default:or},Symbol.toStringTag,{value:"Module"}));class dr extends ga{}dr.PrototypeMixin.reopen(pt);const br=Object.freeze(Object.defineProperty({__proto__:null,default:dr},Symbol.toStringTag,{value:"Module"})),gr=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:ua,Promise:ha,all:_a,allSettled:pa,asap:ya,async:ma,cast:Ca,configure:fa,default:ja,defer:Oa,denodeify:va,filter:Sa,hash:Da,hashSettled:Pa,map:Aa,off:Ta,on:Ma,race:Ea,reject:Ia,resolve:wa,rethrow:xa},Symbol.toStringTag,{value:"Module"}));export{Xa as ArrayMutable,er as ArrayProxy,Ja as Component,Wa as Debug,qa as EmberDestroyable,tr as InternalsEnvironment,ar as InternalsMeta,Ha as InternalsMetal,rr as InternalsRuntime,sr as InternalsUtils,nr as InternalsViews,Ka as ObjectInternals,lr as ObjectPromiseProxyMixin,br as ObjectProxy,gr as RSVP}; +import{a as e,i as t,b as a,s as r,p as s,c as n,g as o,d as i,e as l,A as c,C as d,f as b,D as g,L as u,N as h,h as _,P as p,j as y,S as m,T as C,_ as f,k as j,l as O,m as v,n as S,o as D,q as P,r as A,t as T,u as M,v as E,w as I,x as w,y as x,z as N,B as R,E as V,F,G as k,H as z,I as U,J as L,K as G,M as W,O as B,Q as Y,R as H,U as q,V as J,W as K,X,Y as Q,Z,$,a0 as ee,a1 as te,a2 as ae,a3 as re,a4 as se,a5 as ne,a6 as oe,a7 as ie,a8 as le,a9 as de,aa as be,ab as ge,ac as ue,ad as he,ae as _e,af as pe,ag as ye,ah as me,ai as Ce,aj as fe,ak as je,al as Oe,am as ve,an as Se,ao as De,ap as Pe,aq as Ae,ar as Te,as as Me,at as Ee,au as Ie,av as we,aw as xe,ax as Ne,ay as Re,az as Ve,aA as Fe,aB as ke,aC as ze,aD as Ue,aE as Le,aF as Ge,aG as We,aH as Be,aI as Ye,aJ as He,aK as qe,aL as Je,aM as Ke,aN as Xe,aO as Qe,aP as Ze,aQ as $e,aR as et,aS as tt,aT as at,aU as rt,aV as st,aW as nt,aX as ot,aY as it,aZ as lt,a_ as dt,a$ as bt,b0 as gt,b1 as ut,b2 as ht,b3 as _t,b4 as pt,b5 as yt,b6 as mt,b7 as Ct,b8 as ft,b9 as jt,ba as Ot,bb as vt,bc as St,bd as Dt,be as Pt,bf as At,bg as Tt,bh as Mt,bi as Et,bj as It,bk as wt,bl as xt,bm as Nt,bn as Rt,bo as Vt,bp as Ft,bq as kt,br as zt,bs as Ut,bt as Lt,bu as Gt,bv as Wt,bw as Bt,bx as Yt,by as Ht,bz as qt,bA as Jt,bB as Kt,bC as Xt,bD as Qt,bE as Zt,bF as $t,bG as ea,bH as ta,bI as aa,bJ as ra,bK as sa,bL as na,bM as oa,bN as ia,bO as la,bP as ca,bQ as da,bR as ba,bS as ga,bT as ua,bU as ha,bV as _a,bW as pa,bX as ya,bY as ma,bZ as Ca,b_ as fa,b$ as ja,c0 as Oa,c1 as va,c2 as Sa,c3 as Da,c4 as Pa,c5 as Aa,c6 as Ta,c7 as Ma,c8 as Ea,c9 as Ia,ca as wa,cb as xa}from"./main-DI0Rc_tJ.js";export{cc as Application,cd as ApplicationNamespace,ce as Array,cf as Controller,cg as EmberObject,ch as EnumerableMutable,cq as GlimmerComponent,cr as GlimmerManager,cs as GlimmerReference,ct as GlimmerRuntime,cu as GlimmerUtil,cv as GlimmerValidator,ci as Instrumentation,cg as Object,cj as ObjectCore,ck as ObjectEvented,cl as ObjectObservable,co as Owner,cm as Runloop,cn as Service,cp as VERSION}from"./main-DI0Rc_tJ.js";const Na=()=>{};let Ra=Na,Va=Na,Fa=Na,ka=Na,za=Na,Ua=Na,La=Na,Ga=Na;const Wa=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:e,captureRenderTree:function(e){let t=e.lookup("renderer:-dom");if(!t)throw new Error("BUG: owner is missing renderer");return t.debugRenderTree.capture()},debug:Fa,debugFreeze:za,debugSeal:ka,deprecate:function(){},deprecateFunc:function(){return arguments[arguments.length-1]},getDebugFunction:Ga,info:Ra,inspect:t,isTesting:a,registerDeprecationHandler:()=>{},registerWarnHandler:()=>{},runInDebug:Ua,setDebugFunction:La,setTesting:r,warn:Va},Symbol.toStringTag,{value:"Module"}));function Ba(e,t){let a=s(e);return a?a.valueFor(t):void 0}const Ya=new WeakMap,Ha=Object.freeze(Object.defineProperty({__proto__:null,ASYNC_OBSERVERS:c,ComputedDescriptor:d,ComputedProperty:b,DEBUG_INJECTION_FUNCTIONS:g,Libraries:u,NAMESPACES:h,NAMESPACES_BY_ID:_,PROPERTY_DID_CHANGE:p,PROXY_CONTENT:y,SYNC_OBSERVERS:m,TrackedDescriptor:C,_getPath:f,_getProp:j,_setProp:O,activateObserver:v,addArrayObserver:S,addListener:D,addNamespace:P,addObserver:A,alias:T,arrayContentDidChange:M,arrayContentWillChange:E,autoComputed:I,beginPropertyChanges:w,cached:(...e)=>{const[t,a,r]=e,s=new WeakMap,i=r.get;r.get=function(){return s.has(this)||s.set(this,n(i.bind(this))),o(s.get(this))}},changeProperties:x,computed:N,createCache:n,defineDecorator:R,defineProperty:V,defineValue:F,deprecateProperty:function(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,set(e){l(this,a,e)},get(){return i(this,a)}})},descriptorForDecorator:k,descriptorForProperty:z,eachProxyArrayDidChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayDidChange(e,t,a,r)},eachProxyArrayWillChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayWillChange(e,t,a,r)},endPropertyChanges:U,expandProperties:L,findNamespace:G,findNamespaces:W,flushAsyncObservers:B,get:i,getCachedValueFor:Ba,getProperties:Y,getValue:o,hasListeners:H,hasUnknownProperty:q,inject:J,isClassicDecorator:K,isComputed:X,isConst:Q,isElementDescriptor:Z,isNamespaceSearchDisabled:$,libraries:ee,makeComputedDecorator:te,markObjectAsDirty:ae,nativeDescDecorator:re,notifyPropertyChange:se,objectAt:ne,on:oe,processAllNamespaces:ie,processNamespace:le,removeArrayObserver:de,removeListener:be,removeNamespace:ge,removeObserver:ue,replace:he,replaceInNativeArray:_e,revalidateObservers:pe,sendEvent:ye,set:l,setClassicDecorator:me,setNamespaceSearchDisabled:Ce,setProperties:fe,setUnprocessedMixins:je,tagForObject:Oe,tagForProperty:ve,tracked:Se,trySet:De},Symbol.toStringTag,{value:"Module"})),qa=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Te,associateDestroyableChild:Me,destroy:Ee,enableDestroyableTracking:Ie,isDestroyed:we,isDestroying:xe,registerDestructor:function(e,t){return Pe(e,t)},unregisterDestructor:function(e,t){return Ae(e,t)}},Symbol.toStringTag,{value:"Module"})),Ja=Object.freeze(Object.defineProperty({__proto__:null,Input:Ne,Textarea:Re,capabilities:Ve,default:Fe,getComponentTemplate:ke,setComponentManager:ze,setComponentTemplate:Ue},Symbol.toStringTag,{value:"Module"})),Ka=Object.freeze(Object.defineProperty({__proto__:null,cacheFor:Ba,guidFor:Le},Symbol.toStringTag,{value:"Module"})),Xa=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"})),Qa={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function Za(e,t){return"[]"===t?(e._revalidate(),e._arrTag):"length"===t?(e._revalidate(),e._lengthTag):qe(e,t)}class $a extends We{_objectsDirtyIndex=0;_objects=null;_lengthDirty=!0;_length=0;_arrangedContent=null;_arrangedContentIsUpdating=!1;_arrangedContentTag=null;_arrangedContentRevision=null;_lengthTag=null;_arrTag=null;init(e){super.init(e),Be(this,Za)}[p](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(e){let t=i(this,"arrangedContent");return ne(t,e)}replace(e,t,a){this.replaceContent(e,t,a)}replaceContent(e,t,a){let r=i(this,"content");he(r,e,t,a)}objectAt(e){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&e>=this._objectsDirtyIndex){let e=i(this,"arrangedContent");if(e){let t=this._objects.length=i(e,"length");for(let e=this._objectsDirtyIndex;es)&&(this._objectsDirtyIndex=s),this._lengthDirty=!0,M(this,t,a,r,!1)}_invalidate(){this._objectsDirtyIndex=0,this._lengthDirty=!0}_revalidate(){if(!0!==this._arrangedContentIsUpdating&&(null===this._arrangedContentTag||!He(this._arrangedContentTag,this._arrangedContentRevision))){let e=this.get("arrangedContent");null===this._arrangedContentTag?this._addArrangedContentArrayObserver(e):(this._arrangedContentIsUpdating=!0,this._updateArrangedContentArray(e),this._arrangedContentIsUpdating=!1);let t=this._arrangedContentTag=qe(this,"arrangedContent");this._arrangedContentRevision=Je(this._arrangedContentTag),Ke(e)?(this._lengthTag=Xe([t,ve(e,"length")]),this._arrTag=Xe([t,ve(e,"[]")])):this._lengthTag=this._arrTag=t}}}$a.reopen(Ge,{arrangedContent:T("content")});const er=Object.freeze(Object.defineProperty({__proto__:null,default:$a},Symbol.toStringTag,{value:"Module"})),tr=Object.freeze(Object.defineProperty({__proto__:null,ENV:Qe,context:Ze,getENV:$e,getLookup:et,global:tt,setLookup:at},Symbol.toStringTag,{value:"Module"})),ar=Object.freeze(Object.defineProperty({__proto__:null,Meta:rt,UNDEFINED:st,counters:nt,meta:ot,peekMeta:s,setMeta:it},Symbol.toStringTag,{value:"Module"})),rr=Object.freeze(Object.defineProperty({__proto__:null,ActionHandler:lt,Comparable:dt,ContainerProxyMixin:bt,MutableEnumerable:gt,RSVP:ut,RegistryProxyMixin:ht,TargetActionSupport:_t,_ProxyMixin:pt,_contentFor:yt,onerrorDefault:mt},Symbol.toStringTag,{value:"Module"})),sr=Object.freeze(Object.defineProperty({__proto__:null,Cache:Ct,GUID_KEY:ft,ROOT:jt,canInvoke:function(e,t){return null!=e&&"function"==typeof e[t]},checkHasSuper:Ot,dictionary:vt,enumerableSymbol:St,generateGuid:Dt,getDebugName:Pt,getName:At,guidFor:Le,intern:Tt,isInternalSymbol:Mt,isObject:Ke,isProxy:Et,lookupDescriptor:It,observerListenerMetaFor:wt,setListeners:xt,setName:Nt,setObservers:Rt,setProxy:Vt,setWithMandatorySetter:Ft,setupMandatorySetter:kt,symbol:zt,teardownMandatorySetter:Ut,toString:Lt,uuid:Gt,wrap:Wt},Symbol.toStringTag,{value:"Module"})),nr=Object.freeze(Object.defineProperty({__proto__:null,ActionSupport:Bt,ComponentLookup:Yt,CoreView:Ht,EventDispatcher:qt,MUTABLE_CELL:Jt,ViewStates:Kt,addChildView:Xt,clearElementView:Qt,clearViewElement:Zt,constructStyleDeprecationMessage:$t,getChildViews:ea,getElementView:ta,getRootViews:aa,getViewBoundingClientRect:ra,getViewBounds:sa,getViewClientRects:na,getViewElement:oa,getViewId:ia,isSimpleClick:la,setElementView:ca,setViewElement:da},Symbol.toStringTag,{value:"Module"})),or=ba.create({reason:null,isPending:N("isSettled",function(){return!i(this,"isSettled")}).readOnly(),isSettled:N("isRejected","isFulfilled",function(){return i(this,"isRejected")||i(this,"isFulfilled")}).readOnly(),isRejected:!1,isFulfilled:!1,promise:N({get(){throw new Error("PromiseProxy's promise must be set")},set(e,t){return function(e,t){return fe(e,{isFulfilled:!1,isRejected:!1}),t.then(t=>(e.isDestroyed||e.isDestroying||fe(e,{content:t,isFulfilled:!0}),t),t=>{throw e.isDestroyed||e.isDestroying||fe(e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}(this,t)}}),then:ir("then"),catch:ir("catch"),finally:ir("finally")});function ir(e){return function(...t){return i(this,"promise")[e](...t)}}const lr=Object.freeze(Object.defineProperty({__proto__:null,default:or},Symbol.toStringTag,{value:"Module"}));class dr extends ga{}dr.PrototypeMixin.reopen(pt);const br=Object.freeze(Object.defineProperty({__proto__:null,default:dr},Symbol.toStringTag,{value:"Module"})),gr=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:ua,Promise:ha,all:_a,allSettled:pa,asap:ya,async:ma,cast:Ca,configure:fa,default:ja,defer:Oa,denodeify:va,filter:Sa,hash:Da,hashSettled:Pa,map:Aa,off:Ta,on:Ma,race:Ea,reject:Ia,resolve:wa,rethrow:xa},Symbol.toStringTag,{value:"Module"}));export{Xa as ArrayMutable,er as ArrayProxy,Ja as Component,Wa as Debug,qa as EmberDestroyable,tr as InternalsEnvironment,ar as InternalsMeta,Ha as InternalsMetal,rr as InternalsRuntime,sr as InternalsUtils,nr as InternalsViews,Ka as ObjectInternals,lr as ObjectPromiseProxyMixin,br as ObjectProxy,gr as RSVP}; diff --git a/release/index.html b/release/index.html index 876e80f..f6b6839 100644 --- a/release/index.html +++ b/release/index.html @@ -6,7 +6,7 @@ - +