const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return DV}},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 c(t){return t&&t.Object===Object?t:void 0}const h=c((u="object"==typeof global&&global)&&void 0===u.nodeType?u:void 0)||c("object"==typeof self&&self)||c("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var u;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=()=>{},_=()=>{},v=!1;function b(){return v}function w(t){v=Boolean(t)}let x=()=>{};const{toString:S}=Object.prototype,{toString:C}=Function.prototype,{isArray:k}=Array,{keys:E}=Object,{stringify:T}=JSON,R=100,P=/^[\w$]+$/;function I(t){return"number"==typeof t&&2===arguments.length?this:M(t,0)}function M(t,e,n){let i=!1;switch(typeof t){case"undefined":return"undefined";case"object":if(null===t)return"null";if(k(t)){i=!0;break}if(t.toString===S||void 0===t.toString)break;return t.toString();case"function":return t.toString===C?t.name?`[Function:${t.name}]`:"[Function]":t.toString();case"string":return T(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=R){i+=`... ${t.length-R} more items`;break}i+=M(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=R){i+=`... ${r.length-R} more keys`;break}let o=r[s];i+=`${O(String(o))}: ${M(t[o],e,n)}`}return i+=" }",i}(t,e+1,n)}function O(t){return P.test(t)?t:T(t)}function A(t){let e=t.lookup("renderer:-dom");if(!e)throw new Error("BUG: owner is missing renderer");return e.debugRenderTree.capture()}const F=()=>{};let L=F,z=F,j=F,D=F,N=F,U=F,B=F,q=F,$=function(){return arguments[arguments.length-1]};function V(){}const G=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:y,captureRenderTree:A,debug:j,debugFreeze:N,debugSeal:D,deprecate:V,deprecateFunc:$,getDebugFunction:q,info:L,inspect:I,isTesting:b,registerDeprecationHandler:_,registerWarnHandler:x,runInDebug:U,setDebugFunction:B,setTesting:w,warn:z},Symbol.toStringTag,{value:"Module"}));function W(t){let e=Object.create(null);e[t]=1;for(let n in e)if(n===t)return n;return t}function H(t){return null!==t&&("object"==typeof t||"function"==typeof t)}let K=0;function Y(){return++K}const X="ember",Z=new WeakMap,J=new Map,Q=W(`__ember${Date.now()}`);function tt(t,e=X){let n=e+Y().toString();return H(t)&&Z.set(t,n),n}function et(t){let e;if(H(t))e=Z.get(t),void 0===e&&(e=`${X}${Y()}`,Z.set(t,e));else if(e=J.get(t),void 0===e){let n=typeof t;e="string"===n?`st${Y()}`:"number"===n?`nu${Y()}`:"symbol"===n?`sy${Y()}`:`(${t})`,J.set(t,e)}return e}const nt=void 0,it=/\.(_super|call\(this|apply\(this)/,rt=Function.prototype.toString,st=rt.call(function(){return this}).indexOf("return this")>-1?function(t){return it.test(rt.call(t))}:function(){return!0},ot=new WeakMap,at=Object.freeze(function(){});function lt(t){let e=ot.get(t);return void 0===e&&(e=st(t),ot.set(t,e)),e}ot.set(at,!1);class ct{listeners=void 0;observers=void 0}const ht=new WeakMap;function ut(t){let e=ht.get(t);return void 0===e&&(e=new ct,ht.set(t,e)),e}function dt(t){return ht.get(t)}function pt(t,e){ut(t).observers=e}function ft(t,e){ut(t).listeners=e}const gt=new WeakSet;function mt(t,e){return lt(t)?!gt.has(e)&<(e)?yt(t,yt(e,at)):yt(t,e):t}function yt(t,e){function n(){let n=this._super;this._super=e;let i=t.apply(this,arguments);return this._super=n,i}gt.add(n);let i=ht.get(t);return void 0!==i&&ht.set(n,i),n}function _t(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 vt,bt,wt;const xt=[];function St(t){return-1!==xt.indexOf(t)}function Ct(t){return W(`__${t}${Q+Math.floor(Math.random()*Date.now()).toString()}__`)}const kt=Symbol,Et=Object.prototype.toString;function Tt(t){return null==t}function Rt(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+=","),Tt(t[n])||(e+=Rt(t[n]));return e}return"function"==typeof t.toString?t.toString():Et.call(t)}let Pt,It,Mt,Ot,At,Ft,Lt,zt,jt,Dt,Nt=()=>{},Ut=new WeakMap;function Bt(t,e){return null===t?e:Array.isArray(t)?(t.push(e),t):[t,e]}function qt(t,e){Array.isArray(t)?t.forEach(e):null!==t&&e(t)}function $t(t,e){if(Array.isArray(t)&&t.length>1){let n=t.indexOf(e);return t.splice(n,1),t}return null}function Vt(t){let e=Ut.get(t);return void 0===e&&(e={parents:null,children:null,eagerDestructors:null,destructors:null,state:0},Ut.set(t,e)),e}function Gt(t,e){let n=Vt(t),i=Vt(e);return n.children=Bt(n.children,e),i.parents=Bt(i.parents,t),e}function Wt(t,e,n=!1){let i=Vt(t),r=n?"eagerDestructors":"destructors";return i[r]=Bt(i[r],e),e}function Ht(t){let e=Vt(t);if(e.state>=1)return;let{parents:n,children:i,eagerDestructors:r,destructors:s}=e;e.state=1,qt(i,Ht),qt(r,e=>{e(t)}),qt(s,e=>{Pt(t,e)}),It(()=>{qt(n,e=>{!function(t,e){let n=Vt(e);0===n.state&&(n.children=$t(n.children,t))}(t,e)}),e.state=2})}function Kt(t){let e=Ut.get(t);return void 0!==e&&null!==e.children}function Yt(t){let e=Ut.get(t);return void 0!==e&&e.state>=1}function Xt(t){let e=Ut.get(t);return void 0!==e&&e.state>=2}const Zt=Object.prototype;let Jt;const Qt=kt("undefined");var te=function(t){return t[t.ADD=0]="ADD",t[t.ONCE=1]="ONCE",t[t.REMOVE=2]="REMOVE",t}(te||{});let ee=1;class ne{_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=ie(this.source);this._parent=t=null===e||e===Zt?null:ae(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===Qt?void 0:e}removeDescriptors(t){this.writeDescriptors(t,Qt)}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!==Qt&&t(i,n))})),n=n.parent}}addToListeners(t,e,n,i,r){this.pushListener(t,e,n,i?te.ONCE:te.ADD,r)}removeFromListeners(t,e,n){this.pushListener(t,e,n,te.REMOVE)}pushListener(t,e,n,i,r=!1){let s=this.writableListeners(),o=le(s,t,e,n);if(-1!==o&&o0&&(t.splice(0,this._inheritedEnd),this._inheritedEnd=0);for(let n of e)-1===le(t,n.event,n.target,n.method)&&(t.unshift(n),this._inheritedEnd++)}}this._flattenedVersion=ee}return this._listeners}matchingListeners(t){let e,n=this.flattenedListeners();if(void 0!==n)for(let i of n)i.event!==t||i.kind!==te.ADD&&i.kind!==te.ONCE||(void 0===e&&(e=[]),e.push(i.target,i.method,i.kind===te.ONCE));return e}observerEvents(){let t,e=this.flattenedListeners();if(void 0!==e)for(let n of e)n.kind!==te.ADD&&n.kind!==te.ONCE||-1===n.event.indexOf(":change")||(void 0===t&&(t=[]),t.push(n));return t}}const ie=Object.getPrototypeOf,re=new WeakMap;function se(t,e){re.set(t,e)}function oe(t){let e=re.get(t);if(void 0!==e)return e;let n=ie(t);for(;null!==n;){if(e=re.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=ie(n)}return null}const ae=function(t){let e=oe(t);if(null!==e&&e.source===t)return e;let n=new ne(t);return se(t,n),n};function le(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 ce=1;const he=Symbol("TAG_COMPUTE");function ue(t){return t[he]()}function de(t,e){return e>=t[he]()}Reflect.set(globalThis,"COMPUTE_SYMBOL",he);const pe=Symbol("TAG_TYPE");class fe{static combine(t){switch(t.length){case 0:return ve;case 1:return t[0];default:{let e=new fe(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[pe]=t}[he](){let{lastChecked:t}=this;if(this.isUpdating)this.lastChecked=++ce;else if(t!==ce){this.isUpdating=!0,this.lastChecked=ce;try{let{subtag:t,revision:e}=this;if(null!==t)if(Array.isArray(t))for(const n of t){let t=n[he]();e=Math.max(t,e)}else{let n=t[he]();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===ve?n.subtag=null:(n.subtagBufferCache=i[he](),n.subtag=i)}static dirtyTag(t,e){t.revision=++ce,Nt()}}const ge=fe.dirtyTag,me=fe.updateTag;function ye(){return new fe(0)}function _e(){return new fe(1)}const ve=new fe(3);function be(t){return t===ve}class we{[he](){return NaN}constructor(){this[pe]=100}}const xe=new we;class Se{[he](){return ce}constructor(){this[pe]=101}}const Ce=new Se,ke=fe.combine;let Ee=_e(),Te=_e(),Re=_e();ue(Ee),ge(Ee),ue(Ee),me(Ee,ke([Te,Re])),ue(Ee),ge(Te),ue(Ee),ge(Re),ue(Ee),me(Ee,Re),ue(Ee),ge(Re),ue(Ee);class Pe{add(t){t!==ve&&(this.tags.add(t),this.last=t)}combine(){let{tags:t}=this;return 0===t.size?ve:1===t.size?this.last:ke(Array.from(this.tags))}constructor(){this.tags=new Set,this.last=null}}let Ie=null;const Me=[];function Oe(){Me.push(Ie),Ie=new Pe}function Ae(){let t=Ie;return Ie=Me.pop()||null,function(t){if(null==t)throw new Error("Expected value to be present");return t}(t).combine()}function Fe(){Me.push(Ie),Ie=null}function Le(){Ie=Me.pop()||null}function ze(){return null!==Ie}function je(t){null!==Ie&&Ie.add(t)}const De=Symbol("FN"),Ne=Symbol("LAST_VALUE"),Ue=Symbol("TAG"),Be=Symbol("SNAPSHOT");function qe(t){return{[De]:t,[Ne]:void 0,[Ue]:void 0,[Be]:-1}}function $e(t){let e=t[De],n=t[Ue],i=t[Be];if(void 0!==n&&de(n,i))je(n);else{Oe();try{t[Ne]=e()}finally{n=Ae(),t[Ue]=n,t[Be]=ue(n),je(n)}}return t[Ne]}function Ve(t){return be(t[Ue])}function Ge(t){let e;Oe();try{t()}finally{e=Ae()}return e}function We(t){Fe();try{return t()}finally{Le()}}const He=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),Ke=new Set(["fill","push","unshift"]);function Ye(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Xe{#t;constructor(t,e){this.#e=_e(),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=Ye(e);if(null!==n)return i.#i(n),je(i.#e),t[n];if("length"===e)return s?s=!1:je(i.#e),t[e];if(Ke.has(e)&&(s=!0),He.has(e)){let n=r.get(e);return void 0===n&&(n=(...n)=>(je(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=Ye(e);return null!==r?(i.#r(r),i.#s()):"length"===e&&i.#s(),!0},getPrototypeOf:()=>Xe.prototype})}#e;#n;#i(t){let e=this.#n.get(t);void 0===e&&(e=_e(),this.#n.set(t,e)),je(e)}#r(t){const e=this.#n.get(t);e&&ge(e)}#s(){ge(this.#e),this.#n.clear()}}Object.setPrototypeOf(Xe.prototype,Array.prototype);class Ze{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=_e(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ge(e)}constructor(t,e){this.#e=_e(),this.#n=new Map,this.#o=t instanceof Map?new Map(t.entries()):new Map(t),this.#t=e}get(t){return je(this.#a(t)),this.#o.get(t)}has(t){return je(this.#a(t)),this.#o.has(t)}entries(){return je(this.#e),this.#o.entries()}keys(){return je(this.#e),this.#o.keys()}values(){return je(this.#e),this.#o.values()}forEach(t){je(this.#e),this.#o.forEach(t)}get size(){return je(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||ge(this.#e),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),ge(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ge(t)),this.#n.clear(),ge(this.#e),this.#o.clear())}}Object.setPrototypeOf(Ze.prototype,Map.prototype);class Je{#t;#n;#e;#i(t){let e=this.#n.get(t);void 0===e&&(e=_e(),this.#n.set(t,e)),je(e)}#r(t){const e=this.#n.get(t);e&&ge(e)}#s(){ge(this.#e)}constructor(t,e){this.#n=new Map,this.#e=_e(),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=>(je(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 Qe{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=_e(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ge(e)}constructor(t,e){this.#e=_e(),this.#n=new Map,this.#o=new Set(t),this.#t=e}has(t){return je(this.#a(t)),this.#o.has(t)}entries(){return je(this.#e),this.#o.entries()}keys(){return je(this.#e),this.#o.keys()}values(){return je(this.#e),this.#o.values()}union(t){return je(this.#e),this.#o.union(t)}intersection(t){return je(this.#e),this.#o.intersection(t)}difference(t){return je(this.#e),this.#o.difference(t)}symmetricDifference(t){return je(this.#e),this.#o.symmetricDifference(t)}isSubsetOf(t){return je(this.#e),this.#o.isSubsetOf(t)}isSupersetOf(t){return je(this.#e),this.#o.isSupersetOf(t)}isDisjointFrom(t){return je(this.#e),this.#o.isDisjointFrom(t)}forEach(t){je(this.#e),this.#o.forEach(t)}get size(){return je(this.#e),this.#o.size}[Symbol.iterator](){return je(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 ge(this.#e);return this.#r(t),this.#o.add(t),this}delete(t){return!this.#o.has(t)||(this.#r(t),ge(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ge(t)),ge(this.#e),this.#n.clear(),this.#o.clear())}}Object.setPrototypeOf(Qe.prototype,Set.prototype);class tn{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=_e(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ge(e)}constructor(t,e){this.#n=new WeakMap,this.#o=t instanceof WeakMap?t:new WeakMap(t),this.#t=e}get(t){return je(this.#a(t)),this.#o.get(t)}has(t){return je(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(tn.prototype,WeakMap.prototype);class en{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=_e(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ge(e)}constructor(t,e){this.#n=new WeakMap,this.#t=e,this.#o=new WeakSet(t)}has(t){return je(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(en.prototype,WeakSet.prototype);const nn=new WeakMap;function rn(t,e,n){let i=void 0===n?nn.get(t):n;if(void 0===i)return;let r=i.get(e);void 0!==r&&ge(r,!0)}function sn(t){let e=nn.get(t);return void 0===e&&(e=new Map,nn.set(t,e)),e}function on(t,e,n){let i=void 0===n?sn(t):n,r=i.get(e);return void 0===r&&(r=_e(),i.set(e,r)),r}function an(t,e){let n=new WeakMap,i="function"==typeof e;return{getter:function(r){let s;return je(on(r,t)),i&&!n.has(r)?(s=e.call(r),n.set(r,s)):s=n.get(r),s},setter:function(e,i){rn(e,t),n.set(e,i)}}}const ln=Symbol("GLIMMER_VALIDATOR_REGISTRATION");if(Reflect.has(globalThis,ln))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,ln,!0);const cn=Object.freeze(Object.defineProperty({__proto__:null,ALLOW_CYCLES:void 0,COMPUTE:he,CONSTANT:0,CONSTANT_TAG:ve,CURRENT_TAG:Ce,CurrentTag:Se,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:xe,VolatileTag:we,beginTrackFrame:Oe,beginUntrackFrame:Fe,bump:function(){ce++},combine:ke,consumeTag:je,createCache:qe,createTag:ye,createUpdatableTag:_e,debug:{},dirtyTag:ge,dirtyTagFor:rn,endTrackFrame:Ae,endUntrackFrame:Le,getValue:$e,isConst:Ve,isConstTag:be,isTracking:ze,resetTracking:function(){for(;Me.length>0;)Me.pop();Ie=null},tagFor:on,tagMetaFor:sn,track:Ge,trackedArray:function(t,e){return new Xe(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedData:an,trackedMap:function(t,e){return new Ze(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 Qe(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakMap:function(t,e){return new tn(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakSet:function(t,e){return new en(t??[],{equals:e?.equals??Object.is,description:e?.description})},untrack:We,updateTag:me,validateTag:de,valueForTag:ue},Symbol.toStringTag,{value:"Module"})),hn=Object.freeze([]);function un(){return hn}const dn=un(),pn=un();function*fn(t){for(let e=t.length-1;e>=0;e--)yield t[e]}function*gn(t){let e=0;for(const n of t)yield[e++,n]}function mn(t){return!!t&&t.length>0}function yn(t){return 0===t.length?void 0:t[t.length-1]}function _n(){return Object.create(null)}function vn(t){return null!=t}function bn(t){return"function"==typeof t||"object"==typeof t&&null!==t}class wn{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=yn(this.stack)??null,void 0===t?null:t}nth(t){let e=this.stack.length;return eqn(t),null,t.debugLabel):t}function Dn(t){return 3===t[Tn]}function Nn(t){const e=zn(()=>qn(t),e=>$n(t,e));return e.debugLabel=t.debugLabel,e[Tn]=3,e}function Un(t){return t.tag===ve}function Bn(t){return null!==t.update}function qn(t){const e=t;let{tag:n}=e;if(n===ve)return e.lastValue;const{lastRevision:i}=e;let r;if(null!==n&&de(n,i))r=e.lastValue;else{const{compute:t}=e,i=Ge(()=>{r=e.lastValue=t()});n=e.tag=i,e.lastRevision=ue(i)}return je(n),r}function $n(t,e){(0,t.update)(e)}function Vn(t,e){const n=t,i=n[Tn];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=qn(n);r=vn(t)?Ln(t[e]):In}else r=zn(()=>{const t=qn(n);if(vn(t))return At(t,e)},t=>{const i=qn(n);if(vn(i))return Ft(i,e,t)});return s.set(e,r),r}function Gn(t,e){let n=t;for(const i of e)n=Vn(n,i);return n}const Wn={},Hn=(t,e)=>e,Kn=(t,e)=>String(e),Yn=t=>null===t?Wn:t;class Xn{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){bn(t)?this.weakMap.set(t,e):this.primitiveMap.set(t,e)}get(t){return bn(t)?this.weakMap.get(t):this.primitiveMap.get(t)}}const Zn=new Xn;function Jn(t){let e=new Xn;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=Zn.get(t);void 0===n&&(n=[],Zn.set(t,n));let i=n[e];return void 0===i&&(i={value:t,count:e},n[e]=i),i}(r,s)}}function Qn(t,e){return zn(()=>{let n=qn(t),i=function(t){switch(t){case"@key":return Jn(Hn);case"@index":return Jn(Kn);case"@identity":return Jn(Yn);default:return e=t,Jn(t=>Lt(t,e))}var e}(e);if(Array.isArray(n))return new ni(n,i);let r=Mt(n);return null===r?new ni(hn,()=>null):new ei(r,i)})}function ti(t){let e=t,n=ye();return zn(()=>(je(n),e),t=>{e!==t&&(e=t,ge(n))})}class ei{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 ni=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 ii=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:An,NULL_REFERENCE:Mn,REFERENCE:Tn,TRUE_REFERENCE:On,UNDEFINED_REFERENCE:In,childRefFor:Vn,childRefFromParts:Gn,createComputeRef:zn,createConstRef:Fn,createDebugAliasRef:void 0,createInvokableRef:Nn,createIteratorItemRef:ti,createIteratorRef:Qn,createPrimitiveRef:Pn,createReadOnlyRef:jn,createUnboundRef:Ln,isConstRef:Un,isInvokableRef:Dn,isUpdatableRef:Bn,updateRef:$n,valueForRef:qn},Symbol.toStringTag,{value:"Module"})),ri={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},si=1024,oi=new WeakMap;function ai(t){return oi.get(t)}function li(t,e){oi.set(t,e)}function ci(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class hi{constructor(t){this.named=t}get(t,e){const n=this.named[e];if(void 0!==n)return qn(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 ui{constructor(t){this.positional=t}get(t,e){let{positional:n}=this;if("length"===e)return n.length;const i=ci(e);return null!==i&&i{const{named:e,positional:n}=t,i=new hi(e),r=new ui(n),s=Object.create(null),o=new Proxy(s,i),a=new Proxy([],r);return li(o,(t,n)=>function(t,e){return Ge(()=>{e in t&&qn(t[e])})}(e,n)),li(a,(t,e)=>function(t,e){return Ge(()=>{"[]"===e&&t.forEach(qn);const n=ci(e);null!==n&&n{let i=this.getDelegateFor(n);const r=di(e),s=i.createHelper(t,r);if(vi(i)){let t=zn(()=>i.getValue(s),null);return bi(i)&&Gt(t,i.getDestroyable(s)),t}if(bi(i)){let t=Fn(void 0);return Gt(t,i.getDestroyable(s)),t}return In}}}class xi{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 Si=new WeakMap,Ci=new WeakMap,ki=new WeakMap,Ei=Object.getPrototypeOf;function Ti(t,e,n){return t.set(n,e),n}function Ri(t,e){let n=e;for(;null!==n;){const e=t.get(n);if(void 0!==e)return e;n=Ei(n)}}function Pi(t,e){return Ti(Ci,t,e)}function Ii(t){const e=Ri(Ci,t);return void 0===e?null:e}function Mi(t,e){return Ti(ki,t,e)}const Oi=new wi(()=>new xi);function Ai(t){let e=Ri(ki,t);return void 0===e&&"function"==typeof t&&(e=Oi),e||null}function Fi(t,e){return Ti(Si,t,e)}function Li(t){const e=Ri(Si,t);return void 0===e?null:e}function zi(t){return void 0!==Ri(Si,t)}function ji(t){return function(t){return"function"==typeof t}(t)||void 0!==Ri(ki,t)}const Di={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 Ni(t,e={}){let n=Boolean(e.updateHook);return{asyncLifeCycleCallbacks:Boolean(e.asyncLifecycleCallbacks),destructor:Boolean(e.destructor),updateHook:n}}function Ui(t){return t.capabilities.asyncLifeCycleCallbacks}function Bi(t){return t.capabilities.updateHook}class qi{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=di(n.capture()),s=i.createComponent(e,r);return new $i(s,i,r)}getDebugName(t){return"function"==typeof t?t.name:t.toString()}update(t){let{delegate:e}=t;if(Bi(e)){let{component:n,args:i}=t;e.updateComponent(n,i)}}didCreate({component:t,delegate:e}){Ui(e)&&e.didCreateComponent(t)}didUpdate({component:t,delegate:e}){(function(t){return Ui(t)&&Bi(t)})(e)&&e.didUpdateComponent(t)}didRenderLayout(){}didUpdateLayout(){}getSelf({component:t,delegate:e}){return Fn(e.getContext(t))}getDestroyable(t){const{delegate:e}=t;if(function(t){return t.capabilities.destructor}(e)){const{component:n}=t;return Wt(t,()=>e.destroyComponent(n)),t}return null}getCapabilities(){return Di}}class $i{constructor(t,e,n){this.component=t,this.delegate=e,this.args=n}}function Vi(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Gi{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=di(i),a=s.createModifier(n,o);return r={tag:_e(),element:e,delegate:s,args:o,modifier:a},Wt(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?We(()=>i.installModifier(n,t,e)):i.installModifier(n,t,e)}update({args:t,modifier:e,delegate:n}){let{capabilities:i}=n;i.disableAutoTracking?We(()=>n.updateModifier(e,t)):n.updateModifier(e,t)}getDestroyable(t){return t}}function Wi(t,e){return Fi(new qi(t),e)}function Hi(t,e){return Pi(new Gi(t),e)}function Ki(t,e){return Mi(new wi(t),e)}const Yi=new WeakMap,Xi=Reflect.getPrototypeOf;function Zi(t,e){return Yi.set(e,t),e}function Ji(t){let e=t;for(;null!==e;){let t=Yi.get(e);if(void 0!==t)return t;e=Xi(e)}}const Qi=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:qi,CustomHelperManager:wi,CustomModifierManager:Gi,capabilityFlagsFrom:fi,componentCapabilities:Ni,getComponentTemplate:Ji,getCustomTagFor:ai,getInternalComponentManager:Li,getInternalHelperManager:Ai,getInternalModifierManager:Ii,hasCapability:yi,hasDestroyable:bi,hasInternalComponentManager:zi,hasInternalHelperManager:ji,hasInternalModifierManager:function(t){return void 0!==Ri(Ci,t)},hasValue:vi,helperCapabilities:_i,managerHasCapability:mi,modifierCapabilities:Vi,setComponentManager:Wi,setComponentTemplate:Zi,setCustomTagFor:li,setHelperManager:Ki,setInternalComponentManager:Fi,setInternalHelperManager:Mi,setInternalModifierManager:Pi,setModifierManager:Hi},Symbol.toStringTag,{value:"Module"})),tr=new WeakSet;function er(t){return!!H(t)&&tr.has(t)}function nr(t){H(t)&&tr.add(t)}const ir=new WeakSet;function rr(t){return ir.has(t)}let sr=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 or="6.11.0-beta.1",ar=Object.freeze(Object.defineProperty({__proto__:null,default:or},Symbol.toStringTag,{value:"Module"})),lr=Symbol("OWNER");function cr(t){return t[lr]}function hr(t){return cr(t)}function ur(t,e){!function(t,e){t[lr]=e}(t,e)}function dr(t,e){return Array.isArray(t)?t[e]:t.objectAt(e)}const pr=kt("SELF_TAG");function fr(t,e,n=!1,i){let r=ai(t);return void 0!==r?r(t,e,n):on(t,e,i)}function gr(t){return H(t)?on(t,pr):ve}function mr(t,e){rn(t,e),rn(t,pr)}const yr=new WeakSet;function _r(t,e,n){let i=t.readableLazyChainsFor(e);if(void 0!==i){if(H(n))for(let[t,e]of i)me(t,br(n,e,sn(n),oe(n)));i.length=0}}function vr(t,e,n,i){let r=[];for(let s of e)wr(r,t,s,n,i);return ke(r)}function br(t,e,n,i){return ke(wr([],t,e,n,i))}function wr(t,e,n,i,r){let s,o,a=e,l=i,c=r,h=n.length,u=-1;for(;;){let e=u+1;if(u=n.indexOf(".",e),-1===u&&(u=h),s=n.slice(e,u),"@each"===s&&u!==h){e=u+1,u=n.indexOf(".",e);let i=a.length;if("number"!=typeof i||!Array.isArray(a)&&!("objectAt"in a))break;if(0===i){t.push(fr(a,"[]"));break}s=-1===u?n.slice(e):n.slice(e,u);for(let e=0;e=0;s-=3){let r=i[s],o=i[s+1],a=i[s+2];if(!o)continue;a&&Nr(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 Br(t,e){let n=oe(t);if(null===n)return!1;let i=n.matchingListeners(e);return void 0!==i&&i.length>0}function qr(...t){let e=t.pop();return ft(e,t),e}const $r=!g._DEFAULT_ASYNC_OBSERVERS,Vr=new Map,Gr=new Map;function Wr(t,e,n,i,r=$r){let s=jr(e);Dr(t,s,n,i,!1,r);let o=oe(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Kr(t,s,r)}function Hr(t,e,n,i,r=$r){let s=jr(e),o=oe(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Zr(t,s,r),Nr(t,s,n,i)}function Kr(t,e,n=!1){let i=function(t,e){let n=!0===e?Vr:Gr;return n.has(t)||(n.set(t,new Map),Wt(t,()=>function(t){Vr.size>0&&Vr.delete(t),Gr.size>0&&Gr.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=br(t,n,sn(t),oe(t));i.set(e,{count:1,path:n,tag:r,lastRevision:ue(r),suspended:!1})}}let Yr=!1,Xr=[];function Zr(t,e,n=!1){if(!0===Yr)return void Xr.push([t,e,n]);let i=!0===n?Vr:Gr,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){Gr.has(t)&&Gr.get(t).forEach(e=>{e.tag=br(t,e.path,sn(t),oe(t)),e.lastRevision=ue(e.tag)}),Vr.has(t)&&Vr.get(t).forEach(e=>{e.tag=br(t,e.path,sn(t),oe(t)),e.lastRevision=ue(e.tag)})}let Qr=0;function ts(t){let e=ue(Ce);Qr!==e&&(Qr=e,Gr.forEach((e,n)=>{let i=oe(n);e.forEach((e,r)=>{if(!de(e.tag,e.lastRevision)){let s=()=>{try{Ur(n,r,[n,e.path],void 0,i)}finally{e.tag=br(n,e.path,sn(n),oe(n)),e.lastRevision=ue(e.tag)}};t?t("actions",s):s()}})}))}function es(){Vr.forEach((t,e)=>{let n=oe(e);t.forEach((t,i)=>{if(!t.suspended&&!de(t.tag,t.lastRevision))try{t.suspended=!0,Ur(e,i,[e,t.path],void 0,n)}finally{t.tag=br(e,t.path,sn(e),oe(e)),t.lastRevision=ue(t.tag),t.suspended=!1}})})}function ns(t,e,n){let i=Vr.get(t);if(!i)return;let r=i.get(jr(e));r&&(r.suspended=n)}const is=Symbol("PROPERTY_DID_CHANGE");let rs=0;function ss(t,e,n,i){let r=void 0===n?oe(t):n;null!==r&&(r.isInitializing()||r.isPrototypeMeta(t))||(mr(t,e),rs<=0&&es(),is in t&&(4===arguments.length?t[is](e,i):t[is](e)))}function os(){rs++,Yr=!0}function as(){rs--,rs<=0&&(es(),function(){Yr=!1;for(let[t,e,n]of Xr)Zr(t,e,n);Xr=[]}())}function ls(t){os();try{t()}finally{as()}}function cs(){}class hs extends Cr{_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||cs,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)Lr(i,n);this._dependentKeys=e}get(t,e){let n,i=ae(t),r=sn(t),s=on(t,e,r),o=i.revisionFor(e);if(void 0!==o&&de(s,o))n=i.valueFor(e);else{let{_getter:o,_dependentKeys:a}=this;We(()=>{n=o.call(t,e)}),void 0!==a&&me(s,vr(t,a,r,i)),i.setValueFor(e,n),i.setRevisionFor(e,ue(s)),_r(i,e,n)}return je(s),Array.isArray(n)&&je(on(n,"[]")),n}set(t,e,n){this._readOnly&&this._throwReadOnlyError(t,e);let i,r=ae(t);r.isInitializing()&&void 0!==this._dependentKeys&&this._dependentKeys.length>0&&"function"==typeof t[is]&&t.isComponent&&Wr(t,e,()=>{t[is](e)},void 0,!0);try{os(),i=this._set(t,e,n,r),_r(r,e,i);let s=sn(t),o=on(t,e,s),{_dependentKeys:a}=this;void 0!==a&&me(o,vr(t,a,s,r)),r.setRevisionFor(e,ue(o))}finally{as()}return i}_throwReadOnlyError(t,e){throw new Error(`Cannot set read-only property "${e}" on object: ${I(t)}`)}_set(t,e,n,i){let r,s=void 0!==i.revisionFor(e),o=i.valueFor(e),{_setter:a}=this;ns(t,e,!0);try{r=a.call(t,e,n,o)}finally{ns(t,e,!1)}return s&&o===r||(i.setValueFor(e,r),ss(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 us extends hs{get(t,e){let n,i=ae(t),r=sn(t),s=on(t,e,r),o=i.revisionFor(e);if(void 0!==o&&de(s,o))n=i.valueFor(e);else{let{_getter:r}=this,o=Ge(()=>{n=r.call(t,e)});me(s,o),i.setValueFor(e,n),i.setRevisionFor(e,ue(s)),_r(i,e,n)}return je(s),Array.isArray(n)&&je(on(n,"[]",r)),n}}class ds extends Function{readOnly(){return Mr(this)._readOnly=!0,this}meta(t){let e=Mr(this);return 0===arguments.length?e._meta||{}:(e._meta=t,this)}get _getter(){return Mr(this)._getter}set enumerable(t){Mr(this).enumerable=t}}function ps(...t){return xr(t)?Rr(new hs([]),ds)(t[0],t[1],t[2]):Rr(new hs(t),ds)}function fs(...t){return Rr(new us(t),ds)}function gs(t,e){return Boolean(Ir(t,e))}function ms(t,e,n,i,r){let s=void 0===r?ae(t):r,o=Ir(t,e,s),a=void 0!==o;a&&o.teardown(t,e,s),Or(n)?ys(t,e,n,s):null==n?_s(t,e,i,a,!0):Object.defineProperty(t,e,n),s.isPrototypeMeta(t)||Jr(t)}function ys(t,e,n,i){let r;return r=n(t,e,void 0,i),Object.defineProperty(t,e,r),n}function _s(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 vs=new sr(1e3,t=>t.indexOf("."));function bs(t){return"string"==typeof t&&-1!==vs.get(t)}const ws=kt("PROXY_CONTENT");function xs(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function Ss(t,e){return bs(e)?ks(t,e):Cs(t,e)}function Cs(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)&&xs(t)&&(n=t.unknownProperty(e)),ze()&&(je(on(t,e)),(Array.isArray(n)||rr(n))&&je(on(n,"[]")))):n=t[e],n}function ks(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=Cs(t,r)}return t}Cs("foo","a"),Cs("foo",1),Cs({},"a"),Cs({},1),Cs({unknownProperty(){}},"a"),Cs({unknownProperty(){}},1),Ss({},"foo"),Ss({},"foo.bar");let Es={};nr(Es),Ge(()=>Cs({},"a")),Ge(()=>Cs({},1)),Ge(()=>Cs({a:[]},"a")),Ge(()=>Cs({a:Es},"a"));class Ts{_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 Rs=new Ts;let Ps;function Is(t,...e){let n,i;xr(e)?n=e:"string"==typeof e[0]&&(i=e[0]);let r=ps({get:function(e){return(hr(this)||this.container).lookup(`${t}:${i||e}`)},set(t,e){ms(this,t,null,e)}});return n?r(n[0],n[1],n[2]):r}function Ms(...t){if(!xr(t)){let e=t[0],n=e?e.initializer:void 0,i=e?e.value:void 0,r=function(t,e){return Os([t,e,{initializer:n||(()=>i)}])};return Ar(r),r}return Os(t)}function Os([t,e,n]){let{getter:i,setter:r}=an(e,n?n.initializer:void 0);function s(){let t=i(this);return(Array.isArray(t)||rr(t))&&je(on(t,"[]")),t}function o(t){r(this,t),rn(this,pr)}let a={enumerable:!0,configurable:!0,isTracked:!0,get:s,set:o};return Tr.add(o),ae(t).writeDescriptors(e,new As(s,o)),a}Rs.registerCoreLibrary("Ember",or);class As{constructor(t,e){this._get=t,this._set=e,yr.add(this)}get(t){return this._get.call(t)}set(t,e,n){this._set.call(t,n)}}function Fs(t,e){let n=oe(t);return n?n.valueFor(e):void 0}function Ls(t,e,n,i){return t.isDestroyed?n:bs(e)?function(t,e,n,i){let r=e.split("."),s=r.pop(),o=ks(t,r,!0);if(null!=o)return Ls(o,s,n);if(!i)throw new Error(`Property set failed: object in path "${r.join(".")}" could not be found.`)}(t,e,n,i):zs(t,e,n)}function zs(t,e,n){let i,r=_t(t,e);return null!==r&&Tr.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&&ss(t,e)):t.setUnknownProperty(e,n),n)}function js(t,e,n){return Ls(t,e,n,!0)}function Ds(t){return Rr(new Us(t),Ns)}class Ns extends Function{readOnly(){return Mr(this).readOnly(),this}oneWay(){return Mr(this).oneWay(),this}meta(t){let e=Mr(this);if(0===arguments.length)return e._meta||{};e._meta=t}}class Us extends Cr{altKey;constructor(t){super(),this.altKey=t}setup(t,e,n,i){super.setup(t,e,n,i),yr.add(this)}get(t,e){let n,i=ae(t),r=sn(t),s=on(t,e,r);We(()=>{n=Ss(t,this.altKey)});let o=i.revisionFor(e);return void 0!==o&&de(s,o)||(me(s,br(t,this.altKey,r,i)),i.setRevisionFor(e,ue(s)),_r(i,e,n)),je(s),n}set(t,e,n){return Ls(t,this.altKey,n)}readOnly(){this.set=Bs}oneWay(){this.set=qs}}function Bs(t,e){throw new Error(`Cannot set read-only property '${e}' on object: ${I(t)}`)}function qs(t,e,n){return ms(t,e,null),Ls(t,e,n)}function $s(t,e,n,i){return void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1)),Ur(t,"@array:before",[t,e,n,i]),t}function Vs(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=oe(t);if(r&&((i<0||n<0||i-n!==0)&&ss(t,"length",s),ss(t,"[]",s)),Ur(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&&ss(t,"firstObject",s),void 0!==s.revisionFor("lastObject")&&o-1{let n=Object.keys(e);for(let i of n)Ls(t,i,e[i])}),e}const to=new WeakMap;function eo(t,e){H(t)&&to.set(t,e)}function no(t){return to.get(t)}const io=Object.prototype.hasOwnProperty;let ro=!1;const so={_set:0,_unprocessedNamespaces:!1,get unprocessedNamespaces(){return this._unprocessedNamespaces},set unprocessedNamespaces(t){this._set++,this._unprocessedNamespaces=t}};let oo=!1;const ao=[],lo=Object.create(null);function co(t){so.unprocessedNamespaces=!0,ao.push(t)}function ho(t){let e=no(t);delete lo[e],ao.splice(ao.indexOf(t),1),e in d.lookup&&t===d.lookup[e]&&(d.lookup[e]=void 0)}function uo(){if(!so.unprocessedNamespaces)return;let t=d.lookup,e=Object.keys(t);for(let n of e){if(!wo(n.charCodeAt(0)))continue;let e=xo(t,n);e&&eo(e,n)}}function po(t){return ro||go(),lo[t]}function fo(t){vo([t.toString()],t,new Set)}function go(){let t=so.unprocessedNamespaces;if(t&&(uo(),so.unprocessedNamespaces=!1),t||oo){let t=ao;for(let e of t)fo(e);oo=!1}}function mo(){return ro}function yo(t){ro=Boolean(t)}function _o(){oo=!0}function vo(t,e,n){let i=t.length,r=t.join(".");lo[r]=e,eo(e,r);for(let s in e){if(!io.call(e,s))continue;let r=e[s];if(t[i]=s,r&&void 0===no(r))eo(r,t.join("."));else if(r&&bo(r)){if(n.has(r))continue;n.add(r),vo(t,r,n)}}t.length=i}function bo(t){return null!=t&&"object"==typeof t&&t.isNamespace}function wo(t){return t>=65&&t<=90}function xo(t,e){try{let n=t[e];return(null!==n&&"object"==typeof n||"function"==typeof n)&&n.isNamespace&&n}catch(n){}}let So;const Co={get onerror(){return So}};function ko(){return So}const Eo=setTimeout,To=()=>{};function Ro(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()=>Eo(t,0)}function Po(t){let e=To;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:Ro(t),clearNext:e}}const Io=/\d+/;function Mo(t){let e=typeof t;return"number"===e&&t==t||"string"===e&&Io.test(t)}function Oo(t){return t.onError||t.onErrorTarget&&t.onErrorTarget[t.onErrorMethod]}function Ao(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 jo{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=Oo(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=Ao(t,e,n);return r>-1?(n[r+1]=null,!0):(n=this._queueBeingFlushed,r=Ao(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 Lo(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(wN){i(wN,r)}}}class Do{constructor(t=[],e){this.queues={},this.queueNameIndex=0,this.queueNames=t,t.reduce(function(t,n){return t[n]=new jo(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{la++,!1!==this._autorun&&(this._autorun=!1,this._autorunStack=null,this._end(!0))};let n=this.options._buildPlatform||Po;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Go,end:Wo,events:{begin:Ho,end:0},autoruns:{created:aa,completed:la},run:Ko,join:Yo,defer:Xo,schedule:Zo,scheduleIterable:Jo,deferOnce:Qo,scheduleOnce:ta,setTimeout:ea,later:na,throttle:ia,debounce:ra,cancelTimers:sa,cancel:oa,loops:{total:ca,nested:ha}}}get defaultQueue(){return this._defaultQueue}begin(){Go++;let t,e=this.options,n=this.currentInstance;return!1!==this._autorun?(t=n,this._cancelAutorun()):(null!==n&&(ha++,this.instanceStack.push(n)),ca++,t=this.currentInstance=new Do(this.queueNames,e),Ho++,this._trigger("begin",t,n)),this._onBegin(t,n),t}end(){Wo++,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&&Mo(n[r-1])&&(i=parseInt(n.pop(),10)),[t,e,n,i]}(...arguments);return this._later(t,e,n,i)}throttle(){ia++;let t,[e,n,i,r,s=!0]=$o(...arguments),o=Fo(e,n,this._timers);if(-1===o)t=this._later(e,n,s?Bo:i,r),s&&this._join(e,n,i);else{t=this._timers[o+1];let e=o+4;this._timers[e]!==Bo&&(this._timers[e]=i)}return t}debounce(){ra++;let t,[e,n,i,r,s=!1]=$o(...arguments),o=this._timers,a=Fo(e,n,o);if(-1===a)t=this._later(e,n,s?Bo:i,r),s&&this._join(e,n,i);else{let s=this._platform.now()+r,l=a+4;o[l]===Bo&&(i=Bo),t=o[a+1];let c=zo(s,o);if(a+6===c)o[a]=s,o[l]=i;else{let r=this._timers[a+5];this._timers.splice(c,0,s,t,e,n,i,r),this._timers.splice(a,6)}0===a&&this._reinstallTimerTimeout()}return t}cancelTimers(){sa++,this._clearTimerTimeout(),this._timers=[],this._cancelAutorun()}hasTimers(){return this._timers.length>0||this._autorun}cancel(t){if(oa++,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:Lo(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=Oo(this.options);if(this.begin(),i)try{return e.apply(t,n)}catch(wN){i(wN)}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=Vo++;if(0===this._timers.length)this._timers.push(s,o,t,e,n,r),this._installTimerTimeout();else{let i=zo(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!==Bo){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){aa++;const e=this._platform.next,n=this.options.flush;n?n(t,e):e(),this._autorun=!0}}ua.Queue=jo,ua.buildPlatform=Po,ua.buildNext=Ro;let da=null;function pa(){return da}const fa=`${Math.random()}${Date.now()}`.replace(".",""),ga=["actions","routerTransitions","render","afterRender","destroy",fa],ma=new ua(ga,{defaultQueue:"actions",onBegin:function(t){da=t},onEnd:function(t,e){da=e,ts(ba)},onErrorTarget:Co,onErrorMethod:"onerror",flush:function(t,e){"render"!==t&&t!==fa||ts(ba),e()}});function ya(...t){return ma.run(...t)}function _a(t,e,...n){return ma.join(t,e,...n)}function va(...t){return(...e)=>_a(...t.concat(e))}function ba(...t){return ma.schedule(...t)}function wa(...t){return ma.later(...t)}function xa(...t){return ma.scheduleOnce("actions",...t)}function Sa(...t){return ma.scheduleOnce(...t)}function Ca(...t){return ma.later(...t,1)}function ka(t){return ma.cancel(t)}function Ea(...t){return ma.debounce(...t)}const Ta=Object.freeze(Object.defineProperty({__proto__:null,_backburner:ma,_cancelTimers:function(){ma.cancelTimers()},_getCurrentRunLoop:pa,_hasScheduledTimers:function(){return ma.hasTimers()},_queues:ga,_rsvpErrorQueue:fa,begin:function(){ma.begin()},bind:va,cancel:ka,debounce:Ea,end:function(){ma.end()},join:_a,later:wa,next:Ca,once:xa,run:ya,schedule:ba,scheduleOnce:Sa,throttle:function(...t){return ma.throttle(...t)}},Symbol.toStringTag,{value:"Module"})),Ra="@warp-drive/core",Pa=globalThis;Pa.__warpDrive_universalCache=Pa.__warpDrive_universalCache??{},Pa[Ra]=Pa[Ra]??{__version:"5.8.1"};const Ia=Pa[Ra],Ma=Ia.__warpDrive_ModuleScopedCaches??{};if(Ia.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function Oa(t,e){return e}function Aa(t){return Ma[`(transient) ${t}`]??null}Ia.__warpDrive_hasOtherCopy=!0;const Fa=new WeakMap;function La(t,e){Fa.set(t,e)}const za=Oa(0,Symbol("#[]"));function ja(t,e){return Aa("signalHooks").createSignal(t,e)}const Da={};function Na(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===Da}const Ua=Oa(0,Symbol("Signals"));function Ba(t){return t[Ua]||function(t){t[Ua]=new Map}(t),t[Ua]}function qa(t,e,n,i){const r={key:n,context:e,signal:ja(e,n),value:Na(i)?i.value.call(e):i,isStale:!1};return t.set(n,r),r}function $a(t,e){return t?.get(e)}function Va(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,i){let r=$a(t,n);return r||(r=qa(t,e,n,i)),s=r.signal,Aa("signalHooks").consumeSignal(s),r;var s}(Ba(this),this,t,e);return n.isStale=!1,n.value},set(n){const i=function(t,e,n,i){let r=$a(t,n);return r||(r=qa(t,e,n,i)),r}(Ba(this),this,t,e);var r;i.value!==n&&(i.value=n,(r=i)&&(r.isStale=!0,function(t){Aa("signalHooks").notifySignal(t)}(r.signal)))}}}function Ga(t,e,n){Object.defineProperty(t,e,Va(e,n))}function Wa(t,e,n){const i=Va(e,n);i.enumerable=!1,Object.defineProperty(t,e,i)}function Ha(t,e,n){const i=n.get;return n.get=function(){const t=Ba(this);let n=t.get(e);return n||(n=function(t,e,n,i){{const r=function(t,e,n){return Aa("signalHooks").createMemo(t,e,n)}(e,n,i);return t.set(n,r),r}}(t,this,e,i.bind(this))),n()},n}const Ka=new WeakMap;function Ya(t){return t instanceof DOMException&&"AbortError"===t.name}class Xa{_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 c=performance.now();n._endTime=c,n._isComplete=!0,n._isStarted=!1}(t,this):(this._isPending=!1,void(this._isComplete=!0)),t=>{this._isPending=!1,this._isStarted=!1,Ya(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()}}Wa(Xa.prototype,"_isPending",!0),Wa(Xa.prototype,"_isStarted",!1),Wa(Xa.prototype,"_isComplete",!1),Wa(Xa.prototype,"_isCancelled",!1),Wa(Xa.prototype,"_isErrored",!1),Wa(Xa.prototype,"_error",null),Wa(Xa.prototype,"_sizeHint",0),Wa(Xa.prototype,"_bytesLoaded",0),Wa(Xa.prototype,"_startTime",0),Wa(Xa.prototype,"_endTime",0),Wa(Xa.prototype,"_lastPacketTime",0);const Za={};function Ja(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 Qa(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)}Ga(Za,"reason",null),Ga(Za,"value",null),Ga(Za,"result",null),Ga(Za,"error",null),Ga(Za,"status","pending"),Ga(Za,"isPending",!0),Ga(Za,"isLoading",!0),Ga(Za,"isSuccess",!1),Ga(Za,"isError",!1),Ga(Za,"request",null),Ga(Za,"response",null),Object.defineProperty(Za,"isCancelled",{get(){return this.isError&&Ya(this.reason)}}),Object.defineProperty(Za,"loadingState",{get(){return this._loadingState||(this._loadingState=new Xa(this._request)),this._loadingState}});const tl=Symbol.dispose||Symbol.for("dispose");class el{_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[tl]=il,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{Qa(this.prototype,"isIdle",[Ha])}get autorefreshTypes(){const{autorefresh:t}=this._args;let e;return e=!0===t?["online","invalid"]:"string"==typeof t?t.split(","):[],new Set(e)}static{Qa(this.prototype,"autorefreshTypes",[Ha])}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&&nl(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&&nl(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{Qa(this.prototype,"errorFeatures",[Ha])}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{Qa(this.prototype,"contentFeatures",[Ha])}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{Qa(this.prototype,"_request",[Ha])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Qa(this.prototype,"request",[Ha])}get reqState(){return function(t){let e=Ka.get(t);return e||(e=function(t){const e=(n=t,Fa.get(n));var n;const i=Object.create(Za);return i._request=t,i.reload=()=>Ja(t.requester,i.request,!0),i.refresh=(e=!1)=>Ja(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=>{La(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=>{La(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),Ka.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function nl(t){return"requestManager"in t}function il(){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}))}Ga(el.prototype,"isOnline",!0),Ga(el.prototype,"isHidden",!1),Ga(el.prototype,"isRefreshing",!1),Ga(el.prototype,"_localRequest",void 0),Ga(el.prototype,"_latestRequest",void 0);const rl={};Ga(rl,"reason",null),Ga(rl,"value",null),Ga(rl,"result",null),Ga(rl,"error",null),Ga(rl,"status","pending"),Ga(rl,"isPending",!0),Ga(rl,"isLoading",!0),Ga(rl,"isSuccess",!1),Ga(rl,"isError",!1);const sl=ge;var ol;ol=function(t){const e=t.wellknown.Array;return{createSignal:(t,n)=>n===e?[fr(t,n),fr(t,"length"),fr(t,"[]")]:fr(t,n),consumeSignal(t){if(Array.isArray(t))return je(t[0]),je(t[1]),void je(t[2]);je(t)},notifySignal(t){if(Array.isArray(t))return sl(t[0]),sl(t[1]),void sl(t[2]);sl(t)},createMemo:(t,e,n)=>{{const i=fr(t,e),r=qe(n);let s;const o=()=>{s=$e(r)};return()=>{const t=Ge(o);return me(i,t),je(t),s}}},willSyncFlushWatchers:()=>!!ma.currentInstance&&!0!==ma._autorun,waitFor:async t=>t}},function(t,e){Ma["(transient) signalHooks"]=e}(0,ol({wellknown:{Array:za}}));const al=hr,ll=Object.freeze(Object.defineProperty({__proto__:null,getOwner:al,setOwner:ur},Symbol.toStringTag,{value:"Module"}));function cl(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const hl=g.EMBER_LOAD_HOOKS||{},ul={};let dl=ul;function pl(t,e){let n=ul[t];(hl[t]??=[]).push(e),n&&e(n)}function fl(t,e){if(ul[t]=e,n&&"function"==typeof CustomEvent){let i=new CustomEvent(t,{detail:e});n.dispatchEvent(i)}hl[t]?.forEach(t=>t(e))}class gl{static _leakTracking;owner;registry;cache;factoryManagerCache;validationCache;isDestroyed;isDestroying;constructor(t,e={}){this.registry=t,this.owner=e.owner||null,this.cache=cl(e.cache||null),this.factoryManagerCache=cl(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&&ml(t,e)){let e=t.cache[i];if(void 0!==e)return e}return function(t,e,n,i){let r=_l(t,e,n);if(void 0!==r){if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!1!==n&&(!0===i||ml(t,e))&&yl(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||!ml(t,e))&&yl(t,e)}(t,n,i))return r.create();if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!n&&ml(t,e)&&!yl(t,e)}(t,n,i)||function(t,e,{instantiate:n,singleton:i}){return!(!1!==n||!1!==i&&ml(t,e)||yl(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,vl(this)}finalizeDestroy(){bl(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(vl(this),bl(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 ur(t,this.owner),t}factoryFor(t){if(this.isDestroyed)throw new Error(`Cannot call \`.factoryFor('${t}')\` after the owner has been destroyed`);return _l(this,this.registry.normalize(t),t)}}function ml(t,e){return!1!==t.registry.getOption(e,"singleton")}function yl(t,e){return!1!==t.registry.getOption(e,"instantiate")}function _l(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 Cl(t,r,n,e);return t.factoryManagerCache[e]=s,s}function vl(t){let e=t.cache,n=Object.keys(e);for(let i of n){let t=e[i];t.destroy&&t.destroy()}}function bl(t){t.cache=cl(null),t.factoryManagerCache=cl(null)}const wl=Symbol("INIT_FACTORY");function xl(t){return t[wl]}function Sl(t,e){t[wl]=e}class Cl{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 ur(n,e.owner),Sl(n,this),this.class.create(n)}}const kl=/^[^:]+:[^:]+$/;class El{_failSet;resolver;fallback;registrations;_normalizeCache;_options;_resolveCache;_typeOptions;constructor(t={}){this.fallback=t.fallback||null,this.resolver=t.resolver||null,this.registrations=cl(t.registrations||null),this._normalizeCache=cl(null),this._resolveCache=cl(null),this._failSet=new Set,this._options=cl(null),this._typeOptions=cl(null)}container(t){return new gl(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=cl(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 kl.test(t)}}const Tl=cl(null),Rl=`${Math.random()}${Date.now()}`.replace(".","");function Pl([t]){let e=Tl[t];if(e)return e;let[n,i]=t.split(":");return Tl[t]=W(`${n}:${i}-${Rl}`)}const Il=Array.prototype.concat;function Ml(t,e,n,i){let r=n[t]||i[t];return e[t]&&(r=r?Il.call(r,e[t]):e[t]),r}function Ol(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?Mr(s):s;if(void 0===o||!0===o)return e;let a=o._getter;if(void 0===a)return e;let l,c=mt(r,a),h=n._setter,u=o._setter;if(l=void 0!==u?void 0!==h?mt(h,u):u:h,c!==r||l!==h){let t=n._dependentKeys||[],e=new hs([...t,{get:c,set:l}]);return e._readOnly=n._readOnly,e._meta=n._meta,e.enumerable=n.enumerable,Rr(e,hs)}return e}function Al(t,e,n,i){if(void 0!==i[t])return e;let r=n[t];return"function"==typeof r?mt(e,r):e}function Fl(t){return t?Array.isArray(t)?t:[t]:[]}function Ll(t,e,n){return Fl(n[t]).concat(Fl(e))}function zl(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]=Al(a,t,i,{})):r[a]=t}return s&&(r._super=at),r}function jl(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 Dl(e,a,n,i,r,s,o)}function Dl(t,e,n,i,r,s,o){let a=Ml("concatenatedProperties",e,i,r),l=Ml("mergedProperties",e,i,r),c=Object.keys(e);for(let h of c){let c=e[h];if(void 0===c)continue;if(-1===s.indexOf(h)){s.push(h);let e=t.peekDescriptors(h);if(void 0===e){if(!Or(c)){let t=i[h]=r[h];"function"==typeof t&&Nl(r,h,t,!1)}}else n[h]=e,o.push(h),e.teardown(r,h,t)}let u="function"==typeof c;if(u){let t=Mr(c);if(void 0!==t){n[h]=Ol(h,c,t,n),i[h]=void 0;continue}}a&&a.indexOf(h)>=0||"concatenatedProperties"===h||"mergedProperties"===h?c=Ll(h,c,i):l&&l.indexOf(h)>-1?c=zl(h,c,i):u&&(c=Al(h,c,i,n)),i[h]=c,n[h]=void 0}}function Nl(t,e,n,i){let r=dt(n);if(void 0===r)return;let{observers:s,listeners:o}=r;if(void 0!==s){let n=i?Wr:Hr;for(let i of s.paths)n(t,i,null,e,s.sync)}if(void 0!==o){let n=i?Dr:Nr;for(let i of o)n(t,i,null,e)}}function Ul(t,e,n=!1){let i=Object.create(null),r=Object.create(null),s=ae(t),o=[],a=[];t._super=at,jl(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&&Nl(t,l,e,!0),_s(t,l,e,-1!==a.indexOf(l),!n)):void 0!==o&&ys(t,l,o,s)}return s.isPrototypeMeta(t)||Jr(t),t}function Bl(t,...e){return Ul(t,e),t}const ql=new WeakSet;class $l{mixins;properties;ownerConstructor;_without;constructor(t,e){ql.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:Sr(n)})}return t}(e),this.mixins=Vl(t),this.ownerConstructor=void 0,this._without=void 0}static create(...t){return _o(),new this(t,void 0)}static mixins(t){let e=oe(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 $l(void 0,this.properties);this.properties=void 0,this.mixins=[t]}else this.mixins||(this.mixins=[]);return this.mixins=this.mixins.concat(Vl(t)),this}apply(t,e=!1){return Ul(t,[this],e)}applyPartial(t){return Ul(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if(ql.has(t))return Gl(t,this);let e=oe(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new $l([this]);return e._without=t,e}keys(){return Wl(this)}toString(){return"(unknown mixin)"}}function Vl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let i=0;iGl(t,e,n))}function Wl(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=>Wl(t,e,n));return e}}const Hl=$l.create({__registry__:null,resolveRegistration(t){return this.__registry__.resolve(t)},register:Kl("register"),unregister:Kl("unregister"),hasRegistration:Kl("has"),registeredOption:Kl("getOption"),registerOptions:Kl("options"),registeredOptions:Kl("getOptions"),registerOptionsForType:Kl("optionsForType"),registeredOptionsForType:Kl("getOptionsForType")});function Kl(t){return function(...e){return this.__registry__[t](...e)}}const Yl=$l.create({__container__:null,ownerInjection(){return this.__container__.ownerInjection()},lookup(t,e){return this.__container__.lookup(t,e)},destroy(){let t=this.__container__;t&&_a(()=>{t.destroy(),ba("destroy",t,"finalizeDestroy")}),this._super()},factoryFor(t){return this.__container__.factoryFor(t)}}),Xl=$l.create({compare:null}),Zl=$l.create({mergedProperties:["actions"],send(t,...e){if(this.actions&&this.actions[t]&&!0!==this.actions[t].apply(this,e))return;let n=Ss(this,"target");n&&n.send(...arguments)}});function Jl(t){let e=Ss(t,"content");return me(gr(t),gr(e)),e}function Ql(t,e,n){let i=sn(t),r=on(t,e,i);if(e in t)return r;{let s=[r,on(t,"content",i)],o=Jl(t);return H(o)&&s.push(fr(o,e,n)),ke(s)}}const tc=$l.create({content:null,init(){this._super(...arguments),nr(this),gr(this),li(this,Ql)},willDestroy(){this.set("content",null),this._super(...arguments)},isTruthy:ps("content",function(){return Boolean(Ss(this,"content"))}),unknownProperty(t){let e=Jl(this);return e?Ss(e,t):void 0},setUnknownProperty(t,e){let n=ae(this);return n.isInitializing()||n.isPrototypeMeta(this)?(ms(this,t,null,e),e):Ls(Jl(this),t,e)}}),ec=$l.create(),nc=$l.create(ec),ic=Object.freeze(Object.defineProperty({__proto__:null,default:nc},Symbol.toStringTag,{value:"Module"})),rc=$l.create({target:null,action:null,actionContext:null,actionContextObject:ps("actionContext",function(){let t=Ss(this,"actionContext");if("string"==typeof t){let e=Ss(this,t);return void 0===e&&(e=Ss(d.lookup,t)),e}return t}),triggerAction(t={}){let{action:e,target:n,actionContext:i}=t;e=e||Ss(this,"action"),n=n||function(t){let e=Ss(t,"target");if(e){if("string"==typeof e){let n=Ss(t,e);return void 0===n&&(n=Ss(d.lookup,e)),n}return e}return t._target?t._target:null}(this),void 0===i&&(i=Ss(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 sc(t){let e=t._promiseCallbacks;return e||(e=t._promiseCallbacks={}),e}const oc={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=sc(this),i=n[t];i||(i=n[t]=[]),-1===i.indexOf(e)&&i.push(e)},off(t,e){let n=sc(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=sc(this)[t];if(i){let t;for(let r=0;r{for(let t=0;t{e===n?vc(t,n):yc(t,n)},e=>bc(t,e))}(t,e):"function"==typeof n?function(t,e,n){ac.async(t=>{let i=!1,r=function(n,r){try{n.call(r,n=>{i||(i=!0,e===n?vc(t,n):yc(t,n))},e=>{i||(i=!0,bc(t,e))})}catch(s){return s}}(n,e,t._label);!i&&r&&(i=!0,bc(t,r))},t)}(t,e,n):vc(t,e)}function yc(t,e){if(t===e)vc(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(wN){return void bc(t,wN)}mc(t,e,n)}else vc(t,e)}function _c(t){t._onError&&t._onError(t._result),xc(t)}function vc(t,e){t._state===pc&&(t._result=e,t._state=fc,0===t._subscribers.length?ac.instrument&&hc("fulfilled",t):ac.async(xc,t))}function bc(t,e){t._state===pc&&(t._state=gc,t._result=e,ac.async(_c,t))}function wc(t,e,n,i){let r=t._subscribers,s=r.length;t._onError=null,r[s]=e,r[s+fc]=n,r[s+gc]=i,0===s&&t._state&&ac.async(xc,t)}function xc(t){let e=t._subscribers,n=t._state;if(ac.instrument&&hc(n===fc?"fulfilled":"rejected",t),0===e.length)return;let i,r,s=t._result;for(let o=0;oSc(r,s,n,o))}return s}class kc{constructor(t,e,n,i){this._instanceConstructor=t,this.promise=new t(dc,i),this._abortOnReject=n,this._isUsingOwnPromise=t===Pc,this._isUsingOwnResolve=t.resolve===uc,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===pc&&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(fc,e,t,n)}_settledAt(t,e,n,i){let r=this.promise;r._state===pc&&(this._abortOnReject&&t===gc?bc(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){wc(t,void 0,t=>this._settledAt(fc,e,t,n),t=>this._settledAt(gc,e,t,n))}}function Ec(t,e,n){this._remaining--,this._result[e]=t===fc?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}const Tc="rsvp_"+Date.now()+"-";let Rc=0,Pc=class t{constructor(e,n){this._id=Rc++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],ac.instrument&&hc("created",this),dc!==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,yc(t,e))},e=>{n||(n=!0,bc(t,e))})}catch(i){bc(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){ac.after(()=>{this._onError&&ac.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 Ic(t,e){return{then:(n,i)=>t.call(e,n,i)}}function Mc(t,e){let n=function(){let n=arguments.length,i=new Array(n+1),r=!1;for(let t=0;tOc(t,e,n,i))}(s,i,t,this):Oc(s,i,t,this)};return n.__proto__=t,n}function Oc(t,e,n,i){try{n.apply(i,e)}catch(wN){bc(t,wN)}return t}function Ac(t,e){return Pc.all(t,e)}Pc.cast=uc,Pc.all=function(t,e){return Array.isArray(t)?new kc(this,t,!0,e).promise:this.reject(new TypeError("Promise.all must be called with an array"),e)},Pc.race=function(t,e){let n=this,i=new n(dc,e);if(!Array.isArray(t))return bc(i,new TypeError("Promise.race must be called with an array")),i;for(let r=0;i._state===pc&&ryc(i,t),t=>bc(i,t));return i},Pc.resolve=uc,Pc.reject=function(t,e){let n=new this(dc,e);return bc(n,t),n},Pc.prototype._guidKey=Tc,Pc.prototype.then=Cc;class Fc extends kc{constructor(t,e,n){super(t,e,!1,n)}}function Lc(t,e){return Array.isArray(t)?new Fc(Pc,t,e).promise:Pc.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function zc(t,e){return Pc.race(t,e)}Fc.prototype._setResultAt=Ec;class jc extends kc{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===pc&&o{throw t}),t}function qc(t){let e={resolve:void 0,reject:void 0};return e.promise=new Pc((t,n)=>{e.resolve=t,e.reject=n},t),e}Nc.prototype._setResultAt=Ec;class $c extends kc{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(wN){this._settledAt(gc,e,wN,!1)}else this._remaining--,this._result[e]=n}}function Vc(t,e,n){return"function"!=typeof e?Pc.reject(new TypeError("map expects a function as a second argument"),n):Pc.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new $c(Pc,t,e,n).promise})}function Gc(t,e){return Pc.resolve(t,e)}function Wc(t,e){return Pc.reject(t,e)}const Hc={};class Kc extends $c{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==Hc);vc(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(wN){i=!1,this._settledAt(gc,e,wN,!1)}i&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=Hc)}}function Yc(t,e,n){return"function"!=typeof e?Pc.reject(new TypeError("filter expects function as a second argument"),n):Pc.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new Kc(Pc,t,e,n).promise})}let Xc,Zc=0;function Jc(t,e){sh[Zc]=t,sh[Zc+1]=e,Zc+=2,2===Zc&&ah()}const Qc="undefined"!=typeof window?window:void 0,th=Qc||{},eh=th.MutationObserver||th.WebKitMutationObserver,nh="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),ih="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function rh(){return()=>setTimeout(oh,1)}const sh=new Array(1e3);function oh(){for(let t=0;tt(oh)}():eh?function(){let t=0,e=new eh(oh),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():ih?function(){let t=new MessageChannel;return t.port1.onmessage=oh,()=>t.port2.postMessage(0)}():void 0===Qc&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Xc=t.runOnLoop||t.runOnContext,void 0!==Xc?function(){Xc(oh)}:rh()}catch(t){return rh()}}():rh(),ac.async=Jc,ac.after=t=>setTimeout(t,0);const lh=Gc,ch=(t,e)=>ac.async(t,e);function hh(){ac.on(...arguments)}function uh(){ac.off(...arguments)}if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){let t=window.__PROMISE_INSTRUMENTATION__;lc("instrument",!0);for(let e in t)t.hasOwnProperty(e)&&hh(e,t[e])}const dh={asap:Jc,cast:lh,Promise:Pc,EventTarget:oc,all:Ac,allSettled:Lc,race:zc,hash:Dc,hashSettled:Uc,rethrow:Bc,defer:qc,denodeify:Mc,configure:lc,on:hh,off:uh,resolve:Gc,reject:Wc,map:Vc,async:ch,filter:Yc},ph=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:oc,Promise:Pc,all:Ac,allSettled:Lc,asap:Jc,async:ch,cast:lh,configure:lc,default:dh,defer:qc,denodeify:Mc,filter:Yc,hash:Dc,hashSettled:Uc,map:Vc,off:uh,on:hh,race:zc,reject:Wc,resolve:Gc,rethrow:Bc},Symbol.toStringTag,{value:"Module"}));function fh(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}lc("async",(t,e)=>{ma.schedule("actions",null,t,e)}),lc("after",t=>{ma.schedule(fa,null,t)}),hh("error",fh);const{isArray:gh}=Array;function mh(t){return null==t?[]:gh(t)?t:[t]}function yh(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const _h=$l.prototype.reopen,vh=new WeakSet,bh=new WeakMap,wh=new Set;function xh(t){wh.has(t)||t.destroy()}function Sh(t,e){let n=ae(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=Ir(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?mh(e).concat(s):mh(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):yh(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()),ae(e).setInitializing()}reopen(...t){return Ul(this,t),this}init(t){}get isDestroyed(){return Xt(this)}set isDestroyed(t){}get isDestroying(){return Yt(this)}set isDestroying(t){}destroy(){wh.add(this);try{Ht(this)}finally{wh.delete(this)}return this}willDestroy(){}toString(){let t="object"==typeof this&&null!==this&&"function"==typeof this.toStringExtension?`:${this.toStringExtension()}`:"";return`<${xl(this)||"(unknown)"}:${et(this)}${t}>`}static extend(...t){let e=class extends(this){};return _h.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(hr(n)),Sl(e,xl(n))):e=new this,t.length<=1?Sh(e,n):Sh(e,kh.apply(this,t)),e}static reopen(...t){return this.willReopen(),_h.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;vh.has(t)&&(vh.delete(t),bh.has(this)&&bh.set(this,$l.create(this.PrototypeMixin)))}static reopenClass(...t){return Ul(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 Ir(this.proto(),t)._meta||{}}static eachComputedProperty(t,e=this){this.proto();let n={};ae(this.prototype).forEachDescriptors((i,r)=>{if(r.enumerable){let s=r._meta||n;t.call(e,i,s)}})}static get PrototypeMixin(){let t=bh.get(this);return void 0===t&&(t=$l.create(),t.ownerConstructor=this,bh.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(!vh.has(t)){vh.add(t);let e=this.superclass;e&&e.proto(),bh.has(this)&&this.PrototypeMixin.apply(t)}return t}static toString(){return`<${xl(this)||"(unknown)"}:constructor>`}static isClass=!0;static isMethod=!1;static _onLookup;static _lazyInjections}function kh(...t){let e={};for(let n of t){let t=Object.keys(n);for(let i=0,r=t.length;is.push(t));return pt(e,{paths:s,sync:i}),e}Ar(Oh);const Fh=Object.freeze(Object.defineProperty({__proto__:null,action:Oh,computed:ps,default:Ph,defineProperty:ms,get:Ss,getProperties:Js,notifyPropertyChange:ss,observer:Ah,set:Ls,setProperties:Qs,trySet:js},Symbol.toStringTag,{value:"Module"}));function Lh(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 zh(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 jh(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 Dh(t){return""!==t.tagName&&t.elementId?t.elementId:et(t)}const Nh=new WeakMap,Uh=new WeakMap;function Bh(t){return Nh.get(t)||null}function qh(t){return Uh.get(t)||null}function $h(t,e){Nh.set(t,e)}function Vh(t,e){Uh.set(t,e)}function Gh(t){Nh.delete(t)}function Wh(t){Uh.delete(t)}const Hh=new WeakMap;function Kh(t){return function(t,e){let n=[],i=Hh.get(t);return void 0!==i&&i.forEach(t=>{let i=e[t];!i||i.isDestroying||i.isDestroyed||n.push(i)}),n}(t,hr(t).lookup("-view-registry:main"))}function Yh(t,e){let n=Hh.get(t);void 0===n&&(n=function(t){let e=new Set;return Hh.set(t,e),e}(t)),n.add(Dh(e))}function Xh(t){return t.renderer.getBounds(t)}function Zh(t){let e=Xh(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Jh(t){return Zh(t).getClientRects()}function Qh(t){return Zh(t).getBoundingClientRect()}const tu="ember-application";class eu extends Ph{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={...Ss(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&&Ls(this,"rootElement",e);let r=Ss(this,"rootElement"),s="string"!=typeof r?r:document.querySelector(r);s.classList.add(tu),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=Bh(t),r=!0;return i&&(r=i.handleEvent(n,e)),r},r=this._eventHandlers[e]=t=>{let e=t.target;do{if(Bh(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(tu),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const nu=$l.create({on(t,e,n){return Dr(this,t,e,n),this},one(t,e,n){return Dr(this,t,e,n,!0),this},trigger(t,...e){Ur(this,t,e)},off(t,e,n){return Nr(this,t,e,n),this},has(t){return Br(this,t)}}),iu=Object.freeze(Object.defineProperty({__proto__:null,default:nu,on:qr},Symbol.toStringTag,{value:"Module"}));let ru=class extends Ph{},su=[],ou={};const au=(()=>{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 lu(t,e,n,i){let r,s,o;if(arguments.length<=3&&function(t){return"function"==typeof t}(e)?(s=e,o=n):(r=e,s=n,o=i),0===su.length)return s.call(o);let a=r||{},l=uu(t,()=>a);return l===hu?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)}function cu(t,e,n){return n()}function hu(){}function uu(t,e,n){if(0===su.length)return hu;let i=ou[t];if(i||(i=function(t){let e=[];for(let n of su)n.regex.test(t)&&e.push(n.object);return ou[t]=e,e}(t)),0===i.length)return hu;let r,s=e(n),o=g.STRUCTURED_PROFILE;o&&(r=`${t}: ${s.object}`,console.time(r));let a=[],l=au();for(let h of i)a.push(h.before(t,l,s));const c=i;return function(){let e=au();for(let n=0;n!0,rerender(){},destroy(){}}),yu=Object.freeze({...mu}),_u=Object.freeze({...mu,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||cu(0,0,()=>_a(t,t.trigger,e,n))}),vu=Object.freeze({..._u,enter(t){t.renderer.register(t)}}),bu=Object.freeze({...mu,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")}}),wu=Object.freeze({preRender:yu,inDOM:vu,hasElement:_u,destroying:bu});var xu=Object.defineProperty;((t,e)=>{for(var n in e)xu(t,n,{get:e[n],enumerable:!0})})({},{c:()=>Pu,f:()=>Cu,g:()=>ku,i:()=>Ru,m:()=>Eu,n:()=>Tu,p:()=>Iu});var Su=new WeakMap;function Cu(t,e,n,i){return ku(t.prototype,e,n,i)}function ku(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=Su.get(t);i||(i=new Map,Su.set(t,i)),i.set(e,n)}(t,e,r)}function Eu({prototype:t},e,n){return Tu(t,e,n)}function Tu(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 Ru(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Su.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 Pu(t,e){return e.reduce((t,e)=>e(t)||t,t)}function Iu(t,e){for(let[n,i,r]of e)"field"===n?Mu(t,i,r):Tu(t,i,r);return t}function Mu(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 Ou extends(ru.extend(nu,Zl)){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{ku(this.prototype,"renderer",[Is("renderer","-dom")])}#l=void Ru(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}Ou.prototype._states=wu;const Au=$l.create({send(t,...e){let n=this.actions&&this.actions[t];if(n&&!0!==n.apply(this,e))return;let i=Ss(this,"target");i&&i.send(...arguments)}}),Fu={"[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:Lu}=Object.prototype;function zu(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=Fu[Lu.call(t)]||"object";return"function"===e?Ch.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof Ch?e="instance":t instanceof Date&&(e="date")),e}const ju={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 Du(t,e){return Math.sign(t-e)}function Nu(t,e){if(t===e)return 0;let n=zu(t),i=zu(e);if("instance"===n&&Uu(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===i&&Uu(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let r=Du(ju[n],ju[i]);if(0!==r)return r;switch(n){case"boolean":return Du(Number(t),Number(e));case"number":return Du(t,e);case"string":return Du(t.localeCompare(e),0);case"array":{let n=t.length,i=e.length,r=Math.min(n,i);for(let s=0;st;function $u(t,e=qu){let n=sd(),i=new Set,r="function"==typeof e?e:t=>Ss(t,e);return t.forEach(t=>{let e=r(t);i.has(e)||(i.add(e),n.push(t))}),n}function Vu(...t){let e=2===t.length,[n,i]=t;return e?t=>i===Ss(t,n):t=>Boolean(Ss(t,n))}function Gu(t,e,n){let i=t.length;for(let r=n;r!i(t,e,n),0)}function Yu(t,e,n=0,i){let r=t.length;return n<0&&(n+=r),Gu(t,i&&e!=e?t=>t!=t:t=>t===e,n)}function Xu(t,e,n){return Ws(t,e,n??1,Bu),t}function Zu(t,e,n){return Ws(t,e,0,[n]),n}function Ju(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||ed.detect(t))return!0;let e=zu(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function Qu(t){let e=ps(t);return e.enumerable=!1,e}function td(t){return this.map(e=>Ss(e,t))}const ed=$l.create(ec,{init(){this._super(...arguments),ir.add(this)},objectsAt(t){return t.map(t=>dr(this,t))},"[]":Qu({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:Qu(function(){return dr(this,0)}).readOnly(),lastObject:Qu(function(){return dr(this,this.length-1)}).readOnly(),slice(t=0,e){let n,i=sd(),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(dr(this,i)===t)return i;return-1},forEach(t,e=null){let n=this.length;for(let i=0;iLs(n,t,e))},map(t,e=null){let n=sd();return this.forEach((i,r,s)=>n[r]=t.call(e,i,r,s)),n},mapBy:td,filter(t,e=null){let n=sd();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(Vu(...arguments))},rejectBy(){return this.reject(Vu(...arguments))},find(t,e=null){return Wu(this,t,e)},findBy(){return Wu(this,Vu(...arguments))},every(t,e=null){return Ku(this,t,e)},isEvery(){return Ku(this,Vu(...arguments))},any(t,e=null){return Hu(this,t,e)},isAny(){return Hu(this,Vu(...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=sd();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!==Yu(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)}}),nd=$l.create(ed,nc,{clear(){let t=this.length;return 0===t||this.replace(0,t,Bu),this},insertAt(t,e){return Zu(this,t,e),this},removeAt(t,e){return Xu(this,t,e)},pushObject(t){return Zu(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=dr(this,t-1);return this.removeAt(t-1,1),e},shiftObject(){if(0===this.length)return null;let t=dr(this,0);return this.removeAt(0),t},unshiftObject(t){return Zu(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;)dr(this,e)===t&&this.removeAt(e);return this},removeObjects(t){os();for(let e=t.length-1;e>=0;e--)this.removeObject(t[e]);return as(),this},addObject(t){return this.includes(t)||this.pushObject(t),this},addObjects(t){return os(),t.forEach(t=>this.addObject(t)),as(),this}});let id=$l.create(nd,Th,{objectAt(t){return this[t]},replace(t,e,n=Bu){return Ks(this,t,e,n),this}});const rd=["length"];let sd;id.keys().forEach(t=>{Array.prototype[t]&&rd.push(t)}),id=id.without(...rd),sd=function(t){return rr(t)?t:id.apply(t??[])};const od=Object.freeze(Object.defineProperty({__proto__:null,get A(){return sd},MutableArray:nd,get NativeArray(){return id},default:ed,isArray:Ju,makeArray:mh,removeAt:Xu,uniqBy:$u},Symbol.toStringTag,{value:"Module"})),ad=kt("MODEL"),ld=$l.create(Zl,{isController:!0,concatenatedProperties:["queryParams"],target:null,store:null,init(){this._super(...arguments);let t=hr(this);t&&(this.namespace=t.lookup("application:main"),this.target=t.lookup("router:main"))},model:ps({get(){return this[ad]},set(t,e){return this[ad]=e}}),queryParams:null,_qpDelegate:null,_qpChanged(t,e){let n=e.indexOf(".[]"),i=-1===n?e:e.slice(0,n);(0,t._qpDelegate)(i,Ss(t,i))}});class cd extends(ru.extend(ld)){}function hd(...t){return Is("controller",...t)}const ud=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:ld,default:cd,inject:hd},Symbol.toStringTag,{value:"Module"})),dd=Symbol("ENGINE_PARENT");function pd(t){return t[dd]}class fd extends(Ph.extend(Hl,Yl)){static setupRegistry(t,e){}[dd];_booted=!1;init(t){super.init(t),et(this),this.base??=this.application;let e=this.__registry__=new El({fallback:this.base.__registry__});this.__container__=e.container({owner:this}),this._booted=!1}_bootPromise=null;boot(t){return this._bootPromise||(this._bootPromise=new ph.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[dd]=this,i}cloneParentDependencies(){const t=pd(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",Pl`-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 gd=function(t,e,n){let{get:i}=n;return void 0!==i&&(n.get=function(){let t,n=on(this,e),r=Ge(()=>{t=i.call(this)});return me(n,r),je(r),t}),n};function md(...t){if(xr(t)){let[e,n,i]=t;return gd(0,n,i)}{const e=t[0];let n=function(t,n){return gd(0,n,e)};return Ar(n),n}}Ar(md);var yd=Object.create;function _d(){var t=yd(null);return t.__=void 0,delete t.__,t}var vd=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};vd.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 bd=function(t){this.routes=_d(),this.children=_d(),this.target=t};function wd(t,e,n){return function(i,r){var s=t+i;if(!r)return new vd(s,e,n);r(wd(s,e,n))}}function xd(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]?Vd(r[1]):""),a?n[s].push(l):n[s]=l}return n},Gd.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;Gd.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Cd(t):(t=decodeURI(t),l=decodeURI(l));var c=t.length;c>1&&"/"===t.charAt(c-1)&&(t=t.substr(0,c-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=Kd.call(t,0,i-1),[e,n]}return[t,null]}function Jd(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)},rp("Handle Abort"))}else this.promise=Pc.resolve(this[sp]),this[op]={}}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 cp(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||(Qd(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[lp]=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[sp].routeInfos.slice(0,this.resolveIndex+1),t,e,n)}followRedirects(){return this.promise.catch(t=>this[lp]?this[lp].followRedirects():Pc.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){Qd(this.router,this.sequence,t)}}function hp(t){return Qd(t.router,t.sequence,"detected abort."),Wd()}function up(t){return"object"==typeof t&&t instanceof cp&&t.isTransition}const dp=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 pp(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 fp(t,e){pp(t,e);let n=`controller:${e}`;return t.lookup(n)}const gp=/\./g;function mp(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 yp(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=Ss(this,"queryParams");return Ss(e,t.urlKey)||Ss(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=Ss(this,"_qp").states.inactive,this.resetController(n,t,e)}enter(t){this[Cp]=void 0,this.activate(t),this.trigger("activate",t)}deactivate(t){}activate(t){}intermediateTransitionTo(...t){let[e,...n]=function(t,e){let n,i=hr(t),r=i.mountPoint;if(i.routable&&"string"==typeof e[0]){if(n=e[0],wp(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=Ss(this,"_qp");if(!this.controller){let t=r.propertyNames;!function(t,e){e.forEach(e=>{if(void 0===Ir(t,e)){let n=_t(t,e);null===n||"function"!=typeof n.get&&"function"!=typeof n.set||ms(t,e,md({get:n.get,set:n.set}))}Wr(t,`${e}.[]`,t,t._qpChanged,!1)})}(i,t),this.controller=i}let s=r.states;if(i._qpDelegate=s.allowOverrides,e){yp(this._router,e[sp].routeInfos);let t=this._bucketCache,n=e[op];r.propertyNames.forEach(e=>{let s=r.map[e];s.values=n;let o=vp(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);Ls(i,e,a)});let s=Rp(this,e[sp]);Qs(i,s)}this.setupController(i,t,e),this._environment.options.shouldRender&&this[Sp](),ts(!1)}_qpChanged(t,e,n){if(!n)return;let i=this._bucketCache,r=vp(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=Ss(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[sp].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&&Ls(t,"model",e)}controllerFor(t,e=!1){let n=hr(this),i=n.lookup(`route:${t}`);return i&&i.controllerName&&(t=i.controllerName),n.lookup(`controller:${t}`)}generateController(t){return fp(hr(this),t)}modelFor(t){let e,n=hr(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}[Cp]=void 0;[Sp](){this[Cp]=function(t){let e,n=hr(t),i=t.routeName,r=n.lookup(`controller:${t.controllerName||i}`),s=t.currentModel,o=n.lookup(`template:${t.templateName||i}`);return e=o?zi(o)?o:o(n):t._topLevelViewTemplate(n),{owner:n,name:i,controller:r,model:s,template:e}}(this),xa(this._router,"_setOutlets")}willDestroy(){this.teardownViews()}teardownViews(){this[Cp]&&(this[Cp]=void 0,xa(this._router,"_setOutlets"))}buildRouteInfoMetadata(){}_paramsFor(t,e){return void 0!==this._router._routerMicrolib.activeTransition?this.paramsFor(t):e}get _store(){const t=hr(this);return this.routeName,{find(e,n){let i=t.factoryFor(`model:${e}`);if(i)return i=i.class,i.find(n)}}}static{Tu(this.prototype,"_store",[ps])}get _qp(){let t={},e=this.controllerName||this.routeName,n=hr(this),i=n.lookup(`controller:${e}`),r=Ss(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)bp(n,e);return e}(Ss(i,"queryParams")||[]),r):s&&(i=fp(n,e),t=r);let o=[],a={},l=[];for(let c in t){if(!Object.prototype.hasOwnProperty.call(t,c))continue;if("unknownProperty"===c||"_super"===c)continue;let n,r=t[c],s=r.scope||"model";"controller"===s&&(n=[]);let h=r.as||this.serializeQueryParamKey(c),u=Ss(i,c);u=Pp(u);let d=r.type||zu(u),p=this.serializeQueryParam(u,h,d),f=`${e}:${c}`,g={undecoratedDefaultValue:Ss(i,c),defaultValue:u,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:h,prop:c,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[c]=a[h]=a[f]=g,o.push(g),l.push(c)}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{Tu(this.prototype,"_qp",[ps])}}function Ep(t){return t[Cp]}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 Rp(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=Ss(t,"_qp").qps;for(let a of o){let t=a.prop in r;s[a.prop]=t?r[a.prop]:Pp(a.defaultValue)}return s}function Pp(t){return Array.isArray(t)?sd(t.slice()):t}function Ip(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const Mp=kp.prototype.serialize;kp.reopen({mergedProperties:["queryParams"],queryParams:{},templateName:null,controllerName:null,send(...t){if(this._router&&this._router._routerMicrolib||!b())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=Ss(this,"_qp").map,r=Object.keys(t).concat(Object.keys(n));for(let s of r){let t=i[s];if(t&&Ss(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[sp].routeInfos,s=this._router,o=s._queryParamsFor(r),a=s._qpUpdates,l=!1;yp(s,r);for(let c of o.qps){let r,s,o=c.route,h=o.controller,u=c.urlKey in t&&c.urlKey;if(a.has(c.urlKey)?(r=Ss(h,c.prop),s=o.serializeQueryParam(r,c.urlKey,c.type)):u?(s=t[u],void 0!==s&&(r=o.deserializeQueryParam(s,c.urlKey,c.type))):(s=c.serializedDefaultValue,r=Pp(c.defaultValue)),h._qpDelegate=Ss(o,"_qp").states.inactive,s!==c.serializedValue){if(n.queryParamsOnly&&!1!==i){let t=Ss(o._optionsForQueryParam(c),"replace");t?i=!0:!1===t&&(i=!1)}Ls(h,c.prop,r),l=!0}c.serializedValue=s,c.serializedDefaultValue===s||e.push({value:s,visible:!0,key:u||c.urlKey})}!0===l&&ts(!1),i&&n.method("replace"),o.qps.forEach(t=>{let e=Ss(t.route,"_qp");t.route.controller._qpDelegate=Ss(e,"states.active")}),s._qpUpdates.clear()}}});class Op{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 Ap=0;function Fp(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(Fp(e)?(i={},r=e):Fp(n)?(i=e,r=n):i=e||{},this.enableLoadingSubstates&&(jp(this,`${t}_loading`,{resetNamespace:i.resetNamespace}),jp(this,`${t}_error`,{resetNamespace:i.resetNamespace,path:s})),r){let e=zp(this,t,i.resetNamespace),n=new Lp(e,this.options);jp(n,"loading"),jp(n,"error",{path:s}),r.call(n),jp(this,t,i,n.generate())}else jp(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),xp(r,i.queryParams)}return!0}}let Np=new WeakMap;function Up(t,e={},n={includeAttributes:!1,localizeMapUpdates:!1}){const i=new WeakMap;return t.map((r,s)=>{let{name:o,params:a,paramNames:l,context:c,route:h}=r,u=r;if(Np.has(u)&&n.includeAttributes){let t=Np.get(u);t=function(t,e){let n={get metadata(){return qp(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(h,t);let e=Bp(t,c);return i.set(u,t),n.localizeMapUpdates||Np.set(u,e),e}const d=n.localizeMapUpdates?i:Np;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 qp(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=Bp(p,c)),i.set(r,p),n.localizeMapUpdates||Np.set(r,p),p})}function Bp(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 qp(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class $p{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 Pc.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return Pc.resolve(this.routePromise).then(e=>(Hd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>Hd(t)).then(()=>this.getModel(t)).then(e=>(Hd(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[op]=t[op]||{},t[op][this.name]=i);let r=e===this.context;!("context"in this)&&r||(n=e);let s=Np.get(this),o=new Vp(this.router,this.name,this.paramNames,i,this.route,n);return void 0!==s&&Np.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)),up(e)&&(e=null),Pc.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=up(r=n)?null:r,Pc.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=Pc.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 Vp extends $p{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),Pc.resolve(this)}}class Gp extends $p{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[ap]&&(e={},Xd(e,this.params),e.queryParams=t[ap]);let n,i=this.route;return i.deserialize?n=i.deserialize(e,t):i.model&&(n=i.model(e,t)),n&&up(n)&&(n=void 0),Pc.resolve(n)}}class Wp extends $p{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(tp(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 Hp{constructor(t,e={}){this.router=t,this.data=e}}function Kp(t,e,n){let i=t.routeInfos,r=e.resolveIndex>=i.length?i.length-1:e.resolveIndex,s=e.isAborted;throw new Jp(n,t.routeInfos[r].route,s,t)}function Yp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],i=Xp.bind(null,t,e);return n.resolve(e).then(i,null,t.promiseLabel("Proceed"))}function Xp(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 Hd(e),Yp(t,e)}class Zp{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return ep(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),rp("'"+e+"': "+t)}resolve(t){let e=this.params;ep(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=Yp.bind(null,this,t),i=Kp.bind(null,this,t);return Pc.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(i,this.promiseLabel("Handle error")).then(()=>this)}}class Jp{constructor(t,e,n,i){this.error=t,this.route=e,this.wasAborted=n,this.state=i}}class Qp extends Hp{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 Zp,l=this.contexts.slice(0),c=e.length;if(this.pivotHandler)for(s=0,o=e.length;s=0;--s){let o=e[s],h=o.handler,u=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=c?this.createParamHandlerInfo(h,o.names,l,u):this.getHandlerInfoForDynamicSegment(h,o.names,l,u,n,s):this.createParamHandlerInfo(h,o.names,l,u),r){d=d.becomeResolved(null,d.context);let t=u&&u.context;o.names.length>0&&void 0!==u.context&&d.context===t&&(d.params=u&&u.params),d.context=t}let p=u;(s>=c||d.shouldSupersede(u))&&(c=Math.min(s,c),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,c),Xd(a.queryParams,this.queryParams||{}),i&&t.queryParams&&Xd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,i=t.length;n0){if(o=n[n.length-1],tp(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 Wp(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],c=e[s];tp(l)?r[c]=""+n.pop():a.hasOwnProperty(c)?r[c]=a[c]:o.push(c)}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 Gp(this.router,t,e,r)}}class tf extends Hp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,i=new Zp,r=this.router.recognizer.recognize(this.url);if(!r)throw new dp(this.url);let s=!1,o=this.url;function a(t){if(t&&t.inaccessibleByURL)throw new dp(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 cp(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(i.routeInfos,i.queryParams,t),t[ap]=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,rp("Transition complete")),t}}transitionByIntent(t,e){try{return this.getTransitionByIntent(t,e)}catch(n){return new cp(this,t,void 0,n,void 0)}}recognize(t){let e=new tf(this,t),n=this.generateNewState(e);if(null===n)return n;let i=Up(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return i[i.length-1]}recognizeAndLoad(t){let e=new tf(this,t),n=this.generateNewState(e);if(null===n)return Pc.reject(`URL ${t} was not recognized`);let i=new cp(this,e,n,void 0);return i.then(()=>{let t=Up(n.routeInfos,i[ap],{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[sp]:this.state,s=t.applyToState(r,e),o=np(r.queryParams,s.queryParams);if(nf(s.routeInfos,r.routeInfos)){if(o){let t=this.queryParamsTransition(o,i,r,s);return t.queryParamsOnly=!0,t}return this.activeTransition||new cp(this,void 0,void 0)}if(e){let t=new cp(this,void 0,s);return t.isIntermediate=!0,this.toReadOnlyInfos(t,s),this.setupContexts(s,t),this.routeWillChange(t),this.activeTransition}return n=new cp(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,rp("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){Qd(this,"Updating query params");let{routeInfos:t}=this.state;i=new Qp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(Qd(this,"Attempting URL transition to "+t),i=new tf(this,t)):(Qd(this,"Attempting transition to "+t),i=new Qp(this,t,void 0,e,s));return this.transitionByIntent(i,n)}finalizeTransition(t,e){try{Qd(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,Pc.reject(hp(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),Qd(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[sp].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];Xd(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,c="replace"===n&&t.isCausedByAbortingReplaceTransition;o||a||l||c?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=Up(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=Up(e,Object.assign({},t[ap]),{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),Ls(e,"currentURL",n)})}didTransition(t){e.didTransition(t)}willTransition(t,n){e.willTransition(t,n)}triggerEvent(t,n,i,r){return pf.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),xa(()=>{e.trigger("routeDidChange",t),e._routerService.trigger("routeDidChange",t)})}transitionDidError(t,n){return t.wasAborted||n.isAborted?hp(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?xa(()=>{t.replaceURL(n),Ls(e,"currentURL",n)}):this.updateURL(n)}},s=this.constructor.dslCallbacks||[sf],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=Ss(al(this),"application.__registry__.resolver.moduleBasedResolver");return Boolean(t)}startRouting(){if(this.setupRouter()){let t=Ss(this,"initialURL");void 0===t&&(t=Ss(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=Ss(this,"location");return!Ss(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=Ep(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=al(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 mf(n,this),n}transitionTo(...t){if(wp(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=mp(t);return this._doTransition(e,n,i)}intermediateTransitionTo(t,...e){this._routerMicrolib.intermediateTransitionTo(t,...e),gf(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)ya(n[t],"destroy")}}_activeQPChanged(t,e){this._queuedQPChanges[t]=e,xa(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=al(this);"string"==typeof t&&(t=Ls(this,"location",n.lookup(`location:${t}`))),null!==t&&"object"==typeof t&&(e&&Ls(t,"rootURL",e),"function"==typeof t.initState&&t.initState())}_serializeQueryParams(t,e){yf(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,zu(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){yf(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?sd(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[sp].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 mf(o,this),o}_processActiveTransitionQueryParams(t,e,n,i){if(!this._routerMicrolib.activeTransition)return;let r={},s=this._qpUpdates,o=Tp(this,this._routerMicrolib.activeTransition[sp]);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=ff(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&&Ss(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=ff(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 cf={willResolveModel(t,e,n){this._scheduleLoadingEvent(e,n)},error(t,e,n){let i=this,r=t[t.length-1];lf(t,(t,n)=>{if(n!==r){let n=uf(t,"error");if(n)return i._markErrorAsHandled(e),i.intermediateTransitionTo(n,e),!1}let s=hf(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];lf(t,(t,r)=>{if(r!==i){let e=uf(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=hf(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function hf(t,e){let n=al(t),{routeName:i,fullRouteName:r,_router:s}=t,o=`${r}_${e}`;return df(n,s,`${i}_${e}`,o)?o:""}function uf(t,e){let n=al(t),{routeName:i,fullRouteName:r,_router:s}=t,o="application"===r?e:`${r}.${e}`;return df(n,s,"application"===i?e:`${i}.${e}`,o)?o:""}function df(t,e,n,i){let r=e.hasRoute(i),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return r&&s}function pf(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 c=t.length-1;c>=0;c--)if(r=t[c],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=cf[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 ff(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 gf(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=af._routePath(e),i=e[e.length-1].name,r=t.location.getURL();Ls(t,"currentPath",n),Ls(t,"currentRouteName",i),Ls(t,"currentURL",r)}function mf(t,e){let n=new Dp(e,e._routerMicrolib,t[sp]);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 yf(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 _f(t){return void 0!==t.hash?t.hash.substring(0):""}af.reopen({didTransition:function(){gf(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState)},willTransition:function(){},rootURL:"/",location:"hash",url:ps(function(){let t=Ss(this,"location");if("string"!=typeof t)return t.getURL()})});class vf extends Ph{_hashchangeHandler;_location;init(){this.location=this._location??window.location,this._hashchangeHandler=void 0}getHash(){return _f(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=va(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 bf=!1;function wf(){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 xf extends Ph{history;_previousURL;_popstateHandler;rootURL="/";getHash(){return _f(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:wf()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:wf()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(bf||(bf=!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 Sf extends Ph{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 Cf(t){return null==t}function kf(t){if(null==t)return!0;if(!xs(t)&&"number"==typeof t.size)return!t.size;if("object"==typeof t){let e=Ss(t,"size");if("number"==typeof e)return!e;let n=Ss(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}function Ef(t){return Ds(t).readOnly()}Sf.reopen({path:"",rootURL:"/"});const Tf=/[ _]/g,Rf=new sr(1e3,t=>{return(e=t,Ff.get(e)).replace(Tf,"-");var e}),Pf=/^(-|_)+(.)?/,If=/(.)(-|_|\.|\s)+(.)?/g,Mf=/(^|\/|\.)([a-z])/g,Of=new sr(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())}),Af=/([a-z\d])([A-Z])/g,Ff=new sr(1e3,t=>t.replace(Af,"$1_$2").toLowerCase());function Lf(t){return Rf.get(t)}function zf(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let jf=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??or);function Df(t){return function(t,e=jf){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function Nf(t){return{options:t,test:!zf(t),isEnabled:zf(t)||Df(t),isRemoved:Df(t)}}const Uf={DEPRECATE_IMPORT_EMBER:t=>Nf({id:`deprecate-import-${Lf(t).toLowerCase()}-from-ember`,for:"ember-source",since:{available:"5.10.0",enabled:"6.5.0"},until:"7.0.0",url:`https://deprecations.emberjs.com/id/import-${Lf(t).toLowerCase()}-from-ember`}),DEPRECATE_IMPORT_INJECT:Nf({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:Nf({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 Bf(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: ${t}. Please see ${n.url} for more details.`)}function qf(...t){return Is("service",...t)}class $f extends ru{static isServiceFactory=!0}const Vf=Object.freeze(Object.defineProperty({__proto__:null,default:$f,inject:function(...t){return Bf("Importing `inject` from `@ember/service` is deprecated. Please import `service` instead.",Uf.DEPRECATE_IMPORT_INJECT),Is("service",...t)},service:qf},Symbol.toStringTag,{value:"Module"})),Gf=Symbol("ROUTER");function Wf(t,e){return"/"===e?t:t.substring(e.length)}class Hf extends($f.extend(nu)){[Gf];get _router(){let t=this[Gf];if(void 0!==t)return t;let e=hr(this).lookup("router:main");return this[Gf]=e}willDestroy(){super.willDestroy(),this[Gf]=void 0}transitionTo(...t){if(wp(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=mp(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}=mp(t);this._router.setupRouter();let r=this._router._routerMicrolib;if(je(on(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),xp(i,s)}return!0}recognize(t){this._router.setupRouter();let e=Wf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=Wf(t,this.rootURL);return this._router._routerMicrolib.recognizeAndLoad(e)}refresh(t){if(!t)return this._router._routerMicrolib.refresh();let e=hr(this).lookup(`route:${t}`);return this._router._routerMicrolib.refresh(e)}static{ku(this.prototype,"currentRouteName",[Ef("_router.currentRouteName")])}#c=void Ru(this,"currentRouteName");static{ku(this.prototype,"currentURL",[Ef("_router.currentURL")])}#h=void Ru(this,"currentURL");static{ku(this.prototype,"location",[Ef("_router.location")])}#u=void Ru(this,"location");static{ku(this.prototype,"rootURL",[Ef("_router.rootURL")])}#d=void Ru(this,"rootURL");static{ku(this.prototype,"currentRoute",[Ef("_router.currentRoute")])}#p=void Ru(this,"currentRoute")}class Kf extends $f{[Gf];get router(){let t=this[Gf];if(void 0!==t)return t;let e=hr(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)}}Kf.reopen({targetState:Ef("router.targetState"),currentState:Ef("router.currentState"),currentRouteName:Ef("router.currentRouteName"),currentPath:Ef("router.currentPath")});class Yf{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 Xf=32,Zf=31;function Jf(t){return(t|=0)<0?function(t){return-536870913&t}(t):function(t){return~t}(t)}function Qf(t){return e=>{if(!function(t){return Array.isArray(t)&&2===t.length}(e))return!1;let n=e[0];return n===Zf||n===Xf||n===t}}[1,-1].forEach(t=>{return e=Jf(t),(e|=0)>-536870913?function(t){return~t}(e):function(t){return 536870912|t}(e);var e});const tg=Qf(39),eg=Qf(38),ng=Qf(37),ig=Qf(35);function rg(t,e,n,i){let{symbols:{upvars:r}}=n,s=r[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return i.helper(o,s)}function sg(t){return{type:1,value:t}}function og(t){return{type:5,value:t}}function ag(t){return{type:7,value:t}}function lg(t){return{type:8,value:t}}class cg{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=_n(),this.targets=[]}}function hg(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(tg(i),i[0]===Xf){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]){eg(i);let s=i[0];if(s===Xf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[i[1]];r(e.modifier(o,s?.at(i[1])??void 0))}else if(s===Zf){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]){ng(i);let s=i[0];if(s===Xf){let{scopeValues:t}=n,s=t[i[1]];r(e.helper(s))}else if(s===Zf)r(rg(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}]){ig(i);let o=i[0];if(o===Xf){let{scopeValues:t,owner:o,symbols:{lexical:a}}=n,l=t[i[1]],c=e.component(l,o,!0,a?.at(i[1]));if(null!==c)return void r(c);s(e.helper(l,null,!0))}else if(o===Zf)s(rg(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],c=t?.lookupComponent?.(l,a)??null;if(null!==c)r(e.resolvedComponent(c,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}]){ig(i);let a=i[0];if(a===Xf){let{scopeValues:t,owner:a,symbols:{lexical:l}}=n,c=t[i[1]];if("function"!=typeof c&&("object"!=typeof c||null===c))return void o(e.value(c));let h=e.component(c,a,!0,l?.at(i[1]));if(null!==h)return void r(h);let u=e.helper(c,null,!0);if(null!==u)return void s(u);o(e.value(c))}else if(a===Zf)s(rg(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],c=t?.lookupComponent?.(l,a)??null;if(null!==c)return void r(e.resolvedComponent(c,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 ug{constructor(t,e,n){this.heap=t,this.meta=e,this.stdlib=n,this.labelsStack=new wn,this.encoder=new Yf([]),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?si:0)|n.length<<8;i.pushRaw(s);for(let o=0;o=-536870912?Jf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function vg(t,e,n,i){t(0),Tg(t,n,i,!1),t(16,e),t(1),t(36,8)}function bg(t,e,n,i){t(0),Tg(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 wg(t,e,n,i,r){t(0),Tg(t,i,r,!1),t(86),mg(t,n),t(77,e,{type:2,value:void 0}),t(1),t(36,8)}function xg(t,e,n){Tg(t,n,null,!0),t(23,e),t(24),t(61),t(64),t(40),t(1)}function Sg(t,e){!function(t,e){null!==e?t(63,ag({parameters:e})):_g(t,null)}(t,e&&e[1]),t(62),Eg(t,e)}function Cg(t,e){t(0),Eg(t,e),t(61),t(2),t(1)}function kg(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)mg(t,n);t(27,e.length)}),fg.add(28,(t,[,e,n,i])=>{ng(e)?t(1005,e,e=>{vg(t,e,n,i)}):(mg(t,e),bg(t,n,i))}),fg.add(50,(t,[,e,n,i,r])=>{wg(t,n,e,i,r)}),fg.add(30,(t,[,e,n])=>{t(21,e),gg(t,n)}),fg.add(Xf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),gg(t,n)})}),fg.add(Zf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{vg(t,e,null,null)})})}),fg.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{vg(t,e,null,null)})})}),fg.add(27,t=>yg(t,void 0)),fg.add(48,(t,[,e])=>{mg(t,e),t(25)}),fg.add(49,(t,[,e])=>{mg(t,e),t(24),t(61),t(26)}),fg.add(52,(t,[,e,n,i])=>{mg(t,i),mg(t,n),mg(t,e),t(109)}),fg.add(51,(t,[,e])=>{mg(t,e),t(110)}),fg.add(53,(t,[,e])=>{mg(t,e),t(111)}),fg.add(54,(t,[,e])=>{t(0),Tg(t,e,null,!1),t(112),t(1),t(36,8)});class Ig{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 Ig(n?Sn({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const Mg=new Ig(null);function Og(t){if(null===t)return Mg;let e=_n(),[n,i]=t;for(const[r,s]of gn(n))e[s]=i[r];return new Ig(e)}function Ag(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,sg(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,sg("END"))}t(1e3,"END"),t(1002),t(70)}function Fg(t,e,n){t(1001),t(0),t(6,sg("ENDINITIAL")),t(69,e()),n(),t(1e3,"FINALLY"),t(70),t(5),t(1e3,"ENDINITIAL"),t(1),t(1002)}function Lg(t,e,n,i){return Fg(t,e,()=>{t(66,sg("ELSE")),n(),t(4,sg("FINALLY")),t(1e3,"ELSE"),void 0!==i&&i()})}function zg(t,e,n,i,r,s){let{compilable:o,capabilities:a,handle:l}=e,c=n?[n,[]]:null,h=Og(s);o?(t(78,l),function(t,{capabilities:e,layout:n,elementBlock:i,positional:r,named:s,blocks:o}){let{symbolTable:a}=n;if(yi(e,ri.prepareArgs))return void Dg(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,c=[],h=[],u=[],d=o.names;if(null!==i){let e=l.indexOf("&attrs");-1!==e&&(Sg(t,i),c.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Sg(t,o.get(p)),c.push(e))}if(yi(e,ri.createArgs)){let e=Rg(t,r)<<4;e|=8;let n=dn;if(null!==s){n=s[0];let e=s[1];for(let i=0;i0?1:0),t(19,0);for(const p of fn(h))-1===p?t(34,1):t(19,p+1);null!==r&&t(34,r.length);for(const p of fn(c))t(20,p+1);t(28,lg(n)),t(61),t(2),t(100,4),t(1),t(40),yi(e,ri.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:c,positional:i,named:r,blocks:h})):(t(78,l),Dg(t,{capabilities:a,elementBlock:c,positional:i,named:r,atNames:!0,blocks:h}))}function jg(t,e,n,i,r,s,o,a){let l=n?[n,[]]:null,c=Og(s);Fg(t,()=>(mg(t,e),t(33,3,0),2),()=>{t(66,sg("ELSE")),a?t(81):t(80,{type:2,value:void 0}),t(79),Dg(t,{capabilities:!0,elementBlock:l,positional:i,named:r,atNames:o,blocks:c}),t(1e3,"ELSE")})}function Dg(t,{capabilities:e,elementBlock:n,positional:i,named:r,atNames:s,blocks:o,layout:a}){let l=!!o,c=!0===e||yi(e,ri.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)Sg(t,i.get(l));let o=Rg(t,e)<<4;r&&(o|=8),i.hasAny&&(o|=7);let a=hn;if(n){a=n[0];let e=n[1];for(let n=0;n{a?(t(63,ag(a.symbolTable)),t(28,lg(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function Ng(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 Ug=new pg,Bg=["class","id","value","name","type","style","href"],qg=["div","span","p","a"];function $g(t){return"string"==typeof t?t:qg[t]}function Vg(t){return"string"==typeof t?t:Bg[t]}function Gg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}Ug.add(3,(t,e)=>t(42,e[1])),Ug.add(13,t=>t(55)),Ug.add(12,t=>t(54)),Ug.add(4,(t,[,e,n,i])=>{eg(e)?t(1003,e,e=>{t(0),Tg(t,n,i,!1),t(57,e),t(1)}):(mg(t,e),t(0),Tg(t,n,i,!1),t(33,2,1),t(108),t(1))}),Ug.add(14,(t,[,e,n,i])=>{t(51,Vg(e),n,i??null)}),Ug.add(24,(t,[,e,n,i])=>{t(105,Vg(e),n,i??null)}),Ug.add(15,(t,[,e,n,i])=>{mg(t,n),t(52,Vg(e),!1,i??null)}),Ug.add(22,(t,[,e,n,i])=>{mg(t,n),t(52,Vg(e),!0,i??null)}),Ug.add(16,(t,[,e,n,i])=>{mg(t,n),t(53,Vg(e),!1,i??null)}),Ug.add(23,(t,[,e,n,i])=>{mg(t,n),t(53,Vg(e),!0,i??null)}),Ug.add(10,(t,[,e])=>{t(48,$g(e))}),Ug.add(11,(t,[,e])=>{t(89),t(48,$g(e))}),Ug.add(8,(t,[,e,n,i,r])=>{tg(e)?t(1004,e,e=>{zg(t,e,n,null,i,r)}):jg(t,e,n,null,i,r,!0,!0)}),Ug.add(18,(t,[,e,n])=>xg(t,e,n)),Ug.add(17,(t,[,e])=>xg(t,e,null)),Ug.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))}),Ug.add(1,(t,[,e])=>{if(Array.isArray(e))if(ig(e))t(1008,e,{ifComponent(e){zg(t,e,null,null,null,null)},ifHelper(e){t(0),vg(t,e,null,null),t(3,og("cautious-non-dynamic-append")),t(1)},ifValue(e){t(0),t(29,e),t(3,og("cautious-non-dynamic-append")),t(1)}});else if(28===e[0]){let[,n,i,r]=e;ig(n)?t(1007,n,{ifComponent(e){zg(t,e,null,i,Gg(r),null)},ifHelper(e){t(0),vg(t,e,i,r),t(3,og("cautious-non-dynamic-append")),t(1)}}):Ag(t,()=>{mg(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),Dg(t,{capabilities:!0,elementBlock:null,positional:i,named:r,atNames:!1,blocks:Og(null)})}),e(1,()=>{bg(t,i,r,()=>{t(3,og("cautious-non-dynamic-append"))})})})}else t(0),mg(t,e),t(3,og("cautious-append")),t(1);else t(41,null==e?"":String(e))}),Ug.add(2,(t,[,e])=>{Array.isArray(e)?(t(0),mg(t,e),t(3,og("trusting-append")),t(1)):t(41,null==e?"":String(e))}),Ug.add(6,(t,[,e,n,i,r])=>{tg(e)?t(1004,e,e=>{zg(t,e,null,n,Gg(i),r)}):jg(t,e,null,n,i,r,!1,!1)}),Ug.add(40,(t,[,e,n,i,r])=>{Lg(t,()=>(mg(t,n),void 0===r?yg(t,void 0):mg(t,r),mg(t,i),t(33,3,0),4),()=>{t(50),Cg(t,e),t(56)})}),Ug.add(41,(t,[,e,n,i])=>Lg(t,()=>(mg(t,e),t(71),1),()=>{Cg(t,n)},i?()=>{Cg(t,i)}:void 0)),Ug.add(42,(t,[,e,n,i,r])=>Fg(t,()=>(n?mg(t,n):yg(t,null),mg(t,e),2),()=>{t(72,sg("BODY"),sg("ELSE")),t(0),t(33,2,1),t(6,sg("ITER")),t(1e3,"ITER"),t(74,sg("BREAK")),t(1e3,"BODY"),kg(t,i,2),t(34,2),t(4,sg("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,sg("FINALLY")),t(1e3,"ELSE"),r&&Cg(t,r)})),Ug.add(44,(t,[,e,n])=>{kg(t,n,Rg(t,e))}),Ug.add(45,(t,[,e,n])=>{if(e){let[i,r]=e;Rg(t,r),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,i,()=>{Cg(t,n)})}else Cg(t,n)}),Ug.add(46,(t,[,e,n,i,r])=>{tg(e)?t(1004,e,e=>{zg(t,e,null,n,Gg(i),r)}):jg(t,e,null,n,i,r,!1,!1)});class Wg{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=Ug,r=dg(n,e),{encoder:s,evaluation:o}=r;function a(...t){hg(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 Hg{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 Kg(t,e,n){Ag(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),Ng(t,!1,!1,!0,()=>{t(92,4),t(95,4)}),t(35,4)}(t)}),i(1,()=>{bg(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 Yg={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function Xg(t,e){let n=new ug(t.program.heap,Yg);e(function(...e){hg(n,t,Yg,e)});let i=n.commit(0);if("number"!=typeof i)throw new Error("Unexpected errors compiling std");return i}class Zg{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=Xg(t,t=>function(t){t(75,4),Ng(t,!1,!1,!0)}(t)),n=Xg(t,t=>Kg(t,!0,null)),i=Xg(t,t=>Kg(t,!1,null)),r=Xg(t,t=>Kg(t,!0,n)),s=Xg(t,t=>Kg(t,!1,i));return new Hg(e,r,s,n,i)}(this)}}class Jg{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=Pg(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Pg(this.layout),n=dg(t,e),{encoder:i,evaluation:r}=n;var s,o,a;s=function(...t){hg(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,sg("BODY")),s(36,5),s(89),s(49),s(99,4),xg(s,a,null),s(54),s(1e3,"BODY"),Cg(s,[o.block[0],[]]),s(36,5),s(66,sg("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 Qg=0,tm={cacheHit:0,cacheMiss:0};function em({id:t,moduleName:e,block:n,scope:i,isStrictMode:r}){let s,o=t||"client-"+Qg++,a=null,l=new WeakMap,c=t=>{if(void 0===s&&(s=JSON.parse(n)),void 0===t)return null===a?(tm.cacheMiss++,a=new nm({id:o,block:s,moduleName:e,owner:null,scope:i,isStrictMode:r})):tm.cacheHit++,a;let c=l.get(t);return void 0===c?(tm.cacheMiss++,c=new nm({id:o,block:s,moduleName:e,owner:t,scope:i,isStrictMode:r}),l.set(t,c)):tm.cacheHit++,c};return c.__id=o,c.__meta={moduleName:e},c}class nm{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 Wg(n,Pg(t),{symbols:i},e)}(Sn({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new Jg(Sn({},this.parsedLayout),this.moduleName)}}function im(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const rm={id:"1b32f5c2-7623-43d6-a0ad-9672898920a1",moduleName:"__default__.hbs",block:JSON.stringify([[[18,1,null]],["&default"],[]]),scope:null,isStrictMode:!0},sm=Object.freeze([]),om=[!1,!0,null,void 0,sm],am=om.indexOf(sm);class lm{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 am;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=Ai(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=Ii(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=Li(t);if(null===n)return this.componentDefinitionCache.set(t,null),null;let s,o=fi(n.getCapabilities(t)),a=Ji(t),l=null;s=mi(0,o,ri.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=im(s),l=mi(0,o,ri.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=fi(i.getCapabilities(t)),a=null;mi(0,o,ri.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=im(s),a=mi(0,o,ri.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 gn(i))n[t]=this.getValue(e);e[t]=n}return n}constructor(){this.reifiedArrs={[am]:sm},this.defaultTemplate=em(rm)(),this.helperDefinitionCount=0,this.modifierDefinitionCount=0,this.componentDefinitionCount=0,this.values=om.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 cm{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)&si?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 hm{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|si)}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 ym((e=t,(e|=0)<0?function(t){return-536870913&t}(e):function(t){return~t}(e)));var e});const _m=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))}},vm=Symbol("TYPE"),bm=Symbol("INNER"),wm=Symbol("OWNER"),xm=Symbol("ARGS"),Sm=Symbol("RESOLVED"),Cm=new WeakSet;function km(t){return Cm.has(t)}function Em(t,e){return km(t)&&t[vm]===e}class Tm{constructor(t,e,n,i,r=!1){Cm.add(this),this[vm]=t,this[bm]=e,this[wm]=n,this[xm]=i,this[Sm]=r}}function Rm(t){let e,n,i,r,s,o=t;for(;;){let{[xm]:t,[bm]: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(!km(a)){i=a,r=o[wm],s=o[Sm];break}o=a}return{definition:i,owner:r,resolved:s,positional:e,named:n}}function Pm(t,e,n,i,r=!1){return new Tm(t,e,n,i,r)}class Im{constructor(t){this.bucket=t?Sn({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new Im(this.bucket)}}class Mm{static root(t,{self:e,size:n=0}){let i=new Array(n+1).fill(In);return new Mm(t,i,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(In);return new Mm(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===In?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 Mm(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 Om{constructor(t,e){this.element=t,this.nextSibling=e}}class Am{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 Fm(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 Lm(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 zm(t){return"getDebugCustomRenderTree"in t}let jm=0;class Dm{constructor(t){this.id=jm++,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 Nm{begin(){this.reset()}create(t,e){let n=Sn({},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 Dm(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),c=this.captureBounds(n),h=this.captureRefs(a);return{id:t,type:i,name:r,args:wy(s),instance:o,template:l,bounds:c,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 wn,this.refs=new WeakMap,this.roots=new Set,this.nodes=new WeakMap}}function Um(t){return Bm(t)?"":String(t)}function Bm(t){return null==t||"function"!=typeof t.toString}function qm(t){return null!==t&&"object"==typeof t}function $m(t){return qm(t)&&"function"==typeof t.toHTML}function Vm(t){return"string"==typeof t}_m.add(39,t=>t.pushChildScope()),_m.add(40,t=>t.popScope()),_m.add(59,t=>t.pushDynamicScope()),_m.add(60,t=>t.popDynamicScope()),_m.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),_m.add(29,(t,{op1:e})=>{t.stack.push(Fn(t.constants.getValue(e)))}),_m.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let i=t.constants.getValue(e);n.push(i)}else n.push(ym(e))}),_m.add(31,t=>{let e,n=t.stack,i=n.pop();e=void 0===i?In:null===i?Mn:!0===i?On:!1===i?An:Pn(i),n.push(e)}),_m.add(33,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e)-n;t.stack.dup(i)}),_m.add(34,(t,{op1:e})=>{t.stack.pop(e)}),_m.add(35,(t,{op1:e})=>{t.load(e)}),_m.add(36,(t,{op1:e})=>{t.fetch(e)}),_m.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),_m.add(69,(t,{op1:e})=>{t.enter(e)}),_m.add(70,t=>{t.exit()}),_m.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),_m.add(62,t=>{t.stack.push(t.scope())}),_m.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),_m.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(qn(n));Un(n)?i&&t.lowlevel.goto(e):(i&&t.lowlevel.goto(e),t.updateWith(new Gm(n)))}),_m.add(66,(t,{op1:e})=>{let n=t.stack.pop(),i=Boolean(qn(n));Un(n)?i||t.lowlevel.goto(e):(i||t.lowlevel.goto(e),t.updateWith(new Gm(n)))}),_m.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),_m.add(68,t=>{let e=t.stack.peek();Un(e)||t.updateWith(new Gm(e))}),_m.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(zn(()=>Ot(qn(n))))});class Gm{constructor(t){this.ref=t,this.last=qn(t)}evaluate(t){let{last:e,ref:n}=this;e!==qn(n)&&t.throw()}}class Wm{constructor(t,e){this.ref=t,this.filter=e,this.last=e(qn(t))}evaluate(t){let{last:e,ref:n,filter:i}=this;e!==i(qn(n))&&t.throw()}}class Hm{finalize(t,e){this.target=e,this.didModify(t)}evaluate(t){let{tag:e,target:n,lastRevision:i}=this;!t.alwaysRevalidate&&de(e,i)&&(je(e),t.goto(n))}didModify(t){this.tag=t,this.lastRevision=ue(this.tag),je(t)}constructor(){this.tag=ve,this.lastRevision=1}}class Km{constructor(t){this.debugLabel=t}evaluate(){Oe(this.debugLabel)}}class Ym{constructor(t){this.target=t}evaluate(){let t=Ae();this.target.didModify(t)}}_m.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),_m.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),_m.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),_m.add(49,t=>{let e=qn(t.stack.pop());t.tree().openElement(e)}),_m.add(50,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop(),r=qn(e),s=qn(n),o=qn(i);Un(e)||t.updateWith(new Gm(e)),void 0===s||Un(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=gy(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:i,instance:null}),Wt(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),_m.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),_m.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),_m.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)})}),_m.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),c={manager:s,state:l,definition:r};t.fetchValue(6).addModifier(t,c,a);let h=s.getTag(l);return null!==h?(je(h),t.updateWith(new Xm(h,c))):void 0}),_m.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=zn(()=>{let t,e,l=qn(n);if(!bn(l))return;if(Em(l,2)){let{definition:n,owner:o,positional:a,named:c}=Rm(l);e=n,t=o,void 0!==a&&(i.positional=a.concat(r)),void 0!==c&&(i.named=Object.assign({},...c,s))}else e=l,t=a;let c=Ii(e);if(null===c)throw new Error("BUG: modifier manager expected");let h={resolvedName:null,manager:c,state:e},u=c.create(t,o,h.state,i);return{manager:c,state:u,definition:h}}),c=qn(l),h=null;return void 0!==c&&(t.fetchValue(6).addModifier(t,c,i),h=c.manager.getTag(c.state),null!==h&&je(h)),!Un(n)||h?t.updateWith(new Zm(h,c,l)):void 0});class Xm{constructor(t,e){this.tag=t,this.modifier=e,this.lastUpdated=ue(t)}evaluate(t){let{modifier:e,tag:n,lastUpdated:i}=this;je(n),de(n,i)||(t.env.scheduleUpdateModifier(e),this.lastUpdated=ue(n))}}class Zm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=ue(t??Ce)}evaluate(t){let{tag:e,lastUpdated:n,instance:i,instanceRef:r}=this,s=qn(r);if(s!==i){if(void 0!==i){let t=i.manager.getDestroyable(i.state);null!==t&&Ht(t)}if(void 0!==s){let{manager:n,state:i}=s,r=n.getDestroyable(i);null!==r&&Gt(this,r),e=n.getTag(i),null!==e&&(this.lastUpdated=ue(e)),this.tag=e,t.env.scheduleInstallModifier(s)}this.instance=s}else null===e||de(e,n)||(t.env.scheduleUpdateModifier(i),this.lastUpdated=ue(e));null!==e&&je(e)}}_m.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)}),_m.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=qn(o),l=i?t.constants.getValue(i):null,c=t.tree().setDynamicAttribute(r,a,s,l);Un(o)||t.updateWith(new Jm(o,c,t.env))});class Jm{constructor(t,e,n){let i=!1;this.updateRef=zn(()=>{let r=qn(t);i?e.update(r,n):i=!0}),qn(this.updateRef)}evaluate(){qn(this.updateRef)}}_m.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)}),_m.add(80,(t,{op1:e})=>{let n,i=t.stack,r=qn(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=km(r)?r:s.component(r,o);i.push(n)}),_m.add(81,t=>{let e,n=t.stack,i=qn(n.pop()),r=t.constants;e=km(i)?i:r.component(i,t.getOwner(),!0),n.push(e)}),_m.add(79,t=>{let e,n,{stack:i}=t,r=i.pop();km(r)?n=e=null:(n=r.manager,e=r.capabilities),i.push({definition:r,capabilities:e,manager:n,state:null,handle:null,table:null})}),_m.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):dn;t.args.setup(r,s,l,o,!!a),r.push(t.args)}),_m.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),_m.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),_m.add(85,(t,{op1:e})=>{let n=t.stack,i=t.fetchValue(e),r=n.pop(),{definition:s}=i;if(Em(s,0)){s.manager;let e=t.constants,{definition:n,owner:o,resolved:a,positional:l,named:c}=Rm(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!==c&&r.named.merge(Sn({},...c)),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(!mi(0,i.capabilities,ri.prepareArgs))return void n.push(r);let l=r.blocks.values,c=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(!mi(0,s,ri.createInstance))return;let o=null;mi(0,s,ri.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;mi(0,s,ri.createArgs)&&(l=t.stack.peek());let c=null;mi(0,s,ri.createCaller)&&(c=t.getSelf());let h=r.create(t.getOwner(),i.state,l,t.env,o,c,!!a);n.state=h,mi(0,s,ri.updateHook)&&t.updateWith(new iy(h,r,o))}),_m.add(88,(t,{op1:e})=>{let{manager:n,state:i,capabilities:r}=t.fetchValue(e),s=n.getDestroyable(i);s&&t.associateDestroyable(s)}),_m.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),_m.add(89,t=>{t.loadValue(6,new Qm)}),_m.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)}),_m.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 Qm{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),c=i.getDebugInstance(s),h=new Am(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:c}),t.env.debugRenderTree.didRender(s,h),t.associateDestroyable(s),t.updateWith(new sy(s)),t.updateWith(new oy(s,h)),Wt(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?ey(t,"class",ty(this.classes),r.namespace,r.trusting):ey(t,i,r.value,r.namespace,r.trusting)}return void 0!==e&&ey(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=_n(),this.classes=[],this.modifiers=[]}}function ty(t){return 0===t.length?"":1===t.length?t[0]:function(t){return t.every(t=>"string"==typeof t)}(t)?t.join(" "):(e=t,zn(()=>{let t=[];for(const n of e){let e=Um("string"==typeof n?n:qn(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function ey(t,e,n,i,r=!1){if("string"==typeof n)t.tree().setStaticAttribute(e,n,i);else{let s=t.tree().setDynamicAttribute(e,qn(n),r,i);Un(n)||t.updateWith(new Jm(n,s,t.env))}}function ny(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)}_m.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)}),_m.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:c}=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){mi(0,o.capabilities,ri.dynamicLayout);let e=t.context.resolver;h=null===e?null:c.getDynamicLayout(s,e),r=null!==h?h.moduleName:"__default__.hbs"}else r=h.moduleName;if(t.associateDestroyable(o),zm(c))c.getDebugCustomRenderTree(o.definition.state,o.state,i,r).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),Wt(o,()=>{t.env.debugRenderTree?.willDestroy(n)}),t.updateWith(new sy(n))});else{let e=function(t,e=t.manager){return t.resolvedName??t.debugName??e.getDebugName(t.state)}(l,c);t.env.debugRenderTree.create(o,{type:"component",name:e,args:i,template:r,instance:qn(a)}),Wt(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new sy(o))}}t.stack.push(a)}),_m.add(91,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=r.getTagName(i);t.stack.push(s)}),_m.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=mi(0,e,ri.wrapped)?mm(t.constants.defaultTemplate).asWrappedLayout():mm(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),_m.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)}),_m.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}),_m.add(38,(t,{op1:e})=>{let n,{table:i,manager:r,capabilities:s,state:o}=t.fetchValue(e);mi(0,s,ri.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)}),_m.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)}}),_m.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:i}=t.stack.peek();for(const[r]of gn(i.names))ny(i.symbolNames[r],i.names[r],n,i,t)}),_m.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),_m.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&&(zm(i)?i.getDebugCustomRenderTree(n.definition.state,r,Cy).reverse().forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.didRender(n,o),t.updateWith(new oy(n,o))}):(t.env.debugRenderTree.didRender(n,o),t.updateWith(new oy(n,o)))),mi(0,s,ri.createInstance)&&(i.didRenderLayout(r,o),t.env.didCreate(n),t.updateWith(new ry(n,o)))}),_m.add(98,t=>{t.commitCacheGroup()});class iy{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 ry{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 sy{constructor(t){this.bucket=t}evaluate(t){t.env.debugRenderTree?.update(this.bucket)}}class oy{constructor(t,e){this.bucket=t,this.bounds=e}evaluate(t){t.env.debugRenderTree?.didRender(this.bucket,this.bounds)}}class ay{constructor(){this.stack=null,this.positional=new cy,this.named=new hy,this.blocks=new py}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 c=this.blocks,h=n.length,u=l-3*h;c.setup(t,u,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?Sy:this.positional.capture();return{named:0===this.named.length?xy:this.named.capture(),positional:t}}clear(){let{stack:t,length:e}=this;e>0&&null!==t&&t.pop(e)}}const ly=un();class cy{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=ly}setup(t,e,n){this.stack=t,this.base=e,this.length=n,this._references=0===n?ly:null}at(t){let{base:e,length:n,stack:i}=this;return t<0||t>=n?In: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 uy(t){return`&${t}`}const dy=un();class py{constructor(){this.internalValues=null,this._symbolNames=null,this.internalTag=null,this.names=dn,this.length=0,this.base=0}empty(t,e){this.stack=t,this.names=dn,this.base=e,this.length=0,this._symbolNames=null,this.internalTag=ve,this.internalValues=dy}setup(t,e,n,i){this.stack=t,this.names=i,this.base=e,this.length=n,this._symbolNames=null,0===n?(this.internalTag=ve,this.internalValues=dy):(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 fy(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(uy)),t}}class fy{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 gy(t,e){return{named:t,positional:e}}function my(t){let e=_n();for(const[n,i]of Object.entries(t))e[n]=qn(i);return e}function yy(t){return t.map(qn)}const _y=Symbol("ARGUMENT_ERROR");function vy(t){return null!==t&&"object"==typeof t&&t[_y]}function by(t){return{[_y]:!0,error:t}}function wy(t){return{named:function(t){let e=_n();for(const[i,r]of Object.entries(t))try{e[i]=qn(r)}catch(n){e[i]=by(n)}return e}(t.named),positional:(e=t.positional,e.map(t=>{try{return qn(t)}catch(e){return by(e)}}))};var e}const xy=Object.freeze(Object.create(null)),Sy=ly,Cy=gy(xy,Sy);function ky(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Ey(t){let e,n=Ai(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Ty(t){return t===In}_m.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 zn(()=>{let o=qn(e);return o===r||(s=Em(o,t)?i?Pm(t,o,n,i):i:0===t&&"string"==typeof o&&o||bn(o)?Pm(t,o,n,i):null,r=o),s})}(e,r,o,s))}),_m.add(107,t=>{let e,n=t.stack,i=n.pop(),r=n.pop().capture(),s=t.getOwner(),o=zn(()=>{void 0!==e&&Ht(e);let t=qn(i);if(Em(t,1)){let{definition:n,owner:i,positional:s,named:a}=Rm(t),l=Ey(n);void 0!==a&&(r.named=Sn({},...a,r.named)),void 0!==s&&(r.positional=s.concat(r.positional)),e=l(r,i),Gt(o,e)}else if(bn(t)){let n=Ey(t);e=n(r,s),Kt(e)&&Gt(o,e)}else e=In}),a=zn(()=>(qn(o),qn(e)));t.associateDestroyable(o),t.loadValue(8,a)}),_m.add(16,(t,{op1:e})=>{let n=t.stack,i=t.constants.getValue(e)(n.pop().capture(),t.getOwner(),t.dynamicScope());Kt(i)&&t.associateDestroyable(i),t.loadValue(8,i)}),_m.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),_m.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),_m.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])}),_m.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),_m.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),i=t.stack.pop();t.stack.push(Vn(i,n))}),_m.add(23,(t,{op1:e})=>{let{stack:n}=t,i=t.scope().getBlock(e);n.push(i)}),_m.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Ty(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)}),_m.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Ty(n)?e.push(On):e.push(An)}),_m.add(26,t=>{t.stack.pop(),t.stack.pop();let e=t.stack.pop(),n=e&&e.parameters.length;t.stack.push(n?On:An)}),_m.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,zn(()=>{const t=[];for(const e of i){const n=qn(e);null!=n&&t.push(ky(n))}return t.length>0?t.join(""):null})))}),_m.add(109,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop();t.stack.push(zn(()=>Ot(qn(e))?qn(n):qn(i)))}),_m.add(110,t=>{let e=t.stack.pop();t.stack.push(zn(()=>!Ot(qn(e))))}),_m.add(111,t=>{let e=t.dynamicScope(),n=t.stack,i=n.pop();n.push(zn(()=>{let t=String(qn(i));return qn(e.get(t))}))}),_m.add(112,t=>{let{positional:e}=t.stack.pop().capture();t.loadValue(8,zn(()=>{console.log(...yy(e))}))});class Ry{constructor(t,e,n){this.node=t,this.reference=e,this.lastValue=n}evaluate(){let t,e=qn(this.reference),{lastValue:n}=this;e!==n&&(t=Bm(e)?"":Vm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function Py(t){return function(t){return Vm(t)||Bm(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Em(t,0)||zi(t)?0:Em(t,1)||ji(t)?1:$m(t)?4:function(t){return qm(t)&&11===t.nodeType}(t)?5:function(t){return qm(t)&&"number"==typeof t.nodeType}(t)?6:2}function Iy(t){return bn(t)?Em(t,0)||zi(t)?0:1:2}function My(t,e){console.info("Use `context`, and `get()` to debug this template."),e("this")}_m.add(76,t=>{let e=t.stack.peek();t.stack.push(Py(qn(e))),Un(e)||t.updateWith(new Wm(e,Py))}),_m.add(106,t=>{let e=t.stack.peek();t.stack.push(Iy(qn(e))),Un(e)||t.updateWith(new Wm(e,Iy))}),_m.add(43,t=>{let e=qn(t.stack.pop()),n=Bm(e)?"":String(e);t.tree().appendDynamicHTML(n)}),_m.add(44,t=>{let e=qn(t.stack.pop()).toHTML(),n=Bm(e)?"":e;t.tree().appendDynamicHTML(n)}),_m.add(47,t=>{let e=t.stack.pop(),n=qn(e),i=Bm(n)?"":String(n),r=t.tree().appendDynamicText(i);Un(e)||t.updateWith(new Ry(r,e,i))}),_m.add(45,t=>{let e=qn(t.stack.pop());t.tree().appendDynamicFragment(e)}),_m.add(46,t=>{let e=qn(t.stack.pop());t.tree().appendDynamicNode(e)});let Oy=My;class Ay{#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)=>Vn(t,e),e)}}_m.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),i=new Ay(t.scope(),n);Oy(qn(t.getSelf()),t=>qn(i.get(t)))}),_m.add(72,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=qn(i.pop()),o=Qn(r,null===s?"@identity":String(s)),a=qn(o);t.updateWith(new Wm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),_m.add(73,t=>{t.exitList()}),_m.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const Fy={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 Ly{getCapabilities(){return Fy}getDebugName({name:t}){return t}getSelf(){return Mn}getDestroyable(){return null}}const zy=new Ly;class jy{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function Dy(t,e){return new jy(t,e)}Fi(zy,jy.prototype);const Ny={foreignObject:1,desc:1,title:1},Uy=Object.create(null);class By{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===pm||"svg"===t,r=e.namespaceURI===dm||"math"===t,i=!!Ny[e.tagName]):(n="svg"===t,r="math"===t,i=!1),!r&&!n||i)return this.document.createElement(t);if(Uy[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=r?dm:pm,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 Am(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 Am(t,s,r)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function qy(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!==pm}}(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+"";xn(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild.firstChild}else{const t=""+n+"";xn(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 Am(e,i,r)}(r,t,i)}(t,i,r,e)}}}function $y(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 Vy="undefined"==typeof document?null:fm(document);let Gy=class extends By{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=$y(Vy,Gy),Gy=qy(Vy,Gy,pm);const Wy=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=>Uy[t]=1);const Hy=/[\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,Ky="undefined"==typeof document?null:fm(document);class Yy extends By{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 Xy=Yy;Xy=$y(Ky,Xy),Xy=qy(Ky,Xy,pm);const Zy=Xy;function Jy(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=Qy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,i)||(n="attr"),{normalized:i,type:n}}const Qy={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}},t_=Symbol("TRANSACTION");class e_{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=Ge(()=>r.install(s));me(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=Ge(()=>r.update(s));me(t,e)}else r.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class n_{static{s_=t_}constructor(t,e){this.delegate=e,this[s_]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new Nm:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?vy:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new Wy(t.document),this.updateOperations=new Yy(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[t_],this.debugRenderTree?.begin(),this[t_]=new e_}get transaction(){return this[t_]}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[t_]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function i_(t,e,n,i){return{env:new n_(t,e),program:new um(n.constants,n.heap),resolver:i}}function r_(t,e){if(t[t_])e();else{t.begin();try{e()}finally{t.commit()}}}var s_;function o_(t){return Mi(t,{})}const a_=o_(({positional:t})=>zn(()=>yy(t),null)),l_=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),c_=o_(({positional:t})=>zn(()=>yy(t).map(l_).join(""),null)),h_=o_(({positional:t})=>{let e=t[0];return zn(()=>(...n)=>{let[i,...r]=yy(t);if(!Dn(e))return i.call(null,...r,...n);{let t=r.length>0?r[0]:n[0];$n(e,t)}},null)}),u_=o_(({positional:t})=>{let e=t[0]??In,n=t[1]??In;return zn(()=>{let t=qn(e);if(vn(t))return Lt(t,String(qn(n)))},t=>{let i=qn(e);if(vn(i))return zt(i,String(qn(n)),t)})}),d_=o_(({named:t})=>{let e=zn(()=>my(t),null),n=new Map;for(let i in t)n.set(i,t[i]);return e.children=n,e});function p_(t){return $e(t.argsCache)}class f_{constructor(t,e=()=>Cy){let n=qe(()=>e(t));this.argsCache=n}get named(){return p_(this).named||xy}get positional(){return p_(this).positional||Sy}}function g_(t,e,n){const i=cr(t),r=Ai(e).getDelegateFor(i);let s,o=new f_(t,n),a=r.createHelper(e,o);if(!vi(r))throw new Error("TODO: unreachable, to be implemented with hasScheduledEffect");return s=qe(()=>r.getValue(a)),Gt(t,s),bi(r)&&Gt(s,r.getDestroyable(a)),s}class m_{constructor(t,e){this.tag=_e(),this.listener=null,this.element=t,this.args=e,Wt(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:i,options:r}=e;v_(t,n,i,r)}})}updateListener(){let{element:t,args:e,listener:n}=this;e.positional[0];let i=qn(e.positional[0]);e.positional[1];let r,s,o,a=qn(e.positional[1]);{let{once:t,passive:n,capture:i}=e.named;t&&(r=qn(t)),n&&(s=qn(n)),i&&(o=qn(i))}let l,c=!1;if(c=null===n||i!==n.eventName||a!==n.userProvidedCallback||r!==n.once||s!==n.passive||o!==n.capture,c&&(void 0===r&&void 0===s&&void 0===o||(l={once:r,passive:s,capture:o})),c){let e=a;this.listener={eventName:i,callback:e,userProvidedCallback:a,once:r,passive:s,capture:o,options:l},n&&v_(t,n.eventName,n.callback,n.options),function(t,e,n,i){y_++,t.addEventListener(e,n,i)}(t,i,e,l)}}}let y_=0,__=0;function v_(t,e,n,i){__++,t.removeEventListener(e,n,i)}const b_=Pi(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:y_,removes:__}}create(t,e,n,i){return new m_(e,i)}getTag({tag:t}){return t}install(t){t.updateListener()}update(t){t.updateListener()}getDestroyable(t){return t}},{});class w_{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){_m.evaluate(e,t,t.type)}}const x_=["javascript:","vbscript:"],S_=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],C_=["EMBED"],k_=["href","src","background","action"],E_=["src"];function T_(t,e){return-1!==t.indexOf(e)}function R_(t,e){return(null===t||T_(S_,t))&&T_(k_,e)}function P_(t,e){return null!==t&&T_(C_,t)&&T_(E_,e)}function I_(t,e){return R_(t,e)||P_(t,e)}let M_;function O_(t,e,n){if(null==n)return n;if($m(n))return n.toHTML();const i=t.tagName.toUpperCase();let r=Um(n);if(R_(i,e)){let t=(s=r,M_||(M_=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"')}()),M_(s));if(T_(x_,t))return`unsafe:${r}`}var s;return P_(i,e)?`unsafe:${r}`:r}function A_(t,e,n){const{tagName:i,namespaceURI:r}=t,s={element:t,name:e,namespace:n};if(r===pm)return F_(i,e,s);const{type:o,normalized:a}=Jy(t,e);return"attr"===o?F_(i,a,s):function(t,e,n){return I_(t,e)?new D_(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 B_(e,n):new j_(e,n)}(i,a,s)}function F_(t,e,n){return I_(t,e)?new N_(n):new z_(n)}class L_{constructor(t){this.attribute=t}}class z_ extends L_{set(t,e,n){const i=q_(e);if(null!==i){const{name:e,namespace:n}=this.attribute;t.__setAttribute(e,i,n)}}update(t,e){const n=q_(t),{element:i,name:r}=this.attribute;null===n?i.removeAttribute(r):i.setAttribute(r,n)}}class j_ extends L_{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 D_ extends j_{set(t,e,n){const{element:i,name:r}=this.attribute,s=O_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=O_(n,i,t);super.update(r,e)}}class N_ extends z_{set(t,e,n){const{element:i,name:r}=this.attribute,s=O_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=O_(n,i,t);super.update(r,e)}}class U_ extends j_{set(t,e){t.__setProperty("value",Um(e))}update(t){const e=this.attribute.element,n=e.value,i=Um(t);n!==i&&(e.value=i)}}class B_ extends j_{set(t,e){null!=e&&!1!==e&&t.__setProperty("selected",!0)}update(t){this.attribute.element.selected=!!t}}function q_(t){return!1===t||null==t||void 0===t.toString?null:!0===t?"":"function"==typeof t?null:String(t)}class $_{constructor(t){this.node=t}firstNode(){return this.node}}class V_{constructor(t){this.node=t}lastNode(){return this.node}}class G_{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 wn,this.modifierStack=new wn,this.blockStack=new wn,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 W_(this.element))}pushResettableBlock(){return this.pushBlock(new K_(this.element))}pushBlockList(t){return this.pushBlock(new Y_(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 H_(t);return this.pushBlock(i,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new Om(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 Am(this.element,e,t.lastChild);return this.dom.insertBefore(this.element,t,this.nextSibling),n}{const t=this.__appendComment("");return new Am(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 Am(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=A_(this.constructing,t,i);return r.set(this,e,this.env),r}}class W_{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 $_(t)),this.last=new V_(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class H_ extends W_{constructor(t){super(t),Wt(this,()=>{this.parentElement()===this.firstNode().parentNode&&Lm(this)})}}class K_ extends W_{constructor(t){super(t)}reset(){Ht(this);let t=Lm(this);return this.first=null,this.last=null,this.nesting=0,t}}class Y_{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 X_(t,e){return G_.forInitialRender(t,e)}class Z_{constructor(t,{alwaysRevalidate:e=!1}){this.frameStack=new wn,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 nv(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class J_{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 Q_ extends J_{evaluate(t){t.try(this.children,this)}handleException(){let{state:t,bounds:e,context:{env:n}}=this;!function(t){let{children:e}=Vt(t);qt(e,Ht)}(this);let i=G_.resume(n,e),r=t.evaluate(i),s=this.children=[],o=r.execute(t=>{t.updateWith(this),t.pushUpdating(s)});Gt(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class tv extends Q_{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 ev extends J_{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=qn(r)}initializeChild(t){t.index=this.children.length-1,this.opcodeMap.set(t.key,t)}evaluate(t){let e=qn(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),Gt(this,i)})}moveItem(t,e,n){let i,r,{children:s}=this;$n(t.memo,e.memo),$n(t.value,e.value),t.retained=!0,void 0===n?Fm(t,this.marker):(i=t.lastNode().nextSibling,r=n.firstNode(),i!==r&&Fm(t,r)),t.index=s.length,s.push(t)}deleteItem(t){Ht(t),Lm(t),this.opcodeMap.delete(t.key)}}class nv{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 iv{constructor(t,e,n,i){this.env=t,this.updating=e,this.bounds=n,this.drop=i,Gt(this,i),Wt(this,()=>Lm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new Z_(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class rv{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 sv{constructor(t,e){this.drop={},this.scope=new wn,this.dynamicScope=new wn,this.updating=new wn,this.cache=new wn,this.list=new wn,this.destroyable=new wn,this.scope.push(t),this.dynamicScope.push(e),this.destroyable.push(this.drop)}}class ov{#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=rv.restore(n,i);this.#y=s,this.context=r,this.#g=new sv(t,e),this.args=new ay,this.lowlevel=new w_(o,r,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=Mm.root(e.owner,e.scope??{self:In,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 ov(i,t,e.tree)}compile(t){return gm(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 av(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new Hm;e.push(n),e.push(new Km(t)),this.#g.cache.push(n),Oe()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=Ae();t.push(new Ym(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),i=new Q_(e,this.context,n,[]);this.didEnter(i)}enterItem({key:t,value:e,memo:n}){let{stack:i}=this,r=ti(e),s=ti(n);i.push(r),i.push(s);let o=this.capture(2),a=this.tree().pushResettableBlock(),l=new tv(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 ev(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=Mm.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 fn(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){Gt(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 iv(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class av{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new ov(this.state,this.context,t)}}class lv{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function cv(t,e,n,i,r,s=new Im){let o=gm(r.compile(t)),a=r.symbolTable.symbols.length,l=ov.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:i,handle:o,owner:e});return new lv(l)}function hv(t,e,n,i,r={},s=new Im){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 u=0;u<3*o.length;u++)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 c=l.compilable,h={handle:gm(c.compile(e)),symbolTable:c.symbolTable};return t.stack.push(t.args),t.stack.push(h),t.stack.push(l),new lv(t)}(ov.initial(t,{tree:e,handle:t.stdlib.main,dynamicScope:s,owner:n}),t,n,i,function(t){const e=Fn(t);return Object.keys(t).reduce((t,n)=>(t[n]=Vn(e,n),t),{})}(r))}function uv(t){return"%+b:0%"===t.nodeValue}class dv extends Om{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class pv extends G_{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&&!fv(i);)i=i.nextSibling;this.candidate=i;const r=mv(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&&(!gv(n)||mv(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 dv(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&&!(gv(e)&&t>=yv(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;fv(n)&&yv(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,gv(n)&&yv(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&&gv(e)&&yv(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 Am(this.element,t.nextSibling,n.previousSibling),r=this.remove(t);return this.remove(n),null!==r&&bv(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&&vv(t)){const e=t;let n=e.nextSibling;for(;!vv(n);)n=n.nextSibling;return new Am(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||bv(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&&_v(e)&&function(t,e){return t.namespaceURI===pm?t.tagName===e:t.tagName===e.toUpperCase()}(e,t))return this.unmatchedAttributes=[].slice.call(e.attributes),e;if(e){if(_v(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=wv(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=wv(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?fm(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 dv(t,null,this.blockDepth);this.cursors.push(r),null===i?this.disableRehydration(n):this.candidate=this.remove(i);const s=new H_(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 fv(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function gv(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function mv(t){return parseInt(t.nodeValue.slice(4),10)}function yv(t,e){return mv(t)-e}function _v(t){return 1===t.nodeType}function vv(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function bv(t){return 8===t.nodeType&&"% %"===t.nodeValue}function wv(t,e){for(const n of t)if(n.name===e)return n}function xv(t,e){return pv.forInitialRender(t,e)}const Sv=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:Am,CurriedValue:Tm,CursorImpl:Om,DOMChanges:Zy,DOMTreeConstruction:Wy,DynamicAttribute:L_,DynamicScopeImpl:Im,EMPTY_ARGS:Cy,EMPTY_NAMED:xy,EMPTY_POSITIONAL:Sy,EnvironmentImpl:n_,IDOMChanges:Yy,LowLevelVM:w_,NewTreeBuilder:G_,RehydrateTree:pv,RemoteBlock:H_,ResettableBlockImpl:K_,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:Mm,SimpleDynamicAttribute:z_,TEMPLATE_ONLY_COMPONENT_MANAGER:zy,TemplateOnlyComponent:jy,TemplateOnlyComponentManager:Ly,UpdatingVM:Z_,array:a_,clear:Lm,clientBuilder:X_,concat:c_,createCapturedArgs:gy,curry:Pm,destroy:Ht,dynamicAttribute:A_,fn:h_,get:u_,hash:d_,inTransaction:r_,invokeHelper:g_,isDestroyed:Xt,isDestroying:Yt,isSerializationFirstNode:uv,isWhitespace:function(t){return Hy.test(t)},normalizeProperty:Jy,on:b_,registerDestructor:Wt,rehydrationBuilder:xv,reifyArgs:function(t){return{named:my(t.named),positional:yy(t.positional)}},reifyNamed:my,reifyPositional:yy,renderComponent:hv,renderMain:cv,renderSync:function(t,e){let n;return r_(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){Oy=My},runtimeOptions:i_,setDebuggerCallback:function(t){Oy=t},templateOnlyComponent:Dy},Symbol.toStringTag,{value:"Module"})),Cv=b_,kv=Symbol("MUTABLE_CELL"),Ev=em({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),Tv=em({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:()=>[Cv],isStrictMode:!0});function Rv(){}class Pv{static toString(){return"internal component"}constructor(t,e,n){this.owner=t,this.args=e,this.caller=n,ur(this,t)}get id(){return et(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?qn(e):void 0}positional(t){let e=this.args.positional[t];return e?qn(e):void 0}listenerFor(t){return this.named(t)||Rv}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${et(this)}>`}}const Iv=new WeakMap;function Mv(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return Iv.set(n,t),Fi(Av,n),Zi(e,n),n}const Ov={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},Av=new class{getCapabilities(){return Ov}create(t,e,n,i,r,s){var o;let a=new(o=e,Iv.get(o))(t,n.capture(),qn(s));return We(a.validateArguments.bind(a)),a}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}getDebugName(t){return t.toString()}getSelf(t){return Fn(t)}getDestroyable(t){return t}},Fv=Object.freeze({});function Lv(t){return function(t){return t.target}(t).value}function zv(t){return void 0===t?new jv(void 0):Un(t)?new jv(qn(t)):Bn(t)?new Dv(t):new Nv(t)}class jv{static{ku(this.prototype,"value",[Ms])}#_=void Ru(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class Dv{constructor(t){this.reference=t}get(){return qn(this.reference)}set(t){$n(this.reference,t)}}class Nv{local;upstream;lastUpstreamValue=Fv;constructor(t){this.upstream=new Dv(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new jv(t)),this.local.get()}set(t){this.local.set(t)}}class Uv extends Pv{validateArguments(){super.validateArguments()}_value=zv(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=Lv(t)}static{Tu(this.prototype,"valueDidChange",[Oh])}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{Tu(this.prototype,"keyUp",[Oh])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(Lv(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let Bv;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,Bv=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 Bv=t=>""!==t;class qv extends Uv{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":Bv(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=zv(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{Tu(this.prototype,"change",[Oh])}input(t){this.isCheckbox||super.input(t)}static{Tu(this.prototype,"input",[Oh])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{Tu(this.prototype,"checkedDidChange",[Oh])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const $v=Mv(qv,Tv),Vv=em({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:()=>[Cv],isStrictMode:!0}),Gv=[],Wv={};function Hv(t){return null==t}function Kv(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class Yv extends Pv{static toString(){return"LinkTo"}static{ku(this.prototype,"routing",[qf("-routing")])}#v=void Ru(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 je(on(t,"currentState")),t.generateURL(e,n,i)}click(t){if(!Lh(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};cu(0,0,()=>{a.transition=n.transitionTo(i,r,s,o)})}static{Tu(this.prototype,"click",[Oh])}get route(){if("route"in this.args.named){let t=this.named("route");return t&&this.namespaceRoute(t)}return this.currentRoute}currentRouteCache=qe(()=>(je(on(this.routing,"currentState")),We(()=>this.routing.currentRouteName)));get currentRoute(){return $e(this.currentRouteCache)}get models(){return"models"in this.args.named?this.named("models"):"model"in this.args.named?[this.named("model")]:Gv}get query(){return"query"in this.args.named?{...this.named("query")}:Wv}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 Hv(this.route)||this.models.some(t=>Hv(t))}get isDisabled(){return Boolean(this.named("disabled"))}get isEngine(){return void 0!==pd(this.owner)}get engineMountPoint(){return this.owner.mountPoint}classFor(t){let e=this.named(`${t}Class`);return!0===e||Hv(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!Hv(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:Xv}=Yv,Zv=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||Zv(Object.getPrototypeOf(t),e):null;{let t=Xv.onUnsupportedArgument;Object.defineProperty(Xv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=Zv(Xv,"models").get;Object.defineProperty(Xv,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&Kv(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=Zv(Xv,"query").get;Object.defineProperty(Xv,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return Kv(t)?t.values??Wv:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(Kv(t)&&null!==t.values)return t.values}return Wv}}})}{let t=Xv.onUnsupportedArgument;Object.defineProperty(Xv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const Jv=Mv(Yv,Vv),Qv=em({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:()=>[Cv],isStrictMode:!0});class tb extends Uv{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{Tu(this.prototype,"change",[Oh])}input(t){super.input(t)}static{Tu(this.prototype,"input",[Oh])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const eb=Mv(tb,Qv);function nb(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function ib(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?Vn(t,e[0]):Gn(t,e)}function rb(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function sb(t,e,n,i){let[r,s,o]=n;if("id"===s){let e=Ss(t,r);null==e&&(e=t.elementId);let n=Pn(e);return void i.setAttribute("id",n,!0,null)}let a=r.indexOf(".")>-1?ib(e,r.split(".")):Vn(e,r);i.setAttribute(s,a,!1,null)}function ob(t,e){let n;return zn(()=>{let i=qn(t);return!0===i?n||(n=Lf(e)):i||0===i?String(i):null})}function ab(){}class lb{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:ue(n),this.rootRef=Fn(t),Wt(this,()=>this.willDestroy(),!0),Wt(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){Fe(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),Le();let e=qh(t);e&&(Gh(e),Wh(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=ab}}function cb(t){let e=Object.create(null),n=Object.create(null);for(let i in t){let r=t[i],s=qn(r);Bn(r)?e[i]=new ub(r,s):e[i]=s,n[i]=s}return n.attrs=e,n}const hb=Symbol("REF");class ub{value;[kv];[hb];constructor(t,e){this[kv]=!0,this[hb]=t,this.value=e}update(t){$n(this[hb],t)}}const db=Ct("ARGS"),pb=Ct("HAS_BLOCK"),fb=Symbol("DIRTY_TAG"),gb=Symbol("IS_DISPATCHING_ATTRS"),mb=Symbol("BOUNDS"),yb=Pn("ember-view");class _b{templateFor(t){let e,{layout:n,layoutName:i}=t,r=hr(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 nb(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 wb}prepareArgs(t,e){if(e.named.has("__ARGS__")){let{__ARGS__:t,...n}=e.named.capture(),i=qn(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]:zn(()=>yy(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",Pn(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",Pn(s),!0,null);else{let e,i=r.indexOf(".")>-1,a=i?r.split("."):[],l=i?ib(t,a):Vn(t,r);e=void 0===s?ob(l,i?a[a.length-1]:r):function(t,e,n){return zn(()=>qn(t)?e:n)}(l,s,o),n.setAttribute("class",e,!1,null)}}(i,t,s)}),s.setAttribute("class",yb,!1,null),"ariaRole"in t&&s.setAttribute("role",Vn(i,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(Fe(),t.trigger("willInsertElement"),Le())}didRenderLayout(t,e){t.component[mb]=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=uu("render.component",bb,e),Fe(),null!==n&&!de(i,r)){Oe();let r=cb(n);i=t.argsTag=Ae(),t.argsRevision=ue(i),e[gb]=!0,e.setProperties(r),e[gb]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),Le(),je(i),je(e[fb])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function vb(t){return t.instrumentDetails({initialRender:!0})}function bb(t){return t.instrumentDetails({initialRender:!1})}const wb={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},xb=new _b;function Sb(t){return t===xb}let Cb=new WeakMap;const kb=Object.freeze([]);class Eb extends(Ou.extend(rc,Au,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:kb,classNameBindings:kb})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[gb]=!1,this[fb]=ye(),this[mb]=null;const e=this._dispatcher;if(e){let t=Cb.get(e);t||(t=new WeakSet,Cb.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=et(this))}__dispatcher;get _dispatcher(){if(void 0===this.__dispatcher){let t=hr(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(){ge(this[fb]),this._superRerender()}[is](t,e){if(this[gb])return;let n=this[db],i=void 0!==n?n[t]:void 0;void 0!==i&&Bn(i)&&$n(i,2===arguments.length?e:Ss(this,t))}getAttr(t){return this.get(t)}readDOMAttr(t){let e=qh(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:i,normalized:r}=Jy(e,t);return n||"attr"===i?e.getAttribute(r):e[r]}get childViews(){return Kh(this)}static{Tu(this.prototype,"childViews",[Sr({configurable:!1,enumerable:!1})])}appendChild(t){Yh(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{Tu(this.prototype,"element",[Sr({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"}}Eb.reopenClass({positionalParams:[]}),Fi(xb,Eb);const Tb=Symbol("RECOMPUTE_TAG"),Rb=Symbol("IS_CLASSIC_HELPER");class Pb extends ru{static isHelperFactory=!0;static[Rb]=!0;static helper=Fb;init(t){super.init(t),this[Tb]=ye()}recompute(){_a(()=>ge(this[Tb]))}}class Ib{capabilities=_i(0,{hasValue:!0,hasDestroyable:!0});ownerInjection;constructor(t){let e={};ur(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 je(t[Tb]),r}getDebugName(t){return nt((t.class||t).prototype)}}Ki(t=>new Ib(t),Pb);const Mb=Ai(Pb);class Ob{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const Ab=new class{capabilities=_i(0,{hasValue:!0});createHelper(t,e){return()=>t.compute.call(null,e.positional,e.named)}getValue(t){return t()}getDebugName(t){return nt(t.compute)}};function Fb(t){return new Ob(t)}Ki(()=>Ab,Ob.prototype);class Lb{__string;constructor(t){this.__string=t}toString(){return`${this.__string}`}toHTML(){return this.toString()}}const zb=function(t){return null==t?t="":"string"!=typeof t&&(t=String(t)),new Lb(t)};function jb(t){return{object:`${t.name}:main`}}const Db={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},Nb=fi(Db),Ub=new class{create(t,e,n,i,r){let s=r.get("outletState"),o=e.ref;r.set("outletState",o);let a={finalize:uu("render.outlet",jb,e)};if(void 0!==i.debugRenderTree){let t=qn(s),e=t?.render?.owner,n=qn(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:Cy,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Cy,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return Db}getSelf(){return In}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},Bb=em({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 qb{handle=-1;resolvedName=null;manager=Ub;capabilities=Nb;compilable;constructor(t,e){this.state=e,this.compilable=nb(Bb(t)).asLayout()}}class $b extends _b{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:i},r){let s=this.component,o=uu("render.component",vb,s);r.view=s;let a=""!==s.tagName;a||(i&&s.trigger("willRender"),s._transitionTo("hasElement"),i&&s.trigger("willInsertElement"));let l=new lb(s,null,ve,o,a,i);return je(s[fb]),l}}const Vb={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 Gb{handle=-1;resolvedName="-top-level";state;manager;capabilities=fi(Vb);compilable=null;constructor(t){this.manager=new $b(t);let e=xl(t);this.state=e}}function Wb(t){return Mi(t,{})}class Hb{constructor(t){this.inner=t}}const Kb=Wb(({positional:t})=>{const e=t[0];return zn(()=>{let t=qn(e);return je(gr(t)),er(t)&&(t=Jl(t)),new Hb(t)})});class Yb{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 Xb extends Yb{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 Zb extends Yb{static from(t){return t.length>0?new this(t):null}constructor(t){super(t.length),this.array=t}valueFor(t){return dr(this.array,t)}}class Jb extends Yb{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],ze()&&(je(on(t,i)),Array.isArray(e)&&je(on(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 Xb(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 Qb{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 tw extends Qb{valueFor(t){return t.value}memoFor(t,e){return e}}class ew extends Qb{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function nw(t){return null!=t&&"function"==typeof t.forEach}function iw(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var rw;rw={scheduleRevalidate(){ma.ensureInstance()},toBool:function(t){return er(t)?(je(fr(t,"content")),Boolean(Ss(t,"isTruthy"))):Ju(t)?(je(fr(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 Hb?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||rr(t)?Jb.fromIndexable(t):iw(t)?ew.from(t):nw(t)?Jb.fromForEachable(t):Jb.fromIndexable(t):null}(t.inner):function(t){return H(t)?Array.isArray(t)?Xb.from(t):rr(t)?Zb.from(t):iw(t)?tw.from(t):nw(t)?Xb.fromForEachable(t):null:null}(t)},getProp:Cs,setProp:zs,getPath:Ss,setPath:Ls,scheduleDestroy(t,e){ba("actions",null,e,t)},scheduleDestroyed(t){ba("destroy",null,t)}},Nt=rw.scheduleRevalidate,Pt=rw.scheduleDestroy,It=rw.scheduleDestroyed,Mt=rw.toIterator,Ot=rw.toBool,At=rw.getProp,Ft=rw.setProp,Lt=rw.getPath,zt=rw.setPath;class sw{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const ow=Wb(({positional:t,named:e})=>{const n=t[0];let i=e.type,r=e.loc,s=e.original;return qn(i),qn(r),qn(s),zn(()=>qn(n))});let aw;aw=t=>t.positional[0];const lw=Wb(aw),cw=Wb(({positional:t})=>zn(()=>{let e=t[0],n=t[1],i=qn(e).split("."),r=i[i.length-1],s=qn(n);return!0===s?Lf(r):s||0===s?String(s):""})),hw=Wb(({positional:t},e)=>{let n=qn(t[0]);return Fn(e.factoryFor(n)?.class)}),uw=Wb(({positional:t})=>{const e=t[0];return zn(()=>{let t=qn(e);return H(t)&&je(fr(t,"[]")),t})}),dw=Wb(({positional:t})=>Nn(t[0])),pw=Wb(({positional:t})=>jn(t[0])),fw=Wb(({positional:t,named:e})=>Ln(qn(t[0]))),gw=Wb(()=>Fn(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),mw={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},yw=new class{getDynamicLayout(t){return nb(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return mw}getOwner(t){return t.engine}create(t,{name:e},n,i){let r=t.buildChildEngineInstance(e);r.boot();let s,o,a,l,c=r.factoryFor("controller:application")||pp(r,"application");if(n.named.has("model")&&(l=n.named.get("model")),void 0===l)s=c.create(),o=Fn(s),a={engine:r,controller:s,self:o,modelRef:l};else{let t=qn(l);s=c.create({model:t}),o=Fn(s),a={engine:r,controller:s,self:o,modelRef:l}}return i.debugRenderTree&&Gt(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",qn(n))}};class _w{handle=-1;state;manager=yw;compilable=null;capabilities=fi(mw);constructor(t){this.resolvedName=t,this.state={name:t}}}const vw=Wb((t,e)=>{let n,i,r,s=t.positional[0];return n=gy(t.named,Sy),zn(()=>{let t=qn(s);return"string"==typeof t?(i===t||(i=t,r=Pm(0,new _w(t),e,n,!0)),r):(r=null,i=null,null)})}),bw={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},ww=fi(bw),xw=new class{create(t,e,n){let i=n.named.get("controller");return{self:i,controller:qn(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 bw}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class Sw{handle=-1;resolvedName;state;manager=xw;capabilities=ww;compilable;constructor(t,e){let n=nb(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function Cw(t,e,n){return Pm(0,new Sw(e,n),t,null,!0)}const kw=Wb((t,e,n)=>{let i=zn(()=>{let t=qn(n.get("outletState"));return t?.outlets?.main}),r=null,s=null;return zn(()=>{let t=qn(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=_n(),c=n.template;o=zi(c)?c:Cw(a,n.name,c),l.Component=Fn(o),l.controller=Fn(n.controller);let h=Gn(i,["render","model"]),u=qn(h);l.model=zn(()=>(r===n&&(u=qn(h)),u));let d=gy(l,Sy);s=Pm(0,new qb(e,n),a,d,!0)}else s=null;return s})});function Ew(t){return{object:`component:${t}`}}const Tw={mut:dw,readonly:pw,unbound:fw,"-hash":d_,"-each-in":Kb,"-normalize-class":cw,"-resolve":hw,"-track-array":uw,"-mount":vw,"-outlet":kw,"-in-el-null":lw},Rw={...Tw,array:a_,concat:c_,fn:h_,get:u_,hash:d_,"unique-id":gw};Rw["-disallow-dynamic-resolution"]=ow;const Pw={},Iw={...Pw,on:b_};class Mw{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=Rw[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[Rb]?(Mi(Mb,i),i):r}lookupBuiltInHelper(t){return Tw[t]??null}lookupModifier(t,e){let n=Iw[t];if(void 0!==n)return n;let i=e.factoryFor(`modifier:${t}`);return void 0===i?null:i.class||null}lookupBuiltInModifier(t){return Pw[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=uu("render.getComponentDefinition",Ew,t),a=null;if(null===n.component)a={state:Dy(void 0,t),manager:zy,template:r};else{let t=n.component,e=t.class,i=Li(e);a={state:Sb(i)?t:e,manager:i,template:r}}return o(),this.componentDefinitionCache.set(i,a),a}}const Ow="-top-level";class Aw{static extend(t){return class extends Aw{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=hr(t),s=i(r);return new Aw(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=ye(),s={outlets:{main:void 0},render:{owner:e,name:Ow,controller:void 0,model:void 0,template:n}},o=this.ref=zn(()=>(je(r),s),t=>{ge(r),s.outlets.main=t});this.state={ref:o,name:Ow,template:n,controller:void 0}}appendTo(t){let e;e=this._environment.hasDOM&&"string"==typeof t?document.querySelector(t):t,ba("render",this.owner.lookup("renderer:-dom"),"appendOutletView",this,e)}rerender(){}setOutletState(t){$n(this.ref,t)}destroy(){}}class Fw{constructor(t,e){this.view=t,this.outletState=e}child(){return new Fw(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const Lw=()=>{};class zw{type="component";#b;#w;constructor(t,e,n){this.#w=()=>{let i=hv(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),r=this.#b=i.sync();Gt(this,this.#b),this.#w=()=>{if(!Yt(r)&&!Xt(r))return r.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#w()}destroy(){Ht(this)}get destroyed(){return Xt(this)}get result(){return this.#b}}class jw{type="classic";id;result;destroyed;render;env;constructor(t,e,n,i,r,s,o,a){this.root=t,this.id=t instanceof Aw?et(t):Dh(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=nb(i).asLayout(),l=cv(e,n,r,a(e.env,{element:s,nextSibling:null}),t,o),c=this.result=l.sync();Gt(n,c),this.render=()=>{if(!Yt(c)&&!Xt(c))return c.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&&r_(e,()=>Ht(t))}}const Dw=[];function Nw(t){let e=Dw.indexOf(t);Dw.splice(e,1)}let Uw=null,Bw=0;ma.on("begin",function(){for(let t of Dw)t.rerender()}),ma.on("end",function(){for(let t of Dw)if(!t.isValid()){if(Bw>g._RERENDER_LOOP_LIMIT)throw Bw=0,t.destroy(),new Error("infinite rendering invalidation detected");return Bw++,ma.join(null,Lw)}Bw=0,function(){if(null!==Uw){let t=Uw.resolve;Uw=null,ma.join(null,t)}}()});class qw{static create(t,e){const n=new qw(t,e);return Gt(e,n),n}#x;#S=-1;#C=!1;#k=!1;#E=[];#T=[];constructor(t,e){this.#x=t,Wt(this,()=>{this.clearAllRoots(e)})}get debug(){return{roots:this.#E,inRenderTransaction:this.#C,isInteractive:this.isInteractive}}get roots(){return this.#E}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.#E;return n.push(t),Gt(this,t),1===n.length&&function(t){Dw.push(t)}(e),this.#R(e),t}#R(t){if(this.#C)return;this.#C=!0;let e=!1;try{this.renderRoots(t),e=!0}finally{e||(this.#S=ue(Ce)),this.#C=!1}}renderRoots(t){let e,n=this.#E,i=this.#T;do{e=n.length,r_(this.context.env,()=>{for(let t=0;t=e||r.render()}this.#S=ue(Ce)})}while(n.length>e);for(;i.length;){let t=i.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#E.length&&Nw(t)}scheduleRevalidate(t){ma.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#k||0===this.#E.length||de(Ce,this.#S)}revalidate(t){this.isValid()||this.#R(t)}clearAllRoots(t){let e=this.#E;for(let n of e)Ht(n);this.#T.length=0,this.#E=[],e.length&&Nw(t)}}class $w{static strict(t,n,i){return new $w(t,{hasDOM:e,...i},n,new Mw,X_)}state;constructor(t,e,n,i,r){let s={constants:new lm,heap:new hm},o=i_({document:n},new sw(t,e.isInteractive),s,i),a=new Zg(s,t=>new cm(t),o);this.state=qw.create({owner:t,context:a,builder:r},this)}get debugRenderTree(){let{debugRenderTree:t}=this.state.env;return t}isValid(){return this.state.isValid()}destroy(){Ht(this)}render(t,e){const n=new zw(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 Vw extends $w{static strict(t,n,i){return new $w(t,{hasDOM:e,...i},n,new Mw,X_)}_rootTemplate;_viewRegistry;static create(t){let{_viewRegistry:e}=t,n=hr(t),i=n.lookup("service:-document"),r=n.lookup("-environment:main"),s=n.lookup(Pl`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,i,r,s,e,o)}constructor(t,e,n,i,r,s=X_,o=new Mw){super(t,n,e,o,s),this._rootTemplate=i(t),this._viewRegistry=r||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new qb((i=t).owner,i.state);var i;let{name:r,template:s}=t.state,o=_n();o.Component=Fn(Cw(t.owner,r,s)),o.controller=In,o.model=In;let a=gy(o,Sy);this._appendDefinition(t,Pm(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new Gb(t);this._appendDefinition(t,Pm(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let i=Fn(e),r=new Fw(null,In),s=new jw(t,this.state.context,this.state.owner,this._rootTemplate,i,n,r,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(Xt(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=Dh(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[Dh(t)]}getElement(t){if(this._isInteractive)return qh(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[mb];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const Gw=em({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[kw],isStrictMode:!0});class Ww extends fd{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 Hw(t),this.setupRegistry(t),t.rootElement?this.rootElement=t.rootElement:this.rootElement=this.application.rootElement,t.location&&Ls(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=Ss(this.application,"customEvents"),n=Ss(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===Uw&&(Uw=dh.defer(),pa()||ma.schedule("actions",null,Lw)),Uw.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=Ss(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 Hw?e:new Hw(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class Hw{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}}}function Kw(t,e){return null!=t&&"function"==typeof t[e]}class Yw extends Ph{static NAMESPACES=ao;static NAMESPACES_BY_ID=lo;static processAll=go;static byName=po;init(t){super.init(t),co(this)}toString(){let t=Ss(this,"name")||Ss(this,"modulePrefix");if(t)return t;uo();let e=no(this);return void 0===e&&(e=et(this),eo(this,e)),e}nameClasses(){fo(this)}destroy(){return ho(this),super.destroy()}}Yw.prototype.isNamespace=!0;const Xw=Object.freeze(Object.defineProperty({__proto__:null,default:Yw},Symbol.toStringTag,{value:"Module"}));var Zw=function(){function t(){this._vertices=new Jw}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"===zu(t[e])&&n.push(Lf(e.replace(i,"")))}),n}}class ex extends Ph{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 nx=new WeakMap;class ix extends G_{__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 Am(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 nx.has(this.element)&&(nx.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"),nx.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 rx(t,e){return ix.forInitialRender(t,e)}function sx(t){t.register("service:-dom-builder",{create(t){switch(hr(t).lookup("-environment:main")._renderMode){case"serialize":return rx.bind(null);case"rehydrate":return xv.bind(null);default:return X_.bind(null)}}}),t.register(Pl`template:-root`,Ev),t.register("renderer:-dom",Vw)}class ox extends(Yw.extend(Hl)){static initializers=Object.create(null);static instanceInitializers=Object.create(null);static initializer=lx("initializers");static instanceInitializer=lx("instanceInitializers");static buildRegistry(t){let e=new El({resolver:ax(t)});return e.set=Ls,e.register("application:main",t,{instantiate:!1}),function(t){t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.register("controller:basic",cd,{instantiate:!1}),t.register("service:-routing",Kf),t.register("resolver-for-debugging:main",t.resolver,{instantiate:!1}),t.register("container-debug-adapter:main",tx),t.register("component-lookup:main",ex)}(e),function(t){t.optionsForType("template",{instantiate:!1}),t.register("view:-outlet",Aw),t.register("template:-outlet",Gw),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",$v),t.register("component:link-to",Jv),t.register("component:textarea",eb)}(e),e}init(t){super.init(t),this.buildRegistry()}_initializersRan=!1;ensureInitializers(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)}buildInstance(t={}){return this.ensureInitializers(),fd.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=Ss(this.constructor,t),r=function(t){let e=[];for(let n in t)e.push(n);return e}(i),s=new Zw;for(let o of r)n=i[o],s.add(n.name,n,n.before,n.after);s.topsort(e)}}function ax(t){let e={namespace:t};return t.Resolver.create(e)}function lx(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 cx=al,hx=ur;class ux extends ox{static buildRegistry(t){let e=super.buildRegistry(t);return function(t){t.register("router:main",af),t.register("-view-registry:main",{create:()=>cl(null)}),t.register("route:basic",kp),t.register("event_dispatcher:main",eu),t.register("location:hash",vf),t.register("location:history",xf),t.register("location:none",Sf),t.register(Pl`-bucket-cache:main`,{create:()=>new Op}),t.register("service:router",Hf)}(e),sx(e),e}static initializer=lx("initializers");static instanceInitializer=lx("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 Ww.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||af).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)ba("actions",this,this.domReady);else{let e=()=>{t.removeEventListener("DOMContentLoaded",e),ya(this,this.domReady)};t.addEventListener("DOMContentLoaded",e)}}domReady(){this.isDestroying||this.isDestroyed||this._bootSync()}deferReadiness(){this._readinessDeferrals++}advanceReadiness(){this._readinessDeferrals--,0===this._readinessDeferrals&&xa(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=ph.defer();this._bootPromise=t.promise;try{this.runInitializers(),fl("application",this),this.advanceReadiness()}catch(wN){throw t.reject(wN),wN}}reset(){let t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,_a(this,function(){ya(t,"destroy"),this._buildDeprecatedInstance(),ba("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(wN){throw this._bootResolver.reject(wN),wN}}ready(){return this}willDestroy(){super.willDestroy(),dl.application===this&&(dl.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 ya(n,"destroy"),t})})}}const dx=Object.freeze(Object.defineProperty({__proto__:null,_loaded:dl,default:ux,getOwner:cx,onLoad:pl,runLoadHooks:fl,setOwner:hx},Symbol.toStringTag,{value:"Module"})),px=Object.assign({},{});function fx(){return gx.global}const gx={packages:{},global:{}};let mx="undefined"!=typeof window?window._embroider_macros_runtime_config:void 0;if(mx){let t={config:function(t){return gx.packages[t]},getGlobalConfig:fx,setConfig(t,e){gx.packages[t]=e},setGlobalConfig(t,e){gx.global[t]=e}};for(let e of mx)e(t)}const yx={modulePrefix:"marco",environment:"production",rootURL:"/",locationType:"history",EmberENV:{},APP:{}},_x=Object.freeze(Object.defineProperty({__proto__:null,default:yx,enterTestMode:function(){yx.locationType="none",yx.APP.rootElement="#ember-testing",yx.APP.autoboot=!1;const t=fx()["@embroider/macros"];t&&(t.isTesting=!0)}},Symbol.toStringTag,{value:"Module"}));var vx;vx={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:vx,...t});const bx=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));function wx(t,e){return Wt(t,e)}function xx(t,e){return function(t,e,n=!1){let i=Vt(t),r=n?"eagerDestructors":"destructors";i[r]=$t(i[r],e)}(t,e)}!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)}();const Sx=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Dt,associateDestroyableChild:Gt,destroy:Ht,enableDestroyableTracking:jt,isDestroyed:Xt,isDestroying:Yt,registerDestructor:wx,unregisterDestructor:xx},Symbol.toStringTag,{value:"Module"}));let Cx;Cx=af;var kx=Cx;class Ex extends kx{location=yx.locationType;rootURL=yx.rootURL}Ex.map(function(){this.route("place",{path:"/place/:place_id"}),this.route("place.new",{path:"/place/new"}),this.route("search")});const Tx=Object.freeze(Object.defineProperty({__proto__:null,default:Ex},Symbol.toStringTag,{value:"Module"})),Rx=new WeakMap;function Px(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=Rx.get(t);i||(i=new Map,Rx.set(t,i)),i.set(e,n)}(t,e,r)}function Ix(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 Mx(t,e){let n=function(t,e){var n;let i=t.prototype;for(;i;){let t=null==(n=Rx.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 Ox extends $f{static{Px(this.prototype,"selectedPlace",[Ms],function(){return null})}#P=void Mx(this,"selectedPlace");static{Px(this.prototype,"isSearching",[Ms],function(){return!1})}#I=void Mx(this,"isSearching");static{Px(this.prototype,"isCreating",[Ms],function(){return!1})}#M=void Mx(this,"isCreating");static{Px(this.prototype,"creationCoordinates",[Ms],function(){return null})}#O=void Mx(this,"creationCoordinates");static{Px(this.prototype,"returnToSearch",[Ms],function(){return!1})}#A=void Mx(this,"returnToSearch");static{Px(this.prototype,"currentCenter",[Ms],function(){return null})}#F=void Mx(this,"currentCenter");static{Px(this.prototype,"searchBoxHasFocus",[Ms],function(){return!1})}#L=void Mx(this,"searchBoxHasFocus");static{Px(this.prototype,"selectionOptions",[Ms],function(){return{}})}#z=void Mx(this,"selectionOptions");static{Px(this.prototype,"preventNextZoom",[Ms],function(){return!1})}#j=void Mx(this,"preventNextZoom");selectPlace(t,e={}){this.selectedPlace=t,this.selectionOptions=e}clearSelection(){this.selectedPlace=null,this.selectionOptions={},this.preventNextZoom=!1}startSearch(){this.isSearching=!0,this.isCreating=!1,this.preventNextZoom=!1}stopSearch(){this.isSearching=!1}startCreating(){this.isCreating=!0,this.isSearching=!1}stopCreating(){this.isCreating=!1,this.creationCoordinates=null}updateCreationCoordinates(t,e){this.creationCoordinates={lat:t,lon:e}}setSearchBoxFocus(t){this.searchBoxHasFocus=t}updateCenter(t,e){this.currentCenter={lat:t,lon:e}}}const Ax=Object.freeze(Object.defineProperty({__proto__:null,default:Ox},Symbol.toStringTag,{value:"Module"}));function Fx(t){return"string"==typeof t&&t?t.replace(/[_-]/g," ").replace(/\w\S*/g,t=>t.replace(/^\w/,t=>t.toUpperCase())):""}const Lx=Object.freeze(Object.defineProperty({__proto__:null,humanizeOsmTag:Fx},Symbol.toStringTag,{value:"Module"}));function zx(t,e="Untitled Place"){if(!t)return e;const n=navigator.languages||[navigator.language||"en"];for(const i of n){if(!i)continue;const e=`name:${i.split("-")[0]}`;if(t[e])return t[e]}return t.name?t.name:t["name:en"]?t["name:en"]:e}const jx=["amenity","shop","tourism","historic","leisure","office","craft","building","landuse","public_transport","highway","aeroway","waterway","natural","place","border_type","admin_title"];function Dx(t){if(!t)return null;for(const e of jx){const n=t[e];if(n)return Fx("yes"===n?e:n)}return null}const Nx=Object.freeze(Object.defineProperty({__proto__:null,getLocalizedName:zx,getPlaceType:Dx},Symbol.toStringTag,{value:"Module"}));class Ux extends $f{static{Px(this.prototype,"settings",[qf])}#D=void Mx(this,"settings");controller=null;cachedResults=null;lastQueryKey=null;async getNearbyPois(t,e,n=50){const i=`${t},${e},${n}`;if(this.lastQueryKey===i&&this.cachedResults)return console.debug("Returning cached Overpass results for:",i),this.cachedResults;this.controller&&this.controller.abort(),this.controller=new AbortController;const r=this.controller.signal,s=[`~"^(${["amenity","shop","tourism","historic","leisure","office","craft","building","landuse","public_transport","aeroway"].join("|")})$"~".*"`],o=`\n[out:json][timeout:25];\n(\n node(around:${n},${t},${e})\n [${s}][~"^name"~"."];\n way(around:${n},${t},${e})\n [${s}][~"^name"~"."];\n relation(around:${n},${t},${e})\n [${s}][~"^name"~"."];\n);\nout center;\n `.trim(),a=`${this.settings.overpassApi}?data=${encodeURIComponent(o)}`;try{const t=await this.fetchWithRetry(a,{signal:r});if(!t.ok)throw new Error("Overpass request failed");const e=(await t.json()).elements.map(this.normalizePoi);return this.lastQueryKey=i,this.cachedResults=e,e}catch(l){if("AbortError"===l.name)return console.debug("Overpass request aborted"),[];throw l}}normalizePoi(t){const e=t.tags||{},n=Dx(e)||"Point of Interest";return{title:zx(e),lat:t.lat||t.center?.lat,lon:t.lon||t.center?.lon,url:e.website,osmId:String(t.id),osmType:t.type,osmTags:e,description:e.description,source:"osm",type:n}}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.warn(`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.debug(`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=`${this.settings.overpassApi}?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}async fetchOsmObject(t,e){if(!t||!e)return null;let n;if("node"===e)n=`https://www.openstreetmap.org/api/0.6/node/${t}.json`;else if("way"===e)n=`https://www.openstreetmap.org/api/0.6/way/${t}/full.json`;else{if("relation"!==e)return console.error("Unknown OSM type:",e),null;n=`https://www.openstreetmap.org/api/0.6/relation/${t}/full.json`}try{const i=await this.fetchWithRetry(n);if(!i.ok){if(410===i.status)return console.warn("OSM object has been deleted"),null;throw new Error(`OSM API request failed: ${i.status}`)}const r=await i.json();return this.normalizeOsmApiData(r.elements,t,e)}catch(i){return console.error("Failed to fetch OSM object:",i),null}}normalizeOsmApiData(t,e,n){if(!t||0===t.length)return null;let i=t.find(t=>String(t.id)===String(e)&&t.type===n);if(!i)return null;let r=i;if("relation"===n&&i.members){const e=i.members.find(t=>"label"===t.role&&"node"===t.type),n=i.members.find(t=>"admin_centre"===t.role&&"node"===t.type),s=e||n;if(s){const e=t.find(t=>String(t.id)===String(s.ref)&&"node"===t.type);e&&(r=e)}}let s=r.lat,o=r.lon,a=null,l=null;if("way"===n&&i.nodes){const e=new Map;t.forEach(t=>{"node"===t.type&&e.set(t.id,[t.lon,t.lat])});const n=i.nodes.map(t=>e.get(t)).filter(Boolean);if(n.length>0){if(r===i){const t=n.reduce((t,e)=>t+e[1],0),e=n.reduce((t,e)=>t+e[0],0);s=t/n.length,o=e/n.length}const t=n.map(t=>t[1]),e=n.map(t=>t[0]);if(a={minLat:Math.min(...t),maxLat:Math.max(...t),minLon:Math.min(...e),maxLon:Math.max(...e)},n.length>1){const t=n[0],e=n[n.length-1];l=t[0]===e[0]&&t[1]===e[1]?{type:"Polygon",coordinates:[n]}:{type:"LineString",coordinates:n}}}}else if("relation"===n&&i.members){const e=[],n=new Map;t.forEach(t=>{"node"===t.type&&n.set(t.id,t)});const c=[];if(i.members.forEach(i=>{if("node"===i.type){const t=n.get(i.ref);t&&e.push(t)}else if("way"===i.type){const r=t.find(t=>"way"===t.type&&t.id===i.ref);if(r&&r.nodes){const t=[];r.nodes.forEach(i=>{const r=n.get(i);r&&(e.push(r),t.push([r.lon,r.lat]))}),t.length>1&&c.push(t)}}}),e.length>0){if(r===i){const t=e.reduce((t,e)=>t+e.lat,0),n=e.reduce((t,e)=>t+e.lon,0);s=t/e.length,o=n/e.length}const t=e.map(t=>t.lat),n=e.map(t=>t.lon);a={minLat:Math.min(...t),maxLat:Math.max(...t),minLon:Math.min(...n),maxLon:Math.max(...n)}}c.length>0&&(l={type:"MultiLineString",coordinates:c})}const c=r.tags||{},h=Dx(c)||"Point of Interest";return{title:zx(c),lat:s,lon:o,bbox:a,geojson:l,url:c.website,osmId:String(r.id),osmType:r.type,osmTags:c,description:c.description,source:"osm",type:h}}}const Bx=Object.freeze(Object.defineProperty({__proto__:null,default:Ux},Symbol.toStringTag,{value:"Module"})),qx=Object.freeze(Object.defineProperty({__proto__:null,default:class extends $f{baseUrl="https://photon.komoot.io/api/";async search(t,e,n,i=10){if(!t||t.length<2)return[];const r=new URLSearchParams({q:t,limit:String(i)});e&&n&&(r.append("lat",parseFloat(e).toFixed(4)),r.append("lon",parseFloat(n).toFixed(4)));const s=`${this.baseUrl}?${r.toString()}`;try{const t=await this.fetchWithRetry(s);if(!t.ok)throw new Error(`Photon request failed with status ${t.status}`);const e=await t.json();return e.features?e.features.map(t=>this.normalizeFeature(t)):[]}catch(o){return console.error("Photon search error:",o),[]}}normalizeFeature(t){const e=t.properties||{},n=(t.geometry||{}).coordinates||[],i=n[0],r=n[1],s=[];e.street&&s.push(e.housenumber?`${e.street} ${e.housenumber}`:e.street),e.city&&e.city!==e.name&&s.push(e.city),e.state&&e.state!==e.city&&s.push(e.state),e.country&&s.push(e.country);const o=s.join(", "),a=e.name||o||"Unknown Place",l={...e};e.osm_key&&e.osm_value&&(l[e.osm_key]=e.osm_value);const c=Dx(l)||Fx(e.osm_value);return{title:a,lat:r,lon:i,osmId:e.osm_id,osmType:{N:"node",W:"way",R:"relation"}[e.osm_type]||e.osm_type,osmTags:l,description:e.name?o:s.slice(1).join(", "),source:"photon",type:c}}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.warn(`Photon 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.debug(`Retrying Photon request... (${n} left)`,i),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1);throw i}}}},Symbol.toStringTag,{value:"Module"}));class $x extends $f{static{Px(this.prototype,"overpassApi",[Ms],function(){return"https://overpass-api.de/api/interpreter"})}#N=void Mx(this,"overpassApi");static{Px(this.prototype,"mapKinetic",[Ms],function(){return!0})}#U=void Mx(this,"mapKinetic");overpassApis=[{name:"overpass-api.de (DE)",url:"https://overpass-api.de/api/interpreter"},{name:"private.coffee (AT)",url:"https://overpass.private.coffee/api/interpreter"}];constructor(){super(...arguments),this.loadSettings()}loadSettings(){const t=localStorage.getItem("marco:overpass-api");t&&(this.overpassApis.some(e=>e.url===t)?this.overpassApi=t:(this.overpassApi="https://overpass-api.de/api/interpreter",localStorage.setItem("marco:overpass-api",this.overpassApi)));const e=localStorage.getItem("marco:map-kinetic");null!==e&&(this.mapKinetic="true"===e)}updateOverpassApi(t){this.overpassApi=t,localStorage.setItem("marco:overpass-api",t)}updateMapKinetic(t){this.mapKinetic=t,localStorage.setItem("marco:map-kinetic",String(t))}}const Vx=Object.freeze(Object.defineProperty({__proto__:null,default:$x},Symbol.toStringTag,{value:"Module"}));function Gx(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Wx,Hx={exports:{}},Kx=(Wx||(Wx=1,Hx.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 c;function h(t){const e=t||u.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 u{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?u.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):u.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}),c=yield(0,l.requestWithTimeout)("POST",e.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString(),responseType:"json"});if(200!==(null==c?void 0:c.status))throw yield e.configure({refreshToken:null}),new a.default("refresh token rejected:"+JSON.stringify(c.response));{(0,s.default)(`[Authorize] access token good for ${null===(t=null==c?void 0:c.response)||void 0===t?void 0:t.expires_in} seconds`);const n={token:null===(i=null==c?void 0:c.response)||void 0===i?void 0:i.access_token,tokenType:null===(r=null==c?void 0:c.response)||void 0===r?void 0:r.token_type};if(!n.token)throw new Error(`no access_token in "successful" refresh: ${c.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",c)}}e.Authorize=u,u.IMPLIED_FAKE_TOKEN=!1,u.getLocation=function(){return document.location},u.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")})},u._rs_init=function(t){const e=h();let n;e&&(n=u.getLocation(),n.hash=""),c=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=u.getLocation(),u.setLocation(n.href.split("#")[0]+"#"+e.state)),e.code&&(function(e){i(this,void 0,void 0,function*(){var i,r,o,a;const c=sessionStorage.getItem("remotestorage:codeVerifier");if(!c)return void(0,s.default)("[Authorize] Ignoring OAuth code parameter, because no PKCE code verifier found in sessionStorage");n=u.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:c}),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",c)},e.default=u},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)),c=r(n(28)),h=n(746);class u{constructor(t,e){if(this.schemas={configurable:!0,get(){return u.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 u(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);u.Types.declare(this.moduleName,t,i,n)}validate(t){const e=u.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"]=u.Types.resolveAlias(this.moduleName+"/"+e)||this._defaultTypeURI(e)}makePath(t){return this.base+(t||"")}_fireChange(t){c.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=u,u.Types=o.default,(0,h.applyMixins)(u,[l.default]),e.default=u},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,c.pathsFromRoot)(t)).then(i=>{const r=h(i[t]);return u(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,c.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,c.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,c.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,c.deepClone)(i),s=[];i=e(t,i);for(const t in i){const e=i[t];(0,c.equal)(e,r[t])?delete i[t]:(0,c.isDocument)(t)&&((0,c.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:u}}}(0,c.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 c="remotestorage:discover";let h={};const u=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"],u=s.properties["http://remotestorage.io/spec/version"]||s.type;return h[t]={href:s.href,storageApi:u,authURL:a,properties:s.properties},l&&localStorage.setItem(c,JSON.stringify({cache:h})),e(h[t])})})};(u.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),u.DiscoveryError.prototype.constructor=u.DiscoveryError,u._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(c));t&&(h=t.cache)}},u._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},u._rs_cleanup=function(){l&&localStorage.removeItem(c)},t.exports=u},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)),c=r(n(503)),h=n(746),u=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,u.isArrayBufferView)(t)}class C 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 c.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,u.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,u.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 c.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 C(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),E(t)}(t),f&&localStorage.removeItem(g),t.setBackend(void 0)}}function k(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 E(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?k(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");k(t),t._dropboxOrigSyncCycle(t,...e),E(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)(C,[s.default]),t.exports=C},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)),c=i(n(548)),h=i(n(275)),u=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:c.default,Discover:u.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",c+"/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=c+"/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",c+"/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",c+"/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",c+"/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===u?(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",c+"/drive/v2/files",{body:JSON.stringify({title:p(g(t)),mimeType:u,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",c+"/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),c="remotestorage";let h;class u 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(),u.clean(e,()=>{u.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 u.clean(t,function(){u.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),u.clean(t,function(){u.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)=>{u.open(c,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 u&&t.local.closeDB(),u.clean(c,e)})}diffHandler(){}}(0,l.applyMixins)(u,[s.default]),t.exports=u},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 E;!function(t){t.GOOGLE="googledrive",t.DROPBOX="dropbox"}(E||(E={}));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,c.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,c.localStorageAvailable)(),S){this.apiKeys=(0,c.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=u.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]),u.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:u.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=[E.GOOGLE,E.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 E.DROPBOX:this.apiKeys[E.DROPBOX]={appKey:n},void 0!==this.dropbox&&this.dropbox.clientId===n||m.default._rs_init(this);break;case E.GOOGLE:this.apiKeys[E.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(C.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(!k(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(!k(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,c.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 c={},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)=>{c[e.toUpperCase()]=t}),l={readyState:4,status:t.status,statusText:t.statusText,response:void 0,getResponseHeader:t=>c[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 c=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(c),i(h))},h.onerror=t=>{l||(clearTimeout(c),a(t))};let u=r.body;"object"==typeof u&&!(0,e.isArrayBufferView)(u)&&u instanceof ArrayBuffer&&(u=new Uint8Array(u)),h.send(u)})})}(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)),c=r(n(275)),h=r(n(982)),u=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,c;for(const e in a)if(c=a[e],s[e])c&&c.common?m(c,s[e].ETag)&&(n[e]=(0,d.deepClone)(c),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)]&&c&&c.common){if(c.common.itemsMap)for(const t in c.common.itemsMap)o[e+t]=!0;if(c.local&&c.local.itemsMap)for(const t in c.local.itemsMap)o[e+t]=!0;if(c.remote||(0,d.isFolder)(e))n[e]=void 0;else if(n[e]=this.autoMerge(c),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],c={};let h,u=a[t];function p(t){if(t&&t.itemsMap)for(h in t.itemsMap)e[h]||(c[h]=!0)}if("object"==typeof u&&u.path===t&&"object"==typeof u.common||(u={path:t,common:{}},a[t]=u),u.remote={revision:r,timestamp:this.now()},(0,d.isFolder)(t))for(h in p(u.common),p(u.remote),u.remote.itemsMap={},e)u.remote.itemsMap[h]=!0;else u.remote.body=e,u.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(u),{toBeSaved:a,missingChildren:c}})}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!==c.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 u.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)),c=n(746),h=n(368),u=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 u.RemoteBase{constructor(t){if(super(t),this._revisionCache={},d=(0,c.localStorageAvailable)(),this.addEvents(["connected","not-connected"]),d){const t=function(){const t=(0,c.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,u,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,c.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,c.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=u?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=u?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,c.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,c.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,c.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,c.cleanPath)(t),this.token,n,void 0,this.supportsRevs,this._revisionCache[t]).then(e=>{if(!(0,c.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,c.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,c.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,c.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,c.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(u[p]).replace(/!/g,"%21"):o(u[p])}else if("object"==typeof u){l&&!h.suffices["*"]&&(e+=h.name+"=");var f=!0;for(var g in u)f||(e+=h.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=h.suffices["*"]?"=":",",e+=a?encodeURIComponent(u[g]).replace(/!/g,"%21"):o(u[g])}else l&&(e+=h.name,c&&""===u||(e+="=")),null!=h.truncate&&(u=u.substring(0,h.truncate)),e+=a?encodeURIComponent(u).replace(/!/g,"%21"):o(u)}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(),c=o.split("}")[0],h=o.substring(c.length+1),u=a(c);r.push(u.substitution),i.push(u.prefix),n.push(h),s=s.concat(u.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)}},c.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)},c.prototype.getSchemaMap=function(){var t={};for(var e in this.schemas)t[e]=this.schemas[e];return t},c.prototype.getSchemaUris=function(t){var e=[];for(var n in this.schemas)t&&!t.test(n)||e.push(n);return e},c.prototype.getMissingUris=function(t){var e=[];for(var n in this.missingMap)t&&!t.test(n)||e.push(n);return e},c.prototype.dropSchemas=function(){this.schemas={},this.reset()},c.prototype.reset=function(){this.missing=[],this.missingMap={},this.errors=[]},c.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,c=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 u=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==u)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][u]),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]=[]}c=t[this.validatedSchemasKey].length,t[this.validatedSchemasKey][c]=e,t[this.validationErrorsKey][c]=[]}}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!==c&&(t[this.validationErrorsKey][c]=this.errors.slice(a)),this.handleError(p)},c.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},c.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=u&&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},c.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},c.prototype.validateString=function(t,e,n){return this.validateStringLength(t,e,n)||this.validateStringPattern(t,e,n)||null},c.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},c.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)},c.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},c.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},c.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},c.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 C.addLanguage("en-gb",w),C.tv4=C,C},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 c={object:a,json:e,idx:{}};c.idx.properties={name:void 0},c.idx.links=JSON.parse(JSON.stringify(r)),l.map(function(t){if(n.hasOwnProperty(t.rel)&&c.idx.links[n[t.rel]]){var e={};Object.keys(t).map(function(n){e[n]=t[n]}),c.idx.links[n[t.rel]].push(e)}});var h=JSON.parse(e).properties;for(var u in h)h.hasOwnProperty(u)&&"http://packetizer.com/ns/name"===u&&(c.idx.properties.name=h[u]);return s(c)},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,c();if(!n.config.tls_only&&"https"===o)return r=0,o="http",c();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 c(){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(c,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}()),Hx.exports); /*! For license information please see remotestorage.js.LICENSE.txt */const Yx=Gx(Kx),Xx="0123456789bcdefghjkmnpqrstuvwxyz";class Zx{static encode(t,e,n){if(void 0===n){for(let n=1;n<=12;n++){const i=Zx.encode(t,e,n),r=Zx.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,c=-180,h=180;for(;o.length=t?(i=2*i+1,c=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+=Xx.charAt(i),r=0,i=0)}return o}static decode(t){const e=Zx.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=Zx.adjacent(i,e)),i+Xx.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][r].indexOf(n))}static neighbours(t){return{n:Zx.adjacent(t,"n"),ne:Zx.adjacent(Zx.adjacent(t,"n"),"e"),e:Zx.adjacent(t,"e"),se:Zx.adjacent(Zx.adjacent(t,"s"),"e"),s:Zx.adjacent(t,"s"),sw:Zx.adjacent(Zx.adjacent(t,"s"),"w"),w:Zx.adjacent(t,"w"),nw:Zx.adjacent(Zx.adjacent(t,"n"),"w")}}}const Jx="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Qx=0xffffffffffff;var tS;!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"}(tS||(tS={}));class eS extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function nS(t){const e=Math.floor(32*t())%32;return Jx.charAt(e)}const iS={type:"object",properties:{id:{type:"string"},title:{type:"string"},lat:{type:"number"},lon:{type:"number"},geohash:{type:"string"},zoom:{type:"number"},url:{type:"string"},osmId:{type:"string"},osmType:{type:"string"},osmTags:{type:"object",additionalProperties:{type:"string"}},description:{type:"string"},tags:{type:"array",items:{type:"string"},default:[]},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"}},required:["id","title","lat","lon","geohash","createdAt"]},rS={type:"object",properties:{id:{type:"string"},title:{type:"string"},color:{type:"string"},placeRefs:{type:"array",items:{type:"object",properties:{id:{type:"string"},geohash:{type:"string"}},required:["id","geohash"]},default:[]},createdAt:{type:"string",format:"date-time"},updatedAt:{type:"string",format:"date-time"}},required:["id","title","placeRefs","createdAt"]},sS={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,2)}/${t.substring(2,4)}/${e}`}t.declareType("place",iS),t.declareType("list",rS);const n={async getAll(){const e=await t.getAll("_lists/");return e?Object.values(e):[]},async get(e){const n=`_lists/${e}`;return t.getObject(n)},async create(e,n,i){const r=`_lists/${e}`;let s=await t.getObject(r);const o=(new Date).toISOString();return s?(s.title=n,i&&(s.color=i),s.updatedAt=o):s={id:e,title:n,color:i,placeRefs:[],createdAt:o,updatedAt:o},await t.storeObject("list",r,s),s},async delete(e){await t.remove(`_lists/${e}`)},async addPlace(e,n,i){const r=`_lists/${e}`,s=await t.getObject(r);if(!s)throw new Error(`List not found: ${e}`);return-1===s.placeRefs.findIndex(t=>t.id===n)&&(s.placeRefs.push({id:n,geohash:i}),s.updatedAt=(new Date).toISOString(),await t.storeObject("list",r,s)),s},async removePlace(e,n){const i=`_lists/${e}`,r=await t.getObject(i);if(!r)throw new Error(`List not found: ${e}`);const s=r.placeRefs.findIndex(t=>t.id===n);return-1!==s&&(r.placeRefs.splice(s,1),r.updatedAt=(new Date).toISOString(),await t.storeObject("list",i,r)),r},async initDefaults(){const t=[{id:"to-go",title:"Want to go",color:"#2e9e4f"},{id:"to-do",title:"To do",color:"#2a7fff"}];for(const e of t)await this.get(e.id)||await this.create(e.id,e.title,e.color)}},i={lists: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 eS(tS.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new eS(tS.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Qx)throw new eS(tS.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Qx}: ${t}`);if(t<0)throw new eS(tS.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new eS(tS.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Jx.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=nS(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||Zx.encode(i,r,10),a={...t,id:n,lat:i,lon:r,geohash:o,title:s,tags:t.tags||[],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(i,r){if(!i||!r)throw new Error("Both id and geohash are required to remove a place");const s=await n.getAll();await Promise.all(s.map(async e=>{const n=e.placeRefs.findIndex(t=>t.id===i);-1!==n&&(e.placeRefs.splice(n,1),e.updatedAt=(new Date).toISOString(),await t.storeObject("list",`_lists/${e.id}`,e))}));const o=e(r,i);return t.remove(o)},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:i}}};var oS,aS={exports:{}};const lS=Gx((oS||(oS=1,self,aS.exports=(()=>{var t={d:(e,n)=>{for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{default:()=>i});var n=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.rs=e,this.leaveOpen=!!n.leaveOpen&&n.leaveOpen,this.autoCloseAfter=n.autoCloseAfter?n.autoCloseAfter:1500,this.skipInitial=!!n.skipInitial&&n.skipInitial,this.logging=!!n.logging&&n.logging,this.parentContainerEl=null,n.hasOwnProperty("modalBackdrop")){if("boolean"!=typeof n.modalBackdrop&&"onlySmallScreens"!==n.modalBackdrop)throw'options.modalBackdrop has to be true/false or "onlySmallScreens"';this.modalBackdrop=n.modalBackdrop}else this.modalBackdrop="onlySmallScreens";this.active=!1,this.online=!1,this.closed=!1,this.lastSynced=null,this.lastSyncedUpdateLoop=null}var e,n;return e=t,n=[{key:"log",value:function(){if(this.logging){for(var t,e=arguments.length,n=new Array(e),i=0;i

Connect your storage

To sync data with your account
';var e=document.createElement("style");return e.innerHTML='#remotestorage-widget {\n z-index: 21000000;\n}\n\n.rs-widget {\n box-sizing: border-box;\n overflow: hidden;\n max-width: 350px;\n padding: 10px;\n margin: 10px;\n border-radius: 3px;\n background-color: #fff;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n font-family: arial, sans-serif;\n font-size: 16px;\n color: #333;\n will-change: max-height, height, width, opacity, max-width, background, box-shadow;\n transition-property: width, height, opacity, max-width, max-height, background, box-shadow;\n transition-duration: 300ms;\n}\n\n.rs-widget * {\n box-sizing: border-box;\n}\n\n.rs-widget .rs-hidden {\n display: none;\n}\n\n.rs-box {\n overflow: hidden;\n will-change: height;\n transition-property: height, width, max-height;\n transition-duration: 300ms;\n transition-timing-function: ease-in;\n opacity: 0;\n max-height: 0px;\n}\n\n.rs-box.rs-selected:not([aria-hidden=true]) {\n opacity: 1;\n max-height: 420px;\n}\n\n/* Main logo */\n.rs-main-logo {\n float: left;\n height: 36px;\n width: 36px;\n margin-top: 1px;\n margin-right: 0.625em;\n transition: margin-left 300ms ease-out, transform 300ms ease-out;\n cursor: pointer;\n}\n.rs-widget .rs-backend-remotestorage svg#rs-main-logo-remotestorage {\n display: block;\n}\n.rs-widget[class*="rs-backend-"]:not(.rs-backend-remotestorage) svg#rs-main-logo-remotestorage {\n display: none;\n}\n.rs-widget.rs-backend-dropbox svg#rs-main-logo-dropbox {\n display: block;\n}\n.rs-widget:not(.rs-backend-dropbox) svg#rs-main-logo-dropbox {\n display: none;\n}\n.rs-widget.rs-backend-googledrive svg#rs-main-logo-googledrive {\n display: block;\n}\n.rs-widget:not(.rs-backend-googledrive) svg#rs-main-logo-googledrive {\n display: none;\n}\n\npolygon.rs-logo-shape {\n fill: #FF4B03;\n}\n\npolygon.rs-logo-shape,\n#rs-main-logo-dropbox path,\n#rs-main-logo-googledrive path {\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n.rs-offline polygon.rs-logo-shape,\n.rs-offline #rs-main-logo-dropbox path,\n.rs-offline #rs-main-logo-googledrive path {\n fill: #888;\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n/* Hide everything except logo when connected and clicked outside of box */\n.rs-closed {\n max-width: 56px;\n background-color: transparent;\n box-shadow: none;\n opacity: 0.5;\n\n transition: max-height 100ms ease-out 0ms, max-width 300ms ease-out 300ms, background 300ms ease-in 200ms, opacity 300ms ease 200ms;\n}\n\n.rs-closed:hover {\n cursor: pointer;\n opacity: 1;\n}\n\n.rs-box-initial {\n transition-duration: 0ms;\n}\n\n.rs-box-initial:hover {\n cursor: pointer;\n}\n\n.rs-widget a {\n color: #0093cc;\n}\n\n/* HEADLINE */\n.rs-small-headline {\n font-size: 1em;\n font-weight: bold;\n margin: 0;\n margin-bottom: 2px;\n height: 1.2em;\n word-break: break-all;\n overflow: hidden;\n line-height: 1em;\n}\n\n.rs-sub-headline {\n word-break: break-all;\n overflow: hidden;\n color: #666;\n font-size: 0.92em;\n height: 1.2em;\n}\n.rs-big-headline {\n font-size: 1.625em;\n font-weight: normal;\n text-align: center;\n margin-top: 20px;\n margin-bottom: 20px;\n}\n\n/* BUTTONS */\n.rs-button {\n font: inherit;\n color: inherit;\n background-color: transparent;\n border: 1px solid #dcdcdc;\n border-radius: 3px;\n cursor: pointer;\n}\n.rs-button-small {\n padding: 0.6em 0.7em;\n margin-left: 0.2em;\n transition: border-color 300ms ease-out;\n}\n.rs-button-small svg {\n vertical-align: top;\n}\n.rs-button-wrap {\n margin-top: 10px;\n}\n\n.rs-button-wrap img,\n.rs-button-wrap svg {\n float: left;\n margin-right: 0.6em;\n width: 40px;\n height: 40px;\n}\n\n.rs-button-big {\n padding: 15px 10px;\n margin-bottom: 10px;\n display: block;\n width: 100%;\n text-align: left;\n transition: box-shadow 200ms;\n}\n.rs-button-big > div {\n font-size: 1.125em;\n padding: 10px 0;\n}\n.rs-button-big:hover {\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:active {\n background-color: #eee;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:last-child {\n margin-bottom: 0;\n}\n\n.rs-content {\n padding: 0 10px 10px 10px;\n}\n\n\n.rs-state-choose .rs-main-logo,\n.rs-state-sign-in .rs-main-logo {\n margin-left: 45%;\n float: none;\n}\n\n.rs-sign-in-form input[type=text] {\n padding: 15px 10px;\n display: block;\n width: 100%;\n font: inherit;\n height: 52px;\n border: 1px solid #aaa;\n border-radius: 0;\n box-shadow: none;\n}\n.rs-sign-in-form button.rs-connect {\n padding: 15px 10px;\n margin-top: 20px;\n margin-bottom: 15px;\n display: block;\n width: 100%;\n border: none;\n border-radius: 3px;\n background-color: #3fb34f;\n font: inherit;\n color: #fff;\n transition: box-shadow 200ms, background-color 200ms;\n}\n\n.rs-sign-in-form button.rs-connect:hover {\n cursor: pointer;\n background-color: #4BCB5D;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n\n.rs-sign-in-form button.rs-connect:active {\n background-color: #3fb34f;\n}\n\n.rs-sign-in-form button.rs-connect:disabled,\n.rs-sign-in-form button.rs-connect:disabled:hover {\n background-color: #aaa;\n}\n\n.rs-sign-in-form button.rs-connecting svg {\n height: 1em;\n width: auto;\n vertical-align: middle;\n margin-left: 0.5em;\n animation: rs-spin 1s linear infinite;\n}\n\n.rs-sign-in-error.rs-hidden,\n.rs-box-error.rs-hidden {\n height: 0;\n}\n\n.rs-sign-in-error.rs-visible,\n.rs-box-error.rs-visible {\n height: auto;\n border-radius: 3px;\n padding: 0.5em 0.5em;\n margin-top: 0.5em;\n text-align: center;\n background-color: rgba(255,0,0,0.1);\n color: darkred;\n}\n\n.rs-box-error {\n display: flex;\n flex-direction: row;\n}\n\n.rs-box-error .rs-error-message {\n flex: auto;\n}\n\n /*Choose provider box */\n.rs-box-choose {\n text-align: center;\n overflow: hidden;\n}\n\n.rs-box-choose p {\n margin-top: 0;\n margin-bottom: 20px;\n line-height: 1.4em;\n}\n\n/*Connected box */\n.rs-box-connected {\n display: flex;\n flex-direction: row;\n height: 40px;\n transition: height 0s;\n}\n.rs-connected-text {\n flex: auto;\n min-width: 0;\n}\n.rs-box-connected .rs-user {\n font-weight: bold;\n text-overflow: ellipsis;\n overflow: hidden;\n word-break: keep-all;\n}\n.rs-connected-buttons, .rs-error-buttons {\n flex: none;\n}\n.rs-disconnect:hover {\n border-color: #FF2D2D;\n}\n.rs-disconnect:hover .rs-icon{\n fill: #FF2D2D;\n}\n.rs-sync:hover {\n border-color: #FFBB0C;\n}\n.rs-sync:hover .rs-icon {\n fill: #FFBB0C;\n}\n.rs-sync.rs-rotate {\n border-color: #FFBB0C;\n}\n.rs-sync.rs-rotate .rs-icon {\n fill: #FFBB0C;\n animation: rs-spin 1s linear infinite;\n}\n\n/* Floating widget styles (top right corner) */\n.rs-floating {\n position: fixed;\n top: 0;\n right: 0;\n}\n\n@keyframes rs-spin {\n 100% {\n transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* Small/mobile screens */\n@media screen and (max-width: 420px) {\n .rs-widget {\n font-size: 100%;\n transition: all 300ms ease-out;\n max-width: 400px;\n }\n .rs-floating {\n position: relative;\n top: auto;\n right: auto\n }\n .rs-closed {\n max-width: 56px;\n }\n .rs-state-choose,\n .rs-state-sign-in {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n }\n}\n\n/* remove dotted outline border on Firefox */\n.rs-widget a:focus,\n.rs-widget a:active,\n.rs-widget button:focus,\n.rs-widget input:focus {\n outline:none;\n}\n.rs-widget button::-moz-focus-inner,\n.rs-widget input[type="button"]::-moz-focus-inner {\n border:0;\n}\n\n/* prevent rounded buttons on mobile Safari */\n.rs-widget button,\n.rs-widget input[type="button"] {\n -webkit-appearance: none;\n}\n\n.remotestorage-widget-modal-backdrop {\n display: none;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.3s linear;\n}\n\n.remotestorage-widget-modal-backdrop.visible {\n opacity: 1;\n transition: opacity 0.3s linear;\n}\n',t.appendChild(e),t}},{key:"setModalClass",value:function(){if(this.modalBackdrop){if("onlySmallScreens"===this.modalBackdrop&&!this.isSmallScreen())return;this.rsWidget.classList.add("rs-modal")}}},{key:"setupElements",value:function(){if(!this.parentContainerEl)throw new Error("Parent container element not found");this.rsWidget=this.parentContainerEl.querySelector(".rs-widget"),this.rsBackdrop=this.parentContainerEl.querySelector(".remotestorage-widget-modal-backdrop"),this.rsInitial=this.parentContainerEl.querySelector(".rs-box-initial"),this.rsChoose=this.parentContainerEl.querySelector(".rs-box-choose"),this.rsConnected=this.parentContainerEl.querySelector(".rs-box-connected"),this.rsSignIn=this.parentContainerEl.querySelector(".rs-box-sign-in"),this.rsConnectedLabel=this.parentContainerEl.querySelector(".rs-box-connected .rs-sub-headline"),this.rsChooseRemoteStorageButton=this.parentContainerEl.querySelector("button.rs-choose-rs"),this.rsChooseDropboxButton=this.parentContainerEl.querySelector("button.rs-choose-dropbox"),this.rsChooseGoogleDriveButton=this.parentContainerEl.querySelector("button.rs-choose-googledrive"),this.rsErrorBox=this.parentContainerEl.querySelector(".rs-box-error .rs-error-message"),this.rs.apiKeys.hasOwnProperty("googledrive")||this.rsChooseGoogleDriveButton.parentNode.removeChild(this.rsChooseGoogleDriveButton),this.rs.apiKeys.hasOwnProperty("dropbox")||this.rsChooseDropboxButton.parentNode.removeChild(this.rsChooseDropboxButton),this.rsSignInForm=this.parentContainerEl.querySelector(".rs-sign-in-form"),this.rsAddressInput=this.rsSignInForm.querySelector("input[name=rs-user-address]"),this.rsConnectButton=this.parentContainerEl.querySelector(".rs-connect"),this.rsDisconnectButton=this.parentContainerEl.querySelector(".rs-disconnect"),this.rsSyncButton=this.parentContainerEl.querySelector(".rs-sync"),this.rsLogo=this.parentContainerEl.querySelector(".rs-widget-icon"),this.rsErrorReconnectLink=this.parentContainerEl.querySelector(".rs-box-error a.rs-reconnect"),this.rsErrorDisconnectButton=this.parentContainerEl.querySelector(".rs-box-error button.rs-disconnect"),this.rsConnectedUser=this.parentContainerEl.querySelector(".rs-connected-text h1.rs-user")}},{key:"setupHandlers",value:function(){var t=this;this.rs.on("connected",function(){return t.eventHandler("connected")}),this.rs.on("ready",function(){return t.eventHandler("ready")}),this.rs.on("disconnected",function(){return t.eventHandler("disconnected")}),this.rs.on("network-online",function(){return t.eventHandler("network-online")}),this.rs.on("network-offline",function(){return t.eventHandler("network-offline")}),this.rs.on("error",function(e){return t.eventHandler("error",e)}),this.setEventListeners(),this.setClickHandlers()}},{key:"attach",value:function(t){var e=this.createHtmlTemplate(t);if(this.parentContainerEl,t instanceof HTMLElement)this.parentContainerEl=t;else if("string"==typeof t){if(this.parentContainerEl=document.getElementById(t),!this.parentContainerEl)throw new Error('Failed to find target DOM element with id="'+t+'"')}else{if(t)throw new Error("Unknown element type. Expected instance of HTMLElement or type of string.");this.parentContainerEl=document.body}this.parentContainerEl.appendChild(e),this.setupElements(),this.setupHandlers(),this.setInitialState(),this.setModalClass()}},{key:"setEventListeners",value:function(){var t=this;this.rsSignInForm.addEventListener("submit",function(e){e.preventDefault();var n=t.parentContainerEl.querySelector("input[name=rs-user-address]").value;t.disableConnectButton(),t.rs.connect(n)})}},{key:"showChooseOrSignIn",value:function(){this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.style.display="block",this.rsBackdrop.classList.add("visible")),this.rs.apiKeys&&Object.keys(this.rs.apiKeys).length>0?this.setState("choose"):this.setState("sign-in")}},{key:"setClickHandlers",value:function(){var t=this;this.rsInitial.addEventListener("click",function(){return t.showChooseOrSignIn()}),this.rsChooseRemoteStorageButton.addEventListener("click",function(){t.setState("sign-in"),t.rsAddressInput.focus()}),this.rsChooseDropboxButton.addEventListener("click",function(){return t.rs.dropbox.connect()}),this.rsChooseGoogleDriveButton.addEventListener("click",function(){return t.rs.googledrive.connect()}),this.rsDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rsErrorReconnectLink.addEventListener("click",function(){return t.rs.reconnect()}),this.rsErrorDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rs.hasFeature("Sync")&&this.rsSyncButton.addEventListener("click",function(){t.rsSyncButton.classList.contains("rs-rotate")?(t.rs.stopSync(),t.rsSyncButton.classList.remove("rs-rotate")):(t.rsConnectedLabel.textContent="Synchronizing",t.rs.startSync(),t.rsSyncButton.classList.add("rs-rotate"))}),document.addEventListener("click",function(){return t.close()}),this.rsWidget.addEventListener("click",function(t){return t.stopPropagation()}),this.rsLogo.addEventListener("click",function(){return t.toggle()})}},{key:"toggle",value:function(){this.closed?this.open():"initial"===this.state?this.showChooseOrSignIn():this.close()}},{key:"open",value:function(){this.closed=!1,this.rsWidget.classList.remove("rs-closed"),this.shouldCloseWhenSyncDone=!1;var t=this.parentContainerEl.querySelector(".rs-box.rs-selected");t&&t.setAttribute("aria-hidden","false")}},{key:"close",value:function(){var t=this;if("error"!==this.state){if(!this.leaveOpen&&this.active){this.closed=!0,this.rsWidget.classList.add("rs-closed");var e=this.parentContainerEl.querySelector(".rs-box.rs-selected");e&&e.setAttribute("aria-hidden","true")}else this.active?this.setState("connected"):this.setInitialState();this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.classList.remove("visible"),setTimeout(function(){t.rsBackdrop.style.display="none"},300))}}},{key:"disableConnectButton",value:function(){this.rsConnectButton.disabled=!0,this.rsConnectButton.classList.add("rs-connecting"),this.rsConnectButton.innerHTML="Connecting ".concat('\n \n \n \n \n \n \n\n')}},{key:"enableConnectButton",value:function(){this.rsConnectButton.disabled=!1,this.rsConnectButton.textContent="Connect",this.rsConnectButton.classList.remove("rs-connecting")}},{key:"setOffline",value:function(){this.online&&(this.rsWidget.classList.add("rs-offline"),this.rsConnectedLabel.textContent="Offline",this.online=!1)}},{key:"setOnline",value:function(){this.online||(this.rsWidget.classList.remove("rs-offline"),this.active&&(this.rsConnectedLabel.textContent="Connected")),this.online=!0}},{key:"setBackendClass",value:function(t){this.rsWidget.classList.remove("rs-backend-remotestorage"),this.rsWidget.classList.remove("rs-backend-dropbox"),this.rsWidget.classList.remove("rs-backend-googledrive"),t&&this.rsWidget.classList.add("rs-backend-".concat(t))}},{key:"showErrorBox",value:function(t){this.rsErrorBox.innerHTML=t,this.setState("error")}},{key:"hideErrorBox",value:function(){this.rsErrorBox.innerHTML="",this.close()}},{key:"handleSyncStarted",value:function(){var t=this;this.syncInProgress=!0,this.rsSyncButton.classList.add("rs-rotate"),setTimeout(function(){t.syncInProgress&&(t.rsConnectedLabel.textContent="Synchronizing")},1e3)}},{key:"handleDiscoveryError",value:function(t){var e=this.parentContainerEl.querySelector(".rs-sign-in-error");e.innerHTML=t.message,e.classList.remove("rs-hidden"),e.classList.add("rs-visible"),this.enableConnectButton()}},{key:"handleSyncError",value:function(){this.setOffline()}},{key:"handleUnauthorized",value:function(t){t.code&&"access_denied"===t.code?this.rs.disconnect():(this.open(),this.showErrorBox(t.message+" "),this.rsErrorBox.appendChild(this.rsErrorReconnectLink),this.rsErrorReconnectLink.classList.remove("rs-hidden"))}},{key:"updateLastSyncedStatus",value:function(){var t=new Date;this.online?(this.lastSynced=t,this.rsConnectedLabel.textContent="Synced"):this.rsWidget.classList.contains("rs-state-unauthorized")||(this.rsConnectedLabel.textContent="Offline")}},{key:"isSmallScreen",value:function(){return window.innerWidth<421}}],n&&function(t,e){for(var n=0;n20||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=Zx.encode(e,n,4);s.add(t)}catch(o){}}try{s.add(Zx.encode(e,n,4))}catch(o){}try{s.add(Zx.encode(i,r,4))}catch(o){}try{s.add(Zx.encode(e,r,4))}catch(o){}try{s.add(Zx.encode(i,n,4))}catch(o){}return Array.from(s)}const hS=Object.freeze(Object.defineProperty({__proto__:null,getGeohashPrefixesInBbox:cS},Symbol.toStringTag,{value:"Module"})),uS=Object.assign({},g.FEATURES);function dS(t){let e=uS[t];return!0===e||!1===e?e:!!g.ENABLE_OPTIONAL_FEATURES}function pS(t){return kf(t)||"string"==typeof t&&!1===/\S/.test(t)}function fS(t){return!pS(t)}function gS(t,e){return t&&"function"==typeof t.isEqual?t.isEqual(e):t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():t===e}let mS={};function yS(t){mS=t}function _S(){return mS}function vS(t,e){return Wi(t,e)}function bS(t,e){if(Symbol.iterator in t)for(let n of t)e(n);else t.forEach,t.forEach(e)}class wS{recordCaches=new Map;added=[];updated=[];removed=[];getCacheForItem(t){let e=this.recordCaches.get(t);if(!e){let n=!1;e=qe(()=>{n?this.updated.push(this.wrapRecord(t)):(this.added.push(this.wrapRecord(t)),n=!0)}),this.recordCaches.set(t,e)}return e}constructor(t,e,n,i,r,s){this.wrapRecord=r,this.release=s,this.recordArrayCache=qe(()=>{let s=new Set;je(on(t,"[]")),bS(t,t=>{$e(this.getCacheForItem(t)),s.add(t)}),We(()=>{this.recordCaches.forEach((t,e)=>{s.has(e)||(this.removed.push(r(e)),this.recordCaches.delete(e))})}),this.added.length>0&&(e(this.added),this.added=[]),this.updated.length>0&&(n(this.updated),this.updated=[]),this.removed.length>0&&(i(this.removed),this.removed=[])})}revalidate(){$e(this.recordArrayCache)}}class xS{constructor(t,e,n){this.release=n;let i=!1;this.cache=qe(()=>{bS(t,()=>{}),je(on(t,"[]")),!0===i?Ca(e):i=!0}),this.release=n}revalidate(){$e(this.cache)}}class SS extends Ph{releaseMethods=sd();recordsWatchers=new Map;typeWatchers=new Map;flushWatchers=null;constructor(t){super(t),this.containerDebugAdapter=hr(this).lookup("container-debug-adapter:main")}attributeLimit=3;acceptsModelName=!0;getFilters(){return sd()}watchModelTypes(t,e){let n,i=this.getModelTypes(),r=sd();n=i.map(t=>{let n=t.klass,i=this.wrapModelType(n,t.name);return r.push(this.observeModelType(t.name,e)),i}),t(n);let s=()=>{r.forEach(t=>t()),this.releaseMethods.removeObject(s)};return this.releaseMethods.pushObject(s),s}_nameToClass(t){if("string"==typeof t){let e=hr(this).factoryFor(`model:${t}`);t=e&&e.class}return t}watchRecords(t,e,n,i){let r=this._nameToClass(t),s=this.getRecords(r,t),{recordsWatchers:o}=this,a=o.get(s);return a||(a=new wS(s,e,n,i,t=>this.wrapRecord(t),()=>{o.delete(s),this.updateFlushWatchers()}),o.set(s,a),this.updateFlushWatchers(),a.revalidate()),a.release}updateFlushWatchers(){null===this.flushWatchers?(this.typeWatchers.size>0||this.recordsWatchers.size>0)&&(this.flushWatchers=()=>{this.typeWatchers.forEach(t=>t.revalidate()),this.recordsWatchers.forEach(t=>t.revalidate())},ma.on("end",this.flushWatchers)):0===this.typeWatchers.size&&0===this.recordsWatchers.size&&(ma.off("end",this.flushWatchers),this.flushWatchers=null)}willDestroy(){this._super(...arguments),this.typeWatchers.forEach(t=>t.release()),this.recordsWatchers.forEach(t=>t.release()),this.releaseMethods.forEach(t=>t()),this.flushWatchers&&ma.off("end",this.flushWatchers)}detect(t){return!1}columnsForType(t){return sd()}observeModelType(t,e){let n=this._nameToClass(t),i=this.getRecords(n,t),{typeWatchers:r}=this,s=r.get(i);return s||(s=new xS(i,()=>{e([this.wrapModelType(n,t)])},()=>{r.delete(i),this.updateFlushWatchers()}),r.set(i,s),this.updateFlushWatchers(),s.revalidate()),s.release}wrapModelType(t,e){return{name:e,count:Ss(this.getRecords(t,e),"length"),columns:this.columnsForType(t),object:t}}getModelTypes(){let t=this.containerDebugAdapter,e=(t.canCatalogEntriesByType("model")?t.catalogEntriesByType("model"):this._getObjectsOnNamespaces()).map(t=>({klass:this._nameToClass(t),name:t}));return e.filter(t=>this.detect(t.klass))}_getObjectsOnNamespaces(){let t=Yw.NAMESPACES,e=[];return t.forEach(t=>{for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;if(!this.detect(t[n]))continue;let i=Lf(n);e.push(i)}}),e}getRecords(t,e){return sd()}wrapRecord(t){return{object:t,columnValues:this.getRecordColumnValues(t),searchKeywords:this.getRecordKeywords(t),filterValues:this.getRecordFilterValues(t),color:this.getRecordColor(t)}}getRecordColumnValues(t){return{}}getRecordKeywords(t){return sd()}getRecordFilterValues(t){return{}}getRecordColor(t){return null}}const CS={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function kS(t,e){return"[]"===e?(t._revalidate(),t._arrTag):"length"===e?(t._revalidate(),t._lengthTag):on(t,e)}class ES extends Ph{_objectsDirtyIndex=0;_objects=null;_lengthDirty=!0;_length=0;_arrangedContent=null;_arrangedContentIsUpdating=!1;_arrangedContentTag=null;_arrangedContentRevision=null;_lengthTag=null;_arrTag=null;init(t){super.init(t),li(this,kS)}[is](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(t){return dr(Ss(this,"arrangedContent"),t)}replace(t,e,n){this.replaceContent(t,e,n)}replaceContent(t,e,n){Ws(Ss(this,"content"),t,e,n)}objectAt(t){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&t>=this._objectsDirtyIndex){let t=Ss(this,"arrangedContent");if(t){let e=this._objects.length=Ss(t,"length");for(let t=this._objectsDirtyIndex;tr)&&(this._objectsDirtyIndex=r),this._lengthDirty=!0,Vs(this,e,n,i,!1)}_invalidate(){this._objectsDirtyIndex=0,this._lengthDirty=!0}_revalidate(){if(!0!==this._arrangedContentIsUpdating&&(null===this._arrangedContentTag||!de(this._arrangedContentTag,this._arrangedContentRevision))){let t=this.get("arrangedContent");null===this._arrangedContentTag?this._addArrangedContentArrayObserver(t):(this._arrangedContentIsUpdating=!0,this._updateArrangedContentArray(t),this._arrangedContentIsUpdating=!1);let e=this._arrangedContentTag=on(this,"arrangedContent");this._arrangedContentRevision=ue(this._arrangedContentTag),H(t)?(this._lengthTag=ke([e,fr(t,"length")]),this._arrTag=ke([e,fr(t,"[]")])):this._lengthTag=this._arrTag=e}}}ES.reopen(nd,{arrangedContent:Ds("content")});const TS=Object.freeze(Object.defineProperty({__proto__:null,default:ES},Symbol.toStringTag,{value:"Module"}));class RS extends ru{}RS.PrototypeMixin.reopen(tc);const PS=Object.freeze(Object.defineProperty({__proto__:null,default:RS},Symbol.toStringTag,{value:"Module"})),IS=$l.create({reason:null,isPending:ps("isSettled",function(){return!Ss(this,"isSettled")}).readOnly(),isSettled:ps("isRejected","isFulfilled",function(){return Ss(this,"isRejected")||Ss(this,"isFulfilled")}).readOnly(),isRejected:!1,isFulfilled:!1,promise:ps({get(){throw new Error("PromiseProxy's promise must be set")},set(t,e){return function(t,e){return Qs(t,{isFulfilled:!1,isRejected:!1}),e.then(e=>(t.isDestroyed||t.isDestroying||Qs(t,{content:e,isFulfilled:!0}),e),e=>{throw t.isDestroyed||t.isDestroying||Qs(t,{reason:e,isRejected:!0}),e},"Ember: PromiseProxy")}(this,e)}}),then:MS("then"),catch:MS("catch"),finally:MS("finally")});function MS(t){return function(...e){return Ss(this,"promise")[t](...e)}}const OS=Object.freeze(Object.defineProperty({__proto__:null,default:IS},Symbol.toStringTag,{value:"Module"}));function AS(t,e,n){return t.lookup(`controller:${e}`,n)}let FS;!function(t){function e(){}t.isNamespace=!0,t.toString=function(){return"Ember"},t.Container=gl,t.Registry=El,t._setComponentManager=vS,t._componentManagerCapabilities=Ni,t._modifierManagerCapabilities=Vi,t.meta=ae,t._createCache=qe,t._cacheGetValue=$e,t._cacheIsConst=Ve,t._descriptor=Sr,t._getPath=ks,t._setClassicDecorator=Ar,t._tracked=Ms,t.beginPropertyChanges=os,t.changeProperties=ls,t.endPropertyChanges=as,t.hasListeners=Br,t.libraries=Rs,t._ContainerProxyMixin=Yl,t._ProxyMixin=tc,t._RegistryProxyMixin=Hl,t.ActionHandler=Zl,t.Comparable=Xl,t.ComponentLookup=ex,t.EventDispatcher=eu,t._Cache=sr,t.GUID_KEY=Q,t.canInvoke=Kw,t.generateGuid=tt,t.guidFor=et,t.uuid=Y,t.wrap=mt,t.getOwner=cx,t.onLoad=pl,t.runLoadHooks=fl,t.setOwner=hx,t.Application=ux,t.ApplicationInstance=Ww,t.Namespace=Yw,t.A=sd,t.Array=ed,t.NativeArray=id,t.isArray=Ju,t.makeArray=mh,t.MutableArray=nd,t.ArrayProxy=ES,t.FEATURES={isEnabled:dS,...uS},t._Input=$v,t.Component=Eb,t.Helper=Pb,t.Controller=cd,t.ControllerMixin=ld,t._captureRenderTree=A,t.assert=y,t.warn=z,t.debug=j,t.deprecate=V,t.deprecateFunc=$,t.runInDebug=U,t.inspect=I,t.Debug={registerDeprecationHandler:_,registerWarnHandler:x,isComputed:gs},t.ContainerDebugAdapter=tx,t.DataAdapter=SS,t._assertDestroyablesDestroyed=Dt,t._associateDestroyableChild=Gt,t._enableDestroyableTracking=jt,t._isDestroying=Yt,t._isDestroyed=Xt,t._registerDestructor=wx,t._unregisterDestructor=xx,t.destroy=Ht,t.Engine=ox,t.EngineInstance=fd,t.Enumerable=ec,t.MutableEnumerable=nc,t.instrument=lu,t.subscribe=du,t.Instrumentation={instrument:lu,subscribe:du,unsubscribe:pu,reset:fu},t.Object=Ph,t._action=Oh,t.computed=ps,t.defineProperty=ms,t.get=Ss,t.getProperties=Js,t.notifyPropertyChange=ss,t.observer=Ah,t.set=Ls,t.trySet=js,t.setProperties=Qs,t.cacheFor=Fs,t._dependentKeyCompat=md,t.ComputedProperty=hs,t.expandProperties=Lr,t.CoreObject=Ch,t.Evented=nu,t.on=qr,t.addListener=Dr,t.removeListener=Nr,t.sendEvent=Ur,t.Mixin=$l,t.mixin=Bl,t.Observable=Th,t.addObserver=Wr,t.removeObserver=Hr,t.PromiseProxyMixin=IS,t.ObjectProxy=RS,t.RouterDSL=Lp,t.controllerFor=AS,t.generateController=fp,t.generateControllerFactory=pp,t.HashLocation=vf,t.HistoryLocation=xf,t.NoneLocation=Sf,t.Route=kp,t.Router=af,t.run=ya,t.Service=$f,t.compare=Nu,t.isBlank=pS,t.isEmpty=kf,t.isEqual=gS,t.isNone=Cf,t.isPresent=fS,t.typeOf=zu,t.VERSION=or,t.ViewUtils={getChildViews:Kh,getElementView:Bh,getRootViews:jh,getViewBounds:Xh,getViewBoundingClientRect:Qh,getViewClientRects:Jh,getViewElement:qh,isSimpleClick:Lh,isSerializationFirstNode:uv},t._getComponentTemplate=Ji,t._helperManagerCapabilities=_i,t._setComponentTemplate=Zi,t._setHelperManager=Ki,t._setModifierManager=Hi,t._templateOnlyComponent=Dy,t._invokeHelper=g_,t._hash=d_,t._array=a_,t._concat=c_,t._get=u_,t._on=b_,t._fn=h_,t._Backburner=ua,t.inject=e,e.controller=hd,e.service=qf,t.__loader={get require(){return globalThis.require},get define(){return globalThis.define},get registry(){let t=globalThis;return t.requirejs?.entries??t.require.entries}}}(FS||(FS={})),Reflect.set(FS,"RSVP",ph),Object.defineProperty(FS,"ENV",{get:m,enumerable:!1}),Object.defineProperty(FS,"lookup",{get:p,set:f,enumerable:!1}),Object.defineProperty(FS,"onerror",{get:ko,set:function(t){So=t},enumerable:!1}),Object.defineProperty(FS,"testing",{get:b,set:w,enumerable:!1}),Object.defineProperty(FS,"BOOTED",{configurable:!1,enumerable:!1,get:mo,set:yo}),Object.defineProperty(FS,"TEMPLATES",{get:_S,set:yS,configurable:!1,enumerable:!1}),Object.defineProperty(FS,"TEMPLATES",{get:_S,set:yS,configurable:!1,enumerable:!1}),Object.defineProperty(FS,"testing",{get:b,set:w,enumerable:!1}),fl("Ember.Application",ux);let LS={template:em,Utils:{}},zS={template:em};function jS(t){Object.defineProperty(FS,t,{configurable:!0,enumerable:!0,get:()=>"Handlebars"===t?LS:zS})}function DS(t){Object.defineProperty(FS,t,{configurable:!0,enumerable:!0,get(){}})}jS("HTMLBars"),jS("Handlebars"),DS("Test"),DS("setupForTesting"),fl("Ember"),new Proxy(FS,{get:(t,e,n)=>("string"==typeof e&&Bf(`importing ${e} from the 'ember' barrel file is deprecated.`,Uf.DEPRECATE_IMPORT_EMBER(e)),Reflect.get(t,e,n)),getOwnPropertyDescriptor:(t,e)=>("string"==typeof e&&Bf(`importing ${e} from the 'ember' barrel file is deprecated.`,Uf.DEPRECATE_IMPORT_EMBER(e)),Object.getOwnPropertyDescriptor(t,e))});const NS=new WeakMap;function US(t,e,...n){if(t[e],t.isDestroying)return;"boolean"==typeof n[n.length-1]&&n[n.length-2];let i=NS.get(t);var r;let s;i||(i=new Map,NS.set(t,i),wx(t,(r=i,function(){0!==r.size&&r.forEach(t=>ka(t.cancelId))}))),s=i.has(e)?i.get(e).debouncedTask:(...n)=>{i.delete(e),t[e](...n)};let o=Ea(t,s,...n);i.set(e,{debouncedTask:s,cancelId:o})}class BS extends $f{rs;widget;static{Px(this.prototype,"placesInView",[Ms],function(){return[]})}#B=void Mx(this,"placesInView");static{Px(this.prototype,"savedPlaces",[Ms],function(){return[]})}#q=void Mx(this,"savedPlaces");static{Px(this.prototype,"loadedPrefixes",[Ms],function(){return[]})}#$=void Mx(this,"loadedPrefixes");static{Px(this.prototype,"currentBbox",[Ms],function(){return null})}#V=void Mx(this,"currentBbox");static{Px(this.prototype,"lists",[Ms],function(){return[]})}#G=void Mx(this,"lists");static{Px(this.prototype,"version",[Ms],function(){return 0})}#W=void Mx(this,"version");static{Px(this.prototype,"initialSyncDone",[Ms],function(){return!1})}#H=void Mx(this,"initialSyncDone");static{Px(this.prototype,"connected",[Ms],function(){return!1})}#K=void Mx(this,"connected");static{Px(this.prototype,"userAddress",[Ms],function(){return null})}#Y=void Mx(this,"userAddress");static{Px(this.prototype,"isWidgetOpen",[Ms],function(){return!1})}#X=void Mx(this,"isWidgetOpen");constructor(){super(...arguments),this.rs=new Yx({modules:[sS]}),this.rs.access.claim("places","rw"),this.rs.caching.enable("/places/"),window.remoteStorage=this.rs,this.widget=new lS(this.rs,{leaveOpen:!0,skipInitial:!0}),this.rs.on("ready",()=>{}),this.rs.on("connected",()=>{this.connected=!0,this.userAddress=this.rs.remote.userAddress,this.loadLists()}),this.rs.on("not-connected",()=>{this.loadLists()}),this.rs.on("disconnected",()=>{this.connected=!1,this.userAddress=null,this.placesInView=[],this.savedPlaces=[],this.loadedPrefixes=[],this.lists=[],this.initialSyncDone=!1}),this.rs.on("sync-done",()=>{this.initialSyncDone||(this.initialSyncDone=!0,this.loadLists())}),this.rs.scope("/places/").on("change",t=>{t.relativePath.startsWith("_lists/")?this.loadLists():(this.handlePlaceChange(t),US(this,"reloadCurrentView",200))})}handlePlaceChange(t){const{newValue:e,relativePath:n}=t,i=n.split("/"),r=i[i.length-1];if(e){const t={...e,id:r},n=this.savedPlaces.findIndex(t=>t.id===r);if(-1!==n){const e=[...this.savedPlaces];e[n]=t,this.savedPlaces=e}else this.savedPlaces=[...this.savedPlaces,t]}else this.savedPlaces=this.savedPlaces.filter(t=>t.id!==r)}get places(){return this.rs.places}notifyChange(){this.version++,US(this,"reloadCurrentView",200)}reloadCurrentView(){if(!this.currentBbox)return;const t=cS(this.currentBbox);console.debug("Reloading view due to changes, prefixes:",t),this.loadAllPlaces(t)}async loadLists(){try{if(!this.places.lists)return;await this.places.lists.initDefaults();const t=await this.places.lists.getAll();this.lists=t||[],this.lists.forEach(t=>{"to-go"===t.id?t.icon="bookmark":"to-do"===t.id&&(t.icon="check-square")}),this.refreshPlaceListAssociations()}catch(t){console.error("Failed to load lists:",t)}}refreshPlaceListAssociations(){const t=new Map;this.lists.forEach(e=>{e.placeRefs&&Array.isArray(e.placeRefs)&&e.placeRefs.forEach(n=>{n.id&&(t.has(n.id)||t.set(n.id,[]),t.get(n.id).push(e.id))})});const e=e=>{const n=t.get(e.id)||[];return e._listIds=n,e};this.savedPlaces=this.savedPlaces.map(t=>e({...t})),this.placesInView=this.placesInView.map(t=>e({...t}))}async togglePlaceList(t,e,n){if(!t)return;let i=t;if(!t.id||!t.geohash){if(!n)return;i=await this.storePlace(t)}try{return n?await this.places.lists.addPlace(e,i.id,i.geohash):await this.places.lists.removePlace(e,i.id),await this.loadLists(),this.findPlaceById(i.id)}catch(r){throw console.error("Failed to toggle place in list:",r),r}}async loadPlacesInBounds(t){const e=cS(t).filter(t=>!this.loadedPrefixes.includes(t));0!==e.length&&(console.debug("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.placesInView.filter(t=>{if(!t.lat||!t.lon)return!1;try{const e=Zx.encode(t.lat,t.lon,4);return!n.has(e)}catch{return!0}});this.placesInView=[...i,...e]}else this.placesInView=e;this.refreshPlaceListAssociations()}else t||(this.placesInView=[]);console.debug("Loaded saved places:",this.placesInView.length)}catch(e){console.error("Failed to load places:",e)}}findPlaceById(t){if(!t)return;const e=String(t);let n=this.savedPlaces.find(t=>t.id&&String(t.id)===e);return n||(n=this.placesInView.find(t=>t.id&&String(t.id)===e),n||(n=this.savedPlaces.find(t=>t.osmId&&String(t.osmId)===e),n||(n=this.placesInView.find(t=>t.osmId&&String(t.osmId)===e),n)))}isPlaceSaved(t){return!!this.findPlaceById(t)}async storePlace(t){const e=await this.places.store(t);return this.savedPlaces.some(t=>t.id===e.id)?this.savedPlaces=this.savedPlaces.map(t=>t.id===e.id?e:t):this.savedPlaces=[...this.savedPlaces,e],this.placesInView.some(t=>t.id===e.id)?this.placesInView=this.placesInView.map(t=>t.id===e.id?e:t):this.placesInView=[...this.placesInView,e],e}async updatePlace(t){const e=await this.places.store(t),n=this.savedPlaces.findIndex(t=>t.id===e.id);if(-1!==n){const t=[...this.savedPlaces];t[n]=e,this.savedPlaces=t}return this.placesInView=this.placesInView.map(t=>t.id===e.id?e:t),e}async removePlace(t){await this.places.remove(t.id,t.geohash),this.savedPlaces=this.savedPlaces.filter(e=>e.id!==t.id),this.placesInView.length>0&&(this.placesInView=this.placesInView.filter(e=>e.id!==t.id))}connect(){this.isWidgetOpen=!0,document.querySelector(".rs-widget")||this.widget.attach("rs-widget-container")}static{Ix(this.prototype,"connect",[Oh])}closeWidget(){this.isWidgetOpen=!1}static{Ix(this.prototype,"closeWidget",[Oh])}disconnect(){this.rs.disconnect(),this.isWidgetOpen=!1}static{Ix(this.prototype,"disconnect",[Oh])}}const qS=Object.freeze(Object.defineProperty({__proto__:null,default:BS},Symbol.toStringTag,{value:"Module"}));function $S(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 VS=Object.freeze(Object.defineProperty({__proto__:null,getDistance:$S},Symbol.toStringTag,{value:"Module"})),GS={"arrow-left":'',activity:'',bookmark:'',"check-square":'',clock:'',edit:'',facebook:'',globe:'',home:'',instagram:'',"log-in":'',"log-out":'',mail:'',map:'',"map-pin":'',menu:'',navigation:'',phone:'',plus:'',server:'',search:'',settings:'',target:'',user:'',wikipedia:'\n\n\n',x:'',zap:''};function WS(t){return GS[t]}const HS=Object.freeze(Object.defineProperty({__proto__:null,getIcon:WS},Symbol.toStringTag,{value:"Module"}));function KS(t){return{title:t.title||zx(t.osmTags,"Untitled Place"),lat:t.lat,lon:t.lon,tags:[],url:t.osmTags?.website,osmId:String(t.osmId||t.id),osmType:t.osmType,osmTags:t.osmTags||{},description:t.description}}const YS=Object.freeze(Object.defineProperty({__proto__:null,mapToStorageSchema:KS},Symbol.toStringTag,{value:"Module"}));function XS(t,e){if(!t)return null;const n=`${e}.com`,i=((t,...e)=>{for(const n of e)if(t[n])return t[n];return null})(t,`contact:${e}`,e);if(!i)return null;if(i.startsWith("http"))try{const t=new URL(i);return"facebook"===e&&"/profile.php"===t.pathname&&t.searchParams.has("id")?{url:i,username:t.searchParams.get("id")}:{url:i,username:t.pathname.replace(/^\/|\/$/g,"")||i}}catch{return{url:i,username:i}}const r=i.replace(/^@/,"");return{url:`https://${n}/${r}`,username:r}}const ZS=Object.freeze(Object.defineProperty({__proto__:null,getSocialInfo:XS},Symbol.toStringTag,{value:"Module"}));function JS(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 QS(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 tC(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 eC,nC,iC,rC,sC;const oC="undefined"!=typeof FastBoot,aC="routeDidChange",lC=["separator","prepend","replace"];let cC=(eC=qf("router"),nC=qf("-document"),iC=class extends $f{constructor(t){if(super(t),QS(this,"router",rC,this),QS(this,"document",sC,this),JS(this,"tokens",[]),JS(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),JS(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&&lC.forEach(t=>{if(!kf(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(aC,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(!oC)return;const e=this.document.head,n=e.childNodes;for(let s=0;snew yC(t),_C);const vC=Object.freeze(Object.defineProperty({__proto__:null,default:_C},Symbol.toStringTag,{value:"Module"})),bC=Hi,wC=h_;function xC(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:Ju(t)?0!==t.length:!!t}class SC extends Pb{compute(t){for(let e=0,n=t.length;e[zb],isStrictMode:!0}),this)}}class EC extends _C{static{Px(this.prototype,"title",[Ms],function(){return""})}#Z=void Mx(this,"title");static{Px(this.prototype,"description",[Ms],function(){return""})}#J=void Mx(this,"description");constructor(){super(...arguments),this.title=this.args.place?.title||"",this.description=this.args.place?.description||""}get shouldAutofocus(){return"undefined"!=typeof window&&window.innerWidth>768}handleSubmit(t){t.preventDefault(),this.args.onSave&&this.args.onSave({title:this.title,description:this.description})}static{Ix(this.prototype,"handleSubmit",[Oh])}updateTitle(t){this.title=t.target.value}static{Ix(this.prototype,"updateTitle",[Oh])}updateDescription(t){this.description=t.target.value}static{Ix(this.prototype,"updateDescription",[Oh])}static{Zi(em({id:null,block:'[[[11,"form"],[24,0,"edit-form"],[4,[32,0],["submit",[30,0,["handleSubmit"]]],null],[12],[1,"\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","edit-title"],[12],[1,"Title"],[13],[1,"\\n"],[1," "],[11,"input"],[24,1,"edit-title"],[16,2,[30,0,["title"]]],[24,0,"form-control"],[24,"placeholder","Name of the place"],[16,"autofocus",[30,0,["shouldAutofocus"]]],[24,4,"text"],[4,[32,0],["input",[30,0,["updateTitle"]]],null],[12],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","edit-desc"],[12],[1,"Description"],[13],[1,"\\n "],[11,"textarea"],[24,1,"edit-desc"],[16,2,[30,0,["description"]]],[24,0,"form-control"],[24,"rows","3"],[24,"placeholder","Add some details..."],[4,[32,0],["input",[30,0,["updateDescription"]]],null],[12],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"edit-actions"],[12],[1,"\\n "],[10,"button"],[14,0,"btn btn-blue"],[14,4,"submit"],[12],[1,"Save"],[13],[1,"\\n "],[11,"button"],[24,0,"btn btn-outline"],[24,4,"button"],[4,[32,0],["click",[30,1]],null],[12],[1,"Cancel"],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@onCancel"],[]]',moduleName:"/home/basti/src/marco/app/components/place-edit-form.gjs",scope:()=>[Cv],isStrictMode:!0}),this)}}class TC{capabilities=Vi();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}){Ht(t)}}bC(t=>new TC(t),class{constructor(t,e){hx(this,t)}modify(t,e,n){}});const RC=new class{capabilities=Vi();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 PC(t){return t.toString=()=>t.name,bC(()=>RC,t)}const IC=PC((t,[e])=>{const n=n=>{t&&!t.contains(n.target)&&e(n)},i=setTimeout(()=>{document.addEventListener("click",n)},0);return()=>{clearTimeout(i),document.removeEventListener("click",n)}});class MC extends _C{static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"_forceClear",[Ms],function(){return!1})}#et=void Mx(this,"_forceClear");get isSaved(){return this.args.isSaved}get placeListIds(){return this._forceClear?[]:this.args.place._listIds||[]}styleFor(t){return zb(`background-color: ${t}`)}isInList(t){return!!this.placeListIds&&this.placeListIds.includes(t.id)}static{Ix(this.prototype,"isInList",[Oh])}async toggleSaved(){if(this.isSaved){const{osmId:t,osmType:e}=this.args.place;if(await this.storage.removePlace(this.args.place),this.args.place&&(this.args.place.id=null,this.args.place.createdAt=null,this.args.place._listIds=[],this._forceClear=!0),t&&e){const t={...this.args.place};delete t.id,delete t.createdAt,delete t._listIds,this.router.transitionTo("place",t)}else this.router.transitionTo("index");this.args.onClose&&this.args.onClose()}else await this.storage.storePlace(this.args.place)}static{Ix(this.prototype,"toggleSaved",[Oh])}async toggleList(t){const e=!this.placeListIds.includes(t.id);e&&!this.isSaved&&await this.storage.storePlace(this.args.place);try{await this.storage.togglePlaceList(this.args.place,t.id,e)}catch(n){console.error(n),alert("Failed to update list: "+n.message)}}static{Ix(this.prototype,"toggleList",[Oh])}static{Zi(em({id:null,block:'[[[11,0],[24,0,"place-lists-manager"],[4,[32,0],[[30,1]],null],[12],[1,"\\n "],[10,0],[14,0,"list-item master-toggle"],[12],[1,"\\n "],[10,"label"],[12],[1,"\\n "],[11,"input"],[16,"checked",[30,0,["isSaved"]]],[24,4,"checkbox"],[4,[32,1],["change",[30,0,["toggleSaved"]]],null],[12],[13],[1,"\\n "],[10,1],[14,0,"list-color"],[12],[13],[1,"\\n "],[10,1],[14,0,"list-name"],[12],[1,"Saved places"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"divider"],[12],[13],[1,"\\n\\n "],[10,0],[14,0,"lists-container"],[12],[1,"\\n"],[42,[28,[31,1],[[28,[31,1],[[30,0,["storage","lists"]]],null]],null],null,[[[1," "],[10,0],[14,0,"list-item"],[12],[1,"\\n "],[10,"label"],[12],[1,"\\n "],[11,"input"],[16,"checked",[28,[30,0,["isInList"]],[[30,2]],null]],[16,"disabled",[52,[51,[30,0,["isSaved"]]],true]],[24,4,"checkbox"],[4,[32,1],["change",[28,[32,2],[[30,0,["toggleList"]],[30,2]],null]],null],[12],[13],[1,"\\n"],[1," "],[10,1],[14,0,"list-color"],[15,5,[28,[30,0,["styleFor"]],[[30,2,["color"]]],null]],[12],[13],[1,"\\n "],[10,1],[14,0,"list-name"],[12],[1,[30,2,["title"]]],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[2]],null],[1," "],[13],[1,"\\n"],[13]],["@onClose","list"],["each","-track-array","unless"]]',moduleName:"/home/basti/src/marco/app/components/place-lists-manager.gjs",scope:()=>[IC,Cv,wC],isStrictMode:!0}),this)}}class OC extends _C{static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"isEditing",[Ms],function(){return!1})}#nt=void Mx(this,"isEditing");static{Px(this.prototype,"showLists",[Ms],function(){return!1})}#it=void Mx(this,"showLists");get isSaved(){return this.storage.isPlaceSaved(this.place.id||this.place.osmId)}get place(){return this.args.place||{}}get saveablePlace(){return this.place.createdAt?this.place:KS(this.place)}get tags(){return this.place.osmTags||{}}get name(){return this.place.title||zx(this.tags)||"Unnamed Place"}startEditing(){this.isSaved&&(this.isEditing=!0)}static{Ix(this.prototype,"startEditing",[Oh])}cancelEditing(){this.isEditing=!1}static{Ix(this.prototype,"cancelEditing",[Oh])}toggleLists(t){t&&t.stopPropagation(),this.showLists=!this.showLists}static{Ix(this.prototype,"toggleLists",[Oh])}closeLists(){this.showLists=!1}static{Ix(this.prototype,"closeLists",[Oh])}async saveChanges(t){this.args.onSave&&await this.args.onSave({...this.place,...t}),this.isEditing=!1}static{Ix(this.prototype,"saveChanges",[Oh])}get type(){return Dx(this.tags)}get address(){const t=this.tags,e=[],n=(...e)=>{for(const n of e)if(t[n])return t[n];return null};let i=n("addr:street","street");const r=n("addr:housenumber","housenumber");i&&(r&&(i=`${i} ${r}`),e.push(i));let s=n("addr:city","city");const o=n("addr:postcode","postcode");s&&(o&&(s=`${o} ${s}`),e.push(s));const a=n("addr:state","state"),l=n("addr:country","country");return a&&a!==s&&e.push(a),l&&e.push(l),0===e.length?null:e.join(", ")}formatMultiLine(t,e){if(!t)return null;const n=t.split(";").map(t=>t.trim()).filter(Boolean);return 0===n.length?null:zb("phone"===e?n.map(t=>`${t}`).join("
"):"email"===e?n.map(t=>`${t}`).join("
"):"url"===e?n.map(t=>`${this.getDomain(t)}`).join("
"):n.join("
"))}get phone(){const t=this.tags.phone||this.tags["contact:phone"];return this.formatMultiLine(t,"phone")}get email(){const t=this.tags.email||this.tags["contact:email"];return this.formatMultiLine(t,"email")}get website(){const t=this.place.url||this.tags.website||this.tags["contact:website"];return this.formatMultiLine(t,"url")}getDomain(t){try{return new URL(t).hostname}catch{return t}}get openingHours(){const t=this.tags.opening_hours;return this.formatMultiLine(t)}get cuisine(){return this.tags.cuisine?this.tags.cuisine.split(";").map(t=>Fx(t)).join(", "):null}get facebook(){return XS(this.tags,"facebook")}get instagram(){return XS(this.tags,"instagram")}get wikipedia(){const t=this.tags.wikipedia;return t?t.split(";").map(t=>t.trim()).filter(Boolean)[0]:null}get geoLink(){const t=this.place.lat,e=this.place.lon;return t&&e?`geo:${t},${e}?q=${t},${e}(${encodeURIComponent(this.name)})`:"#"}get visibleGeoLink(){const t=this.place.lat,e=this.place.lon;return t&&e?`${Number(t).toFixed(6)}, ${Number(e).toFixed(6)}`:""}get osmUrl(){const t=this.place.osmId;return t?`https://www.openstreetmap.org/${this.place.osmType||"node"}/${t}`:null}get gmapsUrl(){return this.place.gmapsId||this.place.osmId?`https://www.google.com/maps/search/?api=1&query=${this.name}&query=${this.place.lat},${this.place.lon}`:null}get showDescription(){return"photon"!==this.place.source&&!!this.place.description}static{Zi(em({id:null,block:'[[[10,0],[14,0,"place-details"],[12],[1,"\\n"],[41,[30,0,["isEditing"]],[[[1," "],[8,[32,0],null,[["@place","@onSave","@onCancel"],[[30,0,["place"]],[30,0,["saveChanges"]],[30,0,["cancelEditing"]]]],null],[1,"\\n"]],[]],[[[1," "],[10,"h3"],[12],[1,[30,0,["name"]]],[13],[1,"\\n "],[10,2],[14,0,"place-type"],[12],[1,"\\n "],[1,[30,0,["type"]]],[1,"\\n "],[13],[1,"\\n"],[41,[30,0,["showDescription"]],[[[1," "],[10,2],[14,0,"place-description"],[12],[1,"\\n "],[1,[30,0,["place","description"]]],[1,"\\n "],[13],[1,"\\n"]],[]],null]],[]]],[1,"\\n "],[10,0],[14,0,"actions"],[12],[1,"\\n "],[10,0],[14,0,"save-button-wrapper"],[12],[1,"\\n "],[11,"button"],[16,0,[52,[30,0,["isSaved"]],"btn btn-secondary","btn btn-outline"]],[24,4,"button"],[4,[32,1],["click",[30,0,["toggleLists"]]],null],[12],[1,"\\n "],[8,[32,2],null,[["@name","@color"],["bookmark",[52,[30,0,["isSaved"]],"currentColor","#007bff"]]],null],[1,"\\n "],[1,[52,[30,0,["isSaved"]],"Saved","Save"]],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,0,["showLists"]],[[[1," "],[8,[32,3],null,[["@place","@onClose","@isSaved"],[[30,0,["saveablePlace"]],[30,0,["closeLists"]],[30,0,["isSaved"]]]],null],[1,"\\n"]],[]],null],[1," "],[13],[1,"\\n\\n"],[41,[30,0,["isSaved"]],[[[1," "],[11,"button"],[24,0,"btn btn-outline"],[24,"title","Edit"],[24,4,"button"],[4,[32,1],["click",[30,0,["startEditing"]]],null],[12],[1,"\\n "],[8,[32,2],null,[["@name","@color"],["edit","#007bff"]],null],[1,"\\n Edit\\n "],[13],[1,"\\n"]],[]],null],[1," "],[13],[1,"\\n\\n "],[10,0],[14,0,"meta-info"],[12],[1,"\\n\\n"],[41,[30,0,["cuisine"]],[[[1," "],[10,2],[14,0,"cuisine-info"],[12],[1,"\\n "],[10,"strong"],[12],[1,"Cuisine:"],[13],[1,"\\n "],[1,[30,0,["cuisine"]]],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["openingHours"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["clock","Opening hours"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[1,[30,0,["openingHours"]]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["phone"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["phone","Phone"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[1,[30,0,["phone"]]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["website"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["globe","Website"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[1,[30,0,["website"]]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["email"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["mail","Email"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[1,[30,0,["email"]]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["facebook"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["facebook","Facebook"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[10,3],[15,6,[30,0,["facebook","url"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,"\\n "],[1,[30,0,["facebook","username"]]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["instagram"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["instagram","Instagram"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[10,3],[15,6,[30,0,["instagram","url"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,"\\n "],[1,[30,0,["instagram","username"]]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["wikipedia"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title","@filled"],["wikipedia","Wikipedia",true]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[10,3],[15,6,[29,["https://wikipedia.org/wiki/",[30,0,["wikipedia"]]]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,"\\n Wikipedia\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"meta-info"],[12],[1,"\\n\\n"],[41,[30,0,["address"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["home","Address"]],null],[1,"\\n "],[10,1],[12],[1,[30,0,["address"]]],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@title"],["map-pin","Geo link"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[10,3],[15,6,[30,0,["geoLink"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,"\\n "],[1,[30,0,["visibleGeoLink"]]],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,0,["osmUrl"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name"],["map"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[10,3],[15,6,[30,0,["osmUrl"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,"\\n OpenStreetMap\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["gmapsUrl"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,2],null,[["@name"],["map"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[10,3],[15,6,[30,0,["gmapsUrl"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[1,"\\n Google Maps\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n "],[13],[1,"\\n"],[13]],[],["if"]]',moduleName:"/home/basti/src/marco/app/components/place-details.gjs",scope:()=>[EC,Cv,kC,MC],isStrictMode:!0}),this)}}const AC=Fb(function([t]){return Fx(t)});class FC extends _C{static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");createNewPlace(){const t=this.router.currentRoute.queryParams,e=t.lat,n=t.lon;e&&n?this.router.transitionTo("place.new",{queryParams:{lat:e,lon:n}}):this.router.transitionTo("place.new",{queryParams:{lat:0,lon:0}})}static{Ix(this.prototype,"createNewPlace",[Oh])}selectPlace(t){this.args.onSelect&&this.args.onSelect(t)}static{Ix(this.prototype,"selectPlace",[Oh])}clearSelection(){this.args.onSelect&&this.args.onSelect(null)}static{Ix(this.prototype,"clearSelection",[Oh])}async toggleSave(t){if(t)if(t.createdAt)try{if(await this.storage.removePlace(t),console.debug("Place deleted:",t.title),this.args.onBookmarkChange&&this.args.onBookmarkChange(),this.args.onUpdate){const e={...t,id:void 0,geohash:void 0,createdAt:void 0};this.args.onUpdate(e)}this.args.onSelect&&this.args.onSelect(null),this.args.onClose&&this.args.onClose()}catch(e){console.error("Failed to delete:",e),alert("Failed to delete: "+e.message)}else{const e={title:zx(t.osmTags,"Untitled Place"),lat:t.lat,lon:t.lon,tags:[],url:t.osmTags.website,osmId:String(t.osmId||t.id),osmType:t.osmType,osmTags:t.osmTags};try{const t=await this.storage.storePlace(e);console.debug("Place saved:",e.title),this.args.onBookmarkChange&&this.args.onBookmarkChange(),this.args.onUpdate&&this.args.onUpdate(t),this.args.onSelect&&this.args.onSelect(t)}catch(wN){console.error("Failed to save place:",wN),alert("Failed to save place: "+wN.message)}}}static{Ix(this.prototype,"toggleSave",[Oh])}async updateBookmark(t){try{const e=await this.storage.updatePlace(t);console.debug("Place updated:",e.title),this.args.onBookmarkChange&&this.args.onBookmarkChange(),this.args.onUpdate&&this.args.onUpdate(e)}catch(e){console.error("Failed to update place:",e),alert("Failed to update place: "+e.message)}}static{Ix(this.prototype,"updateBookmark",[Oh])}get isNearbySearch(){const t=this.router.currentRoute.queryParams;return!t.q&&t.lat&&t.lon}static{Zi(em({id:null,block:'[[[10,0],[14,0,"sidebar"],[12],[1,"\\n "],[10,0],[14,0,"sidebar-header"],[12],[1,"\\n"],[41,[30,1],[[[1," "],[11,"button"],[24,0,"back-btn"],[24,4,"button"],[4,[32,0],["click",[30,0,["clearSelection"]]],null],[12],[8,[32,1],null,[["@name","@size","@color"],["arrow-left",20,"#333"]],null],[13],[1,"\\n"]],[]],[[[41,[30,0,["isNearbySearch"]],[[[1," "],[10,"h2"],[12],[8,[32,1],null,[["@name","@size","@color"],["target",20,"#ea4335"]],null],[1,"\\n Nearby"],[13],[1,"\\n"]],[]],[[[1," "],[10,"h2"],[12],[8,[32,1],null,[["@name","@size","@color"],["search",20,"#333"]],null],[1," Results"],[13],[1,"\\n"]],[]]]],[]]],[1," "],[11,"button"],[24,0,"close-btn"],[24,4,"button"],[4,[32,0],["click",[30,2]],null],[12],[8,[32,1],null,[["@name","@size","@color"],["x",20,"#333"]],null],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"sidebar-content"],[12],[1,"\\n"],[41,[30,1],[[[1," "],[8,[32,2],null,[["@place","@onToggleSave","@onSave"],[[30,1],[30,0,["toggleSave"]],[30,0,["updateBookmark"]]]],null],[1,"\\n"]],[]],[[[41,[30,3],[[[1," "],[10,"ul"],[14,0,"places-list"],[12],[1,"\\n"],[42,[28,[31,2],[[28,[31,2],[[30,3]],null]],null],null,[[[1," "],[10,"li"],[12],[1,"\\n "],[11,"button"],[24,0,"place-item"],[24,4,"button"],[4,[32,0],["click",[28,[32,3],[[30,0,["selectPlace"]],[30,4]],null]],null],[12],[1,"\\n "],[10,0],[14,0,"place-name"],[12],[1,[28,[32,4],[[30,4,["title"]],[30,4,["osmTags","name"]],[30,4,["osmTags","name:en"]],"Unnamed Place"],null]],[13],[1,"\\n "],[10,0],[14,0,"place-type"],[12],[1,"\\n"],[41,[28,[32,5],[[30,4,["source"]],"osm"],null],[[[1," "],[1,[28,[32,6],[[30,4,["type"]]],null]],[1,"\\n"]],[]],[[[41,[28,[32,5],[[30,4,["source"]],"photon"],null],[[[1," "],[1,[30,4,["description"]]],[1,"\\n"]],[]],[[[41,[30,4,["osmTags"]],[[[1," "],[1,[28,[32,6],[[28,[32,7],[[30,4,["osmTags"]]],null]],null]],[1,"\\n"]],[]],[[[41,[30,4,["description"]],[[[1," "],[1,[30,4,["description"]]],[1,"\\n "]],[]],null]],[]]],[1," "]],[]]]],[]]],[1," "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[4]],null],[1," "],[13],[1,"\\n"]],[]],[[[41,[30,0,["isNearbySearch"]],[[[1," "],[10,2],[14,0,"empty-state"],[12],[1,"No places found nearby."],[13],[1,"\\n"]],[]],[[[1," "],[10,2],[14,0,"empty-state"],[12],[1,"No results found."],[13],[1,"\\n"]],[]]]],[]]],[1,"\\n "],[11,"button"],[24,0,"btn btn-outline create-place"],[24,4,"button"],[4,[32,0],["click",[30,0,["createNewPlace"]]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["plus",18,"#007bff"]],null],[1,"\\n Create new place\\n "],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n"],[13]],["@selectedPlace","@onClose","@places","place"],["if","each","-track-array"]]',moduleName:"/home/basti/src/marco/app/components/places-sidebar.gjs",scope:()=>[Cv,kC,OC,wC,SC,CC,AC,Dx],isStrictMode:!0}),this)}}class LC extends _C{static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");selectPlace(t){t&&(this.mapUi.returnToSearch=!0,this.router.transitionTo("place",t))}static{Ix(this.prototype,"selectPlace",[Oh])}close(){this.router.transitionTo("index")}static{Ix(this.prototype,"close",[Oh])}static{Zi(em({id:null,block:'[[[8,[32,0],null,[["@places","@onSelect","@onClose"],[[30,1],[30,0,["selectPlace"]],[30,0,["close"]]]],null]],["@model"],[]]',moduleName:"/home/basti/src/marco/app/templates/search.gjs",scope:()=>[FC],isStrictMode:!0}),this)}}const zC=Object.freeze(Object.defineProperty({__proto__:null,default:LC},Symbol.toStringTag,{value:"Module"})),jC=Object.freeze(Object.defineProperty({__proto__:null,default:class extends cd{queryParams=["lat","lon","q","selected"];lat=null;lon=null;q=null;selected=null}},Symbol.toStringTag,{value:"Module"}));class DC extends kp{static{Px(this.prototype,"osm",[qf])}#st=void Mx(this,"osm");static{Px(this.prototype,"photon",[qf])}#ot=void Mx(this,"photon");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");queryParams={lat:{refreshModel:!0},lon:{refreshModel:!0},q:{refreshModel:!0},selected:{refreshModel:!0}};async model(t){const e=t.lat?parseFloat(t.lat):null,n=t.lon?parseFloat(t.lon):null;let i=[];if(t.q){i=await this.photon.search(t.q,e,n);const r=t.q.toLowerCase();this.storage.savedPlaces.filter(t=>t.title?.toLowerCase().includes(r)||t.description?.toLowerCase().includes(r)).forEach(t=>{i.find(e=>t.osmId&&e.osmId===t.osmId||e.id&&e.id===t.id)||i.push(t)})}else if(e&&n){const t=50;i=await this.osm.getNearbyPois(e,n,t),this.storage.savedPlaces.filter(i=>$S(e,n,i.lat,i.lon)<=t).forEach(t=>{i.find(e=>t.osmId&&e.osmId===t.osmId||e.id&&e.id===t.id)||i.push(t)}),i=i.map(t=>({...t,_distance:$S(e,n,t.lat,t.lon)})).sort((t,e)=>t._distance-e._distance)}return i=i.map(t=>this.storage.findPlaceById(t.osmId)||t),i}afterModel(t,e){const{q:n,selected:i}=e.to.queryParams,r=i||n;if(r&&t.length>0){let e=null;if(e=t.find(t=>t.osmTags&&(t.osmTags.name===r||t.osmTags["name:en"]===r)),!e){const n=t[0];n._distance<=10&&(e=n)}if(e)return void this.router.replaceWith("place",e)}this.mapUi.stopSearch()}setupController(t,e){super.setupController(t,e),this.mapUi.stopSearch()}error(){return this.mapUi.stopSearch(),!0}static{Ix(this.prototype,"error",[Oh])}}const NC=Object.freeze(Object.defineProperty({__proto__:null,default:DC},Symbol.toStringTag,{value:"Module"}));var UC,BC,qC;let $C=(UC=qf("page-title"),qC=tC((BC=class extends Pb{constructor(t){super(t),QS(this,"tokens",qC,this),JS(this,"tokenId",et(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",[UC],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),BC);const VC="add",GC="remove",WC="propertychange",HC="change",KC="contextmenu",YC="click",XC="keydown",ZC="keypress",JC="touchmove",QC="wheel";class tk{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function ek(t,e){return t>e?1:te?-1:0}function ik(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]=ck,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}function mk(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 yk(t,e,n,i){return mk(t,e,n,i,!0)}function _k(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),dk(t))}class vk extends gk{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(HC)}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 Ek(VC,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 Ek(GC,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 Ek(GC,n,t)),this.dispatchEvent(new Ek(VC,e,t))}updateLength_(){this.set(kk,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 Pk(Ik.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==Ik.POINTERUP||e.type==Ik.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!=Ik.POINTERDOWN&&e.type!=Ik.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new Pk(Ik.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(_k),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 Pk(Ik.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(mk(t,Ik.POINTERMOVE,this.handlePointerMove_,this),mk(t,Ik.POINTERUP,this.handlePointerUp_,this),mk(this.element_,Ik.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(mk(this.element_.getRootNode(),Ik.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new Pk(Ik.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 Pk(Ik.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_&&(_k(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(JC,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(_k(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(_k),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const Bk="postrender",qk="loadstart",$k="loadend",Vk="layergroup",Gk="size",Wk="target",Hk="view";function Kk(t,e){if(!t)throw new Error(e)}const Yk=1/0;class Xk{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,dk(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){Kk(!(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!=Yk&&(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(HC,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(HC,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 Jk={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function Qk(t,e,n){return Math.min(Math.max(t,e),n)}function tE(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 eE(t,e,n,i)}function eE(t,e,n,i){const r=n-t,s=i-e;return r*r+s*s}function nE(t){return 180*t/Math.PI}function iE(t){return t*Math.PI/180}function rE(t,e){const n=t%e;return n*e<0?n+e:n}function sE(t,e,n){return t+n*(e-t)}function oE(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function aE(t,e){return Math.floor(oE(t,e))}function lE(t,e){return Math.ceil(oE(t,e))}function cE(t,e,n){if(t>=e&&tp&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=Qk(i[0],d,p),y=Qk(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 uE(t){return t}function dE(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 bE(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 wE(t){return bE(1/0,1/0,-1/0,-1/0,t)}function xE(t,e){const n=t[0],i=t[1];return bE(n,i,n,i,e)}function SE(t,e,n,i,r){return TE(wE(r),t,e,n,i)}function CE(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function kE(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function EE(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function TE(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 $E(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=BE(n),r=Math.floor((i[0]-n[0])/e)*e;t[0]-=r,t[2]-=r}return t}function WE(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]]];GE(t,e);const r=BE(i);if(BE(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 HE(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 KE(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 YE(t,e){if(e.canWrapX()){const n=BE(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||BE(i),r=Math.floor((t[0]-i[0])/n)),r}(t,e,n);i&&(t[0]-=i*n)}return t}function XE(t){return Math.pow(t,3)}function ZE(t){return 1-XE(1-t)}function JE(t){return 3*t*t-2*t*t*t}function QE(t){return t}const tT=6371008.8;function eT(t,e,n){n=n||tT;const i=iE(t[1]),r=iE(e[1]),s=(r-i)/2,o=iE(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 nT(t,e,n,i){i=i||tT;const r=iE(t[1]),s=iE(t[0]),o=e/i,a=Math.asin(Math.sin(r)*Math.cos(o)+Math.cos(r)*Math.sin(o)*Math.cos(n));return[nE(s+Math.atan2(Math.sin(n)*Math.sin(o)*Math.cos(r),Math.cos(o)-Math.sin(r)*Math.sin(a))),nE(a)]}function iT(...t){console.warn(...t)}const rT={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class sT{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_||rT[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 oT=6378137,aT=Math.PI*oT,lT=[-aT,-aT,aT,aT],cT=[-180,-85,180,85],hT=oT*Math.log(Math.tan(Math.PI/2));class uT extends sT{constructor(t){super({code:t,units:"m",extent:lT,global:!0,worldExtent:cT,getPointResolution:function(t,e){return t/Math.cosh(e[1]/oT)}})}}const dT=[new uT("EPSG:3857"),new uT("EPSG:102100"),new uT("EPSG:102113"),new uT("EPSG:900913"),new uT("http://www.opengis.net/def/crs/EPSG/0/3857"),new uT("http://www.opengis.net/gml/srs/epsg.xml#3857")],pT=[-180,-90,180,90],fT=6378137*Math.PI/180;class gT extends sT{constructor(t,e){super({code:t,units:"degrees",extent:pT,axisOrientation:e,global:!0,metersPerUnit:fT,worldExtent:pT})}}const mT=[new gT("CRS:84"),new gT("EPSG:4326","neu"),new gT("urn:ogc:def:crs:OGC:1.3:CRS84"),new gT("urn:ogc:def:crs:OGC:2:84"),new gT("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new gT("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new gT("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let yT={},_T={};function vT(t,e,n){const i=t.getCode(),r=e.getCode();i in _T||(_T[i]={}),_T[i][r]=n}function bT(t,e){return t in _T&&e in _T[t]?_T[t][e]:null}const wT=.9996,xT=.00669438,ST=xT*xT,CT=ST*xT,kT=xT/(1-xT),ET=Math.sqrt(1-xT),TT=(1-ET)/(1+ET),RT=TT*TT,PT=RT*TT,IT=PT*TT,MT=IT*TT,OT=.9983242984503243,AT=15*ST/256+45*CT/1024,FT=35*CT/3072,LT=1.5*TT-27/32*PT+269/512*MT,zT=21/16*RT-55/32*IT,jT=151/96*PT-417/128*MT,DT=1097/512*IT,NT=6378137;function UT(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/wT/(NT*OT),s=r+LT*Math.sin(2*r)+zT*Math.sin(4*r)+jT*Math.sin(6*r)+DT*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),c=o/l,h=c*c,u=h*h,d=1-xT*a,p=Math.sqrt(1-xT*a),f=kT*l**2,g=f*f,m=i/(NT/p*wT),y=m*m,_=y*m,v=_*m,b=v*m,w=s-c/((1-xT)/d)*(y/2-v/24*(5+3*h+10*f-4*g-9*kT))+b*m/720*(61+90*h+298*f+45*u-252*kT-3*g);let x=(m-_/6*(1+2*h+f)+b/120*(5-2*f+28*h-3*g+8*kT+24*u))/l;return x=cE(x+iE(qT(n.number)),-Math.PI,Math.PI),[nE(x),nE(w)]}function BT(t,e,n){t=cE(t,-180,180),e<-80?e=-80:e>84&&(e=84);const i=iE(e),r=Math.sin(i),s=Math.cos(i),o=r/s,a=o*o,l=a*a,c=iE(t),h=iE(qT(n.number)),u=NT/Math.sqrt(1-xT*r**2),d=kT*s**2,p=s*cE(c-h,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=NT*(OT*i-.002514607064228144*Math.sin(2*i)+AT*Math.sin(4*i)-FT*Math.sin(6*i)),b=wT*u*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*kT))+5e5;let w=wT*(v+u*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*kT)));return n.north||(w+=1e7),[b,w]}function qT(t){return 6*(t-1)-180+3}const $T=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function VT(t){let e=0;for(const r of $T){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 GT(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]=rE(n+180,360)-180),e}function sR(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||oR(t,e)===XT)&&n}function oR(t,e){const n=t.getCode(),i=e.getCode();let r=bT(n,i);if(r)return r;let s=null,o=null;for(const l of WT)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)r=aR(s.inverse,o.forward);else{const t=bT(n,a);t&&(r=aR(t,o.forward))}else{const t=bT(a,i);t&&(r=aR(s.inverse,t))}return r&&(JT(t),JT(e),vT(t,e,r)),r}function aR(t,e){return function(n,i,r,s){return i=t(n,i,r,s),e(i,i,r,s)}}function lR(t,e){return oR(QT(t),QT(e))}function cR(t,e,n){const i=lR(e,n);if(!i){const t=QT(e).getCode(),i=QT(n).getCode();throw new Error(`No transform available between ${t} and ${i}`)}return i(t,void 0,t.length)}function hR(t,e,n,i){return VE(t,lR(e,n),void 0,i)}function uR(t){return t}function dR(t){return KT&&!HE(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(KT=!1,iT("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function pR(t){return t}var fR,gR,mR;eR(dT),eR(mT),fR=dT,gR=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;shT?n=hT:n<-hT&&(n=-hT),e[s+1]=n}return e},mR=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 bk()}closestPointXY(t,e,n,i){return bk()}containsXY(t,e){return 0===this.closestPointXY(t,e,IR,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 bk()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&wE(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){bk()}scale(t,e,n){bk()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return bk()}getType(){return bk()}applyTransform(t){bk()}intersectsExtent(t){return bk()}translate(t,e){bk()}transform(t,e){const n=QT(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=jE(o)/jE(s);SR(PR,o[0],o[3],a,-a,0,0,0);const l=TR(t,0,t.length,r,PR,i),c=lR(n,e);return c?c(l,l,r):l}:lR(n,e);return this.applyTransform(i),this}}class OR extends MR{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return SE(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return bk()}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)u=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function NR(t,e,n,i,r){for(let s=0,o=n.length;s0;){const n=c.pop(),s=c.pop();let o=0;const a=t[s],u=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=u):(s[o++]=a,s[o++]=l,c=a,h=l,a=n,l=u)}return s[o++]=a,s[o++]=l,o}function JR(t,e,n,i,r,s,o,a){for(let l=0,c=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 iP(t,e,n,i,r,s){if(0===n.length)return!1;if(!nP(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(c=(h+u)/2,iP(t,e,n,i,c,f)&&(m=c,y=r)),h=u}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function sP(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]||oP(t,e,n,i,function(t,e){return function(t,e,n){let i=!1;const r=vE(t,e),s=vE(t,n);if(1===r||1===s)i=!0;else{const o=t[0],a=t[1],l=t[2],c=t[3],h=e[0],u=e[1],d=n[0],p=n[1],f=(p-u)/(d-h);let g,m;2&s&&!(2&r)&&(g=d-(p-c)/f,i=g>=o&&g<=l),i||!(4&s)||4&r||(m=p-(d-l)*f,i=m>=a&&m<=c),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<=c)}return i}(r,t,e)}))}function lP(t,e,n,i,r){return!!(aP(t,e,n,i,r)||nP(t,e,n,i,r[0],r[1])||nP(t,e,n,i,r[0],r[3])||nP(t,e,n,i,r[2],r[1])||nP(t,e,n,i,r[2],r[3]))}function cP(t,e,n,i,r){if(!lP(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function dP(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?rE(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&&kP(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]],KE(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?uR(t,this.getProjection()):t}getCenterInternal(){return this.get(Jk.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();Kk(e,"The view center is not defined");const n=this.getResolution();Kk(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return Kk(void 0!==i,"The view rotation is not defined"),LE(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(Jk.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(pR(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=BE(t)/e[0],i=jE(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(Jk.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=TP(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=ik(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=Qk(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,Qk(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(Kk(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))Kk(!$E(t),"Cannot fit empty extent provided as `geometry`"),n=_P(pR(t,this.getProjection()));else if("Circle"===t.getType()){const e=pR(t.getExtent(),this.getProjection());n=_P(e),n.rotate(this.getRotation(),AE(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,c=-1/0;for(let h=0,u=r.length;ht.trim().replace(/^['"]|['"]$/g,"")),n};function zP(t,e,n,i){let r;return r=n&&n.length?n.shift():Lk?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 jP;function DP(){return jP||(jP=zP(1,1)),jP}function NP(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function UP(t){let e=t.offsetWidth;const n=getComputedStyle(t);return e+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),e}function BP(t){let e=t.offsetHeight;const n=getComputedStyle(t);return e+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),e}function qP(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function $P(t){for(;t.lastChild;)t.lastChild.remove()}function VP(){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 GP(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class WP extends Ck{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=>uk(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!ok(e,this.renderedAttributions_)){$P(this.ulElement_);for(let t=0,n=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:ZE}):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(RP);t||0!==n?t&&0!==n&&this.element.classList.remove(RP):this.element.classList.add(RP)}this.label_.style.transform=t}this.rotation_=n}}class YP extends WP{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",c=document.createElement("button");c.className=i,c.setAttribute("type","button"),c.title=a,c.appendChild("string"==typeof s?document.createTextNode(s):s),c.addEventListener(YC,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(YC,this.handleClick_.bind(this,-n),!1);const u=e+" "+PP+" "+IP,d=this.element;d.className=u,d.appendChild(c),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:ZE})):e.setZoom(i)}}}function XP(t){t=t||{};const e=new Tk;return(void 0===t.zoom||t.zoom)&&e.push(new YP(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new KP(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new HP(t.attributionOptions)),e}class ZP{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 JP="active";class QP extends Ck{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(JP)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(JP,t)}setMap(t){this.map_=t}}function tI(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:ZE})}class eI extends QP{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==Ik.DBLCLICK){const n=t.originalEvent,i=t.map,r=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;tI(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function nI(t){const e=arguments;return function(t){let n=!0;for(let i=0,r=e.length;i0}}else if(t.type==Ik.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==Ik.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 pI(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 gI extends dI{constructor(t){t=t||{},super({stopDown:lk}),this.condition_=t.condition?t.condition:iI,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!hI(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===xP)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!hI(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!hI(t)||!oI(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class mI extends tk{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 yP([n])}getGeometry(){return this.geometry_}}const yI="boxcancel";class _I extends fk{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class vI extends dI{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new mI(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??oI,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 _I("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 _I(e?"boxend":yI,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 _I("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new _I(yI,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new _I(yI,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class bI extends vI{constructor(t){super({condition:(t=t||{}).condition?t.condition:lI,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:ZE})}}const wI="ArrowLeft",xI="ArrowRight",SI="ArrowDown";class CI extends QP{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return aI(t)&&cI(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==XC){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&(i==SI||i==wI||i==xI||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==SI?a=-s:i==wI?o=-s:i==xI?o=s:a=s;const l=[o,a];KE(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:QE,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class kI extends QP{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return Ak?e.metaKey:e.ctrlKey}(t)&&cI(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==XC||t.type==ZC){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&("+"===i||"-"===i)){const r=t.map,s="+"===i?this.delta_:-this.delta_;tI(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class EI extends QP{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:sI;this.condition_=t.onFocusOnly?nI(rI,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!==QC)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=-Qk(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),tI(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 TI extends dI{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=lk),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!==xP&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(pI(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 RI extends dI{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=lk),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(pI(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}}function PI(t){t=t||{};const e=new Tk,n=new ZP(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new gI),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new eI({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new fI({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new TI),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new RI({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new CI),e.push(new kI({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new EI({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new bI({duration:t.zoomDuration})),e}const II="opacity",MI="visible",OI="extent",AI="zIndex",FI="maxResolution",LI="minResolution",zI="maxZoom",jI="minZoom",DI="source";class NI extends Ck{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[II]=void 0!==t.opacity?t.opacity:1,Kk("number"==typeof e[II],"Layer opacity must be a number"),e[MI]=void 0===t.visible||t.visible,e[AI]=t.zIndex,e[FI]=void 0!==t.maxResolution?t.maxResolution:1/0,e[LI]=void 0!==t.minResolution?t.minResolution:0,e[jI]=void 0!==t.minZoom?t.minZoom:-1/0,e[zI]=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=Qk(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 bk()}getLayerStatesArray(t){return bk()}getExtent(){return this.get(OI)}getMaxResolution(){return this.get(FI)}getMinResolution(){return this.get(LI)}getMinZoom(){return this.get(jI)}getMaxZoom(){return this.get(zI)}getOpacity(){return this.get(II)}getSourceState(){return bk()}getVisible(){return this.get(MI)}getZIndex(){return this.get(AI)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(OI,t)}setMaxResolution(t){this.set(FI,t)}setMinResolution(t){this.set(LI,t)}setMaxZoom(t){this.set(zI,t)}setMinZoom(t){this.set(jI,t)}setOpacity(t){Kk("number"==typeof t,"Layer opacity must be a number"),this.set(II,t)}setVisible(t){this.set(MI,t)}setZIndex(t){this.set(AI,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const UI="addlayer",BI="removelayer";class qI extends fk{constructor(t,e){super(t),this.layer=e}}const $I="layers";class VI extends NI{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($I,this.handleLayersChanged_),n?Array.isArray(n)?n=new Tk(n.slice(),{unique:!0}):Kk("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new Tk(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(_k),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(mk(t,VC,this.handleLayersAdd_,this),mk(t,GC,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(_k);dk(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 CP?{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 XI(i,e.viewState)&&(!r||qE(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof CP?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_&&(_k(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(_k(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=mk(t,HI,this.handlePrecompose_,this),this.mapRenderKey_=mk(this,HC,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);Kk(!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(DI,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 XI(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 ZI(t,e,n=0,i=t.length-1,r=QI){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),c=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);ZI(t,e,Math.max(n,Math.floor(e-o*l/s+c)),Math.min(i,Math.floor(e+(s-o)*l/s+c)),r)}const s=t[e];let o=n,a=i;for(JI(t,n,e),r(t[i],s)>0&&JI(t,n,i);o0;)a--}0===r(t[n],s)?JI(t,n,a):(a++,JI(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function JI(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function QI(t,e){return te?1:0}let tM=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(!dM(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=pM(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,nM(n,this.toBBox),nM(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=pM([t,e]),this.data.height=t.height+1,this.data.leaf=!1,nM(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=iM(t,0,o,this.toBBox),a=iM(t,o,n,this.toBBox),l=hM(e,a),c=aM(e)+aM(a);l=e;l--){const e=t.children[l];rM(o,t.leaf?r(e):e),a+=lM(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)rM(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():nM(t[n],this.toBBox)}};function eM(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function pM(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function fM(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;ZI(t,o,e,n,r),s.push(e,o,o,n)}}const gM=[NaN,NaN,NaN,0];let mM;const yM=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,_M=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,vM=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,bM=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function wM(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function xM(t){throw new Error('failed to parse "'+t+'" as color')}function SM(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(_M)||t.match(yM)||t.match(vM);if(e){const t=e[4],n=100/255;return[Qk(wM(e[1],n)+.5|0,0,255),Qk(wM(e[2],n)+.5|0,0,255),Qk(wM(e[3],n)+.5|0,0,255),void 0!==t?Qk(wM(t,100),0,1):1]}xM(t)}if(t.startsWith("#")){if(bM.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 RM(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function PM(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function IM(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function MM(t){const e=PM(t[0]),n=PM(t[1]),i=PM(t[2]),r=IM(.222488403*e+.716873169*n+.06060791*i),s=500*(IM(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-IM(.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 OM(t){if("none"===t)return gM;if(CM.hasOwnProperty(t))return CM[t];if(kM>=1024){let t=0;for(const e in CM)3&t++||(delete CM[e],--kM)}const e=SM(t);4!==e.length&&xM(t);for(const n of e)isNaN(n)&&xM(t);return CM[t]=e,++kM,e}function AM(t){return Array.isArray(t)?t:OM(t)}function FM(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 LM(t){return t[0]>0&&t[1]>0}function zM(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let jM=0;const DM=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function JO(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 WO: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 iO:return t=>t.geometryType;case nO:{const e=t.args.map(t=>rA(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case lO:return t=>t.resolution;case sO:case oO:case AO:case jO: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 jO: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 uO:case dO:case"<":case mO:case">":case fO:return function(t){const e=t.operator,n=rA(t.args[0]),i=rA(t.args[1]);switch(e){case uO:return t=>n(t)===i(t);case dO:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case fO:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case wO:case"%":case"^":case CO:case kO:case EO:case TO:case RO:case PO:case IO:case MO: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 wO: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 CO:return t=>Math.abs(i[0](t));case kO:return t=>Math.floor(i[0](t));case EO:return t=>Math.ceil(i[0](t));case TO:return t=>Math.round(i[0](t));case RO:return t=>Math.sin(i[0](t));case PO:return t=>Math.cos(i[0](t));case IO:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case MO:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case zO: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:c?oA(i,r,s,o,e,l):sA(i,r,s,o,e,l);s=e,o=l}return o}}(t);case GO: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===BM?FM(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function sA(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 oA(t,e,n,i,r,s){if(0===r-n)return i;const o=MM(i),a=MM(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=RM(e),s=RM(e+n/500*Math.cos(i)),o=RM(e-n/200*Math.sin(i)),a=TM(3.021973625*s-1.617392459*r-.404875592*o),l=TM(-.943766287*s+1.916279586*r+.027607165*o),c=TM(.069407491*s-.22898585*r+1.159737864*o);return[Qk(a+.5|0,0,255),Qk(l+.5|0,0,255),Qk(c+.5|0,0,255),t[3]]}([sA(t,e,n,o[0],r,a[0]),sA(t,e,n,o[1],r,a[1]),o[2]+sA(t,e,n,0,r,l),sA(t,e,n,i[3],r,s[3])])}class aA extends gk{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(HC)}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;uk(()=>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||jk&&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 lA(t,e,n){return e+":"+t+":"+(n?AM(n):"null")}const cA=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=lA(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=lA(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=lA(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]=DP().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=DP().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let hA=null;class uA extends gk{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_){hA||(hA=zP(1,1,void 0,{willReadFrequently:!0})),hA.drawImage(this.image_,0,0);try{hA.getImageData(0,0,1,1),this.tainted_=!1}catch{hA=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(HC)}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=zP(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&&zk?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=zP(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:FM(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(HC,e),t())};this.addEventListener(HC,e)}})),this.ready_}}function dA(t,e,n,i,r,s){let o=void 0===e?void 0:cA.get(e,n,r);return o||(o=new uA(t,t&&"src"in t?t.src||void 0:e,n,i,r),cA.set(e,n,r,o,s)),s&&o&&!cA.getPattern(e,n,r)&&cA.set(e,n,r,o,s),o}function pA(t){return t?Array.isArray(t)?FM(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return cA.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=cA.getPattern(e,void 0,t.color);if(n)return n;const i=cA.get(t.src,"anonymous",null);if(2!==i.getImageState())return null;const r=zP(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]),dA(r.canvas,e,void 0,2,t.color,!0),cA.getPattern(e,void 0,t.color)}(t):t:null}const fA="10px sans-serif",gA="#000",mA="round",yA=[],_A="round",vA="#000",bA="center",wA="middle",xA=[0,0,0,0],SA=new Ck;let CA,kA=null;const EA={},TA=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function RA(t,e,n){return`${t} ${e} 16px "${n}"`}const PA=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=LP(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=FP[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=SA.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,OA(t,n)),0);return n[e]=i,i}class FA{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=zM(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new FA({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 bk()}getImage(t){return bk()}getHitDetectionImage(){return bk()}getPixelRatio(t){return 1}getImageState(){return bk()}getImageSize(){return bk()}getOrigin(){return bk()}getSize(){return bk()}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_=zM(t)}listenImageChange(t){bk()}load(){bk()}unlistenImageChange(t){bk()}ready(){return Promise.resolve()}}class LA extends FA{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 LA({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=cA.get(n,null,null)?.getImage(1);if(!i){const e=this.renderOptions_,r=Math.ceil(e.size*t),s=zP(r,r);this.draw_(e,s,t),i=s.canvas,cA.set(n,null,null,new uA(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?xk(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:AM(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function DA(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 NA extends FA{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(Kk(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||xk(s)),Kk(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),Kk(!((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?AM(t.color):null,this.iconImage_=dA(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(DA(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(DA(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 NA({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_=dA(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(HC,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(HC,t)}ready(){return this.iconImage_.ready()}}class UA{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 UA({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 BA{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=VA,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 BA({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_=VA,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let qA=null;function $A(){if(!qA){const t=new jA({color:"rgba(255,255,255,0.4)"}),e=new UA({color:"#3399CC",width:1.25});qA=[new BA({image:new zA({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return qA}function VA(t){return t.getGeometry()}let GA=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_=zM(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 jA({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 jA?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_=zM(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 WA(){return!0}function HA(t){const e=JM(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=eF(t,e+"fill-color",n)}if(!i)return null;const r=new jA;return function(t){const e=i(t);return e===gM?null:(r.setColor(e),r)}}function ZA(t,e,n){const i=JA(t,e+"stroke-width",n),r=eF(t,e+"stroke-color",n);if(!i&&!r)return null;const s=QA(t,e+"stroke-line-cap",n),o=QA(t,e+"stroke-line-join",n),a=nF(t,e+"stroke-line-dash",n),l=JA(t,e+"stroke-line-dash-offset",n),c=JA(t,e+"stroke-miter-limit",n),h=new UA;return function(t){if(r){const e=r(t);if(e===gM)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)),c&&h.setMiterLimit(c(t)),h}}function JA(t,e,n){if(!(e in t))return;const i=iA(t[e],NM,n);return function(t){return dF(i(t),e)}}function QA(t,e,n){if(!(e in t))return null;const i=iA(t[e],UM,n);return function(t){return uF(i(t),e)}}function tF(t,e,n){if(!(e in t))return null;const i=iA(t[e],DM,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function eF(t,e,n){if(!(e in t))return null;const i=iA(t[e],BM,n);return function(t){return pF(i(t),e)}}function nF(t,e,n){if(!(e in t))return null;const i=iA(t[e],qM,n);return function(t){return hF(i(t),e)}}function iF(t,e,n){if(!(e in t))return null;const i=iA(t[e],qM,n);return function(t){const n=hF(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function rF(t,e,n){if(!(e in t))return null;const i=iA(t[e],qM,n);return function(t){return fF(i(t),e)}}function sF(t,e,n){if(!(e in t))return null;const i=iA(t[e],qM|NM,n);return function(t){return function(t,e){return"number"==typeof t?t:fF(t,e)}(i(t),e)}}function oF(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 aF(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 lF(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 cF(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 hF(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 fF(t,e){const n=hF(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const gF="renderOrder";class mF extends YI{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(gF)}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 tM(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(gF,t)}setStyle(t){this.style_=void 0===t?$A:t;const e=function(t){if(void 0===t)return $A;if(!t)return null;if("function"==typeof t)return t;if(t instanceof BA)return t;if(!Array.isArray(t))return KA([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof BA){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&XI(r,c)&&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,ak,this,r,s)}getMap(){return this.map_}renderFrame(t){bk()}scheduleExpireIconCache(t){cA.canExpireCache()&&t.postRenderFunctions.push(vF)}}function vF(){cA.expire()}class bF extends _F{constructor(t){super(t),this.fontChangeListenerKey_=mk(SA,WC,t.redrawText,t),this.element_=Lk?VP():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=PP+" 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 yF(t,void 0,e);n.dispatchEvent(i)}}disposeInternal(){_k(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(HI,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof mF&&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)),GP(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(...ER(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 wF(t){t instanceof YI?t.setMapInternal(null):t instanceof VI&&t.getLayers().forEach(wF)}function xF(t,e){if(t instanceof YI)t.setMapInternal(e);else if(t instanceof VI){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(Lk?new Tk:XP()),this.interactions=e.interactions||(Lk?new Tk:PI({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new Zk(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Vk,this.handleLayerGroupChanged_),this.addChangeListener(Hk,this.handleViewChanged_),this.addChangeListener(Gk,this.handleSizeChanged_),this.addChangeListener(Wk,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof CP||t.view.then(function(t){n.setView(new CP(t))}),this.controls.addEventListener(VC,t=>{t.element.setMap(this)}),this.controls.addEventListener(GC,t=>{t.element.setMap(null)}),this.interactions.addEventListener(VC,t=>{t.element.setMap(this)}),this.interactions.addEventListener(GC,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(VC,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener(GC,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){xF(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:ak,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 VI?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:ak,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(Wk)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return uR(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?wR(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(Vk)}setLayers(t){const e=this.getLayerGroup();if(t instanceof Tk)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 qI("removelayer",e)),this.set(Vk,t)}setSize(t){this.set(Gk,t)}setTarget(t){this.set(Wk,t)}setView(t){if(!t||t instanceof CP)return void this.set(Hk,t);this.set(Hk,new CP);const e=this;t.then(function(t){e.setView(new CP(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(GP(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)],!LM(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&iT("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&ok(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};const CF="element",kF="map",EF="offset",TF="position",RF="positioning";class PF extends Ck{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(CF,this.handleElementChanged),this.addChangeListener(kF,this.handleMapChanged),this.addChangeListener(EF,this.handleOffsetChanged),this.addChangeListener(TF,this.handlePositionChanged),this.addChangeListener(RF,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(CF)}getId(){return this.id}getMap(){return this.get(kF)||null}getOffset(){return this.get(EF)}getPosition(){return this.get(TF)}getPositioning(){return this.get(RF)}handleElementChanged(){$P(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),_k(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=mk(t,Bk,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(CF,t)}setMap(t){this.set(kF,t)}setOffset(t){this.set(EF,t)}setPosition(t){this.set(TF,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(TF))return;const n=this.getRect(e.getTargetElement(),e.getSize()),i=this.getElement(),r=this.getRect(i,[UP(i),BP(i)]),s=void 0===(t=t||{}).margin?20:t.margin;if(!yE(n,r)){const i=r[0]-n[0],o=n[2]-r[2],a=r[1]-n[1],l=n[3]-r[3],c=[0,0];if(i<0?c[0]=i-s:o<0&&(c[0]=Math.abs(o)+s),a<0?c[1]=a-s:l<0&&(c[1]=Math.abs(l)+s),0!==c[0]||0!==c[1]){const n=e.getView().getCenterInternal(),i=e.getPixelFromCoordinateInternal(n);if(!i)return;const r=[i[0]+c[0],i[1]+c[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(RF,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 IF extends Ck{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 IF(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_&&(_k(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=mk(t,HC,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:(Kk("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 MF(t,e,n,i,r,s,o){let a,l;const c=(n-e)/i;if(1===c)a=e;else if(2===c)a=e,l=r;else if(0!==c){let s=t[e],o=t[e+1],c=0;const h=[0];for(let r=e+i;r>1),r=+n(t[i],e),r<0?s=i+1:(o=i,a=!r);return a?s:~s}(h,u);d<0?(l=(u-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;ra&&(this.instructions.push([4,a,c,t,n,GR,r]),this.hitDetectionInstructions.push([4,a,c,t,i||n,GR,r]));break;case"Point":l=t.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),c=this.coordinates.length,this.instructions.push([4,a,c,t,n,void 0,r]),this.hitDetectionInstructions.push([4,a,c,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[UF,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&&!ok(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_=fE(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;pE(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class WF extends GF{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($F),this.hitDetectionInstructions.push($F);for(let l=0;l=t){const e=(t-a+u)/u,d=sE(n,c,e),p=sE(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 KF(t,e,n,i,r){let s,o,a,l,c,h,u,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,u=p,d=f),c=n,h=i}return _+=l,_>y?[v,o]:[g,m]}const YF={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},XF={Circle:WF,Default:GF,Image:class extends GF{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&&!mE(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)]===c[n*h]&&o[2*(t+n)+1]===c[n*h+1];return i||--t,i})}this.saveTextStates_();const u=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!=xA&&(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==xA?xA:p.map(function(t){return t*f}),u,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=u?u.slice(0):null;m&&(m[1]=gA),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_?gA:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(e)}else{if(!qE(this.maxExtent,t.getExtent()))return;let i;if(c=t.getFlatCoordinates(),"LineString"==l)i=[c.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>E;const P=Math.PI,I=[],M=S+i===e;let O;if(y=0,_=C,p=t[e=S],f=t[e+1],M){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(E+w)/2,e=(T+x)/2;return I[0]=[t,e,(k-s)/2,O,r],I}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 u=A;let d=0;for(;A{if("function"==typeof DP()[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 cL(t,e,n){return n%2==0&&(t+=e),t}class hL{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 QF: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,c=[a.scale[0]*l,a.scale[1]*l],h=a.justify?YF[a.justify]:aL(Array.isArray(t)?t[0]:t,a.textAlign||bA),u=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce(lL,[]),{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 c=0,h=e.length;c<=h;c+=2){const u=e[c];if("\n"===u||c===h){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[c+1]||t.font,p=OA(d,u);n.push(p),o+=p;const f=IA(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+u,v=[],b=(_+2)*c[0],w=(f+u)*c[1],x={width:b<0?Math.floor(b):Math.ceil(b),height:w<0?Math.floor(w):Math.ceil(w),contextInstructions:v};1==c[0]&&1==c[1]||v.push("scale",c),i&&(v.push("strokeStyle",s.strokeStyle),v.push("lineWidth",u),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 C=h*_+S*u;const k=[],E=[];let T,R=0,P=0,I=0,M=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+c>e?e-c:s,b=p[3]+_*u[0]+p[1],w=p[0]+v*u[1]+p[2],x=m-p[3],S=y-p[0];let C;return(f||0!==h)&&(eL[0]=x,rL[0]=x,eL[1]=S,nL[1]=S,nL[0]=x+b,iL[0]=nL[0],iL[1]=S+w,rL[1]=iL[1]),0!==h?(C=SR([1,0,0,1,0,0],n,i,1,1,h,-n,-i),wR(C,eL),wR(C,nL),wR(C,iL),wR(C,rL),bE(Math.min(eL[0],nL[0],iL[0],rL[0]),Math.min(eL[1],nL[1],iL[1],rL[1]),Math.max(eL[0],nL[0],iL[0],rL[0]),Math.max(eL[1],nL[1],iL[1],rL[1]),tL)):bE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),tL),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:c,declutterBox:{minX:tL[0],minY:tL[1],maxX:tL[2],maxY:tL[3],value:g},canvasTransform:C,scale:u}}replayImageOrLabel_(t,e,n,i,r,s,o){const a=!(!s&&!o),l=i.declutterBox,c=o?o[2]*i.scale[0]/2:0;return l.minX-c<=e[0]&&l.maxX+c>=0&&l.minY-c<=e[1]&&l.maxY+c>=0&&(a&&this.replayTextBackground_(t,eL,nL,iL,rL,s,o),function(t,e,n,i,r,s,o,a,l,c,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,c),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=c[T],h=c[T+1],u=c[T+2]-i,p=c[T+3]-h,N=Math.sqrt(u*u+p*p);t.moveTo(i+N,h),t.arc(i,h,N,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 I||(I[d]=[]);const $=I[d];q?q(c,T,f,2,$):($[0]=c[T],$[1]=c[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 V=n[6];const G=n[7],W=n[8],H=n[9],K=n[10];let Y=n[11];const X=n[12];let Z=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){S=n[19],C=n[20],k=n[21],E=n[22];const t=this.drawLabelWithPointPlacement_(S,C,k,E);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,V=x.height,n[6]=V,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=xA,et=null,nt=null),K&&O?Y+=M:K||O||(Y-=M);let it=0;for(;T!dL.includes(t));class fL{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 hL(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=(u[l]-3)/4,s=i-n%o,a=i-(n/o|0),c=r(t,e,s*s+a*a);if(c)return c}c.clearRect(0,0,o,o);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let g,m,y,_,v;for(f.sort(ek),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=uL.length-1;m>=0;--m)if(d=uL[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(c,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 TR(o,0,8,2,t,o),o}isEmpty(){return pk(this.executorsByZIndex_)}execute(t,e,n,i,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?nk:ek),s=s||uL;const l=uL.length;for(let c=0,h=a.length;cp.execute(t,e,n,i,r,o)):p.execute(u,e,n,i,r,o),d&&u.restore(),s){s.offset();const t=a[c]*l+uL.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(ek);for(let n=0,i=e.length;n{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const gL={};class mL extends NF{constructor(t,e,n,i,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=i,this.transformRotation_=i?oE(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=TR(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 c=0,h=r.length;ct*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:_A,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:pA(t||vA)}}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:pA(t||gA)}}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:mA,lineDash:i||yA,lineDashOffset:r||0,lineJoin:void 0!==s?s:_A,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:pA(t||vA)}}else this.textStrokeState_=null;const i=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),c=t.getText(),h=t.getTextAlign(),u=t.getTextBaseline();this.textState_={font:void 0!==i?i:fA,textAlign:void 0!==h?h:bA,textBaseline:void 0!==u?u:wA},this.text_=void 0!==c?Array.isArray(c)?c.reduce((t,e,n)=>t+(n%2?" ":e),""):c:"",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 yL=.5;function _L(t,e,n,i,r,s,o,a,l){const c=r,h=zP(t[0]*yL,t[1]*yL);h.imageSmoothingEnabled=!1;const u=h.canvas,d=new mL(h,yL,r,null,o,a,l?oR(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 u&&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()?kL(t,l,n,e,o):(0,bL[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),u}function kL(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 bk()}getData(t){return null}prepareFrame(t){return bk()}renderFrame(t,e){return bk()}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(HC,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 TL=[];let RL=null;class PL extends EL{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;RL||(RL=zP(1,1,void 0,{willReadFrequently:!0})),RL.clearRect(0,0,1,1);try{RL.drawImage(t,e,n,1,1,0,0,1,1),i=RL.getImageData(0,0,1,1).data}catch{return RL=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&&ok(AM(t.style.backgroundColor),AM(n)))){const e=t.firstElementChild;GP(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=ER(t),i=ER(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*kR[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=Lk?VP():document.createElement("div"),r.className=i;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=zP();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=NE(n),r=UE(n),s=OE(n),o=ME(n);wR(e.coordinateToPixelTransform,i),wR(e.coordinateToPixelTransform,r),wR(e.coordinateToPixelTransform,s),wR(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;wR(a,i),wR(a,r),wR(a,s),wR(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(BE(n)/i*s),a=Math.round(jE(n)/i*s);SR(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),CR(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 yF(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(GI,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(WI,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new QF),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(GI,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(WI,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,c=i/e,h=-c,u=-t[0]+o,d=-t[1];return SR(this.tempTransform,a,l,c,h,-n,u,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class IL extends PL{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,c=a.getExtent(),h=this.getLayer().getSource(),u=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round(BE(i)/o*d),y=Math.round(jE(i)/o*d),_=h.getWrapX()&&a.canWrapX(),v=_?BE(c):null,b=_?Math.ceil((i[2]-c[2])/v)+1:1;let w=_?Math.floor((i[0]-c[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?uL:n?dL:pL,n?u&&e.declutter[u]: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]*yL,c=t[1]*yL;a.push(this.getRenderTransform(e,n,i,yL,l,c,0).slice());const h=o.getSource(),u=r.getExtent();if(h.getWrapX()&&r.canWrapX()&&!yE(u,s)){let t=s[0];const r=BE(u);let o,h=0;for(;tu[2];)++h,o=r*h,a.push(this.getRenderTransform(e,n,i,yL,l,c,o).slice()),t-=r}this.hitDetectionImageData_=_L(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,xL(n,this.renderedPixelRatio_),null)}e(vL(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={},c=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,s,o,n,function(t,e,n){const s=xk(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,c=l.projection,h=l.resolution,u=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=wL);const g=l.center.slice(),m=pE(a,p*h),y=m.slice(),_=[m.slice()],v=c.getExtent();if(n.getWrapX()&&c.canWrapX()&&!yE(v,t.extent)){const t=BE(v),e=Math.max(BE(m)/2,t);m[0]=v[0]-e,m[2]=v[2]+e,YE(g,c);const n=GE(_[0],c);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&&yE(this.wrappedRenderedExtent_,m))return ok(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new ZF(SL(h,u),m,h,u);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}},C=m,k=n.getFeaturesInExtent(C);f&&k.sort(f);for(let R=0,P=k.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 AL(t,e){return function(n,i,r,s,o){OL(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function FL(){return[[-1/0,-1/0,1/0,1/0]]}function LL(t){return[t]}class zL extends MR{constructor(t){super(),this.geometries_=t,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(_k),this.changeEventsKeys_.length=0}listenGeometriesChange_(){const t=this.geometries_;for(let e=0,n=t.length;et.clone())}const DL=[1,0,0,1,0,0];class NL{constructor(t,e,n,i,r,s){this.styleFunction,this.extent_,this.id_=s,this.type_=t,this.flatCoordinates_=e,this.flatInteriorPoints_=null,this.flatMidpoints_=null,this.ends_=n||null,this.properties_=r,this.squaredTolerance_,this.stride_=i,this.simplifiedGeometry_}get(t){return this.properties_[t]}getExtent(){return this.extent_||(this.extent_="Point"===this.type_?xE(this.flatCoordinates_):SE(this.flatCoordinates_,0,this.flatCoordinates_.length,2)),this.extent_}getFlatInteriorPoint(){if(!this.flatInteriorPoints_){const t=AE(this.getExtent());this.flatInteriorPoints_=rP(this.flatCoordinates_,0,this.ends_,2,t,0)}return this.flatInteriorPoints_}getFlatInteriorPoints(){if(!this.flatInteriorPoints_){const t=mP(this.flatCoordinates_,this.ends_),e=jF(this.flatCoordinates_,0,t,2);this.flatInteriorPoints_=sP(this.flatCoordinates_,0,t,2,e)}return this.flatInteriorPoints_}getFlatMidpoint(){return this.flatMidpoints_||(this.flatMidpoints_=MF(this.flatCoordinates_,0,this.flatCoordinates_.length,2,.5)),this.flatMidpoints_}getFlatMidpoints(){if(!this.flatMidpoints_){this.flatMidpoints_=[];const t=this.flatCoordinates_;let e=0;const n=this.ends_;for(let i=0,r=n.length;i{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=KR(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=YR(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=JR(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new NL(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}NL.prototype.getFlatCoordinates=NL.prototype.getOrientedFlatCoordinates;class UL{constructor(t){this.rbush_=new tM(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_[xk(e)]=n}load(t,e){const n=new Array(e.length);for(let i=0,r=e.length;it):null}const $L="addfeature",VL="removefeature";class GL extends fk{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class WL extends BL{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_=ck,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_&&(Kk(this.format_,"`format` must be set when `url` is set"),this.loader_=AL(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:FL;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new UL:null,this.loadedExtentsRtree_=new UL,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 Tk(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=xk(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 GL($L,t))}setupChangeEvents_(t,e){e instanceof NL||(this.featureChangeKeys_[t]=[mk(e,HC,this.handleFeatureChange_,this),mk(e,WC,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 NL){const i=this.idIndex_[t];i instanceof NL?Array.isArray(i)?i.push(e):this.idIndex_[t]=[i,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(Kk(!(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(GC,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(_k);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 GL("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 NL||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 NL||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(),pk(this.nullGeometryFeatures_)||sk(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=WE(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||ak,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof NL?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new GL("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new GL("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(CE(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,i=t.length;nXL({...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 KL(new NL(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(pP(t,0,e,n)||gP(t=t.slice(),0,e,n),t):(dP(t,0,e,n)||fP(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 ZL(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>ZL(t,e));return new zL(n)}return KL(new(0,YL[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class JL extends HL{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(QL(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(QL(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return bk()}readFeaturesFromObject(t,e){return bk()}readGeometry(t,e){return this.readGeometryFromObject(QL(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return bk()}readProjection(t){return this.readProjectionFromObject(QL(t))}readProjectionFromObject(t){return bk()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return bk()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return bk()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return bk()}}function QL(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class tz extends JL{constructor(t){t=t||{},super(),this.dataProjection=QT(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=QT(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===NL)return XL({geometry:i,id:n.id,properties:n.properties},e);const r=new IF;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(ZL(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{t in e&&(n[t]=e[t])}),n}function yz(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 jz=[bz,wz,xz,Sz,Cz,kz,Pz,Ez,Lz(Tz),Iz,Oz,Mz,Az,Fz];function Dz(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Dz(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 jz)if(!Dz(t,e))return null}return`Expected ${zz(t)} but found ${zz(e)} instead.`}function Nz(t,e){return e.some(e=>e.kind===t.kind)}function Uz(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 Bz(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const qz=.96422,$z=.82521,Vz=4/29,Gz=6/29,Wz=3*Gz*Gz,Hz=Gz*Gz*Gz,Kz=Math.PI/180,Yz=180/Math.PI;function Xz(t){return(t%=360)<0&&(t+=360),t}function Zz([t,e,n,i]){let r,s;const o=Qz((.2225045*(t=Jz(t))+.7168786*(e=Jz(e))+.0606169*(n=Jz(n)))/1);t===e&&e===n?r=s=o:(r=Qz((.4360747*t+.3850649*e+.1430804*n)/qz),s=Qz((.0139322*t+.0971045*e+.7141733*n)/$z));const a=116*o-16;return[a<0?0:a,500*(r-o),200*(o-s),i]}function Jz(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Qz(t){return t>Hz?Math.pow(t,1/3):t/Wz+Vz}function tj([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*nj(r),s=qz*nj(s),o=$z*nj(o),[ej(3.1338561*s-1.6168667*r-.4906146*o),ej(-.9787684*s+1.9161415*r+.033454*o),ej(.0719453*s-.2289914*r+1.4052427*o),i]}function ej(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function nj(t){return t>Gz?t*t*t:Wz*(t-Vz)}const ij=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function rj(t,e){return ij(t,e)?t[e]:void 0}function sj(t){return parseInt(t.padEnd(2,t),16)/255}function oj(t,e){return aj(e?t/100:t,0,1)}function aj(t,e,n){return Math.min(Math.max(e,t),n)}function lj(t){return!t.some(Number.isNaN)}const cj={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 hj(t,e,n){return t+n*(e-t)}function uj(t,e,n){return t.map((t,i)=>hj(t,e[i],n))}class dj{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 dj)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=rj(cj,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[sj(t.slice(n,n+=e)),sj(t.slice(n,n+=e)),sj(t.slice(n,n+=e)),sj(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,c,h,u,d]=n,p=[r||" ",a||" ",h].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,c].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[aj(+e/n,0,1),aj(+s/n,0,1),aj(+l/n,0,1),u?oj(+u,d):1];if(lj(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,c]=n,h=[i||" ",s||" ",a].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const t=[+e,aj(+r,0,100),aj(+o,0,100),l?oj(+l,c):1];if(lj(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=Xz(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new dj(...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]=Zz(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?Xz(Math.atan2(i,n)*Yz):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Zz(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]=uj(t.rgb,e.rgb,n);return new dj(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,c,h]=e.hcl;let u,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?u=NaN:(u=a,1!==s&&0!==s||(d=l)):(u=i,1!==c&&0!==c||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),u=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*Kz,tj([n,Math.cos(t)*e,Math.sin(t)*e,i])}([u,null!=d?d:hj(r,l,n),hj(s,c,n),hj(o,h,n)]);return new dj(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=tj(uj(t.lab,e.lab,n));return new dj(i,r,s,o,!1)}}}}dj.black=new dj(0,0,0,1),dj.white=new dj(1,1,1,1),dj.transparent=new dj(0,0,0,0),dj.red=new dj(1,0,0,1);class pj{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 fj=["bottom","center","top"];class gj{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 mj{constructor(t){this.sections=t}static fromString(t){return new mj([new gj(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 mj?t:mj.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class yj{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof yj)return t;if("number"==typeof t)return new yj([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 yj(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new yj(uj(t.values,e.values,n))}}class _j{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof _j)return t;if("number"==typeof t)return new _j([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new _j(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new _j(uj(t.values,e.values,n))}}class vj{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof vj)return t;if("string"==typeof t){const e=dj.parse(t);if(!e)return;return new vj([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=dj.parse(n);if(!t)return;e.push(t)}return new vj(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 Ej(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof Cj||t instanceof dj||t instanceof pj||t instanceof mj||t instanceof yj||t instanceof _j||t instanceof vj||t instanceof xj||t instanceof Sj)return!0;if(Array.isArray(t)){for(const e of t)if(!Ej(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!Ej(t[e]))return!1;return!0}return!1}function Tj(t){if(null===t)return bz;if("string"==typeof t)return xz;if("boolean"==typeof t)return Sz;if("number"==typeof t)return wz;if(t instanceof dj)return Cz;if(t instanceof Cj)return kz;if(t instanceof pj)return Rz;if(t instanceof mj)return Pz;if(t instanceof yj)return Iz;if(t instanceof _j)return Oz;if(t instanceof vj)return Mz;if(t instanceof xj)return Fz;if(t instanceof Sj)return Az;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=Tj(i);if(n){if(n===t)continue;n=Tz;break}n=t}return Lz(n||Tz,e)}return Ez}function Rj(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof dj||t instanceof Cj||t instanceof mj||t instanceof yj||t instanceof _j||t instanceof vj||t instanceof xj||t instanceof Sj?t.toString():JSON.stringify(t)}class Pj{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(!Ej(t[1]))return e.error("invalid value");const n=t[1];let i=Tj(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 Pj(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const Ij={string:xz,number:wz,boolean:Sz,object:Ez};class Mj{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 Ij)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=Ij[n],i++}else r=Tz;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=Lz(r,s)}else{if(!Ij[r])throw new Error(`Types doesn't contain name = ${r}`);n=Ij[r]}const s=[];for(;it.outputDefined())}}const Oj={"to-boolean":Sz,"to-color":Cz,"to-number":wz,"to-string":xz};class Aj{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(!Oj[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=Oj[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:kj(e[0],e[1],e[2],e[3]),!n))return new dj(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new bj(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=yj.parse(e);if(i)return i}throw new bj(`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=_j.parse(e);if(i)return i}throw new bj(`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=vj.parse(e);if(i)return i}throw new bj(`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=xj.parse(e);if(i)return i}throw new bj(`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 bj(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return mj.fromString(Rj(this.args[0].evaluate(t)));case"resolvedImage":return Sj.fromString(Rj(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return Rj(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const Fj=["Unknown","Point","LineString","Polygon"];class Lj{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?Fj[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=dj.parse(t),this._parseColorCache.set(t,e)),e}}class zj{constructor(t,e,n=[],i,r=new vz,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 Mj(e,[t]):"coerce"===n?new Aj(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 Pj)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new Lj;try{r=new Pj(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 zj(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 _z(n,t))}checkSubtype(t,e){const n=Dz(t,e);return n&&this.error(n),n}}class jj{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 bj(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new bj(`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 Uj{constructor(t,e){this.type=Sz,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,Tz),i=e.parse(t[2],2,Tz);return n&&i?Nz(n.type,[Sz,xz,wz,bz,Tz])?new Uj(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${zz(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!Uz(e,["boolean","string","number","null"]))throw new bj(`Expected first argument to be of type boolean, string, number or null, but found ${zz(Tj(e))} instead.`);if(!Uz(n,["string","array"]))throw new bj(`Expected second argument to be of type array or string, but found ${zz(Tj(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class Bj{constructor(t,e,n){this.type=wz,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,Tz),i=e.parse(t[2],2,Tz);if(!n||!i)return null;if(!Nz(n.type,[Sz,xz,wz,bz,Tz]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${zz(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,wz);return r?new Bj(n,i,r):null}return new Bj(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!Uz(e,["boolean","string","number","null"]))throw new bj(`Expected first argument to be of type boolean, string, number or null, but found ${zz(Tj(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),Uz(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(Uz(n,["array"]))return n.indexOf(e,i);throw new bj(`Expected second argument to be of type array or string, but found ${zz(Tj(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class qj{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 c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(n){if(c.checkSubtype(n,Tj(t)))return null}else n=Tj(t);if(void 0!==r[String(t)])return c.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,Tz);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 qj(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(Tj(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 $j{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 Vj{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,Tz),i=e.parse(t[2],2,wz);if(!n||!i)return null;if(!Nz(n.type,[Lz(Tz),xz,Tz]))return e.error(`Expected first argument to be of type array or string, but found ${zz(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,wz);return r?new Vj(n.type,n,i,r):null}return new Vj(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)),Uz(e,["string"]))return[...e].slice(n,i).join("");if(Uz(e,["array"]))return e.slice(n,i);throw new bj(`Expected first argument to be of type array or string, but found ${zz(Tj(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function Gj(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 bj("Input is not a number.");o=a-1}return 0}class Wj{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,wz);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 c=e.parse(o,l,r);if(!c)return null;r=r||c.type,i.push([n,c])}return new Wj(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[Gj(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 Hj(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Kj,Yj,Xj=function(){if(Yj)return Kj;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 Yj=1,Kj=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))}},Kj}(),Zj=Hj(Xj);class Jj{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=Qj(e,t.base,n,i);else if("linear"===t.name)r=Qj(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new Zj(s[0],s[1],s[2],s[3]).solve(Qj(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,wz),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==Mz?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=Cz;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 c=e.parse(n,r,a);if(!c)return null;a=a||c.type,o.push([t,c])}return Bz(a,wz)||Bz(a,kz)||Bz(a,Cz)||Bz(a,Iz)||Bz(a,Oz)||Bz(a,Mz)||Bz(a,Fz)||Bz(a,Lz(wz))?new Jj(a,n,i,r,o):e.error(`Type ${zz(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=Gj(e,i),o=e[s],a=e[s+1],l=Jj.interpolationFactor(this.interpolation,i,o,a),c=n[s].evaluate(t),h=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return hj(c,h,l);case"color":return dj.interpolate(c,h,l);case"padding":return yj.interpolate(c,h,l);case"colorArray":return vj.interpolate(c,h,l);case"numberArray":return _j.interpolate(c,h,l);case"variableAnchorOffsetCollection":return xj.interpolate(c,h,l);case"array":return uj(c,h,l);case"projectionDefinition":return Cj.interpolate(c,h,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return dj.interpolate(c,h,l,"hcl");case"colorArray":return vj.interpolate(c,h,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return dj.interpolate(c,h,l,"lab");case"colorArray":return vj.interpolate(c,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 Qj(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 tD{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=>Dz(i,t.type));return new tD(s?Tz: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 Sj&&!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 eD(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 nD(t,e,n,i){return 0===i.compare(e,n)}function iD(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=Sz,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,Tz);if(!s)return null;if(!eD(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${zz(s.type)}'.`);let o=e.parse(t[2],2,Tz);if(!o)return null;if(!eD(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${zz(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${zz(s.type)}' and '${zz(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new Mj(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new Mj(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,Rz),!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=Tj(s),n=Tj(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new bj(`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=Tj(s),n=Tj(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 rD=iD("==",function(t,e,n){return e===n},nD),sD=iD("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!nD(0,e,n,i)}),oD=iD("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),lD=iD("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),cD=iD(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class hD{constructor(t,e,n){this.type=Rz,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,Sz);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,Sz);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,xz),!s)?null:new hD(i,r,s)}evaluate(t){return new pj(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 uD{constructor(t,e,n,i,r){this.type=xz,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,wz);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,xz),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,xz),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,wz),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,wz),!a)?null:new uD(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 dD{constructor(t){this.type=Pz,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,wz),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,Lz(xz)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,Cz),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!fj.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,xz),!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,Tz);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 dD(i)}evaluate(t){return new mj(this.sections.map(e=>{const n=e.content.evaluate(t);return Tj(n)===Az?new gj("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new gj(Rj(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 pD{constructor(t){this.type=Az,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,xz);return n?new pD(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=Sj.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class fD{constructor(t){this.type=wz,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 ${zz(n.type)} instead.`):new fD(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 bj(`Expected value to be of type string or array, but found ${zz(Tj(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const gD=8192;function mD(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*gD),Math.round(i*s*gD)]}function yD(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/gD+e.x)/n,360*r-180),(i=(t[1]/gD+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function _D(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 vD(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function bD(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 wD(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 xD(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]&&!(!RD(t,e,n,i)||!RD(n,i,t,e));var s,o}function SD(t,e,n){for(const i of n)for(let n=0;n0&&u<0||h<0&&u>0}function PD(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}_D(e,t)}function OD(t,e,n,i){const r=Math.pow(2,i.z)*gD,s=[i.x*gD,i.y*gD],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];MD(i,e,n,r),o.push(i)}return o}function AD(t,e,n,i){const r=Math.pow(2,i.z)*gD,s=[i.x*gD,i.y*gD],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];_D(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)MD(i,e,n,r)}return o}class FD{constructor(t,e){this.type=Sz,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(Ej(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 FD(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new FD(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new FD(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=PD(e.coordinates,i,r),o=OD(t.geometry(),n,i,r);if(!vD(n,i))return!1;for(const t of o)if(!CD(t,s))return!1}if("MultiPolygon"===e.type){const s=ID(e.coordinates,i,r),o=OD(t.geometry(),n,i,r);if(!vD(n,i))return!1;for(const t of o)if(!kD(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=PD(e.coordinates,i,r),o=AD(t.geometry(),n,i,r);if(!vD(n,i))return!1;for(const t of o)if(!ED(t,s))return!1}if("MultiPolygon"===e.type){const s=ID(e.coordinates,i,r),o=AD(t.geometry(),n,i,r);if(!vD(n,i))return!1;for(const t of o)if(!TD(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class LD{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 zD(t){let e=0;for(let n,i,r=0,s=t.length,o=s-1;r1?(l=t[a+1][0],c=t[a+1][1]):d>0&&(l+=h/this.kx*d,c+=u/this.ky*d)),h=this.wrap(e[0]-l)*this.kx,u=(e[1]-c)*this.ky;const p=h*h+u*u;p180;)t-=360;return t}}function BD(t,e){return e[0]-t[0]}function qD(t){return t[1]-t[0]+1}function $D(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=qD(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 GD(t,e){if(!$D(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)_D(n,t[i]);return n}function WD(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)_D(e,t);return e}function HD(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function KD(t,e,n){if(!HD(t)||!HD(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(vD(r,s)){if(eN(t,e))return 0}else if(eN(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],c=e?50:100;if(qD(l)<=c){if(!$D(l,t.length))return NaN;if(e){const e=tN(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=QD(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=VD(l,e);iN(o,s,i,t,a,n[0]),iN(o,s,i,t,a,n[1])}}return s}function oN(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 LD([[0,[0,t.length-1],[0,n.length-1]]],BD);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],c=s[2],h=e?50:100,u=i?50:100;if(qD(l)<=h&&qD(c)<=u){if(!$D(l,t.length)&&$D(c,n.length))return NaN;let s;if(e&&i)s=ZD(t,l,n,c,r),o=Math.min(o,s);else if(e&&!i){const e=t.slice(l[0],l[1]+1);for(let t=c[0];t<=c[1];++t)if(s=YD(n[t],e,r),o=Math.min(o,s),0===o)return o}else if(!e&&i){const e=n.slice(c[0],c[1]+1);for(let n=l[0];n<=l[1];++n)if(s=YD(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=JD(t,l,n,c,r),o=Math.min(o,s)}else{const s=VD(l,e),h=VD(c,i);rN(a,o,r,t,n,s[0],h[0]),rN(a,o,r,t,n,s[0],h[1]),rN(a,o,r,t,n,s[1],h[0]),rN(a,o,r,t,n,s[1],h[1])}}return o}function aN(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 lN{constructor(t,e){this.type=wz,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(Ej(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new lN(e,e.features.map(t=>aN(t.geometry)).flat());if("Feature"===e.type)return new lN(e,aN(e.geometry));if("type"in e&&"coordinates"in e)return new lN(e,aN(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=>yD([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new UD(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,oN(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,oN(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,sN(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=>yD([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new UD(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,oN(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,oN(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,sN(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=zD(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=>yD([e.x,e.y],t.canonical)))),r=new UD(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,sN([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,sN(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,nN(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class cN{constructor(t){this.type=Tz,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 cN(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?rj(n,this.key):null}eachChild(){}outputDefined(){return!1}}const hN={"==":rD,"!=":sD,">":aD,"<":oD,">=":cD,"<=":lD,array:Mj,at:Nj,boolean:Mj,case:$j,coalesce:tD,collator:hD,format:dD,image:pD,in:Uj,"index-of":Bj,interpolate:Jj,"interpolate-hcl":Jj,"interpolate-lab":Jj,length:fD,let:jj,literal:Pj,match:qj,number:Mj,"number-format":uD,object:Mj,slice:Vj,step:Wj,string:Mj,"to-boolean":Aj,"to-color":Aj,"to-number":Aj,"to-string":Aj,var:Dj,within:FD,distance:lN,"global-state":cN};class uN{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=uN.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,c]of o){a=new zj(e.registry,mN,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(zz).join(", ")})`:`(${zz(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&mN(t):n&&t instanceof Pj}),!!n&&yN(t)&&vN(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function yN(t){if(t instanceof uN){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 FD)return!1;if(t instanceof lN)return!1;let e=!0;return t.eachChild(t=>{e&&!yN(t)&&(e=!1)}),e}function _N(t){if(t instanceof uN&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!_N(t)&&(e=!1)}),e}function vN(t,e){if(t instanceof uN&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!vN(t,e)&&(n=!1)}),n}function bN(t){return{result:"success",value:t}}function wN(t){return{result:"error",value:t}}function xN(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&Tj(t)===Ez}uN.register(hN,{error:[{kind:"error"},[xz],(t,[e])=>{throw new bj(e.evaluate(t))}],typeof:[xz,[Tz],(t,[e])=>zz(Tj(e.evaluate(t)))],"to-rgba":[Lz(wz,4),[Cz],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[Cz,[wz,wz,wz],dN],rgba:[Cz,[wz,wz,wz,wz],dN],has:{type:Sz,overloads:[[[xz],(t,[e])=>pN(e.evaluate(t),t.properties())],[[xz,Ez],(t,[e,n])=>pN(e.evaluate(t),n.evaluate(t))]]},get:{type:Tz,overloads:[[[xz],(t,[e])=>fN(e.evaluate(t),t.properties())],[[xz,Ez],(t,[e,n])=>fN(e.evaluate(t),n.evaluate(t))]]},"feature-state":[Tz,[xz],(t,[e])=>fN(e.evaluate(t),t.featureState||{})],properties:[Ez,[],t=>t.properties()],"geometry-type":[xz,[],t=>t.geometryType()],id:[Tz,[],t=>t.id()],zoom:[wz,[],t=>t.globals.zoom],"heatmap-density":[wz,[],t=>t.globals.heatmapDensity||0],elevation:[wz,[],t=>t.globals.elevation||0],"line-progress":[wz,[],t=>t.globals.lineProgress||0],accumulated:[Tz,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[wz,gN(wz),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[wz,gN(wz),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:wz,overloads:[[[wz,wz],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[wz],(t,[e])=>-e.evaluate(t)]]},"/":[wz,[wz,wz],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[wz,[wz,wz],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[wz,[],()=>Math.LN2],pi:[wz,[],()=>Math.PI],e:[wz,[],()=>Math.E],"^":[wz,[wz,wz],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[wz,[wz],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[wz,[wz],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[wz,[wz],(t,[e])=>Math.log(e.evaluate(t))],log2:[wz,[wz],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[wz,[wz],(t,[e])=>Math.sin(e.evaluate(t))],cos:[wz,[wz],(t,[e])=>Math.cos(e.evaluate(t))],tan:[wz,[wz],(t,[e])=>Math.tan(e.evaluate(t))],asin:[wz,[wz],(t,[e])=>Math.asin(e.evaluate(t))],acos:[wz,[wz],(t,[e])=>Math.acos(e.evaluate(t))],atan:[wz,[wz],(t,[e])=>Math.atan(e.evaluate(t))],min:[wz,gN(wz),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[wz,gN(wz),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[wz,[wz],(t,[e])=>Math.abs(e.evaluate(t))],round:[wz,[wz],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[wz,[wz],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[wz,[wz],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[Sz,[xz,Tz],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[Sz,[Tz],(t,[e])=>t.id()===e.value],"filter-type-==":[Sz,[xz],(t,[e])=>t.geometryType()===e.value],"filter-<":[Sz,[xz,Tz],(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":[Sz,[xz,Tz],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[Sz,[Tz],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[Sz,[xz,Tz],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[Sz,[Tz],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[Sz,[xz,Tz],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[Sz,[Tz],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[Sz,[Tz],(t,[e])=>e.value in t.properties()],"filter-has-id":[Sz,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[Sz,[Lz(xz)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[Sz,[Lz(Tz)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[Sz,[xz,Lz(Tz)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[Sz,[xz,Lz(Tz)],(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:Sz,overloads:[[[Sz,Sz],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[gN(Sz),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:Sz,overloads:[[[Sz,Sz],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[gN(Sz),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[Sz,[Sz],(t,[e])=>!e.evaluate(t)],"is-supported-script":[Sz,[xz],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[xz,[xz],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[xz,[xz],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[xz,gN(Tz),(t,e)=>e.map(e=>Rj(e.evaluate(t))).join("")],"resolved-locale":[xz,[Rz],(t,[e])=>e.evaluate(t).resolvedLocale()]});class SN{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Lj,this._defaultValue=e?function(t){if("color"===t.type&&xN(t.default))return new dj(0,0,0,0);switch(t.type){case"color":return dj.parse(t.default)||null;case"padding":return yj.parse(t.default)||null;case"numberArray":return _j.parse(t.default)||null;case"colorArray":return vj.parse(t.default)||null;case"variableAnchorOffsetCollection":return xj.parse(t.default)||null;case"projectionDefinition":return Cj.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 bj(`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 CN(t,e){const n=new zj(hN,mN,[],e?function(t){const e={color:Cz,string:xz,number:wz,enum:xz,boolean:Sz,formatted:Pz,padding:Iz,numberArray:Oz,colorArray:Mz,projectionDefinition:kz,resolvedImage:Az,variableAnchorOffsetCollection:Fz};return"array"===t.type?Lz(e[t.value]||Tz,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?bN(new SN(i,e)):wN(n.errors)}class kN{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!_N(e.expression),this.globalStateRefs=PN(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 EN{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!_N(e.expression),this.globalStateRefs=PN(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?Jj.interpolationFactor(this.interpolationType,t,e,n):0}}function TN(t,e){const n=CN(t,e);if("error"===n.result)return n;const i=n.value.expression,r=yN(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return wN([new _z("","data expressions not supported")]);var s;const o=vN(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return wN([new _z("","zoom expressions not supported")]);const a=RN(i);if(!a&&!o)return wN([new _z("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof _z)return wN([a]);if(a instanceof Jj&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return wN([new _z("",'"interpolate" expressions cannot be used with this property')]);if(!a)return bN(new kN(r?"constant":"source",n.value));const l=a instanceof Jj?a.interpolation:void 0;return bN(new EN(r?"camera":"composite",n.value,a.labels,l))}function RN(t){let e=null;if(t instanceof jj)e=RN(t.result);else if(t instanceof tD){for(const n of t.args)if(e=RN(n),e)break}else(t instanceof Wj||t instanceof Jj)&&t.input instanceof uN&&"zoom"===t.input.name&&(e=t);return e instanceof _z||t.eachChild(t=>{const n=RN(t);n instanceof _z?e=n:!e&&n?e=new _z("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new _z("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function PN(t,e=new Set){return t instanceof cN&&e.add(t.key),t.eachChild(t=>{PN(t,e)}),e}function IN(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(!IN(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const MN={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function ON(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};IN(t)||(t=LN(t));const e=CN(t,MN);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:FN(t),getGlobalStateRefs:()=>PN(e.value.expression)}}function AN(t,e){return te?1:0}function FN(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?zN(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(LN))):"all"===e?["all"].concat(t.slice(1).map(LN)):"none"===e?["all"].concat(t.slice(1).map(LN).map(NN)):"in"===e?jN(t[1],t.slice(2)):"!in"===e?NN(jN(t[1],t.slice(2))):"has"===e?DN(t[1]):"!has"!==e||NN(DN(t[1]));var n}function zN(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 jN(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(AN)]]:["filter-in-small",t,["literal",e]]}}function DN(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function NN(t){return["!",t]}function UN(t){return"object"==typeof t?["literal",t]:t}function BN(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function qN(t,e){const n=UN((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 $N(t,e,n){const i=WN(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(qN(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)GN(i,t[0],t[1],!1);return i.push(qN(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)GN(e,t[0],t[1],!0);return VN(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,UN(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[BN(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)GN(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,UN(t.default)]}throw new Error(`Unknown property function type ${i}`)}function VN(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function GN(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function WN(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function HN(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 YN={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},XN=" ",ZN=/(italic|oblique)$/i,JN={};function QN(t,e,n){var i=JN[t];if(!i){Array.isArray(t)||(t=[t]);for(var r,s,o=400,a="normal",l=[],c=0,h=t.length;c1?u[u.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:YN[p],u.pop(),f&&p.startsWith(f)&&u.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=u.join(XN).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(XN)&&(g='"'+g+'"'),l.push(g)}i=JN[t]=[a,o,l]}return i[0]+XN+i[1]+XN+e+"px"+(n?"/"+n:"")+XN+i[2]}class tU extends aA{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 eU extends gk{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(HC)}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(){bk()}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:XE(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 nU extends eU{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,Lk?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=zP(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(Lk)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=[yk(i,"load",function(){o=!0,s||e()})];return i.src&&zk?(s=!0,i.decode().then(function(){r&&e()}).catch(function(){r&&(o?e():n())})):a.push(yk(i,"error",n)),function(){r=!1,a.forEach(_k)}}(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 iU{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 rU(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new iU(t,e,n,i)}const sU=[];class oU extends eU{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_=zP(1,1,sU)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=xk(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_&&(NP(this.context_),sU.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let aU=class extends eU{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 lU="https://api.mapbox.com";function cU(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function hU(t,e,n){const i=cU(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`${lU}/styles/v1/${r}/sprite?access_token=${e}`}function uU(t,e){const n=cU(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`${lU}/styles/v1/${i}?&access_token=${e}`}const dU=["a","b","c","d"];function pU(t,e,n,i){const r=new URL(t,i||location.href),s=cU(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 dU.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const fU=Object.freeze({}),gU={},mU={};let yU=0;function _U(t){return t.id||(t.id=yU++),t.id}function vU(t){let e=gU[t.id];return e||(e={},gU[_U(t)]=e),e}function bU(t){return t*Math.PI/180}const wU=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function xU(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 SU(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 kU[e]=[r,a],a}function TU(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return EU("Style",t=uU(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(wN){return Promise.reject(wN)}}const RU={};function PU(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=RU[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof aU)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)})};uk(()=>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();uk(()=>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=pU(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=EU("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}")),pU(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}")),pU(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`"));RU[i]=r}return r}function IU(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=xU(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 c=0,h=a.width;c0&&o.arc(c,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function MU(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function OU(t,e,n){const i=xU(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 AU=Array(256).join(" ");function FU(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=AU.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 LU;function zU(){return LU||(LU=xU(1,1).getContext("2d")),LU}function jU(t,e){return zU().measureText(t).width+(t.length-1)*e}const DU={};function NU(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=zU();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(jU(t,i)<.35*r){const r=e>0?jU(l[e-1],i):1/0,s=e.7*r&&jU(s,i)<.6*r){const o=t.split(" "),a=o.pop();jU(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=FU(s,i),DU[r]=s}return s}SA.on("propertychange",()=>{for(const t in DU)delete DU[t]});const UU=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],BU={},qU={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},$U={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]},VU={zoom:0,distanceFromCenter:0};let GU,WU;function HU(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]||fU)[n];const r=KN[`${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 hN);if(!s&&xN(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,UN(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],HN(t[1])]:[t[0],UN(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=dj.parse(i)),a[n]=function(){return i}}}var l;return a[n](VU,i,s)}function KU(t,e,n,i){return HU(t,"layout",`${n}-allow-overlap`,e,i)?HU(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function YU(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=ON(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](VU,n)}function XU(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}uN.register(hN,{...uN.definitions,pitch:[{kind:"number"},[],()=>VU.pitch||90],"distance-from-center":[{kind:"number"},[],()=>VU.distanceFromCenter||0]});const ZU=/\{[^{}}]*\}/g;function JU(t,e){return t.replace(ZU,function(t){return e[t.slice(1,-1)]||""})}function QU(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const tB={},eB=4294967296,nB=1/eB,iB="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");class rB{constructor(t=new Uint8Array(16)){this.buf=ArrayBuffer.isView(t)?t:new Uint8Array(t),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(t,e,n=this.length){for(;this.pos>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)*eB;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*eB;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 sB(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return sB(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return sB(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return sB(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return sB(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return sB(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&&iB?iB.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+c>n)break;1===c?e<128&&(l=e):2===c?(s=t[r+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===c?(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===c&&(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,c=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=c}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&&oB(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&&oB(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,aB,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,lB,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,uB,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,cB,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,hB,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,dB,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,pB,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,fB,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,gB,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 sB(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function oB(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 aB(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&c>h&&(i.push(c),h=c),n.push(a,l),c+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");c>h&&(n.push(n[h],n[h+1]),c+=2)}}c>h&&(i.push(c),h=c)}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 c=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===NL)r=new this.featureClass(c,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==c){const e=mP(a,l);t=e.length>1?new DF(a,"XY",e):new yP(a,"XY",l)}else t="Point"===c?new tP(a,"XY"):"LineString"===c?new FF(a,"XY"):"MultiPoint"===c?new zF(a,"XY"):"MultiLineString"===c?new LF(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=KL(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=QT((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new rB(t),s=r.readFields(yB,{}),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 vB(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 c=jE(s),h=Math.floor(o.height*((s[3]-i[1])/c));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],c=t.pixelRatio,h=t.viewState,u=h.center,d=h.resolution,p=c*s/(d*a),f=c*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=pR(l.extent,h.projection);v=qE(e,t.extent),_=v&&!yE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=SR(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-u[0])/s,a*(u[1]-i[3])/o);this.renderedResolution=o*c/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 xB extends YI{constructor(t){super(t=t||{})}}class SB extends xB{constructor(t){super(t)}createRenderer(){return new wB(this)}getData(t){return super.getData(t)}}function CB(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const kB=new Error("disposed"),EB=[256,256];class TB extends eU{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=CB(this.data_);return t?[t.width,t.height]:EB}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(kB),this.controller_=null),super.disposeInternal()}}let RB;const PB=[];function IB(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 MB(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function OB(t,e,n,i){const r=cR(n,e,t);let s=tR(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||mE(l,r)){const e=tR(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function AB(t,e,n,i,r,s,o,a,l,c,h,u,d){const p=zP(Math.round(n*t),Math.round(n*e),PB);if(u||(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){kE(g,t.extent)});const y=n/i,_=(u?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===c||(m=zP(Math.round(BE(g)*y),Math.round(jE(g)*y),PB),u||(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=BE(t.clipExtent)*y,r=jE(t.clipExtent)*y;m.rect(u?e:Math.round(e),u?n:Math.round(n),u?i:Math.round(e+i)-Math.round(e),u?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=BE(t.extent)*y,r=jE(t.extent)*y;m.drawImage(t.image,c,c,t.image.width-2*c,t.image.height-2*c,u?e:Math.round(e),u?n:Math.round(n),u?i:Math.round(e+i)-Math.round(e),u?r:Math.round(n+r)-Math.round(n)),t.clipExtent&&m.restore()}}));const v=NE(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],c=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),C=i,k=r;i=0,r=0,o-=C,a-=k,c-=C,h-=k;const E=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],[c,h,0,0,x-d],[0,0,o,a,w-y],[0,0,c,h,S-y]]);if(!E)return;if(p.save(),p.beginPath(),function(){if(void 0===RB){const t=zP(6,6,PB);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",IB(t,4,5,4,0),IB(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;RB=MB(e,0)||MB(e,4)||MB(e,8),NP(t),PB.push(t.canvas)}return RB}()||!u){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;iwR(o,cR(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}):lR(this.targetProj_,this.sourceProj_);var c;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()&&BE(i)>=BE(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?BE(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?BE(this.targetProj_.getExtent()):null;const h=NE(n),u=UE(n),d=OE(n),p=ME(n),f=this.transformInv_(h),g=this.transformInv_(u),m=this.transformInv_(d),y=this.transformInv_(p),_=10+(s?Math.max(0,Math.ceil(Math.log2(IE(n)/(s*s*256*256)))):0);if(this.addQuad_(h,u,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=BE(dE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&h&&(p=h>.25||p)),!p&&this.maxSourceExtent_&&isFinite(c[0])&&isFinite(c[1])&&isFinite(c[2])&&isFinite(c[3])&&!qE(c,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?(rE(r[0],u)+rE(o[0],u))/2-rE(i[0],u):(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 c=[(e[0]+n[0])/2,(e[1]+n[1])/2],h=this.transformInv_(c),u=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(u);this.addQuad_(t,e,c,u,r,s,h,d,l-1),this.addQuad_(u,c,n,i,d,h,o,a,l-1)}else{const c=[(t[0]+e[0])/2,(t[1]+e[1])/2],h=this.transformInv_(c),u=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(u);this.addQuad_(t,c,u,i,r,h,d,a,l-1),this.addQuad_(c,e,n,u,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;EE(t,n[0]),EE(t,n[1]),EE(t,n[2])}),t}getTriangles(){return this.triangles_}}class LB extends eU{constructor(t,e,n,i,r,s,o,a,l,c,h,u){super(r,0,u),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?DE(d,p):d;if(0===IE(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?DE(f,m):m);const y=i.getResolution(this.wrappedTileCoord_[0]),_=function(t,e,n,i){const r=AE(n);let s=OB(t,e,r,i);return(!isFinite(s)||s<=0)&&PE(n,function(n){return s=OB(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!==c?c:.5;if(this.triangulation_=new FB(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]=Qk(b[1],f[1],f[3]),b[3]=Qk(b[3],f[1],f[3])):b=DE(b,f)),IE(b)){let n=0,i=0;t.canWrapX()&&(n=BE(m),i=Math.floor((b[0]-m[0])/n)),WE(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_=AB(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=mk(e,HC,()=>{const i=e.getState();2!=i&&3!=i&&4!=i||(_k(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(_k),this.sourcesListenerKeys_=null}release(){this.canvas_&&(NP(this.canvas_.getContext("2d")),PB.push(this.canvas_),this.canvas_=null),super.release()}}class zB{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 tk&&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 Kk(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 Kk(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){Kk(!(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 jB(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function DB(t,e,n,i,r){return`${xk(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function NB(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 UB(t,e,n){const i=t[n];return!!i&&i.delete(e)}function BB(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=DE(e,pR(n.extent,t.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=DE(e,n))}return e}class qB extends PL{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 iU(0,0,0,0),this.tempTileCoord_=jB(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new zB(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new zB(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=DB(s,s.getKey(),t,e,n);let a;if(r.containsKey(o))a=r.get(o);else{const l=i.viewState.projection,c=s.getProjection();if(a=s.getTile(t,e,n,i.pixelRatio,l,!c||sR(c,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=wR(e.pixelToCoordinateTransform,t.slice()),r=n.getExtent();if(r&&!mE(r,i))return null;const s=e.viewState,o=n.getRenderSource(),a=o.getTileGridForProjection(s.projection),l=o.getTilePixelRatio(e.pixelRatio);for(let c=a.getZForResolution(s.resolution);c>=a.getMinZoom();--c){const t=a.getTileCoordForCoordAndZ(i,c),n=this.getTile(c,t[1],t[2],e);if(!n||2!==n.getState())continue;const r=a.getOrigin(c),h=zM(a.getTileSize(c)),u=a.getResolution(c);let d;if(n instanceof nU||n instanceof LB)d=n.getImage();else{if(!(n instanceof TB))continue;if(d=CB(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/u-t[1]*h[0])),f=Math.floor(l*((r[1]-i[1])/u-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),c=xk(a);c in t.wantedTiles||(t.wantedTiles[c]={});const h=t.wantedTiles[c],u=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),u?u.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(!NB(i,n,g))continue;const o=n.getKey();if(h[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=jB(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,c,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,C,u-1,x,S-1)},0),!(u in x))return this.container;const k=xk(this),E=t.time;for(const A of x[u]){const e=A.getState();if(4===e)continue;const n=A.tileCoord;if(2===e&&1===A.getAlpha(k,E)){A.endTransition(k);continue}if(3!==e&&(this.renderComplete=!1),this.findStaleTile_(n,x)){UB(x,A,u),t.animate=!0;continue}if(this.findAltTiles_(h,n,u+1,x))continue;const i=h.getMinZoom();for(let t=u-1;t>=i&&!this.findAltTiles_(h,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);SR(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,_),c.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const P=Object.keys(x).map(Number);let I;P.sort(ek);const M=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=c.getTilePixelSize(e,a,r),i=h.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=h.getTileCoordForCoordAndZ(NE(w),e),u=h.getTileCoordExtent(l),p=wR(this.tempTransform,[g*(u[0]-w[0])/d,g*(w[3]-u[3])/d]),f=g*c.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],u=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=u-g,_=1===P.length;let v=!1;I=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=M.length;t{const n=xk(c),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 TB){if(l=CB(t.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(t);if(!l)return;const c=this.getRenderContext(e),h=xk(this),u=e.layerStatesArray[e.layerIndex],d=u.opacity*(a?t.getAlpha(h,e.time):1),p=d!==c.globalAlpha;p&&(c.save(),c.globalAlpha=d),c.drawImage(l,o,o,l.width-2*o,l.height-2*o,n,i,r,s),p&&c.restore(),d!==u.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=xk(e);i in t||(t[i]={}),t[i][n.getKey()]=!0}}const $B="preload",VB="useInterimTilesOnError";class GB extends YI{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($B)}setPreload(t){this.set($B,t)}getUseInterimTilesOnError(){return this.get(VB)}setUseInterimTilesOnError(t){this.set(VB,t)}getData(t){return super.getData(t)}}class WB extends GB{constructor(t){super(t)}createRenderer(){return new qB(this,{cacheSize:this.getCacheSize()})}}const HB={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},KB={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class YB extends qB{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(),c=l.getTileGridForProjection(s.projection),h=!(a[0]||a[1]),u=c.getZForResolution(o,l.zDirection)===t;return h&&u?r.wantedResolution=o:r.wantedResolution||(r.wantedResolution=c.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(),c=!!i.getDeclutter(),h=l.getTileGrid(),u=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=xk(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(!qE(l.getTileCoordExtent(e.wrappedTileCoord),c))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=wR(this.renderedPixelToCoordinateTransform_,t.slice()),c=a.getTileCoordForCoordAndResolution(l,o).toString(),h=this.renderedTiles.find(t=>t.tileCoord.toString()===c&&2===t.getState());if(!h||h.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!yE(s,a.getTileCoordExtent(h.tileCoord))&&YE(l,r);const u=xk(n),d=NE(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[u];if(!g){const t=zM(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=_L(t,[this.getRenderTransform(a.getTileCoordCenter(h.wrappedTileCoord),o,0,yL,t[0]*yL,t[1]*yL,0)],f,n.getStyleFunction(),a.getTileCoordExtent(h.wrappedTileCoord),h.getReplayState(n).renderedResolution,e),h.hitDetectionImageData[u]=g}e(vL(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,dL,l)}n.globalAlpha=i}renderDeferredInternal(t){const e=this.renderedTiles,n=xk(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),c=Math.round(a[1]*n),h=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),u=t.tileCoord,d=h.getTileCoordExtent(t.wrappedTileCoord),p=h.getTileCoordExtent(u,this.tempExtent)[0]-d[0];return vR(xR(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,s,o,n,l,c,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?KB[s].filter(t=>!dL.includes(t)):KB[s],c=e.viewState,h=c.rotation,u=r.getSource(),d=u.getTileGridForProjection(c.projection).getZForResolution(c.resolution,u.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=xk(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),c=n.tileCoord[0];let u=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new QF,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_(){_k(this.sourceListenerKey_),this.sourceListenerKey_=null}}class QB extends fk{constructor(t,e){super(t),this.image=e}}class tq extends BL{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[ik(e,t,0)]),t}getImage(t,e,n,i){const r=this.getProjection();if(!r||!i||sR(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&sR(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==e&&CE(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new JB(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=AE(t),s=lE(BE(t)/i,4),o=lE(jE(t)/i,4);return LE(r,i,0,[s+2*lE(0*s/2,4),o+2*lE(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&yE(this.wantedExtent_,r)||yE(this.image.getExtent(),r))&&(this.wantedResolution_&&ZB(this.wantedResolution_)===s||ZB(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new aA(r,s,n,this.loader),this.image.addEventListener(HC,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 QB(n,e))}}const eq=[0,0,0];class nq{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,Kk(function(t){const e=((t,e)=>e-t)||ek;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 iU(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=rU(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 lq extends fk{constructor(t,e){super(t),this.tile=e}}function cq(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=DB(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=QT(t);if(n){const t=xk(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function kq(t,e){if(Lk){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 Eq extends Cq{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:QT("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_"+xk(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=QT("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=oR(e,n);i=VE(t.bounds,r)}const r=oq(n),s=t.minzoom||0,o=rq({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=xq(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==i?i:r;this.setAttributions(function(n){return qE(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class Tq extends Sq{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||oq(e),i=t.tileGrid||rq({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:Rq,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:aU,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);pE(s,-a,s);const l=this.projection;e&&this.projection&&!sR(e,l)&&(s=hR(s,e,l));const c=this.tileGrid,h=c.getExtent();h&&DE(s,h,s);let u=a;e&&l&&!sR(e,l)&&(u=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=c.getZForResolution(u,this.zDirection);c.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(HC,t),0===n.loadingSourceTiles&&n.setState(pk(n.errorTileKeys)?2:3)}};s.addEventListener(HC,t),n.loadingSourceTiles++}0===o&&(s.extent=c.getTileCoordExtent(i),s.projection=this.projection,s.resolution=c.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 u=new oU(s,h?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return u.key=this.getKey(),u}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!sR(i,t))return iq(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?u-A+d:d-A,O=Math.atan(Math.sqrt(I*I+M*M)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),F=Math.cos(O),L=255*q,N=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,j={r:(1-F)*v.r*N*255,g:(1-F)*v.g*N*255,b:(1-F)*v.b*N*255,a:(1-F)*v.a*N*255},z=Math.abs(((A+f)/Math.PI+.5)%2-1),D={r:(y.r*(1-z)+_.r*z)*L,g:(y.g*(1-z)+_.g*z)*L,b:(y.b*(1-z)+_.b*z)*L,a:(y.a*(1-z)+_.a*z)*L},T=4*(x*i+w),o[T]=j.r*(1-z)+D.r,o[T+1]=j.g*(1-z)+D.g,o[T+2]=j.b*(1-z)+D.b,o[T+3]=s[T+3]*e.opacity*N*Math.sin(B);return new ImageData(o,i,r)}function Iq(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,c=[0,0,0,0];let h,u,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(u=0;u<=l;++u)for(h=0;h<=a;++h){d=4*(u*i+h),c[0]=s[d],c[1]=s[d+1],c[2]=s[d+2],c[3]=s[d+3];const t=c[0],e=c[1],n=c[2],r=(t,e)=>{let n=0;for(let i=0;i{e.accessToken=t,e.accessTokenParam=n})),e}function Aq(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function Fq(t,e,n){const i=new Eq({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=QT(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=iR([n[0],n[1]],e),i=iR([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return QT(e).getExtent()}(r,o),l=o.getExtent(),c=r.minzoom||0,h=r.maxzoom||22,u={attributions:i.getAttributions(),projection:o,tileGrid:new nq({origin:l?NE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:c,resolutions:Mq(o,e.tileSize).slice(0,h+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?u.urls=r.tiles:u.url=r.tiles,u}function Lq(t,e,n){return new Promise(function(i,r){PU(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=Fq(t,e,n);s.tileLoadFunction=r,s.format=new mB({layerName:"mvt:layer"});const o=new Tq(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function zq(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function jq(t,e,n){const i=new WB;return function(t,e,n){return new Promise(function(i,r){PU(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=new Eq({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=Fq(t,e,n).tileGrid,n.projection&&(s.projection=QT(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=zq(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 Dq(t,e,n){const i=n.projection?new tz({dataProjection:n.projection}):new tz,r=t.data,s={};if("string"==typeof r){const[s]=pU(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=zq(n);return s.replace(i,`${t.join(",")}`)},r=new WL({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{EU("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:LL});return r.set("mapbox-source",t),r}const o=new WL({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{EU("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 WL(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function Nq(t,e,n,i){const r=vU(t),s=t.layers,o=n.type,a=n.source||Aq(s,n.ref),l=t.sources[a];let c;if("background"==o)c=function(t,e,n){const i=Lk?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new YI({source:new BL({}),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,VU.zoom=SU(e,n.resolutions||wU),VU.distanceFromCenter=0;const l=HU(r,"paint","background-color",fU,i);return void 0!==o["background-opacity"]&&(a=HU(r,"paint","background-opacity",fU,i)),"none"==s.visibility?void 0:XU(l,a)}(t,r.viewState.resolution,e,n);return i.style.backgroundColor=s,i}})}(n,i,r);else if("vector"==l.type)c=function(t,e,n){const i=new XB({declutter:!0,visible:!1});return Lq(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))?(c=function(t,e,n){const i=jq(t,e,n);return new SB({source:new pq({operationType:"image",operation:Iq,sources:[i]})})}(l,e,i),c.getSource().on("beforeoperations",function(t){VU.zoom=SU(t.resolution,i.resolutions||wU),VU.distanceFromCenter=0;const e=t.data;e.saturation=HU(n,"paint","raster-saturation",fU,r),e.contrast=HU(n,"paint","raster-contrast",fU,r),e.brightnessHigh=HU(n,"paint","raster-brightness-max",fU,r),e.brightnessLow=HU(n,"paint","raster-brightness-min",fU,r),e.hueRotate=HU(n,"paint","raster-hue-rotate",fU,r)})):c=jq(l,e,i),c.setVisible(!n.layout||"none"!==n.layout.visibility),c.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){VU.zoom=n,VU.distanceFromCenter=0;const r=HU(t,"paint","raster-opacity",fU,i);e.setOpacity(r)}(t,e,i,n))}}(n,c,r))}else if("geojson"==l.type)c=function(t,e,n){return new ML({declutter:!0,source:Dq(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=jq(t,e,n);return new SB({source:new pq({operationType:"image",operation:Pq,sources:[i]})})}(l,e,i);c=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=tR(i.projection||"EPSG:3857",t.resolution,AE(t.extent),"m"),VU.zoom=SU(t.resolution,i.resolutions||wU),VU.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*HU(n,"paint","hillshade-exaggeration",fU,r),e.sunAz=HU(n,"paint","hillshade-illumination-direction",fU,r),e.sunEl=35,e.opacity=.3,e.highlightColor=HU(n,"paint","hillshade-highlight-color",fU,r),e.shadowColor=HU(n,"paint","hillshade-shadow-color",fU,r),e.accentColor=HU(n,"paint","hillshade-accent-color",fU,r)}),c.setVisible(!n.layout||"none"!==n.layout.visibility)}const h=a;return c&&c.set("mapbox-source",h),c}function Uq(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let c=0,h=l.length;c0||n>0)&&t.setMaxResolution(Math.min(CU(Math.max(0,o-1e-12),wU),CU(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(CU(a,wU))}}else o>0&&t.setMaxResolution(CU(Math.max(0,o-1e-12),wU));h instanceof WL||h instanceof Tq?function(t,e,n="",i={},r){let s,o,a,l,c=!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&&(c=!1),r||(r=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:uU(s,a.accessToken),a=Oq(s,a)),new Promise(function(n,i){TU(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof ML||t instanceof XB))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const h=t instanceof XB?"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 u(){if(!c)return Promise.resolve();if(t instanceof XB)return Lq(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()===Rq&&n.setTileLoadFunction(e.getTileLoadFunction()),sR(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(CU(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=Dq(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),u().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=QT(a.projection).getUnits();"m"!==t&&(r=wU.map(e=>e/rT[t]))}let s;const c=t.getSource();c instanceof Tq&&c.format_ instanceof mB&&(s=c.format_.layerName_),p=function(t,e,n,i=wU,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");tB[function(t,e){return _U(t)+"."+xk(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];uk(()=>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 c=yz(e.layers),h={},u=[],d={},p={},f=vU(e),g=function(t){let e=mU[t.id];return e||(e={},mU[_U(t)]=e),e}(e);let m;for(let w=0,x=c.length;w=u.maxzoom)continue;const E=u.filter;if(!E||YU(x,E,T,g)){let i,c,g,b,w,x;const E=h.index;if(3==S&&("fill"==u.type||"fill-extrusion"==u.type))if(c=HU(u,"paint",u.type+"-opacity",T,f,R),u.type+"-pattern"in k){const t=HU(u,"paint",u.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?JU(t,m):t.toString(),n=QU(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new BA({fill:new jA}),v[P]=x),g=x.getFill(),x.setZIndex(E);const t=e+"."+c;let i=p[t];if(!i){const s=r[e],o=xU(s.width,s.height),a=o.getContext("2d");a.globalAlpha=c,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=XU(HU(u,"paint",u.type+"-color",T,f,R),c),u.type+"-outline-color"in k&&(w=XU(HU(u,"paint",u.type+"-outline-color",T,f,R),c)),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 BA({fill:i?new jA:void 0,stroke:w?new UA:void 0}),v[P]=x),i&&(g=x.getFill(),g.setColor(i)),w&&(b=x.getStroke(),b.setColor(w),b.setWidth(.5)),x.setZIndex(E));if(1!=S&&"line"==u.type){i="line-pattern"in k?void 0:XU(HU(u,"paint","line-color",T,f,R),HU(u,"paint","line-opacity",T,f,R));const t=HU(u,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new BA({stroke:new UA}),v[P]=x),b=x.getStroke(),b.setLineCap(HU(u,"layout","line-cap",T,f,R)),b.setLineJoin(HU(u,"layout","line-join",T,f,R)),b.setMiterLimit(HU(u,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(k["line-dasharray"]?HU(u,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(E))}let I,M,O,A,F,L,z,j,D,N=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in C){const e=HU(u,"layout","icon-image",T,f,R);if(e){let i;I="string"==typeof e?JU(e,m):e.toString();const o=a?a(t,I):void 0,c=QU(I,l);if(r&&r[I]&&c||o){const t=HU(u,"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(WU||(GU=[NaN,NaN],WU=new NL("Point",GU,[],2,{},void 0)),i=WU,GU[0]=n[0],GU[1]=n[1],"line"===HU(u,"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=HU(u,"layout","icon-size",T,f,R),n=void 0!==k["icon-color"]?HU(u,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=HU(u,"paint","icon-halo-color",T,f,R),s=HU(u,"paint","icon-halo-width",T,f,R);let a=`${I}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),M=d[a],!M){const l=KU(u,T,"icon",f);let h;"icon-offset"in C&&(h=HU(u,"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]),M=new NA(n)}else{const o=r[I];let a,u,d;if(s)o.sdf?(a=IU(OU(c.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=IU(c.image,o,s,i);else{if(o.sdf&&!c.unSDFed){const t=OU(c.image,{x:0,y:0,width:c.size[0],height:c.size[1]},{r:1,g:1,b:1});c.image=t,c.unSDFed=!0}a=c.image,u=[o.width,o.height],d=[o.x,o.y]}M=new NA({color:p,img:a,imgSize:c.size,size:u,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:h,declutterMode:l})}d[a]=M}}M&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new BA,v[P]=x),x.setGeometry(i),M.setRotation(B+bU(HU(u,"layout","icon-rotate",T,f,R))),M.setOpacity(HU(u,"paint","icon-opacity",T,f,R)),M.setAnchor($U[HU(u,"layout","icon-anchor",T,f,R)]),x.setImage(M),U=x.getText(),x.setText(void 0),x.setZIndex(E),N=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===u.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new BA,v[P]=x);const t="circle-radius"in k?HU(u,"paint","circle-radius",T,f,R):5,e=XU(HU(u,"paint","circle-stroke-color",T,f,R),HU(u,"paint","circle-stroke-opacity",T,f,R)),n=HU(u,"paint","circle-translate",T,f,R),i=XU(HU(u,"paint","circle-color",T,f,R),HU(u,"paint","circle-opacity",T,f,R)),r=HU(u,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];M=d[s],M||(M=new zA({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new UA({width:r,color:e}):void 0,fill:i?new jA({color:i}):void 0,declutterMode:"none"}),d[s]=M),x.setImage(M),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(E),N=!0}if("text-field"in C){z=Math.round(HU(u,"layout","text-size",T,f,R));const t=HU(u,"layout","text-font",T,f,R);L=HU(u,"layout","text-line-height",T,f,R),F=QN(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,z,L),F.includes("sans-serif")||(F+=",sans-serif"),j=HU(u,"layout","text-letter-spacing",T,f,R),D=HU(u,"layout","text-max-width",T,f,R);const n=HU(u,"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=QN(o?o(i):i,z*(n.scale||1),L);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(FU(s,j),r),e;s=NU(s,r,D,j).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):JU(n,m).trim(),c=HU(u,"paint","text-opacity",T,f,R)}if(A&&c&&!O){N||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new BA,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=KU(u,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new GA({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=HU(u,"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?FU(A,j):NU(A,F,D,j);if(U.setText(n),U.setFont(F),U.setRotation(bU(HU(u,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=HU(u,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=HU(u,"layout","text-anchor",T,f,R),r=N||1==S?"point":HU(u,"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=HU(u,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=HU(u,"paint","text-halo-width",T,f,R);const a=HU(u,"layout","text-offset",T,f,R),l=HU(u,"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=HU(u,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(bU(HU(u,"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)*z):0==i.indexOf("top")&&(p="top",h=o+.5*(L-1)*z),U.setTextBaseline(p);const g=HU(u,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*z+d+l[0]),U.setOffsetY(a[1]*z+h+l[1]),_.setColor(XU(HU(u,"paint","text-color",T,f,R),c)),U.setFill(_);const m=XU(HU(u,"paint","text-halo-color",T,f,R),c);if(m&&o>0){y.setColor(m),o*=2;const t=.5*z;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=HU(u,"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(E)}}}return P>-1?(v.length=P+1,v):void 0};return t.setStyle(b),t.set("mapbox-layers",u),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(Lk)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()?u().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:hU(t,e,n)}];for(const i of t)i.url=hU(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=Lk?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){EU("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,EU("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=yz(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(c):l()}else c(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const u=r.getLayers();-1===u.getArray().indexOf(t)&&u.push(t),t.getSource()?h():t.once("change:source",h)})}class Bq extends _C{static{Px(this.prototype,"osm",[qf])}#st=void Mx(this,"osm");static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"settings",[qf])}#D=void Mx(this,"settings");mapInstance;bookmarkSource;selectedShapeSource;searchOverlay;searchOverlayElement;selectedPinOverlay;selectedPinElement;crosshairElement;crosshairOverlay;ignoreNextMapClick=!1;setupMap=PC(t=>{if(this.mapInstance)return;const e=new VI;this.selectedShapeSource=new WL;const n=new ML({source:this.selectedShapeSource,style:new BA({stroke:new UA({color:"#3388ff",width:4}),fill:new jA({color:"rgba(51, 136, 255, 0.1)"})}),zIndex:5});this.bookmarkSource=new WL;const i=new ML({source:this.bookmarkSource,style:t=>{const e=t.get("originalPlace");let n=getComputedStyle(document.documentElement).getPropertyValue("--default-list-color").trim()||"#000000";if(e&&e._listIds&&e._listIds.length>0){const t=e._listIds[0],i=this.storage.lists.find(e=>e.id===t);i&&i.color&&(n=i.color)}return[new BA({image:new zA({radius:10,fill:new jA({color:"rgba(0, 0, 0, 0.2)"}),displacement:[0,-2]})}),new BA({image:new zA({radius:9,fill:new jA({color:n}),stroke:new UA({color:"#fff",width:2})})})]},zIndex:10});let r=[14.21683569,27.060114248],s=2.661,o=!1;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&&(r=e.center,s=e.zoom,o=!0)}}catch(S){console.warn("Failed to restore map view:",S)}const a=new CP({center:iR(r),zoom:s,projection:"EPSG:3857"});this.mapInstance=new SF({target:t,layers:[e,n,i],view:a,controls:XP({zoom:!0,rotate:!0,attribution:!0}),interactions:PI({dragPan:!1})});const l=rR(a.getCenter());this.mapUi.updateCenter(l[1],l[0]),function(t,e,n={}){let i,r;if(Lk){if(!(t instanceof SF||t instanceof VI))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 SF({target:t}):t;{const t=e.startsWith("data:")?location.href:uU(e,n.accessToken);n=Oq(t,n),i=new Promise(function(i,s){TU(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof SF){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?QT(i.projection):s.getProjection();s=new CP(Object.assign(s.getProperties(),{maxResolution:wU[0]/rT[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(iR(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(wU[0]/rT[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,c,h=[];for(let u=0,d=o.length;u';const h=document.createElement("div");h.className="selected-pin-shadow",this.selectedPinElement.appendChild(c),this.selectedPinElement.appendChild(h),this.selectedPinOverlay=new PF({element:this.selectedPinElement,positioning:"bottom-center",stopEvent:!1}),this.mapInstance.addOverlay(this.selectedPinOverlay),this.crosshairElement=document.createElement("div"),this.crosshairElement.className="map-crosshair",this.crosshairElement.innerHTML='\n \n \n \n \n ',t.appendChild(this.crosshairElement),this.locationOverlayElement=document.createElement("div"),this.locationOverlayElement.className="search-pulse blue",this.locationOverlay=new PF({element:this.locationOverlayElement,positioning:"center-center",stopEvent:!1}),this.mapInstance.addOverlay(this.locationOverlay),t.addEventListener("pointerdown",()=>{this.mapUi.searchBoxHasFocus&&(this.ignoreNextMapClick=!0)},!0);const u=new fz({trackingOptions:{enableHighAccuracy:!0},projection:a.getProjection()}),d=new IF;d.setStyle(new BA({image:new zA({radius:6,fill:new jA({color:"#3399CC"}),stroke:new UA({color:"#fff",width:2})})}));const p=new WL({features:[d]}),f=new ML({source:p,zIndex:15});u.on("change:position",function(){const t=u.getPosition();d.setGeometry(t?new tP(t):null)});const g=document.createElement("div");g.className="ol-control ol-locate";const m=document.createElement("button");let y,_;m.innerHTML="⊙",m.title="Locate Me",g.appendChild(m);const v=()=>{y&&(clearTimeout(y),y=null);try{_&&(u.un("change:position",b),_=null)}catch{}this.locationOverlayElement&&this.locationOverlayElement.classList.remove("active")},b=()=>{const t=u.getPosition(),e=u.getAccuracyGeometry(),n=u.getAccuracy();if(console.debug("Geolocation change:",{coordinates:t,accuracy:n}),!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)/tR(r.getProjection(),e,t);this.locationOverlayElement.style.width=`${i}px`,this.locationOverlayElement.style.height=`${i}px`,this.locationOverlay.setPosition(t)}if(n&&n<=20&&v(),e){const t=e.getExtent();s=3.162*r.getResolutionForExtent(t,i)}else n&&(s=6.325*n/Math.min(i[0],i[1])/tR(r.getProjection(),1,t));let o={center:t,duration:1e3};if(s){const t=r.getResolutionForZoom(17);o.resolution=Math.max(s,t)}else o.zoom=16;this.mapInstance.getView().animate(o)},w=()=>{console.debug("Getting current geolocation..."),v(),u.setTracking(!0);const t=u.getPosition();this.locationOverlayElement&&this.locationOverlayElement.classList.add("active"),t&&b(),_=u.on("change:position",b),y=setTimeout(()=>{v()},1e4)};m.addEventListener("click",w);const x=new WP({element:g});this.mapInstance.addLayer(f),this.mapInstance.addControl(x),o||"index"!==this.router.currentRouteName||w(),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()})});updateInteractions=PC(()=>{if(!this.mapInstance)return;this.mapInstance.getInteractions().getArray().slice().forEach(t=>{t instanceof fI&&this.mapInstance.removeInteraction(t)});const t=!!this.settings.mapKinetic&&new ZP(-.005,.05,100);this.settings.mapKinetic&&window.innerWidth<=768&&(t.minVelocity_=.25),this.mapInstance.addInteraction(new fI({kinetic:t}))});updateSelectedPin=PC(()=>{const t=this.mapUi.selectedPlace,e=this.mapUi.selectionOptions||{};if(this.selectedPinOverlay&&this.selectedPinElement)if(this.selectedShapeSource&&this.selectedShapeSource.clear(),t&&t.lat&&t.lon){const i=iR([t.lon,t.lat]);if(this.selectedPinOverlay.setPosition(i),this.selectedPinElement.classList.remove("active"),this.selectedPinElement.offsetWidth,this.selectedPinElement.classList.add("active"),t.geojson&&this.selectedShapeSource)try{const e=(new tz).readFeature(t.geojson,{featureProjection:"EPSG:3857"});this.selectedShapeSource.addFeature(e)}catch(n){console.warn("Failed to render selected place shape:",n)}e.preventZoom?this.animateToSmartCenter(i):t.bbox?this.zoomToBbox(t.bbox):this.handlePinVisibility(i)}else this.selectedPinElement.classList.remove("active"),this.selectedPinOverlay.setPosition(void 0)});zoomToBbox(t){if(!this.mapInstance||!t)return;const e=this.mapInstance.getView(),n=this.mapInstance.getSize(),i=[...iR([t.minLon,t.minLat]),...iR([t.maxLon,t.maxLat])];let r=[.15*n[1],.15*n[0],.15*n[1],.15*n[0]];if(n[0]<=768){const t=.5*n[1],e=.15*t,i=.5*n[1]+.15*t;r[0]=e,r[2]=i}else if(this.args.isSidebarOpen){const t=400,e=n[0]-t;r[3]=t+.15*e,r[1]=.15*e}const s=e.getZoom();e.fit(i,{padding:r,duration:1e3,easing:t=>t*(2-t),maxZoom:Math.max(s,18)})}handlePinVisibility(t){if(!this.mapInstance)return;if(this.mapInstance.getView().getZoom()<16)return void this.animateToSmartCenter(t,16);const e=this.mapInstance.getPixelFromCoordinate(t),n=this.mapInstance.getSize();!e||e[0]<0||e[0]>n[0]||e[1]<0||e[1]>n[1]?this.animateToSmartCenter(t):this.panIfObscured(t)}animateToSmartCenter(t,e=null){if(!this.mapInstance)return;const n=this.mapInstance.getSize(),i=this.mapInstance.getView();let r=i.getResolution();null!==e&&(r=i.getResolutionForZoom(e));let s=t;if(n[0]<=768){const e=.25*n[1]*r;s=[t[0],t[1]-e]}const o={center:s,duration:1e3,easing:t=>t*(2-t)};null!==e&&(o.zoom=e),i.animate(o)}panIfObscured(t){if(!this.mapInstance)return;const e=this.mapInstance.getSize();if(e[0]>768)return;const n=this.mapInstance.getPixelFromCoordinate(t);if(!n)return;const i=e[1],r=i/2;if(n[1]>r){const t=.25*i,e=n[1]-t,r=this.mapInstance.getView(),s=r.getCenter(),o=e*r.getResolution(),a=[s[0],s[1]-o];r.animate({center:a,duration:500,easing:t=>t*(2-t)})}}updateBookmarks=PC(()=>{const t=this.storage.placesInView;this.loadBookmarks(t)});async loadBookmarks(t=[]){try{if(!this.bookmarkSource)return;t&&0!==t.length||(t=this.storage.placesInView),this.bookmarkSource.clear(),t&&Array.isArray(t)&&t.forEach(t=>{if(t.lat&&t.lon){const e=new IF({geometry:new tP(iR([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)}}syncPulse=PC(()=>{this.searchOverlayElement&&(this.mapUi.isSearching?this.searchOverlayElement.classList.add("active"):this.searchOverlayElement.classList.remove("active"))});syncCreationMode=PC(()=>{if(this.crosshairElement&&this.mapInstance)if(this.mapUi.isCreating){this.crosshairElement.classList.add("visible");const t=this.mapUi.creationCoordinates;if(t&&t.lat&&t.lon){const e=iR([t.lon,t.lat]);this.animateToCrosshair(e)}}else this.crosshairElement.classList.remove("visible")});animateToCrosshair(t){if(!this.mapInstance||!this.crosshairElement)return;const e=this.mapInstance.getTargetElement().getBoundingClientRect(),n=this.crosshairElement.getBoundingClientRect(),i=n.left+n.width/2-e.left,r=n.top+n.height/2-e.top,s=this.mapInstance.getSize(),o=i-s[0]/2,a=r-s[1]/2,l=this.mapInstance.getView(),c=l.getResolution(),h=o*c,u=-a*c,d=t[0]-h,p=t[1]-u,f=l.getCenter();Math.sqrt(Math.pow(f[0]-d,2)+Math.pow(f[1]-p,2))>5*c&&l.animate({center:[d,p],duration:800,easing:t=>t*(2-t)})}handleMapMove=async()=>{if(!this.mapInstance)return;const t=rR(this.mapInstance.getView().getCenter());if(this.mapUi.updateCenter(t[1],t[0]),this.mapUi.isCreating){const t=this.mapInstance.getTargetElement().getBoundingClientRect(),e=this.crosshairElement.getBoundingClientRect(),n=e.left+e.width/2-t.left,i=e.top+e.height/2-t.top,r=rR(this.mapInstance.getCoordinateFromPixel([n,i])),s=parseFloat(r[1].toFixed(6)),o=parseFloat(r[0].toFixed(6));this.mapUi.updateCreationCoordinates(s,o),this.router.replaceWith("place.new",{queryParams:{lat:s,lon:o}})}const e=this.mapInstance.getSize(),n=this.mapInstance.getView().calculateExtent(e),[i,r]=rR([n[0],n[1]]),[s,o]=rR([n[2],n[3]]),a={minLat:r,minLon:i,maxLat:o,maxLon:s};await this.storage.loadPlacesInBounds(a),this.loadBookmarks(this.storage.placesInView);try{const t=this.mapInstance.getView(),e={center:rR(t.getCenter()),zoom:t.getZoom()};localStorage.setItem("marco:map-view",JSON.stringify(e))}catch(l){console.warn("Failed to save map view:",l)}};handleMapClick=async t=>{if(this.ignoreNextMapClick)return void(this.ignoreNextMapClick=!1);const e=this.mapInstance.getFeaturesAtPixel(t.pixel,{hitTolerance:10});let n=null,i=null;if(e&&e.length>0){console.debug(`Found ${e.length} features in map layer:`);for(const n of e)console.debug(n);const t=e.find(t=>t.get("isBookmark"));t&&(n=t.get("originalPlace"));const r=e[0].getProperties();r.name&&(i=r.name)}if(this.args.isSidebarOpen)return n?(console.debug("Clicked bookmark while sidebar open (switching):",n),this.mapUi.preventNextZoom=!0,void this.router.transitionTo("place",n)):void(this.args.onOutsideClick&&this.args.onOutsideClick());if(n)return console.debug("Clicked bookmark:",n),this.mapUi.preventNextZoom=!0,void this.router.transitionTo("place",n);if(this.mapInstance.getView().getZoom()<16)return;const r=rR(t.coordinate),[s,o]=r,a=i?30:50;if(this.searchOverlayElement){const e=this.mapInstance.getView(),n=2*a/tR(e.getProjection(),e.getResolution(),t.coordinate);this.searchOverlayElement.style.width=`${n}px`,this.searchOverlayElement.style.height=`${n}px`,this.searchOverlay.setPosition(t.coordinate)}this.mapUi.startSearch();const l={lat:o.toFixed(6),lon:s.toFixed(6),q:null,selected:i||null};this.router.transitionTo("search",{queryParams:l})};static{Zi(em({id:null,block:'[[[11,0],[16,0,[29,["map-container ",[52,[30,1],"sidebar-open"]]]],[4,[30,0,["setupMap"]],null,null],[4,[30,0,["updateInteractions"]],null,null],[4,[30,0,["updateBookmarks"]],null,null],[4,[30,0,["updateSelectedPin"]],null,null],[4,[30,0,["syncPulse"]],null,null],[4,[30,0,["syncCreationMode"]],null,null],[12],[13]],["@isSidebarOpen"],["if"]]',moduleName:"/home/basti/src/marco/app/components/map.gjs",isStrictMode:!0}),this)}}class qq extends _C{connectRS(){this.args.onClose(),this.args.storage.connect()}static{Ix(this.prototype,"connectRS",[Oh])}disconnectRS(){this.args.storage.disconnect()}static{Ix(this.prototype,"disconnectRS",[Oh])}static{Zi(em({id:null,block:'[[[10,0],[14,0,"user-menu-popover"],[12],[1,"\\n "],[10,0],[14,0,"user-status"],[12],[1,"\\n"],[41,[30,1,["connected"]],[[[1," Connected as\\n "],[10,"strong"],[12],[1,[30,1,["userAddress"]]],[13],[1,"\\n"]],[]],[[[1," Not connected\\n"]],[]]],[1," "],[13],[1,"\\n\\n "],[10,"ul"],[14,0,"account-list"],[12],[1,"\\n "],[10,"li"],[14,0,"account-item"],[12],[1,"\\n "],[10,0],[14,0,"account-info"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["server",18]],null],[1,"\\n "],[10,1],[12],[1,"RemoteStorage"],[13],[1,"\\n "],[13],[1,"\\n"],[41,[30,1,["connected"]],[[[1," "],[11,"button"],[24,0,"btn-text text-danger"],[24,4,"button"],[4,[32,1],["click",[30,0,["disconnectRS"]]],null],[12],[1,"Disconnect"],[13],[1,"\\n"]],[]],[[[1," "],[11,"button"],[24,0,"btn-text text-primary"],[24,4,"button"],[4,[32,1],["click",[30,0,["connectRS"]]],null],[12],[1,"Connect"],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n\\n "],[10,"li"],[14,0,"account-item disabled"],[12],[1,"\\n "],[10,0],[14,0,"account-info"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["globe",18]],null],[1,"\\n "],[10,1],[12],[1,"OpenStreetMap"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"li"],[14,0,"account-item disabled"],[12],[1,"\\n "],[10,0],[14,0,"account-info"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["zap",18]],null],[1,"\\n "],[10,1],[12],[1,"Nostr"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@storage"],["if"]]',moduleName:"/home/basti/src/marco/app/components/user-menu.gjs",scope:()=>[kC,Cv],isStrictMode:!0}),this)}}class $q{assert(){}async(t){Promise.resolve().then(t)}reportUncaughtRejection(){this.async(t=>{throw t})}defer(){let t={promise:null,resolve:null,reject:null},e=new Promise((e,n)=>{t.resolve=e,t.reject=n});return t.promise=e,t}globalDebuggingEnabled(){return!1}}const Vq=new $q;class Gq{constructor(t){this.maxConcurrency=t||1}}const Wq="CANCELLED",Hq="STARTED",Kq="QUEUED",Yq={type:Hq},Xq={type:Kq},Zq=t=>({type:Wq,reason:t}),Jq=Zq("it belongs to a 'drop' Task that was already running");class Qq{constructor(t){this.remainingSlots=t}step(){return this.remainingSlots>0?(this.remainingSlots--,Yq):Jq}}class t$ extends Gq{makeReducer(){return new Qq(this.maxConcurrency)}}class e${constructor(t){this.remainingSlots=t}step(){return this.remainingSlots>0?(this.remainingSlots--,Yq):Xq}}class n$ extends Gq{makeReducer(){return new e$(this.maxConcurrency)}}const i$=Zq("it belongs to a 'keepLatest' Task that was already running");class r${constructor(t,e){this.remainingSlots=t,this.numToCancel=e}step(){return this.remainingSlots>0?(this.remainingSlots--,Yq):this.numToCancel>0?(this.numToCancel--,i$):Xq}}class s$ extends Gq{makeReducer(t,e){let n=t+e;return new r$(this.maxConcurrency,n-this.maxConcurrency-1)}}const o$=Zq("it belongs to a 'restartable' Task that was .perform()ed again");class a${constructor(t){this.numToCancel=t}step(){return this.numToCancel>0?(this.numToCancel--,o$):Yq}}class l$ extends Gq{makeReducer(t,e){return new a$(t+e-this.maxConcurrency)}}const c$=new class{step(){return Yq}};class h${makeReducer(){return c$}}const u$=new Map;class d${constructor(t,e,n){this.stateTracker=e,this.schedulerPolicy=t,this.initialTaskInstances=n,this.startingInstances=[]}process(){let[t,e,n]=this.filterFinishedTaskInstances(),i=this.schedulerPolicy.makeReducer(e,n),r=t.filter(t=>this.setTaskInstanceExecutionState(t,i.step()));return this.stateTracker.computeFinalStates(t=>this.applyState(t)),this.startingInstances.forEach(t=>t.start()),r}filterFinishedTaskInstances(){let t=0,e=0;return[this.initialTaskInstances.filter(n=>{let i=this.stateTracker.stateFor(n.task),r=n.executor.state;return r.isFinished?(i.onCompletion(n),!1):(r.hasStarted?t+=1:e+=1,!0)}),t,e]}setTaskInstanceExecutionState(t,e){let n=this.stateTracker.stateFor(t.task);switch(t.executor.counted||(t.executor.counted=!0,n.onPerformed(t)),e.type){case Wq:return t.cancel(e.reason),!1;case Hq:return t.executor.state.hasStarted||(this.startingInstances.push(t),n.onStart(t)),n.onRunning(t),!0;case Kq:return n.onQueued(t),!0}}applyState(t){let{taskable:e}=t;if(!e.onState)return;const{guid:n}=e;if(u$.has(n)&&t.tagt(e))}forEachState(t){this.states.forEach(e=>t(e))}}const m$=new class{onCompletion(){}onPerformed(){}onStart(){}onRunning(){}onQueued(){}};class y${stateFor(){return m$}computeFinalStates(){}}class _${constructor(t,e){this.schedulerPolicy=t,this.stateTrackingEnabled=e,this.taskInstances=[]}cancelAll(t,e){let n=this.taskInstances.map(n=>{n.task.guids[t]&&n.executor.cancel(e)}).filter(t=>!!t);return Promise.all(n)}perform(t){t.onFinalize(()=>this.scheduleRefresh()),this.taskInstances.push(t),this.refresh()}scheduleRefresh(){Promise.resolve().then(()=>this.refresh())}refresh(){let t=this.stateTrackingEnabled?new g$:new y$,e=new d$(this.schedulerPolicy,t,this.taskInstances);this.taskInstances=e.process()}}class v${constructor(t,e,n){this.value=t,this.done=e,this.errored=n}}class b${constructor(t){this.done=!1,this.generatorFactory=t,this.iterator=null}step(t,e){try{let n=this.getIterator(),{value:i,done:r}=n[e](t);return r?this.finalize(i,!1):new v$(i,!1,!1)}catch(n){return this.finalize(n,!0)}}getIterator(){return this.iterator||this.done||(this.iterator=this.generatorFactory()),this.iterator}finalize(t,e){return this.done=!0,this.iterator=null,new v$(t,!0,e)}}const w$="__ec_cancel__",x$="__ec_yieldable__",S$="next",C$="throw",k$="return",E$="cancel";class T${constructor(t,e){this._taskInstance=t,this._resumeIndex=e}getTaskInstance(){return this._taskInstance}cancel(){let t=this._taskInstance;t.proceed.call(t,this._resumeIndex,E$)}next(t){let e=this._taskInstance;e.proceed.call(e,this._resumeIndex,S$,t)}return(t){let e=this._taskInstance;e.proceed.call(e,this._resumeIndex,k$,t)}throw(t){let e=this._taskInstance;e.proceed.call(e,this._resumeIndex,C$,t)}}class R${constructor(){this[x$]=this[x$].bind(this)}onYield(){}_deferable(){let t={resolve:void 0,reject:void 0};return t.promise=new Promise((e,n)=>{t.resolve=e,t.reject=n}),t}_toPromise(){let t=this._deferable(),e={proceed(e,n,i){n==S$||n==k$?t.resolve(i):t.reject(i)}},n=this[x$](e,0);return t.promise[w$]=n,t.promise}then(...t){return this._toPromise().then(...t)}catch(...t){return this._toPromise().catch(...t)}finally(...t){return this._toPromise().finally(...t)}[x$](t,e){let n=new T$(t,e);return this.onYield(n)}}new class extends R${onYield(){}};const P$={completionState:0,value:null,error:null,isSuccessful:!1,isError:!1,isCanceled:!1,hasStarted:!1,isFinished:!1},I$="TaskCancelation",M$="explicit",O$="lifespan_end";class A${constructor(t,e){this.kind=t,this.reason=e,this.promise=new Promise(t=>{this.finalize=t})}}const F$="PERFORM_TYPE_DEFAULT",L$="PERFORM_TYPE_UNLINKED",z$="PERFORM_TYPE_LINKED",j$={};let D$=[];class N${constructor({generatorFactory:t,env:e,debug:n}){this.generatorState=new b$(t),this.state=Object.assign({},P$),this.index=1,this.disposers=[],this.finalizeCallbacks=[],this.env=e,this.debug=n,this.cancelRequest=null}start(){this.state.hasStarted||this.cancelRequest||(this.setState({hasStarted:!0}),this.proceedSync(S$,void 0))}cancel(t){return this.requestCancel(t)?(this.state.hasStarted?this.proceedWithCancelAsync():this.finalizeWithCancel(),this.cancelRequest.promise):(t.finalize(),t.promise)}setState(t){Object.assign(this.state,t),this.taskInstance.setState(this.state)}proceedChecked(t,e,n){this.state.isFinished||this.advanceIndex(t)&&(e===E$?(this.requestCancel(new A$("yielded"),n),this.proceedWithCancelAsync()):this.proceedAsync(e,n))}proceedWithCancelAsync(){this.proceedAsync(k$,j$)}proceedAsync(t,e){this.advanceIndex(this.index),this.env.async(()=>this.proceedSync(t,e))}proceedSync(t,e){this.state.isFinished||(this.dispose(),this.generatorState.done?this.handleResolvedReturnedValue(t,e):this.handleResolvedContinueValue(t,e))}handleResolvedContinueValue(t,e){let n=this.index,i=this.generatorStep(e,t);this.advanceIndex(n)&&(i.errored?this.finalize(i.value,2):this.handleYieldedValue(i))}handleResolvedReturnedValue(t,e){switch(t){case S$:case k$:this.finalize(e,1);break;case C$:this.finalize(e,2)}}handleYieldedUnknownThenable(t){let e=this.index;t.then(t=>{this.proceedChecked(e,S$,t)},t=>{this.proceedChecked(e,C$,t)})}advanceIndex(t){if(this.index===t)return++this.index}handleYieldedValue(t){let e=t.value;e?(this.addDisposer(e[w$]),e[x$]?this.invokeYieldable(e):"function"==typeof e.then?this.handleYieldedUnknownThenable(e):this.proceedWithSimpleValue(e)):this.proceedWithSimpleValue(e)}proceedWithSimpleValue(t){this.proceedAsync(S$,t)}addDisposer(t){"function"==typeof t&&this.disposers.push(t)}dispose(){let t=this.disposers;0!==t.length&&(this.disposers=[],t.forEach(t=>t()))}generatorStep(t,e){D$.push(this);let n=this.generatorState.step(t,e);if(D$.pop(),this._expectsLinkedYield){let t=n.value;t&&t.performType===z$||console.warn("You performed a .linked() task without immediately yielding/returning it. This is currently unsupported (but might be supported in future version of ember-concurrency)."),this._expectsLinkedYield=!1}return n}maybeResolveDefer(){this.defer&&this.state.isFinished&&(1===this.state.completionState?this.defer.resolve(this.state.value):this.defer.reject(this.state.error))}onFinalize(t){this.finalizeCallbacks.push(t),this.state.isFinished&&this.runFinalizeCallbacks()}runFinalizeCallbacks(){this.finalizeCallbacks.forEach(t=>t()),this.finalizeCallbacks=[],this.maybeResolveDefer(),this.maybeThrowUnhandledTaskErrorLater()}promise(){return this.defer||(this.defer=this.env.defer(),this.asyncErrorsHandled=!0,this.maybeResolveDefer()),this.defer.promise}maybeThrowUnhandledTaskErrorLater(){var t;this.asyncErrorsHandled||2!==this.state.completionState||(t=this.state.error)&&t.name===I$||this.env.async(()=>{this.asyncErrorsHandled||this.env.reportUncaughtRejection(this.state.error)})}requestCancel(t){return!this.cancelRequest&&!this.state.isFinished&&(this.cancelRequest=t,!0)}finalize(t,e){if(this.cancelRequest)return this.finalizeWithCancel();let n={completionState:e};1===e?(n.isSuccessful=!0,n.value=t):2===e?(n.isError=!0,n.error=t):3===e&&(n.error=t),this.finalizeShared(n)}finalizeWithCancel(){let t=this.taskInstance.formatCancelReason(this.cancelRequest.reason),e=new Error(t);this.debugEnabled()&&console.log(t),e.name=I$,this.finalizeShared({isCanceled:!0,completionState:3,error:e,cancelReason:t}),this.cancelRequest.finalize()}debugEnabled(){return this.debug||this.env.globalDebuggingEnabled()}finalizeShared(t){this.index++,t.isFinished=!0,this.setState(t),this.runFinalizeCallbacks()}invokeYieldable(t){try{let e=t[x$](this.taskInstance,this.index);this.addDisposer(e)}catch(e){this.env.reportUncaughtRejection(e)}}onYielded(t,e){this.asyncErrorsHandled=!0,this.onFinalize(()=>{let n=this.state.completionState;1===n?t.proceed(e,S$,this.state.value):2===n?t.proceed(e,C$,this.state.error):3===n&&t.proceed(e,E$,null)});let n=this.getPerformType();if(n!==L$)return()=>{this.detectSelfCancelLoop(n,t),this.cancel(new A$("parent_cancel"))}}getPerformType(){return this.taskInstance.performType||F$}detectSelfCancelLoop(t,e){if(t!==F$)return;let n=e.executor&&e.executor.cancelRequest;!n||n.kind!==O$||this.cancelRequest||this.state.isFinished||this.taskInstance.selfCancelLoopWarning(e)}}const U$={last:null,lastRunning:null,lastPerformed:null,lastSuccessful:null,lastComplete:null,lastErrored:null,lastCanceled:null,lastIncomplete:null,performCount:0};Object.freeze(U$);let B$=0;class q${constructor(t){this.context=t.context,this.debug=t.debug||!1,this.enabledModifiers=t.enabledModifiers,this.env=t.env,this.group=t.group,this.hasEnabledEvents=t.hasEnabledEvents,this.modifierOptions=t.modifierOptions,this.name=t.name,this.onStateCallback=t.onStateCallback,this.scheduler=t.scheduler,this.guid="ec_"+B$++,this.guids={},this.guids[this.guid]=!0,this.group&&Object.assign(this.guids,this.group.guids)}cancelAll(t){let{reason:e,cancelRequestKind:n,resetState:i}=t||{};e=e||".cancelAll() was explicitly called on the Task";let r=new A$(n||M$,e);return this.scheduler.cancelAll(this.guid,r).then(()=>{i&&this._resetState()})}get _isAlive(){return!0}_resetState(){this.setState(U$)}setState(){}}Object.assign(q$.prototype,U$),Object.assign(q$.prototype,{numRunning:0,numQueued:0,isRunning:!1,isQueued:!1,isIdle:!0,state:"idle"});class $${constructor(t,e,n){this.task=t,this.performType=e,this.linkedObject=n}perform(...t){return this.task._performShared(t,this.performType,this.linkedObject)}}let V$=class t extends q${constructor(t){super(t),this.generatorFactory=t.generatorFactory,this.perform=this._perform.bind(this)}linked(){let t=D$[D$.length-1];if(!t)throw new Error("You can only call .linked() from within a task.");return new $$(this,z$,t)}unlinked(){return new $$(this,L$,null)}toString(){return``}_clone(){return new t({context:this.context,debug:this.debug,env:this.env,generatorFactory:this.generatorFactory,group:this.group,hasEnabledEvents:this.hasEnabledEvents,name:this.name,onStateCallback:this.onStateCallback,scheduler:this.scheduler})}_curry(...t){let e=this._clone();return e._curryArgs=[...this._curryArgs||[],...t],e}_perform(...t){return this._performShared(t,F$,null)}_performShared(t,e,n){let i=this._curryArgs?[...this._curryArgs,...t]:t,r=this._taskInstanceFactory(i,e,n);return e===z$&&(n._expectsLinkedYield=!0),this._isAlive||r.cancel(),this.scheduler.perform(r),r}_taskInstanceOptions(t,e,n){return{args:t,executor:new N$({generatorFactory:()=>this.generatorFactory(t),env:this.env,debug:this.debug}),performType:e,hasEnabledEvents:this.hasEnabledEvents}}};const G$={enqueue:(t,e)=>e&&t.setBufferPolicy(n$),debug:(t,e)=>e&&t.setDebug(e),drop:(t,e)=>e&&t.setBufferPolicy(t$),keepLatest:(t,e)=>e&&t.setBufferPolicy(s$),maxConcurrency:(t,e)=>t.setMaxConcurrency(e),onState:(t,e)=>t.setOnState(e),restartable:(t,e)=>e&&t.setBufferPolicy(l$)};let W$=class{env=Vq;_debug=null;_enabledModifiers=[];_hasSetConcurrencyConstraint=!1;_hasSetBufferPolicy=!1;_hasEnabledEvents=!1;_maxConcurrency=null;_onStateCallback=(t,e)=>e.setState(t);_schedulerPolicyClass=h$;constructor(t="",e=null,n={}){this.name=t,this.taskDefinition=e,this.options=n,this._processModifierOptions(n)}createTask(t){let e=this.getTaskOptions(t);return new V$(Object.assign({generatorFactory:e=>this.taskDefinition.apply(t,e)},e))}getModifier(t){if(function(t){return t in G$}(t))return G$[t].bind(null,this)}getOptions(){return this.options}getScheduler(t,e){return new _$(t,e)}getTaskOptions(t){let e,n=this._onStateCallback,i=new this._schedulerPolicyClass(this._maxConcurrency);return e=this.getScheduler(i,n&&"function"==typeof n),{context:t,debug:this._debug,env:this.env,name:this.name,group:void 0,scheduler:e,hasEnabledEvents:this._hasEnabledEvents,onStateCallback:n,enabledModifiers:this._enabledModifiers,modifierOptions:this.getOptions()}}setBufferPolicy(t){return function(t){if(t._hasSetBufferPolicy)throw new Error(`Cannot set multiple buffer policies on a task. ${t._schedulerPolicyClass} has already been set for task '${t.name}'`)}(this),this._hasSetBufferPolicy=!0,this._hasSetConcurrencyConstraint=!0,this._schedulerPolicyClass=t,this}setDebug(t){return this._debug=t,this}setEvented(t){return this._hasEnabledEvents=t,this}setMaxConcurrency(t){return this._hasSetConcurrencyConstraint=!0,this._maxConcurrency=t,this}setName(t){return this.name=t,this}setOnState(t){return this._onStateCallback=t,this}setTaskDefinition(t){return this.taskDefinition=t,this}_processModifierOptions(t){if(t)for(let e of Object.keys(t)){let n=t[e],i=this.getModifier(e);"function"==typeof i&&i(n)&&this._enabledModifiers.push(e)}}};const H$=new class extends $q{assert(...t){}async(t){_a(()=>ba("actions",t))}reportUncaughtRejection(t){Ca(null,function(){const e=ko();if(!e)throw t;e(t)})}defer(){return qc()}globalDebuggingEnabled(){return!1}};class K$ extends _${scheduleRefresh(){xa(this,this.refresh)}}class Y${constructor({task:t,args:e,executor:n,performType:i,hasEnabledEvents:r}){this.task=t,this.args=e,this.performType=i,this.executor=n,this.executor.taskInstance=this,this.hasEnabledEvents=r}setState(){}formatCancelReason(){}selfCancelLoopWarning(){}onFinalize(t){this.executor.onFinalize(t)}proceed(t,e,n){this.executor.proceedChecked(t,e,n)}[x$](t,e){return this.executor.onYielded(t,e)}cancel(t=".cancel() was explicitly called"){this.executor.cancel(new A$(M$,t))}then(...t){return this.executor.promise().then(...t)}catch(...t){return this.executor.promise().catch(...t)}finally(...t){return this.executor.promise().finally(...t)}toString(){return`${this.task} TaskInstance`}start(){return this.executor.start(),this}}function X$(t,e){return Object.keys(t).reduce((e,n)=>function(t,e,n){const i=Object.getOwnPropertyDescriptor(t,n);i.initializer=i.initializer||(()=>t[n]),delete i.value;const r=Ms(e,n,i);return e[n]=r,e}(t,e,n),e)}let Z$,J$;Object.assign(Y$.prototype,P$),Object.assign(Y$.prototype,{state:"waiting",isDropped:!1,isRunning:!0}),Z$=X$(U$,{}),Z$=X$({numRunning:0,numQueued:0,isRunning:!1,isQueued:!1,isIdle:!0,state:"idle"},Z$),J$=X$(P$,{}),J$=X$({state:"waiting",isDropped:!1,isRunning:!1},J$),Object.freeze(Z$),Object.freeze(J$);class Q$ extends Y${setState(t){let e=this._recomputeState(t);Object.assign(this,{...t,isRunning:!t.isFinished,isDropped:"dropped"===e,state:e})}_recomputeState(t){return t.isDropped?"dropped":t.isCanceled?t.hasStarted?"canceled":"dropped":t.isFinished?"finished":t.hasStarted?"running":"waiting"}formatCancelReason(t){return`TaskInstance '${this.getName()}' was canceled because ${t}. For more information, see: http://ember-concurrency.com/docs/task-cancelation-help`}getName(){return this.name||(this.name=this.task&&this.task.name||""),this.name}selfCancelLoopWarning(t){let e=`\`${t.getName()}\``,n=`\`${this.getName()}\``;console.warn(`ember-concurrency detected a potentially hazardous "self-cancel loop" between parent task ${e} and child task ${n}. If you want child task ${n} to be canceled when parent task ${e} is canceled, please change \`.perform()\` to \`.linked().perform()\`. If you want child task ${n} to keep running after parent task ${e} is canceled, change it to \`.unlinked().perform()\``)}triggerEvent(...t){if(!this.hasEnabledEvents)return;let e=this.task,n=e.context,i=e&&e.name;if(n&&n.trigger&&i){let[e,...r]=t;n.trigger(`${i}:${e}`,...r)}}}J$&&Object.defineProperties(Q$.prototype,J$);const tV={_performCount:0,setState(t){this._performCount=this._performCount+(t.numPerformedInc||0);let e=t.numRunning>0,n=t.numQueued>0,i=Object.assign({},t,{performCount:this._performCount,isRunning:e,isQueued:n,isIdle:!e&&!n,state:e?"running":"idle"});Object.assign(this,i)},onState(t,e){e.onStateCallback&&e.onStateCallback(t,e)}};class eV extends V${constructor(t){super(t),Yt(this.context)||wx(this.context,()=>{this.cancelAll({reason:"the object it lives on was destroyed or unrendered",cancelRequestKind:O$})})}get _isAlive(){return!Yt(this.context)}_taskInstanceFactory(t,e,n){let i=this._taskInstanceOptions(t,e,n);return i.task=this,new Q$(i)}_clone(){return new eV({context:this.context,debug:this.debug,env:this.env,generatorFactory:this.generatorFactory,group:this.group,hasEnabledEvents:this.hasEnabledEvents,name:this.name,onStateCallback:this.onStateCallback,scheduler:this.scheduler})}}Z$&&Object.defineProperties(eV.prototype,Z$),Object.assign(eV.prototype,tV);class nV extends W${env=H$;createTask(t){this.taskDefinition;let e=this.getTaskOptions(t);return new eV(Object.assign({generatorFactory:e=>this.taskDefinition.apply(t,e)},e))}getModifier(t){return super.getModifier(t)}getScheduler(t,e){return new K$(t,e)}get taskFn(){return this.taskDefinition}set taskFn(t){this.setTaskDefinition(t)}}dh.Promise;class iV extends R${_deferable(){return H$.defer()}}class rV extends iV{constructor(t){super(),this.ms=t}onYield(t){let e=wa(()=>t.next(),this.ms);return()=>ka(e)}}class sV extends _C{static{Px(this.prototype,"photon",[qf])}#ot=void Mx(this,"photon");static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");static{Px(this.prototype,"map",[qf])}#at=void Mx(this,"map");static{Px(this.prototype,"query",[Ms],function(){return""})}#lt=void Mx(this,"query");static{Px(this.prototype,"results",[Ms],function(){return[]})}#ct=void Mx(this,"results");static{Px(this.prototype,"isFocused",[Ms],function(){return!1})}#ht=void Mx(this,"isFocused");static{Px(this.prototype,"isLoading",[Ms],function(){return!1})}#ut=void Mx(this,"isLoading");get showPopover(){return this.isFocused&&this.results.length>0}handleInput(t){this.query=t.target.value,this.query.length<2?this.results=[]:this.searchTask.perform()}static{Ix(this.prototype,"handleInput",[Oh])}searchTask=function(t){const e=t();return new nV("searchTask",e.generator,{restartable:!0}).createTask(e.context)}(()=>({context:this,generator:function*(){if(yield new rV(300),!(this.query.length<2)){this.isLoading=!0;try{let t,e;this.mapUi.currentCenter&&({lat:t,lon:e}=this.mapUi.currentCenter);const n=yield this.photon.search(this.query,t,e);this.results=n}catch(t){console.error("Search failed",t),this.results=[]}finally{this.isLoading=!1}}}}));handleFocus(){this.isFocused=!0,this.mapUi.setSearchBoxFocus(!0),this.query.length>=2&&0===this.results.length&&this.searchTask.perform()}static{Ix(this.prototype,"handleFocus",[Oh])}handleBlur(){setTimeout(()=>{this.isFocused=!1,this.mapUi.setSearchBoxFocus(!1)},300)}static{Ix(this.prototype,"handleBlur",[Oh])}handleSubmit(t){if(t.preventDefault(),!this.query)return;let e={q:this.query,selected:null};if(this.mapUi.currentCenter){const{lat:t,lon:n}=this.mapUi.currentCenter;e.lat=parseFloat(t).toFixed(4),e.lon=parseFloat(n).toFixed(4)}this.router.transitionTo("search",{queryParams:e}),this.isFocused=!1}static{Ix(this.prototype,"handleSubmit",[Oh])}selectResult(t){if(this.query=t.title,this.results=[],t.osmId){const e=`osm:${t.osmType}:${t.osmId}`;this.router.transitionTo("place",e)}else this.router.transitionTo("search",{queryParams:{q:t.title,lat:t.lat,lon:t.lon,selected:null}})}static{Ix(this.prototype,"selectResult",[Oh])}clear(){this.query="",this.results=[],this.router.transitionTo("index")}static{Ix(this.prototype,"clear",[Oh])}static{Zi(em({id:null,block:'[[[10,0],[14,0,"search-box"],[12],[1,"\\n "],[11,"form"],[24,0,"search-form"],[4,[32,0],["submit",[30,0,["handleSubmit"]]],null],[12],[1,"\\n "],[11,"button"],[24,0,"menu-btn-integrated"],[24,"aria-label","Menu"],[24,4,"button"],[4,[32,0],["click",[30,1]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["menu",20,"#5f6368"]],null],[1,"\\n "],[13],[1,"\\n\\n "],[11,"input"],[24,0,"search-input"],[24,"placeholder","Search places..."],[24,"aria-label","Search places"],[16,2,[30,0,["query"]]],[24,"autocomplete","off"],[24,4,"search"],[4,[32,0],["input",[30,0,["handleInput"]]],null],[4,[32,0],["focus",[30,0,["handleFocus"]]],null],[4,[32,0],["blur",[30,0,["handleBlur"]]],null],[12],[13],[1,"\\n\\n "],[10,"button"],[14,0,"search-submit-btn"],[14,"aria-label","Search"],[14,4,"submit"],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["search",20,"#5f6368"]],null],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,0,["query"]],[[[1," "],[11,"button"],[24,0,"search-clear-btn"],[24,"aria-label","Clear"],[24,4,"button"],[4,[32,0],["click",[30,0,["clear"]]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["x",20,"#5f6368"]],null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1," "],[13],[1,"\\n\\n"],[41,[30,0,["showPopover"]],[[[1," "],[10,0],[14,0,"search-results-popover"],[12],[1,"\\n "],[10,"ul"],[14,0,"search-results-list"],[12],[1,"\\n"],[42,[28,[31,2],[[28,[31,2],[[30,0,["results"]]],null]],null],null,[[[1," "],[10,"li"],[12],[1,"\\n "],[11,"button"],[24,0,"search-result-item"],[24,4,"button"],[4,[32,0],["click",[28,[32,2],[[30,0,["selectResult"]],[30,2]],null]],null],[12],[1,"\\n "],[10,0],[14,0,"result-icon"],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["map-pin",16,"#666"]],null],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"result-info"],[12],[1,"\\n "],[10,1],[14,0,"result-title"],[12],[1,[30,2,["title"]]],[13],[1,"\\n"],[41,[28,[32,3],[[30,2,["source"]],"osm"],null],[[[1," "],[10,1],[14,0,"result-desc"],[12],[1,[28,[32,4],[[30,2,["type"]]],null]],[13],[1,"\\n"]],[]],[[[41,[30,2,["description"]],[[[1," "],[10,1],[14,0,"result-desc"],[12],[1,[30,2,["description"]]],[13],[1,"\\n"]],[]],null]],[]]],[1," "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[2]],null],[1," "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[13]],["@onToggleMenu","result"],["if","each","-track-array"]]',moduleName:"/home/basti/src/marco/app/components/search-box.gjs",scope:()=>[Cv,kC,wC,CC,AC],isStrictMode:!0}),this)}}class oV extends _C{static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"isUserMenuOpen",[Ms],function(){return!1})}#dt=void Mx(this,"isUserMenuOpen");toggleUserMenu(){this.isUserMenuOpen=!this.isUserMenuOpen}static{Ix(this.prototype,"toggleUserMenu",[Oh])}closeUserMenu(){this.isUserMenuOpen=!1}static{Ix(this.prototype,"closeUserMenu",[Oh])}static{Zi(em({id:null,block:'[[[10,"header"],[14,0,"app-header"],[12],[1,"\\n "],[10,0],[14,0,"header-left"],[12],[1,"\\n "],[8,[32,0],null,[["@onToggleMenu"],[[30,1]]],null],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"header-right"],[12],[1,"\\n "],[10,0],[14,0,"user-menu-container"],[12],[1,"\\n "],[11,"button"],[24,0,"user-btn btn-press"],[24,"aria-label","User Menu"],[24,4,"button"],[4,[32,1],["click",[30,0,["toggleUserMenu"]]],null],[12],[1,"\\n "],[10,0],[14,0,"user-avatar-placeholder"],[12],[1,"\\n "],[8,[32,2],null,[["@name","@size","@color"],["user",20,"white"]],null],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,0,["isUserMenuOpen"]],[[[1," "],[8,[32,3],null,[["@storage","@onClose"],[[30,0,["storage"]],[30,0,["closeUserMenu"]]]],null],[1,"\\n "],[11,0],[24,0,"menu-backdrop"],[24,"role","button"],[4,[32,1],["click",[30,0,["closeUserMenu"]]],null],[12],[13],[1,"\\n"]],[]],null],[1," "],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@onToggleMenu"],["if"]]',moduleName:"/home/basti/src/marco/app/components/app-header.gjs",scope:()=>[sV,Cv,kC,qq],isStrictMode:!0}),this)}}class aV extends _C{static{Px(this.prototype,"settings",[qf])}#D=void Mx(this,"settings");updateApi(t){this.settings.updateOverpassApi(t.target.value)}static{Ix(this.prototype,"updateApi",[Oh])}toggleKinetic(t){this.settings.updateMapKinetic("true"===t.target.value)}static{Ix(this.prototype,"toggleKinetic",[Oh])}static{Zi(em({id:null,block:'[[[10,0],[14,0,"sidebar settings-pane"],[12],[1,"\\n "],[10,0],[14,0,"sidebar-header"],[12],[1,"\\n "],[10,"h2"],[12],[1,"\\n "],[10,"img"],[14,"src","/icons/icon-rounded.svg"],[14,"alt",""],[14,"width","32"],[14,"height","32"],[12],[13],[1,"\\n Marco\\n "],[13],[1,"\\n "],[11,"button"],[24,0,"close-btn"],[24,4,"button"],[4,[32,0],["click",[30,1]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["x",20,"#333"]],null],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"sidebar-content"],[12],[1,"\\n "],[10,"section"],[14,0,"settings-section"],[12],[1,"\\n "],[10,"h3"],[12],[1,"Settings"],[13],[1,"\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","map-kinetic"],[12],[1,"Map Inertia (Kinetic Panning)"],[13],[1,"\\n "],[11,"select"],[24,1,"map-kinetic"],[24,0,"form-control"],[4,[32,0],["change",[30,0,["toggleKinetic"]]],null],[12],[1,"\\n "],[10,"option"],[14,2,"true"],[15,"selected",[52,[30,0,["settings","mapKinetic"]],"selected"]],[12],[1,"\\n On\\n "],[13],[1,"\\n "],[10,"option"],[14,2,"false"],[15,"selected",[52,[51,[30,0,["settings","mapKinetic"]]],"selected"]],[12],[1,"\\n Off\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","overpass-api"],[12],[1,"Overpass API Provider"],[13],[1,"\\n "],[11,"select"],[24,1,"overpass-api"],[24,0,"form-control"],[4,[32,0],["change",[30,0,["updateApi"]]],null],[12],[1,"\\n"],[42,[28,[31,3],[[28,[31,3],[[30,0,["settings","overpassApis"]]],null]],null],null,[[[1," "],[10,"option"],[15,2,[30,2,["url"]]],[15,"selected",[52,[28,[32,2],[[30,2,["url"]],[30,0,["settings","overpassApi"]]],null],"selected"]],[12],[1,"\\n "],[1,[30,2,["name"]]],[1,"\\n "],[13],[1,"\\n"]],[2]],null],[1," "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"section"],[14,0,"settings-section"],[12],[1,"\\n "],[10,"h3"],[12],[1,"About"],[13],[1,"\\n "],[10,2],[12],[1,"\\n "],[10,"strong"],[12],[1,"Marco"],[13],[1,"\\n (as in\\n "],[10,3],[14,6,"https://en.wikipedia.org/wiki/Marco_Polo"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"Marco Polo"],[13],[1,") is an unhosted maps application that respects your\\n privacy and choices.\\n "],[13],[1,"\\n "],[10,2],[12],[1,"\\n Connect your own\\n "],[10,3],[14,6,"https://remotestorage.io/"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"remote storage"],[13],[1,"\\n to sync place bookmarks across apps and devices.\\n "],[13],[1,"\\n "],[10,"ul"],[14,0,"link-list"],[12],[1,"\\n "],[10,"li"],[12],[1,"\\n "],[10,3],[14,6,"https://gitea.kosmos.org/raucao/marco"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n Source Code\\n "],[13],[1,"\\n ("],[10,3],[14,6,"https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"AGPL"],[13],[1,")\\n "],[13],[1,"\\n "],[10,"li"],[12],[1,"\\n "],[10,3],[14,6,"https://openstreetmap.org/copyright"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n Map Data © OpenStreetMap\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@onClose","api"],["if","unless","each","-track-array"]]',moduleName:"/home/basti/src/marco/app/components/settings-pane.gjs",scope:()=>[Cv,kC,CC],isStrictMode:!0}),this)}}class lV extends _C{static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"isSettingsOpen",[Ms],function(){return!1})}#pt=void Mx(this,"isSettingsOpen");get isSidebarOpen(){return"place"===this.router.currentRouteName||"place.new"===this.router.currentRouteName||"search"===this.router.currentRouteName}constructor(){super(...arguments),console.debug("Application component constructed"),this.storage}toggleSettings(){this.isSettingsOpen=!this.isSettingsOpen}static{Ix(this.prototype,"toggleSettings",[Oh])}closeSettings(){this.isSettingsOpen=!1}static{Ix(this.prototype,"closeSettings",[Oh])}handleOutsideClick(){this.isSettingsOpen?this.closeSettings():("search"===this.router.currentRouteName||"place"===this.router.currentRouteName)&&this.router.transitionTo("index")}static{Ix(this.prototype,"handleOutsideClick",[Oh])}refreshBookmarks(){this.storage.notifyChange()}static{Ix(this.prototype,"refreshBookmarks",[Oh])}static{Zi(em({id:null,block:'[[[1,[28,[32,0],["Marco"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onToggleMenu"],[[30,0,["toggleSettings"]]]],null],[1,"\\n\\n"],[10,0],[14,1,"rs-widget-container"],[15,0,[52,[30,0,["storage","isWidgetOpen"]],"visible"]],[12],[13],[1,"\\n\\n"],[41,[30,0,["storage","isWidgetOpen"]],[[[1," "],[11,0],[24,0,"rs-backdrop"],[24,"role","button"],[4,[32,2],["click",[30,0,["storage","closeWidget"]]],null],[12],[13],[1,"\\n"]],[]],null],[1,"\\n"],[8,[32,3],null,[["@isSidebarOpen","@onOutsideClick"],[[28,[32,4],[[30,0,["isSidebarOpen"]],[30,0,["isSettingsOpen"]]],null],[30,0,["handleOutsideClick"]]]],null],[1,"\\n\\n"],[41,[30,0,["isSettingsOpen"]],[[[1," "],[8,[32,5],null,[["@onClose"],[[30,0,["closeSettings"]]]],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:()=>[$C,oV,Cv,Bq,SC,aV],isStrictMode:!0}),this)}}const cV=Object.freeze(Object.defineProperty({__proto__:null,default:lV},Symbol.toStringTag,{value:"Module"}));class hV extends kp{static{Px(this.prototype,"osm",[qf])}#st=void Mx(this,"osm");static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage")}const uV=Object.freeze(Object.defineProperty({__proto__:null,default:hV},Symbol.toStringTag,{value:"Module"}));class dV extends _C{static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");static{Px(this.prototype,"localPlace",[Ms],function(){return null})}#ft=void Mx(this,"localPlace");constructor(){super(...arguments),this.localPlace=this.args.model}get place(){const t=this.args.model,e=t.osmId||t.id;return this.storage.findPlaceById(e)||(!this.localPlace||this.localPlace.osmId!==e&&this.localPlace.id!==e?t.createdAt?{...t,id:void 0,createdAt:void 0,geohash:void 0}:t:this.localPlace)}handleUpdate(t){console.debug("Updating local place state:",t),this.localPlace=t,this.storage.notifyChange()}static{Ix(this.prototype,"handleUpdate",[Oh])}refreshMap(){this.storage.notifyChange()}static{Ix(this.prototype,"refreshMap",[Oh])}navigateBack(t){null===t?this.mapUi.returnToSearch?window.history.back():this.router.transitionTo("index"):this.router.transitionTo("place",t)}static{Ix(this.prototype,"navigateBack",[Oh])}close(){this.router.transitionTo("index")}static{Ix(this.prototype,"close",[Oh])}static{Zi(em({id:null,block:'[[[8,[32,0],null,[["@selectedPlace","@onClose","@onSelect","@onBookmarkChange","@onUpdate"],[[30,0,["place"]],[30,0,["close"]],[30,0,["navigateBack"]],[30,0,["refreshMap"]],[30,0,["handleUpdate"]]]],null]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place.gjs",scope:()=>[FC],isStrictMode:!0}),this)}}const pV=Object.freeze(Object.defineProperty({__proto__:null,default:dV},Symbol.toStringTag,{value:"Module"}));class fV extends kp{static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"osm",[qf])}#st=void Mx(this,"osm");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");async model(t){const e=t.place_id;if(e.startsWith("osm:node:")||e.startsWith("osm:way:")||e.startsWith("osm:relation:")){const[,t,n]=e.split(":");return console.debug(`Fetching explicit OSM ${t}:`,n),this.loadOsmPlace(n,t)}await this.waitForSync();let n=this.storage.findPlaceById(e);return n?(console.debug("Found in bookmarks:",n.title),n):(console.warn("Not in bookmarks:",e),null)}async waitForSync(){if(this.storage.initialSyncDone)return;console.debug("Waiting for initial storage sync...");const t=Date.now();for(;!this.storage.initialSyncDone;){if(Date.now()-t>5e3){console.warn("Timed out waiting for initial sync");break}await new Promise(t=>setTimeout(t,100))}}async afterModel(t){if(t&&t.osmId&&t.osmType&&"node"!==t.osmType&&!t.geojson){console.debug("Model missing geometry, fetching full OSM details...");const e=await this.loadOsmPlace(t.osmId,t.osmType);e&&(Object.assign(t,e),console.debug("Enriched model with full OSM details",t))}if(t){const e={preventZoom:this.mapUi.preventNextZoom};this.mapUi.selectPlace(t,e),this.mapUi.preventNextZoom=!1}this.mapUi.stopSearch()}deactivate(){this.mapUi.clearSelection(),this.mapUi.returnToSearch=!1}async loadOsmPlace(t,e=null){try{const n=await this.osm.fetchOsmObject(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 gV=Object.freeze(Object.defineProperty({__proto__:null,default:fV},Symbol.toStringTag,{value:"Module"}));class mV extends _C{static{Px(this.prototype,"router",[qf])}#tt=void Mx(this,"router");static{Px(this.prototype,"storage",[qf])}#Q=void Mx(this,"storage");static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");get initialPlace(){return{title:"",description:""}}close(){this.router.transitionTo("index")}static{Ix(this.prototype,"close",[Oh])}async savePlace(t){try{const e=this.mapUi.creationCoordinates||{lat:this.args.model.lat,lon:this.args.model.lon},n=parseFloat(e.lat.toFixed(6)),i=parseFloat(e.lon.toFixed(6)),r={title:t.title||"Untitled Place",description:t.description,lat:n,lon:i,tags:[],osmTags:{}},s=await this.storage.storePlace(r);console.debug("Created private place:",s.title),this.router.replaceWith("place",s)}catch(e){console.error("Failed to create place:",e),alert("Failed to create place: "+e.message)}}static{Ix(this.prototype,"savePlace",[Oh])}static{Zi(em({id:null,block:'[[[10,0],[14,0,"sidebar"],[12],[1,"\\n "],[10,0],[14,0,"sidebar-header"],[12],[1,"\\n "],[10,"h2"],[12],[8,[32,0],null,[["@name","@size","@color"],["plus-circle",20,"#ea4335"]],null],[1,"\\n New Place"],[13],[1,"\\n "],[11,"button"],[24,0,"close-btn"],[24,4,"button"],[4,[32,1],["click",[30,0,["close"]]],null],[12],[8,[32,0],null,[["@name","@size","@color"],["x",20,"#333"]],null],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"sidebar-content"],[12],[1,"\\n "],[10,2],[14,0,"helper-text"],[12],[1,"\\n Drag the map to position the crosshair.\\n "],[13],[1,"\\n\\n "],[8,[32,2],null,[["@place","@onSave","@onCancel"],[[30,0,["initialPlace"]],[30,0,["savePlace"]],[30,0,["close"]]]],null],[1,"\\n "],[13],[1,"\\n"],[13]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place/new.gjs",scope:()=>[kC,Cv,EC],isStrictMode:!0}),this)}}const yV=Object.freeze(Object.defineProperty({__proto__:null,default:mV},Symbol.toStringTag,{value:"Module"}));class _V extends kp{static{Px(this.prototype,"mapUi",[qf])}#rt=void Mx(this,"mapUi");queryParams={lat:{refreshModel:!0},lon:{refreshModel:!0}};model(t){return{lat:parseFloat(t.lat),lon:parseFloat(t.lon)}}setupController(t,e){super.setupController(t,e),e.lat&&e.lon&&this.mapUi.updateCreationCoordinates(e.lat,e.lon),this.mapUi.startCreating()}deactivate(){this.mapUi.stopCreating()}}const vV=Object.freeze(Object.defineProperty({__proto__:null,default:_V},Symbol.toStringTag,{value:"Module"})),bV=Object.assign({},px,{"marco/app":t,"marco/config/environment":_x,"marco/deprecation-workflow":bx,"marco/router":Tx,"marco/services/map-ui":Ax,"marco/services/osm":Bx,"marco/services/photon":qx,"marco/services/settings":Vx,"marco/services/storage":qS,"marco/utils/format-text":Lx,"marco/utils/geo":VS,"marco/utils/geohash-coverage":hS,"marco/utils/icons":HS,"marco/utils/osm":Nx,"marco/utils/place-mapping":YS,"marco/utils/social-links":ZS,"marco/services/page-title":hC,"marco/templates/search":zC,"marco/controllers/search":jC,"marco/routes/search":NC,"marco/templates/application":cV,"marco/routes/application":uV,"marco/templates/place":pV,"marco/routes/place":gV,"marco/templates/place/new":yV,"marco/routes/place/new":vV},{});class wV{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 xV=/[ _]/g,SV=new wV(1e3,t=>{return(e=t,OV.get(e)).replace(xV,"-");var e}),CV=/^(\-|_)+(.)?/,kV=/(.)(\-|\_|\.|\s)+(.)?/g,EV=/(^|\/|\.)([a-z])/g,TV=new wV(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())}),RV=/([a-z\d])([A-Z]+)/g,PV=/\-|\s+/g,IV=new wV(1e3,t=>t.replace(RV,"$1_$2").replace(PV,"_").toLowerCase()),MV=/([a-z\d])([A-Z])/g,OV=new wV(1e3,t=>t.replace(MV,"$1_$2").toLowerCase());class AV{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 FV{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 AV)}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,TV.get(a))};var a}resolveOther(t){LV("`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,"/"),SV.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 LV(`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 LV(t,e){if(!e)throw new Error(t)}const zV={};function jV(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 zV)return;zV[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-CE4bEz4r.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class DV extends ux{modulePrefix=yx.modulePrefix;podModulePrefix=yx.podModulePrefix;Resolver=FV.withModules(bV);inspector=jV(this)}DV.create(yx.APP);export{Sr as $,Gr as A,as as B,Cr as C,Ps as D,Lr as E,po as F,uo as G,ts as H,Fs as I,Js as J,Br as K,Ts as L,xs as M,ao as N,Is as O,is as P,Or as Q,gs as R,Vr as S,As as T,Ve as U,xr as V,mo as W,Rs as X,Rr as Y,mr as Z,ks as _,Ss as a,Zl as a$,ss as a0,dr as a1,qr as a2,go as a3,fo as a4,Zs as a5,Nr as a6,ho as a7,Hr as a8,Ws as a9,lc as aA,dh as aB,qc as aC,Mc as aD,Yc as aE,Dc as aF,Uc as aG,Vc as aH,uh as aI,hh as aJ,zc as aK,Wc as aL,Gc as aM,Bc as aN,nd as aO,g as aP,d as aQ,m as aR,p as aS,h as aT,f as aU,ne as aV,Qt as aW,Jt as aX,ae as aY,oe as aZ,se as a_,Ks as aa,Jr as ab,Ur as ac,Ar as ad,yo as ae,Qs as af,_o as ag,gr as ah,fr as ai,Ms as aj,js as ak,$v as al,eb as am,Ni as an,Eb as ao,Ji as ap,vS as aq,Zi as ar,et as as,oc as at,Pc as au,Ac as av,Lc as aw,Jc as ax,ch as ay,lh as az,hs as b,Sx as b$,Xl as b0,Yl as b1,nc as b2,ph as b3,Hl as b4,rc as b5,tc as b6,Jl as b7,fh as b8,sr as b9,Au as bA,ex as bB,Ou as bC,eu as bD,kv as bE,wu as bF,Yh as bG,Gh as bH,Wh as bI,zh as bJ,Kh as bK,Bh as bL,jh as bM,Qh as bN,Xh as bO,Jh as bP,qh as bQ,Dh as bR,Lh as bS,$h as bT,Vh as bU,dx as bV,Xw as bW,od as bX,TS as bY,ud as bZ,G as b_,Q as ba,at as bb,Kw as bc,st as bd,cl as be,Ct as bf,tt as bg,nt as bh,no as bi,W as bj,St as bk,H as bl,er as bm,_t as bn,dt as bo,ft as bp,eo as bq,pt as br,nr as bs,wt as bt,vt as bu,kt as bv,bt as bw,Rt as bx,Y as by,mt as bz,qe as c,Fh as c0,ic as c1,gu as c2,Eh as c3,iu as c4,Rh as c5,OS as c6,PS as c7,Ta as c8,Vf as c9,ll as ca,ar as cb,vC as cc,Qi as cd,ii as ce,Sv as cf,En as cg,cn as ch,lo as d,ws as e,Cs as f,$e as g,zs as h,Kr as i,Xs as j,Dr as k,co as l,Wr as m,Ds as n,Vs as o,$s as p,fs as q,os as r,Ls as s,ls as t,ps as u,ys as v,ms as w,_s as x,Mr as y,Ir as z};