Files
marco/release/assets/main-CGySSjv6.js
Râu Cao 98dcb4f25b
All checks were successful
CI / Lint (push) Successful in 30s
CI / Test (push) Successful in 57s
1.20.1
2026-04-23 09:23:41 +01:00

17 lines
1.5 MiB
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return O7}},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,r=e?self.location:null,i=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:i,isChrome:o,isFirefox:a,location:r,userAgent:s,window:n},Symbol.toStringTag,{value:"Module"}));function c(t){return t&&t.Object===Object?t:void 0}const u=c((h="object"==typeof global&&global)&&void 0===h.nodeType?h:void 0)||c("object"==typeof self&&self)||c("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var h;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}}(u,u.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 r in t){if(!Object.prototype.hasOwnProperty.call(t,r)||"EXTEND_PROTOTYPES"===r||"EMBER_LOAD_HOOKS"===r)continue;let e=g[r];g[r]=!0===e?!1!==t[r]:!1===e?!0===t[r]:t[r]}let{EMBER_LOAD_HOOKS:e}=t;if("object"==typeof e&&null!==e)for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let t=e[r];Array.isArray(t)&&(g.EMBER_LOAD_HOOKS[r]=t.filter(t=>"function"==typeof t))}let{FEATURES:n}=t;if("object"==typeof n&&null!==n)for(let r in n)Object.prototype.hasOwnProperty.call(n,r)&&(g.FEATURES[r]=!0===n[r])})(u.EmberENV);let y=()=>{},v=()=>{},b=!1;function w(){return b}function _(t){b=Boolean(t)}let x=()=>{};const{toString:C}=Object.prototype,{toString:S}=Function.prototype,{isArray:k}=Array,{keys:E}=Object,{stringify:T}=JSON,R=100,M=/^[\w$]+$/;function L(t){return"number"==typeof t&&2===arguments.length?this:I(t,0)}function I(t,e,n){let r=!1;switch(typeof t){case"undefined":return"undefined";case"object":if(null===t)return"null";if(k(t)){r=!0;break}if(t.toString===C||void 0===t.toString)break;return t.toString();case"function":return t.toString===S?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),r?function(t,e,n){if(e>4)return"[Array]";let r="[";for(let i=0;i<t.length;i++){if(r+=0===i?" ":", ",i>=R){r+=`... ${t.length-R} more items`;break}r+=I(t[i],e,n)}return r+=" ]",r}(t,e+1,n):function(t,e,n){if(e>4)return"[Object]";let r="{",i=E(t);for(let s=0;s<i.length;s++){if(r+=0===s?" ":", ",s>=R){r+=`... ${i.length-R} more keys`;break}let o=i[s];r+=`${P(String(o))}: ${I(t[o],e,n)}`}return r+=" }",r}(t,e+1,n)}function P(t){return M.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 O=()=>{};let F=O,z=O,D=O,N=O,j=O,B=O,U=O,$=O,q=function(){return arguments[arguments.length-1]};function V(){}const W=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:y,captureRenderTree:A,debug:D,debugFreeze:j,debugSeal:N,deprecate:V,deprecateFunc:q,getDebugFunction:$,info:F,inspect:L,isTesting:w,registerDeprecationHandler:v,registerWarnHandler:x,runInDebug:B,setDebugFunction:U,setTesting:_,warn:z},Symbol.toStringTag,{value:"Module"}));function H(t){let e=Object.create(null);e[t]=1;for(let n in e)if(n===t)return n;return t}function G(t){return null!==t&&("object"==typeof t||"function"==typeof t)}let K=0;function Z(){return++K}const Y="ember",X=new WeakMap,J=new Map,Q=H(`__ember${Date.now()}`);function tt(t,e=Y){let n=e+Z().toString();return G(t)&&X.set(t,n),n}function et(t){let e;if(G(t))e=X.get(t),void 0===e&&(e=`${Y}${Z()}`,X.set(t,e));else if(e=J.get(t),void 0===e){let n=typeof t;e="string"===n?`st${Z()}`:"number"===n?`nu${Z()}`:"symbol"===n?`sy${Z()}`:`(${t})`,J.set(t,e)}return e}const nt=void 0,rt=/\.(_super|call\(this|apply\(this)/,it=Function.prototype.toString,st=it.call(function(){return this}).indexOf("return this")>-1?function(t){return rt.test(it.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 ut=new WeakMap;function ht(t){let e=ut.get(t);return void 0===e&&(e=new ct,ut.set(t,e)),e}function dt(t){return ut.get(t)}function pt(t,e){ht(t).observers=e}function ft(t,e){ht(t).listeners=e}const gt=new WeakSet;function mt(t,e){return lt(t)?!gt.has(e)&&lt(e)?yt(t,yt(e,at)):yt(t,e):t}function yt(t,e){function n(){let n=this._super;this._super=e;let r=t.apply(this,arguments);return this._super=n,r}gt.add(n);let r=ut.get(t);return void 0!==r&&ut.set(n,r),n}function vt(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 bt,wt,_t;const xt=[];function Ct(t){return-1!==xt.indexOf(t)}function St(t){return H(`__${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;n<t.length;n++)n>0&&(e+=","),Tt(t[n])||(e+=Rt(t[n]));return e}return"function"==typeof t.toString?t.toString():Et.call(t)}let Mt,Lt,It,Pt,At,Ot,Ft,zt,Dt,Nt,jt=()=>{},Bt=new WeakMap;function Ut(t,e){return null===t?e:Array.isArray(t)?(t.push(e),t):[t,e]}function $t(t,e){Array.isArray(t)?t.forEach(e):null!==t&&e(t)}function qt(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=Bt.get(t);return void 0===e&&(e={parents:null,children:null,eagerDestructors:null,destructors:null,state:0},Bt.set(t,e)),e}function Wt(t,e){let n=Vt(t),r=Vt(e);return n.children=Ut(n.children,e),r.parents=Ut(r.parents,t),e}function Ht(t,e,n=!1){let r=Vt(t),i=n?"eagerDestructors":"destructors";return r[i]=Ut(r[i],e),e}function Gt(t){let e=Vt(t);if(e.state>=1)return;let{parents:n,children:r,eagerDestructors:i,destructors:s}=e;e.state=1,$t(r,Gt),$t(i,e=>{e(t)}),$t(s,e=>{Mt(t,e)}),Lt(()=>{$t(n,e=>{!function(t,e){let n=Vt(e);0===n.state&&(n.children=qt(n.children,t))}(t,e)}),e.state=2})}function Kt(t){let e=Bt.get(t);return void 0!==e&&null!==e.children}function Zt(t){let e=Bt.get(t);return void 0!==e&&e.state>=1}function Yt(t){let e=Bt.get(t);return void 0!==e&&e.state>=2}const Xt=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=re(this.source);this._parent=t=null===e||e===Xt?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 r=n[t];if(void 0!==r){let t=r.get(e);if(void 0!==t)return t}n=n.parent}}_hasInInheritedSet(t,e){let n=this;for(;null!==n;){let r=n[t];if(void 0!==r&&r.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 r=n._mixins;void 0!==r&&(e=void 0===e?new Set:e,r.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 r=n._descriptors;void 0!==r&&(e=void 0===e?new Set:e,r.forEach((n,r)=>{e.has(r)||(e.add(r),n!==Qt&&t(r,n))})),n=n.parent}}addToListeners(t,e,n,r,i){this.pushListener(t,e,n,r?te.ONCE:te.ADD,i)}removeFromListeners(t,e,n){this.pushListener(t,e,n,te.REMOVE)}pushListener(t,e,n,r,i=!1){let s=this.writableListeners(),o=le(s,t,e,n);if(-1!==o&&o<this._inheritedEnd&&(s.splice(o,1),this._inheritedEnd--,o=-1),-1===o)s.push({event:t,target:e,method:n,kind:r,sync:i});else{let t=s[o];r===te.REMOVE&&t.kind!==te.REMOVE?s.splice(o,1):(t.kind=r,t.sync=i)}}writableListeners(){return this._flattenedVersion!==ee||this.source!==this.proto&&-1!==this._inheritedEnd||ee++,-1===this._inheritedEnd&&(this._inheritedEnd=0,this._listeners=[]),this._listeners}flattenedListeners(){if(this._flattenedVersion<ee){let t=this.parent;if(null!==t){let e=t.flattenedListeners();if(void 0!==e)if(void 0===this._listeners)this._listeners=e;else{let t=this._listeners;this._inheritedEnd>0&&(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 r of n)r.event!==t||r.kind!==te.ADD&&r.kind!==te.ONCE||(void 0===e&&(e=[]),e.push(r.target,r.method,r.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 re=Object.getPrototypeOf,ie=new WeakMap;function se(t,e){ie.set(t,e)}function oe(t){let e=ie.get(t);if(void 0!==e)return e;let n=re(t);for(;null!==n;){if(e=ie.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=re(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,r){for(let i=t.length-1;i>=0;i--){let s=t[i];if(s.event===e&&s.target===n&&s.method===r)return i}return-1}let ce=1;const ue=Symbol("TAG_COMPUTE");function he(t){return t[ue]()}function de(t,e){return e>=t[ue]()}Reflect.set(globalThis,"COMPUTE_SYMBOL",ue);const pe=Symbol("TAG_TYPE");class fe{static combine(t){switch(t.length){case 0:return be;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}[ue](){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[ue]();e=Math.max(t,e)}else{let n=t[ue]();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,r=e;r===be?n.subtag=null:(n.subtagBufferCache=r[ue](),n.subtag=r)}static dirtyTag(t,e){t.revision=++ce,jt()}}const ge=fe.dirtyTag,me=fe.updateTag;function ye(){return new fe(0)}function ve(){return new fe(1)}const be=new fe(3);function we(t){return t===be}class _e{[ue](){return NaN}constructor(){this[pe]=100}}const xe=new _e;class Ce{[ue](){return ce}constructor(){this[pe]=101}}const Se=new Ce,ke=fe.combine;let Ee=ve(),Te=ve(),Re=ve();he(Ee),ge(Ee),he(Ee),me(Ee,ke([Te,Re])),he(Ee),ge(Te),he(Ee),ge(Re),he(Ee),me(Ee,Re),he(Ee),ge(Re),he(Ee);class Me{add(t){t!==be&&(this.tags.add(t),this.last=t)}combine(){let{tags:t}=this;return 0===t.size?be:1===t.size?this.last:ke(Array.from(this.tags))}constructor(){this.tags=new Set,this.last=null}}let Le=null;const Ie=[];function Pe(){Ie.push(Le),Le=new Me}function Ae(){let t=Le;return Le=Ie.pop()||null,function(t){if(null==t)throw new Error("Expected value to be present");return t}(t).combine()}function Oe(){Ie.push(Le),Le=null}function Fe(){Le=Ie.pop()||null}function ze(){return null!==Le}function De(t){null!==Le&&Le.add(t)}const Ne=Symbol("FN"),je=Symbol("LAST_VALUE"),Be=Symbol("TAG"),Ue=Symbol("SNAPSHOT");function $e(t){return{[Ne]:t,[je]:void 0,[Be]:void 0,[Ue]:-1}}function qe(t){let e=t[Ne],n=t[Be],r=t[Ue];if(void 0!==n&&de(n,r))De(n);else{Pe();try{t[je]=e()}finally{n=Ae(),t[Be]=n,t[Ue]=he(n),De(n)}}return t[je]}function Ve(t){return we(t[Be])}function We(t){let e;Pe();try{t()}finally{e=Ae()}return e}function He(t){Oe();try{return t()}finally{Fe()}}const Ge=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 Ze(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Ye{#t;constructor(t,e){this.#e=ve(),this.#n=new Map,this.#t=e;const n=t.slice(),r=this,i=new Map;let s=!1;return new Proxy(n,{get(t,e){const n=Ze(e);if(null!==n)return r.#r(n),De(r.#e),t[n];if("length"===e)return s?s=!1:De(r.#e),t[e];if(Ke.has(e)&&(s=!0),Ge.has(e)){let n=i.get(e);return void 0===n&&(n=(...n)=>(De(r.#e),t[e](...n)),i.set(e,n)),n}return t[e]},set(t,e,n){if(r.#t.equals(t[e],n))return!0;t[e]=n;const i=Ze(e);return null!==i?(r.#i(i),r.#s()):"length"===e&&r.#s(),!0},getPrototypeOf:()=>Ye.prototype})}#e;#n;#r(t){let e=this.#n.get(t);void 0===e&&(e=ve(),this.#n.set(t,e)),De(e)}#i(t){const e=this.#n.get(t);e&&ge(e)}#s(){ge(this.#e),this.#n.clear()}}Object.setPrototypeOf(Ye.prototype,Array.prototype);class Xe{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=ve(),e.set(t,n)),n}#i(t){const e=this.#n.get(t);e&&ge(e)}constructor(t,e){this.#e=ve(),this.#n=new Map,this.#o=t instanceof Map?new Map(t.entries()):new Map(t),this.#t=e}get(t){return De(this.#a(t)),this.#o.get(t)}has(t){return De(this.#a(t)),this.#o.has(t)}entries(){return De(this.#e),this.#o.entries()}keys(){return De(this.#e),this.#o.keys()}values(){return De(this.#e),this.#o.values()}forEach(t){De(this.#e),this.#o.forEach(t)}get size(){return De(this.#e),this.#o.size}[Symbol.iterator](){let t=this.keys(),e=this;return{next(){let n=t.next(),r=n.value;return n.done?{value:[void 0,void 0],done:!0}:{value:[r,e.get(r)],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.#i(t),n||ge(this.#e),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#i(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(Xe.prototype,Map.prototype);class Je{#t;#n;#e;#r(t){let e=this.#n.get(t);void 0===e&&(e=ve(),this.#n.set(t,e)),De(e)}#i(t){const e=this.#n.get(t);e&&ge(e)}#s(){ge(this.#e)}constructor(t,e){this.#n=new Map,this.#e=ve(),this.#t=e;const n=Object.getPrototypeOf(t),r=Object.getOwnPropertyDescriptors(t),i=Object.create(n);for(const o in r)Object.defineProperty(i,o,r[o]);const s=this;return new Proxy(i,{get:(t,e)=>(s.#r(e),t[e]),has:(t,e)=>(s.#r(e),e in t),ownKeys:t=>(De(s.#e),Reflect.ownKeys(t)),set:(t,e,n)=>(s.#t.equals(t[e],n)||(t[e]=n,s.#i(e),s.#s()),!0),deleteProperty:(t,e)=>(e in t&&(delete t[e],s.#i(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=ve(),e.set(t,n)),n}#i(t){const e=this.#n.get(t);e&&ge(e)}constructor(t,e){this.#e=ve(),this.#n=new Map,this.#o=new Set(t),this.#t=e}has(t){return De(this.#a(t)),this.#o.has(t)}entries(){return De(this.#e),this.#o.entries()}keys(){return De(this.#e),this.#o.keys()}values(){return De(this.#e),this.#o.values()}union(t){return De(this.#e),this.#o.union(t)}intersection(t){return De(this.#e),this.#o.intersection(t)}difference(t){return De(this.#e),this.#o.difference(t)}symmetricDifference(t){return De(this.#e),this.#o.symmetricDifference(t)}isSubsetOf(t){return De(this.#e),this.#o.isSubsetOf(t)}isSupersetOf(t){return De(this.#e),this.#o.isSupersetOf(t)}isDisjointFrom(t){return De(this.#e),this.#o.isDisjointFrom(t)}forEach(t){De(this.#e),this.#o.forEach(t)}get size(){return De(this.#e),this.#o.size}[Symbol.iterator](){return De(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.#i(t),this.#o.add(t),this}delete(t){return!this.#o.has(t)||(this.#i(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=ve(),this.#n.set(t,e)),e}#i(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 De(this.#a(t)),this.#o.get(t)}has(t){return De(this.#a(t)),this.#o.has(t)}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#i(t),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#i(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=ve(),this.#n.set(t,e)),e}#i(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 De(this.#a(t)),this.#o.has(t)}add(t){return this.#o.has(t)&&this.#t.equals(t,t)||(this.#o.add(t),this.#i(t)),this}delete(t){return!this.#o.has(t)||(this.#i(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 r=void 0===n?nn.get(t):n;if(void 0===r)return;let i=r.get(e);void 0!==i&&ge(i,!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 r=void 0===n?sn(t):n,i=r.get(e);return void 0===i&&(i=ve(),r.set(e,i)),i}function an(t,e){let n=new WeakMap,r="function"==typeof e;return{getter:function(i){let s;return De(on(i,t)),r&&!n.has(i)?(s=e.call(i),n.set(i,s)):s=n.get(i),s},setter:function(e,r){rn(e,t),n.set(e,r)}}}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:ue,CONSTANT:0,CONSTANT_TAG:be,CURRENT_TAG:Se,CurrentTag:Ce,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:xe,VolatileTag:_e,beginTrackFrame:Pe,beginUntrackFrame:Oe,bump:function(){ce++},combine:ke,consumeTag:De,createCache:$e,createTag:ye,createUpdatableTag:ve,debug:{},dirtyTag:ge,dirtyTagFor:rn,endTrackFrame:Ae,endUntrackFrame:Fe,getValue:qe,isConst:Ve,isConstTag:we,isTracking:ze,resetTracking:function(){for(;Ie.length>0;)Ie.pop();Le=null},tagFor:on,tagMetaFor:sn,track:We,trackedArray:function(t,e){return new Ye(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedData:an,trackedMap:function(t,e){return new Xe(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:He,updateTag:me,validateTag:de,valueForTag:he},Symbol.toStringTag,{value:"Module"})),un=Object.freeze([]);function hn(){return un}const dn=hn(),pn=hn();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 vn(){return Object.create(null)}function bn(t){return null!=t}function wn(t){return"function"==typeof t||"object"==typeof t&&null!==t}class _n{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 e<t?null:this.stack[e-t]}isEmpty(){return 0===this.stack.length}snapshot(){return[...this.stack]}toArray(){return this.stack}}function xn(t){let e=t.firstChild;for(;e;){let n=e.nextSibling;t.removeChild(e),e=n}}const Cn=Object.assign,Sn=console,kn=console,En=Object.freeze(Object.defineProperty({__proto__:null,EMPTY_ARRAY:un,EMPTY_NUMBER_ARRAY:pn,EMPTY_STRING_ARRAY:dn,LOCAL_LOGGER:Sn,LOGGER:kn,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",Stack:_n,assertNever:function(t,e="unexpected unreachable branch"){throw kn.log("unreachable",t),kn.log(`${e} :: ${JSON.stringify(t)} (${t})`),new Error("code reached unreachable")},assign:Cn,beginTestSteps:void 0,clearElement:xn,dict:vn,emptyArray:hn,endTestSteps:void 0,entries:function(t){return Object.entries(t)},enumerate:gn,intern:function(t){let e={};e[t]=1;for(let n in e)if(n===t)return n;return t},isDict:bn,isEmptyArray:function(t){return t===un},isIndexable:wn,isSerializationFirstNode:function(t){return"%+b:0%"===t.nodeValue},keys:function(t){return Object.keys(t)},logStep:void 0,reverse:fn,strip:function(t,...e){let n="";for(const[a,l]of gn(t))n+=`${l}${void 0!==e[a]?String(e[a]):""}`;let r=n.split("\n");for(;mn(r)&&/^\s*$/u.test(0===(i=r).length?void 0:i[0]);)r.shift();for(var i;mn(r)&&/^\s*$/u.test(yn(r));)r.pop();let s=1/0;for(let a of r){let t=/^\s*/u.exec(a)[0].length;s=Math.min(s,t)}let o=[];for(let a of r)o.push(a.slice(s));return o.join("\n")},values:function(t){return Object.values(t)},verifySteps:void 0,zipArrays:function*(t,e){for(let n=0;n<t.length;n++){const r=n<e.length?"retain":"pop";yield[r,n,t[n],e[n]]}for(let n=t.length;n<e.length;n++)yield["push",n,void 0,e[n]]},zipTuples:function*(t,e){for(let n=0;n<t.length;n++)yield[n,t[n],e[n]]}},Symbol.toStringTag,{value:"Module"})),Tn=Symbol("REFERENCE");class Rn{constructor(t){this.tag=null,this.lastRevision=1,this.children=null,this.compute=null,this.update=null,this[Tn]=t}}function Mn(t){const e=new Rn(2);return e.tag=be,e.lastValue=t,e}const Ln=Mn(void 0),In=Mn(null),Pn=Mn(!0),An=Mn(!1);function On(t){const e=new Rn(0);return e.lastValue=t,e.tag=be,e}function Fn(t){const e=new Rn(2);return e.lastValue=t,e.tag=be,e}function zn(t,e=null){const n=new Rn(1);return n.compute=t,n.update=e,n}function Dn(t){return Un(t)?zn(()=>$n(t),null,t.debugLabel):t}function Nn(t){return 3===t[Tn]}function jn(t){const e=zn(()=>$n(t),e=>qn(t,e));return e.debugLabel=t.debugLabel,e[Tn]=3,e}function Bn(t){return t.tag===be}function Un(t){return null!==t.update}function $n(t){const e=t;let{tag:n}=e;if(n===be)return e.lastValue;const{lastRevision:r}=e;let i;if(null!==n&&de(n,r))i=e.lastValue;else{const{compute:t}=e,r=We(()=>{i=e.lastValue=t()});n=e.tag=r,e.lastRevision=he(r)}return De(n),i}function qn(t,e){(0,t.update)(e)}function Vn(t,e){const n=t,r=n[Tn];let i,s=n.children;if(null===s)s=n.children=new Map;else{const t=s.get(e);if(t)return t}if(2===r){const t=$n(n);i=bn(t)?Fn(t[e]):Ln}else i=zn(()=>{const t=$n(n);if(bn(t))return At(t,e)},t=>{const r=$n(n);if(bn(r))return Ot(r,e,t)});return s.set(e,i),i}function Wn(t,e){let n=t;for(const r of e)n=Vn(n,r);return n}const Hn={},Gn=(t,e)=>e,Kn=(t,e)=>String(e),Zn=t=>null===t?Hn:t;class Yn{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){wn(t)?this.weakMap.set(t,e):this.primitiveMap.set(t,e)}get(t){return wn(t)?this.weakMap.get(t):this.primitiveMap.get(t)}}const Xn=new Yn;function Jn(t){let e=new Yn;return(n,r)=>{let i=t(n,r),s=e.get(i)||0;return e.set(i,s+1),0===s?i:function(t,e){let n=Xn.get(t);void 0===n&&(n=[],Xn.set(t,n));let r=n[e];return void 0===r&&(r={value:t,count:e},n[e]=r),r}(i,s)}}function Qn(t,e){return zn(()=>{let n=$n(t),r=function(t){switch(t){case"@key":return Jn(Gn);case"@index":return Jn(Kn);case"@identity":return Jn(Zn);default:return e=t,Jn(t=>Ft(t,e))}var e}(e);if(Array.isArray(n))return new nr(n,r);let i=It(n);return null===i?new nr(un,()=>null):new er(i,r)})}function tr(t){let e=t,n=ye();return zn(()=>(De(n),e),t=>{e!==t&&(e=t,ge(n))})}class er{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 nr=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 rr=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:An,NULL_REFERENCE:In,REFERENCE:Tn,TRUE_REFERENCE:Pn,UNDEFINED_REFERENCE:Ln,childRefFor:Vn,childRefFromParts:Wn,createComputeRef:zn,createConstRef:On,createDebugAliasRef:void 0,createInvokableRef:jn,createIteratorItemRef:tr,createIteratorRef:Qn,createPrimitiveRef:Mn,createReadOnlyRef:Dn,createUnboundRef:Fn,isConstRef:Bn,isInvokableRef:Nn,isUpdatableRef:Un,updateRef:qn,valueForRef:$n},Symbol.toStringTag,{value:"Module"})),ir={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},sr=1024,or=new WeakMap;function ar(t){return or.get(t)}function lr(t,e){or.set(t,e)}function cr(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class ur{constructor(t){this.named=t}get(t,e){const n=this.named[e];if(void 0!==n)return $n(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 hr{constructor(t){this.positional=t}get(t,e){let{positional:n}=this;if("length"===e)return n.length;const r=cr(e);return null!==r&&r<n.length?$n(n[r]):t[e]}isExtensible(){return!1}has(t,e){const n=cr(e);return null!==n&&n<this.positional.length}}const dr=t=>{const{named:e,positional:n}=t,r=new ur(e),i=new hr(n),s=Object.create(null),o=new Proxy(s,r),a=new Proxy([],i);return lr(o,(t,n)=>function(t,e){return We(()=>{e in t&&$n(t[e])})}(e,n)),lr(a,(t,e)=>function(t,e){return We(()=>{"[]"===e&&t.forEach($n);const n=cr(e);null!==n&&n<t.length&&$n(t[n])})}(n,e)),{named:o,positional:a}},pr=ir.Empty;function fr(t){return pr|gr(t,"dynamicLayout")|gr(t,"dynamicTag")|gr(t,"prepareArgs")|gr(t,"createArgs")|gr(t,"attributeHook")|gr(t,"elementHook")|gr(t,"dynamicScope")|gr(t,"createCaller")|gr(t,"updateHook")|gr(t,"createInstance")|gr(t,"wrapped")|gr(t,"willDestroy")|gr(t,"hasSubOwner")}function gr(t,e){return t[e]?ir[e]:pr}function mr(t,e,n){return!!(e&n)}function yr(t,e){return!!(t&e)}function vr(t,e={}){return{hasValue:Boolean(e.hasValue),hasDestroyable:Boolean(e.hasDestroyable),hasScheduledEffect:Boolean(e.hasScheduledEffect)}}function br(t){return t.capabilities.hasValue}function wr(t){return t.capabilities.hasDestroyable}class _r{constructor(t){this.factory=t,this.helperManagerDelegates=new WeakMap,this.undefinedDelegate=null}getDelegateForOwner(t){let e=this.helperManagerDelegates.get(t);if(void 0===e){let{factory:n}=this;e=n(t),this.helperManagerDelegates.set(t,e)}return e}getDelegateFor(t){if(void 0===t){let{undefinedDelegate:t}=this;if(null===t){let{factory:e}=this;this.undefinedDelegate=t=e(void 0)}return t}return this.getDelegateForOwner(t)}getHelper(t){return(e,n)=>{let r=this.getDelegateFor(n);const i=dr(e),s=r.createHelper(t,i);if(br(r)){let t=zn(()=>r.getValue(s),null);return wr(r)&&Wt(t,r.getDestroyable(s)),t}if(wr(r)){let t=On(void 0);return Wt(t,r.getDestroyable(s)),t}return Ln}}}class xr{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 Cr=new WeakMap,Sr=new WeakMap,kr=new WeakMap,Er=Object.getPrototypeOf;function Tr(t,e,n){return t.set(n,e),n}function Rr(t,e){let n=e;for(;null!==n;){const e=t.get(n);if(void 0!==e)return e;n=Er(n)}}function Mr(t,e){return Tr(Sr,t,e)}function Lr(t){const e=Rr(Sr,t);return void 0===e?null:e}function Ir(t,e){return Tr(kr,t,e)}const Pr=new _r(()=>new xr);function Ar(t){let e=Rr(kr,t);return void 0===e&&"function"==typeof t&&(e=Pr),e||null}function Or(t,e){return Tr(Cr,t,e)}function Fr(t){const e=Rr(Cr,t);return void 0===e?null:e}function zr(t){return void 0!==Rr(Cr,t)}function Dr(t){return function(t){return"function"==typeof t}(t)||void 0!==Rr(kr,t)}const Nr={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 jr(t,e={}){let n=Boolean(e.updateHook);return{asyncLifeCycleCallbacks:Boolean(e.asyncLifecycleCallbacks),destructor:Boolean(e.destructor),updateHook:n}}function Br(t){return t.capabilities.asyncLifeCycleCallbacks}function Ur(t){return t.capabilities.updateHook}class $r{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:r}=this;n=r(t),e.set(t,n)}return n}create(t,e,n){let r=this.getDelegateFor(t),i=dr(n.capture()),s=r.createComponent(e,i);return new qr(s,r,i)}getDebugName(t){return"function"==typeof t?t.name:t.toString()}update(t){let{delegate:e}=t;if(Ur(e)){let{component:n,args:r}=t;e.updateComponent(n,r)}}didCreate({component:t,delegate:e}){Br(e)&&e.didCreateComponent(t)}didUpdate({component:t,delegate:e}){(function(t){return Br(t)&&Ur(t)})(e)&&e.didUpdateComponent(t)}didRenderLayout(){}didUpdateLayout(){}getSelf({component:t,delegate:e}){return On(e.getContext(t))}getDestroyable(t){const{delegate:e}=t;if(function(t){return t.capabilities.destructor}(e)){const{component:n}=t;return Ht(t,()=>e.destroyComponent(n)),t}return null}getCapabilities(){return Nr}}class qr{constructor(t,e,n){this.component=t,this.delegate=e,this.args=n}}function Vr(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Wr{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:r}=this;n=r(t),e.set(t,n)}return n}create(t,e,n,r){let i,s=this.getDelegateFor(t),o=dr(r),a=s.createModifier(n,o);return i={tag:ve(),element:e,delegate:s,args:o,modifier:a},Ht(i,()=>s.destroyModifier(a,o)),i}getDebugName(t){return"function"==typeof t?t.name||t.toString():"<unknown>"}getDebugInstance({modifier:t}){return t}getTag({tag:t}){return t}install({element:t,args:e,modifier:n,delegate:r}){let{capabilities:i}=r;i.disableAutoTracking?He(()=>r.installModifier(n,t,e)):r.installModifier(n,t,e)}update({args:t,modifier:e,delegate:n}){let{capabilities:r}=n;r.disableAutoTracking?He(()=>n.updateModifier(e,t)):n.updateModifier(e,t)}getDestroyable(t){return t}}function Hr(t,e){return Or(new $r(t),e)}function Gr(t,e){return Mr(new Wr(t),e)}function Kr(t,e){return Ir(new _r(t),e)}const Zr=new WeakMap,Yr=Reflect.getPrototypeOf;function Xr(t,e){return Zr.set(e,t),e}function Jr(t){let e=t;for(;null!==e;){let t=Zr.get(e);if(void 0!==t)return t;e=Yr(e)}}const Qr=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:$r,CustomHelperManager:_r,CustomModifierManager:Wr,capabilityFlagsFrom:fr,componentCapabilities:jr,getComponentTemplate:Jr,getCustomTagFor:ar,getInternalComponentManager:Fr,getInternalHelperManager:Ar,getInternalModifierManager:Lr,hasCapability:yr,hasDestroyable:wr,hasInternalComponentManager:zr,hasInternalHelperManager:Dr,hasInternalModifierManager:function(t){return void 0!==Rr(Sr,t)},hasValue:br,helperCapabilities:vr,managerHasCapability:mr,modifierCapabilities:Vr,setComponentManager:Hr,setComponentTemplate:Xr,setCustomTagFor:lr,setHelperManager:Kr,setInternalComponentManager:Or,setInternalHelperManager:Ir,setInternalModifierManager:Mr,setModifierManager:Gr},Symbol.toStringTag,{value:"Module"})),ti=new WeakSet;function ei(t){return!!G(t)&&ti.has(t)}function ni(t){G(t)&&ti.add(t)}const ri=new WeakSet;function ii(t){return ri.has(t)}let si=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 oi="6.11.0-beta.1",ai=Object.freeze(Object.defineProperty({__proto__:null,default:oi},Symbol.toStringTag,{value:"Module"})),li=Symbol("OWNER");function ci(t){return t[li]}function ui(t){return ci(t)}function hi(t,e){!function(t,e){t[li]=e}(t,e)}function di(t,e){return Array.isArray(t)?t[e]:t.objectAt(e)}const pi=kt("SELF_TAG");function fi(t,e,n=!1,r){let i=ar(t);return void 0!==i?i(t,e,n):on(t,e,r)}function gi(t){return G(t)?on(t,pi):be}function mi(t,e){rn(t,e),rn(t,pi)}const yi=new WeakSet;function vi(t,e,n){let r=t.readableLazyChainsFor(e);if(void 0!==r){if(G(n))for(let[t,e]of r)me(t,wi(n,e,sn(n),oe(n)));r.length=0}}function bi(t,e,n,r){let i=[];for(let s of e)_i(i,t,s,n,r);return ke(i)}function wi(t,e,n,r){return ke(_i([],t,e,n,r))}function _i(t,e,n,r,i){let s,o,a=e,l=r,c=i,u=n.length,h=-1;for(;;){let e=h+1;if(h=n.indexOf(".",e),-1===h&&(h=u),s=n.slice(e,h),"@each"===s&&h!==u){e=h+1,h=n.indexOf(".",e);let r=a.length;if("number"!=typeof r||!Array.isArray(a)&&!("objectAt"in a))break;if(0===r){t.push(fi(a,"[]"));break}s=-1===h?n.slice(e):n.slice(e,h);for(let e=0;e<r;e++){let n=di(a,e);n&&(t.push(fi(n,s,!0)),c=oe(n),o=null!==c?c.peekDescriptors(s):void 0,void 0!==o&&"string"==typeof o.altKey&&n[s])}t.push(fi(a,"[]",!0,l));break}let r=fi(a,s,!0,l);if(o=null!==c?c.peekDescriptors(s):void 0,t.push(r),h===u){yi.has(o)&&a[s];break}if(void 0===o)a=s in a||"function"!=typeof a.unknownProperty?a[s]:a.unknownProperty(s);else if(yi.has(o))a=a[s];else{let e=c.source===a?c:ae(a),i=e.revisionFor(s);if(void 0===i||!de(r,i)){let r=e.writableLazyChainsFor(s),i=n.substring(h+1),o=ve();r.push([o,i]),t.push(o);break}a=e.valueFor(s)}if(!G(a))break;l=sn(a),c=oe(a)}return t}function xi(t){let[e,n,r]=t;return 3===t.length&&("function"==typeof e||"object"==typeof e&&null!==e)&&"string"==typeof n&&("object"==typeof r&&null!==r||void 0===r)}function Ci(t){let e=function(){return t};return Ai(e),e}class Si{enumerable=!0;configurable=!0;_dependentKeys=void 0;_meta=void 0;setup(t,e,n,r){r.writeDescriptors(e,this)}teardown(t,e,n){n.removeDescriptors(e)}}function ki(t,e){return function(){return e.get(this,t)}}function Ei(t,e){let n=function(n){return e.set(this,t,n)};return Ti.add(n),n}const Ti=new WeakSet;function Ri(t,e){let n=function(e,n,r,i){let s=3===arguments.length?ae(e):i;return t.setup(e,n,r,s),{enumerable:t.enumerable,configurable:t.configurable,get:ki(n,t),set:Ei(n,t)}};return Ai(n,t),Object.setPrototypeOf(n,e.prototype),n}const Mi=new WeakMap;function Li(t,e,n){let r=void 0===n?oe(t):n;if(null!==r)return r.peekDescriptors(e)}function Ii(t){return Mi.get(t)}function Pi(t){return"function"==typeof t&&Mi.has(t)}function Ai(t,e=!0){Mi.set(t,e)}const Oi=/\.@each$/;function Fi(t,e){let n=t.indexOf("{");n<0?e(t.replace(Oi,".[]")):zi("",t,n,e)}function zi(t,e,n,r){let i,s,o=e.indexOf("}"),a=0,l=e.substring(n+1,o).split(","),c=e.substring(o+1);for(t+=e.substring(0,n),s=l.length;a<s;)i=c.indexOf("{"),i<0?r((t+l[a++]+c).replace(Oi,".[]")):zi(t+l[a++],c,i,r)}function Di(t){return t+":change"}function Ni(t,e,n,r,i,s=!0){r||"function"!=typeof n||(r=n,n=null),ae(t).addToListeners(e,n,r,!0===i,s)}function ji(t,e,n,r){let i,s;"object"==typeof n?(i=n,s=r):(i=null,s=n),ae(t).removeFromListeners(e,i,s)}function Bi(t,e,n,r,i){if(void 0===r){let n=void 0===i?oe(t):i;r=null!==n?n.matchingListeners(e):void 0}if(void 0===r||0===r.length)return!1;for(let s=r.length-3;s>=0;s-=3){let i=r[s],o=r[s+1],a=r[s+2];if(!o)continue;a&&ji(t,e,i,o),i||(i=t);let l=typeof o;"string"!==l&&"symbol"!==l||(o=i[o]),o.apply(i,n)}return!0}function Ui(t,e){let n=oe(t);if(null===n)return!1;let r=n.matchingListeners(e);return void 0!==r&&r.length>0}function $i(...t){let e=t.pop();return ft(e,t),e}const qi=!g._DEFAULT_ASYNC_OBSERVERS,Vi=new Map,Wi=new Map;function Hi(t,e,n,r,i=qi){let s=Di(e);Ni(t,s,n,r,!1,i);let o=oe(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Ki(t,s,i)}function Gi(t,e,n,r,i=qi){let s=Di(e),o=oe(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Xi(t,s,i),ji(t,s,n,r)}function Ki(t,e,n=!1){let r=function(t,e){let n=!0===e?Vi:Wi;return n.has(t)||(n.set(t,new Map),Ht(t,()=>function(t){Vi.size>0&&Vi.delete(t),Wi.size>0&&Wi.delete(t)}(t),!0)),n.get(t)}(t,n);if(r.has(e))r.get(e).count++;else{let n=e.substring(0,e.lastIndexOf(":")),i=wi(t,n,sn(t),oe(t));r.set(e,{count:1,path:n,tag:i,lastRevision:he(i),suspended:!1})}}let Zi=!1,Yi=[];function Xi(t,e,n=!1){if(!0===Zi)return void Yi.push([t,e,n]);let r=!0===n?Vi:Wi,i=r.get(t);if(void 0!==i){let n=i.get(e);n.count--,0===n.count&&(i.delete(e),0===i.size&&r.delete(t))}}function Ji(t){Wi.has(t)&&Wi.get(t).forEach(e=>{e.tag=wi(t,e.path,sn(t),oe(t)),e.lastRevision=he(e.tag)}),Vi.has(t)&&Vi.get(t).forEach(e=>{e.tag=wi(t,e.path,sn(t),oe(t)),e.lastRevision=he(e.tag)})}let Qi=0;function ts(t){let e=he(Se);Qi!==e&&(Qi=e,Wi.forEach((e,n)=>{let r=oe(n);e.forEach((e,i)=>{if(!de(e.tag,e.lastRevision)){let s=()=>{try{Bi(n,i,[n,e.path],void 0,r)}finally{e.tag=wi(n,e.path,sn(n),oe(n)),e.lastRevision=he(e.tag)}};t?t("actions",s):s()}})}))}function es(){Vi.forEach((t,e)=>{let n=oe(e);t.forEach((t,r)=>{if(!t.suspended&&!de(t.tag,t.lastRevision))try{t.suspended=!0,Bi(e,r,[e,t.path],void 0,n)}finally{t.tag=wi(e,t.path,sn(e),oe(e)),t.lastRevision=he(t.tag),t.suspended=!1}})})}function ns(t,e,n){let r=Vi.get(t);if(!r)return;let i=r.get(Di(e));i&&(i.suspended=n)}const rs=Symbol("PROPERTY_DID_CHANGE");let is=0;function ss(t,e,n,r){let i=void 0===n?oe(t):n;null!==i&&(i.isInitializing()||i.isPrototypeMeta(t))||(mi(t,e),is<=0&&es(),rs in t&&(4===arguments.length?t[rs](e,r):t[rs](e)))}function os(){is++,Zi=!0}function as(){is--,is<=0&&(es(),function(){Zi=!1;for(let[t,e,n]of Yi)Xi(t,e,n);Yi=[]}())}function ls(t){os();try{t()}finally{as()}}function cs(){}class us extends Si{_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,r){if(super.setup(t,e,n,r),!1===this._hasConfig){let{get:t,set:e}=n;void 0!==t&&(this._getter=t),void 0!==e&&(this._setter=function(n,r){let i=e.call(this,r);return void 0!==t&&void 0===i?t.call(this):i})}}_property(...t){let e=[];function n(t){e.push(t)}for(let r of t)Fi(r,n);this._dependentKeys=e}get(t,e){let n,r=ae(t),i=sn(t),s=on(t,e,i),o=r.revisionFor(e);if(void 0!==o&&de(s,o))n=r.valueFor(e);else{let{_getter:o,_dependentKeys:a}=this;He(()=>{n=o.call(t,e)}),void 0!==a&&me(s,bi(t,a,i,r)),r.setValueFor(e,n),r.setRevisionFor(e,he(s)),vi(r,e,n)}return De(s),Array.isArray(n)&&De(on(n,"[]")),n}set(t,e,n){this._readOnly&&this._throwReadOnlyError(t,e);let r,i=ae(t);i.isInitializing()&&void 0!==this._dependentKeys&&this._dependentKeys.length>0&&"function"==typeof t[rs]&&t.isComponent&&Hi(t,e,()=>{t[rs](e)},void 0,!0);try{os(),r=this._set(t,e,n,i),vi(i,e,r);let s=sn(t),o=on(t,e,s),{_dependentKeys:a}=this;void 0!==a&&me(o,bi(t,a,s,i)),i.setRevisionFor(e,he(o))}finally{as()}return r}_throwReadOnlyError(t,e){throw new Error(`Cannot set read-only property "${e}" on object: ${L(t)}`)}_set(t,e,n,r){let i,s=void 0!==r.revisionFor(e),o=r.valueFor(e),{_setter:a}=this;ns(t,e,!0);try{i=a.call(t,e,n,o)}finally{ns(t,e,!1)}return s&&o===i||(r.setValueFor(e,i),ss(t,e,r,n)),i}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 hs extends us{get(t,e){let n,r=ae(t),i=sn(t),s=on(t,e,i),o=r.revisionFor(e);if(void 0!==o&&de(s,o))n=r.valueFor(e);else{let{_getter:i}=this,o=We(()=>{n=i.call(t,e)});me(s,o),r.setValueFor(e,n),r.setRevisionFor(e,he(s)),vi(r,e,n)}return De(s),Array.isArray(n)&&De(on(n,"[]",i)),n}}class ds extends Function{readOnly(){return Ii(this)._readOnly=!0,this}meta(t){let e=Ii(this);return 0===arguments.length?e._meta||{}:(e._meta=t,this)}get _getter(){return Ii(this)._getter}set enumerable(t){Ii(this).enumerable=t}}function ps(...t){return xi(t)?Ri(new us([]),ds)(t[0],t[1],t[2]):Ri(new us(t),ds)}function fs(...t){return Ri(new hs(t),ds)}function gs(t,e){return Boolean(Li(t,e))}function ms(t,e,n,r,i){let s=void 0===i?ae(t):i,o=Li(t,e,s),a=void 0!==o;a&&o.teardown(t,e,s),Pi(n)?ys(t,e,n,s):null==n?vs(t,e,r,a,!0):Object.defineProperty(t,e,n),s.isPrototypeMeta(t)||Ji(t)}function ys(t,e,n,r){let i;return i=n(t,e,void 0,r),Object.defineProperty(t,e,i),n}function vs(t,e,n,r,i=!0){return!0===r||!1===i?Object.defineProperty(t,e,{configurable:!0,enumerable:i,writable:!0,value:n}):t[e]=n,n}const bs=new si(1e3,t=>t.indexOf("."));function ws(t){return"string"==typeof t&&-1!==bs.get(t)}const _s=kt("PROXY_CONTENT");function xs(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function Cs(t,e){return ws(e)?ks(t,e):Ss(t,e)}function Ss(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()&&(De(on(t,e)),(Array.isArray(n)||ii(n))&&De(on(n,"[]")))):n=t[e],n}function ks(t,e,n){let r="string"==typeof e?e.split("."):e;for(let i of r){if(null==t||t.isDestroyed)return;if(n&&("__proto__"===i||"constructor"===i))return;t=Ss(t,i)}return t}Ss("foo","a"),Ss("foo",1),Ss({},"a"),Ss({},1),Ss({unknownProperty(){}},"a"),Ss({unknownProperty(){}},1),Cs({},"foo"),Cs({},"foo.bar");let Es={};ni(Es),We(()=>Ss({},"a")),We(()=>Ss({},1)),We(()=>Ss({a:[]},"a")),We(()=>Ss({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 r=this._registry.length;this._getLibraryByName(t)||(n&&(r=this._coreLibIndex++),this._registry.splice(r,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 Ms;function Ls(t,...e){let n,r;xi(e)?n=e:"string"==typeof e[0]&&(r=e[0]);let i=ps({get:function(e){return(ui(this)||this.container).lookup(`${t}:${r||e}`)},set(t,e){ms(this,t,null,e)}});return n?i(n[0],n[1],n[2]):i}function Is(...t){if(!xi(t)){let e=t[0],n=e?e.initializer:void 0,r=e?e.value:void 0,i=function(t,e){return Ps([t,e,{initializer:n||(()=>r)}])};return Ai(i),i}return Ps(t)}function Ps([t,e,n]){let{getter:r,setter:i}=an(e,n?n.initializer:void 0);function s(){let t=r(this);return(Array.isArray(t)||ii(t))&&De(on(t,"[]")),t}function o(t){i(this,t),rn(this,pi)}let a={enumerable:!0,configurable:!0,isTracked:!0,get:s,set:o};return Ti.add(o),ae(t).writeDescriptors(e,new As(s,o)),a}Rs.registerCoreLibrary("Ember",oi);class As{constructor(t,e){this._get=t,this._set=e,yi.add(this)}get(t){return this._get.call(t)}set(t,e,n){this._set.call(t,n)}}function Os(t,e){let n=oe(t);return n?n.valueFor(e):void 0}function Fs(t,e,n,r){return t.isDestroyed?n:ws(e)?function(t,e,n,r){let i=e.split("."),s=i.pop(),o=ks(t,i,!0);if(null!=o)return Fs(o,s,n);if(!r)throw new Error(`Property set failed: object in path "${i.join(".")}" could not be found.`)}(t,e,n,r):zs(t,e,n)}function zs(t,e,n){let r,i=vt(t,e);return null!==i&&Ti.has(i.set)?(t[e]=n,n):(r=t[e],void 0!==r||"object"!=typeof t||e in t||"function"!=typeof t.setUnknownProperty?(t[e]=n,r!==n&&ss(t,e)):t.setUnknownProperty(e,n),n)}function Ds(t,e,n){return Fs(t,e,n,!0)}function Ns(t){return Ri(new Bs(t),js)}class js extends Function{readOnly(){return Ii(this).readOnly(),this}oneWay(){return Ii(this).oneWay(),this}meta(t){let e=Ii(this);if(0===arguments.length)return e._meta||{};e._meta=t}}class Bs extends Si{altKey;constructor(t){super(),this.altKey=t}setup(t,e,n,r){super.setup(t,e,n,r),yi.add(this)}get(t,e){let n,r=ae(t),i=sn(t),s=on(t,e,i);He(()=>{n=Cs(t,this.altKey)});let o=r.revisionFor(e);return void 0!==o&&de(s,o)||(me(s,wi(t,this.altKey,i,r)),r.setRevisionFor(e,he(s)),vi(r,e,n)),De(s),n}set(t,e,n){return Fs(t,this.altKey,n)}readOnly(){this.set=Us}oneWay(){this.set=$s}}function Us(t,e){throw new Error(`Cannot set read-only property '${e}' on object: ${L(t)}`)}function $s(t,e,n){return ms(t,e,null),Fs(t,e,n)}function qs(t,e,n,r){return void 0===e?(e=0,n=r=-1):(void 0===n&&(n=-1),void 0===r&&(r=-1)),Bi(t,"@array:before",[t,e,n,r]),t}function Vs(t,e,n,r,i=!0){void 0===e?(e=0,n=r=-1):(void 0===n&&(n=-1),void 0===r&&(r=-1));let s=oe(t);if(i&&((r<0||n<0||r-n!==0)&&ss(t,"length",s),ss(t,"[]",s)),Bi(t,"@array:change",[t,e,n,r]),null!==s){let i=-1===n?0:n,o=t.length-((-1===r?0:r)-i),a=e<0?o+e:e;void 0!==s.revisionFor("firstObject")&&0===a&&ss(t,"firstObject",s),void 0!==s.revisionFor("lastObject")&&o-1<a+i&&ss(t,"lastObject",s)}return t}const Ws=Object.freeze([]);function Hs(t,e,n,r=Ws){var i;null!=(i=t)&&"function"==typeof i.replace?t.replace(e,n,r):Ks(t,e,n,r)}const Gs=6e4;function Ks(t,e,n,r){if(qs(t,e,n,r.length),r.length<=Gs)t.splice(e,n,...r);else{t.splice(e,n);for(let n=0;n<r.length;n+=Gs){let i=r.slice(n,n+Gs);t.splice(e+n,0,...i)}}Vs(t,e,n,r.length)}function Zs(t,e,n,r){let{willChange:i,didChange:s}=n;return r(t,"@array:before",e,i),r(t,"@array:change",e,s),t._revalidate?.(),t}function Ys(t,e,n){return Zs(t,e,n,Ni)}function Xs(t,e,n){return Zs(t,e,n,ji)}function Js(t,e){let n,r={},i=1;for(2===arguments.length&&Array.isArray(e)?(i=0,n=arguments[1]):n=Array.from(arguments);i<n.length;i++){let e=n[i];r[e]=Cs(t,e)}return r}function Qs(t,e){return null===e||"object"!=typeof e||ls(()=>{let n=Object.keys(e);for(let r of n)Fs(t,r,e[r])}),e}const to=new WeakMap;function eo(t,e){G(t)&&to.set(t,e)}function no(t){return to.get(t)}const ro=Object.prototype.hasOwnProperty;let io=!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 uo(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 ho(){if(!so.unprocessedNamespaces)return;let t=d.lookup,e=Object.keys(t);for(let n of e){if(!_o(n.charCodeAt(0)))continue;let e=xo(t,n);e&&eo(e,n)}}function po(t){return io||go(),lo[t]}function fo(t){bo([t.toString()],t,new Set)}function go(){let t=so.unprocessedNamespaces;if(t&&(ho(),so.unprocessedNamespaces=!1),t||oo){let t=ao;for(let e of t)fo(e);oo=!1}}function mo(){return io}function yo(t){io=Boolean(t)}function vo(){oo=!0}function bo(t,e,n){let r=t.length,i=t.join(".");lo[i]=e,eo(e,i);for(let s in e){if(!ro.call(e,s))continue;let i=e[s];if(t[r]=s,i&&void 0===no(i))eo(i,t.join("."));else if(i&&wo(i)){if(n.has(i))continue;n.add(i),bo(t,i,n)}}t.length=r}function wo(t){return null!=t&&"object"==typeof t&&t.isNamespace}function _o(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 Co;const So={get onerror(){return Co}};function ko(){return Co}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),r=document.createTextNode("");return n.observe(r,{characterData:!0}),()=>(e=++e%2,r.data=""+e,e)}return()=>Eo(t,0)}function Mo(t){let e=To;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:Ro(t),clearNext:e}}const Lo=/\d+/;function Io(t){let e=typeof t;return"number"===e&&t==t||"string"===e&&Lo.test(t)}function Po(t){return t.onError||t.onErrorTarget&&t.onErrorTarget[t.onErrorMethod]}function Ao(t,e,n){let r=-1;for(let i=0,s=n.length;i<s;i+=4)if(n[i]===t&&n[i+1]===e){r=i;break}return r}function Oo(t,e,n){let r=-1;for(let i=2,s=n.length;i<s;i+=6)if(n[i]===t&&n[i+1]===e){r=i-2;break}return r}function Fo(t,e,n=0){let r=[];for(let i=0;i<t.length;i+=e){let e=t[i+3+n],s={target:t[i+0+n],method:t[i+1+n],args:t[i+2+n],stack:void 0!==e&&"stack"in e?e.stack:""};r.push(s)}return r}function zo(t,e){let n,r,i=0,s=e.length-6;for(;i<s;)r=(s-i)/6,n=i+r-r%6,t>=e[n]?i=n+6:s=n;return t>=e[i]?i+6:i}let Do=class{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(t<this._queue.length){let e=this._queue[3*t+4];return e?e.stack:null}}flush(t){let e,n,r,i,s,{before:o,after:a}=this.options;this.targetQueues.clear(),0===this._queueBeingFlushed.length&&(this._queueBeingFlushed=this._queue,this._queue=[]),void 0!==o&&o();let l=this._queueBeingFlushed;if(l.length>0){let t=Po(this.globalOptions);s=t?this.invokeWithOnError:this.invoke;for(let o=this.index;o<l.length;o+=4)if(this.index+=4,n=l[o+1],null!==n&&(e=l[o],r=l[o+2],i=l[o+3],s(e,n,r,t,i)),this.index!==this._queueBeingFlushed.length&&this.globalOptions.mustYield&&this.globalOptions.mustYield())return 1}void 0!==a&&a(),this._queueBeingFlushed.length=0,this.index=0,!1!==t&&this._queue.length>0&&this.flush(!0)}hasWork(){return this._queueBeingFlushed.length>0||this._queue.length>0}cancel({target:t,method:e}){let n=this._queue,r=this.targetQueues.get(t);void 0!==r&&r.delete(e);let i=Ao(t,e,n);return i>-1?(n[i+1]=null,!0):(n=this._queueBeingFlushed,i=Ao(t,e,n),i>-1&&(n[i+1]=null,!0))}push(t,e,n,r){return this._queue.push(t,e,n,r),{queue:this,target:t,method:e}}pushUnique(t,e,n,r){let i=this.targetQueues.get(t);void 0===i&&(i=new Map,this.targetQueues.set(t,i));let s=i.get(e);if(void 0===s){let s=this._queue.push(t,e,n,r)-4;i.set(e,s)}else{let t=this._queue;t[s+2]=n,t[s+3]=r}return{queue:this,target:t,method:e}}_getDebugInfo(t){if(t)return Fo(this._queue,4)}invoke(t,e,n){void 0===n?e.call(t):e.apply(t,n)}invokeWithOnError(t,e,n,r,i){try{void 0===n?e.call(t):e.apply(t,n)}catch(v5){r(v5,i)}}};class No{constructor(t=[],e){this.queues={},this.queueNameIndex=0,this.queueNames=t,t.reduce(function(t,n){return t[n]=new Do(n,e[n],e),t},this.queues)}schedule(t,e,n,r,i,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,i?o.pushUnique(e,n,r,s):o.push(e,n,r,s)}flush(t=!1){let e,n,r=this.queueNames.length;for(;this.queueNameIndex<r;)if(n=this.queueNames[this.queueNameIndex],e=this.queues[n],!1===e.hasWork()){if(this.queueNameIndex++,t&&this.queueNameIndex<r)return 1}else if(1===e.flush(!1))return 1}_getDebugInfo(t){if(t){let e,n,r={},i=this.queueNames.length,s=0;for(;s<i;)n=this.queueNames[s],e=this.queues[n],r[n]=e._getDebugInfo(t),s++;return r}}}function jo(t){let e=t(),n=e.next();for(;!1===n.done;)n.value(),n=e.next()}const Bo=function(){},Uo=Object.freeze([]);function $o(){let t,e,n,r=arguments.length;if(0===r);else if(1===r)n=null,e=arguments[0];else{let i=2,s=arguments[0],o=arguments[1],a=typeof o;if("function"===a?(n=s,e=o):null!==s&&"string"===a&&o in s?(n=s,e=n[o]):"function"==typeof s&&(i=1,n=null,e=s),r>i){let e=r-i;t=new Array(e);for(let n=0;n<e;n++)t[n]=arguments[n+i]}}return[n,e,t]}function qo(){let t,e,n,r,i;return 2===arguments.length?(e=arguments[0],i=arguments[1],t=null):([t,e,r]=$o(...arguments),void 0===r?i=0:(i=r.pop(),Io(i)||(n=!0===i,i=r.pop()))),i=parseInt(i,10),[t,e,r,i,n]}let Vo=0,Wo=0,Ho=0,Go=0,Ko=0,Zo=0,Yo=0,Xo=0,Jo=0,Qo=0,ta=0,ea=0,na=0,ra=0,ia=0,sa=0,oa=0,aa=0,la=0,ca=0,ua=0;class ha{constructor(t,e){this.DEBUG=!1,this.currentInstance=null,this.instanceStack=[],this._eventCallbacks={end:[],begin:[]},this._timerTimeoutId=null,this._timers=[],this._autorun=!1,this._autorunStack=null,this.queueNames=t,this.options=e||{},"string"==typeof this.options.defaultQueue?this._defaultQueue=this.options.defaultQueue:this._defaultQueue=this.queueNames[0],this._onBegin=this.options.onBegin||Bo,this._onEnd=this.options.onEnd||Bo,this._boundRunExpiredTimers=this._runExpiredTimers.bind(this),this._boundAutorunEnd=()=>{la++,!1!==this._autorun&&(this._autorun=!1,this._autorunStack=null,this._end(!0))};let n=this.options._buildPlatform||Mo;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Wo,end:Ho,events:{begin:Go,end:0},autoruns:{created:aa,completed:la},run:Ko,join:Zo,defer:Yo,schedule:Xo,scheduleIterable:Jo,deferOnce:Qo,scheduleOnce:ta,setTimeout:ea,later:na,throttle:ra,debounce:ia,cancelTimers:sa,cancel:oa,loops:{total:ca,nested:ua}}}get defaultQueue(){return this._defaultQueue}begin(){Wo++;let t,e=this.options,n=this.currentInstance;return!1!==this._autorun?(t=n,this._cancelAutorun()):(null!==n&&(ua++,this.instanceStack.push(n)),ca++,t=this.currentInstance=new No(this.queueNames,e),Go++,this._trigger("begin",t,n)),this._onBegin(t,n),t}end(){Ho++,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 r=!1;if(e)for(let i=0;i<n.length;i++)n[i]===e&&(r=!0,n.splice(i,1),i--);if(!r)throw new TypeError("Cannot off() callback that does not exist")}run(){Ko++;let[t,e,n]=$o(...arguments);return this._run(t,e,n)}join(){Zo++;let[t,e,n]=$o(...arguments);return this._join(t,e,n)}defer(t,e,n,...r){return Yo++,this.schedule(t,e,n,...r)}schedule(t,...e){Xo++;let[n,r,i]=$o(...e),s=this.DEBUG?new Error:void 0;return this._ensureInstance().schedule(t,n,r,i,!1,s)}scheduleIterable(t,e){Jo++;let n=this.DEBUG?new Error:void 0;return this._ensureInstance().schedule(t,null,jo,[e],!1,n)}deferOnce(t,e,n,...r){return Qo++,this.scheduleOnce(t,e,n,...r)}scheduleOnce(t,...e){ta++;let[n,r,i]=$o(...e),s=this.DEBUG?new Error:void 0;return this._ensureInstance().schedule(t,n,r,i,!0,s)}setTimeout(){return ea++,this.later(...arguments)}later(){na++;let[t,e,n,r]=function(){let[t,e,n]=$o(...arguments),r=0,i=void 0!==n?n.length:0;return i>0&&Io(n[i-1])&&(r=parseInt(n.pop(),10)),[t,e,n,r]}(...arguments);return this._later(t,e,n,r)}throttle(){ra++;let t,[e,n,r,i,s=!0]=qo(...arguments),o=Oo(e,n,this._timers);if(-1===o)t=this._later(e,n,s?Uo:r,i),s&&this._join(e,n,r);else{t=this._timers[o+1];let e=o+4;this._timers[e]!==Uo&&(this._timers[e]=r)}return t}debounce(){ia++;let t,[e,n,r,i,s=!1]=qo(...arguments),o=this._timers,a=Oo(e,n,o);if(-1===a)t=this._later(e,n,s?Uo:r,i),s&&this._join(e,n,r);else{let s=this._platform.now()+i,l=a+4;o[l]===Uo&&(r=Uo),t=o[a+1];let c=zo(s,o);if(a+6===c)o[a]=s,o[l]=r;else{let i=this._timers[a+5];this._timers.splice(c,0,s,t,e,n,r,i),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:Fo(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 r,i=!1;try{r=e.flush(t)}finally{if(!i)if(i=!0,1===r){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 r=Po(this.options);if(this.begin(),r)try{return e.apply(t,n)}catch(v5){r(v5)}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,r){let i=this.DEBUG?new Error:void 0,s=this._platform.now()+r,o=Vo++;if(0===this._timers.length)this._timers.push(s,o,t,e,n,i),this._installTimerTimeout();else{let r=zo(s,this._timers);this._timers.splice(r,0,s,o,t,e,n,i),this._reinstallTimerTimeout()}return o}_cancelLaterTimer(t){for(let e=1;e<this._timers.length;e+=6)if(this._timers[e]===t)return this._timers.splice(e-1,6),1===e&&this._reinstallTimerTimeout(),!0;return!1}_trigger(t,e,n){let r=this._eventCallbacks[t];if(void 0!==r)for(let i=0;i<r.length;i++)r[i](e,n)}_runExpiredTimers(){this._timerTimeoutId=null,this._timers.length>0&&(this.begin(),this._scheduleExpiredTimers(),this.end())}_scheduleExpiredTimers(){let t=this._timers,e=0,n=t.length,r=this._defaultQueue,i=this._platform.now();for(;e<n&&!(t[e]>i);e+=6){let n=t[e+4];if(n!==Uo){let i=t[e+2],s=t[e+3],o=t[e+5];this.currentInstance.schedule(r,i,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}}ha.Queue=Do,ha.buildPlatform=Mo,ha.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 ha(ga,{defaultQueue:"actions",onBegin:function(t){da=t},onEnd:function(t,e){da=e,ts(wa)},onErrorTarget:So,onErrorMethod:"onerror",flush:function(t,e){"render"!==t&&t!==fa||ts(wa),e()}});function ya(...t){return ma.run(...t)}function va(t,e,...n){return ma.join(t,e,...n)}function ba(...t){return(...e)=>va(...t.concat(e))}function wa(...t){return ma.schedule(...t)}function _a(...t){return ma.later(...t)}function xa(...t){return ma.scheduleOnce("actions",...t)}function Ca(...t){return ma.scheduleOnce(...t)}function Sa(...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:ba,cancel:ka,debounce:Ea,end:function(){ma.end()},join:va,later:_a,next:Sa,once:xa,run:ya,schedule:wa,scheduleOnce:Ca,throttle:function(...t){return ma.throttle(...t)}},Symbol.toStringTag,{value:"Module"})),Ra="@warp-drive/core",Ma=globalThis;Ma.__warpDrive_universalCache=Ma.__warpDrive_universalCache??{},Ma[Ra]=Ma[Ra]??{__version:"5.8.1"};const La=Ma[Ra],Ia=La.__warpDrive_ModuleScopedCaches??{};if(La.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function Pa(t,e){return e}function Aa(t){return Ia[`(transient) ${t}`]??null}La.__warpDrive_hasOtherCopy=!0;const Oa=new WeakMap;function Fa(t,e){Oa.set(t,e)}const za=Pa(0,Symbol("#[]"));function Da(t,e){return Aa("signalHooks").createSignal(t,e)}const Na={};function ja(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===Na}const Ba=Pa(0,Symbol("Signals"));function Ua(t){return t[Ba]||function(t){t[Ba]=new Map}(t),t[Ba]}function $a(t,e,n,r){const i={key:n,context:e,signal:Da(e,n),value:ja(r)?r.value.call(e):r,isStale:!1};return t.set(n,i),i}function qa(t,e){return t?.get(e)}function Va(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,r){let i=qa(t,n);return i||(i=$a(t,e,n,r)),s=i.signal,Aa("signalHooks").consumeSignal(s),i;var s}(Ua(this),this,t,e);return n.isStale=!1,n.value},set(n){const r=function(t,e,n,r){let i=qa(t,n);return i||(i=$a(t,e,n,r)),i}(Ua(this),this,t,e);var i;r.value!==n&&(r.value=n,(i=r)&&(i.isStale=!0,function(t){Aa("signalHooks").notifySignal(t)}(i.signal)))}}}function Wa(t,e,n){Object.defineProperty(t,e,Va(e,n))}function Ha(t,e,n){const r=Va(e,n);r.enumerable=!1,Object.defineProperty(t,e,r)}function Ga(t,e,n){const r=n.get;return n.get=function(){const t=Ua(this);let n=t.get(e);return n||(n=function(t,e,n,r){{const i=function(t,e,n){return Aa("signalHooks").createMemo(t,e,n)}(e,n,r);return t.set(n,i),i}}(t,this,e,r.bind(this))),n()},n}const Ka=new WeakMap;function Za(t){return t instanceof DOMException&&"AbortError"===t.name}class Ya{_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,r=t.getReader();let i=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 r.read();if(e)break;if(i+=t.byteLength,n._bytesLoaded=i,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,Za(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()}}Ha(Ya.prototype,"_isPending",!0),Ha(Ya.prototype,"_isStarted",!1),Ha(Ya.prototype,"_isComplete",!1),Ha(Ya.prototype,"_isCancelled",!1),Ha(Ya.prototype,"_isErrored",!1),Ha(Ya.prototype,"_error",null),Ha(Ya.prototype,"_sizeHint",0),Ha(Ya.prototype,"_bytesLoaded",0),Ha(Ya.prototype,"_startTime",0),Ha(Ya.prototype,"_endTime",0),Ha(Ya.prototype,"_lastPacketTime",0);const Xa={};function Ja(t,e,n){const r=Object.assign({},e),i=Object.assign({},r.cacheOptions);return n?i.reload=!0:!1===n?(delete i.reload,i.backgroundReload=!0):(delete i.backgroundReload,delete i.reload),r.cacheOptions=i,t.request(r)}function Qa(t,e,n){let r={...Object.getOwnPropertyDescriptor(t,e)};for(let i of n)r=i(t,e,r)||r;void 0!==r.initializer&&(r.value=r.initializer?r.initializer.call(t):void 0,r.initializer=void 0),Object.defineProperty(t,e,r)}Wa(Xa,"reason",null),Wa(Xa,"value",null),Wa(Xa,"result",null),Wa(Xa,"error",null),Wa(Xa,"status","pending"),Wa(Xa,"isPending",!0),Wa(Xa,"isLoading",!0),Wa(Xa,"isSuccess",!1),Wa(Xa,"isError",!1),Wa(Xa,"request",null),Wa(Xa,"response",null),Object.defineProperty(Xa,"isCancelled",{get(){return this.isError&&Za(this.reason)}}),Object.defineProperty(Xa,"loadingState",{get(){return this._loadingState||(this._loadingState=new Ya(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]=rl,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",[Ga])}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",[Ga])}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,r)=>{if(!this._isUpdating)switch(r){case"invalidated":this.autorefreshTypes.has("invalid")&&(this._invalidated=!0,this._maybeUpdate());break;case"state":{const n=e.requestManager._deduped.get(t),r=n?.priority,i=this.reqState;r?r.blocking&&!i.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:r}=this;let i=this._invalidated||Boolean(t);if(!i&&r.has("online")){const{_unavailableStart:t}=this,{autorefreshThreshold:e}=this._args,n="number"==typeof e?e:3e4;i=Boolean(t&&Date.now()-t>n)}if(!i&&r.has("interval")){const{_intervalStart:t}=this,{autorefreshThreshold:e}=this._args;t&&"number"==typeof e&&e>0&&(i=Boolean(Date.now()-t>=e))}if(this._unavailableStart=null,this._invalidated=!1,i){this._clearInterval(),this._isUpdating=!0;const e=("_invalidated"===t?null:t)??this._args.autorefreshBehavior??"policy",r=this._getRequester();switch(n._request.requester||(n._request.requester=r),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",[Ga])}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",[Ga])}get _request(){const{request:t,query:e}=this._args,{_localRequest:n,_originalRequest:r,_originalQuery:i}=this;return n&&t===r&&e===i?n:(this._originalQuery=e,this._originalRequest=t,t||this.store.request(e))}static{Qa(this.prototype,"_request",[Ga])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Qa(this.prototype,"request",[Ga])}get reqState(){return function(t){let e=Ka.get(t);return e||(e=function(t){const e=(n=t,Oa.get(n));var n;const r=Object.create(Xa);return r._request=t,r.reload=()=>Ja(t.requester,r.request,!0),r.refresh=(e=!1)=>Ja(t.requester,r.request,!0===e&&null),e?e.isError?(r.error=e.result,r.reason=e.result,r.status="rejected",r.isError=!0,r.isPending=!1,r.isLoading=!1,r.request=e.result.request,r.response=e.result.response):(r.result=e.result.content,r.value=e.result.content,r.status="fulfilled",r.isSuccess=!0,r.isPending=!1,r.isLoading=!1,r.request=e.result.request,r.response=e.result.response):t.then(e=>{Fa(t,{isError:!1,result:e}),r.result=e.content,r.value=e.content,r.status="fulfilled",r.isSuccess=!0,r.isPending=!1,r.isLoading=!1,r.request=e.request,r.response=e.response},e=>{Fa(t,{isError:!0,result:e}),r.error=e,r.reason=e,r.status="rejected",r.isError=!0,r.isPending=!1,r.isLoading=!1,r.request=e.request,r.response=e.response}),r}(t),Ka.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function nl(t){return"requestManager"in t}function rl(){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}))}Wa(el.prototype,"isOnline",!0),Wa(el.prototype,"isHidden",!1),Wa(el.prototype,"isRefreshing",!1),Wa(el.prototype,"_localRequest",void 0),Wa(el.prototype,"_latestRequest",void 0);const il={};Wa(il,"reason",null),Wa(il,"value",null),Wa(il,"result",null),Wa(il,"error",null),Wa(il,"status","pending"),Wa(il,"isPending",!0),Wa(il,"isLoading",!0),Wa(il,"isSuccess",!1),Wa(il,"isError",!1);const sl=ge;var ol;ol=function(t){const e=t.wellknown.Array;return{createSignal:(t,n)=>n===e?[fi(t,n),fi(t,"length"),fi(t,"[]")]:fi(t,n),consumeSignal(t){if(Array.isArray(t))return De(t[0]),De(t[1]),void De(t[2]);De(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 r=fi(t,e),i=$e(n);let s;const o=()=>{s=qe(i)};return()=>{const t=We(o);return me(r,t),De(t),s}}},willSyncFlushWatchers:()=>!!ma.currentInstance&&!0!==ma._autorun,waitFor:async t=>t}},function(t,e){Ia["(transient) signalHooks"]=e}(0,ol({wellknown:{Array:za}}));const al=ui,ll=Object.freeze(Object.defineProperty({__proto__:null,getOwner:al,setOwner:hi},Symbol.toStringTag,{value:"Module"}));function cl(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const ul=g.EMBER_LOAD_HOOKS||{},hl={};let dl=hl;function pl(t,e){let n=hl[t];(ul[t]??=[]).push(e),n&&e(n)}function fl(t,e){if(hl[t]=e,n&&"function"==typeof CustomEvent){let r=new CustomEvent(t,{detail:e});n.dispatchEvent(r)}ul[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 r=e;if(!0===n.singleton||void 0===n.singleton&&ml(t,e)){let e=t.cache[r];if(void 0!==e)return e}return function(t,e,n,r){let i=vl(t,e,n);if(void 0!==i){if(function(t,e,{instantiate:n,singleton:r}){return!1!==r&&!1!==n&&(!0===r||ml(t,e))&&yl(t,e)}(t,n,r)){let n=t.cache[e]=i.create();return t.isDestroying&&"function"==typeof n.destroy&&n.destroy(),n}if(function(t,e,{instantiate:n,singleton:r}){return!1!==n&&(!1===r||!ml(t,e))&&yl(t,e)}(t,n,r))return i.create();if(function(t,e,{instantiate:n,singleton:r}){return!1!==r&&!n&&ml(t,e)&&!yl(t,e)}(t,n,r)||function(t,e,{instantiate:n,singleton:r}){return!(!1!==n||!1!==r&&ml(t,e)||yl(t,e))}(t,n,r))return i.class;throw new Error("Could not create factory")}}(t,r,e,n)}(this,this.registry.normalize(t),e)}destroy(){this.isDestroying=!0,bl(this)}finalizeDestroy(){wl(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(bl(this),wl(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 hi(t,this.owner),t}factoryFor(t){if(this.isDestroyed)throw new Error(`Cannot call \`.factoryFor('${t}')\` after the owner has been destroyed`);return vl(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 vl(t,e,n){let r=t.factoryManagerCache[e];if(void 0!==r)return r;let i=t.registry.resolve(e);if(void 0===i)return;let s=new Sl(t,i,n,e);return t.factoryManagerCache[e]=s,s}function bl(t){let e=t.cache,n=Object.keys(e);for(let r of n){let t=e[r];t.destroy&&t.destroy()}}function wl(t){t.cache=cl(null),t.factoryManagerCache=cl(null)}const _l=Symbol("INIT_FACTORY");function xl(t){return t[_l]}function Cl(t,e){t[_l]=e}class Sl{container;owner;class;fullName;normalizedName;madeToString;injections;constructor(t,e,n,r){this.container=t,this.owner=t.owner,this.class=e,this.fullName=n,this.normalizedName=r,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 hi(n,e.owner),Cl(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 r=this.normalize(t);this._failSet.delete(r),this.registrations[r]=e,this._options[r]=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,r=e,i=t._resolveCache[r];return void 0!==i?i:t._failSet.has(r)?void 0:(t.resolver&&(n=t.resolver.resolve(r)),void 0===n&&(n=t.registrations[r]),void 0===n?t._failSet.add(r):t._resolveCache[r]=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 r=t.split(":")[0];return n=this._typeOptions[r],n&&void 0!==n[e]?n[e]:null!==this.fallback?this.fallback.getOption(t,e):void 0}knownForType(t){let e,n,r=cl(null),i=Object.keys(this.registrations);for(let s of i)s.split(":")[0]===t&&(r[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,r,n)}isValidFullName(t){return kl.test(t)}}const Tl=cl(null),Rl=`${Math.random()}${Date.now()}`.replace(".","");function Ml([t]){let e=Tl[t];if(e)return e;let[n,r]=t.split(":");return Tl[t]=H(`${n}:${r}-${Rl}`)}const Ll=Array.prototype.concat;function Il(t,e,n,r){let i=n[t]||r[t];return e[t]&&(i=i?Ll.call(i,e[t]):e[t]),i}function Pl(t,e,n,r){if(!0===n)return e;let i=n._getter;if(void 0===i)return e;let s=r[t],o="function"==typeof s?Ii(s):s;if(void 0===o||!0===o)return e;let a=o._getter;if(void 0===a)return e;let l,c=mt(i,a),u=n._setter,h=o._setter;if(l=void 0!==h?void 0!==u?mt(u,h):h:u,c!==i||l!==u){let t=n._dependentKeys||[],e=new us([...t,{get:c,set:l}]);return e._readOnly=n._readOnly,e._meta=n._meta,e.enumerable=n.enumerable,Ri(e,us)}return e}function Al(t,e,n,r){if(void 0!==r[t])return e;let i=n[t];return"function"==typeof i?mt(e,i):e}function Ol(t){return t?Array.isArray(t)?t:[t]:[]}function Fl(t,e,n){return Ol(n[t]).concat(Ol(e))}function zl(t,e,n){let r=n[t];if(!r)return e;let i=Object.assign({},r),s=!1,o=Object.keys(e);for(let a of o){let t=e[a];"function"==typeof t?(s=!0,i[a]=Al(a,t,r,{})):i[a]=t}return s&&(i._super=at),i}function Dl(t,e,n,r,i,s,o){let a;for(let l=0;l<t.length;l++)if(a=t[l],$l.has(a)){if(e.hasMixin(a))continue;e.addMixin(a);let{properties:t,mixins:l}=a;void 0!==t?Nl(e,t,n,r,i,s,o):void 0!==l&&(Dl(l,e,n,r,i,s,o),a instanceof ql&&void 0!==a._without&&a._without.forEach(t=>{let e=s.indexOf(t);-1!==e&&s.splice(e,1)}))}else Nl(e,a,n,r,i,s,o)}function Nl(t,e,n,r,i,s,o){let a=Il("concatenatedProperties",e,r,i),l=Il("mergedProperties",e,r,i),c=Object.keys(e);for(let u of c){let c=e[u];if(void 0===c)continue;if(-1===s.indexOf(u)){s.push(u);let e=t.peekDescriptors(u);if(void 0===e){if(!Pi(c)){let t=r[u]=i[u];"function"==typeof t&&jl(i,u,t,!1)}}else n[u]=e,o.push(u),e.teardown(i,u,t)}let h="function"==typeof c;if(h){let t=Ii(c);if(void 0!==t){n[u]=Pl(u,c,t,n),r[u]=void 0;continue}}a&&a.indexOf(u)>=0||"concatenatedProperties"===u||"mergedProperties"===u?c=Fl(u,c,r):l&&l.indexOf(u)>-1?c=zl(u,c,r):h&&(c=Al(u,c,r,n)),r[u]=c,n[u]=void 0}}function jl(t,e,n,r){let i=dt(n);if(void 0===i)return;let{observers:s,listeners:o}=i;if(void 0!==s){let n=r?Hi:Gi;for(let r of s.paths)n(t,r,null,e,s.sync)}if(void 0!==o){let n=r?Ni:ji;for(let r of o)n(t,r,null,e)}}function Bl(t,e,n=!1){let r=Object.create(null),i=Object.create(null),s=ae(t),o=[],a=[];t._super=at,Dl(e,s,r,i,t,o,a);for(let l of o){let e=i[l],o=r[l];void 0!==e?("function"==typeof e&&jl(t,l,e,!0),vs(t,l,e,-1!==a.indexOf(l),!n)):void 0!==o&&ys(t,l,o,s)}return s.isPrototypeMeta(t)||Ji(t),t}function Ul(t,...e){return Bl(t,e),t}const $l=new WeakSet;class ql{mixins;properties;ownerConstructor;_without;constructor(t,e){$l.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:Ci(n)})}return t}(e),this.mixins=Vl(t),this.ownerConstructor=void 0,this._without=void 0}static create(...t){return vo(),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 ql(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 Bl(t,[this],e)}applyPartial(t){return Bl(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if($l.has(t))return Wl(t,this);let e=oe(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new ql([this]);return e._without=t,e}keys(){return Hl(this)}toString(){return"(unknown mixin)"}}function Vl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let r=0;r<n;r++){let n=t[r];$l.has(n)?e[r]=n:e[r]=new ql(void 0,n)}}return e}function Wl(t,e,n=new Set){if(n.has(t))return!1;if(n.add(t),t===e)return!0;let r=t.mixins;return!!r&&r.some(t=>Wl(t,e,n))}function Hl(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=>Hl(t,e,n));return e}}const Gl=ql.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 Zl=ql.create({__container__:null,ownerInjection(){return this.__container__.ownerInjection()},lookup(t,e){return this.__container__.lookup(t,e)},destroy(){let t=this.__container__;t&&va(()=>{t.destroy(),wa("destroy",t,"finalizeDestroy")}),this._super()},factoryFor(t){return this.__container__.factoryFor(t)}}),Yl=ql.create({compare:null}),Xl=ql.create({mergedProperties:["actions"],send(t,...e){if(this.actions&&this.actions[t]&&!0!==this.actions[t].apply(this,e))return;let n=Cs(this,"target");n&&n.send(...arguments)}});function Jl(t){let e=Cs(t,"content");return me(gi(t),gi(e)),e}function Ql(t,e,n){let r=sn(t),i=on(t,e,r);if(e in t)return i;{let s=[i,on(t,"content",r)],o=Jl(t);return G(o)&&s.push(fi(o,e,n)),ke(s)}}const tc=ql.create({content:null,init(){this._super(...arguments),ni(this),gi(this),lr(this,Ql)},willDestroy(){this.set("content",null),this._super(...arguments)},isTruthy:ps("content",function(){return Boolean(Cs(this,"content"))}),unknownProperty(t){let e=Jl(this);return e?Cs(e,t):void 0},setUnknownProperty(t,e){let n=ae(this);return n.isInitializing()||n.isPrototypeMeta(this)?(ms(this,t,null,e),e):Fs(Jl(this),t,e)}}),ec=ql.create(),nc=ql.create(ec),rc=Object.freeze(Object.defineProperty({__proto__:null,default:nc},Symbol.toStringTag,{value:"Module"})),ic=ql.create({target:null,action:null,actionContext:null,actionContextObject:ps("actionContext",function(){let t=Cs(this,"actionContext");if("string"==typeof t){let e=Cs(this,t);return void 0===e&&(e=Cs(d.lookup,t)),e}return t}),triggerAction(t={}){let{action:e,target:n,actionContext:r}=t;e=e||Cs(this,"action"),n=n||function(t){let e=Cs(t,"target");if(e){if("string"==typeof e){let n=Cs(t,e);return void 0===n&&(n=Cs(d.lookup,e)),n}return e}return t._target?t._target:null}(this),void 0===r&&(r=Cs(this,"actionContextObject")||this);let i=Array.isArray(r)?r:[r];if(n&&e){let t;if(t=null!=(s=n)&&"object"==typeof s&&"function"==typeof s.send?n.send(e,...i):n[e](...i),!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),r=n[t];r||(r=n[t]=[]),-1===r.indexOf(e)&&r.push(e)},off(t,e){let n=sc(this);if(!e)return void(n[t]=[]);let r=n[t],i=r.indexOf(e);-1!==i&&r.splice(i,1)},trigger(t,e,n){let r=sc(this)[t];if(r){let t;for(let i=0;i<r.length;i++)t=r[i],t(e,n)}}},ac={instrument:!1};function lc(t,e){if(2!==arguments.length)return ac[t];ac[t]=e}oc.mixin(ac);const cc=[];function uc(t,e,n){1===cc.push({name:t,payload:{key:e._guidKey,id:e._id,eventName:t,detail:e._result,childId:n&&n._id,label:e._label,timeStamp:Date.now(),error:ac["instrument-with-stack"]?new Error(e._label):null}})&&setTimeout(()=>{for(let t=0;t<cc.length;t++){let e=cc[t],n=e.payload;n.guid=n.key+n.id,n.childGuid=n.key+n.childId,n.error&&(n.stack=n.error.stack),ac.trigger(e.name,e.payload)}cc.length=0},50)}function hc(t,e){if(t&&"object"==typeof t&&t.constructor===this)return t;let n=new this(dc,e);return yc(n,t),n}function dc(){}const pc=void 0,fc=1,gc=2;function mc(t,e,n){e.constructor===t.constructor&&n===Sc&&t.constructor.resolve===hc?function(t,e){e._state===fc?bc(t,e._result):e._state===gc?(e._onError=null,wc(t,e._result)):_c(e,void 0,n=>{e===n?bc(t,n):yc(t,n)},e=>wc(t,e))}(t,e):"function"==typeof n?function(t,e,n){ac.async(t=>{let r=!1,i=function(n,i){try{n.call(i,n=>{r||(r=!0,e===n?bc(t,n):yc(t,n))},e=>{r||(r=!0,wc(t,e))})}catch(ej){return ej}}(n,e,t._label);!r&&i&&(r=!0,wc(t,i))},t)}(t,e,n):bc(t,e)}function yc(t,e){if(t===e)bc(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(v5){return void wc(t,v5)}mc(t,e,n)}else bc(t,e)}function vc(t){t._onError&&t._onError(t._result),xc(t)}function bc(t,e){t._state===pc&&(t._result=e,t._state=fc,0===t._subscribers.length?ac.instrument&&uc("fulfilled",t):ac.async(xc,t))}function wc(t,e){t._state===pc&&(t._state=gc,t._result=e,ac.async(vc,t))}function _c(t,e,n,r){let i=t._subscribers,s=i.length;t._onError=null,i[s]=e,i[s+fc]=n,i[s+gc]=r,0===s&&t._state&&ac.async(xc,t)}function xc(t){let e=t._subscribers,n=t._state;if(ac.instrument&&uc(n===fc?"fulfilled":"rejected",t),0===e.length)return;let r,i,s=t._result;for(let o=0;o<e.length;o+=3)r=e[o],i=e[o+n],r?Cc(n,r,i,s):i(s);t._subscribers.length=0}function Cc(t,e,n,r){let i,s,o="function"==typeof n,a=!0;if(o)try{i=n(r)}catch(ej){a=!1,s=ej}else i=r;e._state!==pc||(i===e?wc(e,new TypeError("A promises callback cannot return that same promise.")):!1===a?wc(e,s):o?yc(e,i):t===fc?bc(e,i):t===gc&&wc(e,i))}function Sc(t,e,n){let r=this,i=r._state;if(i===fc&&!t||i===gc&&!e)return ac.instrument&&uc("chained",r,r),r;r._onError=null;let s=new r.constructor(dc,n),o=r._result;if(ac.instrument&&uc("chained",r,s),i===pc)_c(r,s,t,e);else{let n=i===fc?t:e;ac.async(()=>Cc(i,s,n,o))}return s}class kc{constructor(t,e,n,r){this._instanceConstructor=t,this.promise=new t(dc,r),this._abortOnReject=n,this._isUsingOwnPromise=t===Mc,this._isUsingOwnResolve=t.resolve===hc,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 r=0;n._state===pc&&r<e;r++)this._eachEntry(t[r],r,!0);this._checkFullfillment()}_checkFullfillment(){if(0===this._remaining){let t=this._result;bc(this.promise,t),this._result=null}}_settleMaybeThenable(t,e,n){let r=this._instanceConstructor;if(this._isUsingOwnResolve){let i,s,o=!0;try{i=t.then}catch(ej){o=!1,s=ej}if(i===Sc&&t._state!==pc)t._onError=null,this._settledAt(t._state,e,t._result,n);else if("function"!=typeof i)this._settledAt(fc,e,t,n);else if(this._isUsingOwnPromise){let a=new r(dc);!1===o?wc(a,s):(mc(a,t,i),this._willSettleAt(a,e,n))}else this._willSettleAt(new r(e=>e(t)),e,n)}else this._willSettleAt(r.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,r){let i=this.promise;i._state===pc&&(this._abortOnReject&&t===gc?wc(i,n):(this._setResultAt(t,e,n,r),this._checkFullfillment()))}_setResultAt(t,e,n,r){this._remaining--,this._result[e]=n}_willSettleAt(t,e,n){_c(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,Mc=class t{constructor(e,n){this._id=Rc++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],ac.instrument&&uc("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,wc(t,e))})}catch(ej){wc(t,ej)}}(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,r=n.constructor;return"function"==typeof t?n.then(e=>r.resolve(t()).then(()=>e),e=>r.resolve(t()).then(()=>{throw e})):n.then(t,t)}};function Lc(t,e){return{then:(n,r)=>t.call(e,n,r)}}function Ic(t,e){let n=function(){let n=arguments.length,r=new Array(n+1),i=!1;for(let t=0;t<n;++t){let e=arguments[t];if(!i){if(null!==e&&"object"==typeof e)if(e.constructor===Mc)i=!0;else try{i=e.then}catch(v5){let e=new Mc(dc);return wc(e,v5),e}else i=!1;i&&!0!==i&&(e=Lc(i,e))}r[t]=e}let s=new Mc(dc);return r[n]=function(t,n){t?wc(s,t):void 0===e?yc(s,n):!0===e?yc(s,function(t){let e=t.length,n=new Array(e-1);for(let r=1;r<e;r++)n[r-1]=t[r];return n}(arguments)):Array.isArray(e)?yc(s,function(t,e){let n={},r=t.length,i=new Array(r);for(let s=0;s<r;s++)i[s]=t[s];for(let s=0;s<e.length;s++)n[e[s]]=i[s+1];return n}(arguments,e)):yc(s,n)},i?function(t,e,n,r){return Mc.all(e).then(e=>Pc(t,e,n,r))}(s,r,t,this):Pc(s,r,t,this)};return n.__proto__=t,n}function Pc(t,e,n,r){try{n.apply(r,e)}catch(v5){wc(t,v5)}return t}function Ac(t,e){return Mc.all(t,e)}Mc.cast=hc,Mc.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)},Mc.race=function(t,e){let n=this,r=new n(dc,e);if(!Array.isArray(t))return wc(r,new TypeError("Promise.race must be called with an array")),r;for(let i=0;r._state===pc&&i<t.length;i++)_c(n.resolve(t[i]),void 0,t=>yc(r,t),t=>wc(r,t));return r},Mc.resolve=hc,Mc.reject=function(t,e){let n=new this(dc,e);return wc(n,t),n},Mc.prototype._guidKey=Tc,Mc.prototype.then=Sc;class Oc extends kc{constructor(t,e,n){super(t,e,!1,n)}}function Fc(t,e){return Array.isArray(t)?new Oc(Mc,t,e).promise:Mc.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function zc(t,e){return Mc.race(t,e)}Oc.prototype._setResultAt=Ec;class Dc extends kc{constructor(t,e,n=!0,r){super(t,e,n,r)}_init(t,e){this._result={},this._enumerate(e)}_enumerate(t){let e,n,r=Object.keys(t),i=r.length,s=this.promise;this._remaining=i;for(let o=0;s._state===pc&&o<i;o++)e=r[o],n=t[e],this._eachEntry(n,e,!0);this._checkFullfillment()}}function Nc(t,e){return Mc.resolve(t,e).then(function(t){if(null===t||"object"!=typeof t)throw new TypeError("Promise.hash must be called with an object");return new Dc(Mc,t,e).promise})}class jc extends Dc{constructor(t,e,n){super(t,e,!1,n)}}function Bc(t,e){return Mc.resolve(t,e).then(function(t){if(null===t||"object"!=typeof t)throw new TypeError("hashSettled must be called with an object");return new jc(Mc,t,!1,e).promise})}function Uc(t){throw setTimeout(()=>{throw t}),t}function $c(t){let e={resolve:void 0,reject:void 0};return e.promise=new Mc((t,n)=>{e.resolve=t,e.reject=n},t),e}jc.prototype._setResultAt=Ec;class qc extends kc{constructor(t,e,n,r){super(t,e,!0,r,n)}_init(t,e,n,r,i){let s=e.length||0;this.length=s,this._remaining=s,this._result=new Array(s),this._mapFn=i,this._enumerate(e)}_setResultAt(t,e,n,r){if(r)try{this._eachEntry(this._mapFn(n,e),e,!1)}catch(v5){this._settledAt(gc,e,v5,!1)}else this._remaining--,this._result[e]=n}}function Vc(t,e,n){return"function"!=typeof e?Mc.reject(new TypeError("map expects a function as a second argument"),n):Mc.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new qc(Mc,t,e,n).promise})}function Wc(t,e){return Mc.resolve(t,e)}function Hc(t,e){return Mc.reject(t,e)}const Gc={};class Kc extends qc{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==Gc);bc(this.promise,t),this._result=null}}_setResultAt(t,e,n,r){if(r){this._result[e]=n;let t,r=!0;try{t=this._mapFn(n,e)}catch(v5){r=!1,this._settledAt(gc,e,v5,!1)}r&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=Gc)}}function Zc(t,e,n){return"function"!=typeof e?Mc.reject(new TypeError("filter expects function as a second argument"),n):Mc.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new Kc(Mc,t,e,n).promise})}let Yc,Xc=0;function Jc(t,e){su[Xc]=t,su[Xc+1]=e,Xc+=2,2===Xc&&au()}const Qc="undefined"!=typeof window?window:void 0,tu=Qc||{},eu=tu.MutationObserver||tu.WebKitMutationObserver,nu="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),ru="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function iu(){return()=>setTimeout(ou,1)}const su=new Array(1e3);function ou(){for(let t=0;t<Xc;t+=2)(0,su[t])(su[t+1]),su[t]=void 0,su[t+1]=void 0;Xc=0}let au;au=nu?function(){let t=process.nextTick,e=process.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);return Array.isArray(e)&&"0"===e[1]&&"10"===e[2]&&(t=setImmediate),()=>t(ou)}():eu?function(){let t=0,e=new eu(ou),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():ru?function(){let t=new MessageChannel;return t.port1.onmessage=ou,()=>t.port2.postMessage(0)}():void 0===Qc&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Yc=t.runOnLoop||t.runOnContext,void 0!==Yc?function(){Yc(ou)}:iu()}catch(ej){return iu()}}():iu(),ac.async=Jc,ac.after=t=>setTimeout(t,0);const lu=Wc,cu=(t,e)=>ac.async(t,e);function uu(){ac.on(...arguments)}function hu(){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)&&uu(e,t[e])}const du={asap:Jc,cast:lu,Promise:Mc,EventTarget:oc,all:Ac,allSettled:Fc,race:zc,hash:Nc,hashSettled:Bc,rethrow:Uc,defer:$c,denodeify:Ic,configure:lc,on:uu,off:hu,resolve:Wc,reject:Hc,map:Vc,async:cu,filter:Zc},pu=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:oc,Promise:Mc,all:Ac,allSettled:Fc,asap:Jc,async:cu,cast:lu,configure:lc,default:du,defer:$c,denodeify:Ic,filter:Zc,hash:Nc,hashSettled:Bc,map:Vc,off:hu,on:uu,race:zc,reject:Hc,resolve:Wc,rethrow:Uc},Symbol.toStringTag,{value:"Module"}));function fu(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)}),uu("error",fu);const{isArray:gu}=Array;function mu(t){return null==t?[]:gu(t)?t:[t]}function yu(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const vu=ql.prototype.reopen,bu=new WeakSet,wu=new WeakMap,_u=new Set;function xu(t){_u.has(t)||t.destroy()}function Cu(t,e){let n=ae(t);if(void 0!==e){let r=t.concatenatedProperties,i=t.mergedProperties,s=Object.keys(e);for(let o of s){let s=e[o],a=Li(t,o,n),l=void 0!==a;if(!l){if(void 0!==r&&r.length>0&&r.includes(o)){let e=t[o];s=e?mu(e).concat(s):mu(s)}if(void 0!==i&&i.length>0&&i.includes(o)){let e=t[o];s=Object.assign({},e,s)}}l?a.set(t,o,s):yu(t)&&!(o in t)?t.setUnknownProperty(o,s):t[o]=s}}t.init(e),n.unsetInitializing();let r=n.observerEvents();if(void 0!==r)for(let i=0;i<r.length;i++)Ki(t,r[i].event,r[i].sync);Bi(t,"init",void 0,void 0,n)}class Su{[li];constructor(t){let e;this[li]=t,this.constructor.proto(),e=this;const n=e;Ht(e,xu,!0),Ht(e,()=>n.willDestroy()),ae(e).setInitializing()}reopen(...t){return Bl(this,t),this}init(t){}get isDestroyed(){return Yt(this)}set isDestroyed(t){}get isDestroying(){return Zt(this)}set isDestroying(t){}destroy(){_u.add(this);try{Gt(this)}finally{_u.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 vu.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(ui(n)),Cl(e,xl(n))):e=new this,t.length<=1?Cu(e,n):Cu(e,ku.apply(this,t)),e}static reopen(...t){return this.willReopen(),vu.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;bu.has(t)&&(bu.delete(t),wu.has(this)&&wu.set(this,ql.create(this.PrototypeMixin)))}static reopenClass(...t){return Bl(this,t),this}static detect(t){if("function"!=typeof t)return!1;for(;t;){if(t===this)return!0;t=t.superclass}return!1}static detectInstance(t){return t instanceof this}static metaForProperty(t){return Li(this.proto(),t)._meta||{}}static eachComputedProperty(t,e=this){this.proto();let n={};ae(this.prototype).forEachDescriptors((r,i)=>{if(i.enumerable){let s=i._meta||n;t.call(e,r,s)}})}static get PrototypeMixin(){let t=wu.get(this);return void 0===t&&(t=ql.create(),t.ownerConstructor=this,wu.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(!bu.has(t)){bu.add(t);let e=this.superclass;e&&e.proto(),wu.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 ku(...t){let e={};for(let n of t){let t=Object.keys(n);for(let r=0,i=t.length;r<i;r++){let i=t[r],s=n[i];e[i]=s}}return e}const Eu=Object.freeze(Object.defineProperty({__proto__:null,default:Su},Symbol.toStringTag,{value:"Module"})),Tu=ql.create({get(t){return Cs(this,t)},getProperties(...t){return Js(this,...t)},set(t,e){return Fs(this,t,e)},setProperties(t){return Qs(this,t)},beginPropertyChanges(){return os(),this},endPropertyChanges(){return as(),this},notifyPropertyChange(t){return ss(this,t),this},addObserver(t,e,n,r){return Hi(this,t,e,n,r),this},removeObserver(t,e,n,r){return Gi(this,t,e,n,r),this},hasObserverFor(t){return Ui(this,`${t}:change`)},incrementProperty(t,e=1){return Fs(this,t,(parseFloat(Cs(this,t))||0)+e)},decrementProperty(t,e=1){return Fs(this,t,(Cs(this,t)||0)-e)},toggleProperty(t){return Fs(this,t,!Cs(this,t))},cacheFor(t){let e=oe(this);return null!==e?e.valueFor(t):void 0}}),Ru=Object.freeze(Object.defineProperty({__proto__:null,default:Tu},Symbol.toStringTag,{value:"Module"}));class Mu extends(Su.extend(Tu)){get _debugContainerKey(){let t=xl(this);return void 0!==t&&t.fullName}}const Lu=new WeakMap;function Iu(t,e,n){var r;if(null!=(r=t)&&void 0!==r.constructor&&"function"==typeof r.constructor.proto&&t.constructor.proto(),!Object.prototype.hasOwnProperty.call(t,"actions")){let e=t.actions;t.actions=e?Object.assign({},e):{}}return t.actions[e]=n,{get(){let t=Lu.get(this);void 0===t&&(t=new Map,Lu.set(this,t));let e=t.get(n);return void 0===e&&(e=n.bind(this),t.set(n,e)),e}}}function Pu(...t){let e;if(!xi(t)){e=t[0];let n=function(t,n){return Iu(t,n,e)};return Ai(n),n}let[n,r,i]=t;return e=i?.value,Iu(n,r,e)}function Au(...t){let e,n,r,i=t.pop();"function"==typeof i?(e=i,n=t,r=!g._DEFAULT_ASYNC_OBSERVERS):(e=i.fn,n=i.dependentKeys,r=i.sync);let s=[];for(let o of n)Fi(o,t=>s.push(t));return pt(e,{paths:s,sync:r}),e}Ai(Pu);const Ou=Object.freeze(Object.defineProperty({__proto__:null,action:Pu,computed:ps,default:Mu,defineProperty:ms,get:Cs,getProperties:Js,notifyPropertyChange:ss,observer:Au,set:Fs,setProperties:Qs,trySet:Ds},Symbol.toStringTag,{value:"Module"}));function Fu(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 zu(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 Du(t){let e=t.lookup("-view-registry:main"),n=[];return Object.keys(e).forEach(t=>{let r=e[t];null===r.parentView&&n.push(r)}),n}function Nu(t){return""!==t.tagName&&t.elementId?t.elementId:et(t)}const ju=new WeakMap,Bu=new WeakMap;function Uu(t){return ju.get(t)||null}function $u(t){return Bu.get(t)||null}function qu(t,e){ju.set(t,e)}function Vu(t,e){Bu.set(t,e)}function Wu(t){ju.delete(t)}function Hu(t){Bu.delete(t)}const Gu=new WeakMap;function Ku(t){return function(t,e){let n=[],r=Gu.get(t);return void 0!==r&&r.forEach(t=>{let r=e[t];!r||r.isDestroying||r.isDestroyed||n.push(r)}),n}(t,ui(t).lookup("-view-registry:main"))}function Zu(t,e){let n=Gu.get(t);void 0===n&&(n=function(t){let e=new Set;return Gu.set(t,e),e}(t)),n.add(Nu(e))}function Yu(t){return t.renderer.getBounds(t)}function Xu(t){let e=Yu(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Ju(t){return Xu(t).getClientRects()}function Qu(t){return Xu(t).getBoundingClientRect()}const th="ember-application";class eh extends Mu{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={...Cs(this,"events"),...t};this._reverseEventNameMapping=Object.keys(n).reduce((t,e)=>{let r=n[e];return r?{...t,[r]:e}:t},{});let r=this.lazyEvents;null!=e&&Fs(this,"rootElement",e);let i=Cs(this,"rootElement"),s="string"!=typeof i?i:document.querySelector(i);s.classList.add(th),this._sanitizedRootElement=s;for(let o in n)Object.prototype.hasOwnProperty.call(n,o)&&r.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 r=(t,e)=>{let r=Uu(t),i=!0;return r&&(i=r.handleEvent(n,e)),i},i=this._eventHandlers[e]=t=>{let e=t.target;do{if(Uu(e)){if(!1===r(e,t)){t.preventDefault(),t.stopPropagation();break}if(!0===t.cancelBubble)break}e=e.parentNode}while(e instanceof Element)};t.addEventListener(e,i),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(th),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const nh=ql.create({on(t,e,n){return Ni(this,t,e,n),this},one(t,e,n){return Ni(this,t,e,n,!0),this},trigger(t,...e){Bi(this,t,e)},off(t,e,n){return ji(this,t,e,n),this},has(t){return Ui(this,t)}}),rh=Object.freeze(Object.defineProperty({__proto__:null,default:nh,on:$i},Symbol.toStringTag,{value:"Module"}));let ih=class extends Mu{},sh=[],oh={};const ah=(()=>{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 lh(t,e,n,r){let i,s,o;if(arguments.length<=3&&function(t){return"function"==typeof t}(e)?(s=e,o=n):(i=e,s=n,o=r),0===sh.length)return s.call(o);let a=i||{},l=hh(t,()=>a);return l===uh?s.call(o):function(t,e,n,r){try{return t.call(r)}catch(ej){throw n.exception=ej,ej}finally{e()}}(s,l,a,o)}function ch(t,e,n){return n()}function uh(){}function hh(t,e,n){if(0===sh.length)return uh;let r=oh[t];if(r||(r=function(t){let e=[];for(let n of sh)n.regex.test(t)&&e.push(n.object);return oh[t]=e,e}(t)),0===r.length)return uh;let i,s=e(n),o=g.STRUCTURED_PROFILE;o&&(i=`${t}: ${s.object}`,console.time(i));let a=[],l=ah();for(let u of r)a.push(u.before(t,l,s));const c=r;return function(){let e=ah();for(let n=0;n<c.length;n++){let r=c[n];"function"==typeof r.after&&r.after(t,e,s,a[n])}o&&console.timeEnd(i)}}function dh(t,e){let n=t.split("."),r=[];for(let o of n)"*"===o?r.push("[^\\.]*"):r.push(o);let i=r.join("\\.");i=`${i}(\\..*)?`;let s={pattern:t,regex:new RegExp(`^${i}$`),object:e};return sh.push(s),oh={},s}function ph(t){let e=0;for(let n=0;n<sh.length;n++)sh[n]===t&&(e=n);sh.splice(e,1),oh={}}function fh(){sh.length=0,oh={}}const gh=Object.freeze(Object.defineProperty({__proto__:null,_instrumentStart:hh,flaggedInstrument:ch,instrument:lh,reset:fh,subscribe:dh,subscribers:sh,unsubscribe:ph},Symbol.toStringTag,{value:"Module"})),mh=Object.freeze({appendChild(){throw new Error("You can't use appendChild outside of the rendering process")},handleEvent:()=>!0,rerender(){},destroy(){}}),yh=Object.freeze({...mh}),vh=Object.freeze({...mh,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||ch(0,0,()=>va(t,t.trigger,e,n))}),bh=Object.freeze({...vh,enter(t){t.renderer.register(t)}}),wh=Object.freeze({...mh,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")}}),_h=Object.freeze({preRender:yh,inDOM:bh,hasElement:vh,destroying:wh});var xh=Object.defineProperty;((t,e)=>{for(var n in e)xh(t,n,{get:e[n],enumerable:!0})})({},{c:()=>Mh,f:()=>Sh,g:()=>kh,i:()=>Rh,m:()=>Eh,n:()=>Th,p:()=>Lh});var Ch=new WeakMap;function Sh(t,e,n,r){return kh(t.prototype,e,n,r)}function kh(t,e,n,r){let i={configurable:!0,enumerable:!0,writable:!0,initializer:null};r&&(i.initializer=r);for(let s of n)i=s(t,e,i)||i;void 0===i.initializer?Object.defineProperty(t,e,i):function(t,e,n){let r=Ch.get(t);r||(r=new Map,Ch.set(t,r)),r.set(e,n)}(t,e,i)}function Eh({prototype:t},e,n){return Th(t,e,n)}function Th(t,e,n){let r={...Object.getOwnPropertyDescriptor(t,e)};for(let i of n)r=i(t,e,r)||r;void 0!==r.initializer&&(r.value=r.initializer?r.initializer.call(t):void 0,r.initializer=void 0),Object.defineProperty(t,e,r)}function Rh(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Ch.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 Mh(t,e){return e.reduce((t,e)=>e(t)||t,t)}function Lh(t,e){for(let[n,r,i]of e)"field"===n?Ih(t,r,i):Th(t,r,i);return t}function Ih(t,e,n){let r={configurable:!0,enumerable:!0,writable:!0,initializer:()=>Object.getOwnPropertyDescriptor(t,e)?.value};for(let i of n)r=i(t,e,r)||r;r.initializer&&(r.value=r.initializer.call(t),delete r.initializer),Object.defineProperty(t,e,r)}class Ph extends(ih.extend(nh,Xl)){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{kh(this.prototype,"renderer",[Ls("renderer","-dom")])}#l=void Rh(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}Ph.prototype._states=_h;const Ah=ql.create({send(t,...e){let n=this.actions&&this.actions[t];if(n&&!0!==n.apply(this,e))return;let r=Cs(this,"target");r&&r.send(...arguments)}}),Oh={"[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:Fh}=Object.prototype;function zh(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=Oh[Fh.call(t)]||"object";return"function"===e?Su.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof Su?e="instance":t instanceof Date&&(e="date")),e}const Dh={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 Nh(t,e){return Math.sign(t-e)}function jh(t,e){if(t===e)return 0;let n=zh(t),r=zh(e);if("instance"===n&&Bh(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===r&&Bh(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let i=Nh(Dh[n],Dh[r]);if(0!==i)return i;switch(n){case"boolean":return Nh(Number(t),Number(e));case"number":return Nh(t,e);case"string":return Nh(t.localeCompare(e),0);case"array":{let n=t.length,r=e.length,i=Math.min(n,r);for(let s=0;s<i;s++){let n=jh(t[s],e[s]);if(0!==n)return n}return Nh(n,r)}case"instance":return Bh(t)&&t.compare?t.compare(t,e):0;case"date":return Nh(t.getTime(),e.getTime());default:return 0}}function Bh(t){return Yl.detect(t)}const Uh=Object.freeze([]),$h=t=>t;function qh(t,e=$h){let n=sd(),r=new Set,i="function"==typeof e?e:t=>Cs(t,e);return t.forEach(t=>{let e=i(t);r.has(e)||(r.add(e),n.push(t))}),n}function Vh(...t){let e=2===t.length,[n,r]=t;return e?t=>r===Cs(t,n):t=>Boolean(Cs(t,n))}function Wh(t,e,n){let r=t.length;for(let i=n;i<r;i++)if(e(di(t,i),i,t))return i;return-1}function Hh(t,e,n=null){let r=Wh(t,e.bind(n),0);return-1===r?void 0:di(t,r)}function Gh(t,e,n=null){return-1!==Wh(t,e.bind(n),0)}function Kh(t,e,n=null){let r=e.bind(n);return-1===Wh(t,(t,e,n)=>!r(t,e,n),0)}function Zh(t,e,n=0,r){let i=t.length;return n<0&&(n+=i),Wh(t,r&&e!=e?t=>t!=t:t=>t===e,n)}function Yh(t,e,n){return Hs(t,e,n??1,Uh),t}function Xh(t,e,n){return Hs(t,e,0,[n]),n}function Jh(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||ed.detect(t))return!0;let e=zh(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function Qh(t){let e=ps(t);return e.enumerable=!1,e}function td(t){return this.map(e=>Cs(e,t))}const ed=ql.create(ec,{init(){this._super(...arguments),ri.add(this)},objectsAt(t){return t.map(t=>di(this,t))},"[]":Qh({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:Qh(function(){return di(this,0)}).readOnly(),lastObject:Qh(function(){return di(this,this.length-1)}).readOnly(),slice(t=0,e){let n,r=sd(),i=this.length;for(t<0&&(t=i+t),n=void 0===e||e>i?i:e<0?i+e:e;t<n;)r[r.length]=di(this,t++);return r},indexOf(t,e){return Zh(this,t,e,!1)},lastIndexOf(t,e){let n=this.length;(void 0===e||e>=n)&&(e=n-1),e<0&&(e+=n);for(let r=e;r>=0;r--)if(di(this,r)===t)return r;return-1},forEach(t,e=null){let n=this.length;for(let r=0;r<n;r++){let n=this.objectAt(r);t.call(e,n,r,this)}return this},getEach:td,setEach(t,e){return this.forEach(n=>Fs(n,t,e))},map(t,e=null){let n=sd();return this.forEach((r,i,s)=>n[i]=t.call(e,r,i,s)),n},mapBy:td,filter(t,e=null){let n=sd();return this.forEach((r,i,s)=>{t.call(e,r,i,s)&&n.push(r)}),n},reject(t,e=null){return this.filter(function(){return!t.apply(e,arguments)})},filterBy(){return this.filter(Vh(...arguments))},rejectBy(){return this.reject(Vh(...arguments))},find(t,e=null){return Hh(this,t,e)},findBy(){return Hh(this,Vh(...arguments))},every(t,e=null){return Kh(this,t,e)},isEvery(){return Kh(this,Vh(...arguments))},any(t,e=null){return Gh(this,t,e)},isAny(){return Gh(this,Vh(...arguments))},reduce(t,e){let n=e;return this.forEach(function(e,r){n=t(n,e,r,this)},this),n},invoke(t,...e){let n=sd();return this.forEach(r=>n.push(r[t]?.(...e))),n},toArray(){return this.map(t=>t)},compact(){return this.filter(t=>null!=t)},includes(t,e){return-1!==Zh(this,t,e,!0)},sortBy(){let t=arguments;return this.toArray().sort((e,n)=>{for(let r=0;r<t.length;r++){let i=t[r],s=jh(Cs(e,i),Cs(n,i));if(s)return s}return 0})},uniq(){return qh(this)},uniqBy(t){return qh(this,t)},without(t){if(!this.includes(t))return this;let e=t==t?e=>e!==t:t=>t==t;return this.filter(e)}}),nd=ql.create(ed,nc,{clear(){let t=this.length;return 0===t||this.replace(0,t,Uh),this},insertAt(t,e){return Xh(this,t,e),this},removeAt(t,e){return Yh(this,t,e)},pushObject(t){return Xh(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=di(this,t-1);return this.removeAt(t-1,1),e},shiftObject(){if(0===this.length)return null;let t=di(this,0);return this.removeAt(0),t},unshiftObject(t){return Xh(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;)di(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 rd=ql.create(nd,Tu,{objectAt(t){return this[t]},replace(t,e,n=Uh){return Ks(this,t,e,n),this}});const id=["length"];let sd;rd.keys().forEach(t=>{Array.prototype[t]&&id.push(t)}),rd=rd.without(...id),sd=function(t){return ii(t)?t:rd.apply(t??[])};const od=Object.freeze(Object.defineProperty({__proto__:null,get A(){return sd},MutableArray:nd,get NativeArray(){return rd},default:ed,isArray:Jh,makeArray:mu,removeAt:Yh,uniqBy:qh},Symbol.toStringTag,{value:"Module"})),ad=kt("MODEL"),ld=ql.create(Xl,{isController:!0,concatenatedProperties:["queryParams"],target:null,store:null,init(){this._super(...arguments);let t=ui(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(".[]"),r=-1===n?e:e.slice(0,n);(0,t._qpDelegate)(r,Cs(t,r))}});class cd extends(ih.extend(ld)){}function ud(...t){return Ls("controller",...t)}const hd=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:ld,default:cd,inject:ud},Symbol.toStringTag,{value:"Module"})),dd=Symbol("ENGINE_PARENT");function pd(t){return t[dd]}class fd extends(Mu.extend(Gl,Zl)){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 pu.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 r=n.buildInstance(e);return r[dd]=this,r}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",Ml`-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:r}=n;return void 0!==r&&(n.get=function(){let t,n=on(this,e),i=We(()=>{t=r.call(this)});return me(n,i),De(i),t}),n};function md(...t){if(xi(t)){let[e,n,r]=t;return gd(0,n,r)}{const e=t[0];let n=function(t,n){return gd(0,n,e)};return Ai(n),n}}Ai(md);var yd=Object.create;function vd(){var t=yd(null);return t.__=void 0,delete t.__,t}var bd=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};bd.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 wd=function(t){this.routes=vd(),this.children=vd(),this.target=t};function _d(t,e,n){return function(r,i){var s=t+r;if(!i)return new bd(s,e,n);i(_d(s,e,n))}}function xd(t,e,n){for(var r=0,i=0;i<t.length;i++)r+=t[i].path.length;var s={path:e=e.substr(r),handler:n};t.push(s)}function Cd(t,e,n,r){for(var i=e.routes,s=Object.keys(i),o=0;o<s.length;o++){var a=s[o],l=t.slice();xd(l,a,i[a]);var c=e.children[a];c?Cd(l,c,n,r):n.call(r,l)}}function Sd(t){return t.split("/").map(Ed).join("/")}wd.prototype.add=function(t,e){this.routes[t]=e},wd.prototype.addChild=function(t,e,n,r){var i=new wd(e);this.children[t]=i;var s=_d(t,i,r);r&&r.contextEntered&&r.contextEntered(e,s),n(s)};var kd=/%|\//g;function Ed(t){return t.length<3||-1===t.indexOf("%")?t:decodeURIComponent(t).replace(kd,encodeURIComponent)}var Td=/%(?:2(?:4|6|B|C)|3(?:B|D|A)|40)/g;function Rd(t){return encodeURIComponent(t).replace(Td,decodeURIComponent)}var Md=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\)/g,Ld=Array.isArray,Id=Object.prototype.hasOwnProperty;function Pd(t,e){if("object"!=typeof t||null===t)throw new Error("You must pass an object as the second argument to `generate`.");if(!Id.call(t,e))throw new Error("You must provide param `"+e+"` to `generate`.");var n=t[e],r="string"==typeof n?n:""+n;if(0===r.length)throw new Error("You must provide a param `"+e+"`.");return r}var Ad=[];Ad[0]=function(t,e){for(var n=e,r=t.value,i=0;i<r.length;i++){var s=r.charCodeAt(i);n=n.put(s,!1,!1)}return n},Ad[1]=function(t,e){return e.put(47,!0,!0)},Ad[2]=function(t,e){return e.put(-1,!1,!0)},Ad[4]=function(t,e){return e};var Od=[];Od[0]=function(t){return t.value.replace(Md,"\\$1")},Od[1]=function(){return"([^/]+)"},Od[2]=function(){return"(.+)"},Od[4]=function(){return""};var Fd=[];Fd[0]=function(t){return t.value},Fd[1]=function(t,e){var n=Pd(e,t.value);return Wd.ENCODE_AND_DECODE_PATH_SEGMENTS?Rd(n):n},Fd[2]=function(t,e){return Pd(e,t.value)},Fd[4]=function(){return""};var zd=Object.freeze({}),Dd=Object.freeze([]);function Nd(t,e,n){e.length>0&&47===e.charCodeAt(0)&&(e=e.substr(1));for(var r=e.split("/"),i=void 0,s=void 0,o=0;o<r.length;o++){var a,l,c=r[o];12&(a=2<<(l=""===c?4:58===c.charCodeAt(0)?1:42===c.charCodeAt(0)?2:0))&&(c=c.slice(1),(i=i||[]).push(c),(s=s||[]).push(!!(4&a))),14&a&&n[l]++,t.push({type:l,value:Ed(c)})}return{names:i||Dd,shouldDecodes:s||Dd}}function jd(t,e,n){return t.char===e&&t.negate===n}var Bd=function(t,e,n,r,i){this.states=t,this.id=e,this.char=n,this.negate=r,this.nextStates=i?e:null,this.pattern="",this._regex=void 0,this.handlers=void 0,this.types=void 0};function Ud(t,e){return t.negate?t.char!==e&&-1!==t.char:t.char===e||-1===t.char}function $d(t,e){for(var n=[],r=0,i=t.length;r<i;r++){var s=t[r];n=n.concat(s.match(e))}return n}Bd.prototype.regex=function(){return this._regex||(this._regex=new RegExp(this.pattern)),this._regex},Bd.prototype.get=function(t,e){var n=this.nextStates;if(null!==n)if(Ld(n))for(var r=0;r<n.length;r++){var i=this.states[n[r]];if(jd(i,t,e))return i}else{var s=this.states[n];if(jd(s,t,e))return s}},Bd.prototype.put=function(t,e,n){var r;if(r=this.get(t,e))return r;var i=this.states;return r=new Bd(i,i.length,t,e,n),i[i.length]=r,null==this.nextStates?this.nextStates=r.id:Ld(this.nextStates)?this.nextStates.push(r.id):this.nextStates=[this.nextStates,r.id],r},Bd.prototype.match=function(t){var e=this.nextStates;if(!e)return[];var n=[];if(Ld(e))for(var r=0;r<e.length;r++){var i=this.states[e[r]];Ud(i,t)&&n.push(i)}else{var s=this.states[e];Ud(s,t)&&n.push(s)}return n};var qd=function(t){this.length=0,this.queryParams=t||{}};function Vd(t){var e;t=t.replace(/\+/gm,"%20");try{e=decodeURIComponent(t)}catch(v5){e=""}return e}qd.prototype.splice=Array.prototype.splice,qd.prototype.slice=Array.prototype.slice,qd.prototype.push=Array.prototype.push;var Wd=function(){this.names=vd();var t=[],e=new Bd(t,0,-1,!0,!1);t[0]=e,this.states=t,this.rootState=e};function Hd(){let t=new Error("TransitionAborted");return t.name="TransitionAborted",t.code="TRANSITION_ABORTED",t}function Gd(t){if("object"==typeof(e=t)&&null!==e&&"boolean"==typeof e.isAborted&&t.isAborted)throw Hd();var e}Wd.prototype.add=function(t,e){for(var n,r=this.rootState,i="^",s=[0,0,0],o=new Array(t.length),a=[],l=!0,c=0,u=0;u<t.length;u++){for(var h=t[u],d=Nd(a,h.path,s),p=d.names,f=d.shouldDecodes;c<a.length;c++){var g=a[c];4!==g.type&&(l=!1,r=r.put(47,!1,!1),i+="/",r=Ad[g.type](g,r),i+=Od[g.type](g))}o[u]={handler:h.handler,names:p,shouldDecodes:f}}l&&(r=r.put(47,!1,!1),i+="/"),r.handlers=o,r.pattern=i+"$",r.types=s,"object"==typeof e&&null!==e&&e.as&&(n=e.as),n&&(this.names[n]={segments:a,handlers:o})},Wd.prototype.handlersFor=function(t){var e=this.names[t];if(!e)throw new Error("There is no route named "+t);for(var n=new Array(e.handlers.length),r=0;r<e.handlers.length;r++){var i=e.handlers[r];n[r]=i}return n},Wd.prototype.hasRoute=function(t){return!!this.names[t]},Wd.prototype.generate=function(t,e){var n=this.names[t],r="";if(!n)throw new Error("There is no route named "+t);for(var i=n.segments,s=0;s<i.length;s++){var o=i[s];4!==o.type&&(r+="/",r+=Fd[o.type](o,e))}return"/"!==r.charAt(0)&&(r="/"+r),e&&e.queryParams&&(r+=this.generateQueryString(e.queryParams)),r},Wd.prototype.generateQueryString=function(t){var e=[],n=Object.keys(t);n.sort();for(var r=0;r<n.length;r++){var i=n[r],s=t[i];if(null!=s){var o=encodeURIComponent(i);if(Ld(s))for(var a=0;a<s.length;a++){var l=i+"[]="+encodeURIComponent(s[a]);e.push(l)}else o+="="+encodeURIComponent(s),e.push(o)}}return 0===e.length?"":"?"+e.join("&")},Wd.prototype.parseQueryString=function(t){for(var e=t.split("&"),n={},r=0;r<e.length;r++){var i=e[r].split("="),s=Vd(i[0]),o=s.length,a=!1,l=void 0;1===i.length?l="true":(o>2&&"[]"===s.slice(o-2)&&(a=!0,n[s=s.slice(0,o-2)]||(n[s]=[])),l=i[1]?Vd(i[1]):""),a?n[s].push(l):n[s]=l}return n},Wd.prototype.recognize=function(t){var e,n=[this.rootState],r={},i=!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),r=this.parseQueryString(a)}"/"!==t.charAt(0)&&(t="/"+t);var l=t;Wd.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Sd(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),i=!0);for(var u=0;u<t.length&&(n=$d(n,t.charCodeAt(u))).length;u++);for(var h=[],d=0;d<n.length;d++)n[d].handlers&&h.push(n[d]);n=function(t){return t.sort(function(t,e){var n=t.types||[0,0,0],r=n[0],i=n[1],s=n[2],o=e.types||[0,0,0],a=o[0],l=o[1],c=o[2];if(s!==c)return s-c;if(s){if(r!==a)return a-r;if(i!==l)return l-i}return i!==l?i-l:r!==a?a-r:0})}(h);var p=h[0];return p&&p.handlers&&(i&&p.pattern&&"(.+)$"===p.pattern.slice(-5)&&(l+="/"),e=function(t,e,n){var r=t.handlers,i=t.regex();if(!i||!r)throw new Error("state not initialized");var s=e.match(i),o=1,a=new qd(n);a.length=r.length;for(var l=0;l<r.length;l++){var c=r[l],u=c.names,h=c.shouldDecodes,d=zd,p=!1;if(u!==Dd&&h!==Dd)for(var f=0;f<u.length;f++){p=!0;var g=u[f],m=s&&s[o++];d===zd&&(d={}),Wd.ENCODE_AND_DECODE_PATH_SEGMENTS&&h[f]?d[g]=m&&decodeURIComponent(m):d[g]=m}a[l]={handler:c.handler,params:d,isDynamic:p}}return a}(p,l,r)),e},Wd.VERSION="0.3.4",Wd.ENCODE_AND_DECODE_PATH_SEGMENTS=!0,Wd.Normalizer={normalizeSegment:Ed,normalizePath:Sd,encodePathSegment:Rd},Wd.prototype.map=function(t,e){var n=new wd;t(_d("",n,this.delegate)),Cd([],n,function(t){e?e(this,t):this.add(t)},this)};const Kd=Array.prototype.slice,Zd=Object.prototype.hasOwnProperty;function Yd(t,e){for(let n in e)Zd.call(e,n)&&(t[n]=e[n])}function Xd(t){let e,n,r=t&&t.length;if(r&&r>0){let i=t[r-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}(i))return n=i.queryParams,e=Kd.call(t,0,r-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<e;t++)n[t]=""+n[t]}}function Qd(t,...e){if(t.log)if(2===e.length){let[n,r]=e;t.log("Transition #"+n+": "+r)}else{let[n]=e;t.log(n)}}function tp(t){return"string"==typeof t||t instanceof String||"number"==typeof t||t instanceof Number}function ep(t,e){for(let n=0,r=t.length;n<r&&!1!==e(t[n]);n++);}function np(t,e){let n,r={all:{},changed:{},removed:{}};Yd(r.all,e);let i=!1;for(n in Jd(t),Jd(e),t)Zd.call(t,n)&&(Zd.call(e,n)||(i=!0,r.removed[n]=t[n]));for(n in e)if(Zd.call(e,n)){let s=t[n],o=e[n];if(rp(s)&&rp(o))if(s.length!==o.length)r.changed[n]=e[n],i=!0;else for(let t=0,a=s.length;t<a;t++)s[t]!==o[t]&&(r.changed[n]=e[n],i=!0);else t[n]!==e[n]&&(r.changed[n]=e[n],i=!0)}return i?r:void 0}function rp(t){return Array.isArray(t)}function ip(t){return"Router: "+t}const sp="__STATE__-2619860001345920-3322w3",op="__PARAMS__-261986232992830203-23323",ap="__QPS__-2619863929824844-32323",lp="__RDS__-2619863929824844-32323";class cp{constructor(t,e,n,r,i){if(this.from=null,this.to=void 0,this.isAborted=!1,this.isActive=!0,this.urlMethod="update",this.resolveIndex=0,this.queryParamsOnly=!1,this.isTransition=!0,this.isCausedByAbortingTransition=!1,this.isCausedByInitialTransition=!1,this.isCausedByAbortingReplaceTransition=!1,this._visibleQueryParams={},this.isIntermediate=!1,this[sp]=n||t.state,this.intent=e,this.router=t,this.data=e&&e.data||{},this.resolvedModels={},this[ap]={},this.promise=void 0,this.error=void 0,this[op]={},this.routeInfos=[],this.targetName=void 0,this.pivotHandler=void 0,this.sequence=-1,r)return this.promise=Mc.reject(r),void(this.error=r);if(this.isCausedByAbortingTransition=!!i,this.isCausedByInitialTransition=!!i&&(i.isCausedByInitialTransition||0===i.sequence),this.isCausedByAbortingReplaceTransition=!!i&&"replace"===i.urlMethod&&(!i.isCausedByAbortingTransition||i.isCausedByAbortingReplaceTransition),n){this[op]=n.params,this[ap]=n.queryParams,this.routeInfos=n.routeInfos;let e=n.routeInfos.length;e&&(this.targetName=n.routeInfos[e-1].name);for(let t=0;t<e;++t){let e=n.routeInfos[t];if(!e.isResolved)break;this.pivotHandler=e.route}this.sequence=t.currentSequence++,this.promise=n.resolve(this).catch(t=>{throw this.router.transitionDidError(t,this)},ip("Handle Abort"))}else this.promise=Mc.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,r,i){this.trigger(t,e,n,r,i)}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():Mc.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){Qd(this.router,this.sequence,t)}}function up(t){return Qd(t.router,t.sequence,"detected abort."),Hd()}function hp(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 r=`controller:${e}`;return t.register(r,n),t.factoryFor(r)}function fp(t,e){pp(t,e);let n=`controller:${e}`;return t.lookup(n)}const gp=/\./g;function mp(t){let e,n,r=(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}(r)?(t.pop(),e=r.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,r=e[e.length-1].name,i=t._routerMicrolib.recognizer.handlersFor(r);for(let s=0;s<e.length;++s){let t=e[s],r=i[s].names;r.length&&(n=t),t._names=r,t.route._stashNames(t,n)}e._namesStashed=!0}function vp(t,e){let n=t.split("."),r="";for(let i=0;i<n.length;i++){let t=n.slice(0,i+1).join(".");if(0!==e.indexOf(t))break;r=t}return r}function bp(t,e=[],n){let r="";for(let i of e){let e,s=vp(t,i);if(n)if(s&&s in n){let t=0===i.indexOf(s)?i.substring(s.length+1):i;e=Cs(n[s],t)}else e=Cs(n,i);r+=`::${i}:${e}`}return t+r.replace(gp,"-")}function wp(t,e){let n="string"==typeof t?{[t]:{as:null}}:t;for(let r in n){if(!Object.prototype.hasOwnProperty.call(n,r))return;let t=n[r],i="string"==typeof t?{as:t}:t,s={...e[r]||{as:null,scope:"model"},...i};e[r]=s}}function _p(t){return"string"==typeof t&&(""===t||"/"===t[0])}function xp(t,e){let n=0,r=0;for(let i in t)if(Object.prototype.hasOwnProperty.call(t,i)){if(t[i]!==e[i])return!1;n++}for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&r++;return n===r}const Cp=Symbol("render"),Sp=Symbol("render-state");class kp extends(Mu.extend(Xl,nh)){static isRouteFactory=!0;context={};_bucketCache;_internalName;_names;_router;constructor(t){if(super(t),t){let e=t.lookup("router:main"),n=t.lookup(Ml`-bucket-cache:main`);this._router=e,this._bucketCache=n,this._topLevelViewTemplate=t.lookup("template:-outlet"),this._environment=t.lookup("-environment:main")}}serialize(t,e){if(e.length<1||!t)return;let n={};if(1===e.length){let[r]=e;"object"==typeof t&&r in t?n[r]=Cs(t,r):/_id$/.test(r)?n[r]=Cs(t,"id"):ei(t)&&(n[r]=Cs(t,r))}else n=Js(t,e);return n}_setRouteName(t){this.routeName=t;let e=ui(this);this.fullRouteName=Lp(e,t)}_stashNames(t,e){if(this._names)return;let n=this._names=t._names;n.length||(n=(t=e)&&t._names||[]);let r=Cs(this,"_qp").qps,i=new Array(n.length);for(let s=0;s<n.length;++s)i[s]=`${t.name}.${n[s]}`;for(let s of r)"model"===s.scope&&(s.parts=i)}_activeQPChanged(t,e){this._router._activeQPChanged(t.scopedPropertyName,e)}_updatingQPChanged(t){this._router._updatingQPChanged(t.urlKey)}paramsFor(t){let e=ui(this).lookup(`route:${t}`);if(void 0===e)return{};let n=this._router._routerMicrolib.activeTransition,r=n?n[sp]:this._router._routerMicrolib.state,i=e.fullRouteName,s={...r.params[i]},o=Rp(e,r);return Object.entries(o).reduce((t,[e,n])=>(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=Cs(this,"queryParams");return Cs(e,t.urlKey)||Cs(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=Cs(this,"_qp").states.inactive,this.resetController(n,t,e)}enter(t){this[Sp]=void 0,this.activate(t),this.trigger("activate",t)}deactivate(t){}activate(t){}intermediateTransitionTo(...t){let[e,...n]=function(t,e){let n,r=ui(t),i=r.mountPoint;if(r.routable&&"string"==typeof e[0]){if(n=e[0],_p(n))throw new Error("Programmatic transitions by URL cannot be used within an Engine. Please use the route name instead.");n=`${i}.${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,r=this.controllerFor(n,!0)??this.generateController(n),i=Cs(this,"_qp");if(!this.controller){let t=i.propertyNames;!function(t,e){e.forEach(e=>{if(void 0===Li(t,e)){let n=vt(t,e);null===n||"function"!=typeof n.get&&"function"!=typeof n.set||ms(t,e,md({get:n.get,set:n.set}))}Hi(t,`${e}.[]`,t,t._qpChanged,!1)})}(r,t),this.controller=r}let s=i.states;if(r._qpDelegate=s.allowOverrides,e){yp(this._router,e[sp].routeInfos);let t=this._bucketCache,n=e[op];i.propertyNames.forEach(e=>{let s=i.map[e];s.values=n;let o=bp(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);Fs(r,e,a)});let s=Rp(this,e[sp]);Qs(r,s)}this.setupController(r,t,e),this._environment.options.shouldRender&&this[Cp](),ts(!1)}_qpChanged(t,e,n){if(!n)return;let r=this._bucketCache,i=bp(n.route.fullRouteName,n.parts,n.values);r.stash(i,t,e)}beforeModel(t){}afterModel(t,e){}redirect(t,e){}contextDidChange(){this.currentModel=this.context}model(t,e){let n,r,i=Cs(this,"_qp").map;for(let s in t){if("queryParams"===s||i&&s in i)continue;let t=s.match(/^(.*)_id$/);null!==t&&(n=t[1]),r=!0}if(!n){if(r)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&&Fs(t,"model",e)}controllerFor(t,e=!1){let n=ui(this),r=n.lookup(`route:${t}`);return r&&r.controllerName&&(t=r.controllerName),n.lookup(`controller:${t}`)}generateController(t){return fp(ui(this),t)}modelFor(t){let e,n=ui(this),r=this._router&&this._router._routerMicrolib?this._router._routerMicrolib.activeTransition:void 0;e=n.routable&&void 0!==r?Lp(n,t):t;let i=n.lookup(`route:${e}`);if(null!=r){let t=i&&i.routeName||e;if(Object.prototype.hasOwnProperty.call(r.resolvedModels,t))return r.resolvedModels[t]}return i?.currentModel}[Sp]=void 0;[Cp](){this[Sp]=function(t){let e,n=ui(t),r=t.routeName,i=n.lookup(`controller:${t.controllerName||r}`),s=t.currentModel,o=n.lookup(`template:${t.templateName||r}`);return e=o?zr(o)?o:o(n):t._topLevelViewTemplate(n),{owner:n,name:r,controller:i,model:s,template:e}}(this),xa(this._router,"_setOutlets")}willDestroy(){this.teardownViews()}teardownViews(){this[Sp]&&(this[Sp]=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=ui(this);return this.routeName,{find(e,n){let r=t.factoryFor(`model:${e}`);if(r)return r=r.class,r.find(n)}}}static{Th(this.prototype,"_store",[ps])}get _qp(){let t={},e=this.controllerName||this.routeName,n=ui(this),r=n.lookup(`controller:${e}`),i=Cs(this,"queryParams"),s=Object.keys(i).length>0;r?t=function(t,e){let n={},r={defaultValue:!0,type:!0,scope:!0,as:!0};for(let i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[i]={...t[i],...e[i]},r[i]=!0);for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&!r[i]&&(n[i]={...e[i],...t[i]});return n}(function(t){let e={};for(let n of t)wp(n,e);return e}(Cs(r,"queryParams")||[]),i):s&&(r=fp(n,e),t=i);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,i=t[c],s=i.scope||"model";"controller"===s&&(n=[]);let u=i.as||this.serializeQueryParamKey(c),h=Cs(r,c);h=Mp(h);let d=i.type||zh(h),p=this.serializeQueryParam(h,u,d),f=`${e}:${c}`,g={undecoratedDefaultValue:Cs(r,c),defaultValue:h,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:u,prop:c,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[c]=a[u]=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{Th(this.prototype,"_qp",[ps])}}function Ep(t){return t[Sp]}function Tp(t,e){if(e.fullQueryParams)return e.fullQueryParams;let n=e.routeInfos.every(t=>t.route),r={...e.queryParams};return t._deserializeQueryParams(e.routeInfos,r),n&&(e.fullQueryParams=r),r}function Rp(t,e){e.queryParamsFor=e.queryParamsFor||{};let n=t.fullRouteName,r=e.queryParamsFor[n];if(r)return r;let i=Tp(t._router,e),s=e.queryParamsFor[n]={},o=Cs(t,"_qp").qps;for(let a of o){let t=a.prop in i;s[a.prop]=t?i[a.prop]:Mp(a.defaultValue)}return s}function Mp(t){return Array.isArray(t)?sd(t.slice()):t}function Lp(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const Ip=kp.prototype.serialize;kp.reopen({mergedProperties:["queryParams"],queryParams:{},templateName:null,controllerName:null,send(...t){if(this._router&&this._router._routerMicrolib||!w())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 r=Cs(this,"_qp").map,i=Object.keys(t).concat(Object.keys(n));for(let s of i){let t=r[s];if(t&&Cs(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 r,i=n[sp].routeInfos,s=this._router,o=s._queryParamsFor(i),a=s._qpUpdates,l=!1;yp(s,i);for(let c of o.qps){let i,s,o=c.route,u=o.controller,h=c.urlKey in t&&c.urlKey;if(a.has(c.urlKey)?(i=Cs(u,c.prop),s=o.serializeQueryParam(i,c.urlKey,c.type)):h?(s=t[h],void 0!==s&&(i=o.deserializeQueryParam(s,c.urlKey,c.type))):(s=c.serializedDefaultValue,i=Mp(c.defaultValue)),u._qpDelegate=Cs(o,"_qp").states.inactive,s!==c.serializedValue){if(n.queryParamsOnly&&!1!==r){let t=Cs(o._optionsForQueryParam(c),"replace");t?r=!0:!1===t&&(r=!1)}Fs(u,c.prop,i),l=!0}c.serializedValue=s,c.serializedDefaultValue===s||e.push({value:s,visible:!0,key:h||c.urlKey})}!0===l&&ts(!1),r&&n.method("replace"),o.qps.forEach(t=>{let e=Cs(t.route,"_qp");t.route.controller._qpDelegate=Cs(e,"states.active")}),s._qpUpdates.clear()}}});class Pp{cache;constructor(){this.cache=new Map}has(t){return this.cache.has(t)}stash(t,e,n){let r=this.cache.get(t);void 0===r&&(r=new Map,this.cache.set(t,r)),r.set(e,n)}lookup(t,e,n){if(!this.has(t))return n;let r=this.cache.get(t);return r.has(e)?r.get(e):n}}let Ap=0;function Op(t){return"function"==typeof t}class Fp{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 r,i=null,s=`/_unused_dummy_error_path_route_${t}/:error`;if(Op(e)?(r={},i=e):Op(n)?(r=e,i=n):r=e||{},this.enableLoadingSubstates&&(Dp(this,`${t}_loading`,{resetNamespace:r.resetNamespace}),Dp(this,`${t}_error`,{resetNamespace:r.resetNamespace,path:s})),i){let e=zp(this,t,r.resetNamespace),n=new Fp(e,this.options);Dp(n,"loading"),Dp(n,"error",{path:s}),i.call(n),Dp(this,t,r,n.generate())}else Dp(this,t,r)}push(t,e,n,r){let i=e.split(".");if(this.options.engineInfo){let t=e.slice(this.options.engineInfo.fullName.length+1),n=Object.assign({localFullName:t},this.options.engineInfo);r&&(n.serializeMethod=r),this.options.addRouteForEngine(e,n)}else if(r)throw new Error(`Defining a route serializer on route '${e}' outside an Engine is not allowed.`);""!==t&&"/"!==t&&"index"!==i[i.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;n<t.length;n+=3)e(t[n]).to(t[n+1],t[n+2])}}mount(t,e={}){let n=this.options.resolveRouteMap(t),r=t;e.as&&(r=e.as);let i,s=zp(this,r,e.resetNamespace),o={name:t,instanceId:Ap++,mountPoint:s,fullName:s},a=e.path;"string"!=typeof a&&(a=`/${r}`);let l=`/_unused_dummy_error_path_route_${r}/:error`;if(n){let t=!1,e=this.options.engineInfo;e&&(t=!0,this.options.engineInfo=o);let r=Object.assign({engineInfo:o},this.options),a=new Fp(s,r);Dp(a,"loading"),Dp(a,"error",{path:l}),n.class.call(a),i=a.generate(),t&&(this.options.engineInfo=e)}let c=Object.assign({localFullName:"application"},o);if(this.enableLoadingSubstates){let t=`${r}_loading`,n="application_loading",i=Object.assign({localFullName:n},o);Dp(this,t,{resetNamespace:e.resetNamespace}),this.options.addRouteForEngine(t,i),t=`${r}_error`,n="application_error",i=Object.assign({localFullName:n},o),Dp(this,t,{resetNamespace:e.resetNamespace,path:l}),this.options.addRouteForEngine(t,i)}this.options.addRouteForEngine(s,c),this.push(a,s,i)}}function zp(t,e,n){return function(t){return"application"!==t.parent}(t)&&!0!==n?`${t.parent}.${e}`:e}function Dp(t,e,n={},r){let i=zp(t,e,n.resetNamespace);"string"!=typeof n.path&&(n.path=`/${e}`),t.push(n.path,i,r,n.serialize)}class Np{router;emberRouter;routerJsState;constructor(t,e,n){this.emberRouter=t,this.router=e,this.routerJsState=n}isActiveIntent(t,e,n){let r=this.routerJsState;if(!this.router.isActiveIntent(t,e,void 0,r))return!1;if(void 0!==n&&Object.keys(n).length>0){let i=Object.assign({},n);return this.emberRouter._prepareQueryParams(t,e,i),xp(i,r.queryParams)}return!0}}let jp=new WeakMap;function Bp(t,e={},n={includeAttributes:!1,localizeMapUpdates:!1}){const r=new WeakMap;return t.map((i,s)=>{let{name:o,params:a,paramNames:l,context:c,route:u}=i,h=i;if(jp.has(h)&&n.includeAttributes){let t=jp.get(h);t=function(t,e){let n={get metadata(){return $p(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(u,t);let e=Up(t,c);return r.set(h,t),n.localizeMapUpdates||jp.set(h,e),e}const d=n.localizeMapUpdates?r:jp;let p={find(e,n){let r,i=[];3===e.length&&(i=t.map(t=>d.get(t)));for(let s=0;t.length>s;s++)if(r=d.get(t[s]),e.call(n,r,s,i))return r},get name(){return o},get paramNames(){return l},get metadata(){return $p(i.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=Up(p,c)),r.set(i,p),n.localizeMapUpdates||jp.set(i,p),p})}function Up(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 $p(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class qp{constructor(t,e,n,r){this._routePromise=void 0,this._route=null,this.params={},this.isResolved=!1,this.name=e,this.paramNames=n,this.router=t,r&&this._processRoute(r)}getModel(t){return Mc.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return Mc.resolve(this.routePromise).then(e=>(Gd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>Gd(t)).then(()=>this.getModel(t)).then(e=>(Gd(t),e)).then(e=>this.runAfterModelHook(t,e)).then(e=>this.becomeResolved(t,e))}becomeResolved(t,e){let n,r=this.serialize(e);t&&(this.stashResolvedModel(t,e),t[op]=t[op]||{},t[op][this.name]=r);let i=e===this.context;!("context"in this)&&i||(n=e);let s=jp.get(this),o=new Vp(this.router,this.name,this.paramNames,r,this.route,n);return void 0!==s&&jp.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)),hp(e)&&(e=null),Mc.resolve(e)}runAfterModelHook(t,e){let n,r=this.name;var i;return this.stashResolvedModel(t,e),void 0!==this.route&&void 0!==this.route.afterModel&&(n=this.route.afterModel(e,t)),n=hp(i=n)?null:i,Mc.resolve(n).then(()=>t.resolvedModels[r])}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=Mc.resolve(t),function(t){return null!==t&&"object"==typeof t&&"function"==typeof t.then}(t)?(this.routePromise=this.routePromise.then(t=>this.updateRoute(t)),this.route=void 0):t?this.updateRoute(t):void 0}}class Vp extends qp{constructor(t,e,n,r,i,s){super(t,e,n,i),this.params=r,this.isResolved=!0,this.context=s}resolve(t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),Mc.resolve(this)}}class Wp extends qp{constructor(t,e,n,r,i){super(t,e,n,i),this.params={},r&&(this.params=r)}getModel(t){let e=this.params;t&&t[ap]&&(e={},Yd(e,this.params),e.queryParams=t[ap]);let n,r=this.route;return r.deserialize?n=r.deserialize(e,t):r.model&&(n=r.model(e,t)),n&&hp(n)&&(n=void 0),Mc.resolve(n)}}class Hp extends qp{constructor(t,e,n,r){super(t,e,n),this.context=r,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 r={};if(tp(t))return r[e[0]]=t,r;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 i=e[0];return/_id$/.test(i)?r[i]=t.id:r[i]=t,r}}class Gp{constructor(t,e={}){this.router=t,this.data=e}}function Kp(t,e,n){let r=t.routeInfos,i=e.resolveIndex>=r.length?r.length-1:e.resolveIndex,s=e.isAborted;throw new Jp(n,t.routeInfos[i].route,s,t)}function Zp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],r=Yp.bind(null,t,e);return n.resolve(e).then(r,null,t.promiseLabel("Proceed"))}function Yp(t,e,n){let r=t.routeInfos[e.resolveIndex].isResolved;if(t.routeInfos[e.resolveIndex++]=n,!r){let{route:t}=n;void 0!==t&&t.redirect&&t.redirect(n.context,e)}return Gd(e),Zp(t,e)}class Xp{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return ep(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),ip("'"+e+"': "+t)}resolve(t){let e=this.params;ep(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=Zp.bind(null,this,t),r=Kp.bind(null,this,t);return Mc.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(r,this.promiseLabel("Handle error")).then(()=>this)}}class Jp{constructor(t,e,n,r){this.error=t,this.route=e,this.wasAborted=n,this.state=r}}class Qp extends Gp{constructor(t,e,n,r=[],i={},s){super(t,s),this.preTransitionState=void 0,this.name=e,this.pivotHandler=n,this.contexts=r,this.queryParams=i}applyToState(t,e){let n=this.router.recognizer.handlersFor(this.name),r=n[n.length-1].handler;return this.applyToHandlers(t,n,r,e,!1)}applyToHandlers(t,e,n,r,i){let s,o,a=new Xp,l=this.contexts.slice(0),c=e.length;if(this.pivotHandler)for(s=0,o=e.length;s<o;++s)if(e[s].handler===this.pivotHandler._internalName){c=s;break}for(s=e.length-1;s>=0;--s){let o=e[s],u=o.handler,h=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=c?this.createParamHandlerInfo(u,o.names,l,h):this.getHandlerInfoForDynamicSegment(u,o.names,l,h,n,s):this.createParamHandlerInfo(u,o.names,l,h),i){d=d.becomeResolved(null,d.context);let t=h&&h.context;o.names.length>0&&void 0!==h.context&&d.context===t&&(d.params=h&&h.params),d.context=t}let p=h;(s>=c||d.shouldSupersede(h))&&(c=Math.min(s,c),p=d),r&&!i&&(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 r||this.invalidateChildren(a.routeInfos,c),Yd(a.queryParams,this.queryParams||{}),r&&t.queryParams&&Yd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,r=t.length;n<r;++n)if(t[n].isResolved){let{name:e,params:r,route:i,paramNames:s}=t[n];t[n]=new Wp(this.router,e,s,r,i)}}getHandlerInfoForDynamicSegment(t,e,n,r,i,s){let o;if(n.length>0){if(o=n[n.length-1],tp(o))return this.createParamHandlerInfo(t,e,n,r);n.pop()}else{if(r&&r.name===t)return r;if(!this.preTransitionState)return r;{let t=this.preTransitionState.routeInfos[s];o=null==t?void 0:t.context}}return new Hp(this.router,t,e,o)}createParamHandlerInfo(t,e,n,r){let i={},s=e.length,o=[];for(;s--;){let a=r&&t===r.name&&r.params||{},l=n[n.length-1],c=e[s];tp(l)?i[c]=""+n.pop():a.hasOwnProperty(c)?i[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 Wp(this.router,t,e,i)}}class tf extends Gp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,r=new Xp,i=this.router.recognizer.recognize(this.url);if(!i)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=i.length;e<n;++e){let n=i[e],o=n.handler,l=[];this.router.recognizer.hasRoute(o)&&(l=this.router.recognizer.handlersFor(o)[e].names);let c=new Wp(this.router,o,l,n.params),u=c.route;u?a(u):c.routePromise=c.routePromise.then(a);let h=t.routeInfos[e];s||c.shouldSupersede(h)?(s=!0,r.routeInfos[e]=c):r.routeInfos[e]=h}return Yd(r.queryParams,i.queryParams),r}}let ef=class{constructor(t){this._lastQueryParams={},this.state=void 0,this.oldState=void 0,this.activeTransition=void 0,this.currentRouteInfos=void 0,this._changedQueryParams=void 0,this.currentSequence=0,this.log=t,this.recognizer=new Wd,this.reset()}map(t){this.recognizer.map(t,function(t,e){for(let n=e.length-1,r=!0;n>=0&&r;--n){let i=e[n],s=i.handler;t.add(e,{as:s}),r="/"===i.path||""===i.path||".index"===s.slice(-6)}})}hasRoute(t){return this.recognizer.hasRoute(t)}queryParamsTransition(t,e,n,r){if(this.fireQueryParamDidChange(r,t),!e&&this.activeTransition)return this.activeTransition;{let t=new cp(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(r.routeInfos,r.queryParams,t),t[ap]=r.queryParams,this.toReadOnlyInfos(t,r),this.routeWillChange(t),t.promise=t.promise.then(e=>(t.isAborted||(this._updateURL(t,n),this.didTransition(this.currentRouteInfos),this.toInfos(t,r.routeInfos,!0),this.routeDidChange(t)),e),null,ip("Transition complete")),t}}transitionByIntent(t,e){try{return this.getTransitionByIntent(t,e)}catch(ej){return new cp(this,t,void 0,ej,void 0)}}recognize(t){let e=new tf(this,t),n=this.generateNewState(e);if(null===n)return n;let r=Bp(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return r[r.length-1]}recognizeAndLoad(t){let e=new tf(this,t),n=this.generateNewState(e);if(null===n)return Mc.reject(`URL ${t} was not recognized`);let r=new cp(this,e,n,void 0);return r.then(()=>{let t=Bp(n.routeInfos,r[ap],{includeAttributes:!0,localizeMapUpdates:!1});return t[t.length-1]})}generateNewState(t){try{return t.applyToState(this.state,!1)}catch(ej){return null}}getTransitionByIntent(t,e){let n,r=!!this.activeTransition,i=r?this.activeTransition[sp]:this.state,s=t.applyToState(i,e),o=np(i.queryParams,s.queryParams);if(nf(s.routeInfos,i.routeInfos)){if(o){let t=this.queryParamsTransition(o,r,i,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,r=t.length;n<r;++n){if(t[n].name!==e[n].name)return!1;if(!rf(t[n].params,e[n].params))return!1}return!0}(s.routeInfos,i.routeInfos)&&(n.queryParamsOnly=!0),this.toReadOnlyInfos(n,s),this.activeTransition&&this.activeTransition.redirect(n),this.activeTransition=n,n.promise=n.promise.then(t=>this.finalizeTransition(n,t),null,ip("Settle transition promise when transition is finalized")),r||this.notifyExistingHandlers(s,n),this.fireQueryParamDidChange(s,o),n}doTransition(t,e=[],n=!1){let r,i=e[e.length-1],s={};if(i&&Object.prototype.hasOwnProperty.call(i,"queryParams")&&(s=e.pop().queryParams),void 0===t){Qd(this,"Updating query params");let{routeInfos:t}=this.state;r=new Qp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(Qd(this,"Attempting URL transition to "+t),r=new tf(this,t)):(Qd(this,"Attempting transition to "+t),r=new Qp(this,t,void 0,e,s));return this.transitionByIntent(r,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,Mc.reject(up(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(ej){if("object"!=typeof(n=ej)||null===n||"TRANSITION_ABORTED"!==n.code){let n=t[sp].routeInfos;t.trigger(!0,"error",ej,t,n[n.length-1].route),t.abort()}throw ej}var n}setupContexts(t,e){let n,r,i,s=this.partitionRoutes(this.state,t);for(n=0,r=s.exited.length;n<r;n++)i=s.exited[n].route,delete i.context,void 0!==i&&(void 0!==i._internalReset&&i._internalReset(!0,e),void 0!==i.exit&&i.exit(e));let o=this.oldState=this.state;this.state=t;let a=this.currentRouteInfos=s.unchanged.slice();try{for(n=0,r=s.reset.length;n<r;n++)i=s.reset[n].route,void 0!==i&&void 0!==i._internalReset&&i._internalReset(!1,e);for(n=0,r=s.updatedContext.length;n<r;n++)this.routeEnteredOrUpdated(a,s.updatedContext[n],!1,e);for(n=0,r=s.entered.length;n<r;n++)this.routeEnteredOrUpdated(a,s.entered[n],!0,e)}catch(ej){throw this.state=o,this.currentRouteInfos=o.routeInfos,ej}this.state.queryParams=this.finalizeQueryParamChange(a,t.queryParams,e)}fireQueryParamDidChange(t,e){e&&(this._changedQueryParams=e.all,this.triggerEvent(t.routeInfos,!0,"queryParamsDidChange",[e.changed,e.all,e.removed]),this._changedQueryParams=void 0)}routeEnteredOrUpdated(t,e,n,r){let i=e.route,s=e.context;function o(i){return n&&void 0!==i.enter&&i.enter(r),Gd(r),i.context=s,void 0!==i.contextDidChange&&i.contextDidChange(),void 0!==i.setup&&i.setup(s,r),Gd(r),t.push(e),i}return void 0===i?e.routePromise=e.routePromise.then(o):o(i),!0}partitionRoutes(t,e){let n,r,i,s=t.routeInfos,o=e.routeInfos,a={updatedContext:[],exited:[],entered:[],unchanged:[],reset:[]},l=!1;for(r=0,i=o.length;r<i;r++){let t=s[r],e=o[r];t&&t.route===e.route||(n=!0),n?(a.entered.push(e),t&&a.exited.unshift(t)):l||t.context!==e.context?(l=!0,a.updatedContext.push(e)):a.unchanged.push(t)}for(r=o.length,i=s.length;r<i;r++)a.exited.unshift(s[r]);return a.reset=a.updatedContext.slice(),a.reset.reverse(),a}_updateURL(t,e){let n=t.urlMethod;if(!n)return;let{routeInfos:r}=e,{name:i}=r[r.length-1],s={};for(let o=r.length-1;o>=0;--o){let t=r[o];Yd(s,t.params),t.route.inaccessibleByURL&&(n=null)}if(n){s.queryParams=t._visibleQueryParams||e.queryParams;let r=this.recognizer.generate(i,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(r):this.updateURL(r)}}finalizeQueryParamChange(t,e,n){for(let s in e)e.hasOwnProperty(s)&&null===e[s]&&delete e[s];let r=[];this.triggerEvent(t,!0,"finalizeQueryParamChange",[e,r,n]),n&&(n._visibleQueryParams={});let i={};for(let s=0,o=r.length;s<o;++s){let t=r[s];i[t.key]=t.value,n&&!1!==t.visible&&(n._visibleQueryParams[t.key]=t.value)}return i}toReadOnlyInfos(t,e){let n=this.state.routeInfos;this.fromInfos(t,n),this.toInfos(t,e.routeInfos),this._lastQueryParams=e.queryParams}fromInfos(t,e){if(void 0!==t&&e.length>0){let n=Bp(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 r=Bp(e,Object.assign({},t[ap]),{includeAttributes:n,localizeMapUpdates:!1});t.to=r[r.length-1]||null}}notifyExistingHandlers(t,e){let n,r,i,s,o=this.state.routeInfos;for(r=o.length,n=0;n<r&&(i=o[n],s=t.routeInfos[n],s&&i.name===s.name);n++)s.isResolved;this.triggerEvent(o,!0,"willTransition",[e]),this.routeWillChange(e),this.willTransition(o,t.routeInfos,e)}reset(){this.state&&ep(this.state.routeInfos.slice().reverse(),function(t){let e=t.route;return void 0!==e&&void 0!==e.exit&&e.exit(),!0}),this.oldState=void 0,this.state=new Xp,this.currentRouteInfos=void 0}handleURL(t){return"/"!==t.charAt(0)&&(t="/"+t),this.doTransition(t).method(null)}transitionTo(t,...e){return"object"==typeof t?(e.push(t),this.doTransition(void 0,e,!1)):this.doTransition(t,e)}intermediateTransitionTo(t,...e){return this.doTransition(t,e,!0)}refresh(t){let e=this.activeTransition,n=e?e[sp]:this.state,r=n.routeInfos;void 0===t&&(t=r[0].route),Qd(this,"Starting a refresh transition");let i=r[r.length-1].name,s=new Qp(this,i,t,[],this._changedQueryParams||n.queryParams),o=this.transitionByIntent(s,!1);return e&&"replace"===e.urlMethod&&o.method(e.urlMethod),o}replaceWith(t){return this.doTransition(t).method("replace")}generate(t,...e){let n=Xd(e),r=n[0],i=n[1],s=new Qp(this,t,void 0,r).applyToState(this.state,!1),o={};for(let a=0,l=s.routeInfos.length;a<l;++a)Yd(o,s.routeInfos[a].serialize());return o.queryParams=i,this.recognizer.generate(t,o)}applyIntent(t,e){let n=new Qp(this,t,void 0,e),r=this.activeTransition&&this.activeTransition[sp]||this.state;return n.applyToState(r,!1)}isActiveIntent(t,e,n,r){let i,s,o=r||this.state,a=o.routeInfos;if(!a.length)return!1;let l=a[a.length-1].name,c=this.recognizer.handlersFor(l),u=0;for(s=c.length;u<s&&(i=a[u],i.name!==t);++u);if(u===c.length)return!1;let h=new Xp;h.routeInfos=a.slice(0,u+1),c=c.slice(0,u+1);let d=nf(new Qp(this,l,void 0,e).applyToHandlers(h,c,l,!0,!0).routeInfos,h.routeInfos);if(!n||!d)return d;let p={};Yd(p,n);let f=o.queryParams;for(let g in f)f.hasOwnProperty(g)&&p.hasOwnProperty(g)&&(p[g]=f[g]);return d&&!np(p,n)}isActive(t,...e){let[n,r]=Xd(e);return this.isActiveIntent(t,n,r)}trigger(t,...e){this.triggerEvent(this.currentRouteInfos,!1,t,e)}};function nf(t,e){if(t.length!==e.length)return!1;for(let n=0,r=t.length;n<r;++n)if(t[n]!==e[n])return!1;return!0}function rf(t,e){if(t===e)return!0;if(!t||!e)return!1;let n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0,s=n.length;i<s;++i){let r=n[i];if(t[r]!==e[r])return!1}return!0}function sf(){return this}const{slice:of}=Array.prototype;class af extends(Mu.extend(nh)){_routerMicrolib;_didSetupRouter=!1;_initialTransitionStarted=!1;currentURL=null;currentRouteName=null;currentPath=null;currentRoute=null;_qpCache=Object.create(null);_qpUpdates=new Set;_queuedQPChanges={};_bucketCache;_toplevelView=null;_handledErrors=new Set;_engineInstances=Object.create(null);_engineInfoByRoute=Object.create(null);_routerService;_slowTransitionTimer=null;namespace;static dslCallbacks;static map(t){return this.dslCallbacks||(this.dslCallbacks=[],this.reopenClass({dslCallbacks:this.dslCallbacks})),this.dslCallbacks.push(t),this}static _routePath(t){let e,n,r,i=[];function s(t,e){for(let n=0;n<t.length;++n)if(t[n]!==e[n])return!1;return!0}for(let o=1;o<t.length;o++){for(e=t[o].name,n=e.split("."),r=of.call(i);r.length&&!s(r,n);)r.shift();i.push(...n.slice(r.length))}return i.join(".")}constructor(t){super(t),this._resetQueuedQueryParameterChanges(),this.namespace=t.lookup("application:main");let e=t.lookup(Ml`-bucket-cache:main`);this._bucketCache=e;let n=t.lookup("service:router");this._routerService=n}_initRouterJs(){let t=Cs(this,"location"),e=this;const n=al(this);let r=Object.create(null),i=this._routerMicrolib=new class extends ef{getRoute(t){let i=t,s=n,o=e._engineInfoByRoute[i];o&&(s=e._getEngineInstance(o),i=o.localFullName);let a=`route:${i}`,l=s.lookup(a);if(r[t])return l;if(r[t]=!0,!l){let t=s.factoryFor("route:basic").class;s.register(a,class extends t{}),l=s.lookup(a)}if(l._setRouteName(i),o&&!function(t){return t.serialize===Ip}(l))throw new Error("Defining a custom serialize method on an Engine route is not supported.");return l}getSerializer(t){let n=e._engineInfoByRoute[t];if(n)return n.serializeMethod||Ip}updateURL(n){xa(()=>{t.setURL(n),Fs(e,"currentURL",n)})}didTransition(t){e.didTransition(t)}willTransition(t,n){e.willTransition(t,n)}triggerEvent(t,n,r,i){return pf.bind(e)(t,n,r,i)}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?up(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),Fs(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;t<s.length;t++)s[t].call(this)}),i.map(o.generate())}_buildDSL(){let t=this._hasModuleBasedResolver(),e=this;const n=al(this);let r={enableLoadingSubstates:t,resolveRouteMap:t=>n.factoryFor(`route-map:${t}`),addRouteForEngine(t,n){e._engineInfoByRoute[t]||(e._engineInfoByRoute[t]=n)}};return new Fp(null,r)}_resetQueuedQueryParameterChanges(){this._queuedQPChanges={}}_hasModuleBasedResolver(){let t=Cs(al(this),"application.__registry__.resolver.moduleBasedResolver");return Boolean(t)}startRouting(){if(this.setupRouter()){let t=Cs(this,"initialURL");void 0===t&&(t=Cs(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=Cs(this,"location");return!Cs(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 r of t){let t=Ep(r.route);if(!t)break;{let r={render:t,outlets:{main:void 0}};n?n.outlets.main=r:e=r,n=r}}if(null!==e)if(this._toplevelView)this._toplevelView.setOutletState(e);else{let t=al(this),n=t.factoryFor("view:-outlet"),r=t.lookup("application:main"),i=t.lookup("-environment:main"),s=t.lookup("template:-outlet");this._toplevelView=n.create({environment:i,template:s,application:r}),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(_p(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:r}=mp(t);return this._doTransition(e,n,r)}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=Fs(this,"location",n.lookup(`location:${t}`))),null!==t&&"object"==typeof t&&(e&&Fs(t,"rootURL",e),"function"==typeof t.initState&&t.initState())}_serializeQueryParams(t,e){yf(this,t,e,(t,n,r)=>{if(r)delete e[t],e[r.urlKey]=r.route.serializeQueryParam(n,r.urlKey,r.type);else{if(void 0===n)return;e[t]=this._serializeQueryParam(n,zh(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){yf(this,t,e,(t,n,r)=>{r&&(delete e[t],e[r.prop]=r.route.deserializeQueryParam(n,r.urlKey,r.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 r in e){let t=n.map[r];t&&t.serializedDefaultValue===e[r]&&delete e[r]}}_doTransition(t,e,n,r){let i=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(i,e,s,n),Object.assign(s,n),this._prepareQueryParams(i,e,s,Boolean(r));let o=this._routerMicrolib.transitionTo(i,...e,{queryParams:s});return mf(o,this),o}_processActiveTransitionQueryParams(t,e,n,r){if(!this._routerMicrolib.activeTransition)return;let i={},s=this._qpUpdates,o=Tp(this,this._routerMicrolib.activeTransition[sp]);for(let a in o)s.has(a)||(i[a]=o[a]);this._fullyScopeQueryParams(t,e,r),this._fullyScopeQueryParams(t,e,i),Object.assign(n,i)}_prepareQueryParams(t,e,n,r){let i=ff(this,t,e);this._hydrateUnsuppliedQueryParams(i,n,Boolean(r)),this._serializeQueryParams(i.routeInfos,n),r||this._pruneDefaultQueryParamValues(i.routeInfos,n)}_getQPMeta(t){let e=t.route;return e&&Cs(e,"_qp")}_queryParamsFor(t){let e=t[t.length-1].name,n=this._qpCache[e];if(void 0!==n)return n;let r,i=!0,s={},o=[];for(let l of t)if(r=this._getQPMeta(l),r){for(let t of r.qps)o.push(t);Object.assign(s,r.map)}else i=!1;let a={qps:o,map:s};return i&&(this._qpCache[e]=a),a}_fullyScopeQueryParams(t,e,n){let r,i=ff(this,t,e).routeInfos;for(let s of i)if(r=this._getQPMeta(s),r)for(let t of r.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 r,i,s,o=t.routeInfos,a=this._bucketCache;for(let l of o)if(r=this._getQPMeta(l),r)for(let n=0,o=r.qps.length;n<o;++n)if(i=r.qps[n],s=i.prop in e&&i.prop||i.scopedPropertyName in e&&i.scopedPropertyName||i.urlKey in e&&i.urlKey,s)s!==i.scopedPropertyName&&(e[i.scopedPropertyName]=e[s],delete e[s]);else{let n=bp(i.route.fullRouteName,i.parts,t.params);e[i.scopedPropertyName]=a.lookup(n,i.prop,i.defaultValue)}}_scheduleLoadingEvent(t,e){this._cancelSlowTransitionTimer(),this._slowTransitionTimer=Ca("routerTransitions",this,this._handleSlowTransition,t,e)}currentState=null;targetState=null;_handleSlowTransition(t,e){if(!this._routerMicrolib.activeTransition)return;let n=new Np(this,this._routerMicrolib,this._routerMicrolib.activeTransition[sp]);this.set("targetState",n),t.trigger(!0,"loading",t,e)}_cancelSlowTransitionTimer(){this._slowTransitionTimer&&ka(this._slowTransitionTimer),this._slowTransitionTimer=null}_markErrorAsHandled(t){this._handledErrors.add(t)}_isErrorHandled(t){return this._handledErrors.has(t)}_clearHandledError(t){this._handledErrors.delete(t)}_getEngineInstance({name:t,instanceId:e,mountPoint:n}){let r=this._engineInstances,i=r[t];i||(i=Object.create(null),r[t]=i);let s=i[e];return s||(s=al(this).buildChildEngineInstance(t,{routable:!0,mountPoint:n}),s.boot(),i[e]=s),s}}function lf(t,e){for(let n=t.length-1;n>=0;--n){let r=t[n],i=r.route;if(void 0!==i&&!0!==e(i,r))return}}let cf={willResolveModel(t,e,n){this._scheduleLoadingEvent(e,n)},error(t,e,n){let r=this,i=t[t.length-1];lf(t,(t,n)=>{if(n!==i){let n=hf(t,"error");if(n)return r._markErrorAsHandled(e),r.intermediateTransitionTo(n,e),!1}let s=uf(t,"error");return!s||(r._markErrorAsHandled(e),r.intermediateTransitionTo(s,e),!1)}),function(t,e){let n,r=[];n=t&&"object"==typeof t&&"object"==typeof t.errorThrown?t.errorThrown:t,e&&r.push(e),n&&(n.message&&r.push(n.message),n.stack&&r.push(n.stack),"string"==typeof n&&r.push(n)),console.error(...r)}(e,`Error while processing route: ${n.targetName}`)},loading(t,e){let n=this,r=t[t.length-1];lf(t,(t,i)=>{if(i!==r){let e=hf(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=uf(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function uf(t,e){let n=al(t),{routeName:r,fullRouteName:i,_router:s}=t,o=`${i}_${e}`;return df(n,s,`${r}_${e}`,o)?o:""}function hf(t,e){let n=al(t),{routeName:r,fullRouteName:i,_router:s}=t,o="application"===i?e:`${i}.${e}`;return df(n,s,"application"===r?e:`${r}.${e}`,o)?o:""}function df(t,e,n,r){let i=e.hasRoute(r),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return i&&s}function pf(t,e,n,r){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 i,s,o,a=!1;for(let c=t.length-1;c>=0;c--)if(i=t[c],s=i.route,o=s&&s.actions&&s.actions[n],o){if(!0!==o.apply(s,r))return void("error"===n&&s._router._markErrorAsHandled(r[0]));a=!0}let l=cf[n];if(l)l.call(this,t,...r);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 r=t._routerMicrolib.applyIntent(e,n),{routeInfos:i,params:s}=r;for(let o of i)o.isResolved?s[o.name]=o.params:s[o.name]=o.serialize(o.context);return r}function gf(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=af._routePath(e),r=e[e.length-1].name,i=t.location.getURL();Fs(t,"currentPath",n),Fs(t,"currentRouteName",r),Fs(t,"currentURL",i)}function mf(t,e){let n=new Np(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,r){let i=t._queryParamsFor(e);for(let s in n)Object.prototype.hasOwnProperty.call(n,s)&&r(s,n[s],i.map[s])}function vf(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=Cs(this,"location");if("string"!=typeof t)return t.getURL()})});class bf extends Mu{_hashchangeHandler;_location;init(){this.location=this._location??window.location,this._hashchangeHandler=void 0}getHash(){return vf(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=ba(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 wf=!1;function _f(){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 Mu{history;_previousURL;_popstateHandler;rootURL="/";getHash(){return vf(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,r=t.pathname;e=e.replace(/\/$/,""),n=n.replace(/\/$/,"");let i=r.replace(new RegExp(`^${n}(?=/|$)`),"").replace(new RegExp(`^${e}(?=/|$)`),"").replace(/\/\//g,"/");return i+=(t.search||"")+this.getHash(),i}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:_f()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:_f()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(wf||(wf=!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 Cf extends Mu{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 Sf(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=Cs(t,"size");if("number"==typeof e)return!e;let n=Cs(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}function Ef(t){return Ns(t).readOnly()}Cf.reopen({path:"",rootURL:"/"});const Tf=/[ _]/g,Rf=new si(1e3,t=>{return(e=t,Of.get(e)).replace(Tf,"-");var e}),Mf=/^(-|_)+(.)?/,Lf=/(.)(-|_|\.|\s)+(.)?/g,If=/(^|\/|\.)([a-z])/g,Pf=new si(1e3,t=>{let e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,r)=>e+(r?r.toUpperCase():""),r=t.split("/");for(let i=0;i<r.length;i++)r[i]=r[i].replace(Mf,e).replace(Lf,n);return r.join("/").replace(If,t=>t.toUpperCase())}),Af=/([a-z\d])([A-Z])/g,Of=new si(1e3,t=>t.replace(Af,"$1_$2").toLowerCase());function Ff(t){return Rf.get(t)}function zf(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let Df=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??oi);function Nf(t){return function(t,e=Df){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function jf(t){return{options:t,test:!zf(t),isEnabled:zf(t)||Nf(t),isRemoved:Nf(t)}}const Bf={DEPRECATE_IMPORT_EMBER:t=>jf({id:`deprecate-import-${Ff(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-${Ff(t).toLowerCase()}-from-ember`}),DEPRECATE_IMPORT_INJECT:jf({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:jf({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 Uf(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 $f(...t){return Ls("service",...t)}class qf extends ih{static isServiceFactory=!0}const Vf=Object.freeze(Object.defineProperty({__proto__:null,default:qf,inject:function(...t){return Uf("Importing `inject` from `@ember/service` is deprecated. Please import `service` instead.",Bf.DEPRECATE_IMPORT_INJECT),Ls("service",...t)},service:$f},Symbol.toStringTag,{value:"Module"})),Wf=Symbol("ROUTER");function Hf(t,e){return"/"===e?t:t.substring(e.length)}class Gf extends(qf.extend(nh)){[Wf];get _router(){let t=this[Wf];if(void 0!==t)return t;let e=ui(this).lookup("router:main");return this[Wf]=e}willDestroy(){super.willDestroy(),this[Wf]=void 0}transitionTo(...t){if(_p(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:r}=mp(t);return this._router._doTransition(e,n,r,!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:r}=mp(t);this._router.setupRouter();let i=this._router._routerMicrolib;if(De(on(this._router,"currentURL")),!i.isActiveIntent(e,n))return!1;if(Object.keys(r).length>0){let t=e;r=Object.assign({},r),this._router._prepareQueryParams(t,n,r,!0);let s=Object.assign({},i.state.queryParams);return this._router._prepareQueryParams(t,n,s,!0),xp(r,s)}return!0}recognize(t){this._router.setupRouter();let e=Hf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=Hf(t,this.rootURL);return this._router._routerMicrolib.recognizeAndLoad(e)}refresh(t){if(!t)return this._router._routerMicrolib.refresh();let e=ui(this).lookup(`route:${t}`);return this._router._routerMicrolib.refresh(e)}static{kh(this.prototype,"currentRouteName",[Ef("_router.currentRouteName")])}#c=void Rh(this,"currentRouteName");static{kh(this.prototype,"currentURL",[Ef("_router.currentURL")])}#u=void Rh(this,"currentURL");static{kh(this.prototype,"location",[Ef("_router.location")])}#h=void Rh(this,"location");static{kh(this.prototype,"rootURL",[Ef("_router.rootURL")])}#d=void Rh(this,"rootURL");static{kh(this.prototype,"currentRoute",[Ef("_router.currentRoute")])}#p=void Rh(this,"currentRoute")}class Kf extends qf{[Wf];get router(){let t=this[Wf];if(void 0!==t)return t;let e=ui(this).lookup("router:main");return e.setupRouter(),this[Wf]=e}hasRoute(t){return this.router.hasRoute(t)}transitionTo(t,e,n,r){let i=this.router._doTransition(t,e,n);return r&&i.method("replace"),i}normalizeQueryParams(t,e,n){this.router._prepareQueryParams(t,e,n)}_generateURL(t,e,n){let r={};return n&&(Object.assign(r,n),this.normalizeQueryParams(t,e,r)),this.router.generate(t,...e,{queryParams:r})}generateURL(t,e,n){if(this.router._initialTransitionStarted)return this._generateURL(t,e,n);try{return this._generateURL(t,e,n)}catch(r){return}}isActiveForRoute(t,e,n,r){let i=this.router._routerMicrolib.recognizer.handlersFor(n),s=i[i.length-1].handler,o=function(t,e){let n=0;for(let r=0;r<e.length&&(n+=e[r].names.length,e[r].handler!==t);r++);return n}(n,i);return t.length>o&&(n=s),r.isActiveIntent(n,t,e)}}Kf.reopen({targetState:Ef("router.targetState"),currentState:Ef("router.currentState"),currentRouteName:Ef("router.currentRouteName"),currentPath:Ef("router.currentPath")});class Zf{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 r=t|e|arguments.length-2<<8;this.buffer.push(r);for(const i of n)this.buffer.push(i);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 Yf=32,Xf=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===Xf||n===Yf||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),rg=Qf(35);function ig(t,e,n,r){let{symbols:{upvars:i}}=n,s=i[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return r.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:r,target:i}of e){let e=n[i]-r;t.getbyaddr(r),t.setbyaddr(r,e)}}constructor(){this.labels=vn(),this.targets=[]}}function ug(t,e,n,r){let{program:{constants:i},resolver:s}=e;if(function(t){return t<1e3}(r[0])){let[e,...n]=r;t.push(i,e,...n)}else switch(r[0]){case 1e3:return t.label(r[1]);case 1001:return t.startLabels();case 1002:return t.stopLabels();case 1004:return function(t,e,n,[,r,i]){if(tg(r),r[0]===Yf){let{scopeValues:t,owner:s,symbols:{lexical:o}}=n,a=t[r[1]];i(e.component(a,s,!1,o?.at(r[1])))}else{let{symbols:{upvars:s},owner:o}=n,a=s[r[1]],l=t?.lookupComponent?.(a,o)??null;i(e.resolvedComponent(l,a))}}(s,i,n,r);case 1003:return function(t,e,n,[,r,i]){eg(r);let s=r[0];if(s===Yf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[r[1]];i(e.modifier(o,s?.at(r[1])??void 0))}else if(s===Xf){let{symbols:{upvars:s}}=n,o=s[r[1]],a=t?.lookupBuiltInModifier?.(o)??null;i(e.modifier(a,o))}else{let{symbols:{upvars:s},owner:o}=n,a=s[r[1]],l=t?.lookupModifier?.(a,o)??null;i(e.modifier(l))}}(s,i,n,r);case 1005:return function(t,e,n,[,r,i]){ng(r);let s=r[0];if(s===Yf){let{scopeValues:t}=n,s=t[r[1]];i(e.helper(s))}else if(s===Xf)i(ig(r,t,n,e));else{let{symbols:{upvars:s},owner:o}=n,a=s[r[1]],l=t?.lookupHelper?.(a,o)??null;i(e.helper(l,a))}}(s,i,n,r);case 1007:return function(t,e,n,[,r,{ifComponent:i,ifHelper:s}]){rg(r);let o=r[0];if(o===Yf){let{scopeValues:t,owner:o,symbols:{lexical:a}}=n,l=t[r[1]],c=e.component(l,o,!0,a?.at(r[1]));if(null!==c)return void i(c);s(e.helper(l,null,!0))}else if(o===Xf)s(ig(r,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[r[1]],c=t?.lookupComponent?.(l,a)??null;if(null!==c)i(e.resolvedComponent(c,l));else{let n=t?.lookupHelper?.(l,a)??null;s(e.helper(n,l))}}}(s,i,n,r);case 1008:return function(t,e,n,[,r,{ifComponent:i,ifHelper:s,ifValue:o}]){rg(r);let a=r[0];if(a===Yf){let{scopeValues:t,owner:a,symbols:{lexical:l}}=n,c=t[r[1]];if("function"!=typeof c&&("object"!=typeof c||null===c))return void o(e.value(c));let u=e.component(c,a,!0,l?.at(r[1]));if(null!==u)return void i(u);let h=e.helper(c,null,!0);if(null!==h)return void s(h);o(e.value(c))}else if(a===Xf)s(ig(r,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[r[1]],c=t?.lookupComponent?.(l,a)??null;if(null!==c)return void i(e.resolvedComponent(c,l));let u=t?.lookupHelper?.(l,a)??null;null!==u&&s(e.helper(u,l))}}(s,i,n,r);case 1010:{let[,t,e]=r;e(n.symbols.upvars[t],n.moduleName);break}case 1011:{let[,t,e]=r,s=n.scopeValues[t];e(i.value(s));break}default:throw new Error(`Unexpected high level opcode ${r[0]}`)}}class hg{constructor(t,e,n){this.heap=t,this.meta=e,this.stdlib=n,this.labelsStack=new _n,this.encoder=new Zf([]),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:r}=this;var i;let s=e|((i=e)>=0&&i<=15?sr:0)|n.length<<8;r.pushRaw(s);for(let o=0;o<n.length;o++){let e=n[o];r.pushRaw(this.operand(t,e))}}operand(t,e){if("number"==typeof e)return e;if("object"==typeof e&&null!==e){if(Array.isArray(e))return t.array(e);switch(e.type){case 1:return this.currentLabels.target(this.heap.offset,e.value),-1;case 2:return t.value(this.meta.isStrictMode);case 3:case 6:case 7:case 8:return t.value(e.value);case 4:return t.value((n=e.value,r=this.meta,new Hg(n[0],r,{parameters:n[1]||un})));case 5:return this.stdlib[e.value]}}var n,r;return t.value(e)}get currentLabels(){return this.labelsStack.current}label(t){this.currentLabels.label(t,this.heap.offset+1)}startLabels(){this.labelsStack.push(new cg)}stopLabels(){this.labelsStack.pop().patch(this.heap)}}function dg(t,e){return{evaluation:t,encoder:new hg(t.program.heap,e,t.stdlib),meta:e}}class pg{add(t,e){this.names[t]=this.funcs.push(e)-1}compile(t,e){let n=e[0],r=this.names[n],i=this.funcs[r];e[0],i(t,e)}constructor(){this.names={},this.funcs=[]}}const fg=new pg;function gg(t,e){if(void 0!==e&&0!==e.length)for(let n=0;n<e.length;n++)t(22,e[n])}function mg(t,e){Array.isArray(e)?fg.compile(t,e):(vg(t,e),t(31))}function yg(t,e){vg(t,e),t(31)}function vg(t,e){let n=e;var r;"number"==typeof n&&(n=(r=n)%1==0&&r<=536870911&&r>=-536870912?Jf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function bg(t,e,n,r){t(0),Tg(t,n,r,!1),t(16,e),t(1),t(36,8)}function wg(t,e,n,r){t(0),Tg(t,e,n,!1),t(33,2,1),t(107),r?(t(36,8),r(),t(1),t(34,1)):(t(1),t(34,1),t(36,8))}function _g(t,e,n,r,i){t(0),Tg(t,r,i,!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 Cg(t,e){!function(t,e){null!==e?t(63,ag({parameters:e})):vg(t,null)}(t,e&&e[1]),t(62),Eg(t,e)}function Sg(t,e){t(0),Eg(t,e),t(61),t(2),t(1)}function kg(t,e,n){let r=e[1],i=r.length,s=Math.min(n,i);if(0!==s){if(t(0),s){t(39);for(let e=0;e<s;e++)t(33,2,n-e),t(19,r[e])}Eg(t,e),t(61),t(2),s&&t(40),t(1)}else Sg(t,e)}function Eg(t,e){null===e?vg(t,null):t(28,{type:4,value:e})}function Tg(t,e,n,r){if(null===e&&null===n)return void t(83);let i=Rg(t,e)<<4;r&&(i|=8);let s=dn;if(n){s=n[0];let e=n[1];for(let n=0;n<e.length;n++)mg(t,e[n])}t(82,s,dn,i)}function Rg(t,e){if(null===e)return 0;for(let n=0;n<e.length;n++)mg(t,e[n]);return e.length}function Mg(t){let[,e,n,r]=t.block;return{symbols:{locals:e,upvars:n,lexical:r},scopeValues:t.scope?.()??null,isStrictMode:t.isStrictMode,moduleName:t.moduleName,owner:t.owner,size:e.length}}fg.add(29,(t,[,e])=>{for(let n of e)mg(t,n);t(27,e.length)}),fg.add(28,(t,[,e,n,r])=>{ng(e)?t(1005,e,e=>{bg(t,e,n,r)}):(mg(t,e),wg(t,n,r))}),fg.add(50,(t,[,e,n,r,i])=>{_g(t,n,e,r,i)}),fg.add(30,(t,[,e,n])=>{t(21,e),gg(t,n)}),fg.add(Yf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),gg(t,n)})}),fg.add(Xf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{bg(t,e,null,null)})})}),fg.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{bg(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,r])=>{mg(t,r),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 Lg{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 Lg(n?Cn({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const Ig=new Lg(null);function Pg(t){if(null===t)return Ig;let e=vn(),[n,r]=t;for(const[i,s]of gn(n))e[s]=r[i];return new Lg(e)}function Ag(t,e,n){let r=[],i=0;n(function(t,e){r.push({match:t,callback:e,label:"CLAUSE"+i++})}),t(69,1),e(),t(1001);for(let s of r.slice(0,-1))t(67,sg(s.label),s.match);for(let s=r.length-1;s>=0;s--){let e=r[s];t(1e3,e.label),t(34,1),e.callback(),0!==s&&t(4,sg("END"))}t(1e3,"END"),t(1002),t(70)}function Og(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 Fg(t,e,n,r){return Og(t,e,()=>{t(66,sg("ELSE")),n(),t(4,sg("FINALLY")),t(1e3,"ELSE"),void 0!==r&&r()})}function zg(t,e,n,r,i,s){let{compilable:o,capabilities:a,handle:l}=e,c=n?[n,[]]:null,u=Pg(s);o?(t(78,l),function(t,{capabilities:e,layout:n,elementBlock:r,positional:i,named:s,blocks:o}){let{symbolTable:a}=n;if(yr(e,ir.prepareArgs))return void Ng(t,{capabilities:e,elementBlock:r,positional:i,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=[],u=[],h=[],d=o.names;if(null!==r){let e=l.indexOf("&attrs");-1!==e&&(Cg(t,r),c.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Cg(t,o.get(p)),c.push(e))}if(yr(e,ir.createArgs)){let e=Rg(t,i)<<4;e|=8;let n=dn;if(null!==s){n=s[0];let e=s[1];for(let r=0;r<e.length;r++){let i=l.indexOf(n[r]);mg(t,e[r]),u.push(i)}}t(82,n,dn,e),u.push(-1)}else if(null!==s){let e=s[0],n=s[1];for(let r=0;r<n.length;r++){let i=e[r],s=l.indexOf(i);-1!==s&&(mg(t,n[r]),u.push(s),h.push(i))}}t(97,4),yr(e,ir.dynamicScope)&&t(59),yr(e,ir.createInstance)&&t(87,0|o.has("default")),t(88,4),yr(e,ir.createArgs)?t(90,4):t(90,4,h),t(37,l.length+1,Object.keys(o).length>0?1:0),t(19,0);for(const p of fn(u))-1===p?t(34,1):t(19,p+1);null!==i&&t(34,i.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),yr(e,ir.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:c,positional:r,named:i,blocks:u})):(t(78,l),Ng(t,{capabilities:a,elementBlock:c,positional:r,named:i,atNames:!0,blocks:u}))}function Dg(t,e,n,r,i,s,o,a){let l=n?[n,[]]:null,c=Pg(s);Og(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),Ng(t,{capabilities:!0,elementBlock:l,positional:r,named:i,atNames:o,blocks:c}),t(1e3,"ELSE")})}function Ng(t,{capabilities:e,elementBlock:n,positional:r,named:i,atNames:s,blocks:o,layout:a}){let l=!!o,c=!0===e||yr(e,ir.prepareArgs)||!(!i||0===i[0].length),u=o.with("attrs",n);t(36,4),t(33,3,1),t(35,4),t(0),function(t,e,n,r,i){let s=r.names;for(const l of s)Cg(t,r.get(l));let o=Rg(t,e)<<4;i&&(o|=8),r.hasAny&&(o|=7);let a=un;if(n){a=n[0];let e=n[1];for(let n=0;n<e.length;n++)mg(t,e[n])}t(82,a,s,o)}(t,r,i,u,s),t(85,4),jg(t,u.has("default"),l,c,()=>{a?(t(63,ag(a.symbolTable)),t(28,lg(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function jg(t,e,n,r,i=null){t(97,4),t(59),t(87,0|e),i&&i(),t(88,4),t(90,4),t(38,4),t(19,0),r&&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 Bg=new pg,Ug=["class","id","value","name","type","style","href"],$g=["div","span","p","a"];function qg(t){return"string"==typeof t?t:$g[t]}function Vg(t){return"string"==typeof t?t:Ug[t]}function Wg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}Bg.add(3,(t,e)=>t(42,e[1])),Bg.add(13,t=>t(55)),Bg.add(12,t=>t(54)),Bg.add(4,(t,[,e,n,r])=>{eg(e)?t(1003,e,e=>{t(0),Tg(t,n,r,!1),t(57,e),t(1)}):(mg(t,e),t(0),Tg(t,n,r,!1),t(33,2,1),t(108),t(1))}),Bg.add(14,(t,[,e,n,r])=>{t(51,Vg(e),n,r??null)}),Bg.add(24,(t,[,e,n,r])=>{t(105,Vg(e),n,r??null)}),Bg.add(15,(t,[,e,n,r])=>{mg(t,n),t(52,Vg(e),!1,r??null)}),Bg.add(22,(t,[,e,n,r])=>{mg(t,n),t(52,Vg(e),!0,r??null)}),Bg.add(16,(t,[,e,n,r])=>{mg(t,n),t(53,Vg(e),!1,r??null)}),Bg.add(23,(t,[,e,n,r])=>{mg(t,n),t(53,Vg(e),!0,r??null)}),Bg.add(10,(t,[,e])=>{t(48,qg(e))}),Bg.add(11,(t,[,e])=>{t(89),t(48,qg(e))}),Bg.add(8,(t,[,e,n,r,i])=>{tg(e)?t(1004,e,e=>{zg(t,e,n,null,r,i)}):Dg(t,e,n,null,r,i,!0,!0)}),Bg.add(18,(t,[,e,n])=>xg(t,e,n)),Bg.add(17,(t,[,e])=>xg(t,e,null)),Bg.add(26,(t,[,e,n,r])=>{t(103,function(t,e,n){return{type:3,value:{locals:t,upvars:e,lexical:n}}}(e,n,r))}),Bg.add(1,(t,[,e])=>{if(Array.isArray(e))if(rg(e))t(1008,e,{ifComponent(e){zg(t,e,null,null,null,null)},ifHelper(e){t(0),bg(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,r,i]=e;rg(n)?t(1007,n,{ifComponent(e){zg(t,e,null,r,Wg(i),null)},ifHelper(e){t(0),bg(t,e,r,i),t(3,og("cautious-non-dynamic-append")),t(1)}}):Ag(t,()=>{mg(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),Ng(t,{capabilities:!0,elementBlock:null,positional:r,named:i,atNames:!1,blocks:Pg(null)})}),e(1,()=>{wg(t,r,i,()=>{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))}),Bg.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))}),Bg.add(6,(t,[,e,n,r,i])=>{tg(e)?t(1004,e,e=>{zg(t,e,null,n,Wg(r),i)}):Dg(t,e,null,n,r,i,!1,!1)}),Bg.add(40,(t,[,e,n,r,i])=>{Fg(t,()=>(mg(t,n),void 0===i?yg(t,void 0):mg(t,i),mg(t,r),t(33,3,0),4),()=>{t(50),Sg(t,e),t(56)})}),Bg.add(41,(t,[,e,n,r])=>Fg(t,()=>(mg(t,e),t(71),1),()=>{Sg(t,n)},r?()=>{Sg(t,r)}:void 0)),Bg.add(42,(t,[,e,n,r,i])=>Og(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,r,2),t(34,2),t(4,sg("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,sg("FINALLY")),t(1e3,"ELSE"),i&&Sg(t,i)})),Bg.add(44,(t,[,e,n])=>{kg(t,n,Rg(t,e))}),Bg.add(45,(t,[,e,n])=>{if(e){let[r,i]=e;Rg(t,i),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,r,()=>{Sg(t,n)})}else Sg(t,n)}),Bg.add(46,(t,[,e,n,r,i])=>{tg(e)?t(1004,e,e=>{zg(t,e,null,n,Wg(r),i)}):Dg(t,e,null,n,r,i,!1,!1)});class Hg{constructor(t,e,n,r="plain block"){this.statements=t,this.meta=e,this.symbolTable=n,this.moduleName=r,this.compiled=null}compile(t){return function(t,e){if(null!==t.compiled)return t.compiled;t.compiled=-1;let{statements:n,meta:r}=t,i=function(t,e,n){let r=Bg,i=dg(n,e),{encoder:s,evaluation:o}=i;function a(...t){ug(s,o,e,t)}for(const l of t)r.compile(a,l);return i.encoder.commit(e.size)}(n,r,e);return t.compiled=i,i}(this,t)}}class Gg{constructor(t,e,n,r,i){this.main=t,this.trustingGuardedAppend=e,this.cautiousGuardedAppend=n,this.trustingNonDynamicAppend=r,this.cautiousNonDynamicAppend=i}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),r=>{r(2,()=>{e?(t(68),t(43)):t(47)}),"number"==typeof n?(r(0,()=>{t(81),t(79),function(t){t(36,4),t(33,3,1),t(35,4),t(0),t(83),t(85,4),jg(t,!1,!1,!0,()=>{t(92,4),t(95,4)}),t(35,4)}(t)}),r(1,()=>{wg(t,null,null,()=>{t(3,n)})})):(r(0,()=>{t(47)}),r(1,()=>{t(47)})),r(4,()=>{t(68),t(44)}),r(5,()=>{t(68),t(45)}),r(6,()=>{t(68),t(46)})})}const Zg={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function Yg(t,e){let n=new hg(t.program.heap,Zg);e(function(...e){ug(n,t,Zg,e)});let r=n.commit(0);if("number"!=typeof r)throw new Error("Unexpected errors compiling std");return r}class Xg{constructor({constants:t,heap:e},n,r){this.constants=t,this.heap=e,this.resolver=r.resolver,this.createOp=n,this.env=r.env,this.program=r.program,this.stdlib=function(t){let e=Yg(t,t=>function(t){t(75,4),jg(t,!1,!1,!0)}(t)),n=Yg(t,t=>Kg(t,!0,null)),r=Yg(t,t=>Kg(t,!1,null)),i=Yg(t,t=>Kg(t,!0,n)),s=Yg(t,t=>Kg(t,!1,r));return new Gg(e,i,s,n,r)}(this)}}class Jg{constructor(t,e){this.layout=t,this.moduleName=e,this.compiled=null;let{block:n}=t,[,r]=n;r=r.slice();let i=r.indexOf("&attrs");this.attrsBlockNumber=-1===i?r.push("&attrs"):i+1,this.symbolTable={symbols:r},this.meta=Mg(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Mg(this.layout),n=dg(t,e),{encoder:r,evaluation:i}=n;var s,o,a;s=function(...t){ug(r,i,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"),Sg(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:r,isStrictMode:i}){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:r,isStrictMode:i})):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:r,isStrictMode:i}),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,r]=t.block;return new Hg(n,Mg(t),{symbols:r},e)}(Cn({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new Jg(Cn({},this.parsedLayout),this.moduleName)}}function rm(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const im={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;n<t.length;n++)e[n]=this.value(t[n]);return this.value(e)}toPool(){return this.values}hasHandle(t){return this.values.length>t}helper(t,e=null,n){let r=this.helperDefinitionCache.get(t);if(void 0===r){let e=Ar(t);if(null===e)return this.helperDefinitionCache.set(t,null),null;let n="function"==typeof e?e:e.getHelper(t);r=this.value(n),this.helperDefinitionCache.set(t,r),this.helperDefinitionCount++}return r}modifier(t,e=null,n){let r=this.modifierDefinitionCache.get(t);if(void 0===r){let n=Lr(t);if(null===n)return this.modifierDefinitionCache.set(t,null),null;let i={resolvedName:e,manager:n,state:t};r=this.value(i),this.modifierDefinitionCache.set(t,r),this.modifierDefinitionCount++}return r}component(t,e,n,r){let i=this.componentDefinitionCache.get(t);if(void 0===i){let n=Fr(t);if(null===n)return this.componentDefinitionCache.set(t,null),null;let s,o=fr(n.getCapabilities(t)),a=Jr(t),l=null;s=mr(0,o,ir.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=rm(s),l=mr(0,o,ir.wrapped)?s.asWrappedLayout():s.asLayout()),i={resolvedName:null,handle:-1,manager:n,capabilities:o,state:t,compilable:l},i.handle=this.value(i),r&&(i.debugName=r),this.componentDefinitionCache.set(t,i),this.componentDefinitionCount++}return i}resolvedComponent(t,e){let n=this.componentDefinitionCache.get(t);if(void 0===n){let{manager:r,state:i,template:s}=t,o=fr(r.getCapabilities(t)),a=null;mr(0,o,ir.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=rm(s),a=mr(0,o,ir.wrapped)?s.asWrappedLayout():s.asLayout()),n={resolvedName:e,handle:-1,manager:r,capabilities:o,state:i,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 r=this.getValue(t);n=new Array(r.length);for(const[t,e]of gn(r))n[t]=this.getValue(e);e[t]=n}return n}constructor(){this.reifiedArrs={[am]:sm},this.defaultTemplate=em(im)(),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)&sr?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 um{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|sr)}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:r}=this;for(let i=0;i<length;i++){let s=e[i],o=e[i+1]-s,a=n[i];if(2!==a)if(1===a)n[i]=2,t+=o;else if(0===a){for(let e=s;e<=i+o;e++)r[e-t]=r[e];e[i]=s-t}else 3===a&&(e[i]=s-t)}this.offset=this.offset-t}}class hm{constructor(t,e){this.constants=t,this.heap=e,this._opcode=new cm(this.heap)}opcode(t){return this._opcode.offset=t,this._opcode}}const dm="http://www.w3.org/1998/Math/MathML",pm="http://www.w3.org/2000/svg";function fm(t){return function(t){t.nodeType}(t),t}function gm(t){if("number"==typeof t)return t;{let e=t.errors[0];throw new Error(`Compile Error: ${e.problem} @ ${e.span.start}..${e.span.end}`)}}function mm(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function ym(t){return(t|=0)>-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 vm=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 r=this.evaluateOpcode[n];r.syscall?(e.isMachine,r.syscall,e.isMachine,e.type,r.evaluate(t,e)):(e.isMachine,r.syscall,e.isMachine,e.type,r.evaluate(t.lowlevel,e))}},bm=Symbol("TYPE"),wm=Symbol("INNER"),_m=Symbol("OWNER"),xm=Symbol("ARGS"),Cm=Symbol("RESOLVED"),Sm=new WeakSet;function km(t){return Sm.has(t)}function Em(t,e){return km(t)&&t[bm]===e}class Tm{constructor(t,e,n,r,i=!1){Sm.add(this),this[bm]=t,this[wm]=e,this[_m]=n,this[xm]=r,this[Cm]=i}}function Rm(t){let e,n,r,i,s,o=t;for(;;){let{[xm]:t,[wm]:a}=o;if(null!==t){let{named:r,positional:i}=t;i.length>0&&(e=void 0===e?i:i.concat(e)),void 0===n&&(n=[]),n.unshift(r)}if(!km(a)){r=a,i=o[_m],s=o[Cm];break}o=a}return{definition:r,owner:i,resolved:s,positional:e,named:n}}function Mm(t,e,n,r,i=!1){return new Tm(t,e,n,r,i)}class Lm{constructor(t){this.bucket=t?Cn({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new Lm(this.bucket)}}class Im{static root(t,{self:e,size:n=0}){let r=new Array(n+1).fill(Ln);return new Im(t,r,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(Ln);return new Im(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===Ln?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 Im(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 Pm{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 Om(t,e){let n=t.parentElement(),r=t.firstNode(),i=t.lastNode(),s=r;for(;;){let t=s.nextSibling;if(n.insertBefore(s,e),s===i)return t;s=t}}function Fm(t){let e=t.parentElement(),n=t.firstNode(),r=t.lastNode(),i=n;for(;;){let t=i.nextSibling;if(e.removeChild(i),i===r)return t;i=t}}function zm(t){return"getDebugCustomRenderTree"in t}let Dm=0;class Nm{constructor(t){this.id=Dm++,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 jm{begin(){this.reset()}create(t,e){let n=Cn({},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,r=new Nm(e);if(this.refs.set(e,r),n){let e=this.nodeFor(n);e.refs.add(r),t.parent=e}else this.roots.add(r)}captureRefs(t){let e=[];return t.forEach(n=>{let r=n.get();r?e.push(this.captureNode(`render-node:${n.id}`,r)):t.delete(n)}),e}captureNode(t,e){let n=this.nodeFor(e),{type:r,name:i,args:s,instance:o,refs:a}=n,l=this.captureTemplate(n),c=this.captureBounds(n),u=this.captureRefs(a);return{id:t,type:r,name:i,args:_y(s),instance:o,template:l,bounds:c,children:u}}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 _n,this.refs=new WeakMap,this.roots=new Set,this.nodes=new WeakMap}}function Bm(t){return Um(t)?"":String(t)}function Um(t){return null==t||"function"!=typeof t.toString}function $m(t){return null!==t&&"object"==typeof t}function qm(t){return $m(t)&&"function"==typeof t.toHTML}function Vm(t){return"string"==typeof t}vm.add(39,t=>t.pushChildScope()),vm.add(40,t=>t.popScope()),vm.add(59,t=>t.pushDynamicScope()),vm.add(60,t=>t.popDynamicScope()),vm.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),vm.add(29,(t,{op1:e})=>{t.stack.push(On(t.constants.getValue(e)))}),vm.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let r=t.constants.getValue(e);n.push(r)}else n.push(ym(e))}),vm.add(31,t=>{let e,n=t.stack,r=n.pop();e=void 0===r?Ln:null===r?In:!0===r?Pn:!1===r?An:Mn(r),n.push(e)}),vm.add(33,(t,{op1:e,op2:n})=>{let r=t.fetchValue(e)-n;t.stack.dup(r)}),vm.add(34,(t,{op1:e})=>{t.stack.pop(e)}),vm.add(35,(t,{op1:e})=>{t.load(e)}),vm.add(36,(t,{op1:e})=>{t.fetch(e)}),vm.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),vm.add(69,(t,{op1:e})=>{t.enter(e)}),vm.add(70,t=>{t.exit()}),vm.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),vm.add(62,t=>{t.stack.push(t.scope())}),vm.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),vm.add(64,t=>{let{stack:e}=t,n=e.pop(),r=e.pop(),i=e.pop(),s=e.pop();if(null===i||null===n)return t.lowlevel.pushFrame(),void t.pushScope(r??t.scope());let o=r;{let t=i.parameters,e=t.length;if(e>0){o=o.child();for(let n=0;n<e;n++)o.bindSymbol(t[n],s.at(n))}}t.lowlevel.pushFrame(),t.pushScope(o),t.call(n)}),vm.add(65,(t,{op1:e})=>{let n=t.stack.pop(),r=Boolean($n(n));Bn(n)?r&&t.lowlevel.goto(e):(r&&t.lowlevel.goto(e),t.updateWith(new Wm(n)))}),vm.add(66,(t,{op1:e})=>{let n=t.stack.pop(),r=Boolean($n(n));Bn(n)?r||t.lowlevel.goto(e):(r||t.lowlevel.goto(e),t.updateWith(new Wm(n)))}),vm.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),vm.add(68,t=>{let e=t.stack.peek();Bn(e)||t.updateWith(new Wm(e))}),vm.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(zn(()=>Pt($n(n))))});class Wm{constructor(t){this.ref=t,this.last=$n(t)}evaluate(t){let{last:e,ref:n}=this;e!==$n(n)&&t.throw()}}class Hm{constructor(t,e){this.ref=t,this.filter=e,this.last=e($n(t))}evaluate(t){let{last:e,ref:n,filter:r}=this;e!==r($n(n))&&t.throw()}}class Gm{finalize(t,e){this.target=e,this.didModify(t)}evaluate(t){let{tag:e,target:n,lastRevision:r}=this;!t.alwaysRevalidate&&de(e,r)&&(De(e),t.goto(n))}didModify(t){this.tag=t,this.lastRevision=he(this.tag),De(t)}constructor(){this.tag=be,this.lastRevision=1}}class Km{constructor(t){this.debugLabel=t}evaluate(){Pe(this.debugLabel)}}class Zm{constructor(t){this.target=t}evaluate(){let t=Ae();this.target.didModify(t)}}vm.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),vm.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),vm.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),vm.add(49,t=>{let e=$n(t.stack.pop());t.tree().openElement(e)}),vm.add(50,t=>{let e=t.stack.pop(),n=t.stack.pop(),r=t.stack.pop(),i=$n(e),s=$n(n),o=$n(r);Bn(e)||t.updateWith(new Wm(e)),void 0===s||Bn(n)||t.updateWith(new Wm(n));let a=t.tree().pushRemoteElement(i,o,s);if(t.associateDestroyable(a),void 0!==t.env.debugRenderTree){let r=gy(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:r,instance:null}),Ht(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),vm.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),vm.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),vm.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)})}),vm.add(57,(t,{op1:e})=>{if(!t.env.isInteractive)return;let n=t.getOwner(),r=t.stack.pop(),i=t.constants.getValue(e),{manager:s}=i,{constructing:o}=t.tree(),a=r.capture(),l=s.create(n,o,i.state,a),c={manager:s,state:l,definition:i};t.fetchValue(6).addModifier(t,c,a);let u=s.getTag(l);return null!==u?(De(u),t.updateWith(new Ym(u,c))):void 0}),vm.add(108,t=>{if(!t.env.isInteractive)return;let{stack:e}=t,n=e.pop(),r=e.pop().capture(),{positional:i,named:s}=r,{constructing:o}=t.tree(),a=t.getOwner(),l=zn(()=>{let t,e,l=$n(n);if(!wn(l))return;if(Em(l,2)){let{definition:n,owner:o,positional:a,named:c}=Rm(l);e=n,t=o,void 0!==a&&(r.positional=a.concat(i)),void 0!==c&&(r.named=Object.assign({},...c,s))}else e=l,t=a;let c=Lr(e);if(null===c)throw new Error("BUG: modifier manager expected");let u={resolvedName:null,manager:c,state:e},h=c.create(t,o,u.state,r);return{manager:c,state:h,definition:u}}),c=$n(l),u=null;return void 0!==c&&(t.fetchValue(6).addModifier(t,c,r),u=c.manager.getTag(c.state),null!==u&&De(u)),!Bn(n)||u?t.updateWith(new Xm(u,c,l)):void 0});class Ym{constructor(t,e){this.tag=t,this.modifier=e,this.lastUpdated=he(t)}evaluate(t){let{modifier:e,tag:n,lastUpdated:r}=this;De(n),de(n,r)||(t.env.scheduleUpdateModifier(e),this.lastUpdated=he(n))}}class Xm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=he(t??Se)}evaluate(t){let{tag:e,lastUpdated:n,instance:r,instanceRef:i}=this,s=$n(i);if(s!==r){if(void 0!==r){let t=r.manager.getDestroyable(r.state);null!==t&&Gt(t)}if(void 0!==s){let{manager:n,state:r}=s,i=n.getDestroyable(r);null!==i&&Wt(this,i),e=n.getTag(r),null!==e&&(this.lastUpdated=he(e)),this.tag=e,t.env.scheduleInstallModifier(s)}this.instance=s}else null===e||de(e,n)||(t.env.scheduleUpdateModifier(r),this.lastUpdated=he(e));null!==e&&De(e)}}vm.add(51,(t,{op1:e,op2:n,op3:r})=>{let i=t.constants.getValue(e),s=t.constants.getValue(n),o=r?t.constants.getValue(r):null;t.tree().setStaticAttribute(i,s,o)}),vm.add(52,(t,{op1:e,op2:n,op3:r})=>{let i=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=$n(o),l=r?t.constants.getValue(r):null,c=t.tree().setDynamicAttribute(i,a,s,l);Bn(o)||t.updateWith(new Jm(o,c,t.env))});class Jm{constructor(t,e,n){let r=!1;this.updateRef=zn(()=>{let i=$n(t);r?e.update(i,n):r=!0}),$n(this.updateRef)}evaluate(){$n(this.updateRef)}}vm.add(78,(t,{op1:e})=>{let n=t.constants.getValue(e),{manager:r,capabilities:i}=n,s={definition:n,manager:r,capabilities:i,state:null,handle:null,table:null,lookup:null};t.stack.push(s)}),vm.add(80,(t,{op1:e})=>{let n,r=t.stack,i=$n(r.pop()),s=t.constants,o=t.getOwner();if(s.getValue(e),t.loadValue(7,null),"string"==typeof i){let e=function(t,e,n,r){let i=t?.lookupComponent?.(n,r)??null;return e.resolvedComponent(i,n)}(t.context.resolver,s,i,o);n=e}else n=km(i)?i:s.component(i,o);r.push(n)}),vm.add(81,t=>{let e,n=t.stack,r=$n(n.pop()),i=t.constants;e=km(r)?r:i.component(r,t.getOwner(),!0),n.push(e)}),vm.add(79,t=>{let e,n,{stack:r}=t,i=r.pop();km(i)?n=e=null:(n=i.manager,e=i.capabilities),r.push({definition:i,capabilities:e,manager:n,state:null,handle:null,table:null})}),vm.add(82,(t,{op1:e,op2:n,op3:r})=>{let i=t.stack,s=t.constants.getArray(e),o=r>>4,a=8&r,l=7&r?t.constants.getArray(n):dn;t.args.setup(i,s,l,o,!!a),i.push(t.args)}),vm.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),vm.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),vm.add(85,(t,{op1:e})=>{let n=t.stack,r=t.fetchValue(e),i=n.pop(),{definition:s}=r;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 r=t.context.resolver?.lookupComponent?.(n,o)??null;s=e.resolvedComponent(r,n)}else s=e.component(n,o);void 0!==c&&i.named.merge(Cn({},...c)),void 0!==l&&(i.realloc(l.length),i.positional.prepend(l));let{manager:u}=s;r.definition=s,r.manager=u,r.capabilities=s.capabilities,t.loadValue(7,o)}let{manager:o,state:a}=s;if(!mr(0,r.capabilities,ir.prepareArgs))return void n.push(i);let l=i.blocks.values,c=i.blocks.names,u=o.prepareArgs(a,i);if(u){i.clear();for(let i=0;i<l.length;i++)n.push(l[i]);let{positional:t,named:e}=u,r=t.length;for(let i=0;i<r;i++)n.push(t[i]);let s=Object.keys(e);for(let i=0;i<s.length;i++)n.push(e[s[i]]);i.setup(n,s,c,r,!1)}n.push(i)}),vm.add(87,(t,{op1:e})=>{let n=t.fetchValue(4),{definition:r,manager:i,capabilities:s}=n;if(!mr(0,s,ir.createInstance))return;let o=null;mr(0,s,ir.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;mr(0,s,ir.createArgs)&&(l=t.stack.peek());let c=null;mr(0,s,ir.createCaller)&&(c=t.getSelf());let u=i.create(t.getOwner(),r.state,l,t.env,o,c,!!a);n.state=u,mr(0,s,ir.updateHook)&&t.updateWith(new ry(u,i,o))}),vm.add(88,(t,{op1:e})=>{let{manager:n,state:r,capabilities:i}=t.fetchValue(e),s=n.getDestroyable(r);s&&t.associateDestroyable(s)}),vm.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),vm.add(89,t=>{t.loadValue(6,new Qm)}),vm.add(53,(t,{op1:e,op2:n,op3:r})=>{let i=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=r?t.constants.getValue(r):null;t.fetchValue(6).setAttribute(i,o,s,a)}),vm.add(105,(t,{op1:e,op2:n,op3:r})=>{let i=t.constants.getValue(e),s=t.constants.getValue(n),o=r?t.constants.getValue(r):null;t.fetchValue(6).setStaticAttribute(i,s,o)});class Qm{setAttribute(t,e,n,r){let i={value:e,namespace:r,trusting:n};"class"===t&&this.classes.push(e),this.attributes[t]=i}setStaticAttribute(t,e,n){let r={value:e,namespace:n};"class"===t&&this.classes.push(e),this.attributes[t]=r}addModifier(t,e,n){if(this.modifiers.push(e),void 0!==t.env.debugRenderTree){const{manager:r,definition:i,state:s}=e;if(null===s||"object"!=typeof s&&"function"!=typeof s)return;let{element:o,constructing:a}=t.tree(),l=i.resolvedName??r.getDebugName(i.state),c=r.getDebugInstance(s),u=new Am(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:c}),t.env.debugRenderTree.didRender(s,u),t.associateDestroyable(s),t.updateWith(new sy(s)),t.updateWith(new oy(s,u)),Ht(s,()=>{t.env.debugRenderTree?.willDestroy(s)})}}flush(t){let e,n=this.attributes;for(let r in this.attributes){if("type"===r){e=n[r];continue}let i=this.attributes[r];"class"===r?ey(t,"class",ty(this.classes),i.namespace,i.trusting):ey(t,r,i.value,i.namespace,i.trusting)}return void 0!==e&&ey(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=vn(),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=Bm("string"==typeof n?n:$n(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function ey(t,e,n,r,i=!1){if("string"==typeof n)t.tree().setStaticAttribute(e,n,r);else{let s=t.tree().setDynamicAttribute(e,$n(n),i,r);Bn(n)||t.updateWith(new Jm(n,s,t.env))}}function ny(t,e,n,r,i){let s=n.table.symbols.indexOf(t),o=r.get(e);-1!==s&&i.scope().bindBlock(s+1,o),n.lookup&&(n.lookup[t]=o)}vm.add(99,(t,{op1:e})=>{let{definition:n,state:r}=t.fetchValue(e),{manager:i}=n,s=t.fetchValue(6);i.didCreateElement(r,t.tree().constructing,s)}),vm.add(90,(t,{op1:e,op2:n})=>{let r=t.fetchValue(e),{definition:i,state:s}=r,{manager:o}=i,a=o.getSelf(s);if(void 0!==t.env.debugRenderTree){let r,i,o=t.fetchValue(e),{definition:l,manager:c}=o;if(t.stack.peek()===t.args)r=t.args.capture();else{let e=t.constants.getArray(n);t.args.setup(t.stack,e,[],0,!0),r=t.args.capture()}let u=l.compilable;if(null===u){mr(0,o.capabilities,ir.dynamicLayout);let e=t.context.resolver;u=null===e?null:c.getDynamicLayout(s,e),i=null!==u?u.moduleName:"__default__.hbs"}else i=u.moduleName;if(t.associateDestroyable(o),zm(c))c.getDebugCustomRenderTree(o.definition.state,o.state,r,i).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),Ht(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:r,template:i,instance:$n(a)}),Ht(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new sy(o))}}t.stack.push(a)}),vm.add(91,(t,{op1:e})=>{let{definition:n,state:r}=t.fetchValue(e),{manager:i}=n,s=i.getTagName(r);t.stack.push(s)}),vm.add(92,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:r,definition:i}=n,{stack:s}=t,{compilable:o}=i;if(null===o){let{capabilities:e}=n,i=t.context.resolver;o=null===i?null:r.getDynamicLayout(n.state,i),null===o&&(o=mr(0,e,ir.wrapped)?mm(t.constants.defaultTemplate).asWrappedLayout():mm(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),vm.add(75,(t,{op1:e})=>{let n=t.stack.pop(),r=t.stack.pop(),{manager:i,capabilities:s}=n,o={definition:n,manager:i,capabilities:s,state:null,handle:r.handle,table:r.symbolTable,lookup:null};t.loadValue(e,o)}),vm.add(95,(t,{op1:e})=>{let{stack:n}=t,r=n.pop(),i=n.pop(),s=t.fetchValue(e);s.handle=r,s.table=i}),vm.add(38,(t,{op1:e})=>{let n,{table:r,manager:i,capabilities:s,state:o}=t.fetchValue(e);mr(0,s,ir.hasSubOwner)?(n=i.getOwner(o),t.loadValue(7,null)):(n=t.fetchValue(7),null===n?n=t.getOwner():t.loadValue(7,null)),t.pushRootScope(r.symbols.length+1,n)}),vm.add(17,(t,{op1:e})=>{let n=t.fetchValue(e),r=t.scope(),i=t.stack.peek(),s=i.named.atNames;for(let o=s.length-1;o>=0;o--){let t=s[o],e=n.table.symbols.indexOf(t),a=i.named.get(t,!0);-1!==e&&r.bindSymbol(e+1,a),n.lookup&&(n.lookup[t]=a)}}),vm.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:r}=t.stack.peek();for(const[i]of gn(r.names))ny(r.symbolNames[i],r.names[i],n,r,t)}),vm.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),vm.add(100,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:r,state:i,capabilities:s}=n,o=t.tree().popBlock();void 0!==t.env.debugRenderTree&&(zm(r)?r.getDebugCustomRenderTree(n.definition.state,i,Sy).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)))),mr(0,s,ir.createInstance)&&(r.didRenderLayout(i,o),t.env.didCreate(n),t.updateWith(new iy(n,o)))}),vm.add(98,t=>{t.commitCacheGroup()});class ry{constructor(t,e,n){this.component=t,this.manager=e,this.dynamicScope=n}evaluate(t){let{component:e,manager:n,dynamicScope:r}=this;n.update(e,r)}}class iy{constructor(t,e){this.component=t,this.bounds=e}evaluate(t){let{component:e,bounds:n}=this,{manager:r,state:i}=e;r.didUpdateLayout(i,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 uy,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,r,i){this.stack=t;let s=this.named,o=e.length,a=t.registers[3]-o+1;s.setup(t,a,o,e,i);let l=a-r;this.positional.setup(t,l,r);let c=this.blocks,u=n.length,h=l-3*u;c.setup(t,h,u,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:r}=this,i=n.base+t;for(let t=n.length+r.length-1;t>=0;t--)e.copy(t+n.base,t+i);n.base+=t,r.base+=t,e.registers[3]+=t}}capture(){let t=0===this.positional.length?Cy: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=hn();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:r}=this;return t<0||t>=n?Ln:r.get(t,e)}capture(){return this.references}prepend(t){let e=t.length;if(e>0){let{base:n,length:r,stack:i}=this;this.base=n-=e,this.length=r+e;for(let s=0;s<e;s++)i.set(t[s],s,n);this._references=null}}get references(){let t=this._references;if(!t){let{stack:e,base:n,length:r}=this;t=this._references=e.slice(n,n+r)}return t}}class uy{constructor(){this.base=0,this.length=0,this._references=null,this._names=dn,this._atNames=dn}empty(t,e){this.stack=t,this.base=e,this.length=0,this._references=ly,this._names=dn,this._atNames=dn}setup(t,e,n,r,i){this.stack=t,this.base=e,this.length=n,0===n?(this._references=ly,this._names=dn,this._atNames=dn):(this._references=null,i?(this._names=null,this._atNames=r):(this._names=r,this._atNames=null))}get names(){let t=this._names;return t||(t=this._names=this._atNames.map(this.toSyntheticName)),t}get atNames(){let t=this._atNames;return t||(t=this._atNames=this._names.map(this.toAtName)),t}has(t){return-1!==this.names.indexOf(t)}get(t,e=!1){let{base:n,stack:r}=this,i=(e?this.atNames:this.names).indexOf(t);return-1===i?Ln:r.get(i,n)}capture(){let{names:t,references:e}=this,n=vn();for(const[r,i]of gn(t))n[i]=e[r];return n}merge(t){let e=Object.keys(t);if(e.length>0){let{names:n,length:r,stack:i}=this,s=n.slice();for(const o of e)-1===s.indexOf(o)&&(r=s.push(o),i.push(t[o]));this.length=r,this._references=null,this._names=s,this._atNames=null}}get references(){let t=this._references;if(!t){let{base:e,length:n,stack:r}=this;t=this._references=r.slice(e,e+n)}return t}toSyntheticName(t){return t.slice(1)}toAtName(t){return`@${t}`}}function hy(t){return`&${t}`}const dy=hn();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=be,this.internalValues=dy}setup(t,e,n,r){this.stack=t,this.names=r,this.base=e,this.length=n,this._symbolNames=null,0===n?(this.internalTag=be,this.internalValues=dy):(this.internalTag=null,this.internalValues=null)}get values(){let t=this.internalValues;if(!t){let{base:e,length:n,stack:r}=this;t=this.internalValues=r.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:r}=this,i=r.get(3*e,n),s=r.get(3*e+1,n),o=r.get(3*e+2,n);return null===o?null:[o,s,i]}capture(){return new fy(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(hy)),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=vn();for(const[n,r]of Object.entries(t))e[n]=$n(r);return e}function yy(t){return t.map($n)}const vy=Symbol("ARGUMENT_ERROR");function by(t){return null!==t&&"object"==typeof t&&t[vy]}function wy(t){return{[vy]:!0,error:t}}function _y(t){return{named:function(t){let e=vn();for(const[n,r]of Object.entries(t))try{e[n]=$n(r)}catch(ej){e[n]=wy(ej)}return e}(t.named),positional:(e=t.positional,e.map(t=>{try{return $n(t)}catch(ej){return wy(ej)}}))};var e}const xy=Object.freeze(Object.create(null)),Cy=ly,Sy=gy(xy,Cy);function ky(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Ey(t){let e,n=Ar(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Ty(t){return t===Ln}vm.add(77,(t,{op1:e,op2:n})=>{let r=t.stack,i=r.pop(),s=r.pop(),o=t.getOwner();t.context.resolver,t.loadValue(8,function(t,e,n,r){let i,s;return zn(()=>{let o=$n(e);return o===i||(s=Em(o,t)?r?Mm(t,o,n,r):r:0===t&&"string"==typeof o&&o||wn(o)?Mm(t,o,n,r):null,i=o),s})}(e,i,o,s))}),vm.add(107,t=>{let e,n=t.stack,r=n.pop(),i=n.pop().capture(),s=t.getOwner(),o=zn(()=>{void 0!==e&&Gt(e);let t=$n(r);if(Em(t,1)){let{definition:n,owner:r,positional:s,named:a}=Rm(t),l=Ey(n);void 0!==a&&(i.named=Cn({},...a,i.named)),void 0!==s&&(i.positional=s.concat(i.positional)),e=l(i,r),Wt(o,e)}else if(wn(t)){let n=Ey(t);e=n(i,s),Kt(e)&&Wt(o,e)}else e=Ln}),a=zn(()=>($n(o),$n(e)));t.associateDestroyable(o),t.loadValue(8,a)}),vm.add(16,(t,{op1:e})=>{let n=t.stack,r=t.constants.getValue(e)(n.pop().capture(),t.getOwner(),t.dynamicScope());Kt(r)&&t.associateDestroyable(r),t.loadValue(8,r)}),vm.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),vm.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),vm.add(20,(t,{op1:e})=>{let n=t.stack.pop(),r=t.stack.pop(),i=t.stack.pop();t.scope().bindBlock(e,[n,r,i])}),vm.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),vm.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),r=t.stack.pop();t.stack.push(Vn(r,n))}),vm.add(23,(t,{op1:e})=>{let{stack:n}=t,r=t.scope().getBlock(e);n.push(r)}),vm.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Ty(n)){let[t,r,i]=n;e.push(i),e.push(r),e.push(t)}else e.push(null),e.push(null),e.push(null)}),vm.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Ty(n)?e.push(Pn):e.push(An)}),vm.add(26,t=>{t.stack.pop(),t.stack.pop();let e=t.stack.pop(),n=e&&e.parameters.length;t.stack.push(n?Pn:An)}),vm.add(27,(t,{op1:e})=>{let n=new Array(e);for(let i=e;i>0;i--)n[i-1]=t.stack.pop();var r;t.stack.push((r=n,zn(()=>{const t=[];for(const e of r){const n=$n(e);null!=n&&t.push(ky(n))}return t.length>0?t.join(""):null})))}),vm.add(109,t=>{let e=t.stack.pop(),n=t.stack.pop(),r=t.stack.pop();t.stack.push(zn(()=>Pt($n(e))?$n(n):$n(r)))}),vm.add(110,t=>{let e=t.stack.pop();t.stack.push(zn(()=>!Pt($n(e))))}),vm.add(111,t=>{let e=t.dynamicScope(),n=t.stack,r=n.pop();n.push(zn(()=>{let t=String($n(r));return $n(e.get(t))}))}),vm.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=$n(this.reference),{lastValue:n}=this;e!==n&&(t=Um(e)?"":Vm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function My(t){return function(t){return Vm(t)||Um(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Em(t,0)||zr(t)?0:Em(t,1)||Dr(t)?1:qm(t)?4:function(t){return $m(t)&&11===t.nodeType}(t)?5:function(t){return $m(t)&&"number"==typeof t.nodeType}(t)?6:2}function Ly(t){return wn(t)?Em(t,0)||zr(t)?0:1:2}function Iy(t,e){console.info("Use `context`, and `get(<path>)` to debug this template."),e("this")}vm.add(76,t=>{let e=t.stack.peek();t.stack.push(My($n(e))),Bn(e)||t.updateWith(new Hm(e,My))}),vm.add(106,t=>{let e=t.stack.peek();t.stack.push(Ly($n(e))),Bn(e)||t.updateWith(new Hm(e,Ly))}),vm.add(43,t=>{let e=$n(t.stack.pop()),n=Um(e)?"":String(e);t.tree().appendDynamicHTML(n)}),vm.add(44,t=>{let e=$n(t.stack.pop()).toHTML(),n=Um(e)?"":e;t.tree().appendDynamicHTML(n)}),vm.add(47,t=>{let e=t.stack.pop(),n=$n(e),r=Um(n)?"":String(n),i=t.tree().appendDynamicText(r);Bn(e)||t.updateWith(new Ry(i,e,r))}),vm.add(45,t=>{let e=$n(t.stack.pop());t.tree().appendDynamicFragment(e)}),vm.add(46,t=>{let e=$n(t.stack.pop());t.tree().appendDynamicNode(e)});let Py=Iy;class Ay{#f;constructor(t,e){this.scope=t,this.#f=e}get(t){let e,{scope:n}=this,r=this.#f,i=t.split("."),[s,...o]=t.split(".");return"this"===s?e=n.getSelf():r.locals[s]?e=n.getSymbol(r.locals[s]):(e=this.scope.getSelf(),o=i),o.reduce((t,e)=>Vn(t,e),e)}}vm.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),r=new Ay(t.scope(),n);Py($n(t.getSelf()),t=>$n(r.get(t)))}),vm.add(72,(t,{op1:e,op2:n})=>{let r=t.stack,i=r.pop(),s=$n(r.pop()),o=Qn(i,null===s?"@identity":String(s)),a=$n(o);t.updateWith(new Hm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),vm.add(73,t=>{t.exitList()}),vm.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const Oy={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 Fy{getCapabilities(){return Oy}getDebugName({name:t}){return t}getSelf(){return In}getDestroyable(){return null}}const zy=new Fy;class Dy{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function Ny(t,e){return new Dy(t,e)}Or(zy,Dy.prototype);const jy={foreignObject:1,desc:1,title:1},By=Object.create(null);class Uy{constructor(t){this.document=t,this.setupUselessElement()}setupUselessElement(){this.uselessElement=this.document.createElement("div")}createElement(t,e){let n,r,i,s;if(e?(n=e.namespaceURI===pm||"svg"===t,i=e.namespaceURI===dm||"math"===t,r=!!jy[e.tagName]):(n="svg"===t,i="math"===t,r=!1),!i&&!n||r)return this.document.createElement(t);if(By[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=i?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 r=e?e.previousSibling:t.lastChild;let i;if(null===e)t.insertAdjacentHTML("beforeend",n),i=t.lastChild;else if(e instanceof HTMLElement)e.insertAdjacentHTML("beforebegin",n),i=e.previousSibling;else{const{uselessElement:r}=this;t.insertBefore(r,e),r.insertAdjacentHTML("beforebegin",n),i=r.previousSibling,t.removeChild(r)}const s=r?r.nextSibling:t.firstChild;return new Am(t,s,i)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function $y(t,e,n){if(!t)return e;if(!function(t,e){const n=t.createElementNS(e,"svg");try{n.insertAdjacentHTML("beforeend","<circle></circle>")}catch{}finally{return 1!==n.childNodes.length||n.firstChild.namespaceURI!==pm}}(t,n))return e;const r=t.createElement("div");return class extends e{insertHTMLBefore(t,e,i){return""===i||t.namespaceURI!==n?super.insertHTMLBefore(t,e,i):function(t,e,n,r){let i;if("FOREIGNOBJECT"===t.tagName.toUpperCase()){const t="<svg><foreignObject>"+n+"</foreignObject></svg>";xn(e),e.insertAdjacentHTML("afterbegin",t),i=e.firstChild.firstChild}else{const t="<svg>"+n+"</svg>";xn(e),e.insertAdjacentHTML("afterbegin",t),i=e.firstChild}return function(t,e,n){const r=t.firstChild;let i=r,s=r;for(;s;){const t=s.nextSibling;e.insertBefore(s,n),i=s,s=t}return new Am(e,r,i)}(i,t,r)}(t,r,i,e)}}}function qy(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 r=!1;const i=e?e.previousSibling:t.lastChild;i&&i instanceof Text&&(r=!0,t.insertBefore(this.uselessComment,e));const s=super.insertHTMLBefore(t,e,n);return r&&t.removeChild(this.uselessComment),s}}:e}const Vy="undefined"==typeof document?null:fm(document);let Wy=class extends Uy{createElementNS(t,e){return this.document.createElementNS(t,e)}setAttribute(t,e,n,r=null){r?t.setAttributeNS(r,e,n):t.setAttribute(e,n)}};Wy=qy(Vy,Wy),Wy=$y(Vy,Wy,pm);const Hy=Wy;["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=>By[t]=1);const Gy=/[\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 Zy extends Uy{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 Yy=Zy;Yy=qy(Ky,Yy),Yy=$y(Ky,Yy,pm);const Xy=Yy;function Jy(t,e){let n,r;if(e in t)r=e,n="prop";else{let i=e.toLowerCase();i in t?(n="prop",r=i):(n="attr",r=e)}return"prop"!==n||"style"!==r.toLowerCase()&&!function(t,e){let n=Qy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,r)||(n="attr"),{normalized:r,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}},tv=Symbol("TRANSACTION");class ev{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:i,state:s}of t)i.didCreate(s);for(const{manager:i,state:s}of e)i.didUpdate(s);let{scheduledInstallModifiers:n,scheduledUpdateModifiers:r}=this;for(const{manager:i,state:s,definition:o}of n){let t=i.getTag(s);if(null!==t){let e=We(()=>i.install(s));me(t,e)}else i.install(s)}for(const{manager:i,state:s,definition:o}of r){let t=i.getTag(s);if(null!==t){let e=We(()=>i.update(s));me(t,e)}else i.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class nv{static{sv=tv}constructor(t,e){this.delegate=e,this[sv]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new jm:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?by:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new Hy(t.document),this.updateOperations=new Zy(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[tv],this.debugRenderTree?.begin(),this[tv]=new ev}get transaction(){return this[tv]}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[tv]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function rv(t,e,n,r){return{env:new nv(t,e),program:new hm(n.constants,n.heap),resolver:r}}function iv(t,e){if(t[tv])e();else{t.begin();try{e()}finally{t.commit()}}}var sv;function ov(t){return Ir(t,{})}const av=ov(({positional:t})=>zn(()=>yy(t),null)),lv=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),cv=ov(({positional:t})=>zn(()=>yy(t).map(lv).join(""),null)),uv=ov(({positional:t})=>{let e=t[0];return zn(()=>(...n)=>{let[r,...i]=yy(t);if(!Nn(e))return r.call(null,...i,...n);{let t=i.length>0?i[0]:n[0];qn(e,t)}},null)}),hv=ov(({positional:t})=>{let e=t[0]??Ln,n=t[1]??Ln;return zn(()=>{let t=$n(e);if(bn(t))return Ft(t,String($n(n)))},t=>{let r=$n(e);if(bn(r))return zt(r,String($n(n)),t)})}),dv=ov(({named:t})=>{let e=zn(()=>my(t),null),n=new Map;for(let r in t)n.set(r,t[r]);return e.children=n,e});function pv(t){return qe(t.argsCache)}class fv{constructor(t,e=()=>Sy){let n=$e(()=>e(t));this.argsCache=n}get named(){return pv(this).named||xy}get positional(){return pv(this).positional||Cy}}function gv(t,e,n){const r=ci(t),i=Ar(e).getDelegateFor(r);let s,o=new fv(t,n),a=i.createHelper(e,o);if(!br(i))throw new Error("TODO: unreachable, to be implemented with hasScheduledEffect");return s=$e(()=>i.getValue(a)),Wt(t,s),wr(i)&&Wt(s,i.getDestroyable(a)),s}class mv{constructor(t,e){this.tag=ve(),this.listener=null,this.element=t,this.args=e,Ht(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:r,options:i}=e;bv(t,n,r,i)}})}updateListener(){let{element:t,args:e,listener:n}=this;e.positional[0];let r=$n(e.positional[0]);e.positional[1];let i,s,o,a=$n(e.positional[1]);{let{once:t,passive:n,capture:r}=e.named;t&&(i=$n(t)),n&&(s=$n(n)),r&&(o=$n(r))}let l,c=!1;if(c=null===n||r!==n.eventName||a!==n.userProvidedCallback||i!==n.once||s!==n.passive||o!==n.capture,c&&(void 0===i&&void 0===s&&void 0===o||(l={once:i,passive:s,capture:o})),c){let e=a;this.listener={eventName:r,callback:e,userProvidedCallback:a,once:i,passive:s,capture:o,options:l},n&&bv(t,n.eventName,n.callback,n.options),function(t,e,n,r){yv++,t.addEventListener(e,n,r)}(t,r,e,l)}}}let yv=0,vv=0;function bv(t,e,n,r){vv++,t.removeEventListener(e,n,r)}const wv=Mr(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:yv,removes:vv}}create(t,e,n,r){return new mv(e,r)}getTag({tag:t}){return t}install(t){t.updateListener()}update(t){t.updateListener()}getDestroyable(t){return t}},{});class _v{constructor(t,e,n,r){this.stack=t,this.externs=n,this.currentOpSize=0,this.context=e,this.registers=r}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 r=e.program.opcode(n),i=this.currentOpSize=r.size;return this.registers[0]+=i,r}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){vm.evaluate(e,t,t.type)}}const xv=["javascript:","vbscript:"],Cv=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],Sv=["EMBED"],kv=["href","src","background","action"],Ev=["src"];function Tv(t,e){return-1!==t.indexOf(e)}function Rv(t,e){return(null===t||Tv(Cv,t))&&Tv(kv,e)}function Mv(t,e){return null!==t&&Tv(Sv,t)&&Tv(Ev,e)}function Lv(t,e){return Rv(t,e)||Mv(t,e)}let Iv;function Pv(t,e,n){if(null==n)return n;if(qm(n))return n.toHTML();const r=t.tagName.toUpperCase();let i=Bm(n);if(Rv(r,e)){let t=(s=i,Iv||(Iv=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"')}()),Iv(s));if(Tv(xv,t))return`unsafe:${i}`}var s;return Mv(r,e)?`unsafe:${i}`:i}function Av(t,e,n){const{tagName:r,namespaceURI:i}=t,s={element:t,name:e,namespace:n};if(i===pm)return Ov(r,e,s);const{type:o,normalized:a}=Jy(t,e);return"attr"===o?Ov(r,a,s):function(t,e,n){return Lv(t,e)?new Nv(e,n):function(t,e){return("INPUT"===t||"TEXTAREA"===t)&&"value"===e}(t,e)?new Bv(e,n):function(t,e){return"OPTION"===t&&"selected"===e}(t,e)?new Uv(e,n):new Dv(e,n)}(r,a,s)}function Ov(t,e,n){return Lv(t,e)?new jv(n):new zv(n)}class Fv{constructor(t){this.attribute=t}}class zv extends Fv{set(t,e,n){const r=$v(e);if(null!==r){const{name:e,namespace:n}=this.attribute;t.__setAttribute(e,r,n)}}update(t,e){const n=$v(t),{element:r,name:i}=this.attribute;null===n?r.removeAttribute(i):r.setAttribute(i,n)}}class Dv extends Fv{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 Nv extends Dv{set(t,e,n){const{element:r,name:i}=this.attribute,s=Pv(r,i,e);super.set(t,s,n)}update(t,e){const{element:n,name:r}=this.attribute,i=Pv(n,r,t);super.update(i,e)}}class jv extends zv{set(t,e,n){const{element:r,name:i}=this.attribute,s=Pv(r,i,e);super.set(t,s,n)}update(t,e){const{element:n,name:r}=this.attribute,i=Pv(n,r,t);super.update(i,e)}}class Bv extends Dv{set(t,e){t.__setProperty("value",Bm(e))}update(t){const e=this.attribute.element,n=e.value,r=Bm(t);n!==r&&(e.value=r)}}class Uv extends Dv{set(t,e){null!=e&&!1!==e&&t.__setProperty("selected",!0)}update(t){this.attribute.element.selected=!!t}}function $v(t){return!1===t||null==t||void 0===t.toString?null:!0===t?"":"function"==typeof t?null:String(t)}class qv{constructor(t){this.node=t}firstNode(){return this.node}}class Vv{constructor(t){this.node=t}lastNode(){return this.node}}class Wv{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 _n,this.modifierStack=new _n,this.blockStack=new _n,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 Hv(this.element))}pushResettableBlock(){return this.pushBlock(new Kv(this.element))}pushBlockList(t){return this.pushBlock(new Zv(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 r=new Gv(t);return this.pushBlock(r,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new Pm(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:r}=this,i=e.createTextNode(t);return e.insertBefore(n,i,r),i}__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:r}=this,i=e.createComment(t);return e.insertBefore(n,i,r),i}__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,r){let i=Av(this.constructing,t,r);return i.set(this,e,this.env),i}}class Hv{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 qv(t)),this.last=new Vv(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class Gv extends Hv{constructor(t){super(t),Ht(this,()=>{this.parentElement()===this.firstNode().parentNode&&Fm(this)})}}class Kv extends Hv{constructor(t){super(t)}reset(){Gt(this);let t=Fm(this);return this.first=null,this.last=null,this.nesting=0,t}}class Zv{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 Yv(t,e){return Wv.forInitialRender(t,e)}class Xv{constructor(t,{alwaysRevalidate:e=!1}){this.frameStack=new _n,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 nb(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class Jv{constructor(t,e,n,r){this.state=t,this.context=e,this.children=r,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 Qv extends Jv{evaluate(t){t.try(this.children,this)}handleException(){let{state:t,bounds:e,context:{env:n}}=this;!function(t){let{children:e}=Vt(t);$t(e,Gt)}(this);let r=Wv.resume(n,e),i=t.evaluate(r),s=this.children=[],o=i.execute(t=>{t.updateWith(this),t.pushUpdating(s)});Wt(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class tb extends Qv{constructor(t,e,n,r,i,s){super(t,e,n,[]),this.key=r,this.memo=i,this.value=s,this.retained=!1,this.index=-1}shouldRemove(){return!this.retained}reset(){this.retained=!1}}class eb extends Jv{constructor(t,e,n,r,i){super(t,e,n,r),this.iterableRef=i,this.type="list-block",this.opcodeMap=new Map,this.marker=null,this.lastIterator=$n(i)}initializeChild(t){t.index=this.children.length-1,this.opcodeMap.set(t.key,t)}evaluate(t){let e=$n(this.iterableRef);if(this.lastIterator!==e){let{bounds:n}=this,{dom:r}=t,i=this.marker=r.createComment("");r.insertAfter(n.parentElement(),i,n.lastNode()),this.sync(e),this.parentElement().removeChild(i),this.marker=null,this.lastIterator=e}super.evaluate(t)}sync(t){let{opcodeMap:e,children:n}=this,r=0,i=0;for(this.children=this.bounds.boundList=[];;){let s=t.next();if(null===s)break;let o=n[r],{key:a}=s;for(;void 0!==o&&o.retained;)o=n[++r];if(void 0!==o&&o.key===a)this.retainItem(o,s),r++;else if(e.has(a)){let t=e.get(a);if(t.index<i)this.moveItem(t,s,o);else{i=t.index;let e=!1;for(let t=r+1;t<i;t++)if(!n[t].retained){e=!0;break}e?(this.moveItem(t,s,o),r++):(this.retainItem(t,s),r=i+1)}}else this.insertItem(s,o)}for(const s of n)s.retained?s.reset():this.deleteItem(s)}retainItem(t,e){let{children:n}=this;qn(t.memo,e.memo),qn(t.value,e.value),t.retained=!0,t.index=n.length,n.push(t)}insertItem(t,e){let{opcodeMap:n,bounds:r,state:i,children:s,context:{env:o}}=this,{key:a}=t,l=void 0===e?this.marker:e.firstNode(),c=Wv.forInitialRender(o,{element:r.parentElement(),nextSibling:l});i.evaluate(c).execute(e=>{let r=e.enterItem(t);r.index=s.length,s.push(r),n.set(a,r),Wt(this,r)})}moveItem(t,e,n){let r,i,{children:s}=this;qn(t.memo,e.memo),qn(t.value,e.value),t.retained=!0,void 0===n?Om(t,this.marker):(r=t.lastNode().nextSibling,i=n.firstNode(),r!==i&&Om(t,i)),t.index=s.length,s.push(t)}deleteItem(t){Gt(t),Fm(t),this.opcodeMap.delete(t.key)}}class nb{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 rb{constructor(t,e,n,r){this.env=t,this.updating=e,this.bounds=n,this.drop=r,Wt(this,r),Ht(this,()=>Fm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new Xv(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class ib{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 sb{constructor(t,e){this.drop={},this.scope=new _n,this.dynamicScope=new _n,this.updating=new _n,this.cache=new _n,this.list=new _n,this.destroyable=new _n,this.scope.push(t),this.dynamicScope.push(e),this.destroyable.push(this.drop)}}class ob{#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:r},i,s){this.#m=[null,null,null,null,null,null,null,null,null];let o=ib.restore(n,r);this.#y=s,this.context=i,this.#g=new sb(t,e),this.args=new ay,this.lowlevel=new _v(o,i,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=Im.root(e.owner,e.scope??{self:Ln,size:0});const r=function(t,e,n){return{pc:t,scope:e,dynamicScope:n,stack:[]}}(t.program.heap.getaddr(e.handle),n,e.dynamicScope);return new ob(r,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 ab(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new Gm;e.push(n),e.push(new Km(t)),this.#g.cache.push(n),Pe()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=Ae();t.push(new Zm(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),r=new Qv(e,this.context,n,[]);this.didEnter(r)}enterItem({key:t,value:e,memo:n}){let{stack:r}=this,i=tr(e),s=tr(n);r.push(i),r.push(s);let o=this.capture(2),a=this.tree().pushResettableBlock(),l=new tb(o,this.context,a,t,s,i);return this.didEnter(l),l}registerItem(t){this.listBlock().initializeChild(t)}enterList(t,e){let n=[],r=this.lowlevel.target(e),i=this.capture(0,r),s=this.tree().pushBlockList(n),o=new eb(i,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=Im.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){Wt(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 rb(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class ab{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new ob(this.state,this.context,t)}}class lb{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function cb(t,e,n,r,i,s=new Lm){let o=gm(i.compile(t)),a=i.symbolTable.symbols.length,l=ob.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:r,handle:o,owner:e});return new lb(l)}function ub(t,e,n,r,i={},s=new Lm){return function(t,e,n,r,i){const s=Object.keys(i).map(t=>[t,i[t]]),o=["main","else","attrs"],a=s.map(([t])=>`@${t}`);let l=t.constants.component(r,n,void 0,"{ROOT}");t.lowlevel.pushFrame();for(let h=0;h<3*o.length;h++)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,u={handle:gm(c.compile(e)),symbolTable:c.symbolTable};return t.stack.push(t.args),t.stack.push(u),t.stack.push(l),new lb(t)}(ob.initial(t,{tree:e,handle:t.stdlib.main,dynamicScope:s,owner:n}),t,n,r,function(t){const e=On(t);return Object.keys(t).reduce((t,n)=>(t[n]=Vn(e,n),t),{})}(i))}function hb(t){return"%+b:0%"===t.nodeValue}class db extends Pm{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class pb extends Wv{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 r=this.currentCursor.element.firstChild;for(;null!==r&&!fb(r);)r=r.nextSibling;this.candidate=r;const i=mb(r);if(0!==i){const t=i-1,e=this.dom.createComment(`%+b:${t}%`);r.parentNode.insertBefore(e,this.candidate);let n=r.nextSibling;for(;null!==n&&(!gb(n)||mb(n)!==i);)n=n.nextSibling;const s=this.dom.createComment(`%-b:${t}%`);r.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 db(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&&!(gb(e)&&t>=yb(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:r}=t.element;fb(n)&&yb(n,this.startingBlockOffset)===e?(this.candidate=this.remove(n),t.openBlockDepth=e):"TITLE"!==r&&"SCRIPT"!==r&&"STYLE"!==r&&this.clearMismatch(n)}__closeBlock(){const{currentCursor:t}=this;if(null===t)return;const e=t.openBlockDepth;this.blockDepth--;const{candidate:n}=t;let r=!1;if(null!==n)if(r=!0,gb(n)&&yb(n,this.startingBlockOffset)===e){const e=this.remove(n);this.candidate=e,t.openBlockDepth--}else this.clearMismatch(n),r=!1;if(!r){const e=t.nextSibling;if(null!==e&&gb(e)&&yb(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(),r=new Am(this.element,t.nextSibling,n.previousSibling),i=this.remove(t);return this.remove(n),null!==i&&wb(i)&&(this.candidate=this.remove(i),null!==this.candidate&&this.clearMismatch(this.candidate)),r}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&&bb(t)){const e=t;let n=e.nextSibling;for(;!bb(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||wb(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&&vb(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(vb(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 r=this.unmatchedAttributes;if(r){const n=_b(r,t);if(n)return n.value!==e&&(n.value=e),void r.splice(r.indexOf(n),1)}return super.__setAttribute(t,e,n)}__setProperty(t,e){const n=this.unmatchedAttributes;if(n){const r=_b(n,t);if(r)return r.value!==e&&(r.value=e),void n.splice(n.indexOf(r),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 r=this.getMarker(t,e);if(!r||r.parentNode,void 0===n){for(;null!==t.firstChild&&t.firstChild!==r;)this.remove(t.firstChild);n=null}const i=new db(t,null,this.blockDepth);this.cursors.push(i),null===r?this.disableRehydration(n):this.candidate=this.remove(r);const s=new Gv(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 fb(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function gb(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function mb(t){return parseInt(t.nodeValue.slice(4),10)}function yb(t,e){return mb(t)-e}function vb(t){return 1===t.nodeType}function bb(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function wb(t){return 8===t.nodeType&&"% %"===t.nodeValue}function _b(t,e){for(const n of t)if(n.name===e)return n}function xb(t,e){return pb.forInitialRender(t,e)}const Cb=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:Am,CurriedValue:Tm,CursorImpl:Pm,DOMChanges:Xy,DOMTreeConstruction:Hy,DynamicAttribute:Fv,DynamicScopeImpl:Lm,EMPTY_ARGS:Sy,EMPTY_NAMED:xy,EMPTY_POSITIONAL:Cy,EnvironmentImpl:nv,IDOMChanges:Zy,LowLevelVM:_v,NewTreeBuilder:Wv,RehydrateTree:pb,RemoteBlock:Gv,ResettableBlockImpl:Kv,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:Im,SimpleDynamicAttribute:zv,TEMPLATE_ONLY_COMPONENT_MANAGER:zy,TemplateOnlyComponent:Dy,TemplateOnlyComponentManager:Fy,UpdatingVM:Xv,array:av,clear:Fm,clientBuilder:Yv,concat:cv,createCapturedArgs:gy,curry:Mm,destroy:Gt,dynamicAttribute:Av,fn:uv,get:hv,hash:dv,inTransaction:iv,invokeHelper:gv,isDestroyed:Yt,isDestroying:Zt,isSerializationFirstNode:hb,isWhitespace:function(t){return Gy.test(t)},normalizeProperty:Jy,on:wv,registerDestructor:Ht,rehydrationBuilder:xb,reifyArgs:function(t){return{named:my(t.named),positional:yy(t.positional)}},reifyNamed:my,reifyPositional:yy,renderComponent:ub,renderMain:cb,renderSync:function(t,e){let n;return iv(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){Py=Iy},runtimeOptions:rv,setDebuggerCallback:function(t){Py=t},templateOnlyComponent:Ny},Symbol.toStringTag,{value:"Module"})),Sb=wv,kb=Symbol("MUTABLE_CELL"),Eb=em({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),Tb=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:()=>[Sb],isStrictMode:!0});function Rb(){}class Mb{static toString(){return"internal component"}constructor(t,e,n){this.owner=t,this.args=e,this.caller=n,hi(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?$n(e):void 0}positional(t){let e=this.args.positional[t];return e?$n(e):void 0}listenerFor(t){return this.named(t)||Rb}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${et(this)}>`}}const Lb=new WeakMap;function Ib(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return Lb.set(n,t),Or(Ab,n),Xr(e,n),n}const Pb={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},Ab=new class{getCapabilities(){return Pb}create(t,e,n,r,i,s){var o;let a=new(o=e,Lb.get(o))(t,n.capture(),$n(s));return He(a.validateArguments.bind(a)),a}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}getDebugName(t){return t.toString()}getSelf(t){return On(t)}getDestroyable(t){return t}},Ob=Object.freeze({});function Fb(t){return function(t){return t.target}(t).value}function zb(t){return void 0===t?new Db(void 0):Bn(t)?new Db($n(t)):Un(t)?new Nb(t):new jb(t)}class Db{static{kh(this.prototype,"value",[Is])}#v=void Rh(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class Nb{constructor(t){this.reference=t}get(){return $n(this.reference)}set(t){qn(this.reference,t)}}class jb{local;upstream;lastUpstreamValue=Ob;constructor(t){this.upstream=new Nb(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new Db(t)),this.local.get()}set(t){this.local.set(t)}}class Bb extends Mb{validateArguments(){super.validateArguments()}_value=zb(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=Fb(t)}static{Th(this.prototype,"valueDidChange",[Pu])}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{Th(this.prototype,"keyUp",[Pu])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(Fb(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let Ub;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,Ub=n=>{let r=t[n];if(void 0===r){try{e.type=n,r=e.type===n}catch(i){r=!1}finally{e.type="text"}t[n]=r}return r}}else Ub=t=>""!==t;class $b extends Bb{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":Ub(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=zb(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{Th(this.prototype,"change",[Pu])}input(t){this.isCheckbox||super.input(t)}static{Th(this.prototype,"input",[Pu])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{Th(this.prototype,"checkedDidChange",[Pu])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const qb=Ib($b,Tb),Vb=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:()=>[Sb],isStrictMode:!0}),Wb=[],Hb={};function Gb(t){return null==t}function Kb(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class Zb extends Mb{static toString(){return"LinkTo"}static{kh(this.prototype,"routing",[$f("-routing")])}#b=void Rh(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:r}=this;return De(on(t,"currentState")),t.generateURL(e,n,r)}click(t){if(!Fu(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:r,models:i,query:s,replace:o}=this,a={transition:void 0};ch(0,0,()=>{a.transition=n.transitionTo(r,i,s,o)})}static{Th(this.prototype,"click",[Pu])}get route(){if("route"in this.args.named){let t=this.named("route");return t&&this.namespaceRoute(t)}return this.currentRoute}currentRouteCache=$e(()=>(De(on(this.routing,"currentState")),He(()=>this.routing.currentRouteName)));get currentRoute(){return qe(this.currentRouteCache)}get models(){return"models"in this.args.named?this.named("models"):"model"in this.args.named?[this.named("model")]:Wb}get query(){return"query"in this.args.named?{...this.named("query")}:Hb}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 Gb(this.route)||this.models.some(t=>Gb(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||Gb(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!Gb(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:r}=this;return e.split(" ").some(e=>r.isActiveForRoute(n,void 0,this.namespaceRoute(e),t))}{let{route:e,models:n,query:r,routing:i}=this;return i.isActiveForRoute(n,r,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:Yb}=Zb,Xb=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||Xb(Object.getPrototypeOf(t),e):null;{let t=Yb.onUnsupportedArgument;Object.defineProperty(Yb,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=Xb(Yb,"models").get;Object.defineProperty(Yb,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&Kb(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=Xb(Yb,"query").get;Object.defineProperty(Yb,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return Kb(t)?t.values??Hb:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(Kb(t)&&null!==t.values)return t.values}return Hb}}})}{let t=Yb.onUnsupportedArgument;Object.defineProperty(Yb,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const Jb=Ib(Zb,Vb),Qb=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:()=>[Sb],isStrictMode:!0});class tw extends Bb{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{Th(this.prototype,"change",[Pu])}input(t){super.input(t)}static{Th(this.prototype,"input",[Pu])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const ew=Ib(tw,Qb);function nw(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function rw(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?Vn(t,e[0]):Wn(t,e)}function iw(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function sw(t,e,n,r){let[i,s,o]=n;if("id"===s){let e=Cs(t,i);null==e&&(e=t.elementId);let n=Mn(e);return void r.setAttribute("id",n,!0,null)}let a=i.indexOf(".")>-1?rw(e,i.split(".")):Vn(e,i);r.setAttribute(s,a,!1,null)}function ow(t,e){let n;return zn(()=>{let r=$n(t);return!0===r?n||(n=Ff(e)):r||0===r?String(r):null})}function aw(){}class lw{classRef=null;rootRef;argsRevision;constructor(t,e,n,r,i,s){this.component=t,this.args=e,this.argsTag=n,this.finalizer=r,this.hasWrappedElement=i,this.isInteractive=s,this.classRef=null,this.argsRevision=null===e?0:he(n),this.rootRef=On(t),Ht(this,()=>this.willDestroy(),!0),Ht(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){Oe(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),Fe();let e=$u(t);e&&(Wu(e),Hu(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=aw}}function cw(t){let e=Object.create(null),n=Object.create(null);for(let r in t){let i=t[r],s=$n(i);Un(i)?e[r]=new hw(i,s):e[r]=s,n[r]=s}return n.attrs=e,n}const uw=Symbol("REF");class hw{value;[kb];[uw];constructor(t,e){this[kb]=!0,this[uw]=t,this.value=e}update(t){qn(this[uw],t)}}const dw=St("ARGS"),pw=St("HAS_BLOCK"),fw=Symbol("DIRTY_TAG"),gw=Symbol("IS_DISPATCHING_ATTRS"),mw=Symbol("BOUNDS"),yw=Mn("ember-view");class vw{templateFor(t){let e,{layout:n,layoutName:r}=t,i=ui(t);if(void 0===n){if(void 0===r)return null;e=i.lookup(`template:${r}`)}else{if("function"!=typeof n)return null;e=n}return nw(e(i)).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 _w}prepareArgs(t,e){if(e.named.has("__ARGS__")){let{__ARGS__:t,...n}=e.named.capture(),r=$n(t);return{positional:r.positional,named:{...n,...r.named}}}const{positionalParams:n}=t.class??t;if(null==n||0===e.positional.length)return null;let r;if("string"==typeof n){let t=e.positional.capture();r={[n]:zn(()=>yy(t))},Object.assign(r,e.named.capture())}else{if(!(Array.isArray(n)&&n.length>0))return null;{const t=Math.min(n.length,e.positional.length);r={},Object.assign(r,e.named.capture());for(let i=0;i<t;i++)r[n[i]]=e.positional.at(i)}}return{positional:un,named:r}}create(t,e,n,{isInteractive:r},i,s,o){let a=i.view,l=n.named.capture();Pe();let c=cw(l);c[dw]=l;let u=Ae();!function(t,e){t.named.has("id")&&(e.elementId=e.id)}(n,c),c.parentView=a,c[pw]=o,c._target=$n(s),hi(c,t),Oe();let h=e.create(c),d=hh("render.component",bw,h);i.view=h,null!=a&&Zu(a,h),h.trigger("didReceiveAttrs");let p=""!==h.tagName;p||(r&&h.trigger("willRender"),h._transitionTo("hasElement"),r&&h.trigger("willInsertElement"));let f=new lw(h,l,u,d,p,r);return n.named.has("class")&&(f.classRef=n.named.get("class")),r&&p&&h.trigger("willRender"),Fe(),De(f.argsTag),De(h[fw]),f}getDebugName(t){return t.fullName||t.normalizedName||t.class?.name||t.name}getSelf({rootRef:t}){return t}didCreateElement({component:t,classRef:e,isInteractive:n,rootRef:r},i,s){Vu(t,i),qu(i,t);let{attributeBindings:o,classNames:a,classNameBindings:l}=t;if(o&&o.length)!function(t,e,n,r){let i=[],s=t.length-1;for(;-1!==s;){let o=iw(t[s]),a=o[1];-1===i.indexOf(a)&&(i.push(a),sw(e,n,o,r)),s--}if(-1===i.indexOf("id")){let t=e.elementId?e.elementId:et(e);r.setAttribute("id",Mn(t),!1,null)}}(o,t,r,s);else{let e=t.elementId?t.elementId:et(t);s.setAttribute("id",Mn(e),!1,null)}if(e){const t=ow(e);s.setAttribute("class",t,!1,null)}a&&a.length&&a.forEach(t=>{s.setAttribute("class",Mn(t),!1,null)}),l&&l.length&&l.forEach(t=>{!function(t,e,n){let r=e.split(":"),[i,s,o]=r;if(""===i)n.setAttribute("class",Mn(s),!0,null);else{let e,r=i.indexOf(".")>-1,a=r?i.split("."):[],l=r?rw(t,a):Vn(t,i);e=void 0===s?ow(l,r?a[a.length-1]:i):function(t,e,n){return zn(()=>$n(t)?e:n)}(l,s,o),n.setAttribute("class",e,!1,null)}}(r,t,s)}),s.setAttribute("class",yw,!1,null),"ariaRole"in t&&s.setAttribute("role",Vn(r,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(Oe(),t.trigger("willInsertElement"),Fe())}didRenderLayout(t,e){t.component[mw]=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:r,argsRevision:i,isInteractive:s}=t;if(t.finalizer=hh("render.component",ww,e),Oe(),null!==n&&!de(r,i)){Pe();let i=cw(n);r=t.argsTag=Ae(),t.argsRevision=he(r),e[gw]=!0,e.setProperties(i),e[gw]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),Fe(),De(r),De(e[fw])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function bw(t){return t.instrumentDetails({initialRender:!0})}function ww(t){return t.instrumentDetails({initialRender:!1})}const _w={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},xw=new vw;function Cw(t){return t===xw}let Sw=new WeakMap;const kw=Object.freeze([]);class Ew extends(Ph.extend(ic,Ah,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:kw,classNameBindings:kw})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[gw]=!1,this[fw]=ye(),this[mw]=null;const e=this._dispatcher;if(e){let t=Sw.get(e);t||(t=new WeakSet,Sw.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=ui(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[fw]),this._superRerender()}[rs](t,e){if(this[gw])return;let n=this[dw],r=void 0!==n?n[t]:void 0;void 0!==r&&Un(r)&&qn(r,2===arguments.length?e:Cs(this,t))}getAttr(t){return this.get(t)}readDOMAttr(t){let e=$u(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:r,normalized:i}=Jy(e,t);return n||"attr"===r?e.getAttribute(i):e[i]}get childViews(){return Ku(this)}static{Th(this.prototype,"childViews",[Ci({configurable:!1,enumerable:!1})])}appendChild(t){Zu(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{Th(this.prototype,"element",[Ci({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"}}Ew.reopenClass({positionalParams:[]}),Or(xw,Ew);const Tw=Symbol("RECOMPUTE_TAG"),Rw=Symbol("IS_CLASSIC_HELPER");class Mw extends ih{static isHelperFactory=!0;static[Rw]=!0;static helper=Ow;init(t){super.init(t),this[Tw]=ye()}recompute(){va(()=>ge(this[Tw]))}}class Lw{capabilities=vr(0,{hasValue:!0,hasDestroyable:!0});ownerInjection;constructor(t){let e={};hi(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:r}=e,i=t.compute(n,r);return De(t[Tw]),i}getDebugName(t){return nt((t.class||t).prototype)}}Kr(t=>new Lw(t),Mw);const Iw=Ar(Mw);class Pw{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const Aw=new class{capabilities=vr(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 Ow(t){return new Pw(t)}Kr(()=>Aw,Pw.prototype);class Fw{__string;constructor(t){this.__string=t}toString(){return`${this.__string}`}toHTML(){return this.toString()}}const zw=function(t){return null==t?t="":"string"!=typeof t&&(t=String(t)),new Fw(t)};function Dw(t){return{object:`${t.name}:main`}}const Nw={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},jw=fr(Nw),Bw=new class{create(t,e,n,r,i){let s=i.get("outletState"),o=e.ref;i.set("outletState",o);let a={finalize:hh("render.outlet",Dw,e)};if(void 0!==r.debugRenderTree){let t=$n(s),e=t?.render?.owner,n=$n(o),r=n?.render?.owner;if(e&&e!==r){let{mountPoint:t}=r;t&&(a.engine={mountPoint:t,instance:r})}}return a}getDebugName({name:t}){return`{{outlet}} for ${t}`}getDebugCustomRenderTree(t,e){let n=[];return n.push({bucket:e,type:"outlet",name:"main",args:Sy,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Sy,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return Nw}getSelf(){return Ln}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},Uw=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 $w{handle=-1;resolvedName=null;manager=Bw;capabilities=jw;compilable;constructor(t,e){this.state=e,this.compilable=nw(Uw(t)).asLayout()}}class qw extends vw{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:r},i){let s=this.component,o=hh("render.component",bw,s);i.view=s;let a=""!==s.tagName;a||(r&&s.trigger("willRender"),s._transitionTo("hasElement"),r&&s.trigger("willInsertElement"));let l=new lw(s,null,be,o,a,r);return De(s[fw]),l}}const Vw={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 Ww{handle=-1;resolvedName="-top-level";state;manager;capabilities=fr(Vw);compilable=null;constructor(t){this.manager=new qw(t);let e=xl(t);this.state=e}}function Hw(t){return Ir(t,{})}class Gw{constructor(t){this.inner=t}}const Kw=Hw(({positional:t})=>{const e=t[0];return zn(()=>{let t=$n(e);return De(gi(t)),ei(t)&&(t=Jl(t)),new Gw(t)})});class Zw{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),r=this.memoFor(e);return this.position++,{value:n,memo:r}}}class Yw extends Zw{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 Xw extends Zw{static from(t){return t.length>0?new this(t):null}constructor(t){super(t.length),this.array=t}valueFor(t){return di(this.array,t)}}class Jw extends Zw{static fromIndexable(t){let e=Object.keys(t);if(0===e.length)return null;{let n=[];for(let r of e){let e;e=t[r],ze()&&(De(on(t,r)),Array.isArray(e)&&De(on(e,"[]"))),n.push(e)}return new this(e,n)}}static fromForEachable(t){let e=[],n=[],r=0,i=!1;return t.forEach(function(t,s){i=i||arguments.length>=2,i&&e.push(s),n.push(t),r++}),0===r?null:i?new this(e,n):new Yw(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 Qw{static from(t){let e=t[Symbol.iterator](),n=e.next(),{done:r}=n;return r?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 r=this.valueFor(e,n),i=this.memoFor(e,n);return this.position++,this.result=t.next(),{value:r,memo:i}}}class t_ extends Qw{valueFor(t){return t.value}memoFor(t,e){return e}}class e_ extends Qw{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function n_(t){return null!=t&&"function"==typeof t.forEach}function r_(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var i_;i_={scheduleRevalidate(){ma.ensureInstance()},toBool:function(t){return ei(t)?(De(fi(t,"content")),Boolean(Cs(t,"isTruthy"))):Jh(t)?(De(fi(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 Gw?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||ii(t)?Jw.fromIndexable(t):r_(t)?e_.from(t):n_(t)?Jw.fromForEachable(t):Jw.fromIndexable(t):null}(t.inner):function(t){return G(t)?Array.isArray(t)?Yw.from(t):ii(t)?Xw.from(t):r_(t)?t_.from(t):n_(t)?Yw.fromForEachable(t):null:null}(t)},getProp:Ss,setProp:zs,getPath:Cs,setPath:Fs,scheduleDestroy(t,e){wa("actions",null,e,t)},scheduleDestroyed(t){wa("destroy",null,t)}},jt=i_.scheduleRevalidate,Mt=i_.scheduleDestroy,Lt=i_.scheduleDestroyed,It=i_.toIterator,Pt=i_.toBool,At=i_.getProp,Ot=i_.setProp,Ft=i_.getPath,zt=i_.setPath;class s_{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const o_=Hw(({positional:t,named:e})=>{const n=t[0];let r=e.type,i=e.loc,s=e.original;return $n(r),$n(i),$n(s),zn(()=>$n(n))});let a_;a_=t=>t.positional[0];const l_=Hw(a_),c_=Hw(({positional:t})=>zn(()=>{let e=t[0],n=t[1],r=$n(e).split("."),i=r[r.length-1],s=$n(n);return!0===s?Ff(i):s||0===s?String(s):""})),u_=Hw(({positional:t},e)=>{let n=$n(t[0]);return On(e.factoryFor(n)?.class)}),h_=Hw(({positional:t})=>{const e=t[0];return zn(()=>{let t=$n(e);return G(t)&&De(fi(t,"[]")),t})}),d_=Hw(({positional:t})=>jn(t[0])),p_=Hw(({positional:t})=>Dn(t[0])),f_=Hw(({positional:t,named:e})=>Fn($n(t[0]))),g_=Hw(()=>On(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),m_={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},y_=new class{getDynamicLayout(t){return nw(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return m_}getOwner(t){return t.engine}create(t,{name:e},n,r){let i=t.buildChildEngineInstance(e);i.boot();let s,o,a,l,c=i.factoryFor("controller:application")||pp(i,"application");if(n.named.has("model")&&(l=n.named.get("model")),void 0===l)s=c.create(),o=On(s),a={engine:i,controller:s,self:o,modelRef:l};else{let t=$n(l);s=c.create({model:t}),o=On(s),a={engine:i,controller:s,self:o,modelRef:l}}return r.debugRenderTree&&Wt(i,s),a}getDebugName({name:t}){return t}getDebugCustomRenderTree(t,e,n,r){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:r}]}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",$n(n))}};class v_{handle=-1;state;manager=y_;compilable=null;capabilities=fr(m_);constructor(t){this.resolvedName=t,this.state={name:t}}}const b_=Hw((t,e)=>{let n,r,i,s=t.positional[0];return n=gy(t.named,Cy),zn(()=>{let t=$n(s);return"string"==typeof t?(r===t||(r=t,i=Mm(0,new v_(t),e,n,!0)),i):(i=null,r=null,null)})}),w_={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},__=fr(w_),x_=new class{create(t,e,n){let r=n.named.get("controller");return{self:r,controller:$n(r)}}getSelf({self:t}){return t}getDebugName({name:t}){return`route-template (${t})`}getDebugCustomRenderTree({name:t,templateName:e},n,r){return[{bucket:n,type:"route-template",name:t,args:r,instance:n.controller,template:e}]}getCapabilities(){return w_}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class C_{handle=-1;resolvedName;state;manager=x_;capabilities=__;compilable;constructor(t,e){let n=nw(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function S_(t,e,n){return Mm(0,new C_(e,n),t,null,!0)}const k_=Hw((t,e,n)=>{let r=zn(()=>{let t=$n(n.get("outletState"));return t?.outlets?.main}),i=null,s=null;return zn(()=>{let t=$n(r),n=function(t,e){if(void 0===e)return null;let n=e.render;if(void 0===n)return null;let r=n.template;return null==r?null:{ref:t,name:n.name,template:r,controller:n.controller}}(r,t);if(!function(t,e){return null!==t&&null!==e&&t.template===e.template&&t.controller===e.controller}(n,i))if(i=n,null!==n){let o,a=t?.render?.owner??e,l=vn(),c=n.template;o=zr(c)?c:S_(a,n.name,c),l.Component=On(o),l.controller=On(n.controller);let u=Wn(r,["render","model"]),h=$n(u);l.model=zn(()=>(i===n&&(h=$n(u)),h));let d=gy(l,Cy);s=Mm(0,new $w(e,n),a,d,!0)}else s=null;return s})});function E_(t){return{object:`component:${t}`}}const T_={mut:d_,readonly:p_,unbound:f_,"-hash":dv,"-each-in":Kw,"-normalize-class":c_,"-resolve":u_,"-track-array":h_,"-mount":b_,"-outlet":k_,"-in-el-null":l_},R_={...T_,array:av,concat:cv,fn:uv,get:hv,hash:dv,"unique-id":g_};R_["-disallow-dynamic-resolution"]=o_;const M_={},L_={...M_,on:wv};class I_{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=R_[t];if(void 0!==n)return n;let r=e.factoryFor(`helper:${t}`);if(void 0===r)return null;let i=r.class;return void 0===i?null:"function"==typeof i&&!0===i[Rw]?(Ir(Iw,r),r):i}lookupBuiltInHelper(t){return T_[t]??null}lookupModifier(t,e){let n=L_[t];if(void 0!==n)return n;let r=e.factoryFor(`modifier:${t}`);return void 0===r?null:r.class||null}lookupBuiltInModifier(t){return M_[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!=(r=n)&&"function"==typeof r.create&&n.class){let t=Jr(n.class);if(void 0!==t)return{component:n,layout:t}}var r;return null===n?null:{component:n,layout:null}}(e,t);if(null===n)return null;let r,i=null;r=null===n.component?i=n.layout(e):n.component;let s=this.componentDefinitionCache.get(r);if(void 0!==s)return s;null===i&&null!==n.layout&&(i=n.layout(e));let o=hh("render.getComponentDefinition",E_,t),a=null;if(null===n.component)a={state:Ny(void 0,t),manager:zy,template:i};else{let t=n.component,e=t.class,r=Fr(e);a={state:Cw(r)?t:e,manager:r,template:i}}return o(),this.componentDefinitionCache.set(r,a),a}}const P_="-top-level";class A_{static extend(t){return class extends A_{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:r}=t,i=ui(t),s=r(i);return new A_(e,i,s,n)}ref;state;constructor(t,e,n,r){this._environment=t,this.owner=e,this.template=n,this.namespace=r;let i=ye(),s={outlets:{main:void 0},render:{owner:e,name:P_,controller:void 0,model:void 0,template:n}},o=this.ref=zn(()=>(De(i),s),t=>{ge(i),s.outlets.main=t});this.state={ref:o,name:P_,template:n,controller:void 0}}appendTo(t){let e;e=this._environment.hasDOM&&"string"==typeof t?document.querySelector(t):t,wa("render",this.owner.lookup("renderer:-dom"),"appendOutletView",this,e)}rerender(){}setOutletState(t){qn(this.ref,t)}destroy(){}}class O_{constructor(t,e){this.view=t,this.outletState=e}child(){return new O_(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const F_=()=>{};class z_{type="component";#w;#_;constructor(t,e,n){this.#_=()=>{let r=ub(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),i=this.#w=r.sync();Wt(this,this.#w),this.#_=()=>{if(!Zt(i)&&!Yt(i))return i.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#_()}destroy(){Gt(this)}get destroyed(){return Yt(this)}get result(){return this.#w}}class D_{type="classic";id;result;destroyed;render;env;constructor(t,e,n,r,i,s,o,a){this.root=t,this.id=t instanceof A_?et(t):Nu(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=nw(r).asLayout(),l=cb(e,n,i,a(e.env,{element:s,nextSibling:null}),t,o),c=this.result=l.sync();Wt(n,c),this.render=()=>{if(!Zt(c)&&!Yt(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&&iv(e,()=>Gt(t))}}const N_=[];function j_(t){let e=N_.indexOf(t);N_.splice(e,1)}let B_=null,U_=0;ma.on("begin",function(){for(let t of N_)t.rerender()}),ma.on("end",function(){for(let t of N_)if(!t.isValid()){if(U_>g._RERENDER_LOOP_LIMIT)throw U_=0,t.destroy(),new Error("infinite rendering invalidation detected");return U_++,ma.join(null,F_)}U_=0,function(){if(null!==B_){let t=B_.resolve;B_=null,ma.join(null,t)}}()});class $_{static create(t,e){const n=new $_(t,e);return Wt(e,n),n}#x;#C=-1;#S=!1;#k=!1;#E=[];#T=[];constructor(t,e){this.#x=t,Ht(this,()=>{this.clearAllRoots(e)})}get debug(){return{roots:this.#E,inRenderTransaction:this.#S,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),Wt(this,t),1===n.length&&function(t){N_.push(t)}(e),this.#R(e),t}#R(t){if(this.#S)return;this.#S=!0;let e=!1;try{this.renderRoots(t),e=!0}finally{e||(this.#C=he(Se)),this.#S=!1}}renderRoots(t){let e,n=this.#E,r=this.#T;do{e=n.length,iv(this.context.env,()=>{for(let t=0;t<n.length;t++){let i=n[t];i.destroyed?r.push(i):t>=e||i.render()}this.#C=he(Se)})}while(n.length>e);for(;r.length;){let t=r.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#E.length&&j_(t)}scheduleRevalidate(t){ma.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#k||0===this.#E.length||de(Se,this.#C)}revalidate(t){this.isValid()||this.#R(t)}clearAllRoots(t){let e=this.#E;for(let n of e)Gt(n);this.#T.length=0,this.#E=[],e.length&&j_(t)}}class q_{static strict(t,n,r){return new q_(t,{hasDOM:e,...r},n,new I_,Yv)}state;constructor(t,e,n,r,i){let s={constants:new lm,heap:new um},o=rv({document:n},new s_(t,e.isInteractive),s,r),a=new Xg(s,t=>new cm(t),o);this.state=$_.create({owner:t,context:a,builder:i},this)}get debugRenderTree(){let{debugRenderTree:t}=this.state.env;return t}isValid(){return this.state.isValid()}destroy(){Gt(this)}render(t,e){const n=new z_(this.state,t,{args:e.args,into:(r=e.into,"element"in r?r:{element:r,nextSibling:null})});var r;return this.state.renderRoot(n,this)}rerender(){this.state.scheduleRevalidate(this)}}class V_ extends q_{static strict(t,n,r){return new q_(t,{hasDOM:e,...r},n,new I_,Yv)}_rootTemplate;_viewRegistry;static create(t){let{_viewRegistry:e}=t,n=ui(t),r=n.lookup("service:-document"),i=n.lookup("-environment:main"),s=n.lookup(Ml`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,r,i,s,e,o)}constructor(t,e,n,r,i,s=Yv,o=new I_){super(t,n,e,o,s),this._rootTemplate=r(t),this._viewRegistry=i||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new $w((r=t).owner,r.state);var r;let{name:i,template:s}=t.state,o=vn();o.Component=On(S_(t.owner,i,s)),o.controller=Ln,o.model=Ln;let a=gy(o,Cy);this._appendDefinition(t,Mm(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new Ww(t);this._appendDefinition(t,Mm(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let r=On(e),i=new O_(null,Ln),s=new D_(t,this.state.context,this.state.owner,this._rootTemplate,r,n,i,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(Yt(this))return;let e=this.state.roots,n=e.length;for(;n--;){let r=e[n];"classic"===r.type&&r.isFor(t)&&(r.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=Nu(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[Nu(t)]}getElement(t){if(this._isInteractive)return $u(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[mw];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const W_=em({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[k_],isStrictMode:!0});class H_ 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 G_(t),this.setupRegistry(t),t.rootElement?this.rootElement=t.rootElement:this.rootElement=this.application.rootElement,t.location&&Fs(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=Cs(this.application,"customEvents"),n=Cs(this,"customEvents"),r=Object.assign({},e,n);return t.setup(r,this.rootElement),t}getURL(){return this.router.url}visit(t){this.setupRouter();let e=this.__container__.lookup("-environment:main"),n=this.router,r=()=>e.options.shouldRender?(null===B_&&(B_=du.defer(),pa()||ma.schedule("actions",null,F_)),B_.promise).then(()=>this):this,i=t=>{if(t.error&&t.error instanceof Error)throw t.error;if("TransitionAborted"===t.name&&n._routerMicrolib.activeTransition)return n._routerMicrolib.activeTransition.then(r,i);throw"TransitionAborted"===t.name?new Error(t.message):t},s=Cs(n,"location");return s.setURL(t),n.handleURL(s.getURL()).then(r,i)}willDestroy(){super.willDestroy(),this.application._unwatchInstance(this)}static setupRegistry(t,e={}){let n=e instanceof G_?e:new G_(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class G_{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 K_(t,e){return null!=t&&"function"==typeof t[e]}class Z_ extends Mu{static NAMESPACES=ao;static NAMESPACES_BY_ID=lo;static processAll=go;static byName=po;init(t){super.init(t),co(this)}toString(){let t=Cs(this,"name")||Cs(this,"modulePrefix");if(t)return t;ho();let e=no(this);return void 0===e&&(e=et(this),eo(this,e)),e}nameClasses(){fo(this)}destroy(){return uo(this),super.destroy()}}Z_.prototype.isNamespace=!0;const Y_=Object.freeze(Object.defineProperty({__proto__:null,default:Z_},Symbol.toStringTag,{value:"Module"}));var X_=function(){function t(){this._vertices=new J_}return t.prototype.add=function(t,e,n,r){if(!t)throw new Error("argument `key` is required");var i=this._vertices,s=i.add(t);if(s.val=e,n)if("string"==typeof n)i.addEdge(s,i.add(n));else for(var o=0;o<n.length;o++)i.addEdge(s,i.add(n[o]));if(r)if("string"==typeof r)i.addEdge(i.add(r),s);else for(o=0;o<r.length;o++)i.addEdge(i.add(r[o]),s)},t.prototype.addEdges=function(t,e,n,r){this.add(t,e,n,r)},t.prototype.each=function(t){this._vertices.walk(t)},t.prototype.topsort=function(t){this.each(t)},t}(),J_=function(){function t(){this.length=0,this.stack=new Q_,this.path=new Q_,this.result=new Q_}return t.prototype.add=function(t){if(!t)throw new Error("missing key");for(var e,n=0|this.length,r=0;r<n;r++)if((e=this[r]).key===t)return e;return this.length=n+1,this[n]={idx:n,key:t,val:void 0,out:!1,flag:!1,length:0}},t.prototype.addEdge=function(t,e){this.check(t,e.key);for(var n=0|e.length,r=0;r<n;r++)if(e[r]===t.idx)return;e.length=n+1,e[n]=t.idx,t.out=!0},t.prototype.walk=function(t){this.reset();for(var e=0;e<this.length;e++){var n=this[e];n.out||this.visit(n,"")}this.each(this.result,t)},t.prototype.check=function(t,e){if(t.key===e)throw new Error("cycle detected: "+e+" <- "+e);if(0!==t.length){for(var n=0;n<t.length;n++)if(this[t[n]].key===e)throw new Error("cycle detected: "+e+" <- "+t.key+" <- "+e);if(this.reset(),this.visit(t,e),this.path.length>0){var r="cycle detected: "+e;throw this.each(this.path,function(t){r+=" <- "+t}),new Error(r)}}},t.prototype.reset=function(){this.stack.length=0,this.path.length=0,this.result.length=0;for(var t=0,e=this.length;t<e;t++)this[t].flag=!1},t.prototype.visit=function(t,e){var n=this,r=n.stack,i=n.path,s=n.result;for(r.push(t.idx);r.length;){var o=0|r.pop();if(o>=0){var a=this[o];if(a.flag)continue;if(a.flag=!0,i.push(o),e===a.key)break;r.push(~o),this.pushIncoming(a)}else i.pop(),s.push(~o)}},t.prototype.pushIncoming=function(t){for(var e=this.stack,n=t.length-1;n>=0;n--){var r=t[n];this[r].flag||e.push(r)}},t.prototype.each=function(t,e){for(var n=0,r=t.length;n<r;n++){var i=this[t[n]];e(i.key,i.val)}},t}(),Q_=function(){function t(){this.length=0}return t.prototype.push=function(t){this[this.length++]=0|t},t.prototype.pop=function(){return 0|this[--this.length]},t}();class tx extends Mu{constructor(t){super(t),this.resolver=ui(this).lookup("resolver-for-debugging:main")}resolver;canCatalogEntriesByType(t){return"model"!==t&&"template"!==t}catalogEntriesByType(t){let e=Z_.NAMESPACES,n=[],r=new RegExp(`${i=t,Pf.get(i)}$`);var i;return e.forEach(t=>{for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&r.test(e)&&"class"===zh(t[e])&&n.push(Ff(e.replace(r,"")))}),n}}class ex extends Mu{componentFor(t,e){let n=`component:${t}`;return e.factoryFor(n)}layoutFor(t,e,n){let r=`template:components/${t}`;return e.lookup(r,n)}}const nx=new WeakMap;class rx extends Wv{__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=`<tbody>${t}</tbody>`)}""===t?this.__appendComment("% %"):super.__appendHTML(t);let r=this.__appendComment("%glmr%");return new Am(this.element,n,r)}__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:r}=this,i=r.createElement("script");return i.setAttribute("glmr",e),r.insertBefore(t,i,n),super.pushRemoteElement(t,e,n)}constructor(...t){super(...t),this.serializeBlockDepth=0}}function ix(t,e){return rx.forInitialRender(t,e)}function sx(t){t.register("service:-dom-builder",{create(t){switch(ui(t).lookup("-environment:main")._renderMode){case"serialize":return ix.bind(null);case"rehydrate":return xb.bind(null);default:return Yv.bind(null)}}}),t.register(Ml`template:-root`,Eb),t.register("renderer:-dom",V_)}class ox extends(Z_.extend(Gl)){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=Fs,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",A_),t.register("template:-outlet",W_),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",qb),t.register("component:link-to",Jb),t.register("component:textarea",ew)}(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,r=Cs(this.constructor,t),i=function(t){let e=[];for(let n in t)e.push(n);return e}(r),s=new X_;for(let o of i)n=r[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,ux=hi;let hx=class 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",eh),t.register("location:hash",bf),t.register("location:history",xf),t.register("location:none",Cf),t.register(Ml`-bucket-cache:main`,{create:()=>new Pp}),t.register("service:router",Gf)}(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 H_.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)wa("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=pu.defer();this._bootPromise=t.promise;try{this.runInitializers(),fl("application",this),this.advanceReadiness()}catch(v5){throw t.reject(v5),v5}}reset(){let t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,va(this,function(){ya(t,"destroy"),this._buildDeprecatedInstance(),wa("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(v5){throw this._bootResolver.reject(v5),v5}}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:hx,getOwner:cx,onLoad:pl,runLoadHooks:fl,setOwner:ux},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:{}},vx=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 bx;bx={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,r=e.workflow??[],i=n.values().filter(t=>!r.some(e=>e.matchId===t)).map(e=>({handler:t,matchId:e})),s={...e,workflow:[...r,...i]};return`import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow';\n\nsetupDeprecationWorkflow(${JSON.stringify(s,void 0,2)});`}({config:bx,...t});const wx=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));function _x(t,e){return Ht(t,e)}function xx(t,e){return function(t,e,n=!1){let r=Vt(t),i=n?"eagerDestructors":"destructors";r[i]=qt(r[i],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 r=n[e];void 0===r&&(r=n[e]=new Map)}();const Cx=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Nt,associateDestroyableChild:Wt,destroy:Gt,enableDestroyableTracking:Dt,isDestroyed:Yt,isDestroying:Zt,registerDestructor:_x,unregisterDestructor:xx},Symbol.toStringTag,{value:"Module"}));let Sx;Sx=af;var kx=Sx;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"),this.route("oauth",function(){this.route("osm-callback",{path:"/osm/callback"})})});const Tx=Object.freeze(Object.defineProperty({__proto__:null,default:Ex},Symbol.toStringTag,{value:"Module"}));let Rx=(t=21)=>{let e="",n=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&n[t]];return e};function Mx(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Lx(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Ix(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}const Px="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,Ax=t=>t instanceof Uint8Array,Ox=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Fx=(t,e)=>t<<32-e|t>>>e;
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");function zx(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array((new TextEncoder).encode(t))}(t)),!Ax(t))throw new Error("expected Uint8Array, got "+typeof t);return t}let Dx=class{clone(){return this._cloneInto()}};function Nx(t){const e=e=>t().update(zx(e)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function jx(t=32){if(Px&&"function"==typeof Px.getRandomValues)return Px.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}let Bx=class extends Dx{constructor(t,e,n,r){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Ox(this.buffer)}update(t){Ix(this);const{view:e,buffer:n,blockLen:r}=this,i=(t=zx(t)).length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);if(o===r){const e=Ox(t);for(;r<=i-s;s+=r)this.process(e,s);continue}n.set(t.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===r&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ix(this),function(t,e){Lx(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:r,isLE:i}=this;let{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>r-s&&(this.process(n,0),s=0);for(let u=s;u<r;u++)e[u]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const i=BigInt(32),s=BigInt(4294967295),o=Number(n>>i&s),a=Number(n&s),l=r?4:0,c=r?0:4;t.setUint32(e+l,o,r),t.setUint32(e+c,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const o=Ox(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=a/4,c=this.get();if(l>c.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)o.setUint32(4*u,c[u],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:i,destroyed:s,pos:o}=this;return t.length=r,t.pos=o,t.finished=i,t.destroyed=s,r%e&&t.buffer.set(n),t}};const Ux=(t,e,n)=>t&e^~t&n,$x=(t,e,n)=>t&e^t&n^e&n,qx=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Vx=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wx=new Uint32Array(64);let Hx=class extends Bx{constructor(){super(64,32,8,!1),this.A=0|Vx[0],this.B=0|Vx[1],this.C=0|Vx[2],this.D=0|Vx[3],this.E=0|Vx[4],this.F=0|Vx[5],this.G=0|Vx[6],this.H=0|Vx[7]}get(){const{A:t,B:e,C:n,D:r,E:i,F:s,G:o,H:a}=this;return[t,e,n,r,i,s,o,a]}set(t,e,n,r,i,s,o,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|s,this.G=0|o,this.H=0|a}process(t,e){for(let u=0;u<16;u++,e+=4)Wx[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){const t=Wx[u-15],e=Wx[u-2],n=Fx(t,7)^Fx(t,18)^t>>>3,r=Fx(e,17)^Fx(e,19)^e>>>10;Wx[u]=r+Wx[u-7]+n+Wx[u-16]|0}let{A:n,B:r,C:i,D:s,E:o,F:a,G:l,H:c}=this;for(let u=0;u<64;u++){const t=c+(Fx(o,6)^Fx(o,11)^Fx(o,25))+Ux(o,a,l)+qx[u]+Wx[u]|0,e=(Fx(n,2)^Fx(n,13)^Fx(n,22))+$x(n,r,i)|0;c=l,l=a,a=o,o=s+t|0,s=i,i=r,r=n,n=t+e|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,s=s+this.D|0,o=o+this.E|0,a=a+this.F|0,l=l+this.G|0,c=c+this.H|0,this.set(n,r,i,s,o,a,l,c)}roundClean(){Wx.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const Gx=Nx(()=>new Hx),Kx=BigInt(0),Zx=BigInt(1),Yx=BigInt(2),Xx=t=>t instanceof Uint8Array,Jx=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Qx(t){if(!Xx(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=Jx[t[n]];return e}function tC(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function eC(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);return BigInt(""===t?"0":`0x${t}`)}function nC(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const e=2*r,i=t.slice(e,e+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");n[r]=s}return n}function rC(t){return eC(Qx(t))}function iC(t){if(!Xx(t))throw new Error("Uint8Array expected");return eC(Qx(Uint8Array.from(t).reverse()))}function sC(t,e){return nC(t.toString(16).padStart(2*e,"0"))}function oC(t,e){return sC(t,e).reverse()}function aC(t,e,n){let r;if("string"==typeof e)try{r=nC(e)}catch(ej){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${ej}`)}else{if(!Xx(e))throw new Error(`${t} must be hex string or Uint8Array`);r=Uint8Array.from(e)}const i=r.length;if("number"==typeof n&&i!==n)throw new Error(`${t} expected ${n} bytes, got ${i}`);return r}function lC(...t){const e=new Uint8Array(t.reduce((t,e)=>t+e.length,0));let n=0;return t.forEach(t=>{if(!Xx(t))throw new Error("Uint8Array expected");e.set(t,n),n+=t.length}),e}const cC=t=>(Yx<<BigInt(t-1))-Zx,uC=t=>new Uint8Array(t),hC=t=>Uint8Array.from(t);function dC(t,e,n){if("number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");let r=uC(t),i=uC(t),s=0;const o=()=>{r.fill(1),i.fill(0),s=0},a=(...t)=>n(i,r,...t),l=(t=uC())=>{i=a(hC([0]),t),r=a(),0!==t.length&&(i=a(hC([1]),t),r=a())},c=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let t=0;const n=[];for(;t<e;){r=a();const e=r.slice();n.push(e),t+=r.length}return lC(...n)};return(t,e)=>{let n;for(o(),l(t);!(n=e(c()));)l();return o(),n}}const pC={bigint:t=>"bigint"==typeof t,function:t=>"function"==typeof t,boolean:t=>"boolean"==typeof t,string:t=>"string"==typeof t,stringOrUint8Array:t=>"string"==typeof t||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>"function"==typeof t&&Number.isSafeInteger(t.outputLen)};function fC(t,e,n={}){const r=(e,n,r)=>{const i=pC[n];if("function"!=typeof i)throw new Error(`Invalid validator "${n}", expected function`);const s=t[e];if(!(r&&void 0===s||i(s,t)))throw new Error(`Invalid param ${String(e)}=${s} (${typeof s}), expected ${n}`)};for(const[i,s]of Object.entries(e))r(i,s,!1);for(const[i,s]of Object.entries(n))r(i,s,!0);return t}const gC=Object.freeze(Object.defineProperty({__proto__:null,bitGet:function(t,e){return t>>BigInt(e)&Zx},bitLen:function(t){let e;for(e=0;t>Kx;t>>=Zx,e+=1);return e},bitMask:cC,bitSet:(t,e,n)=>t|(n?Zx:Kx)<<BigInt(e),bytesToHex:Qx,bytesToNumberBE:rC,bytesToNumberLE:iC,concatBytes:lC,createHmacDrbg:dC,ensureBytes:aC,equalBytes:function(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0},hexToBytes:nC,hexToNumber:eC,numberToBytesBE:sC,numberToBytesLE:oC,numberToHexUnpadded:tC,numberToVarBytesBE:function(t){return nC(tC(t))},utf8ToBytes:function(t){if("string"!=typeof t)throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array((new TextEncoder).encode(t))},validateObject:fC},Symbol.toStringTag,{value:"Module"})),mC=BigInt(0),yC=BigInt(1),vC=BigInt(2),bC=BigInt(3),wC=BigInt(4),_C=BigInt(5),xC=BigInt(8);
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function CC(t,e){const n=t%e;return n>=mC?n:e+n}function SC(t,e,n){if(n<=mC||e<mC)throw new Error("Expected power/modulo > 0");if(n===yC)return mC;let r=yC;for(;e>mC;)e&yC&&(r=r*t%n),t=t*t%n,e>>=yC;return r}function kC(t,e,n){let r=t;for(;e-- >mC;)r*=r,r%=n;return r}function EC(t,e){if(t===mC||e<=mC)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=CC(t,e),r=e,i=mC,s=yC;for(;n!==mC;){const t=r%n,e=i-s*(r/n);r=n,n=t,i=s,s=e}if(r!==yC)throw new Error("invert: does not exist");return CC(i,e)}BigInt(9),BigInt(16);const TC=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function RC(t,e){const n=void 0!==e?e:t.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function MC(t){if("bigint"!=typeof t)throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function LC(t){const e=MC(t);return e+Math.ceil(e/2)}
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
const IC=BigInt(0),PC=BigInt(1);function AC(t){return fC(t.Fp,TC.reduce((t,e)=>(t[e]="function",t),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),fC(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...RC(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const{bytesToNumberBE:OC,hexToBytes:FC}=gC,zC={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){const{Err:e}=zC;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");const n=t[1],r=t.subarray(2,n+2);if(!n||r.length!==n)throw new e("Invalid signature integer: wrong length");if(128&r[0])throw new e("Invalid signature integer: negative");if(0===r[0]&&!(128&r[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:OC(r),l:t.subarray(n+2)}},toSig(t){const{Err:e}=zC,n="string"==typeof t?FC(t):t;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||48!=n[0])throw new e("Invalid signature tag");if(n[1]!==r-2)throw new e("Invalid signature: incorrect length");const{d:i,l:s}=zC._parseInt(n.subarray(2)),{d:o,l:a}=zC._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){const e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,n=t=>{const e=t.toString(16);return 1&e.length?`0${e}`:e},r=e(n(t.s)),i=e(n(t.r)),s=r.length/2,o=i.length/2,a=n(s),l=n(o);return`30${n(o+s+4)}02${l}${i}02${a}${r}`}},DC=BigInt(0),NC=BigInt(1);BigInt(2);const jC=BigInt(3);BigInt(4);let BC=class extends Dx{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");Mx(t.outputLen),Mx(t.blockLen)}(t);const n=zx(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return Ix(this),this.iHash.update(t),this}digestInto(t){Ix(this),Lx(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:n,finished:r,destroyed:i,blockLen:s,outputLen:o}=this;return t.finished=r,t.destroyed=i,t.blockLen=s,t.outputLen=o,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const UC=(t,e,n)=>new BC(t,e).update(n).digest();
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
function $C(t){return{hash:t,hmac:(e,...n)=>UC(t,e,function(...t){const e=new Uint8Array(t.reduce((t,e)=>t+e.length,0));let n=0;return t.forEach(t=>{if(!Ax(t))throw new Error("Uint8Array expected");e.set(t,n),n+=t.length}),e}(...n)),randomBytes:jx}}UC.create=(t,e)=>new BC(t,e);
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
const qC=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),VC=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),WC=BigInt(1),HC=BigInt(2),GC=(t,e)=>(t+e/HC)/e;function KC(t){const e=qC,n=BigInt(3),r=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),l=BigInt(88),c=t*t*t%e,u=c*c*t%e,h=kC(u,n,e)*u%e,d=kC(h,n,e)*u%e,p=kC(d,HC,e)*c%e,f=kC(p,i,e)*p%e,g=kC(f,s,e)*f%e,m=kC(g,a,e)*g%e,y=kC(m,l,e)*m%e,v=kC(y,a,e)*g%e,b=kC(v,n,e)*u%e,w=kC(b,o,e)*f%e,_=kC(w,r,e)*c%e,x=kC(_,HC,e);if(!ZC.eql(ZC.sqr(x),t))throw new Error("Cannot find square root");return x}const ZC=function(t,e,n=!1,r={}){if(t<=mC)throw new Error(`Expected Field ORDER > 0, got ${t}`);const{nBitLength:i,nByteLength:s}=RC(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=function(t){if(t%wC===bC){const e=(t+yC)/wC;return function(t,n){const r=t.pow(n,e);if(!t.eql(t.sqr(r),n))throw new Error("Cannot find square root");return r}}if(t%xC===_C){const e=(t-_C)/xC;return function(t,n){const r=t.mul(n,vC),i=t.pow(r,e),s=t.mul(n,i),o=t.mul(t.mul(s,vC),i),a=t.mul(s,t.sub(o,t.ONE));if(!t.eql(t.sqr(a),n))throw new Error("Cannot find square root");return a}}return function(t){const e=(t-yC)/vC;let n,r,i;for(n=t-yC,r=0;n%vC===mC;n/=vC,r++);for(i=vC;i<t&&SC(i,e,t)!==t-yC;i++);if(1===r){const e=(t+yC)/wC;return function(t,n){const r=t.pow(n,e);if(!t.eql(t.sqr(r),n))throw new Error("Cannot find square root");return r}}const s=(n+yC)/vC;return function(t,o){if(t.pow(o,e)===t.neg(t.ONE))throw new Error("Cannot find square root");let a=r,l=t.pow(t.mul(t.ONE,i),n),c=t.pow(o,s),u=t.pow(o,n);for(;!t.eql(u,t.ONE);){if(t.eql(u,t.ZERO))return t.ZERO;let e=1;for(let r=t.sqr(u);e<a&&!t.eql(r,t.ONE);e++)r=t.sqr(r);const n=t.pow(l,yC<<BigInt(a-e-1));l=t.sqr(n),c=t.mul(c,n),u=t.mul(u,l),a=e}return c}}(t)}(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:cC(i),ZERO:mC,ONE:yC,create:e=>CC(e,t),isValid:e=>{if("bigint"!=typeof e)throw new Error("Invalid field element: expected bigint, got "+typeof e);return mC<=e&&e<t},is0:t=>t===mC,isOdd:t=>(t&yC)===yC,neg:e=>CC(-e,t),eql:(t,e)=>t===e,sqr:e=>CC(e*e,t),add:(e,n)=>CC(e+n,t),sub:(e,n)=>CC(e-n,t),mul:(e,n)=>CC(e*n,t),pow:(t,e)=>function(t,e,n){if(n<mC)throw new Error("Expected power > 0");if(n===mC)return t.ONE;if(n===yC)return e;let r=t.ONE,i=e;for(;n>mC;)n&yC&&(r=t.mul(r,i)),i=t.sqr(i),n>>=yC;return r}(a,t,e),div:(e,n)=>CC(e*EC(n,t),t),sqrN:t=>t*t,addN:(t,e)=>t+e,subN:(t,e)=>t-e,mulN:(t,e)=>t*e,inv:e=>EC(e,t),sqrt:r.sqrt||(t=>o(a,t)),invertBatch:t=>function(t,e){const n=new Array(e.length),r=e.reduce((e,r,i)=>t.is0(r)?e:(n[i]=e,t.mul(e,r)),t.ONE),i=t.inv(r);return e.reduceRight((e,r,i)=>t.is0(r)?e:(n[i]=t.mul(e,n[i]),t.mul(e,r)),i),n}(a,t),cmov:(t,e,n)=>n?e:t,toBytes:t=>n?oC(t,s):sC(t,s),fromBytes:t=>{if(t.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${t.length}`);return n?iC(t):rC(t)}});return Object.freeze(a)}(qC,void 0,void 0,{sqrt:KC}),YC=function(t,e){const n=e=>function(t){const e=function(t){const e=AC(t);return fC(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:n,n:r}=e,i=n.BYTES+1,s=2*n.BYTES+1;function o(t){return CC(t,r)}function a(t){return EC(t,r)}const{ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:u,isWithinCurveOrder:h}=function(t){const e=function(t){const e=AC(t);fC(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:i}=e;if(n){if(!r.eql(i,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof n||"bigint"!=typeof n.beta||"function"!=typeof n.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:n}=e,r=e.toBytes||((t,e)=>{const r=e.toAffine();return lC(Uint8Array.from([4]),n.toBytes(r.x),n.toBytes(r.y))}),i=e.fromBytes||(t=>{const e=t.subarray(1);return{x:n.fromBytes(e.subarray(0,n.BYTES)),y:n.fromBytes(e.subarray(n.BYTES,2*n.BYTES))}});function s(t){const{a:r,b:i}=e,s=n.sqr(t),o=n.mul(s,t);return n.add(n.add(o,n.mul(t,r)),i)}if(!n.eql(n.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(t){return"bigint"==typeof t&&DC<t&&t<e.n}function a(t){if(!o(t))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function l(t){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:i,n:s}=e;if(n&&"bigint"!=typeof t){if(t instanceof Uint8Array&&(t=Qx(t)),"string"!=typeof t||!n.includes(t.length))throw new Error("Invalid key");t=t.padStart(2*r,"0")}let o;try{o="bigint"==typeof t?t:rC(aC("private key",t,r))}catch(v5){throw new Error(`private key must be ${r} bytes, hex or bigint, not ${typeof t}`)}return i&&(o=CC(o,s)),a(o),o}const c=new Map;function u(t){if(!(t instanceof h))throw new Error("ProjectivePoint expected")}class h{constructor(t,e,r){if(this.px=t,this.py=e,this.pz=r,null==t||!n.isValid(t))throw new Error("x required");if(null==e||!n.isValid(e))throw new Error("y required");if(null==r||!n.isValid(r))throw new Error("z required")}static fromAffine(t){const{x:e,y:r}=t||{};if(!t||!n.isValid(e)||!n.isValid(r))throw new Error("invalid affine point");if(t instanceof h)throw new Error("projective point not allowed");const i=t=>n.eql(t,n.ZERO);return i(e)&&i(r)?h.ZERO:new h(e,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){const e=n.invertBatch(t.map(t=>t.pz));return t.map((t,n)=>t.toAffine(e[n])).map(h.fromAffine)}static fromHex(t){const e=h.fromAffine(i(aC("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return h.BASE.multiply(l(t))}_setWindowSize(t){this._WINDOW_SIZE=t,c.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:t,y:r}=this.toAffine();if(!n.isValid(t)||!n.isValid(r))throw new Error("bad point: x or y not FE");const i=n.sqr(r),o=s(t);if(!n.eql(i,o))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:t}=this.toAffine();if(n.isOdd)return!n.isOdd(t);throw new Error("Field doesn't support isOdd")}equals(t){u(t);const{px:e,py:r,pz:i}=this,{px:s,py:o,pz:a}=t,l=n.eql(n.mul(e,a),n.mul(s,i)),c=n.eql(n.mul(r,a),n.mul(o,i));return l&&c}negate(){return new h(this.px,n.neg(this.py),this.pz)}double(){const{a:t,b:r}=e,i=n.mul(r,jC),{px:s,py:o,pz:a}=this;let l=n.ZERO,c=n.ZERO,u=n.ZERO,d=n.mul(s,s),p=n.mul(o,o),f=n.mul(a,a),g=n.mul(s,o);return g=n.add(g,g),u=n.mul(s,a),u=n.add(u,u),l=n.mul(t,u),c=n.mul(i,f),c=n.add(l,c),l=n.sub(p,c),c=n.add(p,c),c=n.mul(l,c),l=n.mul(g,l),u=n.mul(i,u),f=n.mul(t,f),g=n.sub(d,f),g=n.mul(t,g),g=n.add(g,u),u=n.add(d,d),d=n.add(u,d),d=n.add(d,f),d=n.mul(d,g),c=n.add(c,d),f=n.mul(o,a),f=n.add(f,f),d=n.mul(f,g),l=n.sub(l,d),u=n.mul(f,p),u=n.add(u,u),u=n.add(u,u),new h(l,c,u)}add(t){u(t);const{px:r,py:i,pz:s}=this,{px:o,py:a,pz:l}=t;let c=n.ZERO,d=n.ZERO,p=n.ZERO;const f=e.a,g=n.mul(e.b,jC);let m=n.mul(r,o),y=n.mul(i,a),v=n.mul(s,l),b=n.add(r,i),w=n.add(o,a);b=n.mul(b,w),w=n.add(m,y),b=n.sub(b,w),w=n.add(r,s);let _=n.add(o,l);return w=n.mul(w,_),_=n.add(m,v),w=n.sub(w,_),_=n.add(i,s),c=n.add(a,l),_=n.mul(_,c),c=n.add(y,v),_=n.sub(_,c),p=n.mul(f,w),c=n.mul(g,v),p=n.add(c,p),c=n.sub(y,p),p=n.add(y,p),d=n.mul(c,p),y=n.add(m,m),y=n.add(y,m),v=n.mul(f,v),w=n.mul(g,w),y=n.add(y,v),v=n.sub(m,v),v=n.mul(f,v),w=n.add(w,v),m=n.mul(y,w),d=n.add(d,m),m=n.mul(_,w),c=n.mul(b,c),c=n.sub(c,m),m=n.mul(b,y),p=n.mul(_,p),p=n.add(p,m),new h(c,d,p)}subtract(t){return this.add(t.negate())}is0(){return this.equals(h.ZERO)}wNAF(t){return p.wNAFCached(this,c,t,t=>{const e=n.invertBatch(t.map(t=>t.pz));return t.map((t,n)=>t.toAffine(e[n])).map(h.fromAffine)})}multiplyUnsafe(t){const r=h.ZERO;if(t===DC)return r;if(a(t),t===NC)return this;const{endo:i}=e;if(!i)return p.unsafeLadder(this,t);let{k1neg:s,k1:o,k2neg:l,k2:c}=i.splitScalar(t),u=r,d=r,f=this;for(;o>DC||c>DC;)o&NC&&(u=u.add(f)),c&NC&&(d=d.add(f)),f=f.double(),o>>=NC,c>>=NC;return s&&(u=u.negate()),l&&(d=d.negate()),d=new h(n.mul(d.px,i.beta),d.py,d.pz),u.add(d)}multiply(t){a(t);let r,i,s=t;const{endo:o}=e;if(o){const{k1neg:t,k1:e,k2neg:a,k2:l}=o.splitScalar(s);let{p:c,f:u}=this.wNAF(e),{p:d,f:f}=this.wNAF(l);c=p.constTimeNegate(t,c),d=p.constTimeNegate(a,d),d=new h(n.mul(d.px,o.beta),d.py,d.pz),r=c.add(d),i=u.add(f)}else{const{p:t,f:e}=this.wNAF(s);r=t,i=e}return h.normalizeZ([r,i])[0]}multiplyAndAddUnsafe(t,e,n){const r=h.BASE,i=(t,e)=>e!==DC&&e!==NC&&t.equals(r)?t.multiply(e):t.multiplyUnsafe(e),s=i(this,e).add(i(t,n));return s.is0()?void 0:s}toAffine(t){const{px:e,py:r,pz:i}=this,s=this.is0();null==t&&(t=s?n.ONE:n.inv(i));const o=n.mul(e,t),a=n.mul(r,t),l=n.mul(i,t);if(s)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw new Error("invZ was invalid");return{x:o,y:a}}isTorsionFree(){const{h:t,isTorsionFree:n}=e;if(t===NC)return!0;if(n)return n(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:t,clearCofactor:n}=e;return t===NC?this:n?n(h,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),r(h,this,t)}toHex(t=!0){return Qx(this.toRawBytes(t))}}h.BASE=new h(e.Gx,e.Gy,n.ONE),h.ZERO=new h(n.ZERO,n.ONE,n.ZERO);const d=e.nBitLength,p=function(t,e){const n=(t,e)=>{const n=e.negate();return t?n:e},r=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:n,unsafeLadder(e,n){let r=t.ZERO,i=e;for(;n>IC;)n&PC&&(r=r.add(i)),i=i.double(),n>>=PC;return r},precomputeWindow(t,e){const{windows:n,windowSize:i}=r(e),s=[];let o=t,a=o;for(let r=0;r<n;r++){a=o,s.push(a);for(let t=1;t<i;t++)a=a.add(o),s.push(a);o=a.double()}return s},wNAF(e,i,s){const{windows:o,windowSize:a}=r(e);let l=t.ZERO,c=t.BASE;const u=BigInt(2**e-1),h=2**e,d=BigInt(e);for(let t=0;t<o;t++){const e=t*a;let r=Number(s&u);s>>=d,r>a&&(r-=h,s+=PC);const o=e,p=e+Math.abs(r)-1,f=t%2!=0,g=r<0;0===r?c=c.add(n(f,i[o])):l=l.add(n(g,i[p]))}return{p:l,f:c}},wNAFCached(t,e,n,r){const i=t._WINDOW_SIZE||1;let s=e.get(t);return s||(s=this.precomputeWindow(t,i),1!==i&&e.set(t,r(s))),this.wNAF(i,s,n)}}}(h,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:o}}({...e,toBytes(t,e,r){const i=e.toAffine(),s=n.toBytes(i.x),o=lC;return r?o(Uint8Array.from([e.hasEvenY()?2:3]),s):o(Uint8Array.from([4]),s,n.toBytes(i.y))},fromBytes(t){const e=t.length,r=t[0],o=t.subarray(1);if(e!==i||2!==r&&3!==r){if(e===s&&4===r)return{x:n.fromBytes(o.subarray(0,n.BYTES)),y:n.fromBytes(o.subarray(n.BYTES,2*n.BYTES))};throw new Error(`Point of length ${e} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}{const t=rC(o);if(!(DC<(a=t)&&a<n.ORDER))throw new Error("Point is not on curve");const e=u(t);let i=n.sqrt(e);return!(1&~r)!=((i&NC)===NC)&&(i=n.neg(i)),{x:t,y:i}}var a}}),d=t=>Qx(sC(t,e.nByteLength));function p(t){return t>r>>NC}const f=(t,e,n)=>rC(t.slice(e,n));class g{constructor(t,e,n){this.r=t,this.s=e,this.recovery=n,this.assertValidity()}static fromCompact(t){const n=e.nByteLength;return t=aC("compactSignature",t,2*n),new g(f(t,0,n),f(t,n,2*n))}static fromDER(t){const{r:e,s:n}=zC.toSig(aC("DER",t));return new g(e,n)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new g(this.r,this.s,t)}recoverPublicKey(t){const{r:r,s:i,recovery:s}=this,c=b(aC("msgHash",t));if(null==s||![0,1,2,3].includes(s))throw new Error("recovery id invalid");const u=2===s||3===s?r+e.n:r;if(u>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const h=1&s?"03":"02",p=l.fromHex(h+d(u)),f=a(u),g=o(-c*f),m=o(i*f),y=l.BASE.multiplyAndAddUnsafe(p,g,m);if(!y)throw new Error("point at infinify");return y.assertValidity(),y}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return nC(this.toDERHex())}toDERHex(){return zC.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return nC(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}const m={isValidPrivateKey(t){try{return c(t),!0}catch(v5){return!1}},normPrivateKeyToScalar:c,randomPrivateKey:()=>{const t=LC(e.n);return function(t,e,n=!1){const r=t.length,i=MC(e),s=LC(e);if(r<16||r<s||r>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${r}`);const o=CC(n?rC(t):iC(t),e-yC)+yC;return n?oC(o,i):sC(o,i)}(e.randomBytes(t),e.n)},precompute:(t=8,e=l.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)};function y(t){const e=t instanceof Uint8Array,n="string"==typeof t,r=(e||n)&&t.length;return e?r===i||r===s:n?r===2*i||r===2*s:t instanceof l}const v=e.bits2int||function(t){const n=rC(t),r=8*t.length-e.nBitLength;return r>0?n>>BigInt(r):n},b=e.bits2int_modN||function(t){return o(v(t))},w=cC(e.nBitLength);function _(t){if("bigint"!=typeof t)throw new Error("bigint expected");if(!(DC<=t&&t<w))throw new Error(`bigint expected < 2^${e.nBitLength}`);return sC(t,e.nByteLength)}const x={lowS:e.lowS,prehash:!1},C={lowS:e.lowS,prehash:!1};return l.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return l.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,n=!0){if(y(t))throw new Error("first arg must be private key");if(!y(e))throw new Error("second arg must be public key");return l.fromHex(e).multiply(c(t)).toRawBytes(n)},sign:function(t,r,i=x){const{seed:s,k2sig:u}=function(t,r,i=x){if(["recovered","canonical"].some(t=>t in i))throw new Error("sign() legacy options not supported");const{hash:s,randomBytes:u}=e;let{lowS:d,prehash:f,extraEntropy:m}=i;null==d&&(d=!0),t=aC("msgHash",t),f&&(t=aC("prehashed msgHash",s(t)));const y=b(t),w=c(r),C=[_(w),_(y)];if(null!=m){const t=!0===m?u(n.BYTES):m;C.push(aC("extraEntropy",t))}const S=lC(...C),k=y;return{seed:S,k2sig:function(t){const e=v(t);if(!h(e))return;const n=a(e),r=l.BASE.multiply(e).toAffine(),i=o(r.x);if(i===DC)return;const s=o(n*o(k+i*w));if(s===DC)return;let c=(r.x===i?0:2)|Number(r.y&NC),u=s;return d&&p(s)&&(u=function(t){return p(t)?o(-t):t}(s),c^=1),new g(i,u,c)}}}(t,r,i),d=e;return dC(d.hash.outputLen,d.nByteLength,d.hmac)(s,u)},verify:function(t,n,r,i=C){const s=t;if(n=aC("msgHash",n),r=aC("publicKey",r),"strict"in i)throw new Error("options.strict was renamed to lowS");const{lowS:c,prehash:u}=i;let h,d;try{if("string"==typeof s||s instanceof Uint8Array)try{h=g.fromDER(s)}catch(x){if(!(x instanceof zC.Err))throw x;h=g.fromCompact(s)}else{if("object"!=typeof s||"bigint"!=typeof s.r||"bigint"!=typeof s.s)throw new Error("PARSE");{const{r:t,s:e}=s;h=new g(t,e)}}d=l.fromHex(r)}catch(v5){if("PARSE"===v5.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&h.hasHighS())return!1;u&&(n=e.hash(n));const{r:p,s:f}=h,m=b(n),y=a(f),v=o(m*y),w=o(p*y),_=l.BASE.multiplyAndAddUnsafe(d,v,w)?.toAffine();return!!_&&o(_.x)===p},ProjectivePoint:l,Signature:g,utils:m}}({...t,...$C(e)});return Object.freeze({...n(e),create:n})}({a:BigInt(0),b:BigInt(7),Fp:ZC,n:VC,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const e=VC,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-WC*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,o=BigInt("0x100000000000000000000000000000000"),a=GC(s*t,e),l=GC(-r*t,e);let c=CC(t-a*n-l*i,e),u=CC(-a*r-l*s,e);const h=c>o,d=u>o;if(h&&(c=e-c),d&&(u=e-u),c>o||u>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:c,k2neg:d,k2:u}}}},Gx),XC=BigInt(0),JC=t=>"bigint"==typeof t&&XC<t&&t<qC,QC={};function tS(t,...e){let n=QC[t];if(void 0===n){const e=Gx(Uint8Array.from(t,t=>t.charCodeAt(0)));n=lC(e,e),QC[t]=n}return Gx(lC(n,...e))}const eS=t=>t.toRawBytes(!0).slice(1),nS=t=>sC(t,32),rS=t=>CC(t,qC),iS=t=>CC(t,VC),sS=YC.ProjectivePoint;function oS(t){let e=YC.utils.normPrivateKeyToScalar(t),n=sS.fromPrivateKey(e);return{scalar:n.hasEvenY()?e:iS(-e),bytes:eS(n)}}function aS(t){if(!JC(t))throw new Error("bad x: need 0 < x < p");const e=rS(t*t);let n=KC(rS(e*t+BigInt(7)));n%HC!==XC&&(n=rS(-n));const r=new sS(t,n,WC);return r.assertValidity(),r}function lS(...t){return iS(rC(tS("BIP0340/challenge",...t)))}function cS(t){return oS(t).bytes}function uS(t,e,n=jx(32)){const r=aC("message",t),{bytes:i,scalar:s}=oS(e),o=aC("auxRand",n,32),a=nS(s^rC(tS("BIP0340/aux",o))),l=tS("BIP0340/nonce",a,i,r),c=iS(rC(l));if(c===XC)throw new Error("sign failed: k is zero");const{bytes:u,scalar:h}=oS(c),d=lS(u,i,r),p=new Uint8Array(64);if(p.set(u,0),p.set(nS(iS(h+d*s)),32),!hS(p,r,i))throw new Error("sign: Invalid signature produced");return p}function hS(t,e,n){const r=aC("signature",t,64),i=aC("message",e),s=aC("publicKey",n,32);try{const t=aS(rC(s)),e=rC(r.subarray(0,32));if(!JC(e))return!1;const n=rC(r.subarray(32,64));if(!(t=>"bigint"==typeof t&&XC<t&&t<VC)(n))return!1;const c=lS(nS(e),eS(t),i),u=(o=t,a=n,l=iS(-c),sS.BASE.multiplyAndAddUnsafe(o,a,l));return!(!u||!u.hasEvenY()||u.toAffine().x!==e)}catch(v5){return!1}var o,a,l}const dS=(()=>({getPublicKey:cS,sign:uS,verify:hS,utils:{randomPrivateKey:YC.utils.randomPrivateKey,lift_x:aS,pointToBytes:eS,numberToBytesBE:sC,bytesToNumberBE:rC,taggedHash:tS,mod:CC}}))(),pS="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,fS=t=>t instanceof Uint8Array,gS=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),mS=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");const yS=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function vS(t){if(!fS(t))throw new Error("Uint8Array expected");let e="";for(let n=0;n<t.length;n++)e+=yS[t[n]];return e}function bS(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);const e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(e/2);for(let r=0;r<n.length;r++){const e=2*r,i=t.slice(e,e+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");n[r]=s}return n}function wS(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array((new TextEncoder).encode(t))}(t)),!fS(t))throw new Error("expected Uint8Array, got "+typeof t);return t}function _S(...t){const e=new Uint8Array(t.reduce((t,e)=>t+e.length,0));let n=0;return t.forEach(t=>{if(!fS(t))throw new Error("Uint8Array expected");e.set(t,n),n+=t.length}),e}class xS{clone(){return this._cloneInto()}}function CS(t){const e=e=>t().update(wS(e)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function SS(t=32){if(pS&&"function"==typeof pS.getRandomValues)return pS.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function kS(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function ES(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}const TS={number:kS,bool:function(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)},bytes:ES,hash:function(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");kS(t.outputLen),kS(t.blockLen)},exists:function(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")},output:function(t,e){ES(t);const n=e.outputLen;if(t.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}};class RS extends xS{constructor(t,e,n,r){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=gS(this.buffer)}update(t){TS.exists(this);const{view:e,buffer:n,blockLen:r}=this,i=(t=wS(t)).length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);if(o===r){const e=gS(t);for(;r<=i-s;s+=r)this.process(e,s);continue}n.set(t.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===r&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){TS.exists(this),TS.output(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:r,isLE:i}=this;let{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>r-s&&(this.process(n,0),s=0);for(let u=s;u<r;u++)e[u]=0;!function(t,e,n,r){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,n,r);const i=BigInt(32),s=BigInt(4294967295),o=Number(n>>i&s),a=Number(n&s),l=r?4:0,c=r?0:4;t.setUint32(e+l,o,r),t.setUint32(e+c,a,r)}(n,r-8,BigInt(8*this.length),i),this.process(n,0);const o=gS(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=a/4,c=this.get();if(l>c.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)o.setUint32(4*u,c[u],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:i,destroyed:s,pos:o}=this;return t.length=r,t.pos=o,t.finished=i,t.destroyed=s,r%e&&t.buffer.set(n),t}}const MS=(t,e,n)=>t&e^~t&n,LS=(t,e,n)=>t&e^t&n^e&n,IS=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),PS=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),AS=new Uint32Array(64);class OS extends RS{constructor(){super(64,32,8,!1),this.A=0|PS[0],this.B=0|PS[1],this.C=0|PS[2],this.D=0|PS[3],this.E=0|PS[4],this.F=0|PS[5],this.G=0|PS[6],this.H=0|PS[7]}get(){const{A:t,B:e,C:n,D:r,E:i,F:s,G:o,H:a}=this;return[t,e,n,r,i,s,o,a]}set(t,e,n,r,i,s,o,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|s,this.G=0|o,this.H=0|a}process(t,e){for(let u=0;u<16;u++,e+=4)AS[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){const t=AS[u-15],e=AS[u-2],n=mS(t,7)^mS(t,18)^t>>>3,r=mS(e,17)^mS(e,19)^e>>>10;AS[u]=r+AS[u-7]+n+AS[u-16]|0}let{A:n,B:r,C:i,D:s,E:o,F:a,G:l,H:c}=this;for(let u=0;u<64;u++){const t=c+(mS(o,6)^mS(o,11)^mS(o,25))+MS(o,a,l)+IS[u]+AS[u]|0,e=(mS(n,2)^mS(n,13)^mS(n,22))+LS(n,r,i)|0;c=l,l=a,a=o,o=s+t|0,s=i,i=r,r=n,n=t+e|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,s=s+this.D|0,o=o+this.E|0,a=a+this.F|0,l=l+this.G|0,c=c+this.H|0,this.set(n,r,i,s,o,a,l,c)}roundClean(){AS.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class FS extends OS{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const zS=CS(()=>new OS);
/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */
function DS(t){if(!Number.isSafeInteger(t))throw new Error(`Wrong integer: ${t}`)}function NS(...t){const e=(t,e)=>n=>t(e(n)),n=Array.from(t).reverse().reduce((t,n)=>t?e(t,n.encode):n.encode,void 0),r=t.reduce((t,n)=>t?e(t,n.decode):n.decode,void 0);return{encode:n,decode:r}}function jS(t){return{encode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("alphabet.encode input should be an array of numbers");return e.map(e=>{if(DS(e),e<0||e>=t.length)throw new Error(`Digit index outside alphabet: ${e} (alphabet: ${t.length})`);return t[e]})},decode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("alphabet.decode input should be array of strings");return e.map(e=>{if("string"!=typeof e)throw new Error(`alphabet.decode: not string element=${e}`);const n=t.indexOf(e);if(-1===n)throw new Error(`Unknown letter: "${e}". Allowed: ${t}`);return n})}}}function BS(t=""){if("string"!=typeof t)throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("join.encode input should be array of strings");for(let t of e)if("string"!=typeof t)throw new Error(`join.encode: non-string input=${t}`);return e.join(t)},decode:e=>{if("string"!=typeof e)throw new Error("join.decode input should be string");return e.split(t)}}}function US(t,e="="){if(DS(t),"string"!=typeof e)throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let t of n)if("string"!=typeof t)throw new Error(`padding.encode: non-string input=${t}`);for(;n.length*t%8;)n.push(e);return n},decode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let t of n)if("string"!=typeof t)throw new Error(`padding.decode: non-string input=${t}`);let r=n.length;if(r*t%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===e;r--)if(!((r-1)*t%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function $S(t){if("function"!=typeof t)throw new Error("normalize fn should be function");return{encode:t=>t,decode:e=>t(e)}}function qS(t,e,n){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(t))throw new Error("convertRadix: data should be array");if(!t.length)return[];let r=0;const i=[],s=Array.from(t);for(s.forEach(t=>{if(DS(t),t<0||t>=e)throw new Error(`Wrong integer: ${t}`)});;){let t=0,o=!0;for(let i=r;i<s.length;i++){const a=s[i],l=e*t+a;if(!Number.isSafeInteger(l)||e*t/e!==t||l-a!==e*t)throw new Error("convertRadix: carry overflow");if(t=l%n,s[i]=Math.floor(l/n),!Number.isSafeInteger(s[i])||s[i]*n+t!==l)throw new Error("convertRadix: carry overflow");o&&(s[i]?o=!1:r=i)}if(i.push(t),o)break}for(let o=0;o<t.length-1&&0===t[o];o++)i.push(0);return i.reverse()}CS(()=>new FS);const VS=(t,e)=>e?VS(e,t%e):t,WS=(t,e)=>t+(e-VS(t,e));function HS(t,e,n,r){if(!Array.isArray(t))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(WS(e,n)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${n} carryBits=${WS(e,n)}`);let i=0,s=0;const o=2**n-1,a=[];for(const l of t){if(DS(l),l>=2**e)throw new Error(`convertRadix2: invalid data word=${l} from=${e}`);if(i=i<<e|l,s+e>32)throw new Error(`convertRadix2: carry overflow pos=${s} from=${e}`);for(s+=e;s>=n;s-=n)a.push((i>>s-n&o)>>>0);i&=2**s-1}if(i=i<<n-s&o,!r&&s>=e)throw new Error("Excess padding");if(!r&&i)throw new Error(`Non-zero padding: ${i}`);return r&&s>0&&a.push(i>>>0),a}function GS(t,e=!1){if(DS(t),t<=0||t>32)throw new Error("radix2: bits should be in (0..32]");if(WS(8,t)>32||WS(t,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return HS(Array.from(n),8,t,!e)},decode:n=>{if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(HS(n,t,8,e))}}}function KS(t){if("function"!=typeof t)throw new Error("unsafeWrapper fn should be function");return function(...e){try{return t.apply(null,e)}catch(ej){}}}const ZS=NS(GS(4),jS("0123456789ABCDEF"),BS("")),YS=NS(GS(5),jS("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),US(5),BS(""));NS(GS(5),jS("0123456789ABCDEFGHIJKLMNOPQRSTUV"),US(5),BS("")),NS(GS(5),jS("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),BS(""),$S(t=>t.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const XS=NS(GS(6),jS("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),US(6),BS("")),JS=NS(GS(6),jS("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),US(6),BS("")),QS=t=>NS((DS(58),{encode:t=>{if(!(t instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return qS(Array.from(t),256,58)},decode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(qS(t,58,256))}}),jS(t),BS("")),tk=QS("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");QS("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),QS("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const ek=[0,2,3,5,6,7,9,10,11],nk={encode(t){let e="";for(let n=0;n<t.length;n+=8){const r=t.subarray(n,n+8);e+=tk.encode(r).padStart(ek[r.length],"1")}return e},decode(t){let e=[];for(let n=0;n<t.length;n+=11){const r=t.slice(n,n+11),i=ek.indexOf(r.length),s=tk.decode(r);for(let t=0;t<s.length-i;t++)if(0!==s[t])throw new Error("base58xmr: wrong padding");e=e.concat(Array.from(s.slice(s.length-i)))}return Uint8Array.from(e)}},rk=NS(jS("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),BS("")),ik=[996825010,642813549,513874426,1027748829,705979059];function sk(t){const e=t>>25;let n=(33554431&t)<<5;for(let r=0;r<ik.length;r++)1==(e>>r&1)&&(n^=ik[r]);return n}function ok(t,e,n=1){const r=t.length;let i=1;for(let s=0;s<r;s++){const e=t.charCodeAt(s);if(e<33||e>126)throw new Error(`Invalid prefix (${t})`);i=sk(i)^e>>5}i=sk(i);for(let s=0;s<r;s++)i=sk(i)^31&t.charCodeAt(s);for(let s of e)i=sk(i)^s;for(let s=0;s<6;s++)i=sk(i);return i^=n,rk.encode(HS([i%2**30],30,5,!1))}function ak(t){const e="bech32"===t?1:734539939,n=GS(5),r=n.decode,i=n.encode,s=KS(r);function o(t,n=90){if("string"!=typeof t)throw new Error("bech32.decode input should be string, not "+typeof t);if(t.length<8||!1!==n&&t.length>n)throw new TypeError(`Wrong string length: ${t.length} (${t}). Expected (8..${n})`);const r=t.toLowerCase();if(t!==r&&t!==t.toUpperCase())throw new Error("String must be lowercase or uppercase");const i=(t=r).lastIndexOf("1");if(0===i||-1===i)throw new Error('Letter "1" must be present between prefix and data only');const s=t.slice(0,i),o=t.slice(i+1);if(o.length<6)throw new Error("Data must be at least 6 characters long");const a=rk.decode(o).slice(0,-6),l=ok(s,a,e);if(!o.endsWith(l))throw new Error(`Invalid checksum in ${t}: expected "${l}"`);return{prefix:s,words:a}}return{encode:function(t,n,r=90){if("string"!=typeof t)throw new Error("bech32.encode prefix should be string, not "+typeof t);if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof n);const i=t.length+7+n.length;if(!1!==r&&i>r)throw new TypeError(`Length ${i} exceeds limit ${r}`);return`${t=t.toLowerCase()}1${rk.encode(n)}${ok(t,n,e)}`},decode:o,decodeToBytes:function(t){const{prefix:e,words:n}=o(t,!1);return{prefix:e,words:n,bytes:r(n)}},decodeUnsafe:KS(o),fromWords:r,fromWordsUnsafe:s,toWords:i}}const lk=ak("bech32");ak("bech32m");const ck={utf8:{encode:t=>(new TextDecoder).decode(t),decode:t=>(new TextEncoder).encode(t)},hex:NS(GS(4),jS("0123456789abcdef"),BS(""),$S(t=>{if("string"!=typeof t||t.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof t} with length ${t.length}`);return t.toLowerCase()})),base16:ZS,base32:YS,base64:XS,base64url:JS,base58:tk,base58xmr:nk};function uk(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`positive integer expected, not ${t}`)}function hk(t){if("boolean"!=typeof t)throw new Error(`boolean expected, not ${t}`)}function dk(t,...e){if(!((n=t)instanceof Uint8Array||null!=n&&"object"==typeof n&&"Uint8Array"===n.constructor.name))throw new Error("Uint8Array expected");var n;if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}
/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */Object.keys(ck).join(", ");const pk=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4));if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");const fk=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function gk(t){dk(t);let e="";for(let n=0;n<t.length;n++)e+=fk[t[n]];return e}function mk(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-55:t>=97&&t<=102?t-87:void 0}function yk(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let i=0,s=0;i<n;i++,s+=2){const e=mk(t.charCodeAt(s)),n=mk(t.charCodeAt(s+1));if(void 0===e||void 0===n){const e=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+e+'" at index '+s)}r[i]=16*e+n}return r}const vk=16;function bk(t){return t<<1^283&-(t>>7)}function wk(t,e){let n=0;for(;e>0;e>>=1)n^=t&-(1&e),t=bk(t);return n}const _k=(()=>{let t=new Uint8Array(256);for(let n=0,r=1;n<256;n++,r^=bk(r))t[n]=r;const e=new Uint8Array(256);e[0]=99;for(let n=0;n<255;n++){let r=t[255-n];r|=r<<8,e[t[n]]=255&(r^r>>4^r>>5^r>>6^r>>7^99)}return e})(),xk=_k.map((t,e)=>_k.indexOf(e)),Ck=t=>t<<24|t>>>8,Sk=t=>t<<8|t>>>24;function kk(t,e){if(256!==t.length)throw new Error("Wrong sbox length");const n=new Uint32Array(256).map((n,r)=>e(t[r])),r=n.map(Sk),i=r.map(Sk),s=i.map(Sk),o=new Uint32Array(65536),a=new Uint32Array(65536),l=new Uint16Array(65536);for(let c=0;c<256;c++)for(let e=0;e<256;e++){const u=256*c+e;o[u]=n[c]^r[e],a[u]=i[c]^s[e],l[u]=t[c]<<8|t[e]}return{sbox:t,sbox2:l,T0:n,T1:r,T2:i,T3:s,T01:o,T23:a}}const Ek=kk(_k,t=>wk(t,3)<<24|t<<16|t<<8|wk(t,2)),Tk=kk(xk,t=>wk(t,11)<<24|wk(t,13)<<16|wk(t,9)<<8|wk(t,14)),Rk=(()=>{const t=new Uint8Array(16);for(let e=0,n=1;e<16;e++,n=bk(n))t[e]=n;return t})();function Mk(t){dk(t);const e=t.length;if(![16,24,32].includes(e))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${e}`);const{sbox2:n}=Ek,r=pk(t),i=r.length,s=t=>Ik(n,t,t,t,t),o=new Uint32Array(e+28);o.set(r);for(let a=i;a<o.length;a++){let t=o[a-1];a%i===0?t=s(Ck(t))^Rk[a/i-1]:i>6&&a%i===4&&(t=s(t)),o[a]=o[a-i]^t}return o}function Lk(t,e,n,r,i,s){return t[n<<8&65280|r>>>8&255]^e[i>>>8&65280|s>>>24&255]}function Ik(t,e,n,r,i){return t[255&e|65280&n]|t[r>>>16&255|i>>>16&65280]<<16}function Pk(t,e,n,r,i){const{sbox2:s,T01:o,T23:a}=Ek;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],i^=t[l++];const c=t.length/4-2;for(let u=0;u<c;u++){const s=t[l++]^Lk(o,a,e,n,r,i),c=t[l++]^Lk(o,a,n,r,i,e),u=t[l++]^Lk(o,a,r,i,e,n),h=t[l++]^Lk(o,a,i,e,n,r);e=s,n=c,r=u,i=h}return{s0:t[l++]^Ik(s,e,n,r,i),s1:t[l++]^Ik(s,n,r,i,e),s2:t[l++]^Ik(s,r,i,e,n),s3:t[l++]^Ik(s,i,e,n,r)}}function Ak(t,e,n,r,i){const{sbox2:s,T01:o,T23:a}=Tk;let l=0;e^=t[l++],n^=t[l++],r^=t[l++],i^=t[l++];const c=t.length/4-2;for(let u=0;u<c;u++){const s=t[l++]^Lk(o,a,e,i,r,n),c=t[l++]^Lk(o,a,n,e,i,r),u=t[l++]^Lk(o,a,r,n,e,i),h=t[l++]^Lk(o,a,i,r,n,e);e=s,n=c,r=u,i=h}return{s0:t[l++]^Ik(s,e,i,r,n),s1:t[l++]^Ik(s,n,e,i,r),s2:t[l++]^Ik(s,r,n,e,i),s3:t[l++]^Ik(s,i,r,n,e)}}function Ok(t,e){if(!e)return new Uint8Array(t);if(dk(e),e.length<t)throw new Error(`aes: wrong destination length, expected at least ${t}, got: ${e.length}`);return e}const Fk=(zk={blockSize:16,nonceLength:16},Dk=function(t,e,n={}){dk(t),dk(e,16);const r=!n.disablePadding;return{encrypt:(n,i)=>{const s=Mk(t),{b:o,o:a,out:l}=function(t,e,n){let r=t.length;const i=r%vk;if(!e&&0!==i)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");const s=pk(t);if(e){let t=vk-i;t||(t=vk),r+=t}const o=Ok(r,n);return{b:s,o:pk(o),out:o}}(n,r,i),c=pk(e);let u=c[0],h=c[1],d=c[2],p=c[3],f=0;for(;f+4<=o.length;)u^=o[f+0],h^=o[f+1],d^=o[f+2],p^=o[f+3],({s0:u,s1:h,s2:d,s3:p}=Pk(s,u,h,d,p)),a[f++]=u,a[f++]=h,a[f++]=d,a[f++]=p;if(r){const t=function(t){const e=new Uint8Array(16),n=pk(e);e.set(t);const r=vk-t.length;for(let i=vk-r;i<vk;i++)e[i]=r;return n}(n.subarray(4*f));u^=t[0],h^=t[1],d^=t[2],p^=t[3],({s0:u,s1:h,s2:d,s3:p}=Pk(s,u,h,d,p)),a[f++]=u,a[f++]=h,a[f++]=d,a[f++]=p}return s.fill(0),l},decrypt:(n,i)=>{!function(t){if(dk(t),t.length%vk!==0)throw new Error("aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size 16")}(n);const s=function(t){const e=Mk(t),n=e.slice(),r=e.length,{sbox2:i}=Ek,{T0:s,T1:o,T2:a,T3:l}=Tk;for(let c=0;c<r;c+=4)for(let t=0;t<4;t++)n[c+t]=e[r-c-4+t];e.fill(0);for(let c=4;c<r-4;c++){const t=n[c],e=Ik(i,t,t,t,t);n[c]=s[255&e]^o[e>>>8&255]^a[e>>>16&255]^l[e>>>24]}return n}(t),o=pk(e),a=Ok(n.length,i),l=pk(n),c=pk(a);let u=o[0],h=o[1],d=o[2],p=o[3];for(let t=0;t+4<=l.length;){const e=u,n=h,r=d,i=p;u=l[t+0],h=l[t+1],d=l[t+2],p=l[t+3];const{s0:o,s1:a,s2:f,s3:g}=Ak(s,u,h,d,p);c[t++]=o^e,c[t++]=a^n,c[t++]=f^r,c[t++]=g^i}return s.fill(0),function(t,e){if(!e)return t;const n=t.length;if(!n)throw new Error("aes/pcks5: empty ciphertext not allowed");const r=t[n-1];if(r<=0||r>16)throw new Error(`aes/pcks5: wrong padding byte: ${r}`);const i=t.subarray(0,-r);for(let s=0;s<r;s++)if(t[n-s-1]!==r)throw new Error("aes/pcks5: wrong padding");return i}(a,r)}}},Object.assign(Dk,zk),Dk);var zk,Dk;const Nk=t=>Uint8Array.from(t.split("").map(t=>t.charCodeAt(0))),jk=Nk("expand 16-byte k"),Bk=Nk("expand 32-byte k"),Uk=pk(jk),$k=pk(Bk);function qk(t,e){return t<<e|t>>>32-e}function Vk(t){return t.byteOffset%4==0}$k.slice();const Wk=2**32-1,Hk=new Uint32Array;function Gk(t,e){const{allowShortKeys:n,extendNonceFn:r,counterLength:i,counterRight:s,rounds:o}=function(t,e){if(null==e||"object"!=typeof e)throw new Error("options must be defined");return Object.assign({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e)}(0,e);if("function"!=typeof t)throw new Error("core must be a function");return uk(i),uk(o),hk(s),hk(n),(e,a,l,c,u=0)=>{dk(e),dk(a),dk(l);const h=l.length;if(c||(c=new Uint8Array(h)),dk(c),uk(u),u<0||u>=Wk)throw new Error("arx: counter overflow");if(c.length<h)throw new Error(`arx: output (${c.length}) is shorter than data (${h})`);const d=[];let p,f,g=e.length;if(32===g)p=e.slice(),d.push(p),f=$k;else{if(16!==g||!n)throw new Error(`arx: invalid 32-byte key, got length=${g}`);p=new Uint8Array(32),p.set(e),p.set(e,16),f=Uk,d.push(p)}Vk(a)||(a=a.slice(),d.push(a));const m=pk(p);if(r){if(24!==a.length)throw new Error("arx: extended nonce must be 24 bytes");r(f,m,pk(a.subarray(0,16)),m),a=a.subarray(16)}const y=16-i;if(y!==a.length)throw new Error(`arx: nonce must be ${y} or 16 bytes`);if(12!==y){const t=new Uint8Array(12);t.set(a,s?0:12-a.length),a=t,d.push(a)}const v=pk(a);for(function(t,e,n,r,i,s,o,a){const l=i.length,c=new Uint8Array(64),u=pk(c),h=Vk(i)&&Vk(s),d=h?pk(i):Hk,p=h?pk(s):Hk;for(let f=0;f<l;o++){if(t(e,n,r,u,o,a),o>=Wk)throw new Error("arx: counter overflow");const g=Math.min(64,l-f);if(h&&64===g){const t=f/4;if(f%4!=0)throw new Error("arx: invalid block position");for(let e,n=0;n<16;n++)e=t+n,p[e]=d[e]^u[n];f+=64;continue}for(let t,e=0;e<g;e++)t=f+e,s[t]=i[t]^c[e];f+=g}}(t,f,m,v,l,c,u,o);d.length>0;)d.pop().fill(0);return c}}function Kk(t,e,n,r,i,s=20){let o=t[0],a=t[1],l=t[2],c=t[3],u=e[0],h=e[1],d=e[2],p=e[3],f=e[4],g=e[5],m=e[6],y=e[7],v=i,b=n[0],w=n[1],_=n[2],x=o,C=a,S=l,k=c,E=u,T=h,R=d,M=p,L=f,I=g,P=m,A=y,O=v,F=b,z=w,D=_;for(let j=0;j<s;j+=2)x=x+E|0,O=qk(O^x,16),L=L+O|0,E=qk(E^L,12),x=x+E|0,O=qk(O^x,8),L=L+O|0,E=qk(E^L,7),C=C+T|0,F=qk(F^C,16),I=I+F|0,T=qk(T^I,12),C=C+T|0,F=qk(F^C,8),I=I+F|0,T=qk(T^I,7),S=S+R|0,z=qk(z^S,16),P=P+z|0,R=qk(R^P,12),S=S+R|0,z=qk(z^S,8),P=P+z|0,R=qk(R^P,7),k=k+M|0,D=qk(D^k,16),A=A+D|0,M=qk(M^A,12),k=k+M|0,D=qk(D^k,8),A=A+D|0,M=qk(M^A,7),x=x+T|0,D=qk(D^x,16),P=P+D|0,T=qk(T^P,12),x=x+T|0,D=qk(D^x,8),P=P+D|0,T=qk(T^P,7),C=C+R|0,O=qk(O^C,16),A=A+O|0,R=qk(R^A,12),C=C+R|0,O=qk(O^C,8),A=A+O|0,R=qk(R^A,7),S=S+M|0,F=qk(F^S,16),L=L+F|0,M=qk(M^L,12),S=S+M|0,F=qk(F^S,8),L=L+F|0,M=qk(M^L,7),k=k+E|0,z=qk(z^k,16),I=I+z|0,E=qk(E^I,12),k=k+E|0,z=qk(z^k,8),I=I+z|0,E=qk(E^I,7);let N=0;r[N++]=o+x|0,r[N++]=a+C|0,r[N++]=l+S|0,r[N++]=c+k|0,r[N++]=u+E|0,r[N++]=h+T|0,r[N++]=d+R|0,r[N++]=p+M|0,r[N++]=f+L|0,r[N++]=g+I|0,r[N++]=m+P|0,r[N++]=y+A|0,r[N++]=v+O|0,r[N++]=b+F|0,r[N++]=w+z|0,r[N++]=_+D|0}const Zk=Gk(Kk,{counterRight:!1,counterLength:4,allowShortKeys:!1});class Yk extends xS{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,TS.hash(t);const n=wS(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,i=new Uint8Array(r);i.set(n.length>r?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return TS.exists(this),this.iHash.update(t),this}digestInto(t){TS.exists(this),TS.bytes(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){const t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));const{oHash:e,iHash:n,finished:r,destroyed:i,blockLen:s,outputLen:o}=this;return t.finished=r,t.destroyed=i,t.blockLen=s,t.outputLen=o,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Xk=(t,e,n)=>new Yk(t,e).update(n).digest();Xk.create=(t,e)=>new Yk(t,e);const Jk=new Uint8Array([0]),Qk=new Uint8Array;var tE=Object.defineProperty,eE=(t,e)=>{for(var n in e)tE(t,n,{get:e[n],enumerable:!0})},nE=Symbol("verified");function rE(t){if(!(t instanceof Object))return!1;if("number"!=typeof t.kind)return!1;if("string"!=typeof t.content)return!1;if("number"!=typeof t.created_at)return!1;if("string"!=typeof t.pubkey)return!1;if(!t.pubkey.match(/^[a-f0-9]{64}$/))return!1;if(!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let t=0;t<n.length;t++)if("string"!=typeof n[t])return!1}return!0}eE({},{Queue:()=>hE,QueueNode:()=>uE,binarySearch:()=>cE,bytesToHex:()=>vS,hexToBytes:()=>bS,insertEventIntoAscendingList:()=>lE,insertEventIntoDescendingList:()=>aE,normalizeURL:()=>oE,utf8Decoder:()=>iE,utf8Encoder:()=>sE});var iE=new TextDecoder("utf-8"),sE=new TextEncoder;function oE(t){try{-1===t.indexOf("://")&&(t="wss://"+t);let e=new URL(t);return"http:"===e.protocol?e.protocol="ws:":"https:"===e.protocol&&(e.protocol="wss:"),e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),("80"===e.port&&"ws:"===e.protocol||"443"===e.port&&"wss:"===e.protocol)&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}catch(ej){throw new Error(`Invalid URL: ${t}`)}}function aE(t,e){const[n,r]=cE(t,t=>e.id===t.id?0:e.created_at===t.created_at?-1:t.created_at-e.created_at);return r||t.splice(n,0,e),t}function lE(t,e){const[n,r]=cE(t,t=>e.id===t.id?0:e.created_at===t.created_at?-1:e.created_at-t.created_at);return r||t.splice(n,0,e),t}function cE(t,e){let n=0,r=t.length-1;for(;n<=r;){const i=Math.floor((n+r)/2),s=e(t[i]);if(0===s)return[i,!0];s<0?r=i-1:n=i+1}return[n,!1]}var uE=class{value;next=null;prev=null;constructor(t){this.value=t}},hE=class{first;last;constructor(){this.first=null,this.last=null}enqueue(t){const e=new uE(t);return this.last?this.last===this.first?(this.last=e,this.last.prev=this.first,this.first.next=e):(e.prev=this.last,this.last.next=e,this.last=e):(this.first=e,this.last=e),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const t=this.first;return this.first=null,this.last=null,t.value}const t=this.first;return this.first=t.next,this.first&&(this.first.prev=null),t.value}};function dE(t){return vS(zS(sE.encode(function(t){if(!rE(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}(t))))}var pE=new class{generateSecretKey(){return dS.utils.randomPrivateKey()}getPublicKey(t){return vS(dS.getPublicKey(t))}finalizeEvent(t,e){const n=t;return n.pubkey=vS(dS.getPublicKey(e)),n.id=dE(n),n.sig=vS(dS.sign(dE(n),e)),n[nE]=!0,n}verifyEvent(t){if("boolean"==typeof t[nE])return t[nE];const e=dE(t);if(e!==t.id)return t[nE]=!1,!1;try{const n=dS.verify(t.sig,e,t.pubkey);return t[nE]=n,n}catch(n){return t[nE]=!1,!1}}},fE=pE.generateSecretKey,gE=pE.getPublicKey,mE=pE.finalizeEvent,yE=pE.verifyEvent,vE={};function bE(t){return t<1e4&&0!==t&&3!==t}function wE(t){return 0===t||3===t||1e4<=t&&t<2e4}function _E(t){return 2e4<=t&&t<3e4}function xE(t){return 3e4<=t&&t<4e4}function CE(t){return bE(t)?"regular":wE(t)?"replaceable":_E(t)?"ephemeral":xE(t)?"parameterized":"unknown"}function SE(t,e){const n=e instanceof Array?e:[e];return rE(t)&&n.includes(t.kind)||!1}eE(vE,{Application:()=>ZT,BadgeAward:()=>AE,BadgeDefinition:()=>$T,BlockedRelaysList:()=>_T,BlossomServerList:()=>RT,BookmarkList:()=>vT,Bookmarksets:()=>jT,Calendar:()=>nR,CalendarEventRSVP:()=>rR,ChannelCreation:()=>qE,ChannelHideMessage:()=>HE,ChannelMessage:()=>WE,ChannelMetadata:()=>VE,ChannelMuteUser:()=>GE,ChatMessage:()=>OE,ClassifiedListing:()=>JT,ClientAuth:()=>IT,Comment:()=>JE,CommunitiesList:()=>bT,CommunityDefinition:()=>aR,CommunityPostApproval:()=>oT,Contacts:()=>RE,CreateOrUpdateProduct:()=>WT,CreateOrUpdateStall:()=>VT,Curationsets:()=>BT,Date:()=>tR,DirectMessageRelaysList:()=>ET,DraftClassifiedListing:()=>QT,DraftLong:()=>GT,Emojisets:()=>KT,EncryptedDirectMessage:()=>ME,EventDeletion:()=>LE,FavoriteRelays:()=>CT,FileMessage:()=>NE,FileMetadata:()=>XE,FileServerPreference:()=>TT,Followsets:()=>zT,ForumThread:()=>FE,GenericRepost:()=>jE,Genericlists:()=>DT,GiftWrap:()=>ZE,GroupMetadata:()=>lR,HTTPAuth:()=>FT,Handlerinformation:()=>oR,Handlerrecommendation:()=>sR,Highlights:()=>pT,InterestsList:()=>ST,Interestsets:()=>qT,JobFeedback:()=>cT,JobRequest:()=>aT,JobResult:()=>lT,Label:()=>sT,LightningPubRPC:()=>LT,LiveChatMessage:()=>QE,LiveEvent:()=>YT,LongFormArticle:()=>HT,Metadata:()=>kE,Mutelist:()=>gT,NWCWalletInfo:()=>MT,NWCWalletRequest:()=>PT,NWCWalletResponse:()=>AT,NormalVideo:()=>UE,NostrConnect:()=>OT,OpenTimestamps:()=>KE,Photo:()=>BE,Pinlist:()=>mT,Poll:()=>YE,PollResponse:()=>fT,PrivateDirectMessage:()=>DE,ProblemTracker:()=>nT,ProfileBadges:()=>UT,PublicChatsList:()=>wT,Reaction:()=>PE,RecommendRelay:()=>TE,RelayList:()=>yT,RelayReview:()=>iR,Relaysets:()=>NT,Report:()=>rT,Reporting:()=>iT,Repost:()=>IE,Seal:()=>zE,SearchRelaysList:()=>xT,ShortTextNote:()=>EE,ShortVideo:()=>$E,Time:()=>eR,UserEmojiList:()=>kT,UserStatuses:()=>XT,Voice:()=>tT,VoiceComment:()=>eT,Zap:()=>dT,ZapGoal:()=>uT,ZapRequest:()=>hT,classifyKind:()=>CE,isAddressableKind:()=>xE,isEphemeralKind:()=>_E,isKind:()=>SE,isRegularKind:()=>bE,isReplaceableKind:()=>wE});var kE=0,EE=1,TE=2,RE=3,ME=4,LE=5,IE=6,PE=7,AE=8,OE=9,FE=11,zE=13,DE=14,NE=15,jE=16,BE=20,UE=21,$E=22,qE=40,VE=41,WE=42,HE=43,GE=44,KE=1040,ZE=1059,YE=1068,XE=1063,JE=1111,QE=1311,tT=1222,eT=1244,nT=1971,rT=1984,iT=1984,sT=1985,oT=4550,aT=5999,lT=6999,cT=7e3,uT=9041,hT=9734,dT=9735,pT=9802,fT=1018,gT=1e4,mT=10001,yT=10002,vT=10003,bT=10004,wT=10005,_T=10006,xT=10007,CT=10012,ST=10015,kT=10030,ET=10050,TT=10096,RT=10063,MT=13194,LT=21e3,IT=22242,PT=23194,AT=23195,OT=24133,FT=27235,zT=3e4,DT=30001,NT=30002,jT=30003,BT=30004,UT=30008,$T=30009,qT=30015,VT=30017,WT=30018,HT=30023,GT=30024,KT=30030,ZT=30078,YT=30311,XT=30315,JT=30402,QT=30403,tR=31922,eR=31923,nR=31924,rR=31925,iR=31987,sR=31989,oR=31990,aR=34550,lR=39e3;function cR(t,e){let n=e.length+3,r=t.indexOf(`"${e}":`)+n,i=t.slice(r).indexOf('"')+r+1;return t.slice(i,i+64)}function uR(t,e){let n=e.length,r=t.indexOf(`"${e}":`)+n+3,i=t.slice(r),s=Math.min(i.indexOf(","),i.indexOf("}"));return parseInt(i.slice(0,s),10)}function hR(t){let e=t.slice(0,22).indexOf('"EVENT"');if(-1===e)return null;let n=t.slice(e+7+1).indexOf('"');if(-1===n)return null;let r=e+7+1+n,i=t.slice(r+1,80).indexOf('"');if(-1===i)return null;let s=r+1+i;return t.slice(r+1,s)}function dR(t,e){return e===cR(t,"id")}function pR(t,e){return e===cR(t,"pubkey")}function fR(t,e){return e===uR(t,"kind")}function gR(t,e){return{kind:IT,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}eE({},{getHex64:()=>cR,getInt:()=>uR,getSubscriptionId:()=>hR,matchEventId:()=>dR,matchEventKind:()=>fR,matchEventPubkey:()=>pR}),eE({},{makeAuthEvent:()=>gR});try{WebSocket}catch{}try{WebSocket}catch{}eE({},{BECH32_REGEX:()=>vR,Bech32MaxSize:()=>yR,NostrTypeGuard:()=>mR,decode:()=>wR,decodeNostrURI:()=>bR,encodeBytes:()=>ER,naddrEncode:()=>MR,neventEncode:()=>RR,noteEncode:()=>SR,nprofileEncode:()=>TR,npubEncode:()=>CR,nsecEncode:()=>xR});var mR={isNProfile:t=>/^nprofile1[a-z\d]+$/.test(t||""),isNEvent:t=>/^nevent1[a-z\d]+$/.test(t||""),isNAddr:t=>/^naddr1[a-z\d]+$/.test(t||""),isNSec:t=>/^nsec1[a-z\d]{58}$/.test(t||""),isNPub:t=>/^npub1[a-z\d]{58}$/.test(t||""),isNote:t=>/^note1[a-z\d]+$/.test(t||""),isNcryptsec:t=>/^ncryptsec1[a-z\d]+$/.test(t||"")},yR=5e3,vR=/[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;function bR(t){try{return t.startsWith("nostr:")&&(t=t.substring(6)),wR(t)}catch(e){return{type:"invalid",data:null}}}function wR(t){let{prefix:e,words:n}=lk.decode(t,yR),r=new Uint8Array(lk.fromWords(n));switch(e){case"nprofile":{let t=_R(r);if(!t[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(32!==t[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:vS(t[0][0]),relays:t[1]?t[1].map(t=>iE.decode(t)):[]}}}case"nevent":{let t=_R(r);if(!t[0]?.[0])throw new Error("missing TLV 0 for nevent");if(32!==t[0][0].length)throw new Error("TLV 0 should be 32 bytes");if(t[2]&&32!==t[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(t[3]&&4!==t[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:vS(t[0][0]),relays:t[1]?t[1].map(t=>iE.decode(t)):[],author:t[2]?.[0]?vS(t[2][0]):void 0,kind:t[3]?.[0]?parseInt(vS(t[3][0]),16):void 0}}}case"naddr":{let t=_R(r);if(!t[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!t[2]?.[0])throw new Error("missing TLV 2 for naddr");if(32!==t[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(!t[3]?.[0])throw new Error("missing TLV 3 for naddr");if(4!==t[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:iE.decode(t[0][0]),pubkey:vS(t[2][0]),kind:parseInt(vS(t[3][0]),16),relays:t[1]?t[1].map(t=>iE.decode(t)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:vS(r)};default:throw new Error(`unknown prefix ${e}`)}}function _R(t){let e={},n=t;for(;n.length>0;){let t=n[0],r=n[1],i=n.slice(2,2+r);if(n=n.slice(2+r),i.length<r)throw new Error(`not enough data to read on TLV ${t}`);e[t]=e[t]||[],e[t].push(i)}return e}function xR(t){return ER("nsec",t)}function CR(t){return ER("npub",bS(t))}function SR(t){return ER("note",bS(t))}function kR(t,e){let n=lk.toWords(e);return lk.encode(t,n,yR)}function ER(t,e){return kR(t,e)}function TR(t){return kR("nprofile",LR({0:[bS(t.pubkey)],1:(t.relays||[]).map(t=>sE.encode(t))}))}function RR(t){let e;return void 0!==t.kind&&(e=function(t){const e=new Uint8Array(4);return e[0]=t>>24&255,e[1]=t>>16&255,e[2]=t>>8&255,e[3]=255&t,e}(t.kind)),kR("nevent",LR({0:[bS(t.id)],1:(t.relays||[]).map(t=>sE.encode(t)),2:t.author?[bS(t.author)]:[],3:e?[new Uint8Array(e)]:[]}))}function MR(t){let e=new ArrayBuffer(4);return new DataView(e).setUint32(0,t.kind,!1),kR("naddr",LR({0:[sE.encode(t.identifier)],1:(t.relays||[]).map(t=>sE.encode(t)),2:[bS(t.pubkey)],3:[new Uint8Array(e)]}))}function LR(t){let e=[];return Object.entries(t).reverse().forEach(([t,n])=>{n.forEach(n=>{let r=new Uint8Array(n.length+2);r.set([parseInt(t)],0),r.set([n.length],1),r.set(n,2),e.push(r)})}),_S(...e)}var IR={};function PR(t,e,n){const r=t instanceof Uint8Array?vS(t):t,i=OR(YC.getSharedSecret(r,"02"+e));let s=Uint8Array.from(SS(16)),o=sE.encode(n),a=Fk(i,s).encrypt(o);return`${XS.encode(new Uint8Array(a))}?iv=${XS.encode(new Uint8Array(s.buffer))}`}function AR(t,e,n){const r=t instanceof Uint8Array?vS(t):t;let[i,s]=n.split("?iv="),o=OR(YC.getSharedSecret(r,"02"+e)),a=XS.decode(s),l=XS.decode(i),c=Fk(o,a).decrypt(l);return iE.decode(c)}function OR(t){return t.slice(1,33)}eE(IR,{decrypt:()=>AR,encrypt:()=>PR}),eE({},{NIP05_REGEX:()=>zR,isNip05:()=>DR,isValid:()=>UR,queryProfile:()=>BR,searchDomain:()=>jR,useFetchImplementation:()=>NR});var FR,zR=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/,DR=t=>zR.test(t||"");try{FR=fetch}catch(F7){}function NR(t){FR=t}async function jR(t,e=""){try{const n=`https://${t}/.well-known/nostr.json?name=${e}`,r=await FR(n,{redirect:"manual"});if(200!==r.status)throw Error("Wrong response code");return(await r.json()).names}catch(F7){return{}}}async function BR(t){const e=t.match(zR);if(!e)return null;const[,n="_",r]=e;try{const t=`https://${r}/.well-known/nostr.json?name=${n}`,e=await FR(t,{redirect:"manual"});if(200!==e.status)throw Error("Wrong response code");const i=await e.json(),s=i.names[n];return s?{pubkey:s,relays:i.relays?.[s]}:null}catch(i){return null}}async function UR(t,e){const n=await BR(e);return!!n&&n.pubkey===t}function $R(t){const e={reply:void 0,root:void 0,mentions:[],profiles:[],quotes:[]};let n,r;for(let i=t.tags.length-1;i>=0;i--){const s=t.tags[i];if("e"===s[0]&&s[1]){const[t,i,o,a,l]=s,c={id:i,relays:o?[o]:[],author:l};if("root"===a){e.root=c;continue}if("reply"===a){e.reply=c;continue}if("mention"===a){e.mentions.push(c);continue}n?r=c:n=c,e.mentions.push(c);continue}if("q"===s[0]&&s[1]){const[t,n,r]=s;e.quotes.push({id:n,relays:r?[r]:[]})}"p"===s[0]&&s[1]&&e.profiles.push({pubkey:s[1],relays:s[2]?[s[2]]:[]})}return e.root||(e.root=r||n||e.reply),e.reply||(e.reply=n||e.root),[e.reply,e.root].forEach(t=>{if(!t)return;let n=e.mentions.indexOf(t);if(-1!==n&&e.mentions.splice(n,1),t.author){let n=e.profiles.find(e=>e.pubkey===t.author);n&&n.relays&&(t.relays||(t.relays=[]),n.relays.forEach(e=>{-1===t.relays?.indexOf(e)&&t.relays.push(e)}),n.relays=t.relays)}}),e.mentions.forEach(t=>{if(t.author){let n=e.profiles.find(e=>e.pubkey===t.author);n&&n.relays&&(t.relays||(t.relays=[]),n.relays.forEach(e=>{-1===t.relays.indexOf(e)&&t.relays.push(e)}),n.relays=t.relays)}}),e}eE({},{parse:()=>$R}),eE({},{fetchRelayInformation:()=>VR,useFetchImplementation:()=>qR});try{fetch}catch{}function qR(){}async function VR(t){return await(await fetch(t.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}function WR(t){let e=0;for(let n=0;n<64;n+=8){const r=parseInt(t.substring(n,n+8),16);if(0!==r){e+=Math.clz32(r);break}e+=32}return e}function HR(t,e){let n=0;const r=t,i=["nonce",n.toString(),e.toString()];for(r.tags.push(i);;){const t=Math.floor((new Date).getTime()/1e3);if(t!==r.created_at&&(n=0,r.created_at=t),i[1]=(++n).toString(),r.id=GR(r),WR(r.id)>=e)break}return r}function GR(t){return vS(zS(sE.encode(JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content]))))}eE({},{fastEventHash:()=>GR,getPow:()=>WR,minePow:()=>HR}),eE({},{unwrapEvent:()=>vM,unwrapManyEvents:()=>bM,wrapEvent:()=>mM,wrapManyEvents:()=>yM}),eE({},{createRumor:()=>cM,createSeal:()=>uM,createWrap:()=>hM,unwrapEvent:()=>fM,unwrapManyEvents:()=>gM,wrapEvent:()=>dM,wrapManyEvents:()=>pM});var KR={};eE(KR,{decrypt:()=>nM,encrypt:()=>eM,getConversationKey:()=>XR,v2:()=>rM});var ZR=1,YR=65535;function XR(t,e){const n=YC.getSharedSecret(t,"02"+e).subarray(1,33);return r=zS,i=n,TS.hash(r),Xk(r,wS("nip44-v2"),wS(i));var r,i}function JR(t,e){const n=function(t,e,n,r=32){if(TS.hash(t),TS.number(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(r/t.outputLen);void 0===n&&(n=Qk);const s=new Uint8Array(i*t.outputLen),o=Xk.create(t,e),a=o._cloneInto(),l=new Uint8Array(o.outputLen);for(let c=0;c<i;c++)Jk[0]=c+1,a.update(0===c?Qk:l).update(n).update(Jk).digestInto(l),s.set(l,t.outputLen*c),o._cloneInto(a);return o.destroy(),a.destroy(),l.fill(0),Jk.fill(0),s.slice(0,r)}(zS,t,e,76);return{chacha_key:n.subarray(0,32),chacha_nonce:n.subarray(32,44),hmac_key:n.subarray(44,76)}}function QR(t){if(!Number.isSafeInteger(t)||t<1)throw new Error("expected positive integer");if(t<=32)return 32;const e=1<<Math.floor(Math.log2(t-1))+1,n=e<=256?32:e/8;return n*(Math.floor((t-1)/n)+1)}function tM(t,e,n){if(32!==n.length)throw new Error("AAD associated data must be 32 bytes");const r=_S(n,e);return Xk(zS,t,r)}function eM(t,e,n=SS(32)){const{chacha_key:r,chacha_nonce:i,hmac_key:s}=JR(e,n),o=function(t){const e=sE.encode(t),n=e.length;return _S(function(t){if(!Number.isSafeInteger(t)||t<ZR||t>YR)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,t,!1),e}(n),e,new Uint8Array(QR(n)-n))}(t),a=Zk(r,i,o),l=tM(s,a,n);return XS.encode(_S(new Uint8Array([2]),n,a,l))}function nM(t,e){const{nonce:n,ciphertext:r,mac:i}=function(t){if("string"!=typeof t)throw new Error("payload must be a valid string");const e=t.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if("#"===t[0])throw new Error("unknown encryption version");let n;try{n=XS.decode(t)}catch(v5){throw new Error("invalid base64: "+v5.message)}const r=n.length;if(r<99||r>65603)throw new Error("invalid data length: "+r);const i=n[0];if(2!==i)throw new Error("unknown encryption version "+i);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}(t),{chacha_key:s,chacha_nonce:o,hmac_key:a}=JR(e,n);if(!function(t,e){if(t.length!==e.length)return!1;let n=0;for(let r=0;r<t.length;r++)n|=t[r]^e[r];return 0===n}(tM(a,r,n),i))throw new Error("invalid MAC");return function(t){const e=new DataView(t.buffer).getUint16(0),n=t.subarray(2,2+e);if(e<ZR||e>YR||n.length!==e||t.length!==2+QR(e))throw new Error("invalid padding");return iE.decode(n)}(Zk(s,o,r))}var rM={utils:{getConversationKey:XR,calcPaddedLen:QR},encrypt:eM,decrypt:nM},iM=()=>Math.round(Date.now()/1e3),sM=()=>Math.round(iM()-172800*Math.random()),oM=(t,e)=>XR(t,e),aM=(t,e,n)=>eM(JSON.stringify(t),oM(e,n)),lM=(t,e)=>JSON.parse(nM(t.content,oM(e,t.pubkey)));function cM(t,e){const n={created_at:iM(),content:"",tags:[],...t,pubkey:gE(e)};return n.id=dE(n),n}function uM(t,e,n){return mE({kind:zE,content:aM(t,e,n),created_at:sM(),tags:[]},e)}function hM(t,e){const n=fE();return mE({kind:ZE,content:aM(t,n,e),created_at:sM(),tags:[["p",e]]},n)}function dM(t,e,n){return hM(uM(cM(t,e),e,n),n)}function pM(t,e,n){if(!n||0===n.length)throw new Error("At least one recipient is required.");const r=gE(e),i=[dM(t,e,r)];return n.forEach(n=>{i.push(dM(t,e,n))}),i}function fM(t,e){const n=lM(t,e);return lM(n,e)}function gM(t,e){let n=[];return t.forEach(t=>{n.push(fM(t,e))}),n.sort((t,e)=>t.created_at-e.created_at),n}function mM(t,e,n,r,i){const s=function(t,e,n,r){const i={created_at:Math.ceil(Date.now()/1e3),kind:DE,tags:[],content:e};return(Array.isArray(t)?t:[t]).forEach(({publicKey:t,relayUrl:e})=>{i.tags.push(e?["p",t,e]:["p",t])}),r&&i.tags.push(["e",r.eventId,r.relayUrl||"","reply"]),n&&i.tags.push(["subject",n]),i}(e,n,r,i);return dM(s,t,e.publicKey)}function yM(t,e,n,r,i){if(!e||0===e.length)throw new Error("At least one recipient is required.");return[{publicKey:gE(t)},...e].map(e=>mM(t,e,n,r,i))}var vM=fM,bM=gM;function wM(t,e,n,r){let i;const s=[...t.tags??[],["e",e.id,n],["p",e.pubkey]];return e.kind===EE?i=IE:(i=jE,s.push(["k",String(e.kind)])),mE({kind:i,tags:s,content:""===t.content||e.tags?.find(t=>"-"===t[0])?"":JSON.stringify(e),created_at:t.created_at},r)}function _M(t){if(![IE,jE].includes(t.kind))return;let e,n;for(let r=t.tags.length-1;r>=0&&(void 0===e||void 0===n);r--){const i=t.tags[r];i.length>=2&&("e"===i[0]&&void 0===e?e=i:"p"===i[0]&&void 0===n&&(n=i))}return void 0!==e?{id:e[1],relays:[e[2],n?.[2]].filter(t=>"string"==typeof t),author:n?.[1]}:void 0}function xM(t,{skipVerification:e}={}){const n=_M(t);if(void 0===n||""===t.content)return;let r;try{r=JSON.parse(t.content)}catch(v5){return}return r.id===n.id&&(e||yE(r))?r:void 0}eE({},{finishRepostEvent:()=>wM,getRepostedEvent:()=>xM,getRepostedEventPointer:()=>_M}),eE({},{NOSTR_URI_REGEX:()=>CM,parse:()=>kM,test:()=>SM});var CM=new RegExp(`nostr:(${vR.source})`);function SM(t){return"string"==typeof t&&new RegExp(`^${CM.source}$`).test(t)}function kM(t){const e=t.match(new RegExp(`^${CM.source}$`));if(!e)throw new Error(`Invalid Nostr URI: ${t}`);return{uri:e[0],value:e[1],decoded:wR(e[1])}}function EM(t,e,n){const r=e.tags.filter(t=>t.length>=2&&("e"===t[0]||"p"===t[0]));return mE({...t,kind:PE,tags:[...t.tags??[],...r,["e",e.id],["p",e.pubkey]],content:t.content??"+"},n)}function TM(t){if(t.kind!==PE)return;let e,n;for(let r=t.tags.length-1;r>=0&&(void 0===e||void 0===n);r--){const i=t.tags[r];i.length>=2&&("e"===i[0]&&void 0===e?e=i:"p"===i[0]&&void 0===n&&(n=i))}return void 0!==e&&void 0!==n?{id:e[1],relays:[e[2],n[2]].filter(t=>void 0!==t),author:n[1]}:void 0}eE({},{finishReactionEvent:()=>EM,getReactedEventPointer:()=>TM}),eE({},{parse:()=>IM});var RM=/\W/m,MM=/[^\w\/] |[^\w\/]$|$|,| /m,LM=42;function*IM(t){let e=[];if("string"!=typeof t){for(let n=0;n<t.tags.length;n++){const r=t.tags[n];"emoji"===r[0]&&r.length>=3&&e.push({type:"emoji",shortcode:r[1],url:r[2]})}t=t.content}const n=t.length;let r=0,i=0;t:for(;i<n;){const o=t.indexOf(":",i),a=t.indexOf("#",i);if(-1===o&&-1===a)break t;if(-1===o||a>=0&&a<o){if(0===a||" "===t[a-1]){const e=t.slice(a+1,a+LM).match(RM),s=e?a+1+e.index:n;yield{type:"text",text:t.slice(r,a)},yield{type:"hashtag",value:t.slice(a+1,s)},i=s,r=i;continue t}i=a+1}else if("nostr"===t.slice(o-5,o)){const e=t.slice(o+60).match(RM),a=e?o+60+e.index:n;try{let e,{data:n,type:s}=wR(t.slice(o+1,a));switch(s){case"npub":e={pubkey:n};break;case"note":e={id:n};break;case"nsec":i=a+1;continue;default:e=n}r!==o-5&&(yield{type:"text",text:t.slice(r,o-5)}),yield{type:"reference",pointer:e},i=a,r=i;continue t}catch(s){i=o+1;continue t}}else if("https"===t.slice(o-5,o)||"http"===t.slice(o-4,o)){const e=t.slice(o+4).match(MM),a=e?o+4+e.index:n,l="s"===t[o-1]?5:4;try{let e=new URL(t.slice(o-l,a));if(-1===e.hostname.indexOf("."))throw new Error("invalid url");if(r!==o-l&&(yield{type:"text",text:t.slice(r,o-l)}),/\.(png|jpe?g|gif|webp|heic|svg)$/i.test(e.pathname)){yield{type:"image",url:e.toString()},i=a,r=i;continue t}if(/\.(mp4|avi|webm|mkv|mov)$/i.test(e.pathname)){yield{type:"video",url:e.toString()},i=a,r=i;continue t}if(/\.(mp3|aac|ogg|opus|wav|flac)$/i.test(e.pathname)){yield{type:"audio",url:e.toString()},i=a,r=i;continue t}yield{type:"url",url:e.toString()},i=a,r=i;continue t}catch(s){i=a+1;continue t}}else{if("wss"!==t.slice(o-3,o)&&"ws"!==t.slice(o-2,o)){for(let n=0;n<e.length;n++){const s=e[n];if(":"===t[o+s.shortcode.length+1]&&t.slice(o+1,o+s.shortcode.length+1)===s.shortcode){r!==o&&(yield{type:"text",text:t.slice(r,o)}),yield s,i=o+s.shortcode.length+2,r=i;continue t}}i=o+1;continue t}{const e=t.slice(o+4).match(MM),a=e?o+4+e.index:n,l="s"===t[o-1]?3:2;try{let e=new URL(t.slice(o-l,a));if(-1===e.hostname.indexOf("."))throw new Error("invalid ws url");r!==o-l&&(yield{type:"text",text:t.slice(r,o-l)}),yield{type:"relay",url:e.toString()},i=a,r=i;continue t}catch(s){i=a+1;continue t}}}}r!==n&&(yield{type:"text",text:t.slice(r)})}eE({},{channelCreateEvent:()=>PM,channelHideMessageEvent:()=>FM,channelMessageEvent:()=>OM,channelMetadataEvent:()=>AM,channelMuteUserEvent:()=>zM});var PM=(t,e)=>{let n;if("object"==typeof t.content)n=JSON.stringify(t.content);else{if("string"!=typeof t.content)return;n=t.content}return mE({kind:qE,tags:[...t.tags??[]],content:n,created_at:t.created_at},e)},AM=(t,e)=>{let n;if("object"==typeof t.content)n=JSON.stringify(t.content);else{if("string"!=typeof t.content)return;n=t.content}return mE({kind:VE,tags:[["e",t.channel_create_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},OM=(t,e)=>{const n=[["e",t.channel_create_event_id,t.relay_url,"root"]];return t.reply_to_channel_message_event_id&&n.push(["e",t.reply_to_channel_message_event_id,t.relay_url,"reply"]),mE({kind:WE,tags:[...n,...t.tags??[]],content:t.content,created_at:t.created_at},e)},FM=(t,e)=>{let n;if("object"==typeof t.content)n=JSON.stringify(t.content);else{if("string"!=typeof t.content)return;n=t.content}return mE({kind:HE,tags:[["e",t.channel_message_event_id],...t.tags??[]],content:n,created_at:t.created_at},e)},zM=(t,e)=>{let n;if("object"==typeof t.content)n=JSON.stringify(t.content);else{if("string"!=typeof t.content)return;n=t.content}return mE({kind:GE,tags:[["p",t.pubkey_to_mute],...t.tags??[]],content:n,created_at:t.created_at},e)};eE({},{EMOJI_SHORTCODE_REGEX:()=>jM,matchAll:()=>UM,regex:()=>BM,replaceAll:()=>$M});var DM,NM,jM=/:(\w+):/,BM=()=>new RegExp(`\\B${jM.source}\\B`,"g");function*UM(t){const e=t.matchAll(BM());for(const r of e)try{const[t,e]=r;yield{shortcode:t,name:e,start:r.index,end:r.index+t.length}}catch(n){}}function $M(t,e){return t.replaceAll(BM(),(t,n)=>e({shortcode:t,name:n}))}eE({},{useFetchImplementation:()=>qM,validateGithub:()=>VM});try{DM=fetch}catch{}function qM(t){DM=t}async function VM(t,e,n){try{return await(await DM(`https://gist.github.com/${e}/${n}/raw`)).text()===`Verifying that I control the following Nostr public key: ${t}`}catch(F7){return!1}}function WM(t){const{host:e,pathname:n,searchParams:r}=new URL(t),i=n||e,s=r.get("relay"),o=r.get("secret");if(!i||!s||!o)throw new Error("invalid connection string");return{pubkey:i,relay:s,secret:o}}async function HM(t,e,n){const r={method:"pay_invoice",params:{invoice:n}},i=PR(e,t,JSON.stringify(r)),s={kind:PT,created_at:Math.round(Date.now()/1e3),content:i,tags:[["p",t]]};return mE(s,e)}function GM(t){return t=(t=t.trim().toLowerCase()).normalize("NFKC"),Array.from(t).map(t=>/\p{Letter}/u.test(t)||/\p{Number}/u.test(t)?t:"-").join("")}eE({},{makeNwcRequestEvent:()=>HM,parseConnectionString:()=>WM}),eE({},{normalizeIdentifier:()=>GM}),eE({},{getSatoshisAmountFromBolt11:()=>QM,getZapEndpoint:()=>ZM,makeZapReceipt:()=>JM,makeZapRequest:()=>YM,useFetchImplementation:()=>KM,validateZapRequest:()=>XM});try{NM=fetch}catch{}function KM(t){NM=t}async function ZM(t){try{let e="",{lud06:n,lud16:r}=JSON.parse(t.content);if(r){let[t,n]=r.split("@");e=new URL(`/.well-known/lnurlp/${t}`,`https://${n}`).toString()}else{if(!n)return null;{let{words:t}=lk.decode(n,1e3),r=lk.fromWords(t);e=iE.decode(r)}}let i=await NM(e),s=await i.json();if(s.allowsNostr&&s.nostrPubkey)return s.callback}catch(e){}return null}function YM(t){let e={kind:9734,created_at:Math.round(Date.now()/1e3),content:t.comment||"",tags:[["p","pubkey"in t?t.pubkey:t.event.pubkey],["amount",t.amount.toString()],["relays",...t.relays]]};if("event"in t){if(e.tags.push(["e",t.event.id]),wE(t.event.kind)){const n=["a",`${t.event.kind}:${t.event.pubkey}:`];e.tags.push(n)}else if(xE(t.event.kind)){let n=t.event.tags.find(([t,e])=>"d"===t&&e);if(!n)throw new Error("d tag not found or is empty");const r=["a",`${t.event.kind}:${t.event.pubkey}:${n[1]}`];e.tags.push(r)}e.tags.push(["k",t.event.kind.toString()])}return e}function XM(t){let e;try{e=JSON.parse(t)}catch(i){return"Invalid zap request JSON."}if(!rE(e))return"Zap request is not a valid Nostr event.";if(!yE(e))return"Invalid signature on zap request.";let n=e.tags.find(([t,e])=>"p"===t&&e);if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let r=e.tags.find(([t,e])=>"e"===t&&e);return r&&!r[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([t,e])=>"relays"===t&&e)?null:"Zap request doesn't have a 'relays' tag."}function JM({zapRequest:t,preimage:e,bolt11:n,paidAt:r}){let i=JSON.parse(t),s=i.tags.filter(([t])=>"e"===t||"p"===t||"a"===t),o={kind:9735,created_at:Math.round(r.getTime()/1e3),content:"",tags:[...s,["P",i.pubkey],["bolt11",n],["description",t]]};return e&&o.tags.push(["preimage",e]),o}function QM(t){if(t.length<50)return 0;const e=(t=t.substring(0,50)).lastIndexOf("1");if(-1===e)return 0;const n=t.substring(0,e);if(!n.startsWith("lnbc"))return 0;const r=n.substring(4);if(r.length<1)return 0;const i=r[r.length-1],s=i.charCodeAt(0)-"0".charCodeAt(0),o=s>=0&&s<=9;let a=r.length-1;if(o&&a++,a<1)return 0;const l=parseInt(r.substring(0,a));switch(i){case"m":return 1e5*l;case"u":return 100*l;case"n":return l/10;case"p":return l/1e4;default:return 1e8*l}}eE({},{Negentropy:()=>aL,NegentropyStorageVector:()=>oL,NegentropySync:()=>uL});var tL=32,eL=class{_raw;length;constructor(t){"number"==typeof t?(this._raw=new Uint8Array(t),this.length=0):t instanceof Uint8Array?(this._raw=new Uint8Array(t),this.length=t.length):(this._raw=new Uint8Array(512),this.length=0)}unwrap(){return this._raw.subarray(0,this.length)}get capacity(){return this._raw.byteLength}extend(t){if(t instanceof eL&&(t=t.unwrap()),"number"!=typeof t.length)throw Error("bad length");const e=t.length+this.length;if(this.capacity<e){const t=this._raw,n=Math.max(2*this.capacity,e);this._raw=new Uint8Array(n),this._raw.set(t)}this._raw.set(t,this.length),this.length+=t.length}shift(){const t=this._raw[0];return this._raw=this._raw.subarray(1),this.length--,t}shiftN(t=1){const e=this._raw.subarray(0,t);return this._raw=this._raw.subarray(t),this.length-=t,e}};function nL(t){let e=0;for(;;){if(0===t.length)throw Error("parse ends prematurely");let n=t.shift();if(e=e<<7|127&n,!(128&n))break}return e}function rL(t){if(0===t)return new eL(new Uint8Array([0]));let e=[];for(;0!==t;)e.push(127&t),t>>>=7;e.reverse();for(let n=0;n<e.length-1;n++)e[n]|=128;return new eL(new Uint8Array(e))}function iL(t,e){if(t.length<e)throw Error("parse ends prematurely");return t.shiftN(e)}var sL=class{buf;constructor(){this.setToZero()}setToZero(){this.buf=new Uint8Array(tL)}add(t){let e=0,n=0,r=new DataView(this.buf.buffer),i=new DataView(t.buffer);for(let s=0;s<8;s++){let t=4*s,o=r.getUint32(t,!0);o+=e,o+=i.getUint32(t,!0),o>4294967295&&(n=1),r.setUint32(t,4294967295&o,!0),e=n,n=0}}negate(){let t=new DataView(this.buf.buffer);for(let n=0;n<8;n++){let e=4*n;t.setUint32(e,~t.getUint32(e,!0))}let e=new Uint8Array(tL);e[0]=1,this.add(e)}getFingerprint(t){let e=new eL;return e.extend(this.buf),e.extend(rL(t)),zS(e.unwrap()).subarray(0,16)}},oL=class{items;sealed;constructor(){this.items=[],this.sealed=!1}insert(t,e){if(this.sealed)throw Error("already sealed");const n=yk(e);if(n.byteLength!==tL)throw Error("bad id size for added item");this.items.push({timestamp:t,id:n})}seal(){if(this.sealed)throw Error("already sealed");this.sealed=!0,this.items.sort(cL);for(let t=1;t<this.items.length;t++)if(0===cL(this.items[t-1],this.items[t]))throw Error("duplicate item inserted")}unseal(){this.sealed=!1}size(){return this._checkSealed(),this.items.length}getItem(t){if(this._checkSealed(),t>=this.items.length)throw Error("out of range");return this.items[t]}iterate(t,e,n){this._checkSealed(),this._checkBounds(t,e);for(let r=t;r<e&&n(this.items[r],r);++r);}findLowerBound(t,e,n){return this._checkSealed(),this._checkBounds(t,e),this._binarySearch(this.items,t,e,t=>cL(t,n)<0)}fingerprint(t,e){let n=new sL;return n.setToZero(),this.iterate(t,e,t=>(n.add(t.id),!0)),n.getFingerprint(e-t)}_checkSealed(){if(!this.sealed)throw Error("not sealed")}_checkBounds(t,e){if(t>e||e>this.items.length)throw Error("bad range")}_binarySearch(t,e,n,r){let i=n-e;for(;i>0;){let n=e,s=Math.floor(i/2);n+=s,r(t[n])?(e=++n,i-=s+1):i=s}return e}},aL=class{storage;frameSizeLimit;lastTimestampIn;lastTimestampOut;constructor(t,e=6e4){if(e<4096)throw Error("frameSizeLimit too small");this.storage=t,this.frameSizeLimit=e,this.lastTimestampIn=0,this.lastTimestampOut=0}_bound(t,e){return{timestamp:t,id:e||new Uint8Array(0)}}initiate(){let t=new eL;return t.extend(new Uint8Array([97])),this.splitRange(0,this.storage.size(),this._bound(Number.MAX_VALUE),t),gk(t.unwrap())}reconcile(t,e,n){const r=new eL(yk(t));this.lastTimestampIn=this.lastTimestampOut=0;let i=new eL;i.extend(new Uint8Array([97]));let s=iL(r,1)[0];if(s<96||s>111)throw Error("invalid negentropy protocol version byte");if(97!==s)throw Error("unsupported negentropy protocol version requested: "+(s-96));let o=this.storage.size(),a=this._bound(0),l=0,c=!1;for(;0!==r.length;){let t=new eL,s=()=>{c&&(c=!1,t.extend(this.encodeBound(a)),t.extend(rL(0)))},u=this.decodeBound(r),h=nL(r),d=l,p=this.storage.findLowerBound(l,o,u);if(0===h)c=!0;else if(1===h)0!==lL(iL(r,16),this.storage.fingerprint(d,p))?(s(),this.splitRange(d,p,u,t)):c=!0;else{if(2!==h)throw Error("unexpected mode");{let t=nL(r),i={};for(let e=0;e<t;e++){let t=iL(r,tL);i[gk(t)]=t}if(c=!0,this.storage.iterate(d,p,t=>{let n=t.id;const r=gk(n);return i[r]?delete i[gk(n)]:e?.(r),!0}),n)for(let e of Object.values(i))n(gk(e))}}if(this.exceededFrameSizeLimit(i.length+t.length)){let t=this.storage.fingerprint(p,o);i.extend(this.encodeBound(this._bound(Number.MAX_VALUE))),i.extend(rL(1)),i.extend(t);break}i.extend(t),l=p,a=u}return 1===i.length?null:gk(i.unwrap())}splitRange(t,e,n,r){let i=e-t;if(i<32)r.extend(this.encodeBound(n)),r.extend(rL(2)),r.extend(rL(i)),this.storage.iterate(t,e,t=>(r.extend(t.id),!0));else{let s=Math.floor(i/16),o=i%16,a=t;for(let t=0;t<16;t++){let i,l=s+(t<o?1:0),c=this.storage.fingerprint(a,a+l);if(a+=l,a===e)i=n;else{let t,e;this.storage.iterate(a-1,a+1,(n,r)=>(r===a-1?t=n:e=n,!0)),i=this.getMinimalBound(t,e)}r.extend(this.encodeBound(i)),r.extend(rL(1)),r.extend(c)}}}exceededFrameSizeLimit(t){return t>this.frameSizeLimit-200}decodeTimestampIn(t){let e=nL(t);return e=0===e?Number.MAX_VALUE:e-1,this.lastTimestampIn===Number.MAX_VALUE||e===Number.MAX_VALUE?(this.lastTimestampIn=Number.MAX_VALUE,Number.MAX_VALUE):(e+=this.lastTimestampIn,this.lastTimestampIn=e,e)}decodeBound(t){let e=this.decodeTimestampIn(t),n=nL(t);if(n>tL)throw Error("bound key too long");return{timestamp:e,id:iL(t,n)}}encodeTimestampOut(t){if(t===Number.MAX_VALUE)return this.lastTimestampOut=Number.MAX_VALUE,rL(0);let e=t;return t-=this.lastTimestampOut,this.lastTimestampOut=e,rL(t+1)}encodeBound(t){let e=new eL;return e.extend(this.encodeTimestampOut(t.timestamp)),e.extend(rL(t.id.length)),e.extend(t.id),e}getMinimalBound(t,e){if(e.timestamp!==t.timestamp)return this._bound(e.timestamp);{let n=0,r=e.id,i=t.id;for(let t=0;t<tL&&r[t]===i[t];t++)n++;return this._bound(e.timestamp,e.id.subarray(0,n+1))}}};function lL(t,e){for(let n=0;n<t.byteLength;n++){if(t[n]<e[n])return-1;if(t[n]>e[n])return 1}return t.byteLength>e.byteLength?1:t.byteLength<e.byteLength?-1:0}function cL(t,e){return t.timestamp===e.timestamp?lL(t.id,e.id):t.timestamp-e.timestamp}var uL=class{relay;storage;neg;filter;subscription;onhave;onneed;constructor(t,e,n,r={}){this.relay=t,this.storage=e,this.neg=new aL(e),this.onhave=r.onhave,this.onneed=r.onneed,this.filter=n,this.subscription=this.relay.prepareSubscription([{}],{label:r.label||"negentropy"}),this.subscription.oncustom=t=>{switch(t[0]){case"NEG-MSG":t.length<3&&console.warn(`got invalid NEG-MSG from ${this.relay.url}: ${t}`);try{const e=this.neg.reconcile(t[2],this.onhave,this.onneed);e?this.relay.send(`["NEG-MSG", "${this.subscription.id}", "${e}"]`):(this.close(),r.onclose?.())}catch(v5){console.error("negentropy reconcile error:",v5),r?.onclose?.(`reconcile error: ${v5}`)}break;case"NEG-CLOSE":{const e=t[2];console.warn("negentropy error:",e),r.onclose?.(e);break}case"NEG-ERR":r.onclose?.()}}}async start(){const t=this.neg.initiate();this.relay.send(`["NEG-OPEN","${this.subscription.id}",${JSON.stringify(this.filter)},"${t}"]`)}close(){this.relay.send(`["NEG-CLOSE","${this.subscription.id}"]`),this.subscription.close()}};eE({},{getToken:()=>dL,hashPayload:()=>bL,unpackEventFromToken:()=>fL,validateEvent:()=>_L,validateEventKind:()=>mL,validateEventMethodTag:()=>vL,validateEventPayloadTag:()=>wL,validateEventTimestamp:()=>gL,validateEventUrlTag:()=>yL,validateToken:()=>pL});var hL="Nostr ";async function dL(t,e,n,r=!1,i){const s={kind:FT,tags:[["u",t],["method",e]],created_at:Math.round((new Date).getTime()/1e3),content:""};i&&s.tags.push(["payload",bL(i)]);const o=await n(s);return(r?hL:"")+XS.encode(sE.encode(JSON.stringify(o)))}async function pL(t,e,n){const r=await fL(t).catch(t=>{throw t}),i=await _L(r,e,n).catch(t=>{throw t});return i}async function fL(t){if(!t)throw new Error("Missing token");t=t.replace(hL,"");const e=iE.decode(XS.decode(t));if(!e||0===e.length||!e.startsWith("{"))throw new Error("Invalid token");return JSON.parse(e)}function gL(t){return!!t.created_at&&Math.round((new Date).getTime()/1e3)-t.created_at<60}function mL(t){return t.kind===FT}function yL(t,e){const n=t.tags.find(t=>"u"===t[0]);return!!n&&n.length>0&&n[1]===e}function vL(t,e){const n=t.tags.find(t=>"method"===t[0]);return!!n&&n.length>0&&n[1].toLowerCase()===e.toLowerCase()}function bL(t){return vS(zS(sE.encode(JSON.stringify(t))))}function wL(t,e){const n=t.tags.find(t=>"payload"===t[0]);if(!n)return!1;const r=bL(e);return n.length>0&&n[1]===r}async function _L(t,e,n,r){if(!yE(t))throw new Error("Invalid nostr event, signature invalid");if(!mL(t))throw new Error("Invalid nostr event, kind invalid");if(!gL(t))throw new Error("Invalid nostr event, created_at timestamp invalid");if(!yL(t,e))throw new Error("Invalid nostr event, url tag invalid");if(!vL(t,n))throw new Error("Invalid nostr event, method tag invalid");if(Boolean(r)&&"object"==typeof r&&Object.keys(r).length>0&&!wL(t,r))throw new Error("Invalid nostr event, payload tag does not match request body hash");return!0}function xL(t){return 0===t||3===t||1e4<=t&&t<2e4}function CL(t){return 3e4<=t&&t<4e4}var SL=Symbol("verified");new TextDecoder("utf-8");var kL=new TextEncoder;function EL(t){return vS(zS(kL.encode(function(t){if(!function(t){if(!(t instanceof Object))return!1;if("number"!=typeof t.kind)return!1;if("string"!=typeof t.content)return!1;if("number"!=typeof t.created_at)return!1;if("string"!=typeof t.pubkey)return!1;if(!t.pubkey.match(/^[a-f0-9]{64}$/))return!1;if(!Array.isArray(t.tags))return!1;for(let e=0;e<t.tags.length;e++){let n=t.tags[e];if(!Array.isArray(n))return!1;for(let t=0;t<n.length;t++)if("string"!=typeof n[t])return!1}return!0}(t))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,t.pubkey,t.created_at,t.kind,t.tags,t.content])}(t))))}var TL=new class{generateSecretKey(){return dS.utils.randomPrivateKey()}getPublicKey(t){return vS(dS.getPublicKey(t))}finalizeEvent(t,e){const n=t;return n.pubkey=vS(dS.getPublicKey(e)),n.id=EL(n),n.sig=vS(dS.sign(EL(n),e)),n[SL]=!0,n}verifyEvent(t){if("boolean"==typeof t[SL])return t[SL];const e=EL(t);if(e!==t.id)return t[SL]=!1,!1;try{const n=dS.verify(t.sig,e,t.pubkey);return t[SL]=n,n}catch(n){return t[SL]=!1,!1}}},RL=TL.generateSecretKey,ML=TL.getPublicKey,LL=TL.finalizeEvent,IL=TL.verifyEvent;function PL(t,e,n){if(Reflect.has(t,e))return Reflect.get(t,e);{const r=n();return Reflect.set(t,e,r),r}}function AL(t,e){const[n,r]=OL(t,t=>e.id===t.id?0:e.created_at===t.created_at?-1:t.created_at-e.created_at);return r||t.splice(n,0,e),t}function OL(t,e){let n=0,r=t.length-1;for(;n<=r;){const i=Math.floor((n+r)/2),s=e(t[i]);if(0===s)return[i,!0];s<0?r=i-1:n=i+1}return[n,!1]}new TextDecoder("utf-8"),new TextEncoder;const FL=Symbol.for("event-store"),zL=Symbol.for("event-uid"),DL=Symbol.for("replaceable-address"),NL=Symbol.for("from-cache"),jL=Symbol.for("replaceable-identifier");function BL(t){return null!=t&&64===t.id?.length&&"string"==typeof t.sig&&"string"==typeof t.pubkey&&64===t.pubkey.length&&"string"==typeof t.content&&Array.isArray(t.tags)&&"number"==typeof t.created_at&&t.created_at>0}function UL(t){return xL(t)||CL(t)}function $L(t){let e=Reflect.get(t,zL);return e||(e=UL(t.kind)?function(t){return UL(t.kind)?PL(t,DL,()=>qL(t.kind,t.pubkey,VL(t))):null}(t)??t.id:t.id,Reflect.set(t,zL,e)),e}function qL(t,e,n){return t+":"+e+":"+(n??"")}function VL(t){return PL(t,jL,()=>t.tags.find(t=>"d"===t[0])?.[1]??"")}const WL=Symbol.for("encrypted-content"),HL={[vE.EncryptedDirectMessage]:"nip04",[vE.Seal]:"nip44",[vE.GiftWrap]:"nip44"};function GL(t,e){return HL[t]=e,t}function KL(t,e,n){const r=n??HL[t];if(!r)throw new Error(`Event kind ${t} does not support encrypted content`);const i=e[r];if(!i)throw new Error(`Signer does not support ${r} encryption`);return i}const ZL=new Set([WL]);function YL(t){return t}function XL(...t){return QL(t.filter(t=>!!t),ZL)}function JL(...t){return QL(t.filter(t=>!!t))}function QL(t,e){return 0===t.length?YL:async function(n,r){return t.reduce(async(t,n)=>{const i=await n(await t,r);if(e&&"object"==typeof i&&null!==i&&"object"==typeof t&&null!==t){const t=Reflect.ownKeys(i).filter(t=>"symbol"==typeof t);for(const n of t)e.has(n)||Reflect.deleteProperty(i,n)}return i},n)}}function tI(t,e){return void 0!==t[0]&&void 0!==t[1]&&(!e||t[0]===e)}function eI(t){return tI(t,"e")}function nI(t){return tI(t,"p")}function rI(t){return tI(t,"r")}function iI(t){return tI(t,"a")}const sI=(t,...e)=>e.reduce((t,e)=>{const n=[];for(const r of t)try{const t=e(r);if(void 0===t)continue;n.push(t)}catch(v5){}return n},t);function oI(t,e,n=!0){const r=t.find(t=>t[0]===e[0]);return r?n?t.map(t=>t===r?e:t):t:[...t,e]}function aI(){return Math.round(Date.now()/1e3)}var lI=new TextDecoder("utf-8");function cI(t){let e={},n=t;for(;n.length>0;){let t=n[0],r=n[1],i=n.slice(2,2+r);if(n=n.slice(2+r),i.length<r)throw new Error(`not enough data to read on TLV ${t}`);e[t]=e[t]||[],e[t].push(i)}return e}function uI(t){const e="string"==typeof t?new URL(function(t,e="https:"){return/^[a-zA-Z][a-zA-Z0-9+.-]+:/.test(t)?t:e+"//"+t}(t,"http:")):new URL(t);return"ws:"===e.protocol?e.protocol="http:":("wss:"===e.protocol||"http:"!==e.protocol)&&(e.protocol="https:"),"string"==typeof t?e.toString():e}function hI(t){let e=new URL(t);return e.pathname=e.pathname.replace(/\/+/g,"/"),("80"!==e.port||"ws:"!==e.protocol&&"http:"!==e.protocol)&&("443"!==e.port||"wss:"!==e.protocol&&"https:"!==e.protocol)||(e.port=""),"string"==typeof t?e.toString():e}new TextEncoder;const dI=Symbol.for("seen-relays");function pI(t,e){let n=Reflect.get(t,dI);return n?(n.add(e),n):(n=new Set([e]),Reflect.set(t,dI,n),n)}const fI=/^wss?:\/\/([-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}|localhost)\b([-a-zA-Z0-9()@:%_\+.~#?&\/\/=]*)$/;function gI(t){return t.length>=8&&fI.test(t)}function mI(t){return!!t&&64===t.length&&!!t.toLowerCase().match(/^[0-9a-f]{64}$/)}function yI(t){const e=t[1];if(!e||!mI(e))return null;const n={id:e};return t[2]&&gI(t[2])&&(n.relays=[hI(t[2])]),n}function vI(t){if(!t[1])return null;const e=function(t,e=!1){const n=t.split(":"),r=n[0]?parseInt(n[0]):void 0,i=n[1];if(void 0===r)return null;if(void 0===i||""===i||!mI(i))return null;const s=n.slice(2).join(":");return e&&""===s?null:{kind:r,pubkey:i,identifier:s}}(t[1]);return e?(t[2]&&gI(t[2])&&(e.relays=[hI(t[2])]),e):null}function bI(t){const e=t[1];if(!e||!mI(e))return null;const n={pubkey:e};return t[2]&&gI(t[2])&&(n.relays=[hI(t[2])]),n}function wI(t){return"object"==typeof t&&null!==t&&"id"in t&&"string"==typeof t.id}function _I(t,e){return wI(e)?t.id===e.id&&(!e.author||t.pubkey===e.author):t.kind===e.kind&&t.pubkey===e.pubkey&&VL(t)===(e.identifier??"")}const xI=WL,CI=KL,SI=new Set([GL(vE.DraftLong,"nip04")]);function kI(t,e){return SI.add(GL(t,e)),t}function EI(t){return function(t){return void 0!==HL[t]}(t)&&SI.has(t)}function TI(t){if(EI(t.kind))return xI in t?Reflect.get(t,xI):function(t){return Reflect.get(t,WL)}(t)}function RI(t,e){if(!EI(t.kind))throw new Error("Event kind does not support hidden content");!function(t,e){Reflect.set(t,WL,e),function(t){if(!BL(t))return;const e=function(t){return Reflect.get(t,FL)}(t);e&&e.update(t)}(t)}(t,e)}const MI=Symbol.for("hidden-tags"),LI=new Set([kI(vE.BookmarkList,"nip04"),kI(vE.InterestsList,"nip04"),kI(vE.Mutelist,"nip04"),kI(vE.CommunitiesList,"nip04"),kI(vE.PublicChatsList,"nip04"),kI(vE.SearchRelaysList,"nip04"),kI(10009,"nip04"),kI(vE.Bookmarksets,"nip04"),kI(vE.Relaysets,"nip04"),kI(vE.Followsets,"nip04"),kI(vE.Curationsets,"nip04"),kI(vE.Interestsets,"nip04")]);function II(t){return EI(t)&&LI.has(t)}function PI(t){return II(t.kind)&&function(t){return EI(t.kind)&&function(t){return t.content.length>0}(t)}(t)}function AI(t){if(!II(t.kind))return;if(MI in t)return t[MI];const e=TI(t);if(void 0===e)return;const n=JSON.parse(e);if(!Array.isArray(n))throw new Error("Content is not an array of tags");const r=n.filter(t=>Array.isArray(t)).map(t=>t.map(t=>String(t)));return Reflect.set(t,MI,r),r}const OI=Symbol.for("public-contacts"),FI=Symbol.for("hidden-contacts");var zI=function(t,e){return zI=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},zI(t,e)};function DI(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}zI(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var NI=function(){return NI=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},NI.apply(this,arguments)};function jI(t,e){var n,r,i,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=a(0),o.throw=a(1),o.return=a(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,a[0]&&(s=0)),s;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,r=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){s.label=a[1];break}if(6===a[0]&&s.label<i[1]){s.label=i[1],i=a;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(a);break}i[2]&&s.ops.pop(),s.trys.pop();continue}a=e.call(t,s)}catch(ej){a=[6,ej],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function BI(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function UI(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,s=n.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(r=s.next()).done;)o.push(r.value)}catch(v5){i={error:v5}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return o}function $I(t,e,n){if(n||2===arguments.length)for(var r,i=0,s=e.length;i<s;i++)!r&&i in e||(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))}function qI(t){return this instanceof qI?(this.v=t,this):new qI(t)}function VI(t){return"function"==typeof t}function WI(t){var e=t(function(t){Error.call(t),t.stack=(new Error).stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}"function"==typeof SuppressedError&&SuppressedError;var HI=WI(function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(t,e){return e+1+") "+t.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}});function GI(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var KI=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var e;return t.prototype.unsubscribe=function(){var t,e,n,r,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var o=BI(s),a=o.next();!a.done;a=o.next())a.value.remove(this)}catch(p){t={error:p}}finally{try{a&&!a.done&&(e=o.return)&&e.call(o)}finally{if(t)throw t.error}}else s.remove(this);var l=this.initialTeardown;if(VI(l))try{l()}catch(ej){i=ej instanceof HI?ej.errors:[ej]}var c=this._finalizers;if(c){this._finalizers=null;try{for(var u=BI(c),h=u.next();!h.done;h=u.next()){var d=h.value;try{XI(d)}catch(f){i=null!=i?i:[],f instanceof HI?i=$I($I([],UI(i)),UI(f.errors)):i.push(f)}}}catch(g){n={error:g}}finally{try{h&&!h.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new HI(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)XI(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&GI(e,t)},t.prototype.remove=function(e){var n=this._finalizers;n&&GI(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),ZI=KI.EMPTY;function YI(t){return t instanceof KI||t&&"closed"in t&&VI(t.remove)&&VI(t.add)&&VI(t.unsubscribe)}function XI(t){VI(t)?t():t.unsubscribe()}function JI(t){!function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];setTimeout.apply(void 0,$I([t,e],UI(n)))}(function(){throw t})}function QI(){}function tP(t){t()}var eP=function(t){function e(e){var n=t.call(this)||this;return n.isStopped=!1,e?(n.destination=e,YI(e)&&e.add(n)):n.destination=sP,n}return DI(e,t),e.create=function(t,e,n){return new rP(t,e,n)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(KI),nP=function(){function t(t){this.partialObserver=t}return t.prototype.next=function(t){var e=this.partialObserver;if(e.next)try{e.next(t)}catch(v5){iP(v5)}},t.prototype.error=function(t){var e=this.partialObserver;if(e.error)try{e.error(t)}catch(v5){iP(v5)}else iP(t)},t.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(v5){iP(v5)}},t}(),rP=function(t){function e(e,n,r){var i,s=t.call(this)||this;return i=VI(e)||!e?{next:null!=e?e:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:e,s.destination=new nP(i),s}return DI(e,t),e}(eP);function iP(t){JI(t)}var sP={closed:!0,next:QI,error:function(t){throw t},complete:QI},oP="function"==typeof Symbol&&Symbol.observable||"@@observable";function aP(t){return t}var lP=function(){function t(t){t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var r=this,i=function(t){return t&&t instanceof eP||function(t){return t&&VI(t.next)&&VI(t.error)&&VI(t.complete)}(t)&&YI(t)}(t)?t:new rP(t,e,n);return tP(function(){var t=r,e=t.operator,n=t.source;i.add(e?e.call(i,n):n?r._subscribe(i):r._trySubscribe(i))}),i},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.error(e)}},t.prototype.forEach=function(t,e){var n=this;return new(e=cP(e))(function(e,r){var i=new rP({next:function(e){try{t(e)}catch(n){r(n),i.unsubscribe()}},error:r,complete:e});n.subscribe(i)})},t.prototype._subscribe=function(t){var e;return null===(e=this.source)||void 0===e?void 0:e.subscribe(t)},t.prototype[oP]=function(){return this},t.prototype.pipe=function(){for(var t,e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return(0===(t=e).length?aP:1===t.length?t[0]:function(e){return t.reduce(function(t,e){return e(t)},e)})(this)},t.prototype.toPromise=function(t){var e=this;return new(t=cP(t))(function(t,n){var r;e.subscribe(function(t){return r=t},function(t){return n(t)},function(){return t(r)})})},t.create=function(e){return new t(e)},t}();function cP(t){var e;return null!==(e=null!=t?t:undefined)&&void 0!==e?e:Promise}function uP(t){return function(e){if(function(t){return VI(null==t?void 0:t.lift)}(e))return e.lift(function(e){try{return t(e,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function hP(t,e,n,r,i){return new dP(t,e,n,r,i)}var dP=function(t){function e(e,n,r,i,s,o){var a=t.call(this,e)||this;return a.onFinalize=s,a.shouldUnsubscribe=o,a._next=n?function(t){try{n(t)}catch(r){e.error(r)}}:t.prototype._next,a._error=i?function(t){try{i(t)}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._error,a._complete=r?function(){try{r()}catch(t){e.error(t)}finally{this.unsubscribe()}}:t.prototype._complete,a}return DI(e,t),e.prototype.unsubscribe=function(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;t.prototype.unsubscribe.call(this),!n&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}},e}(eP),pP=WI(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),fP=function(t){function e(){var e=t.call(this)||this;return e.closed=!1,e.currentObservers=null,e.observers=[],e.isStopped=!1,e.hasError=!1,e.thrownError=null,e}return DI(e,t),e.prototype.lift=function(t){var e=new gP(this,this);return e.operator=t,e},e.prototype._throwIfClosed=function(){if(this.closed)throw new pP},e.prototype.next=function(t){var e=this;tP(function(){var n,r;if(e._throwIfClosed(),!e.isStopped){e.currentObservers||(e.currentObservers=Array.from(e.observers));try{for(var i=BI(e.currentObservers),s=i.next();!s.done;s=i.next())s.value.next(t)}catch(o){n={error:o}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},e.prototype.error=function(t){var e=this;tP(function(){if(e._throwIfClosed(),!e.isStopped){e.hasError=e.isStopped=!0,e.thrownError=t;for(var n=e.observers;n.length;)n.shift().error(t)}})},e.prototype.complete=function(){var t=this;tP(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var e=t.observers;e.length;)e.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,n=this,r=n.hasError,i=n.isStopped,s=n.observers;return r||i?ZI:(this.currentObservers=null,s.push(t),new KI(function(){e.currentObservers=null,GI(s,t)}))},e.prototype._checkFinalizedStatuses=function(t){var e=this,n=e.hasError,r=e.thrownError,i=e.isStopped;n?t.error(r):i&&t.complete()},e.prototype.asObservable=function(){var t=new lP;return t.source=this,t},e.create=function(t,e){return new gP(t,e)},e}(lP),gP=function(t){function e(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return DI(e,t),e.prototype.next=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===n||n.call(e,t)},e.prototype.error=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===n||n.call(e,t)},e.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},e.prototype._subscribe=function(t){var e,n;return null!==(n=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==n?n:ZI},e}(fP),mP=function(t){function e(e){var n=t.call(this)||this;return n._value=e,n}return DI(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){var t=this,e=t.hasError,n=t.thrownError,r=t._value;if(e)throw n;return this._throwIfClosed(),r},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(fP),yP={now:function(){return(yP.delegate||Date).now()},delegate:void 0},vP=function(t){function e(e,n,r){void 0===e&&(e=1/0),void 0===n&&(n=1/0),void 0===r&&(r=yP);var i=t.call(this)||this;return i._bufferSize=e,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,e),i._windowTime=Math.max(1,n),i}return DI(e,t),e.prototype.next=function(e){var n=this,r=n.isStopped,i=n._buffer,s=n._infiniteTimeWindow,o=n._timestampProvider,a=n._windowTime;r||(i.push(e),!s&&i.push(o.now()+a)),this._trimBuffer(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!t.closed;i+=n?1:2)t.next(r[i]);return this._checkFinalizedStatuses(t),e},e.prototype._trimBuffer=function(){var t=this,e=t._bufferSize,n=t._timestampProvider,r=t._buffer,i=t._infiniteTimeWindow,s=(i?1:2)*e;if(e<1/0&&s<r.length&&r.splice(0,r.length-s),!i){for(var o=n.now(),a=0,l=1;l<r.length&&r[l]<=o;l+=2)a=l;a&&r.splice(0,a+1)}},e}(fP),bP=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r.pending=!1,r}return DI(e,t),e.prototype.schedule=function(t,e){var n;if(void 0===e&&(e=0),this.closed)return this;this.state=t;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,e)),this.pending=!0,this.delay=e,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,e),this},e.prototype.requestAsyncId=function(t,e,n){return void 0===n&&(n=0),function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,$I([t,e],UI(n)))}(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,e,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return e;null!=e&&clearInterval(e)},e.prototype.execute=function(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,e);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t){var e,n=!1;try{this.work(t)}catch(ej){n=!0,e=ej||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),e},e.prototype.unsubscribe=function(){if(!this.closed){var e=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,GI(r,this),null!=e&&(this.id=this.recycleAsyncId(n,e,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(function(t){function e(){return t.call(this)||this}return DI(e,t),e.prototype.schedule=function(){return this},e}(KI)),wP=function(){function t(e,n){void 0===n&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(n,e)},t.now=yP.now,t}(),_P=function(t){function e(e,n){void 0===n&&(n=wP.now);var r=t.call(this,e,n)||this;return r.actions=[],r._active=!1,r}return DI(e,t),e.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(wP),xP=new _P(bP),CP=xP,SP=new lP(function(t){return t.complete()});function kP(t){return t&&VI(t.schedule)}function EP(t){return t[t.length-1]}function TP(t){return kP(EP(t))?t.pop():void 0}function RP(t,e){return"number"==typeof EP(t)?t.pop():e}var MP=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t};function LP(t){return VI(null==t?void 0:t.then)}function IP(t){return VI(t[oP])}function PP(t){return Symbol.asyncIterator&&VI(null==t?void 0:t[Symbol.asyncIterator])}function AP(t){return new TypeError("You provided "+(null!==t&&"object"==typeof t?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var OP="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function FP(t){return VI(null==t?void 0:t[OP])}function zP(t){return function(e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=function(){var e,n,r;return jI(this,function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,qI(e.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,qI(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,qI(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})}.apply(e,n||[]),s=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),o("next"),o("throw"),o("return",function(t){return function(e){return Promise.resolve(e).then(t,c)}}),r[Symbol.asyncIterator]=function(){return this},r;function o(t,e){i[t]&&(r[t]=function(e){return new Promise(function(n,r){s.push([t,e,n,r])>1||a(t,e)})},e&&(r[t]=e(r[t])))}function a(t,e){try{(n=i[t](e)).value instanceof qI?Promise.resolve(n.value.v).then(l,c):u(s[0][2],n)}catch(ej){u(s[0][3],ej)}var n}function l(t){a("next",t)}function c(t){a("throw",t)}function u(t,e){t(e),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments)}function DP(t){return VI(null==t?void 0:t.getReader)}function NP(t){if(t instanceof lP)return t;if(null!=t){if(IP(t))return r=t,new lP(function(t){var e=r[oP]();if(VI(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(MP(t))return function(t){return new lP(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}(t);if(LP(t))return n=t,new lP(function(t){n.then(function(e){t.closed||(t.next(e),t.complete())},function(e){return t.error(e)}).then(null,JI)});if(PP(t))return jP(t);if(FP(t))return e=t,new lP(function(t){var n,r;try{for(var i=BI(e),s=i.next();!s.done;s=i.next()){var o=s.value;if(t.next(o),t.closed)return}}catch(a){n={error:a}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}t.complete()});if(DP(t))return jP(zP(t))}var e,n,r;throw AP(t)}function jP(t){return new lP(function(e){(function(t,e){var n,r,i,s,o,a,l;return o=this,l=function(){var o,a;return jI(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),n=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=BI(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise(function(r,i){!function(t,e,n,r){Promise.resolve(r).then(function(e){t({value:e,done:n})},e)}(r,i,(e=t[n](e)).done,e.value)})}}}(t),l.label=1;case 1:return[4,n.next()];case 2:if((r=l.sent()).done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=l.sent(),i={error:a},[3,11];case 6:return l.trys.push([6,,9,10]),r&&!r.done&&(s=n.return)?[4,s.call(n)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})},new((a=void 0)||(a=Promise))(function(t,e){function n(t){try{i(l.next(t))}catch(ej){e(ej)}}function r(t){try{i(l.throw(t))}catch(ej){e(ej)}}function i(e){e.done?t(e.value):function(t){return t instanceof a?t:new a(function(e){e(t)})}(e.value).then(n,r)}i((l=l.apply(o,[])).next())})})(t,e).catch(function(t){return e.error(t)})})}function BP(t,e,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var s=e.schedule(function(){n(),i?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(s),!i)return s}function UP(t,e){return void 0===e&&(e=0),uP(function(n,r){n.subscribe(hP(r,function(n){return BP(r,t,function(){return r.next(n)},e)},function(){return BP(r,t,function(){return r.complete()},e)},function(n){return BP(r,t,function(){return r.error(n)},e)}))})}function $P(t,e){return void 0===e&&(e=0),uP(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function qP(t,e){if(!t)throw new Error("Iterable cannot be null");return new lP(function(n){BP(n,e,function(){var r=t[Symbol.asyncIterator]();BP(n,e,function(){r.next().then(function(t){t.done?n.complete():n.next(t.value)})},0,!0)})})}function VP(t,e){return e?function(t,e){if(null!=t){if(IP(t))return function(t,e){return NP(t).pipe($P(e),UP(e))}(t,e);if(MP(t))return function(t,e){return new lP(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}(t,e);if(LP(t))return function(t,e){return NP(t).pipe($P(e),UP(e))}(t,e);if(PP(t))return qP(t,e);if(FP(t))return function(t,e){return new lP(function(n){var r;return BP(n,e,function(){r=t[OP](),BP(n,e,function(){var t,e,i;try{e=(t=r.next()).value,i=t.done}catch(s){return void n.error(s)}i?n.complete():n.next(e)},0,!0)}),function(){return VI(null==r?void 0:r.return)&&r.return()}})}(t,e);if(DP(t))return function(t,e){return qP(zP(t),e)}(t,e)}throw AP(t)}(t,e):NP(t)}function WP(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return VP(t,TP(t))}function HP(t){var e=VI(t)?t:function(){return t};return new lP(function(t){return t.error(e())})}function GP(t){return!!t&&(t instanceof lP||VI(t.lift)&&VI(t.subscribe))}var KP=WI(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function ZP(t){return new Promise(function(e,n){var r,i=!1;t.subscribe({next:function(t){r=t,i=!0},error:n,complete:function(){i?e(r):n(new KP)}})})}function YP(t){return new Promise(function(e,n){var r=new rP({next:function(t){e(t),r.unsubscribe()},error:n,complete:function(){n(new KP)}});t.subscribe(r)})}function XP(t){return t instanceof Date&&!isNaN(t)}var JP=WI(function(t){return function(e){void 0===e&&(e=null),t(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=e}});function QP(t){var e=XP(t)?{first:t}:"number"==typeof t?{each:t}:t,n=e.first,r=e.each,i=e.with,s=void 0===i?tA:i,o=e.scheduler,a=void 0===o?xP:o,l=e.meta,c=void 0===l?null:l;if(null==n&&null==r)throw new TypeError("No timeout provided.");return uP(function(t,e){var i,o,l=null,u=0,h=function(t){o=BP(e,a,function(){try{i.unsubscribe(),NP(s({meta:c,lastValue:l,seen:u})).subscribe(e)}catch(t){e.error(t)}},t)};i=t.subscribe(hP(e,function(t){null==o||o.unsubscribe(),u++,e.next(l=t),r>0&&h(r)},void 0,void 0,function(){(null==o?void 0:o.closed)||null==o||o.unsubscribe(),l=null})),!u&&h(null!=n?"number"==typeof n?n:+n-a.now():r)})}function tA(t){throw new JP(t)}function eA(t,e){return uP(function(n,r){var i=0;n.subscribe(hP(r,function(n){r.next(t.call(e,n,i++))}))})}var nA=Array.isArray,rA=Array.isArray,iA=Object.getPrototypeOf,sA=Object.prototype,oA=Object.keys;function aA(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=TP(t),r=function(t){return VI(EP(t))?t.pop():void 0}(t),i=function(t){if(1===t.length){var e=t[0];if(rA(e))return{args:e,keys:null};if((r=e)&&"object"==typeof r&&iA(r)===sA){var n=oA(e);return{args:n.map(function(t){return e[t]}),keys:n}}}var r;return{args:t,keys:null}}(t),s=i.args,o=i.keys;if(0===s.length)return VP([],n);var a=new lP(function(t,e,n){return void 0===n&&(n=aP),function(r){lA(e,function(){for(var i=t.length,s=new Array(i),o=i,a=i,l=function(i){lA(e,function(){var l=VP(t[i],e),c=!1;l.subscribe(hP(r,function(t){s[i]=t,c||(c=!0,a--),a||r.next(n(s.slice()))},function(){--o||r.complete()}))},r)},c=0;c<i;c++)l(c)},r)}}(s,n,o?function(t){return function(t,e){return t.reduce(function(t,n,r){return t[n]=e[r],t},{})}(o,t)}:aP));return r?a.pipe(function(t){return eA(function(e){return function(t,e){return nA(e)?t.apply(void 0,$I([],UI(e))):t(e)}(t,e)})}(r)):a}function lA(t,e,n){t?BP(n,t,e):e()}function cA(t,e,n){return void 0===n&&(n=1/0),VI(e)?cA(function(n,r){return eA(function(t,i){return e(n,t,r,i)})(NP(t(n,r)))},n):("number"==typeof e&&(n=e),uP(function(e,r){return function(t,e,n,r){var i=[],s=0,o=0,a=!1,l=function(){!a||i.length||s||e.complete()},c=function(t){s++;var a=!1;NP(n(t,o++)).subscribe(hP(e,function(t){e.next(t)},function(){a=!0},void 0,function(){if(a)try{s--;for(var t=function(){var t=i.shift();c(t)};i.length&&s<r;)t();l()}catch(n){e.error(n)}}))};return t.subscribe(hP(e,function(t){return s<r?c(t):i.push(t)},function(){a=!0,l()})),function(){}}(e,r,t,n)}))}function uA(t){return void 0===t&&(t=1/0),cA(aP,t)}function hA(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return uA(1)(VP(t,TP(t)))}function dA(t){return new lP(function(e){NP(t()).subscribe(e)})}function pA(t,e,n){void 0===t&&(t=0),void 0===n&&(n=CP);var r=-1;return null!=e&&(kP(e)?n=e:r=e),new lP(function(e){var i=XP(t)?+t-n.now():t;i<0&&(i=0);var s=0;return n.schedule(function(){e.closed||(e.next(s++),0<=r?this.schedule(void 0,r):e.complete())},i)})}function fA(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=TP(t),r=RP(t,1/0),i=t;return i.length?1===i.length?NP(i[0]):uA(r)(VP(i,n)):SP}var gA=new lP(QI);function mA(t,e){return uP(function(n,r){var i=0;n.subscribe(hP(r,function(n){return t.call(e,n,i++)&&r.next(n)}))})}function yA(t){for(var e,n,r=[],i=1;i<arguments.length;i++)r[i-1]=arguments[i];var s=null!==(e=TP(r))&&void 0!==e?e:xP,o=null!==(n=r[0])&&void 0!==n?n:null,a=r[1]||1/0;return uP(function(e,n){var r=[],i=!1,l=function(t){var e=t.buffer;t.subs.unsubscribe(),GI(r,t),n.next(e),i&&c()},c=function(){if(r){var e=new KI;n.add(e);var i={buffer:[],subs:e};r.push(i),BP(e,s,function(){return l(i)},t)}};null!==o&&o>=0?BP(n,s,c,o,!0):i=!0,c();var u=hP(n,function(t){var e,n,i=r.slice();try{for(var s=BI(i),o=s.next();!o.done;o=s.next()){var c=o.value,u=c.buffer;u.push(t),a<=u.length&&l(c)}}catch(h){e={error:h}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}},function(){for(;null==r?void 0:r.length;)n.next(r.shift().buffer);null==u||u.unsubscribe(),n.complete(),n.unsubscribe()},void 0,function(){return r=null});e.subscribe(u)})}function vA(t){return uP(function(e,n){var r,i=null,s=!1;i=e.subscribe(hP(n,void 0,void 0,function(o){r=NP(t(o,vA(t)(e))),i?(i.unsubscribe(),i=null,r.subscribe(n)):s=!0})),s&&(i.unsubscribe(),i=null,r.subscribe(n))})}function bA(t,e,n,r,i){return function(s,o){var a=n,l=e,c=0;s.subscribe(hP(o,function(e){var n=c++;l=a?t(l,e,n):(a=!0,e),r&&o.next(l)},i&&function(){a&&o.next(l),o.complete()}))}}var wA=function(t,e){return t.push(e),t};function _A(t){return t<=0?function(){return SP}:uP(function(e,n){var r=0;e.subscribe(hP(n,function(e){++r<=t&&(n.next(e),t<=r&&n.complete())}))})}function xA(){return uP(function(t,e){t.subscribe(hP(e,QI))})}function CA(t,e){return void 0===e&&(e=aP),t=null!=t?t:SA,uP(function(n,r){var i,s=!0;n.subscribe(hP(r,function(n){var o=e(n);!s&&t(i,o)||(s=!1,i=o,r.next(n))}))})}function SA(t,e){return t===e}function kA(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){return hA(e,WP.apply(void 0,$I([],UI(t))))}}function EA(t){return uP(function(e,n){try{e.subscribe(n)}finally{n.add(t)}})}function TA(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=TP(t),r=RP(t,1/0);return uP(function(e,i){uA(r)(VP($I([e],UI(t)),n)).subscribe(i)})}function RA(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return TA.apply(void 0,$I([],UI(t)))}function MA(t){var e,n,r=1/0;return null!=t&&("object"==typeof t?(e=t.count,r=void 0===e?1/0:e,n=t.delay):r=t),r<=0?function(){return SP}:uP(function(t,e){var i,s=0,o=function(){if(null==i||i.unsubscribe(),i=null,null!=n){var t="number"==typeof n?pA(n):NP(n(s)),r=hP(e,function(){r.unsubscribe(),a()});t.subscribe(r)}else a()},a=function(){var n=!1;i=t.subscribe(hP(e,void 0,function(){++s<r?i?o():n=!0:e.complete()})),n&&o()};a()})}function LA(t){var e;void 0===t&&(t=1/0);var n=(e=t&&"object"==typeof t?t:{count:t}).count,r=void 0===n?1/0:n,i=e.delay,s=e.resetOnSuccess,o=void 0!==s&&s;return r<=0?aP:uP(function(t,e){var n,s=0,a=function(){var l=!1;n=t.subscribe(hP(e,function(t){o&&(s=0),e.next(t)},void 0,function(t){if(s++<r){var o=function(){n?(n.unsubscribe(),n=null,a()):l=!0};if(null!=i){var c="number"==typeof i?pA(i):NP(i(t,s)),u=hP(e,function(){u.unsubscribe(),o()},function(){e.complete()});c.subscribe(u)}else o()}else e.error(t)})),l&&(n.unsubscribe(),n=null,a())};a()})}function IA(t,e){return uP(bA(t,e,arguments.length>=2,!0))}function PA(t){void 0===t&&(t={});var e=t.connector,n=void 0===e?function(){return new fP}:e,r=t.resetOnError,i=void 0===r||r,s=t.resetOnComplete,o=void 0===s||s,a=t.resetOnRefCountZero,l=void 0===a||a;return function(t){var e,r,s,a=0,c=!1,u=!1,h=function(){null==r||r.unsubscribe(),r=void 0},d=function(){h(),e=s=void 0,c=u=!1},p=function(){var t=e;d(),null==t||t.unsubscribe()};return uP(function(t,f){a++,u||c||h();var g=s=null!=s?s:n();f.add(function(){0!==--a||u||c||(r=AA(p,l))}),g.subscribe(f),!e&&a>0&&(e=new rP({next:function(t){return g.next(t)},error:function(t){u=!0,h(),r=AA(d,i,t),g.error(t)},complete:function(){c=!0,h(),r=AA(d,o),g.complete()}}),NP(t).subscribe(e))})(t)}}function AA(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==e){if(!1!==e){var i=new rP({next:function(){i.unsubscribe(),t()}});return NP(e.apply(void 0,$I([],UI(n)))).subscribe(i)}}else t()}function OA(t,e,n){var r;return r=t,PA({connector:function(){return new vP(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:!1})}function FA(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=TP(t);return uP(function(e,r){(n?hA(t,e,n):hA(t,e)).subscribe(r)})}function zA(t,e){return uP(function(n,r){var i=null,s=0,o=!1,a=function(){return o&&!i&&r.complete()};n.subscribe(hP(r,function(n){null==i||i.unsubscribe();var o=0,l=s++;NP(t(n,l)).subscribe(i=hP(r,function(t){return r.next(e?e(n,t,l,o++):t)},function(){i=null,a()}))},function(){o=!0,a()}))})}function DA(t){return uP(function(e,n){NP(t).subscribe(hP(n,function(){return n.complete()},QI)),!n.closed&&e.subscribe(n)})}function NA(t,e){return void 0===e&&(e=!1),uP(function(n,r){var i=0;n.subscribe(hP(r,function(n){var s=t(n,i++);(s||e)&&r.next(n),!s&&r.complete()}))})}function jA(t,e,n){var r=VI(t)||e||n?{next:t,error:e,complete:n}:t;return r?uP(function(t,e){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;t.subscribe(hP(e,function(t){var n;null===(n=r.next)||void 0===n||n.call(r,t),e.next(t)},function(){var t;i=!1,null===(t=r.complete)||void 0===t||t.call(r),e.complete()},function(t){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,t),e.error(t)},function(){var t,e;i&&(null===(t=r.unsubscribe)||void 0===t||t.call(r)),null===(e=r.finalize)||void 0===e||e.call(r)}))}):aP}function BA(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var UA,$A,qA,VA,WA,HA={exports:{}},GA=(WA||(WA=1,function(t,e){var n={};e.formatArgs=function(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;e.splice(1,0,n,"color: inherit");let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,t=>{"%%"!==t&&(r++,"%c"===t&&(i=r))}),e.splice(i,0,n)},e.save=function(t){try{t?e.storage.setItem("debug",t):e.storage.removeItem("debug")}catch(v5){}},e.load=function(){let t;try{t=e.storage.getItem("debug")||e.storage.getItem("DEBUG")}catch(v5){}return!t&&"undefined"!=typeof process&&"env"in process&&(t=n.DEBUG),t},e.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},e.storage=function(){try{return localStorage}catch(v5){}}(),e.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||(()=>{}),t.exports=(VA||(VA=1,qA=function(t){function e(t){let r,i,s,o=null;function a(...t){if(!a.enabled)return;const n=a,i=Number(new Date),s=i-(r||i);n.diff=s,n.prev=r,n.curr=i,r=i,t[0]=e.coerce(t[0]),"string"!=typeof t[0]&&t.unshift("%O");let o=0;t[0]=t[0].replace(/%([a-zA-Z%])/g,(r,i)=>{if("%%"===r)return"%";o++;const s=e.formatters[i];if("function"==typeof s){const e=t[o];r=s.call(n,e),t.splice(o,1),o--}return r}),e.formatArgs.call(n,t),(n.log||e.log).apply(n,t)}return a.namespace=t,a.useColors=e.useColors(),a.color=e.selectColor(t),a.extend=n,a.destroy=e.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==o?o:(i!==e.namespaces&&(i=e.namespaces,s=e.enabled(t)),s),set:t=>{o=t}}),"function"==typeof e.init&&e.init(a),a}function n(t,n){const r=e(this.namespace+(void 0===n?":":n)+t);return r.log=this.log,r}function r(t,e){let n=0,r=0,i=-1,s=0;for(;n<t.length;)if(r<e.length&&(e[r]===t[n]||"*"===e[r]))"*"===e[r]?(i=r,s=n,r++):(n++,r++);else{if(-1===i)return!1;r=i+1,s++,n=s}for(;r<e.length&&"*"===e[r];)r++;return r===e.length}return e.debug=e,e.default=e,e.coerce=function(t){return t instanceof Error?t.stack||t.message:t},e.disable=function(){const t=[...e.names,...e.skips.map(t=>"-"+t)].join(",");return e.enable(""),t},e.enable=function(t){e.save(t),e.namespaces=t,e.names=[],e.skips=[];const n=("string"==typeof t?t:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const r of n)"-"===r[0]?e.skips.push(r.slice(1)):e.names.push(r)},e.enabled=function(t){for(const n of e.skips)if(r(t,n))return!1;for(const n of e.names)if(r(t,n))return!0;return!1},e.humanize=function(){if($A)return UA;$A=1;var t=1e3,e=60*t,n=60*e,r=24*n,i=7*r;function s(t,e,n,r){var i=e>=1.5*n;return Math.round(t/n)+" "+r+(i?"s":"")}return UA=function(o,a){a=a||{};var l=typeof o;if("string"===l&&o.length>0)return function(s){if(!((s=String(s)).length>100)){var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(o){var a=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*i;case"days":case"day":case"d":return a*r;case"hours":case"hour":case"hrs":case"hr":case"h":return a*n;case"minutes":case"minute":case"mins":case"min":case"m":return a*e;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(o);if("number"===l&&isFinite(o))return a.long?function(i){var o=Math.abs(i);return o>=r?s(i,o,r,"day"):o>=n?s(i,o,n,"hour"):o>=e?s(i,o,e,"minute"):o>=t?s(i,o,t,"second"):i+" ms"}(o):function(i){var s=Math.abs(i);return s>=r?Math.round(i/r)+"d":s>=n?Math.round(i/n)+"h":s>=e?Math.round(i/e)+"m":s>=t?Math.round(i/t)+"s":i+"ms"}(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))}}(),e.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(t).forEach(n=>{e[n]=t[n]}),e.names=[],e.skips=[],e.formatters={},e.selectColor=function(t){let n=0;for(let e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;return e.colors[Math.abs(n)%e.colors.length]},e.enable(e.load()),e}),qA)(e);const{formatters:r}=t.exports;r.j=function(t){try{return JSON.stringify(t)}catch(v5){return"[UnexpectedJSONParseError]: "+v5.message}}}(HA,HA.exports)),HA.exports);const KA=BA(GA),ZA=KA("applesauce"),YA=ZA.extend("event-cache"),XA=Symbol("expiration-timestamp");function JA(t){return PL(t,XA,()=>{const e=t.tags.find(t=>"expiration"===t[0])?.[1];return e?parseInt(e):void 0})}var QA,tO,eO=(tO||(tO=1,QA=function t(e,n){if(e===n)return!0;if(e&&n&&"object"==typeof e&&"object"==typeof n){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if((r=e.length)!=n.length)return!1;for(i=r;0!==i--;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if((r=(s=Object.keys(e)).length)!==Object.keys(n).length)return!1;for(i=r;0!==i--;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;0!==i--;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!=e&&n!=n}),QA);const nO=BA(eO),rO="abcdefghijklmnopqrstuvwxyz",iO=new Set((rO+rO.toUpperCase()).split("")),sO=Symbol.for("indexable-tags");function oO(t){let e=Reflect.get(t,sO);if(!e){const n=new Set;for(const e of t.tags)e.length>=2&&1===e[0].length&&iO.has(e[0])&&n.add(e[0]+":"+e[1]);e=n,Reflect.set(t,sO,n)}return e}function aO(t,e){if(t.ids&&-1===t.ids.indexOf(e.id))return!1;if(t.kinds&&-1===t.kinds.indexOf(e.kind))return!1;if(t.authors&&-1===t.authors.indexOf(e.pubkey))return!1;if(t.since&&e.created_at<t.since)return!1;if(t.until&&e.created_at>t.until)return!1;for(let n in t)if("&"===n[0]){let r=n.slice(1),i=t[n];if(i&&i.length>0){const t=oO(e);for(const e of i)if(!t.has(r+":"+e))return!1}}for(let n in t)if("#"===n[0]){let r=n.slice(1),i=t[n];if(i){const n=t[`&${r}`],s=n?i.filter(t=>!n.includes(t)):i;if(0===s.length)continue;const o=oO(e);if(!1===s.some(t=>o.has(r+":"+t)))return!1}}return!0}function lO(t,e){for(let n=0;n<t.length;n++)if(aO(t[n],e))return!0;return!1}function cO(t,e){return nO(t,e)}class uO{first=null;items=Object.create(null);last=null;max;resetTtl;size;ttl;constructor(t=0,e=0,n=!1){this.first=null,this.items=Object.create(null),this.last=null,this.max=t,this.resetTtl=n,this.size=0,this.ttl=e}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(t){if(this.has(t)){const e=this.items[t];delete this.items[t],this.size--,null!==e.prev&&(e.prev.next=e.next),null!==e.next&&(e.next.prev=e.prev),this.first===e&&(this.first=e.next),this.last===e&&(this.last=e.prev)}return this}entries(t=this.keys()){return t.map(t=>[t,this.get(t)])}evict(t=!1){if(t||this.size>0){const t=this.first;delete this.items[t.key],0===--this.size?(this.first=null,this.last=null):(this.first=t.next,this.first.prev=null)}return this}expiresAt(t){let e;return this.has(t)&&(e=this.items[t].expiry),e}get(t){let e;if(this.has(t)){const n=this.items[t];this.ttl>0&&n.expiry<=Date.now()?this.delete(t):(e=n.value,this.set(t,e,!0))}return e}has(t){return t in this.items}keys(){const t=[];let e=this.first;for(;null!==e;)t.push(e.key),e=e.next;return t}set(t,e,n=!1,r=this.resetTtl){let i;if(n||this.has(t)){if(i=this.items[t],i.value=e,!1===n&&r&&(i.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==i){const t=this.last,e=i.next,n=i.prev;this.first===i&&(this.first=i.next),i.next=null,i.prev=this.last,t.next=i,null!==n&&(n.next=e),null!==e&&(e.prev=n)}}else this.max>0&&this.size===this.max&&this.evict(!0),i=this.items[t]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:t,prev:this.last,next:null,value:e},1===++this.size?this.first=i:this.last.next=i;return this.last=i,this}values(t=this.keys()){return t.map(t=>this.get(t))}}const hO=Symbol.for("mailboxes-inboxes"),dO=Symbol.for("mailboxes-outboxes");function pO(t){return PL(t,hO,()=>{const e=[];for(const n of t.tags)if(rI(n))try{const[,t,r]=n;!t||!gI(t)||e.includes(t)||"read"!==r&&void 0!==r||e.push(hI(t))}catch{}return e})}function fO(t){return PL(t,dO,()=>{const e=[];for(const n of t.tags)if(rI(n))try{const[t,r,i]=n;"r"!==t||!gI(r)||e.includes(r)||"write"!==i&&void 0!==i||e.push(hI(r))}catch{}return e})}const gO=Symbol.for("profile-content");function mO(t){return PL(t,gO,()=>{const e=function(t){try{return JSON.parse(t)}catch(v5){return}}(t.content);if(e)return e.nip05&&"string"!=typeof e.nip05&&(e.nip05=String(e.nip05)),e.website&&e.website?.length>0&&!1===e.website?.startsWith("http")&&(e.website="https://"+e.website),e})}function yO(t){return!(!t||t.kind!==vE.Metadata&&t.kind!==vE.Handlerinformation||!mO(t))}function vO(t,e){return Object.fromEntries(Array.from(Object.entries(t)).map(([t,n])=>[t,{authors:n.map(t=>t.pubkey),...e}]))}function bO(...t){return async(e,n)=>({...e,tags:await JL(...t)(Array.from(e.tags),n)})}function wO(){return t=>{const e={...t};return Reflect.deleteProperty(e,"sig"),e}}function _O(){return t=>{const e={...t};return Reflect.deleteProperty(e,"id"),Reflect.deleteProperty(e,"pubkey"),e}}function xO(){return async(t,e)=>{if(!e.signer)throw new Error("Missing signer");Reflect.deleteProperty(t,"id"),Reflect.deleteProperty(t,"sig");const n=await e.signer.getPublicKey(),r={...t,pubkey:n};return Reflect.has(t,WL)&&Reflect.set(r,WL,Reflect.get(t,WL)),r}}const CO=[vE.EncryptedDirectMessage,vE.GiftWrap,vE.Seal,vE.PrivateDirectMessage];function SO(...t){return XL((e=[WL],t=>{const n={...t};for(const r of Reflect.ownKeys(n))"string"==typeof r||e?.includes(r)||Reflect.deleteProperty(n,r);return n}),function(t=Rx){return e=>{if(!CL(e.kind))return e;if(n=e,!n.tags.find(t=>"d"===t[0])?.[1]){let n=Array.from(e.tags);return n=oI(n,["d","string"==typeof t?t:t()],!0),{...e,tags:n}}var n;return e}}(),...t,(t,e)=>e.client?function(t,e,n=!0){return(r,i)=>{if(CO.includes(r.kind))return r;{const s=e?function(t){return t.kind+":"+t.pubkey+":"+t.identifier}({pubkey:e.pubkey,identifier:e.identifier,kind:vE.Handlerinformation}):void 0;return function(t,e=!0){return bO(function(t,e=!0){return n=>oI(n,t,e)}(t,e))}(function(t,e=2){for(let n=(t=t.slice()).length-1;n>=0;n--)void 0!==t[n]&&null!==t[n]&&""!==t[n]||(n+1===t.length&&n>=e?t.pop():t[n]="");return t}(["client",t,s]),n)(r,i)}}}(e.client.name,e.client.address)(t,e):t);var e}class kO{context;constructor(t={}){this.context=t}async build(t,...e){return await async function(t,e,...n){return await SO(wO(),_O(),...n)({created_at:aI(),tags:[],content:"",...t},e)}(t,this.context,...e)}async create(t,...e){if(1===arguments.length)return await t(this.context);{const n=t;return await n(...e)(this.context)}}async modify(t,...e){return await async function(t,e,...n){return"event"in t&&BL(t.event)&&(t=t.event),await SO(wO(),_O(),t=>({...t,created_at:aI()}),...n)(t,e)}(t,this.context,...e)}async modifyTags(t,e,n){let r=[];return void 0===n?r=[]:"function"==typeof n?r=[n]:Array.isArray(n)&&(r=n.filter(t=>!!t)),await this.modify(t,function(t){let e=[],n=[];return void 0===t?e=n=[]:Array.isArray(t)?e=t:"function"==typeof t?e=[t]:("function"==typeof t.public?e=[t.public]:t.public&&(e=t.public),"function"==typeof t.hidden?n=[t.hidden]:t.hidden&&(n=t.hidden)),XL(e.length>0?bO(...e):void 0,n.length>0?function(...t){return 0===(t=t.filter(t=>!!t)).length?t=>t:async(e,n)=>{if(!n.signer)throw new Error("Missing signer for hidden tags");if(!II(e.kind))throw new Error("Event kind does not support hidden tags");let r,i;if(PI(e)?(i=AI(e),void 0===i&&(PI(e)?(r=await n.signer.getPublicKey(),i=await async function(t,e,n){if(!II(t.kind))throw new Error("Event kind does not support hidden tags");if(function(t){if(!II(t.kind))return!1;try{return MI in t||function(t){return!!EI(t.kind)&&function(t){return!0===Reflect.has(t,WL)}(t)&&!0===Reflect.has(t,xI)}(t)&&void 0!==AI(t)}catch{}return!1}(t))return t[MI];await async function(t,e,n){if(!EI(t.kind))throw new Error("Event kind does not support hidden content");if(xI in t)return Reflect.get(t,xI);const r=KL(t.kind,e,n),i=await r.decrypt(t.pubkey,t.content);return RI(t,i),i}(t,e,n);const r=AI(t);if(void 0===r)throw new Error("Failed to unlock hidden tags");return function(t,e){if(!II(t.kind))throw new Error("Event kind does not support hidden tags");Reflect.set(t,MI,e),RI(t,JSON.stringify(e))}(t,r),r}({...e,pubkey:r},n.signer)):i=[])):i=[],void 0===i)throw new Error("Failed to find hidden tags");const s=await JL(...t)(i,n),o=(a=e.kind,l=n.signer,CI(a,l));var a,l;r||(r=await n.signer.getPublicKey());const c=JSON.stringify(s),u=await o.encrypt(r,c);return{...e,content:u,[WL]:c}}}(...n):void 0)}(e),...r)}async stamp(t){return await xO()(t,this.context)}async sign(t){return await(async(t,e)=>{if(!e.signer)throw new Error("Missing signer");t=await xO()(t,e);const n=await e.signer.signEvent(t);return Reflect.has(t,WL)&&Reflect.set(n,WL,Reflect.get(t,WL)),n})(t,this.context)}setSigner(t){this.context.signer=t}clearSigner(){this.context.signer=void 0}setClient(t){this.context.client=t}clearClient(){this.context.client=void 0}}class EO{deleted$;deletedSubject=new fP;deletedIds=new Map;deletedIdentifiers=new Map;constructor(){this.deleted$=this.deletedSubject.asObservable()}add(t){if(t.kind!==vE.EventDeletion)return[];const e=t.pubkey,n=[],r=function(t){return t.tags.filter(eI).map(yI).filter(t=>null!==t).map(e=>(e.author=t.pubkey,e))}(t);if(r.length>0){let i=this.deletedIds.get(e);i||(i=new Set,this.deletedIds.set(e,i));for(const e of r){i.add(e.id);const r={pointer:e,until:t.created_at};n.push(r),this.deletedSubject.next(r)}}const i=function(t){return t.tags.filter(iI).map(vI).filter(t=>null!==t).filter(e=>e.pubkey===t.pubkey)}(t);if(i.length>0){let r=this.deletedIdentifiers.get(e);r||(r=new Map,this.deletedIdentifiers.set(e,r));for(const e of i){const i=e.kind+"|"+e.identifier;r.set(i,t.created_at);const s={pointer:e,until:t.created_at};n.push(s),this.deletedSubject.next(s)}}return n}check(t){const e=t.pubkey;if(xL(t.kind)||CL(t.kind)){const n=this.deletedIdentifiers.get(e);if(!n)return!1;const r=VL(t),i=t.kind+"|"+r,s=n.get(i);return void 0!==s&&s>=t.created_at}{const n=this.deletedIds.get(e);return!!n&&n.has(t.id)}}filter(t){return t.filter(t=>!1===this.check(t))}}class TO{log=ZA.extend("EventMemory");kinds=new Map;authors=new Map;tags=new uO;created_at=[];kindAuthor=new Map;events=new uO;replaceable=new Map;get size(){return this.events.size}hasEvent(t){return this.events.has(t)}getEvent(t){return this.events.get(t)}hasReplaceable(t,e,n){const r=this.replaceable.get(qL(t,e,n));return!!r&&r.length>0}getReplaceable(t,e,n){const r=qL(t,e,n),i=this.replaceable.get(r);return i?.[0]}getReplaceableHistory(t,e,n){const r=qL(t,e,n);return this.replaceable.get(r)}getByFilters(t){return Array.from(this.getEventsForFilters(Array.isArray(t)?t:[t]))}getTimeline(t){const e=[],n=this.getByFilters(t);for(const r of n)AL(e,r);return e}add(t){const e=t.id,n=this.events.get(e);if(n)return n;this.events.set(e,t),this.getKindIndex(t.kind).add(t),this.getAuthorsIndex(t.pubkey).add(t),this.getKindAuthorIndex(t.kind,t.pubkey).add(t);for(const r of oO(t))this.tags.has(r)&&this.getTagIndex(r).add(t);if(AL(this.created_at,t),UL(t.kind)){const e=t.tags.find(t=>"d"===t[0])?.[1],n=qL(t.kind,t.pubkey,e);let r=this.replaceable.get(n);this.replaceable.has(n)||(r=[],this.replaceable.set(n,r)),AL(r,t)}return t}remove(t){let e="string"==typeof t?this.events.get(t):t;if(!e)return!1;const n=e.id;if(!this.events.has(n))return!1;this.getAuthorsIndex(e.pubkey).delete(e),this.getKindIndex(e.kind).delete(e);const r=`${e.kind}:${e.pubkey}`;this.kindAuthor.has(r)&&this.kindAuthor.get(r).delete(e);for(const i of oO(e))this.tags.has(i)&&this.getTagIndex(i).delete(e);if(this.removeFromSortedArray(this.created_at,e),this.events.delete(n),UL(e.kind)){const t=e.tags.find(t=>"d"===t[0])?.[1],n=qL(e.kind,e.pubkey,t),r=this.replaceable.get(n);r&&this.removeFromSortedArray(r,e)}return this.claims.delete(e),!0}removeByFilters(t){const e=this.getByFilters(t);let n=0;for(const r of e)this.remove(r)&&n++;return n}update(t){}claims=new WeakMap;touch(t){this.events.has(t.id)&&this.events.set(t.id,t)}claim(t){const e=this.claims.get(t)||0;this.claims.set(t,e+1),this.touch(t)}isClaimed(t){const e=this.claims.get(t);return void 0!==e&&e>0}removeClaim(t){const e=this.claims.get(t);if(void 0!==e&&e>0){const n=e-1;0===n?this.claims.delete(t):this.claims.set(t,n)}}clearClaim(t){this.claims.delete(t)}*unclaimed(){let t=this.events.first;for(;t;){const e=t.value;this.isClaimed(e)||(yield e),t=t.next}return 0}prune(t){let e=0;const n=this.unclaimed();for(const r of n)if(this.remove(r),e++,t&&e>=t)break;return e}getKindIndex(t){return this.kinds.has(t)||this.kinds.set(t,new Set),this.kinds.get(t)}getAuthorsIndex(t){return this.authors.has(t)||this.authors.set(t,new Set),this.authors.get(t)}getKindAuthorIndex(t,e){const n=`${t}:${e}`;return this.kindAuthor.has(n)||this.kindAuthor.set(n,new Set),this.kindAuthor.get(n)}getTagIndex(t){if(!this.tags.has(t)){const e=new Set,n=Date.now();for(const i of this.events.values())oO(i).has(t)&&e.add(i);const r=Date.now()-n;r>100&&this.log(`Built index ${t} took ${r}ms`),this.tags.set(t,e)}return this.tags.get(t)}removeFromSortedArray(t,e){if(0===t.length)return;const n=OL(t,t=>t.created_at-e.created_at);if(n){let r=n[0],i=!1;if(t[r]===e)return void t.splice(r,1);for(let n=r-1;n>=0&&t[n].created_at===e.created_at;n--)if(t[n]===e){t.splice(n,1),i=!0;break}if(i)return;for(let n=r+1;n<t.length&&t[n].created_at===e.created_at;n++)if(t[n]===e)return void t.splice(n,1)}const r=t.indexOf(e);-1!==r&&t.splice(r,1)}*iterateAuthors(t){for(const e of t){const t=this.authors.get(e);if(t)for(const e of t)yield e}}*iterateTag(t,e){for(const n of e){const e=this.getTagIndex(t+":"+n);if(e)for(const t of e)yield t}}*iterateKinds(t){for(const e of t){const t=this.kinds.get(e);if(t)for(const e of t)yield e}}*iterateTime(t,e){if(0===this.created_at.length)return;let n=0,r=this.created_at.length-1,i=e?OL(this.created_at,t=>t.created_at-e):void 0;i&&(n=Math.max(0,Math.min(i[0],this.created_at.length-1)));const s=t?OL(this.created_at,e=>e.created_at-t):void 0;if(s&&(r=Math.max(0,Math.min(s[0],this.created_at.length-1))),!(n>r))for(let o=n;o<=r;o++){const n=this.created_at[o];if(!(void 0!==e&&n.created_at>e)){if(void 0!==t&&n.created_at<t)break;yield n}}}*iterateIds(t){for(const e of t)this.events.has(e)&&(yield this.events.get(e))}getEventsForFilter(t){if(t.search)return new Set;let e=!0,n=new Set;const r=t=>{const r=t instanceof Set?t:new Set(t);if(e)n=r,e=!1;else for(const e of n)r.has(e)||n.delete(e);return n};t.ids&&r(this.iterateIds(t.ids));let i=null;void 0!==t.since&&(i=Array.from(this.iterateTime(t.since,t.until)),r(i));for(const s of iO){const e=t[`&${s}`];if(e?.length)for(const t of e)r(this.iterateTag(s,[t]))}for(const s of iO){const e=t[`#${s}`];if(e?.length){const n=t[`&${s}`],i=n?e.filter(t=>!n.includes(t)):e;i.length>0&&r(this.iterateTag(s,i))}}if(t.authors&&t.kinds&&t.authors.length*t.kinds.length<=20){const e=new Set;for(const n of t.kinds)for(const r of t.authors){const t=`${n}:${r}`,i=this.kindAuthor.get(t);if(i)for(const n of i)e.add(n)}r(e)}else t.authors&&r(this.iterateAuthors(t.authors)),t.kinds&&r(this.iterateKinds(t.kinds));if(void 0===t.since&&void 0!==t.until&&(i=Array.from(this.iterateTime(t.since,t.until)),r(i)),e)return new Set(this.events.values());if(t.limit&&i){const e=new Set;for(const r of i){if(e.size>=t.limit)break;n.has(r)&&e.add(r)}return e}return n}getEventsForFilters(t){if(0===t.length)return new Set;let e=new Set;for(const n of t){const t=this.getEventsForFilter(n);for(const n of t)e.add(n)}return e}reset(){this.events.clear(),this.kinds.clear(),this.authors.clear(),this.kindAuthor.clear(),this.tags.clear(),this.created_at=[],this.replaceable.clear(),this.claims=new WeakMap}}var RO,MO,LO=function(){if(MO)return RO;function t(t,e){var n,r;if(0===e.length)return t;for(n=0,r=e.length;n<r;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return t<0?-2*t:t}function e(n,r,i,s){var o,a=t(t(t(n,i),(o=r,Object.prototype.toString.call(o))),typeof r);if(null===r)return t(a,"null");if(void 0===r)return t(a,"undefined");if("object"==typeof r||"function"==typeof r){if(-1!==s.indexOf(r))return t(a,"[Circular]"+i);s.push(r);var l=function(t,n,r){return Object.keys(n).sort().reduce(function(t,i){return e(t,n[i],i,r)},t)}(a,r,s);if(!("valueOf"in r)||"function"!=typeof r.valueOf)return l;try{return t(l,String(r.valueOf()))}catch(c){return t(l,"[valueOf exception]"+(c.stack||c.message))}}return t(a,r.toString())}return MO=1,RO=function(t){return function(t){for(;t.length<8;)t="0"+t;return t}(e(0,t,"",[]).toString(16))}}();const IO=BA(LO);function PO(t){return e=>{const n=new Set;return e.pipe(jA(e=>{if(void 0!==e)if(Array.isArray(e))for(const r of e)n.has(r)||(n.add(r),t.claim(r));else n.has(e)||(n.add(e),t.claim(e))}),EA(()=>{for(const e of n)t.removeClaim(e)}))}}function AO(t){return e=>{let n;return e.pipe(jA(e=>{n!==e&&(n&&t.removeClaim(n),e&&t.claim(e),n=e)}),EA(()=>{n&&t.removeClaim(n)}))}}function OO(t,e){return zA(n=>n?WP(n):t.eventLoader?VP(t.eventLoader(e)).pipe(FA(void 0)):WP(n))}function FO(t){return"string"==typeof t&&(t={id:t}),e=>fA(dA(()=>function(t,e){const n=t.getEvent(e.id);return n instanceof Promise?VP(n):WP(n)}(e,t)).pipe(e.eventLoader?OO(e,t):aP),e.insert$.pipe(mA(e=>e.id===t.id)),e.remove$.pipe(mA(e=>e.id===t.id),_A(1),eA(()=>{}))).pipe(CA((t,e)=>t?.id===e?.id),AO(e))}function zO(t){return e=>{let n;return fA(dA(()=>function(t,e){const n=t.getReplaceable(e.kind,e.pubkey,e.identifier);return n instanceof Promise?VP(n):WP(n)}(e,t)).pipe(e.eventLoader?OO(e,t):aP),e.insert$.pipe(mA(e=>e.pubkey==t.pubkey&&e.kind===t.kind&&(void 0===t.identifier||VL(e)===t.identifier)))).pipe(jA(t=>n=t),RA(e.remove$.pipe(mA(t=>t.id===n?.id),eA(()=>{}))),CA((t,e)=>void 0===t||void 0===e?t===e:e.created_at<t.created_at),AO(e))}}function DO(t,e){return t=Array.isArray(t)?t:[t],n=>{const r=new Map;return dA(()=>{const e=n.getTimeline(t);return e instanceof Promise?VP(e):WP(e)}).pipe(PO(n),RA(n.insert$.pipe(mA(e=>lO(t,e)),PO(n))),RA(n.remove$.pipe(mA(e=>lO(t,e)),eA(t=>t.id))),IA((t,n)=>{if("string"==typeof n)return t.filter(t=>t.id!==n);if(Array.isArray(n)){if(!e)for(const t of n)UL(t.kind)&&r.set($L(t),t);return[...n]}let i=[...t];if(!e&&UL(n.kind)){const e=$L(n),s=r.get(e);if(s&&n.created_at<s.created_at)return[...t];if(r.set(e,n),s){const t=i.indexOf(s);-1!==t&&i.splice(t,1)}}return AL(i,n),i},[]),CA(),EA(()=>r.clear()))}}function NO(t,e=!1){return t=Array.isArray(t)?t:[t],n=>{const r=e?SP:dA(()=>function(t,e){const n=t.getByFilters(e);return n instanceof Promise?VP(n).pipe(cA(t=>VP(t))):VP(n)}(n,t));return fA(r,n.insert$.pipe(mA(e=>lO(t,e))))}}function jO(t){return"string"==typeof t&&(t={pubkey:t}),e=>{return e.replaceable({kind:vE.Contacts,pubkey:t.pubkey,relays:t.relays}).pipe((n=e,t=>{let e;return fA(t.pipe(jA(t=>e=t)),n.update$.pipe(mA(t=>t.id===e?.id)))}),eA(t=>{return t?function(...t){const e=new Map;for(const n of t)if(Array.isArray(n))for(const t of n)t&&e.set(t.pubkey,t);else n&&e.set(n.pubkey,n);return Array.from(e.values())}(function(t){return PL(t,OI,()=>sI(t.tags,t=>nI(t)?t:void 0,t=>bI(t)??void 0))}(e=t),function(t){if(FI in t)return t[FI];const e=AI(t);if(!e)return;const n=sI(e,t=>nI(t)?t:void 0,t=>bI(t)??void 0);return Reflect.set(t,FI,n),n}(e)):[];var e}));var n}}function BO(t){return"string"==typeof t&&(t={pubkey:t}),e=>e.replaceable({kind:vE.RelayList,pubkey:t.pubkey,relays:t.relays}).pipe(eA(t=>t&&{inboxes:pO(t),outboxes:fO(t)}))}function UO(t){return"string"==typeof t&&(t={pubkey:t}),e=>e.replaceable({kind:vE.Metadata,pubkey:t.pubkey,relays:t.relays}).pipe(mA(yO),eA(t=>t&&mO(t)))}class $O{models=new Map;modelKeepWarm=6e4;model(t,...e){let n=this.models.get(t);n||(n=new Map,this.models.set(t,n));const r=t.getKey?t.getKey(...e):IO(e);let i=n.get(r);if(!i){const s=()=>{n.get(r)===i&&n.delete(r)};i=t(...e)(this).pipe(EA(s),PA({connector:()=>new vP(1),resetOnComplete:()=>pA(this.modelKeepWarm),resetOnRefCountZero:()=>pA(this.modelKeepWarm)})),n.set(r,i)}return i}filters(t,e=!1){return Array.isArray(t)||(t=[t]),this.model(NO,t,e)}event(t){return"string"==typeof t||wI(t)?this.model(FO,t):this.replaceable(t)}replaceable(...t){let e;if(1===t.length)e=t[0];else if(3===t.length||2===t.length){let[n,r,i]=t;e={kind:n,pubkey:r,identifier:i}}if(!e)throw new Error("Invalid arguments, expected address pointer or kind, pubkey, identifier");return this.model(zO,e)}addressable(t){return this.replaceable(t)}timeline(t,e=!1){return this.model(DO,t,e)}profile(t){return this.model(UO,t)}contacts(t){return"string"==typeof t&&(t={pubkey:t}),this.model(jO,t)}mailboxes(t){return"string"==typeof t&&(t={pubkey:t}),this.model(BO,t)}}class qO{expired$;expiredSubject;expirations=new Map;timer=null;nextCheck=null;constructor(){this.expiredSubject=new fP,this.expired$=this.expiredSubject.asObservable()}track(t){const e=JA(t);if(!e||!Number.isFinite(e))return;const n=aI();if(e<=n)return;if(this.expirations.set(t.id,e),this.timer&&this.nextCheck&&this.nextCheck<=e)return;this.timer&&clearTimeout(this.timer);const r=e-n;r>0&&(this.timer=setTimeout(this.emitNotifications.bind(this),1e3*r+10),this.nextCheck=e)}forget(t){this.expirations.delete(t)}check(t){const e=JA(t);return!!e&&e<=aI()}emitNotifications(){const t=aI();let e=1/0;for(const[n,r]of this.expirations)r<=t?(this.expirations.delete(n),this.expiredSubject.next(n)):r<e&&(e=r);if(e!==1/0){this.timer&&clearTimeout(this.timer),this.nextCheck=null,this.timer=null;const n=e-t;n>0&&(this.timer=setTimeout(this.emitNotifications.bind(this),1e3*n+10),this.nextCheck=e)}}}class VO extends $O{database;memory;deletes;expiration;keepOldVersions=!1;keepExpired=!1;keepDeleted=!1;_verifyEventMethod=IL;get verifyEvent(){return this._verifyEventMethod}set verifyEvent(t){this._verifyEventMethod=t,void 0===t&&console.warn("[applesauce-core] EventStore.verifyEvent is undefined; signature checks are disabled.")}insert$=new fP;update$=new fP;remove$=new fP;eventLoader;constructor(t){super(),t?.database?(this.database=t.database,this.memory=new TO):this.database=this.memory=new TO,void 0!==t?.keepDeleted&&(this.keepDeleted=t.keepDeleted),void 0!==t?.keepExpired&&(this.keepExpired=t.keepExpired),void 0!==t?.keepOldVersions&&(this.keepOldVersions=t.keepOldVersions),t?.verifyEvent&&(this.verifyEvent=t.verifyEvent),this.deletes=t?.deleteManager??new EO,this.deletes.deleted$.subscribe(this.handleDeleteNotification.bind(this)),this.expiration=t?.expirationManager??new qO,this.expiration.expired$.subscribe(this.handleExpiredNotification.bind(this))}mapToMemory(t){if(void 0!==t)return this.memory?this.memory.add(t):t}handleDeleteNotification({pointer:t,until:e}){if(!this.keepDeleted)if(wI(t)){const n=this.getEvent(t.id);n&&e>=n.created_at&&_I(n,t)&&this.remove(n)}else if(function(t){return"object"==typeof t&&null!==t&&"identifier"in t&&"pubkey"in t&&"kind"in t&&"string"==typeof t.identifier&&"string"==typeof t.pubkey&&"number"==typeof t.kind}(t)){const n=this.getReplaceableHistory(t.kind,t.pubkey,t.identifier);if(n)for(const r of n)e>=r.created_at&&_I(r,t)&&this.remove(r)}}handleExpiredNotification(t){this.keepExpired||this.remove(t)}static copySymbolsToDuplicateEvent(t,e){if(t.kind!==e.kind)throw new Error("Source and destination events must have the same kind");if((n=t.kind)<1e4&&0!==n&&3!==n&&t.id!==e.id)throw new Error("Source and destination events must have the same ID");var n;if(UL(t.kind)&&t.pubkey!==e.pubkey&&VL(t)!==VL(e))throw new Error("Source and destination events must have the same pubkey and replaceable identifier");let r=!1;const i=(s=t,Reflect.get(s,dI));var s;if(i){for(const t of i)pI(e,t);r=!0}const o=[NL,SL,WL];for(const a of o)a in t&&!(a in e)&&(Reflect.set(e,a,Reflect.get(t,a)),r=!0);return r}add(t,e){if(t.kind===vE.EventDeletion)return this.deletes.add(t),t;if(this.deletes.check(t))return t;const n=JA(t);if(!1===this.keepExpired&&n&&n<=aI())return null;e&&pI(t,e);const r=UL(t.kind)?VL(t):void 0;if(!1===this.keepOldVersions&&UL(t.kind)){const e=this.database.getReplaceableHistory(t.kind,t.pubkey,r);if(e&&e.length>0&&e[0].created_at>=t.created_at)return VO.copySymbolsToDuplicateEvent(t,e[0])&&this.update(e[0]),e[0]}if(this.verifyEvent&&!1===this.verifyEvent(t))return null;const i=this.memory.add(t);if(i&&i!==t)return VO.copySymbolsToDuplicateEvent(t,i)&&this.update(i),i;const s=this.mapToMemory(this.database.add(t));if(s===t?(Reflect.set(s,FL,this),this.insert$.next(s)):VO.copySymbolsToDuplicateEvent(t,s)&&this.update(s),!1===this.keepOldVersions&&UL(t.kind)){const e=this.database.getReplaceableHistory(t.kind,t.pubkey,r);if(e&&e.length>0){const n=Array.from(e).filter(e=>e.created_at<t.created_at);for(const t of n)this.remove(t);if(e.length!==n.length)return e[0]}}return!1===this.keepExpired&&void 0!==n&&this.expiration.track(s),s}remove(t){const e="string"==typeof t?t:t.id;let n=this.memory.getEvent(e);this.expiration.forget(e),n&&Reflect.deleteProperty(n,FL),this.memory!==this.database&&this.memory.remove(t);const r=this.database.remove(t);return r&&n&&this.remove$.next(n),r}removeByFilters(t){const e=this.getByFilters(t);for(const r of e)this.expiration.forget(r.id);this.memory!==this.database&&this.memory.removeByFilters(t);const n=this.database.removeByFilters(t);for(const r of e)this.remove$.next(r);return n}update(t){return!!this.database.add(t)&&(this.database.update?.(t),this.update$.next(t),!0)}hasEvent(t){return"string"==typeof t?this.memory.hasEvent(t)||this.database.hasEvent(t):wI(t)?this.memory.hasEvent(t.id)||this.database.hasEvent(t.id):this.hasReplaceable(t.kind,t.pubkey,t.identifier)}getEvent(t){return"string"==typeof t?this.memory.getEvent(t)??this.mapToMemory(this.database.getEvent(t)):wI(t)?this.memory.getEvent(t.id)??this.mapToMemory(this.database.getEvent(t.id)):this.getReplaceable(t.kind,t.pubkey,t.identifier)}hasReplaceable(t,e,n){return this.memory.hasReplaceable(t,e,n)||this.database.hasReplaceable(t,e,n)}getReplaceable(t,e,n){return this.memory.getReplaceable(t,e,n)??this.mapToMemory(this.database.getReplaceable(t,e,n))}getReplaceableHistory(t,e,n){return this.memory.getReplaceableHistory(t,e,n)??this.database.getReplaceableHistory(t,e,n)?.map(t=>this.mapToMemory(t)??t)}getByFilters(t){const e=this.database.getByFilters(t);return this.memory?e.map(t=>this.mapToMemory(t)):e}getTimeline(t){const e=this.database.getTimeline(t);return this.memory?e.map(t=>this.mapToMemory(t)):e}touch(t){return this.memory.touch(t)}claim(t){return this.memory.claim(t)}isClaimed(t){return this.memory.isClaimed(t)??!1}removeClaim(t){return this.memory.removeClaim(t)}clearClaim(t){return this.memory.clearClaim(t)}unclaimed(){return this.memory.unclaimed()||function*(){}()}prune(t){return this.memory.prune(t)??0}}function WO(t,e=!0){return n=>{const r=n.pipe(PA());return r.pipe(cA(e=>{if("string"==typeof e)return SP;const n=t.add(e);return n instanceof Promise?VP(n):WP(n)}),vA(()=>WP(null)),mA(t=>null!==t),e?uP(function(t,e){var n=new Set;t.subscribe(hP(e,function(t){var r=t;n.has(r)||(n.add(r),e.next(t))}))}):aP,RA(r.pipe(mA(t=>"string"==typeof t))))}}function HO(t){return WO(t,!0)}class GO extends Error{}function KO(t){return QP({first:t,with:()=>HP(()=>new GO("Timeout"))})}function ZO(t,e,n=""){const r=(i=t)instanceof Uint8Array||ArrayBuffer.isView(i)&&"Uint8Array"===i.constructor.name&&"BYTES_PER_ELEMENT"in i&&1===i.BYTES_PER_ELEMENT;var i;const s=t?.length;if(!r||void 0!==e){const e=(n&&`"${n}" `)+"expected Uint8Array, got "+(r?`length=${s}`:"type="+typeof t);if(!r)throw new TypeError(e);throw new RangeError(e)}return t}function YO(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function XO(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function JO(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function QO(t,e){return t<<32-e|t>>>e}function tF(t,e={}){const n=(e,n)=>t(n).update(e).digest(),r=t(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=e=>t(e),Object.assign(n,e),Object.freeze(n)}const eF=t=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,t])});function nF(t,e,n){return t&e^~t&n}function rF(t,e,n){return t&e^t&n^e&n}class iF{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,e,n,r){this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(t),this.view=JO(this.buffer)}update(t){YO(this),ZO(t);const{view:e,buffer:n,blockLen:r}=this,i=t.length;for(let s=0;s<i;){const o=Math.min(r-this.pos,i-s);if(o===r){const e=JO(t);for(;r<=i-s;s+=r)this.process(e,s);continue}n.set(t.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===r&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){YO(this),function(t,e){ZO(t,void 0,"digestInto() output");const n=e.outputLen;if(t.length<n)throw new RangeError('"digestInto() output" expected to be of length >='+n)}(t,this),this.finished=!0;const{buffer:e,view:n,blockLen:r,isLE:i}=this;let{pos:s}=this;e[s++]=128,XO(this.buffer.subarray(s)),this.padOffset>r-s&&(this.process(n,0),s=0);for(let u=s;u<r;u++)e[u]=0;n.setBigUint64(r-8,BigInt(8*this.length),i),this.process(n,0);const o=JO(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen must be aligned to 32bit");const l=a/4,c=this.get();if(l>c.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)o.setUint32(4*u,c[u],i)}digest(){const{buffer:t,outputLen:e}=this;this.digestInto(t);const n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());const{blockLen:e,buffer:n,length:r,finished:i,destroyed:s,pos:o}=this;return t.destroyed=s,t.finished=i,t.length=r,t.pos=o,r%e&&t.buffer.set(n),t}clone(){return this._cloneInto()}}const sF=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),oF=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),aF=new Uint32Array(64);class lF extends iF{constructor(t){super(64,t,8,!1)}get(){const{A:t,B:e,C:n,D:r,E:i,F:s,G:o,H:a}=this;return[t,e,n,r,i,s,o,a]}set(t,e,n,r,i,s,o,a){this.A=0|t,this.B=0|e,this.C=0|n,this.D=0|r,this.E=0|i,this.F=0|s,this.G=0|o,this.H=0|a}process(t,e){for(let u=0;u<16;u++,e+=4)aF[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){const t=aF[u-15],e=aF[u-2],n=QO(t,7)^QO(t,18)^t>>>3,r=QO(e,17)^QO(e,19)^e>>>10;aF[u]=r+aF[u-7]+n+aF[u-16]|0}let{A:n,B:r,C:i,D:s,E:o,F:a,G:l,H:c}=this;for(let u=0;u<64;u++){const t=c+(QO(o,6)^QO(o,11)^QO(o,25))+nF(o,a,l)+oF[u]+aF[u]|0,e=(QO(n,2)^QO(n,13)^QO(n,22))+rF(n,r,i)|0;c=l,l=a,a=o,o=s+t|0,s=i,i=r,r=n,n=t+e|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,s=s+this.D|0,o=o+this.E|0,a=a+this.F|0,l=l+this.G|0,c=c+this.H|0,this.set(n,r,i,s,o,a,l,c)}roundClean(){XO(aF)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),XO(this.buffer)}}class cF extends lF{A=0|sF[0];B=0|sF[1];C=0|sF[2];D=0|sF[3];E=0|sF[4];F=0|sF[5];G=0|sF[6];H=0|sF[7];constructor(){super(32)}}const uF=tF(()=>new cF,eF(1)),hF=new WeakMap;function dF(t,e,n,r){let i={configurable:!0,enumerable:!0,writable:!0,initializer:null};r&&(i.initializer=r);for(let s of n)i=s(t,e,i)||i;void 0===i.initializer?Object.defineProperty(t,e,i):function(t,e,n){let r=hF.get(t);r||(r=new Map,hF.set(t,r)),r.set(e,n)}(t,e,i)}function pF(t,e,n){let r={...Object.getOwnPropertyDescriptor(t,e)};for(let i of n)r=i(t,e,r)||r;void 0!==r.initializer&&(r.value=r.initializer?r.initializer.call(t):void 0,r.initializer=void 0),Object.defineProperty(t,e,r)}function fF(t,e){let n=function(t,e){var n;let r=t.prototype;for(;r;){let t=null==(n=hF.get(r))?void 0:n.get(e);if(t)return t;r=r.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})}const gF="https://blossom.nostr.build";function mF(t,e){let n=t||gF;return n.endsWith("/")&&(n=n.slice(0,-1)),e.startsWith("/")?`${n}${e}`:`${n}/${e}`}class yF extends qf{static{dF(this.prototype,"nostrAuth",[$f])}#M=void fF(this,"nostrAuth");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");get servers(){const t=this.nostrData.blossomServers,e=t.length?t:[gF];return this.settings.nostrPhotoFallbackUploads?e:[e[0]]}async _getAuthHeader(t,e,n){const r=new kO({signer:this.nostrAuth.signer}),i=Math.floor(Date.now()/1e3),s=new URL(n).hostname,o={kind:24242,created_at:i,content:"upload"===t?"Upload photo for place":"Delete photo",tags:[["t",t],["x",e],["expiration",String(i+3600)],["server",s]]},a=await r.sign(o);return`Nostr ${btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}`}async _uploadToServer(t,e,n){const r=mF(n,"upload"),i=await this._getAuthHeader("upload",e,n),s=await fetch(r,{method:"PUT",headers:{Authorization:i,"X-SHA-256":e},body:t});if(!s.ok){const t=await s.text();throw new Error(`Upload failed (${s.status}): ${t}`)}return s.json()}async upload(t,e={sequential:!1}){if(!this.nostrAuth.isConnected)throw new Error("Not connected");const n=await t.arrayBuffer();let r;r="undefined"!=typeof crypto&&crypto.subtle&&crypto.subtle.digest?await crypto.subtle.digest("SHA-256",n):uF(new Uint8Array(n));const i=function(t){return Array.from(new Uint8Array(t)).map(t=>t.toString(16).padStart(2,"0")).join("")}(r),s=this.servers,o=s[0],a=s.slice(1),l=[];let c;if(e.sequential){c=await this._uploadToServer(t,i,o);for(const e of a)try{const n=await this._uploadToServer(t,i,e);l.push(n.url)}catch(v5){console.warn(`Fallback upload to ${e} failed:`,v5)}}else{const e=this._uploadToServer(t,i,o),n=a.map(e=>this._uploadToServer(t,i,e));c=await e;const r=await Promise.allSettled(n);for(let t=0;t<r.length;t++){const e=r[t];"fulfilled"===e.status?l.push(e.value.url):console.warn(`Fallback upload to ${a[t]} failed:`,e.reason)}}return{url:c.url,fallbackUrls:l,hash:i,type:t.type}}async _deleteFromServer(t,e){const n=mF(e,t),r=await this._getAuthHeader("delete",t,e),i=await fetch(n,{method:"DELETE",headers:{Authorization:r}});if(!i.ok){const t=await i.text();throw new Error(t||i.statusText)}}async delete(t){if(!this.nostrAuth.isConnected)throw new Error("Not connected");const e=this.servers,n=e[0],r=e.slice(1),i=this._deleteFromServer(t,n),s=r.map(e=>this._deleteFromServer(t,e));await i;const o=await Promise.allSettled(s);for(let a=0;a<o.length;a++){const t=o[a];"rejected"===t.status&&console.warn(`Fallback delete from ${r[a]} failed:`,t.reason)}}}const vF=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_BLOSSOM_SERVER:gF,default:yF},Symbol.toStringTag,{value:"Module"}));function bF(t){return new Worker("/assets/image-processor-Dj3-kZwI.js",{name:t?.name})}const wF=Object.freeze(Object.defineProperty({__proto__:null,default:class extends qf{_worker=null;_callbacks=new Map;_msgId=0;constructor(){super(...arguments),this._initWorker()}_initWorker(){if(!this._worker&&void 0!==bF)try{this._worker=new bF,this._worker.onmessage=this._handleMessage.bind(this),this._worker.onerror=this._handleError.bind(this)}catch(ej){console.warn("Failed to initialize image-processor worker:",ej)}}_handleMessage(t){const{id:e,success:n,blob:r,dim:i,blurhash:s,error:o}=t.data,a=this._callbacks.get(e);a&&(this._callbacks.delete(e),n?a.resolve({blob:r,dim:i,blurhash:s}):a.reject(new Error(o)))}_handleError(t){console.error("Image Processor Worker Error:",t);for(const[,e]of this._callbacks.entries())e.reject(new Error("Worker crashed"));this._callbacks.clear(),this._worker.terminate(),this._worker=null,this._initWorker()}_getImageDimensions(t){return new Promise((e,n)=>{const r=new Image,i=URL.createObjectURL(t);r.onload=()=>{const t={width:r.width,height:r.height};URL.revokeObjectURL(i),e(t)},r.onerror=()=>{URL.revokeObjectURL(i),n(new Error("Could not read image dimensions"))},r.src=i})}async process(t,e,n,r=!1){if(!this._worker)throw new Error("Image processor worker is not available.");try{const{width:i,height:s}=await this._getImageDimensions(t);let o=i,a=s;return i>s?i>e&&(a=Math.round(s*(e/i)),o=e):s>e&&(o=Math.round(i*(e/s)),a=e),new Promise((e,i)=>{const s=++this._msgId;this._callbacks.set(s,{resolve:e,reject:i}),this._worker.postMessage({type:"PROCESS_IMAGE",id:s,file:t,targetWidth:o,targetHeight:a,quality:n,computeBlurhash:r})})}catch(ej){throw new Error(`Failed to process image: ${ej.message}`)}}willDestroy(){super.willDestroy(...arguments),this._worker&&(this._worker.terminate(),this._worker=null),this._callbacks.clear()}}},Symbol.toStringTag,{value:"Module"}));class _F extends qf{static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"selectedPlace",[Is],function(){return null})}#P=void fF(this,"selectedPlace");static{dF(this.prototype,"isSearching",[Is],function(){return!1})}#A=void fF(this,"isSearching");static{dF(this.prototype,"isCreating",[Is],function(){return!1})}#O=void fF(this,"isCreating");static{dF(this.prototype,"creationCoordinates",[Is],function(){return null})}#F=void fF(this,"creationCoordinates");static{dF(this.prototype,"returnToSearch",[Is],function(){return!1})}#z=void fF(this,"returnToSearch");static{dF(this.prototype,"currentCenter",[Is],function(){return null})}#D=void fF(this,"currentCenter");static{dF(this.prototype,"currentBounds",[Is],function(){return null})}#N=void fF(this,"currentBounds");static{dF(this.prototype,"searchBoxHasFocus",[Is],function(){return!1})}#j=void fF(this,"searchBoxHasFocus");static{dF(this.prototype,"selectionOptions",[Is],function(){return{}})}#B=void fF(this,"selectionOptions");static{dF(this.prototype,"preventNextZoom",[Is],function(){return!1})}#U=void fF(this,"preventNextZoom");static{dF(this.prototype,"searchResults",[Is],function(){return[]})}#$=void fF(this,"searchResults");static{dF(this.prototype,"currentSearch",[Is],function(){return null})}#q=void fF(this,"currentSearch");static{dF(this.prototype,"loadingState",[Is],function(){return null})}#V=void fF(this,"loadingState");selectPlace(t,e={}){this.selectedPlace=t,this.selectionOptions=e,this.nostrData.loadPhotosForPlace(t)}clearSelection(){this.selectedPlace=null,this.selectionOptions={},this.preventNextZoom=!1,this.nostrData.loadPhotosForPlace(null)}setSearchResults(t){this.searchResults=t||[]}clearSearchResults(){this.searchResults=[],this.currentSearch=null}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}}updateBounds(t){this.currentBounds=t}startLoading(t,e){this.loadingState={type:t,value:e}}stopLoading(t=null,e=null){t||e?this.loadingState&&this.loadingState.type===t&&this.loadingState.value===e&&(this.loadingState=null):this.loadingState=null}}const xF=Object.freeze(Object.defineProperty({__proto__:null,default:_F},Symbol.toStringTag,{value:"Module"}));function CF(){let t,e;const n=new Promise((n,r)=>{t=n,e=r});return n.resolve=t,n.reject=e,n}"navigator"in globalThis&&navigator.userAgent.includes("Android")&&navigator.clipboard&&navigator.clipboard.readText;class SF extends Error{}class kF{get nip04(){return window.nostr?.nip04}get nip44(){return window.nostr?.nip44}pubkey=void 0;async getPublicKey(){if(!window.nostr)throw new SF("Signer extension missing");if(this.pubkey)return this.pubkey;const t=await window.nostr.getPublicKey();if(!mI(t))throw new Error("Extension returned an invalid public key");return this.pubkey=t,this.pubkey}async signEvent(t){if(!window.nostr)throw new SF("Signer extension missing");const e=await window.nostr.signEvent(t);if(!IL(e))throw new Error("Extension returned an invalid event");return e}}var EF,TF;kI(vE.NostrConnect,"nip44"),function(t){t.GetPublicKey="get_pubic_key",t.SignEvent="sign_event",t.Ping="ping",t.Nip04Encrypt="nip04_encrypt",t.Nip04Decrypt="nip04_decrypt",t.Nip44Encrypt="nip44_encrypt",t.Nip44Decrypt="nip44_decrypt",t.SwitchRelays="switch_relays"}(EF||(EF={})),function(t){t.Connect="connect",t.CreateAccount="create_account",t.GetPublicKey="get_public_key",t.SignEvent="sign_event",t.Ping="ping",t.Nip04Encrypt="nip04_encrypt",t.Nip04Decrypt="nip04_decrypt",t.Nip44Encrypt="nip44_encrypt",t.Nip44Decrypt="nip44_decrypt",t.SwitchRelays="switch_relays"}(TF||(TF={}));class RF{key;constructor(t){this.key=t||RL()}async getPublicKey(){return ML(this.key)}async signEvent(t){return LL(t,this.key)}nip04={encrypt:async(t,e)=>IR.encrypt(this.key,t,e),decrypt:async(t,e)=>IR.decrypt(this.key,t,e)};nip44={encrypt:async(t,e)=>KR.v2.encrypt(e,KR.v2.utils.getConversationKey(this.key,t)),decrypt:async(t,e)=>KR.v2.decrypt(e,KR.v2.utils.getConversationKey(this.key,t))};static fromKey(t){const e=function(t){if(t instanceof Uint8Array)return 32!==t.length?null:t;if(mI(t))return bS(t);try{const e=function(t){let{prefix:e,words:n}=lk.decode(t,5e3),r=new Uint8Array(lk.fromWords(n));switch(e){case"nprofile":{let t=cI(r);if(!t[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(32!==t[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:vS(t[0][0]),relays:t[1]?t[1].map(t=>lI.decode(t)):[]}}}case"nevent":{let t=cI(r);if(!t[0]?.[0])throw new Error("missing TLV 0 for nevent");if(32!==t[0][0].length)throw new Error("TLV 0 should be 32 bytes");if(t[2]&&32!==t[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(t[3]&&4!==t[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:vS(t[0][0]),relays:t[1]?t[1].map(t=>lI.decode(t)):[],author:t[2]?.[0]?vS(t[2][0]):void 0,kind:t[3]?.[0]?parseInt(vS(t[3][0]),16):void 0}}}case"naddr":{let t=cI(r);if(!t[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!t[2]?.[0])throw new Error("missing TLV 2 for naddr");if(32!==t[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(!t[3]?.[0])throw new Error("missing TLV 3 for naddr");if(4!==t[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:lI.decode(t[0][0]),pubkey:vS(t[2][0]),kind:parseInt(vS(t[3][0]),16),relays:t[1]?t[1].map(t=>lI.decode(t)):[]}}}case"nsec":return{type:e,data:r};case"npub":case"note":return{type:e,data:vS(r)};default:throw new Error(`unknown prefix ${e}`)}}(t);return"nsec"!==e.type?null:e.data}catch{return null}}(t);if(!e)throw new Error("Invalid private key");return new RF(e)}}async function MF(t){window.open(t,"auth","width=400,height=600,resizable=no,status=no,location=no,toolbar=no,menubar=no")}class LF{static subscriptionMethod=void 0;static publishMethod=void 0;static pool=void 0;publishMethod;subscriptionMethod;log=ZA.extend("NostrConnectSigner");signer;listening=!1;isConnected=!1;pubkey;relays;remote;get clientPubkey(){return ML(this.signer.key)}onAuth=MF;verifyEvent=IL;secret;nip04;nip44;constructor(t){this.relays=t.relays,this.pubkey=t.pubkey,this.remote=t.remote,this.secret=t.secret||Rx(12);const{subscriptionMethod:e,publishMethod:n}=function(t,e){const n=t.subscriptionMethod||t.pool?.subscription.bind(t.pool)||e?.subscriptionMethod||e?.pool?.subscription.bind(e.pool);if(!n)throw new Error("Missing subscriptionMethod, either pass a method or set subscriptionMethod globally on the class");const r=t.publishMethod||t.pool?.publish.bind(t.pool)||e?.publishMethod||e?.pool?.publish.bind(e.pool);if(!r)throw new Error("Missing publishMethod, either pass a method or set publishMethod globally on the class");return{subscriptionMethod:n,publishMethod:r}}(t,LF);this.subscriptionMethod=(t,n)=>e(t,n),this.publishMethod=(t,e)=>n(t,e),t.onAuth&&(this.onAuth=t.onAuth),this.signer=t?.signer||new RF,this.nip04={encrypt:this.nip04Encrypt.bind(this),decrypt:this.nip04Decrypt.bind(this)},this.nip44={encrypt:this.nip44Encrypt.bind(this),decrypt:this.nip44Decrypt.bind(this)}}req;async open(){if(this.listening)return;this.listening=!0;const t=await this.signer.getPublicKey();this.req=VP(this.subscriptionMethod(this.relays,[{kinds:[vE.NostrConnect],"#p":[t]}])).pipe(MA(),LA(),mA(t=>"string"!=typeof t)).subscribe(this.handleEvent.bind(this)),this.log("Opened",this.relays)}async close(){this.listening=!1,this.isConnected=!1,this.req&&(this.req.unsubscribe(),this.req=void 0),this.waitingPromise&&(this.waitingPromise.reject(new Error("Closed")),this.waitingPromise=null),this.log("Closed")}requests=new Map;auths=new Set;async handleEvent(t){if(this.verifyEvent(t)&&(!this.remote||t.pubkey===this.remote))try{const e=TI(t)??(function(t){const e=t.length;return!(e<28)&&"?"==t[e-28]&&"i"==t[e-27]&&"v"==t[e-26]&&"="==t[e-25]}(t.content)?await this.signer.nip04.decrypt(t.pubkey,t.content):await this.signer.nip44.decrypt(t.pubkey,t.content));if(!e)return;const n=JSON.parse(e);if(!this.remote&&("ack"===n.result||this.secret&&n.result===this.secret))return this.log("Got ack response from",t.pubkey,n.result),this.isConnected=!0,this.remote=t.pubkey,this.waitingPromise?.resolve(),void(this.waitingPromise=null);if(n.id){const t=this.requests.get(n.id);if(!t)return;if(n.error)if(this.log("Got Error",n.id,n.result,n.error),"auth_url"===n.result){if(!this.auths.has(n.id)&&(this.auths.add(n.id),this.onAuth))try{await this.onAuth(n.error)}catch(ej){t.reject(ej)}}else t.reject(new Error(n.error));else n.result&&(this.log("Got Response",n.id,n.result),t.resolve(n.result))}}catch(ej){}}async createRequestEvent(t,e=this.remote,n=vE.NostrConnect){if(!e)throw new Error("Missing target pubkey");return await this.signer.signEvent({kind:n,created_at:aI(),tags:[["p",e]],content:t})}async makeRequest(t,e,n=vE.NostrConnect){if(!this.remote)throw new Error("Missing remote signer pubkey");const r=Rx(8),i={id:r,method:t,params:e},s=await this.signer.nip44.encrypt(this.remote,JSON.stringify(i)),o=await this.createRequestEvent(s,this.remote,n);this.log(`Sending ${r} (${t}) ${JSON.stringify(e)}`);const a=CF();this.requests.set(r,a);const l=this.publishMethod?.(this.relays,o);return l instanceof Promise?await l:"subscribe"in l&&await new Promise(t=>l.subscribe({complete:t})),this.log(`Sent ${r} (${t})`),a}async connect(t,e){if(!this.remote&&this.pubkey&&(this.remote=this.pubkey),!this.remote)throw new Error("Missing remote signer pubkey");await this.open();try{const n=await this.makeRequest(TF.Connect,[this.remote,t||"",e?.join(",")??""]);return this.isConnected=!0,n}catch(ej){throw this.isConnected=!1,this.close(),ej}}waitingPromise=null;waitForSigner(t){return this.isConnected?Promise.resolve():(this.open(),this.waitingPromise=CF(),t?.addEventListener("abort",()=>{this.waitingPromise?.reject(new Error("Aborted")),this.waitingPromise=null,this.close()},!0),this.waitingPromise)}async createAccount(t,e,n,r){if(!this.remote)throw new Error("Remote pubkey must be set");await this.open();try{const i=await this.makeRequest(TF.CreateAccount,[t,e,n??"",r?.join(",")??""]);return this.pubkey=i,this.isConnected=!0,i}catch(ej){throw this.isConnected=!1,this.close(),ej}}async requireConnection(){this.isConnected||await this.connect()}async getPublicKey(){if(this.pubkey)return this.pubkey;await this.requireConnection();const t=await this.makeRequest(TF.GetPublicKey,[]);if(!mI(t))throw new Error("Remote signer returned an invalid public key");return t}async signEvent(t){await this.requireConnection();const e=await this.makeRequest(TF.SignEvent,[JSON.stringify(t)]),n=JSON.parse(e);if(!this.verifyEvent(n))throw new Error("Invalid event");return n}async nip04Encrypt(t,e){return await this.requireConnection(),this.makeRequest(TF.Nip04Encrypt,[t,e])}async nip04Decrypt(t,e){await this.requireConnection();const n=await this.makeRequest(TF.Nip04Decrypt,[t,e]);return n.startsWith('["')&&n.endsWith('"]')?JSON.parse(n)[0]:n}async nip44Encrypt(t,e){return await this.requireConnection(),this.makeRequest(TF.Nip44Encrypt,[t,e])}async nip44Decrypt(t,e){await this.requireConnection();const n=await this.makeRequest(TF.Nip44Decrypt,[t,e]);return n.startsWith('["')&&n.endsWith('"]')?JSON.parse(n)[0]:n}async ping(){return await this.requireConnection(),this.makeRequest(TF.Ping,[])}async switchRelays(){await this.requireConnection();const t=await this.makeRequest(TF.SwitchRelays,[]);return null!==t&&Array.isArray(t)&&t.length>0&&(this.log("Switching relays from",this.relays,"to",t),this.relays=t,this.listening&&(await this.close(),await this.open())),t}getNostrConnectURI(t){return function(t){const e=new URLSearchParams;e.set("secret",t.secret),t.metadata?.name&&e.set("name",t.metadata.name),t.metadata?.url&&e.set("url",String(t.metadata.url)),t.metadata?.image&&e.set("image",t.metadata.image),t.metadata?.permissions&&e.set("perms",t.metadata.permissions.join(","));for(const n of t.relays)e.append("relay",n);return`nostrconnect://${t.client}?`+e.toString()}({client:ML(this.signer.key),secret:this.secret,relays:this.relays,metadata:t})}static parseBunkerURI(t){return function(t){const e=new URL(t),n=e.host||e.pathname.replace("//","");if(!mI(n))throw new Error("Invalid bunker URI: remote is not a valid hex key");const r=e.searchParams.getAll("relay");if(0===r.length)throw new Error("Invalid bunker URI: missing relays");return{remote:n,relays:r,secret:e.searchParams.get("secret")??void 0}}(t)}static buildSigningPermissions(t){return function(t){return[EF.GetPublicKey,...t.map(t=>`${EF.SignEvent}:${t}`)]}(t)}static async fromBunkerURI(t,e){const{remote:n,relays:r,secret:i}=LF.parseBunkerURI(t),s=new LF({relays:r,remote:n,...e});return await s.connect(i,e?.permissions),s}}
/*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */const IF=BigInt(0),PF=BigInt(1),AF=BigInt(2),OF=BigInt(3),FF=BigInt(8),zF=Object.freeze({a:IF,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:PF,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),DF=(t,e)=>(t+e/AF)/e,NF={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){const{n:e}=zF,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-PF*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=n,o=BigInt("0x100000000000000000000000000000000"),a=DF(s*t,e),l=DF(-r*t,e);let c=lz(t-a*n-l*i,e),u=lz(-a*r-l*s,e);const h=c>o,d=u>o;if(h&&(c=e-c),d&&(u=e-u),c>o||u>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:h,k1:c,k2neg:d,k2:u}}};function jF(t){const{a:e,b:n}=zF,r=lz(t*t),i=lz(r*t);return lz(i+e*t+n)}const BF=zF.a===IF;function UF(t){if(!(t instanceof $F))throw new TypeError("JacobianPoint expected")}class $F{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof WF))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(WF.ZERO)?$F.ZERO:new $F(t.x,t.y,PF)}static toAffineBatch(t){const e=function(t,e=zF.P){const n=new Array(t.length),r=t.reduce((t,r,i)=>r===IF?t:(n[i]=t,lz(t*r,e)),PF),i=uz(r,e);return t.reduceRight((t,r,i)=>r===IF?t:(n[i]=lz(t*n[i],e),lz(t*r,e)),i),n}(t.map(t=>t.z));return t.map((t,n)=>t.toAffine(e[n]))}static normalizeZ(t){return $F.toAffineBatch(t).map($F.fromAffine)}equals(t){UF(t);const{x:e,y:n,z:r}=this,{x:i,y:s,z:o}=t,a=lz(r*r),l=lz(o*o),c=lz(e*l),u=lz(i*a),h=lz(lz(n*o)*l),d=lz(lz(s*r)*a);return c===u&&h===d}negate(){return new $F(this.x,lz(-this.y),this.z)}double(){const{x:t,y:e,z:n}=this,r=lz(t*t),i=lz(e*e),s=lz(i*i),o=t+i,a=lz(AF*(lz(o*o)-r-s)),l=lz(OF*r),c=lz(l*l),u=lz(c-AF*a),h=lz(l*(a-u)-FF*s),d=lz(AF*e*n);return new $F(u,h,d)}add(t){UF(t);const{x:e,y:n,z:r}=this,{x:i,y:s,z:o}=t;if(i===IF||s===IF)return this;if(e===IF||n===IF)return t;const a=lz(r*r),l=lz(o*o),c=lz(e*l),u=lz(i*a),h=lz(lz(n*o)*l),d=lz(lz(s*r)*a),p=lz(u-c),f=lz(d-h);if(p===IF)return f===IF?this.double():$F.ZERO;const g=lz(p*p),m=lz(p*g),y=lz(c*g),v=lz(f*f-m-AF*y),b=lz(f*(y-v)-h*m),w=lz(r*o*p);return new $F(v,b,w)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){const e=$F.ZERO;if("bigint"==typeof t&&t===IF)return e;let n=az(t);if(n===PF)return this;if(!BF){let t=e,r=this;for(;n>IF;)n&PF&&(t=t.add(r)),r=r.double(),n>>=PF;return t}let{k1neg:r,k1:i,k2neg:s,k2:o}=NF.splitScalar(n),a=e,l=e,c=this;for(;i>IF||o>IF;)i&PF&&(a=a.add(c)),o&PF&&(l=l.add(c)),c=c.double(),i>>=PF,o>>=PF;return r&&(a=a.negate()),s&&(l=l.negate()),l=new $F(lz(l.x*NF.beta),l.y,l.z),a.add(l)}precomputeWindow(t){const e=BF?128/t+1:256/t+1,n=[];let r=this,i=r;for(let s=0;s<e;s++){i=r,n.push(i);for(let e=1;e<2**(t-1);e++)i=i.add(r),n.push(i);r=i.double()}return n}wNAF(t,e){!e&&this.equals($F.BASE)&&(e=WF.BASE);const n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let r=e&&VF.get(e);r||(r=this.precomputeWindow(n),e&&1!==n&&(r=$F.normalizeZ(r),VF.set(e,r)));let i=$F.ZERO,s=$F.BASE;const o=1+(BF?128/n:256/n),a=2**(n-1),l=BigInt(2**n-1),c=2**n,u=BigInt(n);for(let h=0;h<o;h++){const e=h*a;let n=Number(t&l);t>>=u,n>a&&(n-=c,t+=PF);const o=e,d=e+Math.abs(n)-1,p=h%2!=0,f=n<0;0===n?s=s.add(qF(p,r[o])):i=i.add(qF(f,r[d]))}return{p:i,f:s}}multiply(t,e){let n,r,i=az(t);if(BF){const{k1neg:t,k1:s,k2neg:o,k2:a}=NF.splitScalar(i);let{p:l,f:c}=this.wNAF(s,e),{p:u,f:h}=this.wNAF(a,e);l=qF(t,l),u=qF(o,u),u=new $F(lz(u.x*NF.beta),u.y,u.z),n=l.add(u),r=c.add(h)}else{const{p:t,f:s}=this.wNAF(i,e);n=t,r=s}return $F.normalizeZ([n,r])[0]}toAffine(t){const{x:e,y:n,z:r}=this,i=this.equals($F.ZERO);null==t&&(t=i?FF:uz(r));const s=t,o=lz(s*s),a=lz(o*s),l=lz(e*o),c=lz(n*a),u=lz(r*s);if(i)return WF.ZERO;if(u!==PF)throw new Error("invZ was invalid");return new WF(l,c)}}function qF(t,e){const n=e.negate();return t?n:e}$F.BASE=new $F(zF.Gx,zF.Gy,PF),$F.ZERO=new $F(IF,PF,IF);const VF=new WeakMap;let WF=class t{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,VF.delete(this)}hasEvenY(){return this.y%AF===IF}static fromCompressedHex(e){const n=32===e.length,r=sz(n?e:e.subarray(1));if(!dz(r))throw new Error("Point is not on curve");let i=function(t){const{P:e}=zF,n=BigInt(6),r=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),l=t*t*t%e,c=l*l*t%e,u=cz(c,OF)*c%e,h=cz(u,OF)*c%e,d=cz(h,AF)*l%e,p=cz(d,r)*d%e,f=cz(p,i)*p%e,g=cz(f,o)*f%e,m=cz(g,a)*g%e,y=cz(m,o)*f%e,v=cz(y,OF)*c%e,b=cz(v,s)*p%e,w=cz(b,n)*l%e,_=cz(w,AF);if(_*_%e!==t)throw new Error("Cannot find square root");return _}(jF(r));const s=(i&PF)===PF;n?s&&(i=lz(-i)):!(1&~e[0])!==s&&(i=lz(-i));const o=new t(r,i);return o.assertValidity(),o}static fromUncompressedHex(e){const n=sz(e.subarray(1,33)),r=sz(e.subarray(33,65)),i=new t(n,r);return i.assertValidity(),i}static fromHex(t){const e=oz(t),n=e.length,r=e[0];if(32===n)return this.fromCompressedHex(e);if(33===n&&(2===r||3===r))return this.fromCompressedHex(e);if(65===n&&4===r)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return t.BASE.multiply(function(t){let e;if("bigint"==typeof t)e=t;else if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if("string"==typeof t){if(64!==t.length)throw new Error("Expected 32 bytes of private key");e=iz(t)}else{if(!ZF(t))throw new TypeError("Expected valid private key");if(32!==t.length)throw new Error("Expected 32 bytes of private key");e=sz(t)}if(!hz(e))throw new Error("Expected private key: 0 < key < n");return e}(e))}static fromSignature(e,n,r){const{r:i,s:s}=function(t){if(t instanceof KF)return t.assertValidity(),t;try{return KF.fromDER(t)}catch(v5){return KF.fromCompact(t)}}(n);if(![0,1,2,3].includes(r))throw new Error("Cannot recover: invalid recovery bit");const o=function(t,e=!1){const n=function(t){const e=8*t.length-256,n=sz(t);return e>0?n>>BigInt(e):n}(t);if(e)return n;const{n:r}=zF;return n>=r?n-r:n}(oz(e)),{n:a}=zF,l=2===r||3===r?i+a:i,c=uz(l,a),u=lz(-o*c,a),h=lz(s*c,a),d=1&r?"03":"02",p=t.fromHex(d+nz(l)),f=t.BASE.multiplyAndAddUnsafe(p,u,h);if(!f)throw new Error("Cannot recover signature: point at infinify");return f.assertValidity(),f}toRawBytes(t=!1){return tz(this.toHex(t))}toHex(t=!1){const e=nz(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${nz(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const t="Point is not on elliptic curve",{x:e,y:n}=this;if(!dz(e)||!dz(n))throw new Error(t);const r=lz(n*n);if(lz(r-jF(e))!==IF)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new t(this.x,lz(-this.y))}double(){return $F.fromAffine(this).double().toAffine()}add(t){return $F.fromAffine(this).add($F.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return $F.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(e,n,r){const i=$F.fromAffine(this),s=n===IF||n===PF||this!==t.BASE?i.multiplyUnsafe(n):i.multiply(n),o=$F.fromAffine(e).multiplyUnsafe(r),a=s.add(o);return a.equals($F.ZERO)?void 0:a.toAffine()}};function HF(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function GF(t){if(t.length<2||2!==t[0])throw new Error(`Invalid signature integer tag: ${XF(t)}`);const e=t[1],n=t.subarray(2,e+2);if(!e||n.length!==e)throw new Error("Invalid signature integer: wrong length");if(0===n[0]&&n[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:sz(n),left:t.subarray(e+2)}}WF.BASE=new WF(zF.Gx,zF.Gy),WF.ZERO=new WF(IF,IF);class KF{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){const e=ZF(t),n="Signature.fromCompact";if("string"!=typeof t&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);const r=e?XF(t):t;if(128!==r.length)throw new Error(`${n}: Expected 64-byte hex`);return new KF(iz(r.slice(0,64)),iz(r.slice(64,128)))}static fromDER(t){const e=ZF(t);if("string"!=typeof t&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:n,s:r}=function(t){if(t.length<2||48!=t[0])throw new Error(`Invalid signature tag: ${XF(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");const{data:e,left:n}=GF(t.subarray(2)),{data:r,left:i}=GF(n);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${XF(i)}`);return{r:e,s:r}}(e?t:tz(t));return new KF(n,r)}static fromHex(t){return this.fromDER(t)}assertValidity(){const{r:t,s:e}=this;if(!hz(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!hz(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const t=zF.n>>PF;return this.s>t}normalizeS(){return this.hasHighS()?new KF(this.r,lz(-this.s,zF.n)):this}toDERRawBytes(){return tz(this.toDERHex())}toDERHex(){const t=HF(rz(this.s)),e=HF(rz(this.r)),n=t.length/2,r=e.length/2,i=rz(n),s=rz(r);return`30${rz(r+n+4)}02${s}${e}02${i}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return tz(this.toCompactHex())}toCompactHex(){return nz(this.r)+nz(this.s)}}function ZF(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&"Uint8Array"===t.constructor.name}const YF=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function XF(t){!function(t){if(!ZF(t))throw new Error("Uint8Array expected")}(t);let e="";for(let n=0;n<t.length;n++)e+=YF[t[n]];return e}const JF={_0:48,_9:57,A:65,F:70,a:97,f:102};function QF(t){return t>=JF._0&&t<=JF._9?t-JF._0:t>=JF.A&&t<=JF.F?t-(JF.A-10):t>=JF.a&&t<=JF.f?t-(JF.a-10):void 0}function tz(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let i=0,s=0;i<n;i++,s+=2){const e=QF(t.charCodeAt(s)),n=QF(t.charCodeAt(s+1));if(void 0===e||void 0===n){const e=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+e+'" at index '+s)}r[i]=16*e+n}return r}const ez=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function nz(t){if("bigint"!=typeof t)throw new Error("Expected bigint");if(!(IF<=t&&t<ez))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function rz(t){const e=t.toString(16);return 1&e.length?`0${e}`:e}function iz(t){if("string"!=typeof t)throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function sz(t){return iz(XF(t))}function oz(t){return ZF(t)?Uint8Array.from(t):tz(t)}function az(t){if("number"==typeof t&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if("bigint"==typeof t&&hz(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function lz(t,e=zF.P){const n=t%e;return n>=IF?n:e+n}function cz(t,e){const{P:n}=zF;let r=t;for(;e-- >IF;)r*=r,r%=n;return r}function uz(t,e=zF.P){if(t===IF||e<=IF)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let n=lz(t,e),r=e,i=IF,s=PF;for(;n!==IF;){const t=r%n,e=i-s*(r/n);r=n,n=t,i=s,s=e}if(r!==PF)throw new Error("invert: does not exist");return lz(i,e)}function hz(t){return IF<t&&t<zF.n}function dz(t){return IF<t&&t<zF.P}function pz(t){return WF.fromHex(t).toHex().substring(2)}WF.BASE._setWindowSize(8);const fz=new TextDecoder("utf-8"),gz=new TextEncoder;function mz(t){return btoa(String.fromCharCode(...t))}function yz(t){return new Uint8Array(atob(t).split("").map(t=>t.charCodeAt(0)))}class vz{log=ZA.extend("SerialPortSigner");writer=null;pubkey;get isConnected(){return!!this.writer}verifyEvent=IL;nip04;constructor(){this.nip04={encrypt:this.nip04Encrypt.bind(this),decrypt:this.nip04Decrypt.bind(this)}}lastCommand=null;async callMethodOnDevice(t,e,n={}){if(!vz.SUPPORTED)throw new Error("Serial devices are not supported");if(this.writer||await this.connectToDevice(n),this.lastCommand)throw new Error("Previous command to device still pending!");const r=CF();return this.lastCommand=r,this.sendCommand(t,e),setTimeout(()=>{r.reject(new Error("Device timeout")),this.lastCommand===r&&(this.lastCommand=null)},6e3),this.lastCommand}async connectToDevice({onConnect:t,onDisconnect:e,onError:n,onDone:r}){let i,s=await window.navigator.serial.requestPort();await s.open({baudRate:9600}),await new Promise(t=>setTimeout(t,1e3)),(async()=>{for(;s&&s.readable;){const t=new window.TextDecoderStream;s.readable.pipeTo(t.writable),i=t.readable.getReader();const e=this.readFromSerialPort(i);try{for(;;){const{value:t,done:n}=await e("\n");if(t){const{method:e,data:n}=this.parseResponse(t);if("/ping"===e&&this.log("Pong"),-1===vz.PUBLIC_METHODS.indexOf(e))continue;this.log("Received: ",e,n),this.lastCommand&&(this.lastCommand.resolve(n),this.lastCommand=null)}if(n)return this.lastCommand=null,this.writer=null,void(r&&r())}}catch(v5){if(v5 instanceof Error)throw this.writer=null,n&&n(v5),this.lastCommand&&(this.lastCommand.reject(v5),this.lastCommand=null),v5}}})();const o=new window.TextEncoderStream;o.readable.pipeTo(s.writable),this.writer=o.writable.getWriter(),await this.sendCommand(vz.METHOD_PING),await this.sendCommand(vz.METHOD_PING,[window.location.host]),t&&t(),s.addEventListener("disconnect",()=>{this.log("Disconnected"),this.lastCommand=null,this.writer=null,e&&e()})}async sendCommand(t,e=[]){if(!this.writer)return;this.log("Send command",t,e);const n=[t].concat(e).join(" ");await this.writer.write(n+"\n")}readFromSerialPort(t){let e,n=[];return async(r="\n")=>{if(n.length)return{value:n.shift().trim(),done:!1};const i=[];for(e&&(i.push(e),e=void 0);;){const{value:s,done:o}=await t.read();if(s){const t=s.split(r);if(t.length>1)return i.push(t.shift()),e=t.pop(),n=t,{value:i.join("").trim(),done:!1};i.push(s)}if(o)return{value:i.join("").trim(),done:!0}}}}parseResponse(t){const e=t.split(" ")[0];return{method:e,data:t.substring(e.length).trim()}}async nip04Encrypt(t,e){const n=bS(await this.callMethodOnDevice(vz.METHOD_SHARED_SECRET,[pz(t)]));let r=Uint8Array.from(window.crypto.getRandomValues(new Uint8Array(16))),i=gz.encode(e),s=await crypto.subtle.importKey("raw",n,{name:"AES-CBC"},!1,["encrypt"]),o=await crypto.subtle.encrypt({name:"AES-CBC",iv:r},s,i);return`${mz(new Uint8Array(o))}?iv=${mz(new Uint8Array(r.buffer))}`}async nip04Decrypt(t,e){let[n,r]=e.split("?iv=");const i=bS(await this.callMethodOnDevice(vz.METHOD_SHARED_SECRET,[pz(t)]));let s=await crypto.subtle.importKey("raw",i,{name:"AES-CBC"},!1,["decrypt"]),o=yz(n),a=yz(r),l=await crypto.subtle.decrypt({name:"AES-CBC",iv:a},s,o);return fz.decode(l)}async getPublicKey(){const t=await this.callMethodOnDevice(vz.METHOD_PUBLIC_KEY,[]);return this.pubkey=t,t}async restore(t){await this.callMethodOnDevice(vz.METHOD_RESTORE,[vS(t)])}async signEvent(t){const e=t.pubkey||this.pubkey;if(!e)throw new Error("Unknown signer pubkey");const n={...t,id:EL({...t,pubkey:e})},r=await this.callMethodOnDevice(vz.METHOD_SIGN_MESSAGE,[n.id]),i={...n,sig:r,pubkey:e};if(!this.verifyEvent(i))throw new Error("Invalid signature");return i}ping(){this.sendCommand(vz.METHOD_PING,[window.location.host])}static SUPPORTED="navigator"in globalThis&&!!navigator.serial;static METHOD_PING="/ping";static METHOD_LOG="/log";static METHOD_SIGN_MESSAGE="/sign-message";static METHOD_SHARED_SECRET="/shared-secret";static METHOD_PUBLIC_KEY="/public-key";static METHOD_RESTORE="/restore";static PUBLIC_METHODS=[vz.METHOD_PUBLIC_KEY,vz.METHOD_SIGN_MESSAGE,vz.METHOD_SHARED_SECRET,vz.METHOD_RESTORE]}function bz(){return"undefined"!=typeof navigator&&/Mobi|Android|iPhone|iPad/i.test(navigator.userAgent)}const wz=Object.freeze(Object.defineProperty({__proto__:null,isMobile:bz},Symbol.toStringTag,{value:"Module"})),_z="marco:nostr_pubkey",xz="marco:nostr_signer_type",Cz="marco:nostr_connect_local_key",Sz="marco:nostr_connect_remote_pubkey",kz="marco:nostr_connect_relay",Ez="wss://relay.nsec.app";class Tz extends qf{static{dF(this.prototype,"nostrRelay",[$f])}#W=void fF(this,"nostrRelay");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"pubkey",[Is],function(){return null})}#H=void fF(this,"pubkey");static{dF(this.prototype,"signerType",[Is],function(){return null})}#G=void fF(this,"signerType");static{dF(this.prototype,"connectStatus",[Is],function(){return null})}#K=void fF(this,"connectStatus");static{dF(this.prototype,"connectUri",[Is],function(){return null})}#Z=void fF(this,"connectUri");_signerInstance=null;constructor(){super(...arguments),"undefined"!=typeof localStorage&&(localStorage.debug="applesauce:*");const t=localStorage.getItem(_z),e=localStorage.getItem(xz);t&&(this.pubkey=t,this.signerType=e||"extension",this._verifyPubkey())}async _verifyPubkey(){if("extension"===this.signerType){if(void 0===window.nostr)return void this.disconnect();try{const t=new kF,e=await t.getPublicKey();e!==this.pubkey&&(this.pubkey=e,localStorage.setItem(_z,this.pubkey)),this.nostrData.loadProfile(this.pubkey)}catch(ej){console.warn("Failed to verify extension nostr pubkey, logging out",ej),this.disconnect()}}else if("connect"===this.signerType)try{await this._initConnectSigner()}catch(ej){console.warn("Failed to verify connect nostr pubkey, logging out",ej),this.disconnect()}}get isMobile(){return bz()}get isConnected(){return!!this.pubkey&&("extension"!==this.signerType||void 0!==window.nostr)}get signer(){return this._signerInstance?this._signerInstance:"extension"===this.signerType&&void 0!==window.nostr?new kF:(this.signerType,null)}async connectWithExtension(){if(void 0===window.nostr)throw new Error("No NIP-07 Nostr extension found (e.g., Alby, nos2x).");try{return this._signerInstance=new kF,this.pubkey=await this._signerInstance.getPublicKey(),this.signerType="extension",localStorage.setItem(_z,this.pubkey),localStorage.setItem(xz,"extension"),this.nostrData.loadProfile(this.pubkey),this.pubkey}catch(v5){throw console.error("Failed to get public key from extension:",v5),v5}}_getLocalSigner(){let t,e=localStorage.getItem(Cz);return e?t=RF.fromKey(e):(t=new RF,e=Array.from(t.key).map(t=>t.toString(16).padStart(2,"0")).join(""),localStorage.setItem(Cz,e)),t}async connectWithApp(){this.connectStatus="waiting";try{const e=this._getLocalSigner(),n=Ez;localStorage.setItem(kz,n),this.nostrRelay.pool.relay(n).eoseTimeout=18e4,this._signerInstance=new LF({pool:this.nostrRelay.pool,relays:[n],signer:e,onAuth:async t=>{confirm(`Your signer app requests authentication via a web page. Open it now?\n\nURL: ${t}`)&&window.open(t,"_blank")}}),this.connectUri=this._signerInstance.getNostrConnectURI({name:"Marco",url:window.location.origin,description:"An unhosted maps application.",icons:[]}),this.isMobile&&(console.debug("Mobile detected, triggering deep link intent."),window.location.href=this.connectUri),console.debug("Opening signer connection to relay..."),await this._signerInstance.open(),console.debug("Signer connection opened successfully."),console.debug("Waiting for remote signer to ack via relay...");try{await this._signerInstance.waitForSigner(),console.debug("Remote signer ack received!")}catch(t){throw console.error("Error while waiting for remote signer ack:",t),t}return this.pubkey=await this._signerInstance.getPublicKey(),this.signerType="connect",this.connectStatus="connected",localStorage.setItem(_z,this.pubkey),localStorage.setItem(xz,"connect"),localStorage.setItem(Sz,this._signerInstance.remote),this.nostrData.loadProfile(this.pubkey),this.pubkey}catch(v5){throw this.connectStatus=null,console.error("Failed to connect via Nostr Connect:",v5),v5}}async _initConnectSigner(){const t=localStorage.getItem(Sz),e=localStorage.getItem(kz)||Ez;if(!t)throw new Error("Missing Nostr Connect remote pubkey.");const n=this._getLocalSigner();if(this.nostrRelay.pool.relay(e).eoseTimeout=18e4,this._signerInstance=new LF({pool:this.nostrRelay.pool,relays:[e],signer:n,remote:t,onAuth:async t=>{confirm(`Your signer app requests authentication via a web page. Open it now?\n\nURL: ${t}`)&&window.open(t,"_blank")}}),await this._signerInstance.open(),await this._signerInstance.getPublicKey()!==this.pubkey)throw new Error("Remote signer pubkey mismatch");this.nostrData.loadProfile(this.pubkey)}async signEvent(t){if(!this.signer)throw new Error("Not connected or extension missing. Please connect Nostr again.");return await this.signer.signEvent(t)}async disconnect(){this.pubkey=null,this.nostrData?.loadProfile(null),this.signerType=null,this.connectStatus=null,this.connectUri=null,this._signerInstance&&"function"==typeof this._signerInstance.close&&await this._signerInstance.close(),this._signerInstance=null,localStorage.removeItem(_z),localStorage.removeItem(xz),localStorage.removeItem(Cz),localStorage.removeItem(Sz),localStorage.removeItem(kz)}}const Rz=Object.freeze(Object.defineProperty({__proto__:null,default:Tz},Symbol.toStringTag,{value:"Module"})),Mz=(t,e)=>e.some(e=>t instanceof e);let Lz,Iz;const Pz=new WeakMap,Az=new WeakMap,Oz=new WeakMap;let Fz={get(t,e,n){if(t instanceof IDBTransaction){if("done"===e)return Pz.get(t);if("store"===e)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return Dz(t[e])},set:(t,e,n)=>(t[e]=n,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function zz(t){Fz=t(Fz)}function Dz(t){if(t instanceof IDBRequest)return function(t){const e=new Promise((e,n)=>{const r=()=>{t.removeEventListener("success",i),t.removeEventListener("error",s)},i=()=>{e(Dz(t.result)),r()},s=()=>{n(t.error),r()};t.addEventListener("success",i),t.addEventListener("error",s)});return Oz.set(e,t),e}(t);if(Az.has(t))return Az.get(t);const e=function(t){return"function"==typeof t?(e=t,(Iz||(Iz=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(Nz(this),t),Dz(this.request)}:function(...t){return Dz(e.apply(Nz(this),t))}):(t instanceof IDBTransaction&&function(t){if(Pz.has(t))return;const e=new Promise((e,n)=>{const r=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",s),t.removeEventListener("abort",s)},i=()=>{e(),r()},s=()=>{n(t.error||new DOMException("AbortError","AbortError")),r()};t.addEventListener("complete",i),t.addEventListener("error",s),t.addEventListener("abort",s)});Pz.set(t,e)}(t),Mz(t,Lz||(Lz=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,Fz):t);var e}(t);return e!==t&&(Az.set(t,e),Oz.set(e,t)),e}const Nz=t=>Oz.get(t),jz=["get","getKey","getAll","getAllKeys","count"],Bz=["put","add","delete","clear"],Uz=new Map;function $z(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(Uz.get(e))return Uz.get(e);const n=e.replace(/FromIndex$/,""),r=e!==n,i=Bz.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!i&&!jz.includes(n))return;const s=async function(t,...e){const s=this.transaction(t,i?"readwrite":"readonly");let o=s.store;return r&&(o=o.index(e.shift())),(await Promise.all([o[n](...e),i&&s.done]))[0]};return Uz.set(e,s),s}zz(t=>({...t,get:(e,n,r)=>$z(e,n)||t.get(e,n,r),has:(e,n)=>!!$z(e,n)||t.has(e,n)}));const qz=["continue","continuePrimaryKey","advance"],Vz={},Wz=new WeakMap,Hz=new WeakMap,Gz={get(t,e){if(!qz.includes(e))return t[e];let n=Vz[e];return n||(n=Vz[e]=function(...t){Wz.set(this,Hz.get(this)[e](...t))}),n}};async function*Kz(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const n=new Proxy(e,Gz);for(Hz.set(n,e),Oz.set(n,Nz(e));e;)yield n,e=await(Wz.get(n)||e.continue()),Wz.delete(n)}function Zz(t,e){return e===Symbol.asyncIterator&&Mz(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&Mz(t,[IDBIndex,IDBObjectStore])}function Yz(t){return 0===t||3===t||t>=1e4&&t<2e4}function Xz(t){return t>=3e4&&t<4e4}function Jz(t){return t>=2e4&&t<3e4}zz(t=>({...t,get:(e,n,r)=>Zz(e,n)?Kz:t.get(e,n,r),has:(e,n)=>Zz(e,n)||t.has(e,n)}));const Qz=Symbol.for("indexable-tags");function tD(t,e){if(t.ids&&-1===t.ids.indexOf(e.id))return!1;if(t.kinds&&-1===t.kinds.indexOf(e.kind))return!1;if(t.authors&&-1===t.authors.indexOf(e.pubkey))return!1;if(t.since&&e.created_at<t.since)return!1;if(t.until&&e.created_at>t.until)return!1;const n=function(t){let e=Reflect.get(t,Qz);if(!e){e=new Set;for(const n of t.tags)n.length>=2&&1===n[0].length&&e.add(n[0]+":"+n[1]);Reflect.set(t,Qz,e)}return e}(e);for(const r in t)if("&"===r[0]){const e=r.slice(1),i=t[r];if(i&&i.length>0)for(const t of i)if(!n.has(e+":"+t))return!1}for(const r in t)if("#"===r[0]){const e=r.slice(1),i=t[r];if(i){const r=t[`&${e}`],s=r?i.filter(t=>!r.includes(t)):i;if(0===s.length)continue;if(!s.some(t=>n.has(e+":"+t)))return!1}}return!0}function eD(t,e){for(let n=0;n<t.length;n++)if(tD(t[n],e))return!0;return!1}const nD="abcdefghijklmnopqrstuvwxyz",rD=(nD+nD.toUpperCase()).split(""),iD=Symbol.for("event-uid");function sD(t){return t.tags.filter(t=>t.length>=2&&1===t[0].length&&rD.includes(t[0])).map(t=>t[0]+t[1])}function oD(t){if(Reflect.has(t,iD))return Reflect.get(t,iD);let e;if(Yz(t.kind)||Xz(t.kind)){const n=t.tags.find(t=>"d"===t[0])?.[1];e=t.kind+":"+t.pubkey+":"+(n??"")}else e=t.id;return Reflect.set(t,iD,e),e}async function aD(t="nostr-idb",e){return await function(t,e,{blocked:n,upgrade:r,blocking:i,terminated:s}={}){const o=indexedDB.open(t,e),a=Dz(o);return r&&o.addEventListener("upgradeneeded",t=>{r(Dz(o.result),t.oldVersion,t.newVersion,Dz(o.transaction),t)}),n&&o.addEventListener("blocked",t=>n(t.oldVersion,t.newVersion,t)),a.then(t=>{s&&t.addEventListener("close",()=>s()),i&&t.addEventListener("versionchange",t=>i(t.oldVersion,t.newVersion,t))}).catch(()=>{}),a}(t,3,{...e,async upgrade(t,e,n,r,i){if(0===e){const e=t.createObjectStore("events");e.createIndex("id","event.id",{unique:!0}),e.createIndex("pubkey","event.pubkey"),e.createIndex("kind","event.kind"),e.createIndex("created_at","event.created_at"),e.createIndex("tags","tags",{multiEntry:!0}),t.createObjectStore("used",{keyPath:"uid"}).createIndex("date","date")}1===e&&(t.deleteObjectStore("events"),t.deleteObjectStore("used"),t.deleteObjectStore("seen")),e<=2&&await async function(t){const e=t.objectStore("events");let n=await e.openCursor();const r=[];for(;n;){const t=n.primaryKey,e=n.value,i=e.event;if(Yz(i.kind)||Xz(i.kind)){const n=oD(i);t!==n&&r.push({oldKey:t,newKey:n,value:e})}n=await n.continue()}for(const{oldKey:i,newKey:s,value:o}of r)await e.delete(i),await e.put(o,s)}(r)}})}function lD(t,e){return e.created_at-t.created_at}function cD(t,e=[],n){const r=[],i=new Set;if(n)for(const l of e){const t=n.getPubkeyIndex(l);if(t){for(const e of t)i.add(e);r.push(l)}}if(r.length===e.length)return Promise.resolve(i);const s=t.transaction("events","readonly"),o=s.objectStore("events").index("pubkey"),a=e.filter(t=>!r.includes(t)).map(t=>o.getAllKeys(t).then(e=>((t,e)=>{for(const n of e)i.add(n);n&&n.setPubkeyIndex(t,new Set(e))})(t,e)));return s.commit(),Promise.all(a).then(()=>i)}function uD(t,e,n,r){const i=[],s=new Set;if(r)for(const c of n){const t=r.getTagIndex(e+c);if(t){for(const e of t)s.add(e);i.push(c)}}if(i.length===n.length)return Promise.resolve(s);const o=t.transaction("events","readonly"),a=o.objectStore("events").index("tags"),l=n.map(t=>a.getAllKeys(e+t).then(n=>((t,n)=>{for(const e of n)s.add(e);r&&r.setTagIndex(e+t,new Set(n))})(t,n)));return o.commit(),Promise.all(l).then(()=>s)}function hD(t,e,n,r){if(0===n.length)return Promise.resolve(new Set);if(1===n.length)return uD(t,e,n,r);const i=[],s=[];if(r)for(const c of n){const t=r.getTagIndex(e+c);t&&(s.push(t),i.push(c))}if(i.length===n.length)return Promise.resolve(dD(s));const o=t.transaction("events","readonly"),a=o.objectStore("events").index("tags"),l=n.filter(t=>!i.includes(t)).map(t=>a.getAllKeys(e+t).then(n=>((t,n)=>{const i=new Set(n);s.push(i),r&&r.setTagIndex(e+t,i)})(t,n)));return o.commit(),Promise.all(l).then(()=>dD(s))}function dD(t){if(0===t.length)return new Set;const e=t.slice().sort((t,e)=>t.size-e.size);let n=e[0];for(let r=1;r<e.length;r++){const t=e[r],i=new Set;for(const e of n)t.has(e)&&i.add(e);if(n=i,0===n.size)return n}return n}function pD(t,e=[],n){const r=[],i=new Set;if(n)for(const l of e){const t=n.getKindIndex(l);if(t){for(const e of t)i.add(e);r.push(l)}}if(r.length===e.length)return Promise.resolve(i);const s=t.transaction("events","readonly"),o=s.objectStore("events").index("kind"),a=e.filter(t=>!r.includes(t)).map(t=>o.getAllKeys(t).then(e=>((t,e)=>{for(const n of e)i.add(n);n&&n.setKindIndex(t,new Set(e))})(t,e)));return s.commit(),Promise.all(a).then(()=>i)}async function fD(t,e,n){let r;if(void 0!==e&&void 0!==n)r=IDBKeyRange.bound(e,n);else if(void 0!==e)r=IDBKeyRange.lowerBound(e);else{if(void 0===n)throw new Error("Missing since or until");r=IDBKeyRange.upperBound(n)}return(await t.getAllKeysFromIndex("events","created_at",r)).reverse()}async function gD(t,e,n){if(e.search)return new Set;if(e.ids)return new Set(e.ids);let r=null;const i=t=>{const e=t instanceof Set?t:new Set(t);if(r)for(const n of r)e.has(n)||r.delete(n);else r=e;return r};let s=null;void 0!==e.since&&(s=await fD(t,e.since,e.until),i(s));for(const o of rD){const r=e[`&${o}`],s=e[`#${o}`];if(r?.length&&i(await hD(t,o,r,n)),s?.length){const e=r?.length?s.filter(t=>!r.includes(t)):s;e.length>0&&i(await uD(t,o,e,n))}}if(e.authors&&i(await cD(t,e.authors,n)),e.kinds&&i(await pD(t,e.kinds,n)),void 0===e.since&&void 0!==e.until&&(s=await fD(t,e.since,e.until),i(s)),e.limit&&s){const t=new Set;for(const n of s){if(t.size>=e.limit)break;r.has(n)&&t.add(n)}return t}if(null===r)throw new Error("Empty filter");return r}async function mD(t,e,n){if(0===e.length)throw new Error("No Filters");let r=new Set;for(const i of e){const e=await gD(t,i,n);for(const t of e)r.add(t)}return r}async function yD(t,e,n,r){const i=await mD(t,e,n);return await async function(t,e,n,r){const i=[];let s=[];if(r)for(const d of e){const t=r.get(d);t?i.push(t):s.push(d)}else s=e;const o=t.transaction("events","readonly"),a=o.objectStore("events"),l=t=>t&&i.push(t.event),c=Array.from(s).map(t=>a.get(t).then(l));o.commit();const u=await Promise.all(c).then(()=>i.sort(lD));let h=1/0;for(const d of n)d.limit&&d.limit<h&&(h=d.limit);return u.length>h&&(u.length=h),u}(t,Array.from(i),e,r)}async function vD(t,e,n){return(await mD(t,e,n)).size}const bD=Object.freeze(Object.defineProperty({__proto__:null,countEventsForFilters:vD,getEventsForFilters:yD,getIdsForFilter:gD,getIdsForFilters:mD,queryForKinds:pD,queryForPubkeys:cD,queryForTag:uD,queryForTagAnd:hD,queryForTime:fD},Symbol.toStringTag,{value:"Module"})),wD=KA("nostr-idb"),_D=wD.extend("prune");async function xD(t,e,n){const r=t.transaction("events","readwrite"),i=r.objectStore("events"),s=await i.get(e);if(!s)return await r.commit(),!1;if(await i.delete(e),await r.commit(),n){const t=s.event;n.removeEvent(t)}return!0}const CD=wD.extend("WriteQueue");class SD{db;queuedIds=new Set;eventQueue=[];lastUsedQueue=new Set;processEvents=null;constructor(t){this.db=t}addEvent(t){this.queuedIds.has(t.id)||(this.eventQueue.push(t),this.queuedIds.add(t.id),this.touch(t))}addEvents(t){const e=t.filter(t=>!this.queuedIds.has(t.id));0!==e.length&&(this.eventQueue.push(...e),this.touch(e))}touch(t){if(Array.isArray(t))for(const e of t)this.lastUsedQueue.add(oD(e));else this.lastUsedQueue.add(oD(t))}matchPending(t){return this.eventQueue.filter(e=>eD(t,e))}async flush(t=1e3){if(this.eventQueue.length>0){let e=[];for(let n=0;n<t;n++){const t=this.eventQueue.shift();if(!t)break;e.push(t),this.queuedIds.delete(t.id)}this.processEvents&&(e=await this.processEvents(e)||e),await async function(t,e){const n=(e=e.filter(t=>function(t){if("object"!=typeof t||null===t)return!1;if("number"!=typeof t.kind)return!1;if("string"!=typeof t.content)return!1;if("number"!=typeof t.created_at)return!1;if("string"!=typeof t.pubkey)return!1;if(!/^[a-f0-9]{64}$/.test(t.pubkey))return!1;if(!Array.isArray(t.tags))return!1;for(const e of t.tags){if(!Array.isArray(e))return!1;for(const t of e)if("string"!=typeof t)return!1}return!0}(t))).filter(t=>Yz(t.kind)||Xz(t.kind)),r={};if(n.length>0){const e=t.transaction("events","readonly"),i=n.map(t=>{const n=oD(t);return e.store.get(n).then(t=>t&&(r[n]=t.event.created_at))});e.commit(),await Promise.all(i)}const i=t.transaction("events","readwrite");for(const s of e){const t=oD(s);(!r[t]||s.created_at>r[t])&&i.objectStore("events").put({event:s,tags:sD(s)},t)}await i.commit()}(this.db,e),CD(`Wrote ${e.length} to database`),this.eventQueue.length>0&&CD(`${this.eventQueue.length} left`)}this.lastUsedQueue.size>0&&(await async function(t,e){const n=t.transaction("used","readwrite"),r=Math.floor((new Date).valueOf()/1e3);for(const i of e)n.objectStore("used").put({uid:i,date:r});await n.commit()}(this.db,this.lastUsedQueue),this.lastUsedQueue.clear())}clear(){this.eventQueue=[]}}const kD=wD.extend("cache:indexes");class ED extends Set{type;key;constructor(t,e,n){super(t),this.type=e,this.key=n}}class TD{kinds=new Map;pubkeys=new Map;tags=new Map;get count(){return this.kinds.size+this.pubkeys.size+this.tags.size}max=1e3;lastUsed=[];useIndex(t){const e=this.lastUsed.indexOf(t);-1!==e&&this.lastUsed.splice(e,e+1),this.lastUsed.push(t)}getKindIndex(t){const e=this.kinds.get(t);return e&&this.useIndex(e),e}setKindIndex(t,e){const n=new ED(e,"kind",t);this.kinds.set(t,n),this.useIndex(n),this.pruneIndexes()}getPubkeyIndex(t){const e=this.pubkeys.get(t);return e&&this.useIndex(e),e}setPubkeyIndex(t,e){const n=new ED(e,"pubkey",t);this.pubkeys.set(t,n),this.useIndex(n),this.pruneIndexes()}getTagIndex(t){const e=this.tags.get(t);return e&&this.useIndex(e),e}setTagIndex(t,e){const n=new ED(e,"tag",t);this.tags.set(t,n),this.useIndex(n),this.pruneIndexes()}addEventToIndexes(t){this.getKindIndex(t.kind)?.add(t.id),this.getPubkeyIndex(t.pubkey)?.add(t.id);const e=sD(t);for(const n of e)this.getTagIndex(n)?.add(t.id)}removeEvent(t){this.getKindIndex(t.kind)?.delete(t.id),this.getPubkeyIndex(t.pubkey)?.delete(t.id);const e=sD(t);for(const n of e)this.getTagIndex(n)?.delete(t.id)}clear(){this.kinds.clear(),this.pubkeys.clear(),this.tags.clear(),this.lastUsed=[]}pruneIndexes(){for(;this.lastUsed.length>0&&this.lastUsed.length>this.max;){const t=this.lastUsed.shift();if(!t)return;switch(kD(`Forgetting ${t.type}:${t.key}`),t.type){case"kind":this.kinds.delete(t.key);break;case"pubkey":this.pubkeys.delete(t.key);break;case"tag":this.tags.delete(t.key)}}}}const RD={},MD=function(t,e){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),i=t?.nonce||t?.getAttribute("nonce");r=e.map(t=>{if((t=function(t){return"/"+t}(t))in RD)return;RD[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const r=document.createElement("link");return r.rel=e?"stylesheet":"modulepreload",e||(r.as="script"),r.crossOrigin="",r.href=t,i&&r.setAttribute("nonce",i),document.head.appendChild(r),e?new Promise((e,n)=>{r.addEventListener("load",e),r.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),n=Promise.all(r.map(t=>Promise.resolve(t).then(t=>({status:"fulfilled",value:t}),t=>({status:"rejected",reason:t}))))}var r;function i(t){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=t,window.dispatchEvent(e),!e.defaultPrevented)throw t}return n.then(e=>{for(const t of e||[])"rejected"===t.status&&i(t.reason);return t().catch(i)})},LD={batchWrite:1e3,writeInterval:100,cacheIndexes:1e3,pruneInterval:6e4,maxEvents:1e4},ID=wD.extend("nostridb");class PD{options;running=!1;writeInterval;pruneInterval;eventMap=new Map;writeQueue=null;indexCache;db=null;baseEoseTimeout=4400;subscriptions=new Map;constructor(t,e={}){this.options={...LD,...e},t&&(this.db=t,this.writeQueue=new SD(t)),this.indexCache=new TD,this.indexCache.max=this.options.cacheIndexes,this.start()}async getDb(){return this.db||(this.db=await aD()),this.db}async getWriteQueue(){if(this.writeQueue)return this.writeQueue;const t=await this.getDb();return this.writeQueue=new SD(t),this.writeQueue}async flush(){const t=await this.getWriteQueue();await t.flush(),this.writeInterval=setTimeout(this.flush.bind(this),this.options.writeInterval)}async start(){if(this.running)return;ID("Starting"),this.running=!0;const t=await this.getDb();await this.flush(),this.pruneInterval=setInterval(()=>{!async function(t,e){const n=await function(t){return t.transaction("events","readonly").store.count()}(t);if(n<=e)return;const r=n-e;if(r<=0)return;_D(`Pruning database to ${e}`);const i=(await t.getAll("used")).sort((t,e)=>t.date-e.date),s=[];let o=r;for(const u of i){if(o<=0)break;const t=u.uid;s.push(t),o--}if(0===s.length)return;const a=t.transaction("events","readwrite"),l=t.transaction("used","readwrite"),c=[];for(const u of s)c.push(a.store.delete(u)),c.push(l.store.delete(u));a.commit(),l.commit(),await Promise.all(c),_D(`Removed ${s.length} old events`)}(t,this.options.maxEvents)},this.options.pruneInterval)}async stop(){this.running&&(this.writeInterval&&(clearTimeout(this.writeInterval),this.writeInterval=void 0),this.pruneInterval&&(clearInterval(this.pruneInterval),this.pruneInterval=void 0),this.running=!1,ID("Stopped"))}async add(t){Jz(t.kind)||((await this.getWriteQueue()).addEvent(t),this.indexCache.addEventToIndexes(t));const e=oD(t);if(!this.eventMap.has(e)){Jz(t.kind)||this.eventMap.set(e,t);for(const[e,n]of this.subscriptions)n.event&&eD(n.filters,t)&&n.event(t)}return!0}async event(t){const e=await this.getDb(),n=await e.get("events",t);return n?.event}async replaceable(t,e,n){return this.event([t,e,n??""].join(":"))}async count(t){const e=Array.isArray(t)?t:[t],n=await this.getDb();return await vD(n,e)}async query(t){const e=Array.isArray(t)?t:[t],n=await this.getDb(),r=(await this.getWriteQueue()).matchPending(e),i=await yD(n,e,this.indexCache,this.eventMap);this.addToEventMaps(i);const s=new Set(r.map(t=>t.id));return r.length>0?[...i.filter(t=>!s.has(t.id)),...r].sort(lD):i}async*subscribe(t){const e=Array.isArray(t)?t:[t],n=[],r=new Set;let i=null,s=!1;const o=this.subscribeInternal(e,{event:t=>{if(!r.has(t.id)&&(r.add(t.id),n.push(t),i)){const t=i;i=null,t()}},complete:()=>{if(s=!0,i){const t=i;i=null,t()}}});try{for(;;){for(;n.length>0;)yield n.shift();if(s)break;await new Promise(t=>{i=t})}}finally{o.close()}}async supports(){return[]}async deleteEvent(t){const e=await this.getDb(),n=await xD(e,t,this.indexCache);return this.eventMap.delete(t),n}async deleteReplaceable(t,e,n){const r=await this.getDb(),i=await async function(t,e,n,r,i){if(!Yz(n)&&!Xz(n))throw new Error(`Kind ${n} is not replaceable`);const s=`${n}:${e}:${r??""}`;return await xD(t,s,i)}(r,t,e,n,this.indexCache);if(i){const r=`${e}:${t}:${n??""}`;this.eventMap.delete(r)}return i}async deleteByFilters(t){const e=Array.isArray(t)?t:[t],n=await this.getDb(),r=await this.getEventIdsForFilters(e),i=await async function(t,e,n){const r=await mD(t,e,n);return await async function(t,e,n){if(0===e.length)return 0;const r=t.transaction("events","readwrite"),i=r.objectStore("events");let s=0;const o=[];for(const a of e){const t=await i.get(a);t&&(o.push(t.event),await i.delete(a),s++)}if(await r.commit(),n&&o.length>0)for(const a of o)n.removeEvent(a);return s}(t,Array.from(r),n)}(n,e,this.indexCache);if(i>0)for(const s of r)this.eventMap.delete(s);return i}async deleteAllEvents(){const t=await this.getDb();await async function(t,e){const n=t.transaction("events","readwrite");await n.objectStore("events").clear(),await n.commit(),e&&e.clear()}(t,this.indexCache),this.eventMap.clear()}async getEventIdsForFilters(t){const e=await this.getDb(),{getIdsForFilters:n}=await MD(async()=>{const{getIdsForFilters:t}=await Promise.resolve().then(()=>bD);return{getIdsForFilters:t}},void 0),r=await n(e,t,this.indexCache);return Array.from(r)}addToEventMaps(t){for(const e of t)this.eventMap.set(oD(e),e)}subscribeInternal(t,e){const n=((t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((t,e)=>t+((e&=63)<36?e.toString(36):e<62?(e-26).toString(36).toUpperCase():e>62?"-":"_"),""))(),r={id:n,filters:t,closed:!1,close:()=>this.unsubscribe(n),...e};return this.subscriptions.set(n,r),this.executeSubscription(r),r}async executeSubscription(t){const e=(new Date).valueOf();ID(`Running ${t.id}`,t.filters);const n=(await this.getWriteQueue()).matchPending(t.filters);return new Promise(async r=>{const i=await this.getDb(),s=setTimeout(()=>{t.eose&&!t.closed&&t.eose(),r()},this.baseEoseTimeout);yD(i,t.filters,this.indexCache,this.eventMap).then(i=>{if(clearTimeout(s),this.addToEventMaps(i),t.event&&!t.closed){const r=new Set(n.map(t=>t.id)),s=n.length>0?[...i.filter(t=>!r.has(t.id)),...n].sort(lD):i;for(const e of s)try{t.event(e)}catch(v5){ID("event handler failed with error",v5)}const o=(new Date).valueOf()-e;ID(`Finished ${t.id} took ${o}ms and got ${s.length} events`)}t.eose&&!t.closed&&t.eose(),r()})})}unsubscribe(t){const e=this.subscriptions.get(t);e&&(ID(`Closing ${t}`),e.closed=!0,e.complete?.(),this.subscriptions.delete(t))}}function AD(t){if(!t)return"";let e=t.trim().toLowerCase();if(!e)return"";for(e.startsWith("ws://")||e.startsWith("wss://")||(e="wss://"+e);e.endsWith("/");)e=e.slice(0,-1);return e}function OD(t){if(!t||0===t.length)return[];const e=[...t].sort((t,e)=>t.created_at-e.created_at),n=[];for(const i of e){const t=i.tags.filter(t=>"imeta"===t[0]);for(const e of t){let t=null,r=null,s=null,o=!1,a=16/9;for(const n of e.slice(1))if(n.startsWith("url "))t=n.substring(4);else if(n.startsWith("thumb "))r=n.substring(6);else if(n.startsWith("blurhash "))s=n.substring(9);else if(n.startsWith("dim ")){const t=n.substring(4),[e,r]=t.split("x").map(Number);e&&r&&(a=e/r,e>r&&(o=!0))}t&&n.push({eventId:i.id,pubkey:i.pubkey,createdAt:i.created_at,url:t,thumbUrl:r,blurhash:s,isLandscape:o,aspectRatio:a})}}if(0===n.length)return[];const r=n.findIndex(t=>t.isLandscape);if(r>0){const[t]=n.splice(r,1);n.unshift(t)}return n}const FD=Object.freeze(Object.defineProperty({__proto__:null,normalizeRelayUrl:AD,parsePlacePhotos:OD},Symbol.toStringTag,{value:"Module"})),zD="0123456789bcdefghjkmnpqrstuvwxyz";class DD{static encode(t,e,n){if(void 0===n){for(let n=1;n<=12;n++){const r=DD.encode(t,e,n),i=DD.decode(r);if(i.lat==t&&i.lon==e)return r}n=12}if(t=Number(t),e=Number(e),n=Number(n),isNaN(t)||isNaN(e)||isNaN(n))throw new Error("Invalid geohash");let r=0,i=0,s=!0,o="",a=-90,l=90,c=-180,u=180;for(;o.length<n;){if(s){const t=(c+u)/2;e>=t?(r=2*r+1,c=t):(r*=2,u=t)}else{const e=(a+l)/2;t>=e?(r=2*r+1,a=e):(r*=2,l=e)}s=!s,5==++i&&(o+=zD.charAt(r),i=0,r=0)}return o}static decode(t){const e=DD.bounds(t),n=e.sw.lat,r=e.sw.lon,i=e.ne.lat,s=e.ne.lon;let o=(n+i)/2,a=(r+s)/2;return o=o.toFixed(Math.floor(2-Math.log(i-n)/Math.LN10)),a=a.toFixed(Math.floor(2-Math.log(s-r)/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,r=90,i=-180,s=180;for(let o=0;o<t.length;o++){const a=t.charAt(o),l=zD.indexOf(a);if(-1==l)throw new Error("Invalid geohash");for(let t=4;t>=0;t--){const o=l>>t&1;if(e){const t=(i+s)/2;1==o?i=t:s=t}else{const t=(n+r)/2;1==o?n=t:r=t}e=!e}}return{sw:{lat:n,lon:i},ne:{lat:r,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 r=t.slice(0,-1);const i=t.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[e][i].indexOf(n)&&""!=r&&(r=DD.adjacent(r,e)),r+zD.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][i].indexOf(n))}static neighbours(t){return{n:DD.adjacent(t,"n"),ne:DD.adjacent(DD.adjacent(t,"n"),"e"),e:DD.adjacent(t,"e"),se:DD.adjacent(DD.adjacent(t,"s"),"e"),s:DD.adjacent(t,"s"),sw:DD.adjacent(DD.adjacent(t,"s"),"w"),w:DD.adjacent(t,"w"),nw:DD.adjacent(DD.adjacent(t,"n"),"w")}}}function ND(t){const{minLat:e,minLon:n,maxLat:r,maxLon:i}=t,s=new Set;if(Math.abs(r-e)>20||Math.abs(i-n)>20)return console.warn("BBox too large for 4-char geohash scanning, aborting fine scan."),[];for(let o=e;o<=r+.1;o+=.1)for(let t=n;t<=i+.1;t+=.1){const e=Math.min(o,r),n=Math.min(t,i);try{const t=DD.encode(e,n,4);s.add(t)}catch(ej){}}try{s.add(DD.encode(e,n,4))}catch(ej){}try{s.add(DD.encode(r,i,4))}catch(ej){}try{s.add(DD.encode(e,i,4))}catch(ej){}try{s.add(DD.encode(r,n,4))}catch(ej){}return Array.from(s)}const jD=Object.freeze(Object.defineProperty({__proto__:null,getGeohashPrefixesInBbox:ND},Symbol.toStringTag,{value:"Module"})),BD=["wss://purplepag.es","wss://relay.damus.io","wss://nos.lol"],UD=["wss://nostr.kosmos.org"],$D=[];class qD extends qf{static{dF(this.prototype,"nostrRelay",[$f])}#W=void fF(this,"nostrRelay");static{dF(this.prototype,"nostrAuth",[$f])}#M=void fF(this,"nostrAuth");static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");store=new VO;static{dF(this.prototype,"profile",[Is],function(){return null})}#Y=void fF(this,"profile");static{dF(this.prototype,"mailboxes",[Is],function(){return null})}#X=void fF(this,"mailboxes");static{dF(this.prototype,"blossomServers",[Is],function(){return[]})}#J=void fF(this,"blossomServers");static{dF(this.prototype,"placePhotos",[Is],function(){return[]})}#Q=void fF(this,"placePhotos");_profileSub=null;_mailboxesSub=null;_blossomSub=null;_photosSub=null;_requestSub=null;_cachePromise=null;loadedGeohashPrefixes=new Set;constructor(){super(...arguments),this._cachePromise=aD("applesauce-events").then(async t=>{this.cache=new PD(t,{cacheIndexes:1e3,maxEvents:1e4}),await this.cache.start(),this._stopPersisting=function(t,e,n){const r=n?.batchTime??5e3,i=t.insert$.pipe(mA(t=>{return e=t,!(!0===Reflect.get(e,NL));var e}),n?.maxBatchSize?yA(r,void 0,n?.maxBatchSize??100):yA(r),mA(t=>t.length>0)).subscribe(t=>{e(t).then(()=>YA(`Saved ${t.length} events to cache`)).catch(e=>YA(`Failed to save ${t.length} events to cache`,e))});return()=>i.unsubscribe()}(this.store,async t=>{const e=t.filter(t=>0===t.kind||10002===t.kind||10063===t.kind||360===t.kind);e.length>0&&await Promise.all(e.map(t=>this.cache.add(t)))},{batchTime:1e3,maxBatchSize:100})}),this.nostrRelay.pool.relays$.subscribe(()=>{})}get defaultReadRelays(){const t=(this.mailboxes?.inboxes||[]).map(AD).filter(Boolean),e=UD.map(AD).filter(Boolean);return Array.from(new Set([...e,...t]))}get defaultWriteRelays(){const t=(this.mailboxes?.outboxes||[]).map(AD).filter(Boolean),e=$D.map(AD).filter(Boolean);return Array.from(new Set([...e,...t]))}get activeReadRelays(){return this.settings.nostrReadRelays?Array.from(new Set(this.settings.nostrReadRelays.map(AD).filter(Boolean))):this.defaultReadRelays}get activeWriteRelays(){return this.settings.nostrWriteRelays?Array.from(new Set(this.settings.nostrWriteRelays.map(AD).filter(Boolean))):this.defaultWriteRelays}async loadPlacesInBounds(t){const e=ND(t).filter(t=>!this.loadedGeohashPrefixes.has(t));if(0!==e.length){console.debug("[nostr-data] Loading place photos for prefixes:",e);try{await this._cachePromise;const t=await this.cache.query([{kinds:[360],"#g":e}]);if(t&&t.length>0)for(const e of t)this.store.add(e)}catch(ej){console.warn("[nostr-data] Failed to read photos from local Nostr IDB cache",ej)}this.nostrRelay.pool.request(this.activeReadRelays,[{kinds:[360],"#g":e}]).subscribe({next:t=>{this.store.add(t)},error:t=>{console.error("[nostr-data] Error fetching place photos by geohash:",t)}});for(const t of e)this.loadedGeohashPrefixes.add(t)}}async loadPhotosForPlace(t){if(this._photosSub&&(this._photosSub.unsubscribe(),this._photosSub=null),this.placePhotos=[],!t||!t.osmId||!t.osmType)return;const e=`osm:${t.osmType}:${t.osmId}`;this._photosSub=this.store.timeline([{kinds:[360],"#i":[e]}]).subscribe(t=>{this.placePhotos=t});try{await this._cachePromise;const t=await this.cache.query([{kinds:[360],"#i":[e]}]);if(t&&t.length>0)for(const e of t)this.store.add(e)}catch(ej){console.warn("[nostr-data] Failed to read photos for place from local Nostr IDB cache",ej)}this.nostrRelay.pool.request(this.activeReadRelays,[{kinds:[360],"#i":[e]}]).subscribe({next:t=>{this.store.add(t)},error:t=>{console.error("[nostr-data] Error fetching place photos for place:",t)}})}async loadProfile(t){if(!t)return;this.profile=null,this.mailboxes=null,this.blossomServers=[],this._cleanupSubscriptions(),this._profileSub=this.store.model(UO,t).subscribe(t=>{this.profile=t}),this._mailboxesSub=this.store.model(BO,t).subscribe(t=>{this.mailboxes=t}),this._blossomSub=this.store.replaceable(10063,t).subscribe(t=>{t&&t.tags?this.blossomServers=t.tags.filter(t=>"server"===t[0]&&t[1]).map(t=>t[1]):this.blossomServers=[]});try{await this._cachePromise;const e=await this.cache.query([{authors:[t],kinds:[0,10002,10063]}]);if(e&&e.length>0)for(const t of e)this.store.add(t)}catch(ej){console.warn("Failed to read from local Nostr IDB cache",ej)}const e=Array.from(new Set([...BD,...this.activeWriteRelays]));this._requestSub=this.nostrRelay.pool.request(e,[{authors:[t],kinds:[0,10002,10063]}]).subscribe({next:t=>{this.store.add(t)},error:t=>{console.error("Error fetching profile events:",t)}})}get userDisplayName(){if(this.profile){if(this.profile.nip05)return this.profile.nip05;if(this.profile.displayName||this.profile.display_name)return this.profile.displayName||this.profile.display_name;if(this.profile.name)return this.profile.name}if(this.nostrAuth.pubkey)try{const t=function(t,e){return function(t,e){let n=lk.toWords(e);return lk.encode("npub",n,5e3)}(0,e)}(0,bS(this.nostrAuth.pubkey));return`${t.slice(0,9)}...${t.slice(-4)}`}catch{return this.nostrAuth.pubkey}return"Not connected"}async clearCache(){await this._cachePromise,this.cache&&await this.cache.deleteAllEvents()}_cleanupSubscriptions(){this._requestSub&&(this._requestSub.unsubscribe(),this._requestSub=null),this._profileSub&&(this._profileSub.unsubscribe(),this._profileSub=null),this._mailboxesSub&&(this._mailboxesSub.unsubscribe(),this._mailboxesSub=null),this._blossomSub&&(this._blossomSub.unsubscribe(),this._blossomSub=null),this._photosSub&&(this._photosSub.unsubscribe(),this._photosSub=null)}willDestroy(){super.willDestroy(...arguments),this._cleanupSubscriptions(),this._stopPersisting&&this._stopPersisting(),this.cache&&this.cache.stop()}}const VD=Object.freeze(Object.defineProperty({__proto__:null,default:qD},Symbol.toStringTag,{value:"Module"}));function WD(t){return NA(t=>"EOSE"!==t,t)}function HD(t){return vA(e=>WP({ok:!1,from:t.url,message:e?.message||"Unknown error"}))}class GD{relays$=new mP([]);status$;get relays(){if(this.relays$ instanceof mP)return this.relays$.value;throw new Error("This group was created with an observable, relays are not available")}constructor(t){this.relays$=Array.isArray(t)?new mP(t):t,this.status$=this.relays$.pipe(zA(t=>0===t.length?WP({}):fA(...t.map(t=>t.status$)).pipe(IA((t,e)=>({...t,[e.url]:e}),{}),FA({}))),OA(1))}get controlled(){return this.relays$ instanceof mP==0}has(t){if(this.controlled)throw new Error("This group was created with an observable, relays are not available");return"string"==typeof t?this.relays.some(e=>e.url===t):this.relays.includes(t)}add(t){this.has(t)||this.relays$.next([...this.relays,t])}remove(t){this.has(t)&&this.relays$.next(this.relays.filter(e=>e!==t))}internalSubscription(t,e=aP){const n=new WeakMap,r=this.relays$.pipe(function(t){return uP((e,n)=>{let r=null,i=!1;const s=()=>{i&&!r&&n.complete()};e.subscribe(hP(n,e=>{const i=r,o=r=hP(n,t=>n.next(t),()=>{r!==o&&null!==r||(r=null,s())});VP(t(e)).subscribe(r),i?.unsubscribe()},()=>{i=!0,s()}))})}(e=>{const r=[];for(const i of e){if(n.has(i)){r.push(n.get(i));continue}const e=t(i).pipe(vA(()=>WP("EOSE")),eA(t=>[i,t]));r.push(e),n.set(i,e)}return fA(...r)}),PA()),i=r.pipe(eA(([t,e])=>e),t=>t.pipe(mA(t=>"EOSE"!==t)),e),s=this.relays$.pipe(zA(t=>r.pipe(mA(([t,e])=>"EOSE"===e),IA((t,[e])=>[...t,e],[]),NA(e=>t.some(t=>!e.includes(t))),xA(),kA("EOSE"))));return fA(i,s).pipe(PA())}internalPublish(t){const e=new WeakMap;return this.relays$.pipe(_A(1),zA(n=>{const r=[];for(const i of n){if(e.has(i)){r.push(e.get(i));continue}const n=t(i).pipe(HD(i));r.push(n),e.set(i,n)}return fA(...r)}))}req(t,e=Rx(),n){return this.internalSubscription(n=>n.req(t,e),n?.eventStore?HO(n?.eventStore):aP)}event(t){return this.internalPublish(e=>e.event(t)).pipe(PA())}async negentropy(t,e,n,r){const i=(await Promise.all(this.relays.map(async t=>[t,await t.getSupported()]))).filter(([t,e])=>e?.includes(77)).map(([t])=>t);if(0===i.length)throw new Error("No relays support NIP-77 negentropy sync");if(!r?.parallel)throw new Error("Negentropy sync must be parallel (for now)");return await Promise.allSettled(i.map(i=>i.negentropy(t,e,n,r))),!0}publish(t,e){return ZP(this.internalPublish(n=>VP(n.publish(t,e))).pipe(uP(function(t,e){(function(t,e){return uP(bA(t,e,arguments.length>=2,!1,!0))})(wA,[])(t).subscribe(e)}),(n=[],uP(function(t,e){var r=!1;t.subscribe(hP(e,function(t){r=!0,e.next(t)},function(){r||e.next(n),e.complete()}))}))));var n}request(t,e){return this.internalSubscription(n=>n.request(t,e).pipe(kA("EOSE")),null==e?.eventStore?aP:HO(e?.eventStore??new TO)).pipe(WD())}subscription(t,e){return this.internalSubscription(n=>n.subscription(t,e),null==e?.eventStore?aP:HO(e?.eventStore??new TO))}count(t,e=Rx()){return this.relays$.pipe(zA(n=>aA(Object.fromEntries(n.map(n=>[n.url,n.count(t,e)])))),PA())}sync(t,e,n){return dA(async()=>{const t=(await Promise.all(this.relays.map(async t=>[t,await t.getSupported()]))).filter(([t,e])=>e?.includes(77)).map(([t])=>t);if(0===t.length)throw new Error("No relays support NIP-77 negentropy sync");return t}).pipe(zA(r=>fA(...r.map(r=>r.sync(t,e,n)))),PA())}}var KD={url:"",deserializer:function(t){return JSON.parse(t.data)},serializer:function(t){return JSON.stringify(t)}},ZD=function(t){function e(e,n){var r=t.call(this)||this;if(r._socket=null,e instanceof lP)r.destination=n,r.source=e;else{var i=r._config=NI({},KD);if(r._output=new fP,"string"==typeof e)i.url=e;else for(var s in e)e.hasOwnProperty(s)&&(i[s]=e[s]);if(!i.WebSocketCtor&&WebSocket)i.WebSocketCtor=WebSocket;else if(!i.WebSocketCtor)throw new Error("no WebSocket constructor can be found");r.destination=new vP}return r}return DI(e,t),e.prototype.lift=function(t){var n=new e(this._config,this.destination);return n.operator=t,n.source=this,n},e.prototype._resetState=function(){this._socket=null,this.source||(this.destination=new vP),this._output=new fP},e.prototype.multiplex=function(t,e,n){var r=this;return new lP(function(i){try{r.next(t())}catch(o){i.error(o)}var s=r.subscribe({next:function(t){try{n(t)&&i.next(t)}catch(o){i.error(o)}},error:function(t){return i.error(t)},complete:function(){return i.complete()}});return function(){try{r.next(e())}catch(o){i.error(o)}s.unsubscribe()}})},e.prototype._connectSocket=function(){var t=this,e=this._config,n=e.WebSocketCtor,r=e.protocol,i=e.url,s=e.binaryType,o=this._output,a=null;try{a=r?new n(i,r):new n(i),this._socket=a,s&&(this._socket.binaryType=s)}catch(ej){return void o.error(ej)}var l=new KI(function(){t._socket=null,a&&1===a.readyState&&a.close()});a.onopen=function(e){if(!t._socket)return a.close(),void t._resetState();var n=t._config.openObserver;n&&n.next(e);var r=t.destination;t.destination=eP.create(function(e){if(1===a.readyState)try{var n=t._config.serializer;a.send(n(e))}catch(ej){t.destination.error(ej)}},function(e){var n=t._config.closingObserver;n&&n.next(void 0),e&&e.code?a.close(e.code,e.reason):o.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),t._resetState()},function(){var e=t._config.closingObserver;e&&e.next(void 0),a.close(),t._resetState()}),r&&r instanceof vP&&l.add(r.subscribe(t.destination))},a.onerror=function(e){t._resetState(),o.error(e)},a.onclose=function(e){a===t._socket&&t._resetState();var n=t._config.closeObserver;n&&n.next(e),e.wasClean?o.complete():o.error(e)},a.onmessage=function(e){try{var n=t._config.deserializer;o.next(n(e))}catch(r){o.error(r)}}},e.prototype._subscribe=function(t){var e=this,n=this.source;return n?n.subscribe(t):(this._socket||this._connectSocket(),this._output.subscribe(t),t.add(function(){var t=e._socket;0===e._output.observers.length&&(!t||1!==t.readyState&&0!==t.readyState||t.close(),e._resetState())}),t)},e.prototype.unsubscribe=function(){var e=this._socket;!e||1!==e.readyState&&0!==e.readyState||e.close(),this._resetState(),t.prototype.unsubscribe.call(this)},e}(gP);const YD="auth-required:",XD={count:3,delay:1e3,resetOnSuccess:!0};var JD;!function(t){t[t.RECEIVE=1]="RECEIVE",t[t.SEND=2]="SEND",t[t.BOTH=3]="BOTH"}(JD||(JD={}));class QD extends Error{}const tN={ids:["aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"],limit:0};class eN{url;log=ZA.extend("Relay");socket;_ready$=new mP(!0);ready$=this._ready$.asObservable();reconnectTimer;attempts$=new mP(0);connected$=new mP(!1);challenge$=new mP(null);authenticated$;authenticatedAs$;authentication$=new mP(null);authenticationResponse$=new mP(null);notices$=new mP([]);error$=new mP(null);message$;notice$;lastMessageReceivedAt=0;_lastMessageAt$=new mP(0);lastMessageAt$=this._lastMessageAt$.asObservable();status$;information$;_nip11=null;icon$;limitations$;supported$;open$=new fP;close$=new fP;closing$=new fP;reqs$=new mP({});get ready(){return this._ready$.value}get connected(){return this.connected$.value}get challenge(){return this.challenge$.value}get notices(){return this.notices$.value}get authenticated(){return!0===this.authenticationResponse?.ok}get authentication(){return this.authentication$.value}get authenticatedAs(){return this.authenticated?this.authentication?.pubkey??null:null}get authenticationResponse(){return this.authenticationResponse$.value}get information(){return this._nip11}get lastMessageAt(){return this._lastMessageAt$.value}get reqs(){return this.reqs$.value}eoseTimeout=1e4;eventTimeout=1e4;publishTimeout=3e4;keepAlive=3e4;enablePing=!1;pingFrequency=29e3;pingTimeout=2e4;subscriptionReconnect;requestReconnect;publishRetry;onUnresponsive;receivedAuthRequiredForReq=new mP(!1);receivedAuthRequiredForEvent=new mP(!1);authRequiredForRead$;authRequiredForPublish$;resetState(){null!==this.challenge$.value&&this.challenge$.next(null),this.authenticationResponse$.value&&this.authenticationResponse$.next(null),null!==this.authentication$.value&&this.authentication$.next(null),this.notices$.value.length>0&&this.notices$.next([]),this.receivedAuthRequiredForReq.value&&this.receivedAuthRequiredForReq.next(!1),this.receivedAuthRequiredForEvent.value&&this.receivedAuthRequiredForEvent.next(!1)}watchTower;constructor(t,e){var n;this.url=t,this.log=this.log.extend(t),void 0!==e?.eoseTimeout&&(this.eoseTimeout=e.eoseTimeout),void 0!==e?.eventTimeout&&(this.eventTimeout=e.eventTimeout),void 0!==e?.publishTimeout&&(this.publishTimeout=e.publishTimeout),void 0!==e?.keepAlive&&(this.keepAlive=e.keepAlive),void 0!==e?.enablePing&&(this.enablePing=e.enablePing),void 0!==e?.pingFrequency&&(this.pingFrequency=e.pingFrequency),void 0!==e?.pingTimeout&&(this.pingTimeout=e.pingTimeout),void 0!==e?.onUnresponsive&&(this.onUnresponsive=e.onUnresponsive),this.subscriptionReconnect={...XD,...e?.subscriptionRetry??{}},this.requestReconnect={...XD,...e?.requestRetry??{}},this.publishRetry={...XD,...e?.publishRetry??{}},this.authenticated$=this.authenticationResponse$.pipe(eA(t=>!0===t?.ok)),this.authenticatedAs$=aA([this.authenticated$,this.authentication$]).pipe(eA(([t,e])=>t&&e?e.pubkey:null)),this.reconnectTimer=eN.createReconnectTimer(t),this.open$.subscribe(()=>{this.log("Connected"),this.connected$.next(!0),this.attempts$.next(0),this.error$.next(null),this.resetState()}),this.close$.subscribe(t=>{this.connected$.value?this.log("Disconnected"):this.log("Failed to connect"),this.connected$.value&&this.connected$.next(!1),this.attempts$.next(this.attempts$.value+1),this.resetState(),t.wasClean||this.startReconnectTimer(t)}),this.socket=(n={url:t,openObserver:this.open$,closeObserver:this.close$,closingObserver:this.closing$,WebSocketCtor:e?.WebSocket},new ZD(n)),this.information$=dA(()=>(this.log("Fetching NIP-11 information document"),eN.fetchInformationDocument(this.url))).pipe(vA(()=>WP(null)),jA(t=>this._nip11=t),OA(1)),this.limitations$=this.information$.pipe(eA(t=>t?t.limitation:null)),this.supported$=this.information$.pipe(eA(t=>t&&Array.isArray(t.supported_nips)?t.supported_nips.filter(t=>"number"==typeof t):null)),this.icon$=this.information$.pipe(eA(t=>t?.icon||new URL("/favicon.ico",uI(this.url)).toString())),this.authRequiredForRead$=this.receivedAuthRequiredForReq,this.authRequiredForPublish$=this.receivedAuthRequiredForEvent,this.authRequiredForRead$.pipe(mA(t=>!0===t),_A(1)).subscribe(()=>this.log("Auth required for REQ")),this.authRequiredForPublish$.pipe(mA(t=>!0===t),_A(1)).subscribe(()=>this.log("Auth required for EVENT")),this.status$=aA({url:WP(this.url),connected:this.connected$,authenticated:this.authenticated$,authenticatedAs:this.authenticatedAs$,ready:this._ready$,authRequiredForRead:this.authRequiredForRead$,authRequiredForPublish:this.authRequiredForPublish$,challenge:this.challenge$.asObservable()}).pipe(OA(1));const r=this.socket.pipe(mA(t=>Array.isArray(t)&&"NOTICE"===t[0]),eA(t=>t[1]),IA((t,e)=>[...t,e],[]),jA(t=>this.notices$.next(t))),i=this.socket.pipe(mA(t=>"AUTH"===t[0]),eA(t=>t[1]),jA(t=>{this.log("Received AUTH challenge",t),this.challenge$.next(t)})),s=new fP,o=this.socket.pipe(jA(t=>{const e=Date.now();this.lastMessageReceivedAt=e,this._lastMessageAt$.next(e),s.next(t)}));this.message$=s.asObservable(),this.notice$=this.message$.pipe(mA(t=>Array.isArray(t)&&"NOTICE"===t[0]),eA(t=>t[1]));const a=this.connected$.pipe(zA(t=>t&&this.enablePing?pA(this.pingFrequency,this.pingFrequency).pipe(cA(()=>{if(Date.now()-this.lastMessageReceivedAt<this.pingFrequency)return gA;const t="ping:"+Rx();return this.send(["REQ",t,tN]),this.message$.pipe(mA(e=>Array.isArray(e)&&("EOSE"===e[0]||"CLOSED"===e[0])&&e[1]===t),_A(1),QP({first:this.pingTimeout,with:()=>{const t=Date.now(),e=this.onUnresponsive?.({url:this.url,lastMessageAt:this.lastMessageReceivedAt,now:t,attempts:this.attempts$.value})??"reconnect",n=new Error(`Relay ping timeout after ${this.pingTimeout}ms`);return"reconnect"===e?(this.log("Relay connection has become unresponsive, triggering reconnect"),this.startReconnectTimer(n)):"close"===e?(this.log("Relay connection has become unresponsive, closing connection"),this.error$.next(n),this.socket.complete()):this.log("Relay connection has become unresponsive (ignoring per policy)"),gA}}),EA(()=>this.send(["CLOSE",t])))})):gA),vA(()=>gA));this.watchTower=this.ready$.pipe(zA(t=>t?fA(o,r,i,this.information$,a).pipe(xA(),vA(t=>(this.startReconnectTimer(t instanceof Error?t:new Error("Connection error")),gA)),PA({resetOnRefCountZero:()=>pA(this.keepAlive)})):gA),PA())}startReconnectTimer(t){this.ready&&(this.error$.next(t instanceof Error?t:new Error("Connection error")),this._ready$.next(!1),this.reconnectTimer(t,this.attempts$.value).pipe(_A(1)).subscribe(()=>{this._ready$.next(!0)}))}waitForAuth(t,e){return aA([t,this.authenticated$]).pipe(RA(this.watchTower),mA(([t,e])=>!t||e),_A(1),zA(()=>e))}waitForReady(t){return this.ready?t:this.ready$.pipe(mA(t=>t),_A(1),zA(()=>t))}multiplex(t,e,n){return this.socket.multiplex(t,e,n)}send(t){this.socket.next(t)}req(t,e=Rx()){let n;if("function"==typeof t){const e=t(this);n=(GP(e)?e:fA(WP(e),gA)).pipe(eA(t=>Array.isArray(t)?t:[t]))}else n=(GP(t)?t:fA(WP(t),gA)).pipe(eA(t=>Array.isArray(t)?t:[t]));const r=n.pipe(xA(),kA(null)),i=this.socket.pipe(mA(t=>Array.isArray(t)&&("EVENT"===t[0]||"CLOSED"===t[0]||"EOSE"===t[0])&&t[1]===e),PA()),s=n.pipe(jA(t=>{this.socket.next(["REQ",e,...t]),this.reqs$.next({...this.reqs$.value,[e]:t})}),EA(()=>{this.socket.next(["CLOSE",e]);const{[e]:t,...n}=this.reqs$.value;this.reqs$.next(n)}),zA(()=>i)),o=fA(this.watchTower,s).pipe(DA(i.pipe(xA(),kA(!0))),DA(r),eA(t=>{if("EOSE"===t[0])return"EOSE";if("CLOSED"===t[0])throw new QD(t[2]);return t[2]}),this.handleAuthRequiredForReq("REQ"),(a=this.url,t=>t.pipe(jA(t=>{"string"!=typeof t&&pI(t,a)}))),QP({first:this.eoseTimeout,with:()=>fA(WP("EOSE"),gA)}),PA());var a;return this.waitForReady(this.waitForAuth(this.authRequiredForRead$,o))}count(t,e=Rx()){const n=this.socket.pipe(mA(t=>Array.isArray(t)&&("COUNT"===t[0]||"CLOSED"===t[0])&&t[1]===e)),r=dA(()=>(this.socket.next(Array.isArray(t)?["COUNT",e,...t]:["COUNT",e,t]),fA(this.watchTower,n))).pipe(eA(t=>{if("COUNT"===t[0])return t[2];throw new QD(t[2])}),this.handleAuthRequiredForReq("COUNT"),_A(1),QP({first:this.eoseTimeout,with:()=>HP(()=>new Error("COUNT timeout"))}));return this.waitForReady(this.waitForAuth(this.authRequiredForRead$,r)).pipe(PA())}event(t,e="EVENT"){const n=dA(()=>(this.socket.next([e,t]),this.socket.pipe(mA(e=>"OK"===e[0]&&e[1]===t.id),eA(t=>({ok:t[2],message:t[3],from:this.url}))))).pipe(PA()),r=fA(this.watchTower,n).pipe(DA(n.pipe(xA(),kA(!0))),_A(1),jA(({ok:t,message:e})=>{!1===t&&e?.startsWith(YD)&&!this.receivedAuthRequiredForEvent.value&&(this.log("Auth required for publish"),this.receivedAuthRequiredForEvent.next(!0))}),QP({first:this.eventTimeout,with:()=>WP({ok:!1,from:this.url,message:"Timeout"})}));return"AUTH"===e?this.waitForReady(r).pipe(PA()):this.waitForReady(this.waitForAuth(this.authRequiredForPublish$,r)).pipe(PA())}auth(t){return this.authentication$.next(t),ZP(this.event(t,"AUTH").pipe(jA(t=>this.authenticationResponse$.next(t))))}async negentropy(t,e,n,r){if(!1===(await this.getSupported())?.includes(77))throw new Error("Relay does not support NIP-77");const{buildStorageVector:i,buildStorageFromFilter:s,negentropySync:o}=await MD(async()=>{const{buildStorageVector:t,buildStorageFromFilter:e,negentropySync:n}=await import("./negentropy-CkK5_v5U.js");return{buildStorageVector:t,buildStorageFromFilter:e,negentropySync:n}},[]);return o(Array.isArray(t)?i(t):await s(t,e),this.socket,e,n,r)}authenticate(t){if(!this.challenge)throw new Error("Have not received authentication challenge");const e=t.signEvent(function(t,e){return{kind:22242,created_at:Math.floor(Date.now()/1e3),tags:[["relay",t],["challenge",e]],content:""}}(this.url,this.challenge));return ZP((e instanceof Promise?VP(e):WP(e)).pipe(zA(t=>this.auth(t))))}customRetryOperator(t,e){return!1===t?aP:"number"==typeof t?LA({...e,count:t}):!0===t?e?LA(e):LA():LA({...e,...t})}customRepeatOperator(t){return!1===t||void 0===t?aP:!0===t?MA():MA(t)}customTimeoutOperator(t,e){return!1===t?aP:KO(!0===t?e:t??e)}handleAuthRequiredForReq(t){return vA(e=>(e instanceof QD&&e.message.startsWith(YD)&&!this.receivedAuthRequiredForReq.value&&(this.log(`Auth required for ${t}`),this.receivedAuthRequiredForReq.next(!0)),HP(()=>e)))}subscription(t,e){return this.req(t,e?.id).pipe(this.customRetryOperator(e?.reconnect??!0,this.subscriptionReconnect),this.customRepeatOperator(e?.resubscribe),PA())}request(t,e){return this.req(t,e?.id).pipe(this.customRetryOperator(e?.reconnect??!0,this.requestReconnect),this.customRepeatOperator(e?.resubscribe),WD(),PA())}publish(t,e){return ZP(this.event(t).pipe(cA(t=>!1===t.ok&&t.message?.startsWith(YD)?HP(()=>new Error(t.message)):WP(t)),this.customRetryOperator(e?.retries??e?.reconnect??!0,this.publishRetry),this.customTimeoutOperator(e?.timeout,this.publishTimeout)))}sync(t,e,n=JD.RECEIVE){return new lP(r=>{const i=new AbortController;let s=!1;return this.negentropy(t,e,async(e,i)=>{if(n&JD.SEND&&e.length>0){const n=await(async e=>Array.isArray(t)?t.filter(t=>e.includes(t.id)):t.getByFilters({ids:e}))(e);await Promise.allSettled(n.map(t=>ZP(this.event(t))))}n&JD.RECEIVE&&i.length>0&&await ZP(this.req({ids:i}).pipe(WD(),Reflect.has(t,"add")?WO(t):aP,jA(t=>r.next(t))))},{signal:i.signal}).then(()=>{s||r.complete()}).catch(t=>{s||r.error(t)}),()=>{s||(s=!0,i.abort())}}).pipe(PA())}close(){this.socket.unsubscribe()}async getInformation(){return YP(this.information$)}async getLimitations(){return YP(this.limitations$)}async getSupported(){return YP(this.supported$)}static fetchInformationDocument(t){return VP(fetch(uI(t),{headers:{Accept:"application/nostr+json"}}).then(t=>t.json())).pipe(vA(()=>WP(null)),KO(1e4))}static createReconnectTimer(t){return(t,e=0)=>pA(Math.min(1e3*Math.pow(1.5,e),3e5))}}class nN{options;relays$=new mP(new Map);get relays(){return this.relays$.value}status$;ignoreOffline=!0;add$=new fP;remove$=new fP;constructor(t){this.options=t,this.status$=this.relays$.pipe(eA(t=>Array.from(t.values())),zA(t=>0===t.length?WP({}):fA(...t.map(t=>t.status$)).pipe(IA((t,e)=>({...t,[e.url]:e}),{}),FA({}))),OA(1))}relay(t){t=hI(t);let e=this.relays.get(t);return e||(e=new eN(t,this.options),this.relays.set(t,e),this.relays$.next(this.relays),e)}group(t,e=this.ignoreOffline){let n=Array.isArray(t)?t.map(t=>this.relay(t)):t.pipe(eA(t=>t.map(t=>this.relay(t))));return e&&(n=Array.isArray(n)?n.filter(t=>t.ready):n.pipe(eA(t=>t.filter(t=>t.ready)))),new GD(n)}remove(t,e=!0){let n;if("string"==typeof t){if(n=this.relays.get(t),!n)return}else{if(!Array.from(this.relays.values()).some(e=>e===t))return;n=t}e&&n?.close(),this.relays.delete(n.url),this.relays$.next(this.relays),this.remove$.next(n)}req(t,e,n){return this.group(t,!1).req(e,n)}event(t,e){return this.group(t,!1).event(e)}negentropy(t,e,n,r,i){return this.group(t,!1).negentropy(e,n,r,i)}publish(t,e,n){return this.group(t).publish(e,n)}request(t,e,n){return this.group(t).request(e,n)}subscription(t,e,n){return this.group(t).subscription(e,n)}subscriptionMap(t,e){const n=GP(t)?t:WP(t);return this.group(n.pipe(eA(t=>Object.keys(t)))).subscription(t=>n.pipe(eA(e=>e[t.url]),CA(cO)),e)}outboxSubscription(t,e,n){const r=GP(t)?t.pipe(eA(t=>vO(t,e))):vO(t,e);return this.subscriptionMap(r,n)}count(t,e,n){return this.group(t).count(e,n)}sync(t,e,n,r){return this.group(t).sync(e,n,r)}}const rN=Object.freeze(Object.defineProperty({__proto__:null,default:class extends qf{pool=new nN;async publish(t,e){if(!t||0===t.length)throw new Error("No relays provided to publish the event.");const n=await this.pool.publish(t,e);if(!n.some(t=>t.ok))throw new Error(`Failed to publish event. Responses: ${JSON.stringify(n)}`);return n}}},Symbol.toStringTag,{value:"Module"}));class iN{}class sN extends iN{constructor(t){super(),this.message=t}}class oN extends iN{}class aN extends iN{}class lN extends iN{}class cN extends iN{}class uN extends iN{}const hN={invalid_request:class extends iN{},invalid_grant:class extends uN{},unauthorized_client:class extends cN{},access_denied:class extends cN{},unsupported_response_type:class extends cN{},invalid_scope:class extends iN{},server_error:class extends cN{},temporarily_unavailable:class extends cN{},invalid_client:class extends uN{},unsupported_grant_type:class extends uN{},invalid_token:class extends iN{}},dN=t=>{const e=hN[t];return e?new e:new sN(t)},pN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",fN=t=>{const e=t.slice(7).replace(/"/g,"").split(",").map(t=>{const[e,n]=t.trim().split("=");return{[e]:n}}).reduce((t,e)=>Object.assign(Object.assign({},t),e),{});return{realm:e.realm,error:e.error,errorDescription:e.error_description,errorUri:e.error_uri}},gN=t=>{let e=btoa(t);return e=e.replace(/\+/g,"-"),e=e.replace(/\//g,"_"),e=e.replace(/=/g,""),e},mN=(t,e)=>{let n=e.split("?");if(n.length<2)return;n=n[1].split("#");const r=n[0].split("&");for(const i of r){const[e,n]=i.split("=");if(e===t)return decodeURIComponent(n)}},yN=t=>Object.entries(t).map(([t,e])=>`${t}=${encodeURIComponent(e)}`).join("&");var vN=function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(ej){s(ej)}}function a(t){try{l(r.throw(t))}catch(ej){s(ej)}}function l(t){t.done?i(t.value):function(t){return t instanceof n?t:new n(function(e){e(t)})}(t.value).then(o,a)}l((r=r.apply(t,e||[])).next())})};const bN="WWW-Authenticate";class wN{constructor(t,e){this.state={},this.config=t,this.storage=e||xN,this.ready=new Promise(t=>this.setReady=t),this.recoverState()}reset(){return vN(this,void 0,void 0,function*(){this.state={},yield this.saveState(),this.authCodeForAccessTokenPromise=void 0,this.refreshTokenForAccessTokenPromise=void 0})}requestAuthorizationCode(t){return vN(this,void 0,void 0,function*(){const{clientId:e,extraAuthorizationParams:n,redirectUrl:r,scopes:i}=this.config,{codeChallenge:s,codeVerifier:o}=yield(l=void 0,c=function*(){const t=new Uint32Array(96);crypto.getRandomValues(t);const e=gN(Array.from(t).map(t=>pN[t%66]).join("")),n=yield crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e)),r=new Uint8Array(n);let i="";const s=r.byteLength;for(let o=0;o<s;o++)i+=String.fromCharCode(r[o]);return{codeChallenge:gN(i),codeVerifier:e}},new(l||(l=Promise))(function(t,e){function n(t){try{i(c.next(t))}catch(ej){e(ej)}}function r(t){try{i(c.throw(t))}catch(ej){e(ej)}}function i(e){e.done?t(e.value):function(t){return t instanceof l?t:new l(function(e){e(t)})}(e.value).then(n,r)}i((c=c.apply(undefined,[])).next())})),a=(()=>{const t=new Uint32Array(32);return crypto.getRandomValues(t),Array.from(t).map(t=>pN[t%66]).join("")})();var l,c;this.state=Object.assign(Object.assign({},this.state),{codeChallenge:s,codeVerifier:o,stateQueryParam:a}),this.saveState();let u=this.config.authorizationUrl+"?response_type=code&"+`client_id=${encodeURIComponent(e)}&`+`redirect_uri=${encodeURIComponent(r)}&`+`state=${a}&`+`code_challenge=${encodeURIComponent(s)}&code_challenge_method=S256`;if(i&&(u+=`&scope=${encodeURIComponent(i.join(" "))}`),n||t){const e=Object.assign(Object.assign({},n),t);u+=`&${yN(e)}`}location.replace(u)})}isReturningFromAuthServer(){return!!mN("code",location.href)}receiveCode(){return vN(this,void 0,void 0,function*(){yield this.ready;const t=mN("error",location.href);if(t)throw dN(t);if(mN("state",location.href)!==this.state.stateQueryParam)throw console.warn('"state" parameter doesn\'t match the one sent! Possible malicious activity.'),new lN;if(this.state.authorizationCode=mN("code",location.href),!this.state.authorizationCode)throw new aN;this.saveState()})}getTokens(t){return vN(this,void 0,void 0,function*(){const{accessToken:e,authorizationCode:n,idToken:r,refreshToken:i,scopes:s}=this.state;if(n)return this.exchangeAuthCodeForAccessToken(t);if(!e)throw new oN;return this.isAccessTokenExpired()&&this.config.onAccessTokenExpiry?this.config.onAccessTokenExpiry():Promise.resolve({accessToken:e,idToken:r,refreshToken:i,scopes:s})})}exchangeAuthCodeForAccessToken(t){return vN(this,void 0,void 0,function*(){this.authCodeForAccessTokenPromise||(this.authCodeForAccessTokenPromise=this.fetchAccessTokenUsingCode(t));const e=yield this.authCodeForAccessTokenPromise;return this.authCodeForAccessTokenPromise=void 0,this.state.authorizationCode=void 0,this.setTokens(e)})}exchangeRefreshTokenForAccessToken(){return vN(this,void 0,void 0,function*(){this.refreshTokenForAccessTokenPromise||(this.refreshTokenForAccessTokenPromise=this.fetchAccessTokenUsingRefreshToken());const t=yield this.refreshTokenForAccessTokenPromise;return this.refreshTokenForAccessTokenPromise=void 0,this.setTokens(t)})}makeRetryFetchFunction(t){return(e,...n)=>vN(this,void 0,void 0,function*(){const r=yield t(e,...n);if(401===r.status){const i=r.headers.get(bN.toLowerCase());if(i&&"invalid_token"===fN(i).error)return yield this.exchangeRefreshTokenForAccessToken(),e=yield this.requestInterceptor(e),t(e,...n)}return r})}decorateFetchWithInterceptors(t){return(e,...n)=>vN(this,void 0,void 0,function*(){"string"==typeof e&&(e=new Request(e)),e=yield this.requestInterceptor(e);const r=yield t(e,...n);return this.responseInterceptor(r)})}requestInterceptor(t){return vN(this,void 0,void 0,function*(){const e=yield this.getTokens();return t.headers.set("Authorization",`Bearer ${e.accessToken}`),t})}responseInterceptor(t){return vN(this,void 0,void 0,function*(){if(401!==t.status)return t;const e=t.headers.get(bN.toLowerCase());if(e){const t=fN(e).error;throw"invalid_grant"===t&&this.config.onInvalidGrant&&(yield this.config.onInvalidGrant()),"invalid_token"===t&&this.config.onInvalidToken&&(yield this.config.onInvalidToken()),dN(t)}return t})}getGrantedScopes(){return this.state.scopes}isAuthorized(){return!!this.state.accessToken}isAccessTokenExpired(){const{accessTokenExpiry:t}=this.state;return Boolean(t&&new Date>=new Date(t))}fetchAccessTokenUsingCode(t){return vN(this,void 0,void 0,function*(){const{authorizationCode:e,codeVerifier:n=""}=this.state,{clientId:r,redirectUrl:i}=this.config;n?e||console.warn("No authorization grant code is being passed."):console.warn("No code verifier is being sent.");const s=this.config.tokenUrl,o=Object.assign({grant_type:"authorization_code",code:e,redirect_uri:i,client_id:r,code_verifier:n},t),a=new URLSearchParams(o).toString();return this.makeTokenRequest(s,a)})}fetchAccessTokenUsingRefreshToken(){const{extraRefreshParams:t,clientId:e,tokenUrl:n}=this.config,{refreshToken:r}=this.state;r||console.warn("No refresh token is present.");const i=n;let s=`grant_type=refresh_token&refresh_token=${r}&client_id=${e}`;return t&&(s=`${i}&${yN(t)}`),this.makeTokenRequest(i,s)}makeTokenRequest(t,e){return vN(this,void 0,void 0,function*(){const n=yield fetch(t,{method:"POST",body:e,headers:{"Content-Type":"application/x-www-form-urlencoded"}}),r=yield n.json();if(!n.ok)throw"invalid_grant"===r.error&&this.config.onInvalidGrant&&(yield this.config.onInvalidGrant()),dN(r.error);const{access_token:i,expires_in:s,id_token:o,refresh_token:a,scope:l}=r;return{accessToken:i,expiresIn:s,idToken:o,refreshToken:a,scope:l}})}setTokens(t){return vN(this,void 0,void 0,function*(){const{accessToken:e,expiresIn:n,idToken:r,refreshToken:i,scope:s}=t;return this.state.accessToken=e,this.state.accessTokenExpiry=new Date(Date.now()+1e3*parseInt(n,10)).toString(),r&&(this.state.idToken=r),i&&(this.state.refreshToken=i),s&&(this.state.scopes=s.split(" ")),yield this.saveState(),{accessToken:this.state.accessToken,idToken:this.state.idToken,refreshToken:this.state.refreshToken,scopes:s?this.state.scopes:[]}})}recoverState(){return vN(this,void 0,void 0,function*(){this.state=JSON.parse((yield this.storage.loadState())||"{}"),this.setReady(),this.config.storeRefreshToken||(this.state.refreshToken=this.refreshToken)})}saveState(){return vN(this,void 0,void 0,function*(){this.refreshToken=this.state.refreshToken;const t=Object.assign({},this.state);this.config.storeRefreshToken||delete t.refreshToken,yield this.storage.saveState(JSON.stringify(t))})}}const _N="oauth2authcodepkce-state",xN={saveState:t=>localStorage.setItem(_N,t),loadState:()=>localStorage.getItem(_N)};class CN{saveState(t){localStorage.setItem("marco:osm_auth_state",t)}loadState(){const t=localStorage.getItem("marco:osm_auth_state");if(!t)return!1;try{return JSON.parse(t),t}catch(ej){return console.warn("Failed to parse OSM auth state",ej),!1}}}class SN extends qf{static{dF(this.prototype,"isConnected",[Is],function(){return!1})}#tt=void fF(this,"isConnected");static{dF(this.prototype,"userDisplayName",[Is],function(){return null})}#et=void fF(this,"userDisplayName");oauthClient;constructor(){super(...arguments);const t="https://www.openstreetmap.org",e=`${window.location.origin}/oauth/osm/callback`;this.oauthClient=new wN({scopes:["read_prefs","write_api"],authorizationUrl:`${t}/oauth2/authorize`,tokenUrl:`${t}/oauth2/token`,clientId:"jIn8l5mT8FZOGYiIYXG1Yvj_2FZKB9TJ1edZwOJPsRU",redirectUrl:e,storeRefreshToken:!0},new CN),this.restoreSession()}async restoreSession(){try{await this.oauthClient.ready}catch(ej){console.warn("oauthClient.ready failed",ej)}if(await this.oauthClient.isAuthorized()){this.isConnected=!0;const t=localStorage.getItem("marco:osm_user_display_name");t?this.userDisplayName=t:await this.fetchUserInfo()}}async login(){await this.oauthClient.requestAuthorizationCode()}async handleCallback(){await this.oauthClient.receiveCode(),await this.oauthClient.getTokens(),this.isConnected=!0,await this.fetchUserInfo()}async logout(){await this.oauthClient.reset(),this.isConnected=!1,this.userDisplayName=null,localStorage.removeItem("marco:osm_user_display_name")}async fetchUserInfo(){try{const t=await this.oauthClient.getTokens(),e=await fetch("https://api.openstreetmap.org/api/0.6/user/details.json",{headers:{Authorization:`Bearer ${t.accessToken}`}});if(e.ok){const t=await e.json();console.debug("OSM data:",t);const n=t.user.display_name;this.userDisplayName=n,localStorage.setItem("marco:osm_user_display_name",n)}else console.error("Failed to fetch OSM user info",e.status)}catch(ej){console.error("Error fetching OSM user info",ej)}}}const kN=Object.freeze(Object.defineProperty({__proto__:null,default:SN},Symbol.toStringTag,{value:"Module"}));function EN(t){return"string"==typeof t&&t?t.replace(/[_-]/g," ").replace(/\w\S*/g,t=>t.replace(/^\w/,t=>t.toUpperCase())):""}const TN=Object.freeze(Object.defineProperty({__proto__:null,humanizeOsmTag:EN},Symbol.toStringTag,{value:"Module"}));function RN(t,e="Untitled Place"){if(!t)return e;const n=navigator.languages||[navigator.language||"en"];for(const r of n){if(!r)continue;const e=`name:${r.split("-")[0]}`;if(t[e])return t[e]}return t.name?t.name:t["name:en"]?t["name:en"]:e}const MN=["amenity","shop","tourism","historic","leisure","office","craft","building","landuse","public_transport","highway","aeroway","waterway","natural","place","border_type","admin_title"];function LN(t){if(!t)return null;for(const e of MN){const n=t[e];if(n)return EN("yes"===n?e:n)}return null}const IN=Object.freeze(Object.defineProperty({__proto__:null,getLocalizedName:RN,getPlaceType:LN},Symbol.toStringTag,{value:"Module"})),PN=[{id:"restaurants",label:"Restaurants",icon:"fork-and-knife",filter:['["amenity"~"^(restaurant|fast_food|food_court|pub|cafe)$"]["cuisine"!~"coffee"]'],types:["node","way"]},{id:"coffee",label:"Coffee",icon:"cup-and-saucer",filter:['["amenity"~"^(cafe|ice_cream)$"]','["shop"~"^(coffee|tea)$"]','["cuisine"~"coffee_shop"]'],types:["node","way"]},{id:"groceries",label:"Groceries",icon:"shopping-basket",filter:['["shop"~"^(supermarket|convenience|grocery|greengrocer|bakery|butcher|deli|farm|seafood)$"]'],types:["node","way"]},{id:"things-to-do",label:"Things to do",icon:"camera",filter:['["tourism"~"^(museum|gallery|attraction|viewpoint|zoo|theme_park|aquarium|artwork)$"]','["amenity"~"^(cinema|theatre|arts_centre|planetarium)$"]','["leisure"~"^(sports_centre|stadium|water_park)$"]','["historic"]','["shop"="flea_market"]'],types:["node","way","relation"]},{id:"accommodation",label:"Hotels",icon:"person-sleeping-in-bed",filter:['["tourism"~"^(hotel|hostel|motel|chalet)$"]'],types:["node","way","relation"]}];function AN(t){return PN.find(e=>e.id===t)}const ON=Object.freeze(Object.defineProperty({__proto__:null,POI_CATEGORIES:PN,getCategoryById:AN},Symbol.toStringTag,{value:"Module"}));class FN extends qf{static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");controller=null;cachedResults=null;lastQueryKey=null;cachedPlaces=new Map;cancelAll(){this.controller&&(this.controller.abort(),this.controller=null)}async getNearbyPois(t,e,n=50){const r=`${t},${e},${n}`;if(this.lastQueryKey===r&&this.cachedResults)return console.debug("Returning cached Overpass results for:",r),this.cachedResults;this.controller&&this.controller.abort(),this.controller=new AbortController;const i=this.controller.signal,s=[`~"^(${["amenity","shop","tourism","historic","leisure","office","craft","building","landuse","public_transport","aeroway"].join("|")})$"~".*"`],o=Object.entries({public_transport:["stop_area","platform"]}).map(([t,e])=>`["${t}"!~"^(${e.join("|")})$"]`).join(""),a=`\n[out:json][timeout:25];\n(\n node(around:${n},${t},${e})\n [${s}]${o}[~"^name"~"."];\n way(around:${n},${t},${e})\n [${s}]${o}[~"^name"~"."];\n relation(around:${n},${t},${e})\n [${s}]${o}[~"^name"~"."];\n);\nout center;\n `.trim(),l=`${this.settings.overpassApi}?data=${encodeURIComponent(a)}`;try{const t=await this.fetchWithRetry(l,{signal:i});if(!t.ok)throw new Error("Overpass request failed");const e=(await t.json()).elements.map(this.normalizePoi);return this.lastQueryKey=r,this.cachedResults=e,e}catch(ej){if("AbortError"===ej.name)return console.debug("Overpass request aborted"),[];throw ej}}async getCategoryPois(t,e,n,r){const i=AN(e);if(!i||!t)return[];const s=n&&r?`cat:${e}:${n}:${r}`:null;if(s&&this.lastQueryKey===s&&this.cachedResults)return console.debug("Returning cached category results for:",s),this.cachedResults;this.controller&&this.controller.abort(),this.controller=new AbortController;const o=this.controller.signal,{minLat:a,minLon:l,maxLat:c,maxLon:u}=t,h=[],d=i.types||["node","way","relation"];i.filter.forEach(t=>{d.forEach(e=>{h.push(`${e}${t}[~"^name"~"."];`)})});const p=`\n[out:json][timeout:25][bbox:${a},${l},${c},${u}];\n(\n ${h.join("\n ")}\n);\nout center;\n `.trim(),f=`${this.settings.overpassApi}?data=${encodeURIComponent(p)}`;try{const t=await this.fetchWithRetry(f,{signal:o});if(!t.ok)throw new Error("Overpass request failed");const e=(await t.json()).elements.map(this.normalizePoi);return s&&(this.lastQueryKey=s,this.cachedResults=e),e}catch(ej){if("AbortError"===ej.name)return console.debug("Category search aborted"),[];throw console.error("Category search failed",ej),ej}}normalizePoi(t){const e=t.tags||{},n=LN(e)||"Point of Interest";return{title:RN(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 r=await fetch(t,e);return!r.ok&&n>0&&[502,503,504,429].includes(r.status)?(console.warn(`Overpass request failed with ${r.status}. Retrying... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1)):r}catch(ej){if(n>0&&"AbortError"!==ej.name)return console.debug(`Retrying Overpass request... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1);throw ej}}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 r=`${this.settings.overpassApi}?data=${encodeURIComponent(n)}`,i=await this.fetchWithRetry(r);if(!i.ok)throw new Error("Overpass request failed");const s=await i.json();return s.elements[0]?this.normalizePoi(s.elements[0]):null}async fetchOsmObject(t,e){if(!t||!e)return null;const n=`${e}:${t}`,r=this.cachedPlaces.get(n);if(r&&Date.now()-r.timestamp<1e4)return console.debug(`Using in-memory cached OSM object for ${n}`),r.data;let i;if("node"===e)i=`https://www.openstreetmap.org/api/0.6/node/${t}.json`;else if("way"===e)i=`https://www.openstreetmap.org/api/0.6/way/${t}/full.json`;else{if("relation"!==e)return console.error("Unknown OSM type:",e),null;i=`https://www.openstreetmap.org/api/0.6/relation/${t}/full.json`}try{const r=await this.fetchWithRetry(i);if(!r.ok){if(410===r.status)return console.warn("OSM object has been deleted"),null;throw new Error(`OSM API request failed: ${r.status}`)}const s=await r.json(),o=this.normalizeOsmApiData(s.elements,t,e);return this.cachedPlaces.set(n,{data:o,timestamp:Date.now()}),setTimeout(()=>{this.cachedPlaces.delete(n)},1e4),o}catch(ej){return console.error("Failed to fetch OSM object:",ej),null}}normalizeOsmApiData(t,e,n){if(!t||0===t.length)return null;let r=t.find(t=>String(t.id)===String(e)&&t.type===n);if(!r)return null;let i=r;if("relation"===n&&r.members){const e=r.members.find(t=>"label"===t.role&&"node"===t.type),n=r.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&&(i=e)}}let s=i.lat,o=i.lon,a=null,l=null;if("way"===n&&r.nodes){const e=new Map;t.forEach(t=>{"node"===t.type&&e.set(t.id,[t.lon,t.lat])});const n=r.nodes.map(t=>e.get(t)).filter(Boolean);if(n.length>0){if(i===r){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&&r.members){const e=[],n=new Map;t.forEach(t=>{"node"===t.type&&n.set(t.id,t)});const c=[];if(r.members.forEach(r=>{if("node"===r.type){const t=n.get(r.ref);t&&e.push(t)}else if("way"===r.type){const i=t.find(t=>"way"===t.type&&t.id===r.ref);if(i&&i.nodes){const t=[];i.nodes.forEach(r=>{const i=n.get(r);i&&(e.push(i),t.push([i.lon,i.lat]))}),t.length>1&&c.push(t)}}}),e.length>0){if(i===r){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=i.tags||{},u=LN(c)||"Point of Interest";return{title:RN(c),lat:s,lon:o,bbox:a,geojson:l,url:c.website,osmId:String(i.id),osmType:i.type,osmTags:c,description:c.description,source:"osm",type:u}}}const zN=Object.freeze(Object.defineProperty({__proto__:null,default:FN},Symbol.toStringTag,{value:"Module"}));class DN extends qf{static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");controller=null;cancelAll(){this.controller&&(this.controller.abort(),this.controller=null)}get baseUrl(){return this.settings.photonApi}async search(t,e,n,r=10){if(!t||t.length<2)return[];this.controller&&this.controller.abort(),this.controller=new AbortController;const i=this.controller.signal,s=new URLSearchParams({q:t,limit:String(r)});e&&n&&(s.append("lat",parseFloat(e).toFixed(4)),s.append("lon",parseFloat(n).toFixed(4)));const o=`${this.baseUrl}?${s.toString()}`;try{const t=await this.fetchWithRetry(o,{signal:i});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(ej){return"AbortError"===ej.name||console.error("Photon search error:",ej),[]}}normalizeFeature(t){const e=t.properties||{},n=(t.geometry||{}).coordinates||[],r=n[0],i=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=LN(l)||EN(e.osm_value);return{title:a,lat:i,lon:r,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 r=await fetch(t,e);return!r.ok&&n>0&&[502,503,504,429].includes(r.status)?(console.warn(`Photon request failed with ${r.status}. Retrying... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1)):r}catch(ej){if(n>0&&"AbortError"!==ej.name)return console.debug(`Retrying Photon request... (${n} left)`,ej),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1);throw ej}}}const NN=Object.freeze(Object.defineProperty({__proto__:null,default:DN},Symbol.toStringTag,{value:"Module"})),jN={overpassApi:"https://overpass-api.de/api/interpreter",mapKinetic:!0,photonApi:"https://photon.komoot.io/api/",showQuickSearchButtons:!0,nostrPhotoFallbackUploads:!1,nostrReadRelays:null,nostrWriteRelays:null};class BN extends qf{static{dF(this.prototype,"overpassApi",[Is],function(){return jN.overpassApi})}#nt=void fF(this,"overpassApi");static{dF(this.prototype,"mapKinetic",[Is],function(){return jN.mapKinetic})}#rt=void fF(this,"mapKinetic");static{dF(this.prototype,"photonApi",[Is],function(){return jN.photonApi})}#it=void fF(this,"photonApi");static{dF(this.prototype,"showQuickSearchButtons",[Is],function(){return jN.showQuickSearchButtons})}#st=void fF(this,"showQuickSearchButtons");static{dF(this.prototype,"nostrPhotoFallbackUploads",[Is],function(){return jN.nostrPhotoFallbackUploads})}#ot=void fF(this,"nostrPhotoFallbackUploads");static{dF(this.prototype,"nostrReadRelays",[Is],function(){return jN.nostrReadRelays})}#at=void fF(this,"nostrReadRelays");static{dF(this.prototype,"nostrWriteRelays",[Is],function(){return jN.nostrWriteRelays})}#lt=void fF(this,"nostrWriteRelays");overpassApis=[{name:"overpass-api.de (DE)",url:"https://overpass-api.de/api/interpreter"},{name:"private.coffee (AT)",url:"https://overpass.private.coffee/api/interpreter"}];photonApis=[{name:"photon.komoot.io",url:"https://photon.komoot.io/api/"}];constructor(){super(...arguments),this.loadSettings()}loadSettings(){let t={};const e=localStorage.getItem("marco:settings");if(e)try{t=JSON.parse(e)}catch(ej){console.error("Failed to parse settings from localStorage",ej)}else{const e=localStorage.getItem("marco:overpass-api");e&&(t.overpassApi=e);const n=localStorage.getItem("marco:map-kinetic");null!==n&&(t.mapKinetic="true"===n);const r=localStorage.getItem("marco:show-quick-search");null!==r&&(t.showQuickSearchButtons="true"===r);const i=localStorage.getItem("marco:nostr-photo-fallback-uploads");null!==i&&(t.nostrPhotoFallbackUploads="true"===i);const s=localStorage.getItem("marco:photon-api");s&&(t.photonApi=s)}const n={...jN,...t};this.overpassApis.some(t=>t.url===n.overpassApi)||(n.overpassApi=jN.overpassApi),this.overpassApi=n.overpassApi,this.mapKinetic=n.mapKinetic,this.photonApi=n.photonApi,this.showQuickSearchButtons=n.showQuickSearchButtons,this.nostrPhotoFallbackUploads=n.nostrPhotoFallbackUploads,this.nostrReadRelays=n.nostrReadRelays,this.nostrWriteRelays=n.nostrWriteRelays,this.saveSettings()}saveSettings(){const t={overpassApi:this.overpassApi,mapKinetic:this.mapKinetic,photonApi:this.photonApi,showQuickSearchButtons:this.showQuickSearchButtons,nostrPhotoFallbackUploads:this.nostrPhotoFallbackUploads,nostrReadRelays:this.nostrReadRelays,nostrWriteRelays:this.nostrWriteRelays};localStorage.setItem("marco:settings",JSON.stringify(t))}update(t,e){t in jN&&(this[t]=e,this.saveSettings())}}const UN=Object.freeze(Object.defineProperty({__proto__:null,default:BN},Symbol.toStringTag,{value:"Module"}));var $N,qN={exports:{}},VN=($N||($N=1,qN.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 r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Authorize=void 0;const s=i(n(334)),o=n(746),a=i(n(503)),l=n(368);let c;function u(t){const e=t||h.getLocation().href,n={};for(const[s,o]of new URL(e).searchParams)n[s]=o;const r=e.indexOf("#");if(-1===r)return n;const i=e.substring(r+1);return i.includes("=")?i.split("&").reduce(function(t,e){const n=e.split("=");if("state"===n[0]&&n[1].match(/rsDiscovery/)){let e=decodeURIComponent(n[1]);const r=e.substr(e.indexOf("rsDiscovery=")).split("&")[0].split("=")[1];t.rsDiscovery=JSON.parse(atob(r)),e=e.replace(new RegExp("&?rsDiscovery="+r),""),e.length>0&&(t.state=e)}else t[decodeURIComponent(n[0])]=decodeURIComponent(n[1]);return t},n):n}class h{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 r of["state","response_type","code_challenge","code_challenge_method","token_access_type"]){const e=t[r];e&&n.searchParams.set(r,e)}return n.href}(e);o.globalContext.cordova?h.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):h.setLocation(n)}static refreshAccessToken(t,e,n){return r(this,void 0,void 0,function*(){var t,r,i;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===(r=null==c?void 0:c.response)||void 0===r?void 0:r.access_token,tokenType:null===(i=null==c?void 0:c.response)||void 0===i?void 0:i.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=h,h.IMPLIED_FAKE_TOKEN=!1,h.getLocation=function(){return document.location},h.openWindow=function(t,e,n){return new Promise((r,i)=>{const s=open(t,"_blank",n);function o(){i("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=u(t.url);n?r(n):i("Authorization error")}),s.addEventListener("exit",o)):i("Authorization popup was blocked")})},h._rs_init=function(t){const e=u();let n;e&&(n=h.getLocation(),n.hash=""),c=function(){let i=!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}),i=!0),e.remotestorage&&(t.connect(e.remotestorage),i=!0),e.state&&(n=h.getLocation(),h.setLocation(n.href.split("#")[0]+"#"+e.state)),e.code&&(function(e){r(this,void 0,void 0,function*(){var r,i,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=h.getLocation();let u=n.origin;"/"!==n.pathname&&(u+=n.pathname);const d=new URLSearchParams({code:e,grant_type:"authorization_code",client_id:t.remote.clientId,redirect_uri:u,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===(r=null==p?void 0:p.response)||void 0===r?void 0:r.expires_in} seconds`);const e={token:null===(i=null==p?void 0:p.response)||void 0===i?void 0:i.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),i=!0),i||t.remote.stopWaitingForToken()}else t.remote.stopWaitingForToken()},t.on("features-loaded",c)},e.default=h},424:function(t,e,n){var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClient=void 0;const s=i(n(439)),o=i(n(613)),a=i(n(491)),l=i(n(93)),c=i(n(28)),u=n(746);class h{constructor(t,e){if(this.schemas={configurable:!0,get(){return h.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 h(this.storage,this.makePath(t))}getListing(t,e){return r(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,u.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 r(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,u.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 r=Object.keys(n.body);if(0===r.length)return{};const i=r.map(r=>this.storage.get(this.makePath(t+r),e).then(t=>{if("string"==typeof t.body)try{t.body=JSON.parse(t.body)}catch(t){}"object"==typeof t.body&&(n.body[r]=t.body)}));return Promise.all(i).then(()=>n.body)}})})}getFile(t,e){return r(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 r(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 r(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 r(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 r(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,u.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 r;if(n&&"string"==typeof e)r=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,r=this._defaultTypeURI(t);h.Types.declare(this.moduleName,t,r,n)}validate(t){const e=h.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"]=h.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=h,h.Types=o.default,(0,u.applyMixins)(h,[l.default]),e.default=h},285:function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Caching=void 0;const i=n(746),s=r(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,i.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.pendingActivations.length;e++)t(this.pendingActivations[e]);this.pendingActivations=[]}checkPath(t){return void 0!==this._rootPaths[t]?this._rootPaths[t]:"/"===t?"SEEN":this.checkPath((0,i.containingFolder)(t))}reset(){this._rootPaths={}}static _rs_init(){}}e.Caching=o,e.default=o},496:function(t,e,n){var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=i(n(451)),o=i(n(93)),a=i(n(28)),l=i(n(334)),c=n(746);function u(t){if("object"==typeof t&&"string"==typeof t.path)if((0,c.isFolder)(t.path)){if(t.local&&t.local.itemsMap)return t.local;if(t.common&&t.common.itemsMap)return t.common}else{if(t.local){if(t.local.body&&t.local.contentType)return t.local;if(!1===t.local.body)return}if(t.common&&t.common.body&&t.common.contentType)return t.common}}function h(t,e){for(const n in t){if(t[n]&&t[n].remote)return!0;const r=u(t[n]);if(r&&r.timestamp&&(new Date).getTime()-r.timestamp<=e)return!1;if(!r)return!0}return!0}function d(t){const e={path:t,common:{}};return(0,c.isFolder)(t)&&(e.common.itemsMap={}),e}function p(t,e){return t.common||(t.common={itemsMap:{}}),t.common.itemsMap||(t.common.itemsMap={}),t.local||(t.local=(0,c.deepClone)(t.common)),t.local.itemsMap||(t.local.itemsMap=t.common.itemsMap),t.local.itemsMap[e]=!0,t}class f{constructor(){this._updateNodesRunning=!1,this._updateNodesQueued=[],(new s.default).isBrowser()&&c.globalContext.BroadcastChannel&&(this.broadcastChannel=new BroadcastChannel("remotestorage:changes"),this.broadcastChannel.onmessage=t=>{this.emitChange(t.data)})}get(t,e,n){return r(this,void 0,void 0,function*(){return"number"==typeof e?this.getNodes((0,c.pathsFromRoot)(t)).then(r=>{const i=u(r[t]);return h(r,e)?n(t):i?{statusCode:200,body:i.body||i.itemsMap,contentType:i.contentType}:{statusCode:404}}):this.getNodes([t]).then(e=>{const n=u(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 r(this,void 0,void 0,function*(){const r=(0,c.pathsFromRoot)(t);return this._updateNodes(r,function(t,r){try{for(let i=0,s=t.length;i<s;i++){const s=t[i];let o,a=r[s];a||(r[s]=a=d(s)),0===i?(o=u(a),a.local={body:e,contentType:n,previousBody:o?o.body:void 0,previousContentType:o?o.contentType:void 0}):a=p(a,t[i-1].substring(s.length))}return r}catch(t){throw(0,l.default)("[Cachinglayer] Error during PUT",r,t),t}})})}delete(t,e){return r(this,void 0,void 0,function*(){const n=(0,c.pathsFromRoot)(t);return this._updateNodes(n,function(t,n){for(let r=0,i=t.length;r<i;r++){const i=t[r],s=n[i];let o;if(s)if(0===r)o=u(s),s.local={body:!e&&void 0,previousBody:o?o.body:void 0,previousContentType:o?o.contentType:void 0};else{s.local||(s.local=(0,c.deepClone)(s.common));const e=t[r-1].substring(i.length);if(delete s.local.itemsMap[e],Object.getOwnPropertyNames(s.local.itemsMap).length>0)break}else console.error("Cannot delete non-existing node "+i)}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=u(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,r)=>{this._doUpdateNodes(t,e,{resolve:n,reject:r})})}_doUpdateNodes(t,e,n){return r(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 r=yield this.getNodes(t);const i=(0,c.deepClone)(r),s=[];r=e(t,r);for(const t in r){const e=r[t];(0,c.equal)(e,i[t])?delete r[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?r[t]=void 0:(delete e.local.previousBody,delete e.local.previousContentType))}yield this.setNodes(r),this._emitChangeEvents(s),n.resolve({statusCode:200})}catch(t){n.reject(t)}this._updateNodesRunning=!1;const r=this._updateNodesQueued.shift();r&&(yield this._doUpdateNodes(r.paths,r.cb,r.promise))})}_emitChangeEvents(t){for(let e=0,n=t.length;e<n;e++){const n=t[e];this.emitChange(n),this.diffHandler&&this.diffHandler(n.path),this.broadcastChannel&&"window"===n.origin&&this.broadcastChannel.postMessage(n)}}_getAllDescendentPaths(t){return(0,c.isFolder)(t)?this.getNodes([t]).then(e=>{const n=[t],r=u(e[t]),i=Object.keys(r.itemsMap).map(e=>this._getAllDescendentPaths(t+e).then(t=>{for(let e=0,r=t.length;e<r;e++)n.push(t[e])}));return Promise.all(i).then(()=>n)}):Promise.resolve([t])}_getInternals(){return{getLatest:u,makeNode:d,isOutdated:h}}}(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 r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const i=r(n(199)),s=r(n(28)),o=r(n(334)),a=n(746);let l;const c="remotestorage:discover";let u={};const h=function(t){return new Promise((e,n)=>{if(t in u)return e(u[t]);const r=new i.default({tls_only:!1,uri_fallback:!0,request_timeout:s.default.discoveryTimeout});return setTimeout(()=>n(new Error("timed out")),s.default.discoveryTimeout),r.lookup(t,function(r,i){if(r)return n(r);if("object"!=typeof i.idx.links.remotestorage||"number"!=typeof i.idx.links.remotestorage.length||i.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(i.json)),n("WebFinger record for "+t+" does not have remotestorage defined in the links section.");const s=i.idx.links.remotestorage[0],a=s.properties["http://tools.ietf.org/html/rfc6749#section-4.2"]||s.properties["auth-endpoint"],h=s.properties["http://remotestorage.io/spec/version"]||s.type;return u[t]={href:s.href,storageApi:h,authURL:a,properties:s.properties},l&&localStorage.setItem(c,JSON.stringify({cache:u})),e(u[t])})})};(h.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),h.DiscoveryError.prototype.constructor=h.DiscoveryError,h._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(c));t&&(u=t.cache)}},h._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},h._rs_cleanup=function(){l&&localStorage.removeItem(c)},t.exports=h},706:function(t,e,n){var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=i(n(93)),o=i(n(424)),a=i(n(941)),l=i(n(982)),c=i(n(503)),u=n(746),h=n(368),d=n(684),p=i(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",v="/remotestorage";function b(t){return(v+"/"+t).replace(/\/+$/,"").replace(/\/+/g,"/")}const w=/[\u007f-\uffff]/g;function _(t){return JSON.stringify(t).replace(w,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 C(t){return t instanceof ArrayBuffer||(0,h.isArrayBufferView)(t)}class S 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,u.localStorageAvailable)(),f){const t=(0,u.getJSONFromLocalStorage)(g);t&&this.configure(t),this._itemRefs=(0,u.getJSONFromLocalStorage)(`${g}:shares`)||{}}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}connect(){return r(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,u.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 r(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 i;if(200!==n.status&&409!==n.status)return Promise.reject("Unexpected response status: "+n.status);try{i=JSON.parse(n.responseText)}catch(t){return Promise.reject(t)}if(409===n.status)return x(i,["path","not_found"])?Promise.resolve({}):Promise.reject(new Error("API returned an error: "+i.error_summary));const s=i.entries.reduce((n,r)=>{try{const i="folder"===r[".tag"],s=r.path_display.split("/").slice(-1)[0]+(i?"/":"");if(i)n[s]={ETag:e.get(t+s)};else{const e=new Date(r.server_modified);n[s]={ETag:r.rev,"Content-Length":r.size,"Last-Modified":e.toUTCString()},this._revCache.set(t+s,r.rev)}}catch(e){console.error(`[Dropbox] folder “${t}” has entry ${JSON.stringify(r)}:`,e)}return n},{});return i.has_more?r(i.cursor).then(function(t){return Object.assign(s,t)}):Promise.resolve(s)},r=t=>{const e={body:{cursor:t}};return this._request("POST",y,e).then(n)};return this._request("POST",m,{body:{path:b(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 r={headers:{"Dropbox-API-Arg":_({path:b(t)})},responseType:"arraybuffer"};return e&&e.ifNoneMatch&&(r.headers["If-None-Match"]=e.ifNoneMatch),this._request("GET","https://content.dropboxapi.com/2/files/download",r).then(e=>{const n=e.status;let r,i,s,o;return 200!==n&&409!==n?Promise.resolve({statusCode:n}):(r=e.getResponseHeader("Dropbox-API-Result"),(0,u.getTextFromArrayBuffer)(e.response,"UTF-8").then(a=>{i=a,409===n&&(r=i);try{r=JSON.parse(r)}catch(t){return Promise.reject(t)}if(409===n)return x(r,["path","not_found"])?{statusCode:404}:Promise.reject(new Error('API error while downloading file ("'+t+'"): '+r.error_summary));if(s=e.getResponseHeader("Content-Type"),o=r.rev,this._revCache.set(t,o),this._shareIfNeeded(t),(0,u.shouldBeTreatedAsBinary)(a,s))i=e.response;else try{i=JSON.parse(i),s="application/json; charset=UTF-8"}catch(t){}return{statusCode:n,body:i,contentType:s,revision:o}}))})}put(t,e,n){return r(this,arguments,void 0,function*(t,e,n,r={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const i=this._revCache.get(t);if(r&&r.ifMatch&&i&&i!==r.ifMatch)return{statusCode:412,revision:i};if(r&&"*"===r.ifNoneMatch&&i&&"rev"!==i)return{statusCode:412,revision:i};if(!n.match(/charset=/)&&C(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(r&&(r.ifMatch||"*"===r.ifNoneMatch)){const e=yield this._getMetadata(t);if(r&&"*"===r.ifNoneMatch&&e)return{statusCode:412,revision:e.rev};if(r&&r.ifMatch&&e&&e.rev!==r.ifMatch)return{statusCode:412,revision:e.rev}}const o=yield this._uploadSimple(s);return this._shareIfNeeded(t),o})}delete(t){return r(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:b(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 r(this,arguments,void 0,function*(t,e,n,r=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||C(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,u.isFolder)(e)});try{const i=yield(0,h.requestWithTimeout)(t,e,n);return this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!0}),401===(null==i?void 0:i.status)&&this.refreshToken?r>=3?(console.error(`Abandoned after ${r} attempts: ${t} ${e}`),i):(this.rs._emit("wire-busy",{method:t,isFolder:(0,u.isFolder)(e)}),yield p.default.refreshAccessToken(this.rs,this,this.refreshToken),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!0}),this._request(t,e,n,r+1)):[503,429].includes(null==i?void 0:i.status)?(this.online&&(this.online=!1,this.rs._emit("network-offline")),r>=3?(console.warn(`Abandoned after ${r} attempts: ${t} ${e}`),i):(yield new Promise(t=>setTimeout(t,(0,h.retryAfterMs)(i))),this._request(t,e,n,r+1))):i}catch(n){throw this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!1}),n}})}fetchDelta(...t){if(this._fetchDeltaPromise)return this._fetchDeltaPromise;const e=t=>r(this,void 0,void 0,function*(){let n,r;"string"==typeof t?(n=y,r={cursor:t}):(n=m,r={path:v,recursive:!0,include_deleted:!0});try{const i=yield this._request("POST",n,{body:r});if(401===i.status)throw new c.default;if(200!==i.status&&409!==i.status)throw new Error("Invalid response status: "+i.status);let s;try{s=JSON.parse(i.responseText)}catch(t){throw new Error("Invalid response body: "+i.responseText)}if(409===i.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:b(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:b(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":_(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:b(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 r(this,void 0,void 0,function*(){const e={body:{path:b(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,u.localStorageAvailable)(),t.apiKeys.dropbox&&(t.dropbox=new S(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,u.applyMixins)(S,[s.default]),t.exports=S},451:function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const i=r(n(93)),s=n(746),o=r(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,[i.default]),t.exports=a},93:function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EventHandling=void 0;const i=r(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,i.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 r=0;r<n;r++)if(this._handlers[t][r]===e)return void this._handlers[t].splice(r,1)}_emit(t,...e){this._validateEvent(t),this._handlers[t].slice().forEach(t=>{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 r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const i=r(n(28)),s=r(n(451)),o=r(n(334)),a=n(746),l=r(n(370)),c=r(n(548)),u=r(n(275)),h=r(n(373)),d=r(n(424)),p=r(n(801)),f=r(n(706)),g=r(n(600)),m=r(n(313)),y=r(n(285)),v=r(n(567)),b=r(n(794)),w=r(n(365)),_={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:h.default,Authorize:u.default,BaseClient:d.default,Env:s.default},i.default.cache&&(0,a.extend)(this.featureModules,{Caching:y.default,IndexedDB:v.default,LocalStorage:b.default,InMemoryStorage:w.default,Sync:m.default}),i.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=i.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<this.features.length;t++){const e=this.features[t].cleanup;"function"==typeof e&&this._cleanups.push(e)}}};t.exports=_},801:function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const i=r(n(424)),s=r(n(93)),o=n(746),a=n(368),l=n(684),c="https://www.googleapis.com",u="remotestorage:googledrive",h="application/vnd.google-apps.folder";let d;function p(t){return"/"===t.substr(-1)&&(t=t.substr(0,t.length-1)),decodeURIComponent(t)}function f(t){return t.replace(/[^\/]+\/?$/,"")}function g(t){const e=t.split("/");return"/"===t.substr(-1)?e[e.length-2]+"/":e[e.length-1]}function m(t){return(0,o.cleanPath)(`/remotestorage/${t}`)}class y{constructor(t){this._items={},this.maxAge=t,this._items={}}get(t){const e=this._items[t],n=(new Date).getTime();return e&&e.t>=n-this.maxAge?e.v:void 0}set(t,e){this._items[t]={v:e,t:(new Date).getTime()}}}class v 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)(u);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(u,JSON.stringify({userAddress:this.userAddress,token:this.token}))},n=function(){this.connected=!1,delete this.token,d&&localStorage.removeItem(u)};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,r={}){const i=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(i).then(t=>t?r&&"*"===r.ifNoneMatch?s({status:412}):this._updateFile(t,i,e,n,r).then(s):this._createFile(i,e,n).then(s))}delete(t,e={}){const n=m(t);return this._getFileId(n).then(t=>t?this._getMeta(t).then(n=>{let r;return"object"==typeof n&&"string"==typeof n.etag&&(r=this.stripQuotes(n.etag)),e&&e.ifMatch&&e.ifMatch!==r?{statusCode:412,revision:r}: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,r,i){const s={mimeType:r},o={"Content-Type":"application/json; charset=UTF-8"};return i&&i.ifMatch&&(o["If-Match"]=this.addQuotes(i.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:r.match(/^application\/json/)?JSON.stringify(n):n}))}_createFile(t,e,n){return this._getParentId(t).then(r=>{const i={title:p(g(t)),mimeType:n,parents:[{kind:"drive#fileLink",id:r}]};return this._request("POST",c+"/upload/drive/v2/files?uploadType=resumable",{body:JSON.stringify(i),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(r){let i=r;if(t.mimeType.match(/^application\/json/))try{i=JSON.parse(i)}catch(t){}else(0,o.shouldBeTreatedAsBinary)(r,t.mimeType)&&(i=e.response);return{statusCode:200,body:i,contentType:t.mimeType,revision:n}}))}))}_getFolder(t){return this._getFileId(t).then(e=>{let n,r,i;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")}i={};for(const a of n.items)(null===(s=a.labels)||void 0===s?void 0:s.trashed)||(r=this.stripQuotes(a.etag),a.mimeType===h?(this._fileIdCache.set(t+(0,o.cleanPath)(a.title)+"/",a.id),i[a.title+"/"]={ETag:r}):(this._fileIdCache.set(t+(0,o.cleanPath)(a.title),a.id),i[a.title]={ETag:r,"Content-Type":a.mimeType,"Content-Length":a.fileSize}));return Promise.resolve({statusCode:200,body:i,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:h,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 v(t,e.clientId),"googledrive"===t.backend&&(t._origRemote=t.remote,t.remote=t.googledrive,(n=t)._origBaseClientGetItemURL||(n._origBaseClientGetItemURL=i.default.prototype.getItemURL,i.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&&(i.default.prototype.getItemURL=e._origBaseClientGetItemURL,delete e._origBaseClientGetItemURL)}}(0,o.applyMixins)(v,[s.default]),t.exports=v},567:function(t,e,n){var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=i(n(93)),o=i(n(496)),a=i(n(334)),l=n(746),c="remotestorage";let u;class h extends o.default{constructor(t){super(),this.addEvents(["change","local-events-done"]),this.db=t||u,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 r(this,void 0,void 0,function*(){const e=[],n={};for(let r=0,i=t.length;r<i;r++)void 0!==this.changesQueued[t[r]]?n[t[r]]=(0,l.deepClone)(this.changesQueued[t[r]]||void 0):void 0!==this.changesRunning[t[r]]?n[t[r]]=(0,l.deepClone)(this.changesRunning[t[r]]||void 0):e.push(t[r]);return e.length>0?this.getNodesFromDb(e).then(function(t){for(const e in n)t[e]=n[e];return t}):n})}setNodes(t){return r(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 r=this.db.transaction(["nodes"],"readonly"),i=r.objectStore("nodes"),s={};this.getsRunning++,t.map(t=>{i.get(t).onsuccess=e=>{s[t]=e.target.result}}),r.oncomplete=()=>{e(s),this.getsRunning--},r.onerror=r.onabort=()=>{n("get transaction error/abort"),this.getsRunning--}})}setNodesInDb(t){return r(this,void 0,void 0,function*(){return new Promise((e,n)=>{const r=this.db.transaction(["nodes"],"readwrite"),i=r.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{i.put(e)}catch(t){throw(0,a.default)("[IndexedDB] Error while putting",e,t),t}else try{i.delete(o)}catch(t){throw(0,a.default)("[IndexedDB] Error while removing",i,e,t),t}}r.oncomplete=()=>{this.putsRunning--,(0,a.default)("[IndexedDB] Finished puts",t,this.putsRunning,(new Date).getTime()-s+"ms"),e()},r.onerror=()=>{this.putsRunning--,n("transaction error")},r.onabort=()=>{n("transaction abort"),this.putsRunning--}})})}reset(t){const e=this.db.name;this.db.close(),h.clean(e,()=>{h.open(e,(n,r)=>{n?(0,a.default)(`[IndexedDB] Error while resetting database ${e}:`,n):this.db=r,"function"==typeof t&&t(self)})})}forAllNodes(t){return r(this,void 0,void 0,function*(){return new Promise(e=>{this.db.transaction(["nodes"],"readonly").objectStore("nodes").openCursor().onsuccess=n=>{const r=n.target.result;r?(t(r.value),r.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 r=indexedDB.open(t,2);r.onerror=function(){(0,a.default)("[IndexedDB] Opening DB failed",r),clearTimeout(n),e(r.error)},r.onupgradeneeded=function(t){const e=r.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"})},r.onsuccess=function(){clearTimeout(n);const i=r.result;if(!i.objectStoreNames.contains("nodes")||!i.objectStoreNames.contains("changes"))return(0,a.default)("[IndexedDB] Missing object store. Resetting the database."),void h.clean(t,function(){h.open(t,e)});e(null,r.result)}}catch(r){(0,a.default)("[IndexedDB] Failed to open database: "+r),(0,a.default)("[IndexedDB] Resetting database and trying again."),clearTimeout(n),h.clean(t,function(){h.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)=>{h.open(c,function(r,i){r?n(r):(u=i,i.onerror=()=>{t._emit("error",r)},e())})})}static _rs_supported(){return new Promise((t,e)=>{const n=(0,l.getGlobalContext)();let r=!1;if("undefined"!=typeof navigator&&navigator.userAgent.match(/Android (2|3|4\.[0-3])/)&&(navigator.userAgent.match(/Chrome|Firefox/)||(r=!0)),"indexedDB"in n&&!r)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 h&&t.local.closeDB(),h.clean(c,e)})}diffHandler(){}}(0,l.applyMixins)(h,[s.default]),t.exports=h},365:function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const i=r(n(93)),s=r(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,r=t.length;n<r;n++)e[t[n]]=(0,o.deepClone)(this._storage[t[n]]);return Promise.resolve(e)}setNodes(t){for(const e in t)void 0===t[e]?delete this._storage[e]:this._storage[e]=t[e];return Promise.resolve()}forAllNodes(t){for(const e in this._storage)t(this._storage[e]);return Promise.resolve()}diffHandler(){}static _rs_init(){}static _rs_supported(){return!0}static _rs_cleanup(){}}(0,o.applyMixins)(a,[i.default]),t.exports=a},794:function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const i=r(n(496)),s=r(n(93)),o=r(n(334)),a=n(746),l="remotestorage:cache:nodes:";function c(t){return t.substr(0,26)===l||"remotestorage:cache:changes:"===t.substr(0,28)}class u extends i.default{constructor(){super(),this.addEvents(["change","local-events-done"])}diffHandler(...t){}getNodes(t){const e={};for(let n=0,i=t.length;n<i;n++)try{const r=JSON.parse(localStorage.getItem(l+t[n]));e[t[n]]=r||void 0}catch(r){(0,o.default)(`[LocalStorage] Failed to get node: ${r.message}`),e[t[n]]=void 0}return Promise.resolve(e)}setNodes(t){for(const e in t)localStorage.setItem(l+e,JSON.stringify(t[e]));return Promise.resolve()}forAllNodes(t){let e;for(let n=0,r=localStorage.length;n<r;n++)if(localStorage.key(n).substr(0,26)===l){try{e=JSON.parse(localStorage.getItem(localStorage.key(n)))}catch(t){e=void 0}e&&t(e)}return Promise.resolve()}static _rs_init(){}static _rs_supported(){return(0,a.localStorageAvailable)()}static _rs_cleanup(){const t=[];(0,o.default)("[LocalStorage] Starting cleanup");for(let e=0,n=localStorage.length;e<n;e++){const n=localStorage.key(e);c(n)&&t.push(n)}for(const e in t)(0,o.default)("[LocalStorage] Removing",e),localStorage.removeItem(e)}}(0,a.applyMixins)(u,[s.default]),t.exports=u},334:function(t,e,n){const r=(this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}})(n(28));t.exports=function(...t){r.default.logging&&console.log(...t)}},684:function(t,e,n){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.RemoteBase=void 0;const i=r(n(93)),s=n(746);class o extends i.default{constructor(t){super(),this.rs=t,this.connected=!1}stopWaitingForToken(){this.connected||this._emit("not-connected")}addQuotes(t){return"string"!=typeof t?t:"*"===t?"*":'"'+t+'"'}stripQuotes(t){return"string"!=typeof t?t:t.replace(/^["']|["']$/g,"")}isForbiddenRequestMethod(t,e){return("PUT"===t||"DELETE"===t)&&(0,s.isFolder)(e)}}e.RemoteBase=o},423:function(t,e,n){var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),s=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.RemoteStorage=void 0;const a=o(n(28)),l=o(n(334)),c=n(746),u=o(n(548)),h=o(n(275)),d=o(n(424)),p=o(n(285)),f=n(93),g=o(n(801)),m=o(n(706)),y=o(n(373)),v=o(n(982)),b=o(n(503)),w=o(n(545)),_=s(n(746)),x=(0,c.getGlobalContext)();let C;function S(t){return 403!==t.statusCode&&401!==t.statusCode||this._emit("error",new b.default),Promise.resolve(t)}function k(t){return"number"==typeof t&&t>=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=w.default.loadFeatures,this.features=w.default.features,this.loadFeature=w.default.loadFeature,this.featureSupported=w.default.featureSupported,this.featureDone=w.default.featureDone,this.featuresDone=w.default.featuresDone,this.featuresLoaded=w.default.featuresLoaded,this.featureInitialized=w.default.featureInitialized,this.featureFailed=w.default.featureFailed,this.hasFeature=w.default.hasFeature,this._setCachingModule=w.default._setCachingModule,this._collectCleanupFunctions=w.default._collectCleanupFunctions,this._fireReady=w.default._fireReady,this.initFeature=w.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")}),C=(0,c.localStorageAvailable)(),C){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=h.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]),h.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:h.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,C&&(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]}),C&&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(S.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,r)=>{this._pending.push({method:t,args:n,promise:{resolve:e,reject:r}})})}}_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 r=n.length;e.path.substr(0,r)===n&&this._pathHandlers[t][n].forEach(t=>{const r={};for(const n in e)r[n]=e[n];r.relativePath=e.path.replace(new RegExp("^"+n),"");try{t(r)}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=v.default,T.Unauthorized=b.default,T.DiscoveryError=y.default.DiscoveryError,T.util=_,Object.defineProperty(T.prototype,"access",{configurable:!0,get:function(){const t=new u.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 r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=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,i){return r(this,void 0,void 0,function*(){return"function"==typeof fetch?function(t,e,n){return r(this,void 0,void 0,function*(){const r="function"==typeof AbortController?new AbortController:null;let i;const a=new Promise((t,e)=>{i=setTimeout(()=>{r&&r.abort(),e("timeout")},o.default.requestTimeout)});let l;const c={},u=fetch(e,{method:t,headers:n.headers,body:n.body,signal:r?r.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(i)});return Promise.race([u,a])})}(t,n,i):"function"==typeof XMLHttpRequest?function(t,n,i){return r(this,void 0,void 0,function*(){return new Promise((r,a)=>{(0,s.default)("[requests XHR]",t,n);let l=!1;const c=setTimeout(()=>{l=!0,a("timeout")},o.default.requestTimeout),u=new XMLHttpRequest;if(u.open(t,n,!0),i.responseType&&(u.responseType=i.responseType),i.headers)for(const t in i.headers)u.setRequestHeader(t,i.headers[t]);u.onload=()=>{l||(clearTimeout(c),r(u))},u.onerror=t=>{l||(clearTimeout(c),a(t))};let h=i.body;"object"==typeof h&&!(0,e.isArrayBufferView)(h)&&h instanceof ArrayBuffer&&(h=new Uint8Array(h)),u.send(h)})})}(t,n,i):Promise.reject("[Requests] You need to add a polyfill for fetch or XMLHttpRequest")})};const s=i(n(334)),o=i(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;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}_generateHash(t){const e=t.sort().join("|");return""+this._hashCode(e)}_updateParentFolderItemRev(t,e){if("/"!==t){const n=this._getParentFolder(t);this._itemsRev[n]||(this._itemsRev[n]={});const r=this._itemsRev[n];e?r[t]=e:delete r[t],this._updateParentFolderItemRev(n,this.defaultValue)}}_getParentFolder(t){return t.substr(0,t.lastIndexOf("/",t.length-2)+1)}_propagate(t){if("/"!==t){const e=this._getParentFolder(t),n=this._itemsRev[e],r=[];for(const t in n)r.push(n[t]);const i=this._generateHash(r);this.set(e,i)}}_generateFolderRev(t){const e=this._itemsRev[t];let n=this.defaultValue;if(e){const t=[];for(const n in e){let r;r="/"===n.substr(-1)?this._generateFolderRev(n):e[n],t.push(r)}t.length>0&&(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 r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Sync=void 0;const s=i(n(28)),o=i(n(451)),a=i(n(93)),l=i(n(334)),c=i(n(275)),u=i(n(982)),h=i(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 v{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 r(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 r(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<e.length;n++)this._tasks[e[n]]&&(Array.isArray(this._tasks[t])&&this._tasks[t].length&&Array.prototype.push.apply(this._tasks[e[n]],this._tasks[t]),delete this._tasks[t])}}collectRefreshTasks(){return r(this,void 0,void 0,function*(){yield this.rs.local.forAllNodes(t=>{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 r(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 r(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,i){return r(this,void 0,void 0,function*(){const r=[],s={},o={};for(const n in e)r.push(t+n),s[t+n]=e[n];for(const e in i)r.push(t+e);const a=yield this.rs.local.getNodes(r);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(i[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 r=this.getParentPath(e),i=n[r],s=e.substring(t.length);i&&i.local&&(delete i.local.itemsMap[s],(0,d.equal)(i.local.itemsMap,i.common.itemsMap)&&delete i.local)}}const u=yield this.markRemoteDeletions(Object.keys(o),n);u&&(yield this.rs.local.setNodes(this.flush(u)))})}markRemoteDeletions(t,e){return r(this,void 0,void 0,function*(){if(0===t.length)return e;const n=yield this.rs.local.getNodes(t),r={};function i(t,e){if(t&&t.itemsMap)for(const n in t.itemsMap)r[e+n]=!0}for(const t in n){const r=n[t];r&&((0,d.isFolder)(t)?(i(r.common,t),i(r.local,t)):r.common&&void 0!==r.common.body&&(e[t]=(0,d.deepClone)(r),e[t].remote={body:!1,timestamp:this.now()},e[t]=this.autoMerge(e[t])))}const s=yield this.markRemoteDeletions(Object.keys(r),e);s&&(yield this.rs.local.setNodes(this.flush(s)))})}completeFetch(t,e,n,i){return r(this,void 0,void 0,function*(){let r,s;const o=(0,d.pathsFromRoot)(t);(0,d.isFolder)(t)?r=[t]:(s=o[1],r=[t,s]);const a=yield this.rs.local.getNodes(r),l=a[s],c={};let u,h=a[t];function p(t){if(t&&t.itemsMap)for(u in t.itemsMap)e[u]||(c[u]=!0)}if("object"==typeof h&&h.path===t&&"object"==typeof h.common||(h={path:t,common:{}},a[t]=h),h.remote={revision:i,timestamp:this.now()},(0,d.isFolder)(t))for(u in p(h.common),p(h.remote),h.remote.itemsMap={},e)h.remote.itemsMap[u]=!0;else h.remote.body=e,h.remote.contentType=n,l&&l.local&&l.local.itemsMap&&(u=t.substring(s.length),!1!==e?l.local.itemsMap[u]=!0:l.local.itemsMap[u]&&delete l.local.itemsMap[u],(0,d.equal)(l.local.itemsMap,l.common.itemsMap)&&delete l.local);return a[t]=this.autoMerge(h),{toBeSaved:a,missingChildren:c}})}completePush(t,e,n,i){return r(this,void 0,void 0,function*(){const r=yield this.rs.local.getNodes([t]),s=r[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===i||(s.remote={revision:i||"conflict",timestamp:this.now()},delete s.push),r[t]=this.autoMerge(s)):(s.common={revision:i,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?r[t]=void 0:delete s.push)),yield this.rs.local.setNodes(this.flush(r))})}dealWithFailure(t){return r(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,i,s){return r(this,void 0,void 0,function*(){if(e.notFound&&(n=!!(0,d.isFolder)(t)&&{}),e.changed){const e=yield this.completeFetch(t,n,i,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 r(this,void 0,void 0,function*(){const r=this.interpretStatus(n.statusCode);if(r.successful){if("get"===e)return this.handleGetResponse(t,r,n.body,n.contentType,n.revision);if("put"===e||"delete"===e)return this.completePush(t,e,r.conflict,n.revision).then(function(){return!0});throw new Error(`cannot handle response for unknown action ${e}`)}{let e;return e=r.unAuth?new h.default:r.networkProblems?new u.default("Network request failed."):new Error("HTTP response code "+r.statusCode+" received."),this.dealWithFailure(t).then(()=>{throw this.rs._emit("error",e),e})}})}finishTask(t){return r(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 r(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;e<this._tasks[t.path].length;e++)this._tasks[t.path][e]();delete this._tasks[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):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 r(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 r(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 r(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 r=e.getCurrentSyncInterval();e._emit("sync-interval-change",{oldValue:n,newValue:r})}t.on("background",()=>n(!1)),t.on("foreground",()=>n(!0))}(e,t),t.sync||(t.sync=new v(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=v,(0,d.applyMixins)(v,[a.default]),e.default=v},370:function(t,e,n){var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})};const i=(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,i.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 r(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,r){const i=t+"/"+e;if(r.extends){const e=r.extends.split("/"),n=1===e.length?t+"/"+e.shift():e.join("/"),s=this.uris[n];if(!s)throw"Type '"+i+"' tries to extend unknown schema '"+n+"'";r.extends=this.schemas[s]}this.uris[i]=n,this.aliases[n]=i,this.schemas[n]=r}resolveAlias(t){return this.uris[t]}getSchema(t){return this.schemas[t]}inScope(t){const e=t.length,n={};for(const r in this.uris)if(r.substr(0,e+1)===t+"/"){const t=this.uris[r];n[t]=this.schemas[t]}return n}}e.BaseClientTypes=n;const r=new n;e.default=r},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 r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})};function i(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 r=new Int8Array(t[n]);new Int8Array(e[n]).set(r)}else i(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 r(this,arguments,void 0,function*(t=128){const e=new Uint8Array(t);crypto.getRandomValues(e);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",r=Array.from(e).map(t=>n[t%66]),i=r.join(""),s=Uint8Array.from(r.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:i,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,r=[])=>{let i;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 i=0,s=t.length;i<s;i++)if(!(0,e.equal)(t[i],n[i],r))return!1}else{for(i in t)if(t.hasOwnProperty(i)&&!(i in n))return!1;for(i in n){if(!n.hasOwnProperty(i))continue;if(!(i in t))return!1;let s;if("object"==typeof n[i]){if(r.indexOf(n[i])>=0)continue;s=r.slice(),s.push(n[i])}if(!(0,e.equal)(t[i],n[i],s))return!1}}return!0},e.deepClone=t=>{if(void 0!==t){const e=JSON.parse(JSON.stringify(t));return i(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(r=>{if("undefined"==typeof Blob||"undefined"==typeof FileReader){const e=Buffer.from(t);r(e.toString(n))}else{let i;const s=e.globalContext;if(s.BlobBuilder=s.BlobBuilder||s.WebKitBlobBuilder,void 0!==s.BlobBuilder){const e=new s.BlobBuilder;e.append(t),i=e.getBlob()}else i=new Blob([t]);const o=new FileReader;"function"==typeof o.addEventListener?o.addEventListener("loadend",function(t){r(t.target.result)}):o.onloadend=function(t){r(t.target.result)},o.readAsText(i,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 r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))(function(i,s){function o(t){try{l(r.next(t))}catch(t){s(t)}}function a(t){try{l(r.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((r=r.apply(t,e||[])).next())})},i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=i(n(275)),o=i(n(93)),a=i(n(503)),l=i(n(334)),c=n(746),u=n(368),h=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 h.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:r,token:i,properties:s}=t;return{userAddress:e,href:n,storageApi:r,token:i,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,i,o,h,d){return r(this,void 0,void 0,function*(){if(this.isForbiddenRequestMethod(t,e))return Promise.reject(`Don't use ${t} on directories!`);let r;return n!==s.default.IMPLIED_FAKE_TOKEN&&(i.Authorization="Bearer "+n),this.rs._emit("wire-busy",{method:t,isFolder:(0,c.isFolder)(e)}),(0,u.requestWithTimeout)(t,e,{body:o,headers:i,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}),i=n.status,[401,403,404,412].indexOf(i)>=0)return(0,l.default)("[WireClient] Error response status",n.status),r=h?this.stripQuotes(n.getResponseHeader("ETag")):void 0,401===n.status&&this.rs._emit("error",new a.default),Promise.resolve({statusCode:n.status,revision:r});if(function(t){return[201,204,304].indexOf(t)>=0}(n.status)||200===n.status&&"GET"!==t)return r=this.stripQuotes(n.getResponseHeader("ETag")),(0,l.default)("[WireClient] Successful request",r),Promise.resolve({statusCode:n.status,revision:r});{const t=n.getResponseHeader("Content-Type");r=h?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",r),Promise.resolve({statusCode:n.status,body:n.response,contentType:t,revision:r})):(0,c.getTextFromArrayBuffer)(n.response,e).then(e=>((0,l.default)("[WireClient] Successful request",r),Promise.resolve({statusCode:n.status,body:e,contentType:t,revision:r})))}var i},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"===(r=e.body)["@context"]&&"object"==typeof r.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(r=>{this._revisionCache[t+r]=e.body[r],n[r]={ETag:e.body[r]}});return e.body=n,Promise.resolve(e)}return Promise.resolve(e);var r})}put(t,e,n,r={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");!n.match(/charset=/)&&(e instanceof ArrayBuffer||(0,u.isArrayBufferView)(e))&&(n+="; charset=binary");const i={"Content-Type":n};return this.supportsRevs&&(r.ifMatch&&(i["If-Match"]=this.addQuotes(r.ifMatch)),r.ifNoneMatch&&(i["If-None-Match"]=this.addQuotes(r.ifNoneMatch))),this._request("PUT",this.href+(0,c.cleanPath)(t),this.token,i,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,r;n=function(){var t,e,n,r;Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),r=(n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(i){if("object"!=typeof i&&"function"!=typeof i||null===i)throw new TypeError("Object.keys called on non-object");var s=[];for(var o in i)t.call(i,o)&&s.push(o);if(e)for(var a=0;a<r;a++)t.call(i,n[a])&&s.push(n[a]);return s})),Object.create||(Object.create=function(){function t(){}return function(e){if(1!==arguments.length)throw new Error("Object.create implementation only accepts one parameter.");return t.prototype=e,new t}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.indexOf||(Array.prototype.indexOf=function(t){if(null===this)throw new TypeError;var e=Object(this),n=e.length>>>0;if(0===n)return-1;var r=0;if(arguments.length>1&&((r=Number(arguments[1]))!=r?r=0:0!==r&&r!==1/0&&r!==-1/0&&(r=(r>0||-1)*Math.floor(Math.abs(r)))),r>=n)return-1;for(var i=r>=0?r:Math.max(n-Math.abs(r),0);i<n;i++)if(i in e&&e[i]===t)return i;return-1}),Object.isFrozen||(Object.isFrozen=function(t){for(var e="tv4_test_frozen_key";t.hasOwnProperty(e);)e+=Math.random();try{return t[e]=!0,delete t[e],!1}catch(t){return!0}});var i={"+":!0,"#":!0,".":!0,"/":!0,";":!0,"?":!0,"&":!0},s={"*":!0};function o(t){return encodeURI(t).replace(/%25[0-9][0-9]/g,function(t){return"%"+t.substring(3)})}function a(t){var e="";i[t.charAt(0)]&&(e=t.charAt(0),t=t.substring(1));var n="",r="",a=!0,l=!1,c=!1;"+"===e?a=!1:"."===e?(r=".",n="."):"/"===e?(r="/",n="/"):"#"===e?(r="#",a=!1):";"===e?(r=";",n=";",l=!0,c=!0):"?"===e?(r="?",n="&",l=!0):"&"===e&&(r="&",n="&",l=!0);for(var u=[],h=t.split(","),d=[],p={},f=0;f<h.length;f++){var g=h[f],m=null;if(-1!==g.indexOf(":")){var y=g.split(":");g=y[0],m=parseInt(y[1],10)}for(var v={};s[g.charAt(g.length-1)];)v[g.charAt(g.length-1)]=!0,g=g.substring(0,g.length-1);var b={truncate:m,name:g,suffices:v};d.push(b),p[g]=b,u.push(g)}var w=function(t){for(var e="",i=0,s=0;s<d.length;s++){var u=d[s],h=t(u.name);if(null==h||Array.isArray(h)&&0===h.length||"object"==typeof h&&0===Object.keys(h).length)i++;else if(e+=s===i?r:n||",",Array.isArray(h)){l&&(e+=u.name+"=");for(var p=0;p<h.length;p++)p>0&&(e+=u.suffices["*"]&&n||",",u.suffices["*"]&&l&&(e+=u.name+"=")),e+=a?encodeURIComponent(h[p]).replace(/!/g,"%21"):o(h[p])}else if("object"==typeof h){l&&!u.suffices["*"]&&(e+=u.name+"=");var f=!0;for(var g in h)f||(e+=u.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=u.suffices["*"]?"=":",",e+=a?encodeURIComponent(h[g]).replace(/!/g,"%21"):o(h[g])}else l&&(e+=u.name,c&&""===h||(e+="=")),null!=u.truncate&&(h=h.substring(0,u.truncate)),e+=a?encodeURIComponent(h).replace(/!/g,"%21"):o(h)}return e};return w.varNames=u,{prefix:r,substitution:w}}function l(t){if(!(this instanceof l))return new l(t);for(var e=t.split("{"),n=[e.shift()],r=[],i=[],s=[];e.length>0;){var o=e.shift(),c=o.split("}")[0],u=o.substring(c.length+1),h=a(c);i.push(h.substitution),r.push(h.prefix),n.push(u),s=s.concat(h.substitution.varNames)}this.fill=function(t){for(var e=n[0],r=0;r<i.length;r++)e+=(0,i[r])(t),e+=n[r+1];return e},this.varNames=s,this.template=t}l.prototype={toString:function(){return this.template},fillFromObject:function(t){return this.fill(function(e){return t[e]})}};var c=function(t,e,n,r,i){if(this.missing=[],this.missingMap={},this.formatValidators=t?Object.create(t.formatValidators):{},this.schemas=t?Object.create(t.schemas):{},this.collectMultiple=e,this.errors=[],this.handleError=e?this.collectError:this.returnError,r&&(this.checkRecursive=!0,this.scanned=[],this.scannedFrozen=[],this.scannedFrozenSchemas=[],this.scannedFrozenValidationErrors=[],this.validatedSchemasKey="tv4_validation_id",this.validationErrorsKey="tv4_validation_errors_id"),i&&(this.trackUnknownProperties=!0,this.knownPropertyPaths={},this.unknownPropertyPaths={}),this.errorReporter=n||y("en"),"string"==typeof this.errorReporter)throw new Error("debug");if(this.definedKeywords={},t)for(var s in t.definedKeywords)this.definedKeywords[s]=t.definedKeywords[s].slice(0)};function u(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(Array.isArray(t)!==Array.isArray(e))return!1;if(Array.isArray(t)){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(!u(t[n],e[n]))return!1}else{var r;for(r in t)if(void 0===e[r]&&void 0!==t[r])return!1;for(r in e)if(void 0===t[r]&&void 0!==e[r])return!1;for(r in t)if(!u(t[r],e[r]))return!1}return!0}return!1}c.prototype.defineKeyword=function(t,e){this.definedKeywords[t]=this.definedKeywords[t]||[],this.definedKeywords[t].push(e)},c.prototype.createError=function(t,e,n,r,i,s,o){var a=new x(t,e,n,r,i);return a.message=this.errorReporter(a,s,o),a},c.prototype.returnError=function(t){return t},c.prototype.collectError=function(t){return t&&this.errors.push(t),null},c.prototype.prefixErrors=function(t,e,n){for(var r=t;r<this.errors.length;r++)this.errors[r]=this.errors[r].prefixWith(e,n);return this},c.prototype.banUnknownProperties=function(t,e){for(var n in this.unknownPropertyPaths){var r=this.createError(v.UNKNOWN_PROPERTY,{path:n},n,"",null,t,e),i=this.handleError(r);if(i)return i}return null},c.prototype.addFormat=function(t,e){if("object"==typeof t){for(var n in t)this.addFormat(n,t[n]);return this}this.formatValidators[t]=e},c.prototype.resolveRefs=function(t,e){if(void 0!==t.$ref){if((e=e||{})[t.$ref])return this.createError(v.CIRCULAR_REFERENCE,{urls:Object.keys(e).join(", ")},"","",null,void 0,t);e[t.$ref]=!0,t=this.getSchema(t.$ref,e)}return t},c.prototype.getSchema=function(t,e){var n;if(void 0!==this.schemas[t])return n=this.schemas[t],this.resolveRefs(n,e);var r=t,i="";if(-1!==t.indexOf("#")&&(i=t.substring(t.indexOf("#")+1),r=t.substring(0,t.indexOf("#"))),"object"==typeof this.schemas[r]){n=this.schemas[r];var s=decodeURIComponent(i);if(""===s)return this.resolveRefs(n,e);if("/"!==s.charAt(0))return;for(var o=s.split("/").slice(1),a=0;a<o.length;a++){var l=o[a].replace(/~1/g,"/").replace(/~0/g,"~");if(void 0===n[l]){n=void 0;break}n=n[l]}if(void 0!==n)return this.resolveRefs(n,e)}void 0===this.missing[r]&&(this.missing.push(r),this.missing[r]=r,this.missingMap[r]=r)},c.prototype.searchSchemas=function(t,e){if(Array.isArray(t))for(var n=0;n<t.length;n++)this.searchSchemas(t[n],e);else if(t&&"object"==typeof t)for(var r in"string"==typeof t.id&&function(t,e){if(e.substring(0,t.length)===t){var n=e.substring(t.length);if(e.length>0&&"/"===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"!==r)if("object"==typeof t[r])this.searchSchemas(t[r],e);else if("$ref"===r){var i=g(t[r]);i&&void 0===this.schemas[i]&&void 0===this.missingMap[i]&&(this.missingMap[i]=i)}},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,r,i){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 u=t[this.validatedSchemasKey].indexOf(e);if(-1!==u)return this.errors=this.errors.concat(t[this.validationErrorsKey][u]),null}if(Object.isFrozen(t)&&-1!==(o=this.scannedFrozen.indexOf(t))){var h=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==h)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][h]),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,i)||this.validateNumeric(t,e,i)||this.validateString(t,e,i)||this.validateArray(t,e,i)||this.validateObject(t,e,i)||this.validateCombinations(t,e,i)||this.validateHypermedia(t,e,i)||this.validateFormat(t,e,i)||this.validateDefinedKeywords(t,e,i)||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||r&&r.length;){var f=n&&n.length?""+n.pop():null,g=r&&r.length?""+r.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(v.FORMAT_CUSTOM,{message:n},"","/format",null,t,e):n&&"object"==typeof n?this.createError(v.FORMAT_CUSTOM,{message:n.message||"?"},n.dataPath||"",n.schemaPath||"/format",null,t,e):null},c.prototype.validateDefinedKeywords=function(t,e,n){for(var r in this.definedKeywords)if(void 0!==e[r])for(var i=this.definedKeywords[r],s=0;s<i.length;s++){var o=(0,i[s])(t,e[r],e,n);if("string"==typeof o||"number"==typeof o)return this.createError(v.KEYWORD_CUSTOM,{key:r,message:o},"","",null,t,e).prefixWith(null,r);if(o&&"object"==typeof o){var a=o.code;if("string"==typeof a){if(!v[a])throw new Error("Undefined error code (use defineError): "+a);a=v[a]}else"number"!=typeof a&&(a=v.KEYWORD_CUSTOM);var l="object"==typeof o.message?o.message:{key:r,message:o.message||"?"},c=o.schemaPath||"/"+r.replace(/~/g,"~0").replace(/\//g,"~1");return this.createError(a,l,o.dataPath||null,c,null,t,e)}}return null},c.prototype.validateBasic=function(t,e,n){var r;return(r=this.validateType(t,e,n))||(r=this.validateEnum(t,e,n))?r.prefixWith(null,"type"):null},c.prototype.validateType=function(t,e){if(void 0===e.type)return null;var n=typeof t;null===t?n="null":Array.isArray(t)&&(n="array");var r=e.type;Array.isArray(r)||(r=[r]);for(var i=0;i<r.length;i++){var s=r[i];if(s===n||"integer"===s&&"number"===n&&t%1==0)return null}return this.createError(v.INVALID_TYPE,{type:n,expected:r.join("/")},"","",null,t,e)},c.prototype.validateEnum=function(t,e){if(void 0===e.enum)return null;for(var n=0;n<e.enum.length;n++)if(u(t,e.enum[n]))return null;return this.createError(v.ENUM_MISMATCH,{value:"undefined"!=typeof JSON?JSON.stringify(t):t},"","",null,t,e)},c.prototype.validateNumeric=function(t,e,n){return this.validateMultipleOf(t,e,n)||this.validateMinMax(t,e,n)||this.validateNaN(t,e,n)||null};var h=Math.pow(2,-51),d=1-h;function p(t){var e=String(t).replace(/^\s+|\s+$/g,"").match(/^([^:\/?#]+:)?(\/\/(?:[^:@]*(?::[^:@]*)?@)?(([^:\/?#]*)(?::(\d*))?))?([^?#]*)(\?[^#]*)?(#[\s\S]*)?/);return e?{href:e[0]||"",protocol:e[1]||"",authority:e[2]||"",host:e[3]||"",hostname:e[4]||"",port:e[5]||"",pathname:e[6]||"",search:e[7]||"",hash:e[8]||""}:null}function f(t,e){return e=p(e||""),t=p(t||""),e&&t?(e.protocol||t.protocol)+(e.protocol||e.authority?e.authority:t.authority)+(n=e.protocol||e.authority||"/"===e.pathname.charAt(0)?e.pathname:e.pathname?(t.authority&&!t.pathname?"/":"")+t.pathname.slice(0,t.pathname.lastIndexOf("/")+1)+e.pathname:t.pathname,r=[],n.replace(/^(\.\.?(\/|$))+/,"").replace(/\/(\.(\/|$))+/g,"/").replace(/\/\.\.$/,"/../").replace(/\/?[^\/]*/g,function(t){"/.."===t?r.pop():r.push(t)}),r.join("").replace(/^\//,"/"===n.charAt(0)?"/":""))+(e.protocol||e.authority||e.pathname?e.search:e.search||t.search)+e.hash:null;var n,r}function g(t){return t.split("#")[0]}function m(t,e){if(t&&"object"==typeof t)if(void 0===e?e=t.id:"string"==typeof t.id&&(e=f(e,t.id),t.id=e),Array.isArray(t))for(var n=0;n<t.length;n++)m(t[n],e);else for(var r in"string"==typeof t.$ref&&(t.$ref=f(e,t.$ref)),t)"enum"!==r&&m(t[r],e)}function y(t){var e=C[t=t||"en"];return function(t){var n=e[t.code]||_[t.code];if("string"!=typeof n)return"Unknown error code "+t.code+": "+JSON.stringify(t.messageParams);var r=t.params;return n.replace(/\{([^{}]*)\}/g,function(t,e){var n=r[e];return"string"==typeof n||"number"==typeof n?n:t})}}c.prototype.validateMultipleOf=function(t,e){var n=e.multipleOf||e.divisibleBy;if(void 0===n)return null;if("number"==typeof t){var r=t/n%1;if(r>=h&&r<d)return this.createError(v.NUMBER_MULTIPLE_OF,{value:t,multipleOf:n},"","",null,t,e)}return null},c.prototype.validateMinMax=function(t,e){if("number"!=typeof t)return null;if(void 0!==e.minimum){if(t<e.minimum)return this.createError(v.NUMBER_MINIMUM,{value:t,minimum:e.minimum},"","/minimum",null,t,e);if(e.exclusiveMinimum&&t===e.minimum)return this.createError(v.NUMBER_MINIMUM_EXCLUSIVE,{value:t,minimum:e.minimum},"","/exclusiveMinimum",null,t,e)}if(void 0!==e.maximum){if(t>e.maximum)return this.createError(v.NUMBER_MAXIMUM,{value:t,maximum:e.maximum},"","/maximum",null,t,e);if(e.exclusiveMaximum&&t===e.maximum)return this.createError(v.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(v.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.length<e.minLength?this.createError(v.STRING_LENGTH_SHORT,{length:t.length,minimum:e.minLength},"","/minLength",null,t,e):void 0!==e.maxLength&&t.length>e.maxLength?this.createError(v.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 r,i="",s=e.pattern.match(/^\/(.+)\/([img]*)$/);s?(r=s[1],i=s[2]):r=e.pattern,n=new RegExp(r,i)}return n.test(t)?null:this.createError(v.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.length<e.minItems&&(n=this.createError(v.ARRAY_LENGTH_SHORT,{length:t.length,minimum:e.minItems},"","/minItems",null,t,e),this.handleError(n))||void 0!==e.maxItems&&t.length>e.maxItems&&(n=this.createError(v.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;n<t.length;n++)for(var r=n+1;r<t.length;r++)if(u(t[n],t[r])){var i=this.createError(v.ARRAY_UNIQUE,{match1:n,match2:r},"","/uniqueItems",null,t,e);if(this.handleError(i))return i}return null},c.prototype.validateArrayItems=function(t,e,n){if(void 0===e.items)return null;var r,i;if(Array.isArray(e.items)){for(i=0;i<t.length;i++)if(i<e.items.length){if(r=this.validateAll(t[i],e.items[i],[i],["items",i],n+"/"+i))return r}else if(void 0!==e.additionalItems)if("boolean"==typeof e.additionalItems){if(!e.additionalItems&&(r=this.createError(v.ARRAY_ADDITIONAL_ITEMS,{},"/"+i,"/additionalItems",null,t,e),this.handleError(r)))return r}else if(r=this.validateAll(t[i],e.additionalItems,[i],["additionalItems"],n+"/"+i))return r}else for(i=0;i<t.length;i++)if(r=this.validateAll(t[i],e.items,[i],["items"],n+"/"+i))return r;return null},c.prototype.validateObject=function(t,e,n){return"object"!=typeof t||null===t||Array.isArray(t)?null:this.validateObjectMinMaxProperties(t,e,n)||this.validateObjectRequiredProperties(t,e,n)||this.validateObjectProperties(t,e,n)||this.validateObjectDependencies(t,e,n)||null},c.prototype.validateObjectMinMaxProperties=function(t,e){var n,r=Object.keys(t);return void 0!==e.minProperties&&r.length<e.minProperties&&(n=this.createError(v.OBJECT_PROPERTIES_MINIMUM,{propertyCount:r.length,minimum:e.minProperties},"","/minProperties",null,t,e),this.handleError(n))||void 0!==e.maxProperties&&r.length>e.maxProperties&&(n=this.createError(v.OBJECT_PROPERTIES_MAXIMUM,{propertyCount:r.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<e.required.length;n++){var r=e.required[n];if(void 0===t[r]){var i=this.createError(v.OBJECT_REQUIRED,{key:r},"","/required/"+n,null,t,e);if(this.handleError(i))return i}}return null},c.prototype.validateObjectProperties=function(t,e,n){var r;for(var i in t){var s=n+"/"+i.replace(/~/g,"~0").replace(/\//g,"~1"),o=!1;if(void 0!==e.properties&&void 0!==e.properties[i]&&(o=!0,r=this.validateAll(t[i],e.properties[i],[i],["properties",i],s)))return r;if(void 0!==e.patternProperties)for(var a in e.patternProperties)if(new RegExp(a).test(i)&&(o=!0,r=this.validateAll(t[i],e.patternProperties[a],[i],["patternProperties",a],s)))return r;if(o)this.trackUnknownProperties&&(this.knownPropertyPaths[s]=!0,delete this.unknownPropertyPaths[s]);else if(void 0!==e.additionalProperties){if(this.trackUnknownProperties&&(this.knownPropertyPaths[s]=!0,delete this.unknownPropertyPaths[s]),"boolean"==typeof e.additionalProperties){if(!e.additionalProperties&&(r=this.createError(v.OBJECT_ADDITIONAL_PROPERTIES,{key:i},"","/additionalProperties",null,t,e).prefixWith(i,null),this.handleError(r)))return r}else if(r=this.validateAll(t[i],e.additionalProperties,[i],["additionalProperties"],s))return r}else this.trackUnknownProperties&&!this.knownPropertyPaths[s]&&(this.unknownPropertyPaths[s]=!0)}return null},c.prototype.validateObjectDependencies=function(t,e,n){var r;if(void 0!==e.dependencies)for(var i in e.dependencies)if(void 0!==t[i]){var s=e.dependencies[i];if("string"==typeof s){if(void 0===t[s]&&(r=this.createError(v.OBJECT_DEPENDENCY_KEY,{key:i,missing:s},"","",null,t,e).prefixWith(null,i).prefixWith(null,"dependencies"),this.handleError(r)))return r}else if(Array.isArray(s))for(var o=0;o<s.length;o++){var a=s[o];if(void 0===t[a]&&(r=this.createError(v.OBJECT_DEPENDENCY_KEY,{key:i,missing:a},"","/"+o,null,t,e).prefixWith(null,i).prefixWith(null,"dependencies"),this.handleError(r)))return r}else if(r=this.validateAll(t,s,[],["dependencies",i],n))return r}return null},c.prototype.validateCombinations=function(t,e,n){return this.validateAllOf(t,e,n)||this.validateAnyOf(t,e,n)||this.validateOneOf(t,e,n)||this.validateNot(t,e,n)||null},c.prototype.validateAllOf=function(t,e,n){if(void 0===e.allOf)return null;for(var r,i=0;i<e.allOf.length;i++){var s=e.allOf[i];if(r=this.validateAll(t,s,[],["allOf",i],n))return r}return null},c.prototype.validateAnyOf=function(t,e,n){if(void 0===e.anyOf)return null;var r,i,s=[],o=this.errors.length;this.trackUnknownProperties&&(r=this.unknownPropertyPaths,i=this.knownPropertyPaths);for(var a=!0,l=0;l<e.anyOf.length;l++){this.trackUnknownProperties&&(this.unknownPropertyPaths={},this.knownPropertyPaths={});var c=e.anyOf[l],u=this.errors.length,h=this.validateAll(t,c,[],["anyOf",l],n);if(null===h&&u===this.errors.length){if(this.errors=this.errors.slice(0,o),this.trackUnknownProperties){for(var d in this.knownPropertyPaths)i[d]=!0,delete r[d];for(var p in this.unknownPropertyPaths)i[p]||(r[p]=!0);a=!1;continue}return null}h&&s.push(h.prefixWith(null,""+l).prefixWith(null,"anyOf"))}return this.trackUnknownProperties&&(this.unknownPropertyPaths=r,this.knownPropertyPaths=i),a?(s=s.concat(this.errors.slice(o)),this.errors=this.errors.slice(0,o),this.createError(v.ANY_OF_MISSING,{},"","/anyOf",s,t,e)):void 0},c.prototype.validateOneOf=function(t,e,n){if(void 0===e.oneOf)return null;var r,i,s=null,o=[],a=this.errors.length;this.trackUnknownProperties&&(r=this.unknownPropertyPaths,i=this.knownPropertyPaths);for(var l=0;l<e.oneOf.length;l++){this.trackUnknownProperties&&(this.unknownPropertyPaths={},this.knownPropertyPaths={});var c=e.oneOf[l],u=this.errors.length,h=this.validateAll(t,c,[],["oneOf",l],n);if(null===h&&u===this.errors.length){if(null!==s)return this.errors=this.errors.slice(0,a),this.createError(v.ONE_OF_MULTIPLE,{index1:s,index2:l},"","/oneOf",null,t,e);if(s=l,this.trackUnknownProperties){for(var d in this.knownPropertyPaths)i[d]=!0,delete r[d];for(var p in this.unknownPropertyPaths)i[p]||(r[p]=!0)}}else h&&o.push(h)}return this.trackUnknownProperties&&(this.unknownPropertyPaths=r,this.knownPropertyPaths=i),null===s?(o=o.concat(this.errors.slice(a)),this.errors=this.errors.slice(0,a),this.createError(v.ONE_OF_MISSING,{},"","/oneOf",o,t,e)):(this.errors=this.errors.slice(0,a),null)},c.prototype.validateNot=function(t,e,n){if(void 0===e.not)return null;var r,i,s=this.errors.length;this.trackUnknownProperties&&(r=this.unknownPropertyPaths,i=this.knownPropertyPaths,this.unknownPropertyPaths={},this.knownPropertyPaths={});var o=this.validateAll(t,e.not,null,null,n),a=this.errors.slice(s);return this.errors=this.errors.slice(0,s),this.trackUnknownProperties&&(this.unknownPropertyPaths=r,this.knownPropertyPaths=i),null===o&&0===a.length?this.createError(v.NOT_PASSED,{},"","/not",null,t,e):null},c.prototype.validateHypermedia=function(t,e,n){if(!e.links)return null;for(var r,i=0;i<e.links.length;i++){var s=e.links[i];if("describedby"===s.rel){for(var o=new l(s.href),a=!0,c=0;c<o.varNames.length;c++)if(!(o.varNames[c]in t)){a=!1;break}if(a){var u={$ref:o.fillFromObject(t)};if(r=this.validateAll(t,u,[],["links",i],n))return r}}}};var v={INVALID_TYPE:0,ENUM_MISMATCH:1,ANY_OF_MISSING:10,ONE_OF_MISSING:11,ONE_OF_MULTIPLE:12,NOT_PASSED:13,NUMBER_MULTIPLE_OF:100,NUMBER_MINIMUM:101,NUMBER_MINIMUM_EXCLUSIVE:102,NUMBER_MAXIMUM:103,NUMBER_MAXIMUM_EXCLUSIVE:104,NUMBER_NOT_A_NUMBER:105,STRING_LENGTH_SHORT:200,STRING_LENGTH_LONG:201,STRING_PATTERN:202,OBJECT_PROPERTIES_MINIMUM:300,OBJECT_PROPERTIES_MAXIMUM:301,OBJECT_REQUIRED:302,OBJECT_ADDITIONAL_PROPERTIES:303,OBJECT_DEPENDENCY_KEY:304,ARRAY_LENGTH_SHORT:400,ARRAY_LENGTH_LONG:401,ARRAY_UNIQUE:402,ARRAY_ADDITIONAL_ITEMS:403,FORMAT_CUSTOM:500,KEYWORD_CUSTOM:501,CIRCULAR_REFERENCE:600,UNKNOWN_PROPERTY:1e3},b={};for(var w in v)b[v[w]]=w;var _={INVALID_TYPE:"Invalid type: {type} (expected {expected})",ENUM_MISMATCH:"No enum match for: {value}",ANY_OF_MISSING:'Data does not match any schemas from "anyOf"',ONE_OF_MISSING:'Data does not match any schemas from "oneOf"',ONE_OF_MULTIPLE:'Data is valid against more than one schema from "oneOf": indices {index1} and {index2}',NOT_PASSED:'Data matches schema from "not"',NUMBER_MULTIPLE_OF:"Value {value} is not a multiple of {multipleOf}",NUMBER_MINIMUM:"Value {value} is less than minimum {minimum}",NUMBER_MINIMUM_EXCLUSIVE:"Value {value} is equal to exclusive minimum {minimum}",NUMBER_MAXIMUM:"Value {value} is greater than maximum {maximum}",NUMBER_MAXIMUM_EXCLUSIVE:"Value {value} is equal to exclusive maximum {maximum}",NUMBER_NOT_A_NUMBER:"Value {value} is not a valid number",STRING_LENGTH_SHORT:"String is too short ({length} chars), minimum {minimum}",STRING_LENGTH_LONG:"String is too long ({length} chars), maximum {maximum}",STRING_PATTERN:"String does not match pattern: {pattern}",OBJECT_PROPERTIES_MINIMUM:"Too few properties defined ({propertyCount}), minimum {minimum}",OBJECT_PROPERTIES_MAXIMUM:"Too many properties defined ({propertyCount}), maximum {maximum}",OBJECT_REQUIRED:"Missing required property: {key}",OBJECT_ADDITIONAL_PROPERTIES:"Additional properties not allowed",OBJECT_DEPENDENCY_KEY:"Dependency failed - key must exist: {missing} (due to key: {key})",ARRAY_LENGTH_SHORT:"Array is too short ({length}), minimum {minimum}",ARRAY_LENGTH_LONG:"Array is too long ({length}), maximum {maximum}",ARRAY_UNIQUE:"Array items are not unique (indices {match1} and {match2})",ARRAY_ADDITIONAL_ITEMS:"Additional items not allowed",FORMAT_CUSTOM:"Format validation failed ({message})",KEYWORD_CUSTOM:"Keyword failed: {key} ({message})",CIRCULAR_REFERENCE:"Circular $refs: {urls}",UNKNOWN_PROPERTY:"Unknown property (not in schema)"};function x(t,e,n,r,i){if(Error.call(this),void 0===t)throw new Error("No error code supplied: "+r);this.message="",this.params=e,this.code=t,this.dataPath=n||"",this.schemaPath=r||"",this.subErrors=i||null;var s=new Error(this.message);if(this.stack=s.stack||s.stacktrace,!this.stack)try{throw s}catch(s){this.stack=s.stack||s.stacktrace}}x.prototype=Object.create(Error.prototype),x.prototype.constructor=x,x.prototype.name="ValidationError",x.prototype.prefixWith=function(t,e){if(null!==t&&(t=t.replace(/~/g,"~0").replace(/\//g,"~1"),this.dataPath="/"+t+this.dataPath),null!==e&&(e=e.replace(/~/g,"~0").replace(/\//g,"~1"),this.schemaPath="/"+e+this.schemaPath),null!==this.subErrors)for(var n=0;n<this.subErrors.length;n++)this.subErrors[n].prefixWith(t,e);return this};var C={},S=function t(){var e,n,r=new c,i={setErrorReporter:function(t){return"string"==typeof t?this.language(t):(n=t,!0)},addFormat:function(){r.addFormat.apply(r,arguments)},language:function(t){return t?(C[t]||(t=t.split("-")[0]),!!C[t]&&(e=t,t)):e},addLanguage:function(t,e){var n;for(n in v)e[n]&&!e[v[n]]&&(e[v[n]]=e[n]);var r=t.split("-")[0];if(C[r])for(n in C[t]=Object.create(C[r]),e)void 0===C[r][n]&&(C[r][n]=e[n]),C[t][n]=e[n];else C[t]=e,C[r]=e;return this},freshApi:function(e){var n=t();return e&&n.language(e),n},validate:function(t,i,s,o){var a=y(e),l=n?function(t,e,r){return n(t,e,r)||a(t,e,r)}:a,u=new c(r,!1,l,s,o);"string"==typeof i&&(i={$ref:i}),u.addSchema("",i);var h=u.validateAll(t,i,null,null,"");return!h&&o&&(h=u.banUnknownProperties(t,i)),this.error=h,this.missing=u.missing,this.valid=null===h,this.valid},validateResult:function(){var t={toString:function(){return this.valid?"valid":this.error.message}};return this.validate.apply(t,arguments),t},validateMultiple:function(t,i,s,o){var a=y(e),l=n?function(t,e,r){return n(t,e,r)||a(t,e,r)}:a,u=new c(r,!0,l,s,o);"string"==typeof i&&(i={$ref:i}),u.addSchema("",i),u.validateAll(t,i,null,null,""),o&&u.banUnknownProperties(t,i);var h={toString:function(){return this.valid?"valid":this.error.message}};return h.errors=u.errors,h.missing=u.missing,h.valid=0===h.errors.length,h},addSchema:function(){return r.addSchema.apply(r,arguments)},getSchema:function(){return r.getSchema.apply(r,arguments)},getSchemaMap:function(){return r.getSchemaMap.apply(r,arguments)},getSchemaUris:function(){return r.getSchemaUris.apply(r,arguments)},getMissingUris:function(){return r.getMissingUris.apply(r,arguments)},dropSchemas:function(){r.dropSchemas.apply(r,arguments)},defineKeyword:function(){r.defineKeyword.apply(r,arguments)},defineError:function(t,e,n){if("string"!=typeof t||!/^[A-Z]+(_[A-Z]+)*$/.test(t))throw new Error("Code name must be a string in UPPER_CASE_WITH_UNDERSCORES");if("number"!=typeof e||e%1!=0||e<1e4)throw new Error("Code number must be an integer > 10000");if(void 0!==v[t])throw new Error("Error already defined: "+t+" as "+v[t]);if(void 0!==b[e])throw new Error("Error code already used: "+b[e]+" as "+e);for(var r in v[t]=e,b[e]=t,_[t]=_[e]=n,C){var i=C[r];i[t]&&(i[e]=i[e]||i[t])}},reset:function(){r.reset(),this.error=null,this.missing=[],this.valid=!0},missing:[],error:null,valid:!0,normSchema:m,resolveUrl:f,getDocumentUri:g,errorCodes:v};return i.language("en"),i}();return S.addLanguage("en-gb",_),S.tv4=S,S},void 0===(r=n.apply(e,[]))||(t.exports=r)},199:function(t,e,n){var r;"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"},i={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 r,i=this;"function"==typeof AbortController&&(r=new AbortController);var s=fetch(t,{headers:{Accept:"application/jrd+json, application/json"},signal:r?r.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(i.__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})),r&&r.abort()},i.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 r=this,i=!1,s=new XMLHttpRequest;function a(){if(!i)return i=!0,200===s.status?r.__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=r.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,r,s){var a=JSON.parse(e);if("object"!=typeof a||"object"!=typeof a.links)return void 0!==a.error?r(o({message:a.error,request:t})):r(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(i)),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 u=JSON.parse(e).properties;for(var h in u)u.hasOwnProperty(h)&&"http://packetizer.com/ns/name"===h&&(c.idx.properties.name=u[h]);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,r="";r=t.indexOf("://")>-1?t.replace(/ /g,"").split("/")[2]:t.replace(/ /g,"").split("@")[1];var i=0,o="https";function a(){var e="";return t.split("://")[1]||(e="acct:"),o+"://"+r+"/.well-known/"+s[i]+"?resource="+e+t}function l(t){if(n.config.uri_fallback&&"webfist.org"!==r&&i!==s.length-1)return i+=1,c();if(!n.config.tls_only&&"https"===o)return i=0,o="http",c();if(!n.config.webfist_fallback||"webfist.org"===r)return e(t);i=0,o="http",r="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(r){n.__processJRD(t,r,e,function(t){e(null,t)})})}return n.__isLocalhost(r)&&(o="http"),setTimeout(c,0)},a.prototype.lookupLink=function(t,e,n){if(!i.hasOwnProperty(e))return n("unsupported rel "+e);this.lookup(t,function(t,r){var i=r.idx.links[e];return t?n(t):0===i.length?n('no links found with rel="'+e+'"'):n(null,i[0])})},void 0===(r=function(){return a}.apply(e,[]))||(t.exports=r)}()},317:function(t){t.exports=XMLHttpRequest}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var s=e[r]={exports:{}};return t[r].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}()),qN.exports);
/*! For license information please see remotestorage.js.LICENSE.txt */const WN=BA(VN),HN="0123456789ABCDEFGHJKMNPQRSTVWXYZ",GN=0xffffffffffff;var KN;!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"}(KN||(KN={}));class ZN extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function YN(t){const e=Math.floor(32*t())%32;return HN.charAt(e)}const XN={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"]},JN={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"]},QN={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,2)}/${t.substring(2,4)}/${e}`}t.declareType("place",XN),t.declareType("list",JN);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,r){const i=`_lists/${e}`;let s=await t.getObject(i);const o=(new Date).toISOString();return s?(s.title=n,r&&(s.color=r),s.updatedAt=o):s={id:e,title:n,color:r,placeRefs:[],createdAt:o,updatedAt:o},await t.storeObject("list",i,s),s},async delete(e){await t.remove(`_lists/${e}`)},async addPlace(e,n,r){const i=`_lists/${e}`,s=await t.getObject(i);if(!s)throw new Error(`List not found: ${e}`);return-1===s.placeRefs.findIndex(t=>t.id===n)&&(s.placeRefs.push({id:n,geohash:r}),s.updatedAt=(new Date).toISOString(),await t.storeObject("list",i,s)),s},async removePlace(e,n){const r=`_lists/${e}`,i=await t.getObject(r);if(!i)throw new Error(`List not found: ${e}`);const s=i.placeRefs.findIndex(t=>t.id===n);return-1!==s&&(i.placeRefs.splice(s,1),i.updatedAt=(new Date).toISOString(),await t.storeObject("list",r,i)),i},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)}},r={lists:n,store:async function(n){const r=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 ZN(KN.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new ZN(KN.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>GN)throw new ZN(KN.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${GN}: ${t}`);if(t<0)throw new ZN(KN.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new ZN(KN.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,r="";for(let i=e;i>0;i--)n=t%32,r=HN.charAt(n)+r,t=(t-n)/32;return r}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=YN(e)+n;return n}(16,t)}(),r="number"==typeof t.lat?t.lat:0,i="number"==typeof t.lon?t.lon:0,s=t.title||"Untitled Place",o=t.geohash||DD.encode(r,i,10),a={...t,id:n,lat:r,lon:i,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),i=e(r.geohash,r.id);return await t.storeObject("place",i,r),r},remove:async function(r,i){if(!r||!i)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===r);-1!==n&&(e.placeRefs.splice(n,1),e.updatedAt=(new Date).toISOString(),await t.storeObject("list",`_lists/${e.id}`,e))}));const o=e(i,r);return t.remove(o)},get:async function(n,r){if(!n||!r)throw new Error("Both id and geohash are required to get a place");const i=e(r,n);return t.getObject(i)},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=[],r=async e=>{const r=await t.getAll(e,!1);r&&Object.values(r).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 r(`${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),i=e(n);await Promise.all(i.map(async n=>{const i=await t.getListing(n,!1),s=e(i);await Promise.all(s.map(async t=>{await r(n+t)}))}))}return n}};return{exports:r}}};var tj,ej,nj={exports:{}},rj=tj?nj.exports:(tj=1,self,ej=()=>(()=>{var t={d:(e,n)=>{for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function r(t){var e=function(t){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==n(e)?e:e+""}t.d(e,{default:()=>i});const i=function(){return t=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},e=[{key:"log",value:function(){if(this.logging){for(var t,e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];(t=console).debug.apply(t,["[RS-WIDGET] "].concat(n))}}},{key:"eventHandler",value:function(t,e){var n=this;switch(this.log("EVENT: ",t),t){case"ready":this.setState(this.state);break;case"sync-started":case"sync-req-done":this.handleSyncStarted();break;case"sync-done":if(this.online&&(null==e||!e.completed))return;this.syncInProgress=!1,this.rsSyncButton.classList.remove("rs-rotate"),this.updateLastSyncedStatus(),!this.closed&&this.shouldCloseWhenSyncDone&&setTimeout(this.close.bind(this),this.autoCloseAfter);break;case"disconnected":this.active=!1,this.setOnline(),this.setBackendClass(),this.open(),this.setInitialState();break;case"connected":this.active=!0,this.online=!0,this.rs.hasFeature("Sync")?(this.shouldCloseWhenSyncDone=!0,this.rs.on("sync-req-done",function(t){return n.eventHandler("sync-req-done",t)}),this.rs.on("sync-done",function(t){return n.eventHandler("sync-done",t)})):(this.rsSyncButton.classList.add("rs-hidden"),setTimeout(this.close.bind(this),this.autoCloseAfter));var r=this.rs.remote.userAddress;this.rsConnectedUser.innerHTML=r,this.setBackendClass(this.rs.backend),this.rsConnectedLabel.textContent="Connected",this.setState("connected");break;case"network-offline":this.setOffline();break;case"network-online":this.setOnline();break;case"error":this.setBackendClass(this.rs.backend),"DiscoveryError"===(null==e?void 0:e.name)?this.handleDiscoveryError(e):"SyncError"===(null==e?void 0:e.name)?this.handleSyncError(e):"Unauthorized"===(null==e?void 0:e.name)?this.handleUnauthorized(e):console.debug('Encountered unhandled error: "'.concat(e,'"'))}}},{key:"setState",value:function(t){if(t){this.log("Setting state ",t);var e=this.parentContainerEl.querySelector(".rs-box.rs-selected");e&&(e.classList.remove("rs-selected"),e.setAttribute("aria-hidden","true"));var n=this.parentContainerEl.querySelector(".rs-box.rs-box-"+t);n&&(n.classList.add("rs-selected"),n.setAttribute("aria-hidden","false"));var r=this.rsWidget.className.match(/rs-state-\S+/g)[0];this.rsWidget.classList.remove(r),this.rsWidget.classList.add("rs-state-".concat(t||this.state)),this.state=t}}},{key:"setInitialState",value:function(){this.skipInitial?this.showChooseOrSignIn():this.setState("initial")}},{key:"createHtmlTemplate",value:function(){var t=document.createElement("div");t.id="remotestorage-widget",t.innerHTML='<div class="remotestorage-widget-modal-backdrop"></div> <div class="rs-widget rs-state-initial"> <div class="rs-widget-icon"> <svg class="rs-main-logo" id="rs-main-logo-remotestorage" xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" width="0.739008in" height="0.853339in" style="shape-rendering:geometricPrecision;text-rendering:geometricPrecision;image-rendering:optimizeQuality;fill-rule:evenodd;clip-rule:evenodd" viewBox="0 0 739 853" xmlns:xlink="http://www.w3.org/1999/xlink"> <g> <polygon class="rs-logo-shape" points="370,754 0,542 0,640 185,747 370,853 554,747 739,640 739,525 739,525 739,476 739,427 739,378 653,427 370,589 86,427 86,427 86,361 185,418 370,524 554,418 653,361 739,311 739,213 739,213 554,107 370,0 185,107 58,180 144,230 228,181 370,100 511,181 652,263 370,425 87,263 87,263 0,213 0,213 0,311 0,378 0,427 0,476 86,525 185,582 370,689 554,582 653,525 653,590 653,592 "/> </g> </svg> <svg class="rs-main-logo" id="rs-main-logo-dropbox" width="40" height="36" xml:space="preserve" stroke-miterlimit="1.4142" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 104 97" stroke-linejoin="round" version="1.1" clip-rule="evenodd"> <path d="m30.691 0l-30.691 20.039 21.221 16.994 30.946-19.108-21.476-17.925z" fill="#007ee5"/> <path d="m0 54.028l30.691 20.039 21.476-17.926-30.945-19.108-21.222 16.995z" fill="#007ee5"/> <path d="m52.167 56.142l21.477 17.926 30.696-20.039-21.227-16.995-30.946 19.108z" fill="#007ee5"/> <path d="m104.34 20.039l-30.696-20.039-21.477 17.925 30.946 19.108 21.227-16.994z" fill="#007ee5"/> <path d="m52.23 59.998l-21.538 17.873-9.218-6.018v6.747l30.756 18.443 30.756-18.443v-6.747l-9.216 6.018-21.54-17.873z" fill="#007ee5"/> </svg> <svg class="rs-main-logo" id="rs-main-logo-googledrive" width="40" height="40" version="1.1" stroke-miterlimit="1.4142" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" width="100%" stroke-linejoin="round" clip-rule="evenodd" viewBox="0 0 511 442" height="100%"> <path d="m166.23 0.10955l0.44-0.009998 0.04 0.49-0.56 0.02 0.08-0.5z" fill="#0ba25e"/> <path d="m164.52 3.3896c0.39-0.56 1.15-1.68 1.54-2.24l0.7-0.11c0.52 6.34 2.38 12.45 3.78 18.62 6.02 26.81 12.1 53.6 18.43 80.33 4.15 18.33 8.78 36.57 12.58 54.97 3.3 11.39 5.07 23.14 8.26 34.55 2.06 10.64 5.29 21.02 7.02 31.72-0.7 1.17-1.4 2.35-2.11 3.52-0.17 0.27-0.53 0.83-0.7 1.11l-0.26 0.45c-0.04 0.08-0.13 0.25-0.18 0.33-0.39 0.72-1.17 2.15-1.56 2.86-0.07 0.13-0.22 0.39-0.3 0.52l-0.71 1.26c-0.09 0.15-0.26 0.44-0.34 0.59l-0.83 1.45c-0.04 0.08-0.13 0.24-0.18 0.32l-1.03 1.8c-0.09 0.15-0.27 0.47-0.36 0.63-0.1 0.17-0.3 0.5-0.4 0.67l-1.01 1.74c-0.08 0.13-0.24 0.41-0.32 0.54l-0.62 1.05c-0.1 0.18-0.32 0.55-0.42 0.73-0.4 0.69-1.19 2.07-1.59 2.77-0.07 0.12-0.22 0.37-0.29 0.5l-0.63 1.05c-0.1 0.19-0.32 0.55-0.43 0.74-0.37 0.65-1.13 1.94-1.5 2.59-0.09 0.15-0.26 0.46-0.35 0.61l-0.75 1.35c-0.07 0.12-0.21 0.37-0.28 0.49l-0.77 1.35-0.32 0.56c-0.4 0.66-1.18 1.99-1.57 2.66-0.09 0.15-0.27 0.46-0.36 0.62l-0.71 1.28c-0.07 0.12-0.2 0.35-0.26 0.47l-0.82 1.42c-0.07 0.13-0.22 0.38-0.29 0.5-0.42 0.72-1.25 2.15-1.67 2.87-0.07 0.13-0.23 0.39-0.31 0.52l-0.6 0.99c-0.1 0.18-0.31 0.53-0.41 0.71-0.38 0.66-1.13 1.97-1.51 2.63-0.06 0.11-0.2 0.35-0.26 0.46l-0.82 1.46c-0.06 0.11-0.18 0.32-0.24 0.43l-0.84 1.47c-0.07 0.11-0.21 0.35-0.28 0.46-0.39 0.66-1.18 1.96-1.57 2.62-0.11 0.17-0.31 0.53-0.42 0.71l-0.59 1.1c-0.08 0.14-0.23 0.42-0.3 0.55l-1.03 1.78c-0.08 0.15-0.26 0.45-0.34 0.6-0.09 0.14-0.25 0.43-0.33 0.57-1.69 2.85-3.22 5.79-5.09 8.53-10.65 17.37-20.45 35.28-30.76 52.86-16.74 28.97-33.46 57.94-50.2 86.91-2.51 4.51-5.37 8.83-7.53 13.54-0.11 0.16-0.33 0.48-0.44 0.64-4.01-5.78-7.11-12.16-10.78-18.16-16.74-28.99-33.49-57.97-50.22-86.97-9.3-16.31-18.99-32.42-28.04-48.88 35.84-61.85 71.52-123.81 107.29-185.7 0.03-0.06 0.1-0.17 0.13-0.23l0.98-1.68c0.04-0.07 0.12-0.21 0.17-0.28l0.99-1.69c0.09-0.15 0.27-0.47 0.37-0.62 0.1-0.18 0.3-0.53 0.4-0.71l0.99-1.76 0.28-0.48 0.74-1.18c0.13-0.19 0.39-0.58 0.52-0.78 0.36-0.54 1.09-1.63 1.46-2.17 0.04-0.18 0.11-0.53 0.15-0.7l0.87-1.67 0.16-0.28 1-1.68c0.1-0.16 0.3-0.5 0.4-0.67 0.11-0.19 0.33-0.58 0.45-0.78l0.84-1.47c0.09-0.16 0.27-0.47 0.36-0.62l0.7-1.23c0.08-0.13 0.24-0.41 0.32-0.55 0.39-0.67 1.17-2.01 1.57-2.68l0.32-0.56 0.73-1.33c0.06-0.1 0.18-0.32 0.24-0.42l0.96-1.68c0.12-0.2 0.37-0.61 0.5-0.81l0.65-0.98c0.14-0.2 0.41-0.59 0.55-0.78 0.12-0.2 0.37-0.6 0.5-0.8l0.54-1.04c0.18-0.39 0.55-1.17 0.73-1.56l0.55-0.77c0.1-0.14 0.29-0.41 0.39-0.55 0.37-0.31 1.12-0.95 1.49-1.27l-0.07-1.17c0.06-0.14 0.2-0.42 0.27-0.56l0.85-1.69c0.07-0.12 0.21-0.37 0.28-0.49l0.75-1.22c0.14-0.2 0.41-0.6 0.55-0.8 0.34-0.56 1.03-1.66 1.37-2.21 0.1-0.2 0.28-0.59 0.38-0.79l0.53-1.15c0.16-0.3 0.5-0.91 0.67-1.22l0.66-0.94c0.14-0.19 0.42-0.57 0.56-0.76 0.12-0.2 0.37-0.6 0.49-0.8l0.49-1.03c0.11-0.23 0.34-0.7 0.45-0.93l0.86-1.66c0.13-0.2 0.38-0.62 0.5-0.83l0.66-0.98c0.14-0.2 0.42-0.58 0.56-0.78 0.13-0.2 0.38-0.61 0.5-0.81l0.51-1.04c0.15-0.29 0.44-0.86 0.58-1.15l0.68-1.12c0.12-0.19 0.36-0.57 0.49-0.76 0.36-0.56 1.09-1.68 1.46-2.23 0.04-0.17 0.13-0.51 0.17-0.68l0.87-1.66c0.03-0.07 0.11-0.2 0.15-0.27l1-1.71c0.1-0.17 0.29-0.5 0.39-0.67 0.1-0.16 0.29-0.5 0.39-0.66l1-1.75c0.04-0.07 0.12-0.21 0.16-0.29l0.94-1.63c0.05-0.07 0.14-0.22 0.18-0.3l1.01-1.7c0.09-0.16 0.27-0.46 0.36-0.62 0.1-0.17 0.3-0.52 0.4-0.7l0.96-1.69c0.06-0.11 0.18-0.32 0.24-0.42l0.81-1.31c0.13-0.19 0.39-0.58 0.51-0.77 0.37-0.55 1.09-1.65 1.46-2.2 0.03-0.17 0.11-0.51 0.15-0.68l0.85-1.63c0.07-0.12 0.22-0.37 0.29-0.5l0.76-1.19c0.14-0.19 0.4-0.58 0.54-0.78 0.35-0.56 1.05-1.67 1.4-2.23 0.05-0.16 0.14-0.48 0.19-0.64l0.88-1.65c0.04-0.08 0.12-0.22 0.16-0.3l1.02-1.7204c0.08-0.15 0.26-0.45 0.35-0.6 0.09-0.17 0.27-0.49 0.36-0.65l1-1.78c0.05-0.07 0.13-0.22 0.17-0.29l0.95-1.61c0.03-0.05 0.1-0.16 0.13-0.21z" fill="#0ba25e"/> <path id="#fccd48ff" fill="#fccd48" d="m166.67 0.099552c32.48-0.15 64.97-0.02 97.46-0.07 26.88 0.099998 53.78-0.21 80.65 0.15 0.53 1.02 1.07 2.03 1.64 3.04 0.08 0.13 0.23 0.41 0.31 0.55 2.6 4.53 5.24 9.0404 7.81 13.58 0.05 0.08 0.13 0.23 0.18 0.3 4.98 8.55 9.94 17.11 14.83 25.71 0.04 0.07 0.13 0.21 0.17 0.29 0.89 1.53 1.81 3.06 2.72 4.6 0.08 0.13 0.23 0.4 0.31 0.54 1.25 2.2 2.51 4.39 3.78 6.58 0.05 0.07 0.13 0.21 0.17 0.29 1.27 2.18 2.52 4.38 3.78 6.58 0.08 0.13 0.23 0.39 0.31 0.52 1.27 2.14 2.5 4.3 3.72 6.46 0.08 0.13 0.23 0.4 0.31 0.53 11.94 20.62 23.85 41.25 35.75 61.9-1.36 5.99 1.93 11.95 0.1 17.97-1.11 16.45-7.32 32.46-17.56 45.38-3.33 3.61-0.1 8.62-0.46 12.9-3.59 4.35-8.21 7.6-12.57 11.11 0.01 3.28 0.02 6.56-0.13 9.85-3.89 2.57-8.35 4.06-12.3 6.54-0.42 1.33-0.85 2.67-1.26 4.02-3.17 1.5-6.56 2.47-9.73 3.99-12.55-3.6-24.97-7.61-37.49-11.32-11.65-3.85-23.58-6.87-35.11-11.11l-0.66-1.18c-0.06-0.09-0.16-0.27-0.21-0.36l-0.95-1.61-0.4-0.68c-0.09-0.15-0.25-0.44-0.34-0.59-0.71-1.26-1.36-2.55-1.94-3.87l-0.06-0.13-0.07-0.1c-0.44-0.7-1.33-2.11-1.78-2.81-0.05-0.08-0.15-0.24-0.2-0.33l-0.29-0.46c-0.17-0.29-0.52-0.86-0.69-1.15-0.43-0.73-1.3-2.19-1.73-2.92-0.11-0.18-0.32-0.55-0.43-0.73l-0.61-1.04c-0.08-0.14-0.24-0.41-0.32-0.55l-0.97-1.67c-0.04-0.07-0.13-0.21-0.17-0.29l-1.02-1.75c-0.09-0.16-0.27-0.48-0.36-0.63-0.1-0.18-0.31-0.55-0.41-0.73l-0.83-1.46c-0.1-0.17-0.3-0.53-0.4-0.7l-0.64-1.13c-0.09-0.15-0.26-0.45-0.35-0.6-0.39-0.72-1.18-2.15-1.58-2.87-0.04-0.08-0.14-0.25-0.18-0.33l-0.27-0.47c-0.19-0.28-0.56-0.84-0.75-1.12-0.99-1.66-1.92-3.36-2.81-5.07-0.05-0.08-0.14-0.25-0.18-0.33l-0.26-0.46c-0.19-0.27-0.57-0.81-0.76-1.07-0.44-0.79-1.32-2.37-1.76-3.16-0.05-0.08-0.15-0.25-0.19-0.34l-0.27-0.48c-0.2-0.33-0.59-0.98-0.79-1.31l-0.86-1.45c-0.08-0.14-0.25-0.42-0.34-0.57-0.38-0.66-1.15-1.99-1.54-2.65-0.09-0.15-0.26-0.46-0.35-0.62-0.68-1.13-1.33-2.27-1.97-3.41-0.05-0.09-0.16-0.27-0.21-0.36l-0.95-1.63c-0.1-0.16-0.29-0.48-0.38-0.65-0.09-0.15-0.26-0.45-0.35-0.6l-1.01-1.76c-0.05-0.08-0.14-0.25-0.19-0.33l-0.82-1.47c-0.07-0.12-0.2-0.35-0.27-0.47-0.38-0.67-1.15-2-1.53-2.67-0.08-0.14-0.24-0.41-0.32-0.54-0.62-1.03-1.24-2.07-1.84-3.1-27.73-48.12-55.5-96.21-83.29-144.3-1.74-3.0004-3.32-6.1204-5.45-8.8804l-0.05-0.45005-0.04-0.49z"/> <path d="m166.15 0.60955l0.56-0.02 0.05 0.45005-0.7 0.11 0.09-0.54005z" fill="#089156"/> <path d="m166.76 1.0396c2.13 2.76 3.71 5.88 5.45 8.88 27.79 48.09 55.56 96.18 83.29 144.3-12.84 22.36-25.78 44.67-38.67 67.01-1.73-10.7-4.96-21.08-7.02-31.72-3.19-11.41-4.96-23.16-8.26-34.55-3.8-18.4-8.43-36.64-12.58-54.97-6.33-26.73-12.41-53.52-18.43-80.33-1.4-6.17-3.26-12.28-3.78-18.62z" fill="#089156"/> <path d="m164.39 3.5996c0.03-0.05 0.1-0.16 0.13-0.21-0.03 0.05-0.1 0.16-0.13 0.21z" fill="#089156"/> <path d="m163.27 5.4996c0.05-0.07 0.13-0.22 0.17-0.29-0.04 0.07-0.12 0.22-0.17 0.29z" fill="#089156"/> <path d="m161.91 7.9296c0.09-0.17 0.27-0.49 0.36-0.65-0.09 0.16-0.27 0.48-0.36 0.65z" fill="#089156"/> <path d="m161.56 8.5296c0.08-0.15 0.26-0.45 0.35-0.6-0.09 0.15-0.27 0.45-0.35 0.6z" fill="#089156"/> <path d="m160.38 10.55c0.04-0.08 0.12-0.22 0.16-0.3-0.04 0.08-0.12 0.22-0.16 0.3z" fill="#089156"/> <path d="m159.31 12.84c0.05-0.16 0.14-0.48 0.19-0.64-0.05 0.16-0.14 0.48-0.19 0.64z" fill="#089156"/> <path d="m157.91 15.07c0.35-0.56 1.05-1.67 1.4-2.23-0.35 0.56-1.05 1.67-1.4 2.23z" fill="#089156"/> <path d="m157.37 15.85c0.14-0.19 0.4-0.58 0.54-0.78-0.14 0.2-0.4 0.59-0.54 0.78z" fill="#089156"/> <path d="m156.32 17.54c0.07-0.12 0.22-0.37 0.29-0.5-0.07 0.13-0.22 0.38-0.29 0.5z" fill="#089156"/> <path d="m155.32 19.85c0.03-0.17 0.11-0.51 0.15-0.68-0.04 0.17-0.12 0.51-0.15 0.68z" fill="#089156"/> <path d="m153.86 22.05c0.37-0.55 1.09-1.65 1.46-2.2-0.37 0.55-1.09 1.65-1.46 2.2z" fill="#089156"/> <path d="m153.35 22.82c0.13-0.19 0.39-0.58 0.51-0.77-0.12 0.19-0.38 0.58-0.51 0.77z" fill="#089156"/> <path d="m152.3 24.55c0.06-0.11 0.18-0.32 0.24-0.42-0.06 0.1-0.18 0.31-0.24 0.42z" fill="#089156"/> <path d="m150.94 26.94c0.1-0.17 0.3-0.52 0.4-0.7-0.1 0.18-0.3 0.53-0.4 0.7z" fill="#089156"/> <path d="m150.58 27.56c0.09-0.16 0.27-0.46 0.36-0.62-0.09 0.16-0.27 0.46-0.36 0.62z" fill="#089156"/> <path d="m149.39 29.56c0.05-0.07 0.14-0.22 0.18-0.3-0.04 0.08-0.13 0.23-0.18 0.3z" fill="#089156"/> <path d="m148.29 31.48c0.04-0.07 0.12-0.21 0.16-0.29-0.04 0.08-0.12 0.22-0.16 0.29z" fill="#089156"/> <path d="m146.9 33.89c0.1-0.16 0.29-0.5 0.39-0.66-0.1 0.16-0.29 0.5-0.39 0.66z" fill="#089156"/> <path d="m146.51 34.56c0.1-0.17 0.29-0.5 0.39-0.67-0.1 0.17-0.29 0.5-0.39 0.67z" fill="#089156"/> <path d="m145.36 36.54c0.03-0.07 0.11-0.2 0.15-0.27-0.04 0.07-0.12 0.2-0.15 0.27z" fill="#089156"/> <path d="m144.32 38.88c0.04-0.17 0.13-0.51 0.17-0.68-0.04 0.17-0.13 0.51-0.17 0.68z" fill="#089156"/> <path d="m142.86 41.11c0.36-0.56 1.09-1.68 1.46-2.23-0.37 0.55-1.1 1.67-1.46 2.23z" fill="#089156"/> <path d="m142.37 41.87c0.12-0.19 0.36-0.57 0.49-0.76-0.13 0.19-0.37 0.57-0.49 0.76z" fill="#089156"/> <path d="m141.11 44.14c0.15-0.29 0.44-0.86 0.58-1.15-0.14 0.29-0.43 0.86-0.58 1.15z" fill="#089156"/> <path d="m140.1 45.99c0.13-0.2 0.38-0.61 0.5-0.81-0.12 0.2-0.37 0.61-0.5 0.81z" fill="#089156"/> <path d="m139.54 46.77c0.14-0.2 0.42-0.58 0.56-0.78-0.14 0.2-0.42 0.58-0.56 0.78z" fill="#089156"/> <path d="m138.38 48.58c0.13-0.2 0.38-0.62 0.5-0.83-0.12 0.21-0.37 0.63-0.5 0.83z" fill="#089156"/> <path d="m137.07 51.17c0.11-0.23 0.34-0.7 0.45-0.93-0.11 0.23-0.34 0.7-0.45 0.93z" fill="#089156"/> <path d="m136.09 53c0.12-0.2 0.37-0.6 0.49-0.8-0.12 0.2-0.37 0.6-0.49 0.8z" fill="#089156"/> <path d="m135.53 53.76c0.14-0.19 0.42-0.57 0.56-0.76-0.14 0.19-0.42 0.57-0.56 0.76z" fill="#089156"/> <path d="m134.2 55.92c0.16-0.3 0.5-0.91 0.67-1.22-0.17 0.31-0.51 0.92-0.67 1.22z" fill="#089156"/> <path d="m133.29 57.86c0.1-0.2 0.28-0.59 0.38-0.79-0.1 0.2-0.28 0.59-0.38 0.79z" fill="#089156"/> <path d="m131.92 60.07c0.34-0.56 1.03-1.66 1.37-2.21-0.34 0.55-1.03 1.65-1.37 2.21z" fill="#089156"/> <path d="m131.37 60.87c0.14-0.2 0.41-0.6 0.55-0.8-0.14 0.2-0.41 0.6-0.55 0.8z" fill="#089156"/> <path d="m130.34 62.58c0.07-0.12 0.21-0.37 0.28-0.49-0.07 0.12-0.21 0.37-0.28 0.49z" fill="#089156"/> <path d="m129.22 64.83c0.06-0.14 0.2-0.42 0.27-0.56-0.07 0.14-0.21 0.42-0.27 0.56z" fill="#089156"/> <path d="m127.8 67.27c0.35-0.61 1.06-1.83 1.42-2.44l0.07 1.17c-0.37 0.32-1.12 0.96-1.49 1.27z" fill="#089156"/> <path d="m127.41 67.82c0.1-0.14 0.29-0.41 0.39-0.55-0.1 0.14-0.29 0.41-0.39 0.55z" fill="#089156"/> <path d="m126.13 70.15c0.18-0.39 0.55-1.17 0.73-1.56-0.18 0.39-0.55 1.17-0.73 1.56z" fill="#089156"/> <path d="m125.09 71.99c0.12-0.2 0.37-0.6 0.5-0.8-0.13 0.2-0.38 0.6-0.5 0.8z" fill="#089156"/> <path d="m124.54 72.77c0.14-0.2 0.41-0.59 0.55-0.78-0.14 0.19-0.41 0.58-0.55 0.78z" fill="#089156"/> <path d="m123.39 74.56c0.12-0.2 0.37-0.61 0.5-0.81-0.13 0.2-0.38 0.61-0.5 0.81z" fill="#089156"/> <path d="m122.19 76.66c0.06-0.1 0.18-0.32 0.24-0.42-0.06 0.1-0.18 0.32-0.24 0.42z" fill="#089156"/> <path d="m121.14 78.55l0.32-0.56-0.32 0.56z" fill="#089156"/> <path d="m119.25 81.78c0.08-0.13 0.24-0.41 0.32-0.55-0.08 0.14-0.24 0.42-0.32 0.55z" fill="#089156"/> <path d="m118.19 83.63c0.09-0.16 0.27-0.47 0.36-0.62-0.09 0.15-0.27 0.46-0.36 0.62z" fill="#089156"/> <path d="m116.9 85.88c0.11-0.19 0.33-0.58 0.45-0.78-0.12 0.2-0.34 0.59-0.45 0.78z" fill="#089156"/> <path d="m116.5 86.55c0.1-0.16 0.3-0.5 0.4-0.67-0.1 0.17-0.3 0.51-0.4 0.67z" fill="#089156"/> <path d="m115.34 88.51l0.16-0.28-0.16 0.28z" fill="#089156"/> <path d="m114.32 90.88c0.04-0.18 0.11-0.53 0.15-0.7-0.04 0.17-0.11 0.52-0.15 0.7z" fill="#089156"/> <path d="m112.86 93.05c0.36-0.54 1.09-1.63 1.46-2.17-0.37 0.54-1.1 1.63-1.46 2.17z" fill="#089156"/> <path d="m112.34 93.83c0.13-0.19 0.39-0.58 0.52-0.78-0.13 0.2-0.39 0.59-0.52 0.78z" fill="#089156"/> <path d="m111.32 95.49l0.28-0.48-0.28 0.48z" fill="#089156"/> <path d="m109.93 97.96c0.1-0.18 0.3-0.53 0.4-0.71-0.1 0.18-0.3 0.53-0.4 0.71z" fill="#089156"/> <path d="m109.56 98.58c0.09-0.15 0.27-0.47 0.37-0.62-0.1 0.15-0.28 0.47-0.37 0.62z" fill="#089156"/> <path d="m108.4 100.55c0.04-0.07 0.12-0.21 0.17-0.28-0.05 0.07-0.13 0.21-0.17 0.28z" fill="#089156"/> <path d="m107.29 102.46c0.03-0.06 0.1-0.17 0.13-0.23-0.03 0.06-0.1 0.17-0.13 0.23z" fill="#089156"/> <path d="m214.02 225.86c0.17-0.28 0.53-0.84 0.7-1.11-0.17 0.27-0.53 0.83-0.7 1.11z" fill="#089156"/> <path d="m213.58 226.64c0.05-0.08 0.14-0.25 0.18-0.33-0.04 0.08-0.13 0.25-0.18 0.33z" fill="#089156"/> <path d="m211.72 230.02c0.08-0.13 0.23-0.39 0.3-0.52-0.07 0.13-0.22 0.39-0.3 0.52z" fill="#089156"/> <path d="m210.67 231.87c0.08-0.15 0.25-0.44 0.34-0.59-0.09 0.15-0.26 0.44-0.34 0.59z" fill="#089156"/> <path d="m209.66 233.64c0.05-0.08 0.14-0.24 0.18-0.32-0.04 0.08-0.13 0.24-0.18 0.32z" fill="#089156"/> <path d="m208.27 236.07c0.09-0.16 0.27-0.48 0.36-0.63-0.09 0.15-0.27 0.47-0.36 0.63z" fill="#089156"/> <path d="m207.87 236.74c0.1-0.17 0.3-0.5 0.4-0.67-0.1 0.17-0.3 0.5-0.4 0.67z" fill="#089156"/> <path d="m206.54 239.02c0.08-0.13 0.24-0.41 0.32-0.54-0.08 0.13-0.24 0.41-0.32 0.54z" fill="#089156"/> <path d="m205.5 240.8c0.1-0.18 0.32-0.55 0.42-0.73-0.1 0.18-0.32 0.55-0.42 0.73z" fill="#089156"/> <path d="m203.62 244.07c0.07-0.13 0.22-0.38 0.29-0.5-0.07 0.12-0.22 0.37-0.29 0.5z" fill="#089156"/> <path d="m202.56 245.86c0.11-0.19 0.33-0.55 0.43-0.74-0.1 0.19-0.32 0.55-0.43 0.74z" fill="#089156"/> <path d="m200.71 249.06c0.09-0.15 0.26-0.46 0.35-0.61-0.09 0.15-0.26 0.46-0.35 0.61z" fill="#089156"/> <path d="m199.68 250.9c0.07-0.12 0.21-0.37 0.28-0.49-0.07 0.12-0.21 0.37-0.28 0.49z" fill="#089156"/> <path d="m198.59 252.81l0.32-0.56-0.32 0.56z" fill="#089156"/> <path d="m196.66 256.09c0.09-0.16 0.27-0.47 0.36-0.62-0.09 0.15-0.27 0.46-0.36 0.62z" fill="#089156"/> <path d="m195.69 257.84c0.06-0.12 0.19-0.35 0.26-0.47-0.07 0.12-0.2 0.35-0.26 0.47z" fill="#089156"/> <path d="m194.58 259.76c0.07-0.12 0.22-0.37 0.29-0.5-0.07 0.13-0.22 0.38-0.29 0.5z" fill="#089156"/> <path d="m192.6 263.15c0.08-0.13 0.24-0.39 0.31-0.52-0.07 0.13-0.23 0.39-0.31 0.52z" fill="#089156"/> <path d="m191.59 264.85c0.1-0.18 0.31-0.53 0.41-0.71-0.1 0.18-0.31 0.53-0.41 0.71z" fill="#089156"/> <path d="m189.82 267.94c0.06-0.11 0.2-0.35 0.26-0.46-0.06 0.11-0.2 0.35-0.26 0.46z" fill="#089156"/> <path d="m188.76 269.83c0.06-0.11 0.18-0.32 0.24-0.43-0.06 0.11-0.18 0.32-0.24 0.43z" fill="#089156"/> <path d="m187.64 271.76c0.07-0.11 0.21-0.35 0.28-0.46-0.07 0.11-0.21 0.35-0.28 0.46z" fill="#089156"/> <path d="m185.65 275.09c0.11-0.18 0.31-0.54 0.42-0.71-0.11 0.17-0.31 0.53-0.42 0.71z" fill="#089156"/> <path d="m184.76 276.74c0.07-0.13 0.22-0.41 0.3-0.55-0.08 0.14-0.23 0.42-0.3 0.55z" fill="#089156"/> <path d="m183.39 279.12c0.08-0.15 0.26-0.45 0.34-0.6-0.08 0.15-0.26 0.45-0.34 0.6z" fill="#089156"/> <path d="m183.06 279.69c0.08-0.14 0.24-0.43 0.33-0.57-0.09 0.14-0.25 0.43-0.33 0.57z" fill="#089156"/> <path d="m346.42 3.2196c0.08 0.13 0.23 0.41 0.31 0.55-0.08-0.14-0.23-0.42-0.31-0.55z" fill="#10985b"/> <path d="m354.54 17.35c0.05 0.08 0.13 0.23 0.18 0.3-0.05-0.07-0.13-0.22-0.18-0.3z" fill="#10985b"/> <path d="m369.55 43.36c0.04 0.07 0.13 0.21 0.17 0.29-0.04-0.08-0.13-0.22-0.17-0.29z" fill="#10985b"/> <path d="m372.44 48.25c0.08 0.13 0.23 0.4 0.31 0.54-0.08-0.14-0.23-0.41-0.31-0.54z" fill="#10985b"/> <path d="m376.53 55.37c0.05 0.07 0.13 0.21 0.17 0.29-0.04-0.08-0.12-0.22-0.17-0.29z" fill="#10985b"/> <path d="m380.48 62.24c0.08 0.13 0.23 0.39 0.31 0.52-0.08-0.13-0.23-0.39-0.31-0.52z" fill="#10985b"/> <path d="m384.51 69.22c0.08 0.13 0.23 0.4 0.31 0.53-0.08-0.13-0.23-0.4-0.31-0.53z" fill="#10985b"/> <path d="m420.57 131.65c17.39 30.13 34.89 60.21 52.14 90.43 0.08 0.13 0.24 0.41 0.32 0.54 0.4 0.66 1.2 1.97 1.59 2.62 0.08 0.13 0.24 0.4 0.32 0.53l0.8 1.37c0.05 0.09 0.15 0.28 0.21 0.37l1 1.74c0.1 0.17 0.29 0.52 0.39 0.69 0.09 0.15 0.27 0.46 0.36 0.62l0.98 1.7 0.16 0.28 0.98 1.68c0.04 0.07 0.12 0.2 0.16 0.27l0.98 1.7c0.1 0.17 0.29 0.5 0.39 0.67 0.09 0.17 0.28 0.5 0.37 0.66l1.01 1.78c0.14 0.35 0.42 1.03 0.56 1.37l0.28 0.55 0.13 0.29 0.22 0.29 0.59 0.89c0.21 0.33 0.62 0.99 0.83 1.32 0.12 0.2 0.38 0.6 0.5 0.8l0.66 1.05c0.2 0.45 0.6 1.36 0.8 1.81l0.3 0.54 0.11 0.21 0.09 0.13c0.44 0.65 1.31 1.96 1.75 2.61 0.11 0.18 0.33 0.54 0.45 0.72l0.6 1c0.09 0.16 0.27 0.47 0.36 0.62l1.01 1.77c0.09 0.16 0.27 0.48 0.36 0.64s0.27 0.47 0.36 0.63l1 1.71c0.04 0.08 0.13 0.23 0.18 0.3l0.91 1.6c0.06 0.1 0.18 0.31 0.24 0.41l0.92 1.61c0.11 0.18 0.32 0.55 0.43 0.73 0.09 0.16 0.28 0.48 0.37 0.64 0.74 1.23 1.45 2.48 2.11 3.76 0.1 0.21 0.3 0.63 0.39 0.84l0.46 1.04c0.12 0.2 0.36 0.61 0.47 0.81 0.15 0.2 0.44 0.58 0.59 0.77l0.69 0.98c0.12 0.19 0.36 0.57 0.49 0.77l1.01 1.75c0.09 0.16 0.27 0.48 0.36 0.64s0.27 0.47 0.37 0.63l1 1.72c0.04 0.08 0.12 0.22 0.16 0.29l0.95 1.66c0.04 0.07 0.12 0.2 0.16 0.27l0.97 1.69c0.1 0.17 0.3 0.51 0.4 0.69 0.1 0.17 0.3 0.51 0.39 0.68l1 1.72c0.04 0.07 0.11 0.21 0.15 0.28l1.06 1.98-0.01 0.9c-25.02-7.19-49.64-15.72-74.73-22.65-22.77-7.35-45.75-14.04-68.52-21.35 3.17-1.52 6.56-2.49 9.73-3.99 0.41-1.35 0.84-2.69 1.26-4.02 3.95-2.48 8.41-3.97 12.3-6.54 0.15-3.29 0.14-6.57 0.13-9.85 4.36-3.51 8.98-6.76 12.57-11.11 0.36-4.28-2.87-9.29 0.46-12.9 10.24-12.92 16.45-28.93 17.56-45.38 1.83-6.02-1.46-11.98-0.1-17.97z" fill="#f9c941"/> <path d="m509.91 287.41l0.52 0.02 0.29 0.76-0.59 0.04-0.22-0.82z" fill="#f9c941"/> <path d="m257.34 157.32c0.08 0.13 0.24 0.4 0.32 0.54-0.08-0.14-0.24-0.41-0.32-0.54z" fill="#e3b73a"/> <path d="m259.19 160.53c0.07 0.12 0.2 0.35 0.27 0.47-0.07-0.12-0.2-0.35-0.27-0.47z" fill="#e3b73a"/> <path d="m260.28 162.47c0.05 0.08 0.14 0.25 0.19 0.33-0.05-0.08-0.14-0.25-0.19-0.33z" fill="#e3b73a"/> <path d="m261.48 164.56c0.09 0.15 0.26 0.45 0.35 0.6-0.09-0.15-0.26-0.45-0.35-0.6z" fill="#e3b73a"/> <path d="m261.83 165.16c0.09 0.17 0.28 0.49 0.38 0.65-0.1-0.16-0.29-0.48-0.38-0.65z" fill="#e3b73a"/> <path d="m263.16 167.44c0.05 0.09 0.16 0.27 0.21 0.36-0.05-0.09-0.16-0.27-0.21-0.36z" fill="#e3b73a"/> <path d="m265.34 171.21c0.09 0.16 0.26 0.47 0.35 0.62-0.09-0.15-0.26-0.46-0.35-0.62z" fill="#e3b73a"/> <path d="m267.23 174.48c0.09 0.15 0.26 0.43 0.34 0.57-0.08-0.14-0.25-0.42-0.34-0.57z" fill="#e3b73a"/> <path d="m268.43 176.5c0.2 0.33 0.59 0.98 0.79 1.31-0.2-0.33-0.59-0.98-0.79-1.31z" fill="#e3b73a"/> <path d="m269.49 178.29c0.04 0.09 0.14 0.26 0.19 0.34-0.05-0.08-0.15-0.25-0.19-0.34z" fill="#e3b73a"/> <path d="m271.44 181.79c0.19 0.26 0.57 0.8 0.76 1.07-0.19-0.27-0.57-0.81-0.76-1.07z" fill="#e3b73a"/> <path d="m272.46 183.32c0.04 0.08 0.13 0.25 0.18 0.33-0.05-0.08-0.14-0.25-0.18-0.33z" fill="#e3b73a"/> <path d="m275.45 188.72c0.19 0.28 0.56 0.84 0.75 1.12-0.19-0.28-0.56-0.84-0.75-1.12z" fill="#e3b73a"/> <path d="m276.47 190.31c0.04 0.08 0.14 0.25 0.18 0.33-0.04-0.08-0.14-0.25-0.18-0.33z" fill="#e3b73a"/> <path d="m278.23 193.51c0.09 0.15 0.26 0.45 0.35 0.6-0.09-0.15-0.26-0.45-0.35-0.6z" fill="#e3b73a"/> <path d="m279.22 195.24c0.1 0.17 0.3 0.53 0.4 0.7-0.1-0.17-0.3-0.53-0.4-0.7z" fill="#e3b73a"/> <path d="m280.45 197.4c0.1 0.18 0.31 0.55 0.41 0.73-0.1-0.18-0.31-0.55-0.41-0.73z" fill="#e3b73a"/> <path d="m280.86 198.13c0.09 0.15 0.27 0.47 0.36 0.63-0.09-0.16-0.27-0.48-0.36-0.63z" fill="#e3b73a"/> <path d="m282.24 200.51c0.04 0.08 0.13 0.22 0.17 0.29-0.04-0.07-0.13-0.21-0.17-0.29z" fill="#e3b73a"/> <path d="m283.38 202.47c0.08 0.14 0.24 0.41 0.32 0.55-0.08-0.14-0.24-0.41-0.32-0.55z" fill="#e3b73a"/> <path d="m284.31 204.06c0.11 0.18 0.32 0.55 0.43 0.73-0.11-0.18-0.32-0.55-0.43-0.73z" fill="#e3b73a"/> <path d="m286.47 207.71c0.17 0.29 0.52 0.86 0.69 1.15-0.17-0.29-0.52-0.86-0.69-1.15z" fill="#e3b73a"/> <path d="m287.45 209.32c0.05 0.09 0.15 0.25 0.2 0.33-0.05-0.08-0.15-0.24-0.2-0.33z" fill="#e3b73a"/> <path d="m289.43 212.46l0.07 0.1 0.06 0.13c-0.03-0.06-0.1-0.17-0.13-0.23z" fill="#e3b73a"/> <path d="m291.5 216.56c0.09 0.15 0.25 0.44 0.34 0.59-0.09-0.15-0.25-0.44-0.34-0.59z" fill="#e3b73a"/> <path d="m291.84 217.15l0.4 0.68-0.4-0.68z" fill="#e3b73a"/> <path d="m293.19 219.44c0.05 0.09 0.15 0.27 0.21 0.36-0.06-0.09-0.16-0.27-0.21-0.36z" fill="#e3b73a"/> <path d="m294.06 220.98c11.53 4.24 23.46 7.26 35.11 11.11 12.52 3.71 24.94 7.72 37.49 11.32 22.77 7.31 45.75 14 68.52 21.35-0.34 4.87 0.62 9.86-0.59 14.64-0.93 4.65-6.49 5.38-8.78 9.09-30.77 0.01-61.53 0.1-92.29-0.03l-0.66-0.05c-12.71-22.6-25.93-44.92-38.8-67.43z" fill="#e3b73a"/> <path d="m472.71 222.08c0.08 0.13 0.24 0.41 0.32 0.54-0.08-0.13-0.24-0.41-0.32-0.54z" fill="#e8b835"/> <path d="m474.62 225.24c0.08 0.13 0.24 0.4 0.32 0.53-0.08-0.13-0.24-0.4-0.32-0.53z" fill="#e8b835"/> <path d="m475.74 227.14c0.05 0.09 0.15 0.28 0.21 0.37-0.06-0.09-0.16-0.28-0.21-0.37z" fill="#e8b835"/> <path d="m476.95 229.25c0.1 0.17 0.29 0.52 0.39 0.69-0.1-0.17-0.29-0.52-0.39-0.69z" fill="#e8b835"/> <path d="m477.34 229.94c0.09 0.15 0.27 0.46 0.36 0.62-0.09-0.16-0.27-0.47-0.36-0.62z" fill="#e8b835"/> <path d="m478.68 232.26l0.16 0.28-0.16-0.28z" fill="#e8b835"/> <path d="m479.82 234.22c0.04 0.07 0.12 0.2 0.16 0.27-0.04-0.07-0.12-0.2-0.16-0.27z" fill="#e8b835"/> <path d="m480.96 236.19c0.1 0.17 0.29 0.5 0.39 0.67-0.1-0.17-0.29-0.5-0.39-0.67z" fill="#e8b835"/> <path d="m481.35 236.86c0.09 0.17 0.28 0.5 0.37 0.66-0.09-0.16-0.28-0.49-0.37-0.66z" fill="#e8b835"/> <path d="m482.73 239.3c0.14 0.35 0.42 1.03 0.56 1.37-0.14-0.34-0.42-1.02-0.56-1.37z" fill="#e8b835"/> <path d="m483.57 241.22c0.09 0.15 0.26 0.44 0.35 0.58l-0.22-0.29-0.13-0.29z" fill="#e8b835"/> <path d="m484.51 242.69c0.21 0.33 0.62 0.99 0.83 1.32-0.21-0.33-0.62-0.99-0.83-1.32z" fill="#e8b835"/> <path d="m485.34 244.01c0.12 0.2 0.38 0.6 0.5 0.8-0.12-0.2-0.38-0.6-0.5-0.8z" fill="#e8b835"/> <path d="m486.5 245.86c0.2 0.45 0.6 1.36 0.8 1.81-0.2-0.45-0.6-1.36-0.8-1.81z" fill="#e8b835"/> <path d="m487.6 248.21c0.05 0.09 0.15 0.26 0.2 0.34l-0.09-0.13-0.11-0.21z" fill="#e8b835"/> <path d="m489.55 251.16c0.11 0.18 0.33 0.54 0.45 0.72-0.12-0.18-0.34-0.54-0.45-0.72z" fill="#e8b835"/> <path d="m490.6 252.88c0.09 0.16 0.27 0.47 0.36 0.62-0.09-0.15-0.27-0.46-0.36-0.62z" fill="#e8b835"/> <path d="m491.97 255.27c0.09 0.16 0.27 0.48 0.36 0.64-0.09-0.16-0.27-0.48-0.36-0.64z" fill="#e8b835"/> <path d="m492.33 255.91c0.09 0.16 0.27 0.47 0.36 0.63-0.09-0.16-0.27-0.47-0.36-0.63z" fill="#e8b835"/> <path d="m493.69 258.25c0.04 0.08 0.13 0.23 0.18 0.3-0.05-0.07-0.14-0.22-0.18-0.3z" fill="#e8b835"/> <path d="m494.78 260.15c0.06 0.1 0.18 0.31 0.24 0.41-0.06-0.1-0.18-0.31-0.24-0.41z" fill="#e8b835"/> <path d="m495.94 262.17c0.11 0.18 0.32 0.55 0.43 0.73-0.11-0.18-0.32-0.55-0.43-0.73z" fill="#e8b835"/> <path d="m496.37 262.9c0.09 0.16 0.28 0.48 0.37 0.64-0.09-0.16-0.28-0.48-0.37-0.64z" fill="#e8b835"/> <path d="m435.18 264.76c25.09 6.93 49.71 15.46 74.73 22.65l0.22 0.82c-28.09 0.64-56.22 0.11-84.32 0.26 2.29-3.71 7.85-4.44 8.78-9.09 1.21-4.78 0.25-9.77 0.59-14.64z" fill="#e8b835"/> <path d="m498.85 267.3c0.1 0.21 0.3 0.63 0.39 0.84-0.09-0.21-0.29-0.63-0.39-0.84z" fill="#e8b835"/> <path d="m499.7 269.18c0.12 0.2 0.36 0.61 0.47 0.81-0.11-0.2-0.35-0.61-0.47-0.81z" fill="#e8b835"/> <path d="m500.17 269.99c0.15 0.2 0.44 0.58 0.59 0.77-0.15-0.19-0.44-0.57-0.59-0.77z" fill="#e8b835"/> <path d="m501.45 271.74c0.12 0.19 0.36 0.57 0.49 0.77-0.13-0.2-0.37-0.58-0.49-0.77z" fill="#e8b835"/> <path d="m502.95 274.26c0.09 0.16 0.27 0.48 0.36 0.64-0.09-0.16-0.27-0.48-0.36-0.64z" fill="#e8b835"/> <path d="m503.31 274.9c0.09 0.16 0.27 0.47 0.37 0.63-0.1-0.16-0.28-0.47-0.37-0.63z" fill="#e8b835"/> <path d="m504.68 277.25c0.04 0.08 0.12 0.22 0.16 0.29-0.04-0.07-0.12-0.21-0.16-0.29z" fill="#e8b835"/> <path d="m505.79 279.2c0.04 0.07 0.12 0.2 0.16 0.27-0.04-0.07-0.12-0.2-0.16-0.27z" fill="#e8b835"/> <path d="m506.92 281.16c0.1 0.17 0.3 0.51 0.4 0.69-0.1-0.18-0.3-0.52-0.4-0.69z" fill="#e8b835"/> <path d="m507.32 281.85c0.1 0.17 0.3 0.51 0.39 0.68-0.09-0.17-0.29-0.51-0.39-0.68z" fill="#e8b835"/> <path d="m508.71 284.25c0.04 0.07 0.11 0.21 0.15 0.28-0.04-0.07-0.11-0.21-0.15-0.28z" fill="#e8b835"/> <path d="m509.92 286.51c0.13 0.23 0.38 0.69 0.51 0.92l-0.52-0.02 0.01-0.9z" fill="#e8b835"/> <path d="m147.21 341.08c10.31-17.58 20.11-35.49 30.76-52.86 51.63 0.19 103.27-0.29 154.89 0.19l0.66 0.05c-26.11 0.84-52.29-0.22-78.4 0.44-4.98 3.21-8.3 8.41-13.07 11.91-4.43 3.23-7.69 7.73-11.92 11.18-5.93 4.37-10.34 10.43-16.36 14.71-6.96 7.37-14.99 13.58-22.01 20.91-5.26 4.04-9.66 9.03-14.56 13.48-5.39 3.91-9.52 9.21-14.56 13.53-0.13 0.11-0.38 0.33-0.51 0.45-0.27 0.21-0.8 0.65-1.07 0.86-0.13 0.11-0.37 0.31-0.5 0.42-3.97 3.07-7.01 7.12-10.91 10.27-0.13 0.11-0.38 0.32-0.5 0.42-0.13 0.11-0.38 0.32-0.51 0.42-5.69 4.67-10.25 10.58-16.22 14.93-6.01 5.96-12.79 11.08-18.5 17.36-8.44 6.94-15.74 15.13-24.44 21.78 2.16-4.71 5.02-9.03 7.53-13.54 16.74-28.97 33.46-57.94 50.2-86.91z" fill="#296ad9"/> <path d="m89.04 442.17c0.11-0.16 0.33-0.48 0.44-0.64l-0.03 0.65-0.41-0.01z" fill="#296ad9"/> <path id="#2a71e9ff" fill="#2a71e9" d="m333.52 288.46c30.76 0.13 61.52 0.04 92.29 0.03 28.1-0.15 56.23 0.38 84.32-0.26l0.59-0.04 0.4 0.11v0.08c-29.66 51.27-59.23 102.6-88.89 153.88-110.93-0.03-221.86 0.1-332.78-0.08l0.03-0.65c8.7-6.65 16-14.84 24.44-21.78 5.71-6.28 12.49-11.4 18.5-17.36 5.97-4.35 10.53-10.26 16.22-14.93 0.13-0.1 0.38-0.31 0.51-0.42 0.12-0.1 0.37-0.31 0.5-0.42 3.9-3.15 6.94-7.2 10.91-10.27 0.13-0.11 0.37-0.31 0.5-0.42 0.27-0.21 0.8-0.65 1.07-0.86 0.13-0.12 0.38-0.34 0.51-0.45 5.04-4.32 9.17-9.62 14.56-13.53 4.9-4.45 9.3-9.44 14.56-13.48 7.02-7.33 15.05-13.54 22.01-20.91 6.02-4.28 10.43-10.34 16.36-14.71 4.23-3.45 7.49-7.95 11.92-11.18 4.77-3.5 8.09-8.7 13.07-11.91 26.11-0.66 52.29 0.4 78.4-0.44z"/> <path d="m162.13 375.07c0.13-0.12 0.38-0.34 0.51-0.45-0.13 0.11-0.38 0.33-0.51 0.45z" fill="#286ee6"/> <path d="m161.06 375.93c0.27-0.21 0.8-0.65 1.07-0.86-0.27 0.21-0.8 0.65-1.07 0.86z" fill="#286ee6"/> <path d="m160.56 376.35c0.13-0.11 0.37-0.31 0.5-0.42-0.13 0.11-0.37 0.31-0.5 0.42z" fill="#286ee6"/> <path d="m149.15 387.04c0.12-0.1 0.37-0.31 0.5-0.42-0.13 0.11-0.38 0.32-0.5 0.42z" fill="#286ee6"/> <path d="m148.64 387.46c0.13-0.1 0.38-0.31 0.51-0.42-0.13 0.11-0.38 0.32-0.51 0.42z" fill="#286ee6"/> </svg> </div> <div class="rs-box rs-box-initial" aria-hidden="false"> <h3 class="rs-small-headline">Connect your storage</h3> <span class="rs-sub-headline">To sync data with your account</span> </div> <div class="rs-box rs-box-connected" aria-hidden="true"> <div class="rs-connected-text"> <h1 class="rs-user rs-small-headline">user@provider.com</h1> <span class="rs-sub-headline">Connected</span> </div> <div class="rs-connected-buttons"> <button class="rs-button rs-button-small rs-sync" title="Sync now"> <svg class="rs-icon rs-loop-icon" xml:space="preserve" version="1.1" x="0px" y="0px" height="16" width="16" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512" xmlns="http://www.w3.org/2000/svg"> <path d="m273.4 300.5l-0.3 58c48.9-8.2 86.3-51 86.3-102.5 0-15.9-3.6-31-10-44.5-2.8-5.8-6-11.3-9.8-16.5l47.1-43.5c1.1 1.3 2.1 2.7 3.1 4 20.9 28 33.2 62.8 33.2 100.5v3.7c-1.5 71.5-47.6 132-111.4 154.6-12.3 4.3-25.2 7.3-38.5 8.7l-0.1 57-76.2-67-26.2-23 44.4-38.7 58.4-50.8z"/> <path d="m89 252.3c1.6-72.1 48.3-133 112.9-155.2 11.7-4 24-6.8 36.8-8.1l0.1-57 76.1 66.9 26.2 23.1-44.3 38.6-58.4 50.9 0.2-57.9c-48.8 8.3-86 51.1-86 102.4 0 16 3.6 31.1 10.1 44.7 2.7 5.8 6 11.2 9.7 16.3l-47 43.6c-1.3-1.6-2.6-3.3-3.8-5-20.5-27.9-32.6-62.3-32.6-99.6v-3.7z"/> </svg> </button> <button class="rs-button rs-button-small rs-disconnect" title="Disconnect"> <svg class="rs-icon rs-power-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16" height="16" style="enable-background:new 0 0 512 512" xml:space="preserve" viewBox="0 0 512 512" version="1.1"> <path d="m256 256c-17.7 0-32-14.3-32-32v-160c0-17.7 14.3-32 32-32s32 14.3 32 32v160c0 17.7-14.3 32-32 32z"/> <path d="m379 68.8c-5-3-10.8-4.8-17-4.8-17.7 0-32 14.3-32 32 0 6.2 1.8 12 4.8 16.9 2 3.2 4.6 6.1 7.6 8.4 1.2 0.9 2.4 1.7 3.7 2.5 8.1 5.6 15.8 11.9 23 19.1 30.3 30.2 46.9 70.4 46.9 113.1s-16.6 82.9-46.9 113.1c-30.2 30.3-70.4 46.9-113.1 46.9s-82.9-16.6-113.1-46.9c-30.3-30.2-46.9-70.4-46.9-113.1s16.6-82.9 46.9-113.1c7.1-7.1 14.8-13.5 22.9-19 1.4-0.8 2.6-1.6 3.9-2.6 3-2.3 5.5-5.1 7.5-8.3 3.1-4.9 4.8-10.7 4.8-16.9 0-17.7-14.3-32-32-32-6.2 0-12 1.8-16.9 4.8l-0.1-0.1c-60.8 40-101 108.9-101 187.2 0 123.7 100.3 224 224 224s224-100.3 224-224c0-78.3-40.2-147.2-101-187.2z"/> </svg> </button> </div> </div> <div class="rs-box rs-box-error" aria-hidden="true"> <div class="rs-error-message"></div> <div class="rs-error-buttons"> <a href="#" class="rs-reconnect rs-hidden">Renew</a> <button class="rs-button rs-button-small rs-disconnect" title="Disconnect"> <svg class="rs-icon rs-power-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="16" height="16" style="enable-background:new 0 0 512 512" xml:space="preserve" viewBox="0 0 512 512" version="1.1"> <path d="m256 256c-17.7 0-32-14.3-32-32v-160c0-17.7 14.3-32 32-32s32 14.3 32 32v160c0 17.7-14.3 32-32 32z"/> <path d="m379 68.8c-5-3-10.8-4.8-17-4.8-17.7 0-32 14.3-32 32 0 6.2 1.8 12 4.8 16.9 2 3.2 4.6 6.1 7.6 8.4 1.2 0.9 2.4 1.7 3.7 2.5 8.1 5.6 15.8 11.9 23 19.1 30.3 30.2 46.9 70.4 46.9 113.1s-16.6 82.9-46.9 113.1c-30.2 30.3-70.4 46.9-113.1 46.9s-82.9-16.6-113.1-46.9c-30.3-30.2-46.9-70.4-46.9-113.1s16.6-82.9 46.9-113.1c7.1-7.1 14.8-13.5 22.9-19 1.4-0.8 2.6-1.6 3.9-2.6 3-2.3 5.5-5.1 7.5-8.3 3.1-4.9 4.8-10.7 4.8-16.9 0-17.7-14.3-32-32-32-6.2 0-12 1.8-16.9 4.8l-0.1-0.1c-60.8 40-101 108.9-101 187.2 0 123.7 100.3 224 224 224s224-100.3 224-224c0-78.3-40.2-147.2-101-187.2z"/> </svg> </button> </div> </div> <div class="rs-box rs-box-choose" aria-hidden="true"> <div class="rs-content"> <h1 class="rs-big-headline">Connect your storage</h1> <p class="rs-short-desc"> This app allows you to sync data with a <a class="rs-help" href="https://remotestorage.io/" target="_blank" rel="noopener">storage provider of your choice</a>. </p> <div class="rs-button-wrap"> <button class="rs-button rs-button-big rs-choose-rs"> <svg class="rs-logo" fill-rule="evenodd" height="40" width="40" xmlns="http://www.w3.org/2000/svg" version="1.1" style="shape-rendering:geometricPrecision;image-rendering:optimizeQuality;text-rendering:geometricPrecision" clip-rule="evenodd" xml:space="preserve" viewBox="0 0 739 853"> <g> <polygon class="rs-logo-shape" points="370 754 0 542 0 640 185 747 370 853 554 747 739 640 739 525 739 525 739 476 739 427 739 378 653 427 370 589 86 427 86 427 86 361 185 418 370 524 554 418 653 361 739 311 739 213 739 213 554 107 370 0 185 107 58 180 144 230 228 181 370 100 511 181 652 263 370 425 87 263 87 263 0 213 0 213 0 311 0 378 0 427 0 476 86 525 185 582 370 689 554 582 653 525 653 590 653 592"/> </g> </svg> <div>RemoteStorage</div> </button> <button class="rs-button rs-button-big rs-choose-dropbox"> <svg class="dropbox-logo" width="40" height="40" xml:space="preserve" stroke-miterlimit="1.4142" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 104 97" stroke-linejoin="round" version="1.1" clip-rule="evenodd"> <path d="m30.691 0l-30.691 20.039 21.221 16.994 30.946-19.108-21.476-17.925z" fill="#007ee5"/> <path d="m0 54.028l30.691 20.039 21.476-17.926-30.945-19.108-21.222 16.995z" fill="#007ee5"/> <path d="m52.167 56.142l21.477 17.926 30.696-20.039-21.227-16.995-30.946 19.108z" fill="#007ee5"/> <path d="m104.34 20.039l-30.696-20.039-21.477 17.925 30.946 19.108 21.227-16.994z" fill="#007ee5"/> <path d="m52.23 59.998l-21.538 17.873-9.218-6.018v6.747l30.756 18.443 30.756-18.443v-6.747l-9.216 6.018-21.54-17.873z" fill="#007ee5"/> </svg> <div>Dropbox</div> </button> <button class="rs-button rs-button-big rs-choose-googledrive"> <svg class="googledrive-logo" width="40" height="40" version="1.1" stroke-miterlimit="1.4142" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" width="100%" stroke-linejoin="round" clip-rule="evenodd" viewBox="0 0 511 442" height="100%"> <path d="m166.23 0.10955l0.44-0.009998 0.04 0.49-0.56 0.02 0.08-0.5z" fill="#0ba25e"/> <path d="m164.52 3.3896c0.39-0.56 1.15-1.68 1.54-2.24l0.7-0.11c0.52 6.34 2.38 12.45 3.78 18.62 6.02 26.81 12.1 53.6 18.43 80.33 4.15 18.33 8.78 36.57 12.58 54.97 3.3 11.39 5.07 23.14 8.26 34.55 2.06 10.64 5.29 21.02 7.02 31.72-0.7 1.17-1.4 2.35-2.11 3.52-0.17 0.27-0.53 0.83-0.7 1.11l-0.26 0.45c-0.04 0.08-0.13 0.25-0.18 0.33-0.39 0.72-1.17 2.15-1.56 2.86-0.07 0.13-0.22 0.39-0.3 0.52l-0.71 1.26c-0.09 0.15-0.26 0.44-0.34 0.59l-0.83 1.45c-0.04 0.08-0.13 0.24-0.18 0.32l-1.03 1.8c-0.09 0.15-0.27 0.47-0.36 0.63-0.1 0.17-0.3 0.5-0.4 0.67l-1.01 1.74c-0.08 0.13-0.24 0.41-0.32 0.54l-0.62 1.05c-0.1 0.18-0.32 0.55-0.42 0.73-0.4 0.69-1.19 2.07-1.59 2.77-0.07 0.12-0.22 0.37-0.29 0.5l-0.63 1.05c-0.1 0.19-0.32 0.55-0.43 0.74-0.37 0.65-1.13 1.94-1.5 2.59-0.09 0.15-0.26 0.46-0.35 0.61l-0.75 1.35c-0.07 0.12-0.21 0.37-0.28 0.49l-0.77 1.35-0.32 0.56c-0.4 0.66-1.18 1.99-1.57 2.66-0.09 0.15-0.27 0.46-0.36 0.62l-0.71 1.28c-0.07 0.12-0.2 0.35-0.26 0.47l-0.82 1.42c-0.07 0.13-0.22 0.38-0.29 0.5-0.42 0.72-1.25 2.15-1.67 2.87-0.07 0.13-0.23 0.39-0.31 0.52l-0.6 0.99c-0.1 0.18-0.31 0.53-0.41 0.71-0.38 0.66-1.13 1.97-1.51 2.63-0.06 0.11-0.2 0.35-0.26 0.46l-0.82 1.46c-0.06 0.11-0.18 0.32-0.24 0.43l-0.84 1.47c-0.07 0.11-0.21 0.35-0.28 0.46-0.39 0.66-1.18 1.96-1.57 2.62-0.11 0.17-0.31 0.53-0.42 0.71l-0.59 1.1c-0.08 0.14-0.23 0.42-0.3 0.55l-1.03 1.78c-0.08 0.15-0.26 0.45-0.34 0.6-0.09 0.14-0.25 0.43-0.33 0.57-1.69 2.85-3.22 5.79-5.09 8.53-10.65 17.37-20.45 35.28-30.76 52.86-16.74 28.97-33.46 57.94-50.2 86.91-2.51 4.51-5.37 8.83-7.53 13.54-0.11 0.16-0.33 0.48-0.44 0.64-4.01-5.78-7.11-12.16-10.78-18.16-16.74-28.99-33.49-57.97-50.22-86.97-9.3-16.31-18.99-32.42-28.04-48.88 35.84-61.85 71.52-123.81 107.29-185.7 0.03-0.06 0.1-0.17 0.13-0.23l0.98-1.68c0.04-0.07 0.12-0.21 0.17-0.28l0.99-1.69c0.09-0.15 0.27-0.47 0.37-0.62 0.1-0.18 0.3-0.53 0.4-0.71l0.99-1.76 0.28-0.48 0.74-1.18c0.13-0.19 0.39-0.58 0.52-0.78 0.36-0.54 1.09-1.63 1.46-2.17 0.04-0.18 0.11-0.53 0.15-0.7l0.87-1.67 0.16-0.28 1-1.68c0.1-0.16 0.3-0.5 0.4-0.67 0.11-0.19 0.33-0.58 0.45-0.78l0.84-1.47c0.09-0.16 0.27-0.47 0.36-0.62l0.7-1.23c0.08-0.13 0.24-0.41 0.32-0.55 0.39-0.67 1.17-2.01 1.57-2.68l0.32-0.56 0.73-1.33c0.06-0.1 0.18-0.32 0.24-0.42l0.96-1.68c0.12-0.2 0.37-0.61 0.5-0.81l0.65-0.98c0.14-0.2 0.41-0.59 0.55-0.78 0.12-0.2 0.37-0.6 0.5-0.8l0.54-1.04c0.18-0.39 0.55-1.17 0.73-1.56l0.55-0.77c0.1-0.14 0.29-0.41 0.39-0.55 0.37-0.31 1.12-0.95 1.49-1.27l-0.07-1.17c0.06-0.14 0.2-0.42 0.27-0.56l0.85-1.69c0.07-0.12 0.21-0.37 0.28-0.49l0.75-1.22c0.14-0.2 0.41-0.6 0.55-0.8 0.34-0.56 1.03-1.66 1.37-2.21 0.1-0.2 0.28-0.59 0.38-0.79l0.53-1.15c0.16-0.3 0.5-0.91 0.67-1.22l0.66-0.94c0.14-0.19 0.42-0.57 0.56-0.76 0.12-0.2 0.37-0.6 0.49-0.8l0.49-1.03c0.11-0.23 0.34-0.7 0.45-0.93l0.86-1.66c0.13-0.2 0.38-0.62 0.5-0.83l0.66-0.98c0.14-0.2 0.42-0.58 0.56-0.78 0.13-0.2 0.38-0.61 0.5-0.81l0.51-1.04c0.15-0.29 0.44-0.86 0.58-1.15l0.68-1.12c0.12-0.19 0.36-0.57 0.49-0.76 0.36-0.56 1.09-1.68 1.46-2.23 0.04-0.17 0.13-0.51 0.17-0.68l0.87-1.66c0.03-0.07 0.11-0.2 0.15-0.27l1-1.71c0.1-0.17 0.29-0.5 0.39-0.67 0.1-0.16 0.29-0.5 0.39-0.66l1-1.75c0.04-0.07 0.12-0.21 0.16-0.29l0.94-1.63c0.05-0.07 0.14-0.22 0.18-0.3l1.01-1.7c0.09-0.16 0.27-0.46 0.36-0.62 0.1-0.17 0.3-0.52 0.4-0.7l0.96-1.69c0.06-0.11 0.18-0.32 0.24-0.42l0.81-1.31c0.13-0.19 0.39-0.58 0.51-0.77 0.37-0.55 1.09-1.65 1.46-2.2 0.03-0.17 0.11-0.51 0.15-0.68l0.85-1.63c0.07-0.12 0.22-0.37 0.29-0.5l0.76-1.19c0.14-0.19 0.4-0.58 0.54-0.78 0.35-0.56 1.05-1.67 1.4-2.23 0.05-0.16 0.14-0.48 0.19-0.64l0.88-1.65c0.04-0.08 0.12-0.22 0.16-0.3l1.02-1.7204c0.08-0.15 0.26-0.45 0.35-0.6 0.09-0.17 0.27-0.49 0.36-0.65l1-1.78c0.05-0.07 0.13-0.22 0.17-0.29l0.95-1.61c0.03-0.05 0.1-0.16 0.13-0.21z" fill="#0ba25e"/> <path id="#fccd48ff" fill="#fccd48" d="m166.67 0.099552c32.48-0.15 64.97-0.02 97.46-0.07 26.88 0.099998 53.78-0.21 80.65 0.15 0.53 1.02 1.07 2.03 1.64 3.04 0.08 0.13 0.23 0.41 0.31 0.55 2.6 4.53 5.24 9.0404 7.81 13.58 0.05 0.08 0.13 0.23 0.18 0.3 4.98 8.55 9.94 17.11 14.83 25.71 0.04 0.07 0.13 0.21 0.17 0.29 0.89 1.53 1.81 3.06 2.72 4.6 0.08 0.13 0.23 0.4 0.31 0.54 1.25 2.2 2.51 4.39 3.78 6.58 0.05 0.07 0.13 0.21 0.17 0.29 1.27 2.18 2.52 4.38 3.78 6.58 0.08 0.13 0.23 0.39 0.31 0.52 1.27 2.14 2.5 4.3 3.72 6.46 0.08 0.13 0.23 0.4 0.31 0.53 11.94 20.62 23.85 41.25 35.75 61.9-1.36 5.99 1.93 11.95 0.1 17.97-1.11 16.45-7.32 32.46-17.56 45.38-3.33 3.61-0.1 8.62-0.46 12.9-3.59 4.35-8.21 7.6-12.57 11.11 0.01 3.28 0.02 6.56-0.13 9.85-3.89 2.57-8.35 4.06-12.3 6.54-0.42 1.33-0.85 2.67-1.26 4.02-3.17 1.5-6.56 2.47-9.73 3.99-12.55-3.6-24.97-7.61-37.49-11.32-11.65-3.85-23.58-6.87-35.11-11.11l-0.66-1.18c-0.06-0.09-0.16-0.27-0.21-0.36l-0.95-1.61-0.4-0.68c-0.09-0.15-0.25-0.44-0.34-0.59-0.71-1.26-1.36-2.55-1.94-3.87l-0.06-0.13-0.07-0.1c-0.44-0.7-1.33-2.11-1.78-2.81-0.05-0.08-0.15-0.24-0.2-0.33l-0.29-0.46c-0.17-0.29-0.52-0.86-0.69-1.15-0.43-0.73-1.3-2.19-1.73-2.92-0.11-0.18-0.32-0.55-0.43-0.73l-0.61-1.04c-0.08-0.14-0.24-0.41-0.32-0.55l-0.97-1.67c-0.04-0.07-0.13-0.21-0.17-0.29l-1.02-1.75c-0.09-0.16-0.27-0.48-0.36-0.63-0.1-0.18-0.31-0.55-0.41-0.73l-0.83-1.46c-0.1-0.17-0.3-0.53-0.4-0.7l-0.64-1.13c-0.09-0.15-0.26-0.45-0.35-0.6-0.39-0.72-1.18-2.15-1.58-2.87-0.04-0.08-0.14-0.25-0.18-0.33l-0.27-0.47c-0.19-0.28-0.56-0.84-0.75-1.12-0.99-1.66-1.92-3.36-2.81-5.07-0.05-0.08-0.14-0.25-0.18-0.33l-0.26-0.46c-0.19-0.27-0.57-0.81-0.76-1.07-0.44-0.79-1.32-2.37-1.76-3.16-0.05-0.08-0.15-0.25-0.19-0.34l-0.27-0.48c-0.2-0.33-0.59-0.98-0.79-1.31l-0.86-1.45c-0.08-0.14-0.25-0.42-0.34-0.57-0.38-0.66-1.15-1.99-1.54-2.65-0.09-0.15-0.26-0.46-0.35-0.62-0.68-1.13-1.33-2.27-1.97-3.41-0.05-0.09-0.16-0.27-0.21-0.36l-0.95-1.63c-0.1-0.16-0.29-0.48-0.38-0.65-0.09-0.15-0.26-0.45-0.35-0.6l-1.01-1.76c-0.05-0.08-0.14-0.25-0.19-0.33l-0.82-1.47c-0.07-0.12-0.2-0.35-0.27-0.47-0.38-0.67-1.15-2-1.53-2.67-0.08-0.14-0.24-0.41-0.32-0.54-0.62-1.03-1.24-2.07-1.84-3.1-27.73-48.12-55.5-96.21-83.29-144.3-1.74-3.0004-3.32-6.1204-5.45-8.8804l-0.05-0.45005-0.04-0.49z"/> <path d="m166.15 0.60955l0.56-0.02 0.05 0.45005-0.7 0.11 0.09-0.54005z" fill="#089156"/> <path d="m166.76 1.0396c2.13 2.76 3.71 5.88 5.45 8.88 27.79 48.09 55.56 96.18 83.29 144.3-12.84 22.36-25.78 44.67-38.67 67.01-1.73-10.7-4.96-21.08-7.02-31.72-3.19-11.41-4.96-23.16-8.26-34.55-3.8-18.4-8.43-36.64-12.58-54.97-6.33-26.73-12.41-53.52-18.43-80.33-1.4-6.17-3.26-12.28-3.78-18.62z" fill="#089156"/> <path d="m164.39 3.5996c0.03-0.05 0.1-0.16 0.13-0.21-0.03 0.05-0.1 0.16-0.13 0.21z" fill="#089156"/> <path d="m163.27 5.4996c0.05-0.07 0.13-0.22 0.17-0.29-0.04 0.07-0.12 0.22-0.17 0.29z" fill="#089156"/> <path d="m161.91 7.9296c0.09-0.17 0.27-0.49 0.36-0.65-0.09 0.16-0.27 0.48-0.36 0.65z" fill="#089156"/> <path d="m161.56 8.5296c0.08-0.15 0.26-0.45 0.35-0.6-0.09 0.15-0.27 0.45-0.35 0.6z" fill="#089156"/> <path d="m160.38 10.55c0.04-0.08 0.12-0.22 0.16-0.3-0.04 0.08-0.12 0.22-0.16 0.3z" fill="#089156"/> <path d="m159.31 12.84c0.05-0.16 0.14-0.48 0.19-0.64-0.05 0.16-0.14 0.48-0.19 0.64z" fill="#089156"/> <path d="m157.91 15.07c0.35-0.56 1.05-1.67 1.4-2.23-0.35 0.56-1.05 1.67-1.4 2.23z" fill="#089156"/> <path d="m157.37 15.85c0.14-0.19 0.4-0.58 0.54-0.78-0.14 0.2-0.4 0.59-0.54 0.78z" fill="#089156"/> <path d="m156.32 17.54c0.07-0.12 0.22-0.37 0.29-0.5-0.07 0.13-0.22 0.38-0.29 0.5z" fill="#089156"/> <path d="m155.32 19.85c0.03-0.17 0.11-0.51 0.15-0.68-0.04 0.17-0.12 0.51-0.15 0.68z" fill="#089156"/> <path d="m153.86 22.05c0.37-0.55 1.09-1.65 1.46-2.2-0.37 0.55-1.09 1.65-1.46 2.2z" fill="#089156"/> <path d="m153.35 22.82c0.13-0.19 0.39-0.58 0.51-0.77-0.12 0.19-0.38 0.58-0.51 0.77z" fill="#089156"/> <path d="m152.3 24.55c0.06-0.11 0.18-0.32 0.24-0.42-0.06 0.1-0.18 0.31-0.24 0.42z" fill="#089156"/> <path d="m150.94 26.94c0.1-0.17 0.3-0.52 0.4-0.7-0.1 0.18-0.3 0.53-0.4 0.7z" fill="#089156"/> <path d="m150.58 27.56c0.09-0.16 0.27-0.46 0.36-0.62-0.09 0.16-0.27 0.46-0.36 0.62z" fill="#089156"/> <path d="m149.39 29.56c0.05-0.07 0.14-0.22 0.18-0.3-0.04 0.08-0.13 0.23-0.18 0.3z" fill="#089156"/> <path d="m148.29 31.48c0.04-0.07 0.12-0.21 0.16-0.29-0.04 0.08-0.12 0.22-0.16 0.29z" fill="#089156"/> <path d="m146.9 33.89c0.1-0.16 0.29-0.5 0.39-0.66-0.1 0.16-0.29 0.5-0.39 0.66z" fill="#089156"/> <path d="m146.51 34.56c0.1-0.17 0.29-0.5 0.39-0.67-0.1 0.17-0.29 0.5-0.39 0.67z" fill="#089156"/> <path d="m145.36 36.54c0.03-0.07 0.11-0.2 0.15-0.27-0.04 0.07-0.12 0.2-0.15 0.27z" fill="#089156"/> <path d="m144.32 38.88c0.04-0.17 0.13-0.51 0.17-0.68-0.04 0.17-0.13 0.51-0.17 0.68z" fill="#089156"/> <path d="m142.86 41.11c0.36-0.56 1.09-1.68 1.46-2.23-0.37 0.55-1.1 1.67-1.46 2.23z" fill="#089156"/> <path d="m142.37 41.87c0.12-0.19 0.36-0.57 0.49-0.76-0.13 0.19-0.37 0.57-0.49 0.76z" fill="#089156"/> <path d="m141.11 44.14c0.15-0.29 0.44-0.86 0.58-1.15-0.14 0.29-0.43 0.86-0.58 1.15z" fill="#089156"/> <path d="m140.1 45.99c0.13-0.2 0.38-0.61 0.5-0.81-0.12 0.2-0.37 0.61-0.5 0.81z" fill="#089156"/> <path d="m139.54 46.77c0.14-0.2 0.42-0.58 0.56-0.78-0.14 0.2-0.42 0.58-0.56 0.78z" fill="#089156"/> <path d="m138.38 48.58c0.13-0.2 0.38-0.62 0.5-0.83-0.12 0.21-0.37 0.63-0.5 0.83z" fill="#089156"/> <path d="m137.07 51.17c0.11-0.23 0.34-0.7 0.45-0.93-0.11 0.23-0.34 0.7-0.45 0.93z" fill="#089156"/> <path d="m136.09 53c0.12-0.2 0.37-0.6 0.49-0.8-0.12 0.2-0.37 0.6-0.49 0.8z" fill="#089156"/> <path d="m135.53 53.76c0.14-0.19 0.42-0.57 0.56-0.76-0.14 0.19-0.42 0.57-0.56 0.76z" fill="#089156"/> <path d="m134.2 55.92c0.16-0.3 0.5-0.91 0.67-1.22-0.17 0.31-0.51 0.92-0.67 1.22z" fill="#089156"/> <path d="m133.29 57.86c0.1-0.2 0.28-0.59 0.38-0.79-0.1 0.2-0.28 0.59-0.38 0.79z" fill="#089156"/> <path d="m131.92 60.07c0.34-0.56 1.03-1.66 1.37-2.21-0.34 0.55-1.03 1.65-1.37 2.21z" fill="#089156"/> <path d="m131.37 60.87c0.14-0.2 0.41-0.6 0.55-0.8-0.14 0.2-0.41 0.6-0.55 0.8z" fill="#089156"/> <path d="m130.34 62.58c0.07-0.12 0.21-0.37 0.28-0.49-0.07 0.12-0.21 0.37-0.28 0.49z" fill="#089156"/> <path d="m129.22 64.83c0.06-0.14 0.2-0.42 0.27-0.56-0.07 0.14-0.21 0.42-0.27 0.56z" fill="#089156"/> <path d="m127.8 67.27c0.35-0.61 1.06-1.83 1.42-2.44l0.07 1.17c-0.37 0.32-1.12 0.96-1.49 1.27z" fill="#089156"/> <path d="m127.41 67.82c0.1-0.14 0.29-0.41 0.39-0.55-0.1 0.14-0.29 0.41-0.39 0.55z" fill="#089156"/> <path d="m126.13 70.15c0.18-0.39 0.55-1.17 0.73-1.56-0.18 0.39-0.55 1.17-0.73 1.56z" fill="#089156"/> <path d="m125.09 71.99c0.12-0.2 0.37-0.6 0.5-0.8-0.13 0.2-0.38 0.6-0.5 0.8z" fill="#089156"/> <path d="m124.54 72.77c0.14-0.2 0.41-0.59 0.55-0.78-0.14 0.19-0.41 0.58-0.55 0.78z" fill="#089156"/> <path d="m123.39 74.56c0.12-0.2 0.37-0.61 0.5-0.81-0.13 0.2-0.38 0.61-0.5 0.81z" fill="#089156"/> <path d="m122.19 76.66c0.06-0.1 0.18-0.32 0.24-0.42-0.06 0.1-0.18 0.32-0.24 0.42z" fill="#089156"/> <path d="m121.14 78.55l0.32-0.56-0.32 0.56z" fill="#089156"/> <path d="m119.25 81.78c0.08-0.13 0.24-0.41 0.32-0.55-0.08 0.14-0.24 0.42-0.32 0.55z" fill="#089156"/> <path d="m118.19 83.63c0.09-0.16 0.27-0.47 0.36-0.62-0.09 0.15-0.27 0.46-0.36 0.62z" fill="#089156"/> <path d="m116.9 85.88c0.11-0.19 0.33-0.58 0.45-0.78-0.12 0.2-0.34 0.59-0.45 0.78z" fill="#089156"/> <path d="m116.5 86.55c0.1-0.16 0.3-0.5 0.4-0.67-0.1 0.17-0.3 0.51-0.4 0.67z" fill="#089156"/> <path d="m115.34 88.51l0.16-0.28-0.16 0.28z" fill="#089156"/> <path d="m114.32 90.88c0.04-0.18 0.11-0.53 0.15-0.7-0.04 0.17-0.11 0.52-0.15 0.7z" fill="#089156"/> <path d="m112.86 93.05c0.36-0.54 1.09-1.63 1.46-2.17-0.37 0.54-1.1 1.63-1.46 2.17z" fill="#089156"/> <path d="m112.34 93.83c0.13-0.19 0.39-0.58 0.52-0.78-0.13 0.2-0.39 0.59-0.52 0.78z" fill="#089156"/> <path d="m111.32 95.49l0.28-0.48-0.28 0.48z" fill="#089156"/> <path d="m109.93 97.96c0.1-0.18 0.3-0.53 0.4-0.71-0.1 0.18-0.3 0.53-0.4 0.71z" fill="#089156"/> <path d="m109.56 98.58c0.09-0.15 0.27-0.47 0.37-0.62-0.1 0.15-0.28 0.47-0.37 0.62z" fill="#089156"/> <path d="m108.4 100.55c0.04-0.07 0.12-0.21 0.17-0.28-0.05 0.07-0.13 0.21-0.17 0.28z" fill="#089156"/> <path d="m107.29 102.46c0.03-0.06 0.1-0.17 0.13-0.23-0.03 0.06-0.1 0.17-0.13 0.23z" fill="#089156"/> <path d="m214.02 225.86c0.17-0.28 0.53-0.84 0.7-1.11-0.17 0.27-0.53 0.83-0.7 1.11z" fill="#089156"/> <path d="m213.58 226.64c0.05-0.08 0.14-0.25 0.18-0.33-0.04 0.08-0.13 0.25-0.18 0.33z" fill="#089156"/> <path d="m211.72 230.02c0.08-0.13 0.23-0.39 0.3-0.52-0.07 0.13-0.22 0.39-0.3 0.52z" fill="#089156"/> <path d="m210.67 231.87c0.08-0.15 0.25-0.44 0.34-0.59-0.09 0.15-0.26 0.44-0.34 0.59z" fill="#089156"/> <path d="m209.66 233.64c0.05-0.08 0.14-0.24 0.18-0.32-0.04 0.08-0.13 0.24-0.18 0.32z" fill="#089156"/> <path d="m208.27 236.07c0.09-0.16 0.27-0.48 0.36-0.63-0.09 0.15-0.27 0.47-0.36 0.63z" fill="#089156"/> <path d="m207.87 236.74c0.1-0.17 0.3-0.5 0.4-0.67-0.1 0.17-0.3 0.5-0.4 0.67z" fill="#089156"/> <path d="m206.54 239.02c0.08-0.13 0.24-0.41 0.32-0.54-0.08 0.13-0.24 0.41-0.32 0.54z" fill="#089156"/> <path d="m205.5 240.8c0.1-0.18 0.32-0.55 0.42-0.73-0.1 0.18-0.32 0.55-0.42 0.73z" fill="#089156"/> <path d="m203.62 244.07c0.07-0.13 0.22-0.38 0.29-0.5-0.07 0.12-0.22 0.37-0.29 0.5z" fill="#089156"/> <path d="m202.56 245.86c0.11-0.19 0.33-0.55 0.43-0.74-0.1 0.19-0.32 0.55-0.43 0.74z" fill="#089156"/> <path d="m200.71 249.06c0.09-0.15 0.26-0.46 0.35-0.61-0.09 0.15-0.26 0.46-0.35 0.61z" fill="#089156"/> <path d="m199.68 250.9c0.07-0.12 0.21-0.37 0.28-0.49-0.07 0.12-0.21 0.37-0.28 0.49z" fill="#089156"/> <path d="m198.59 252.81l0.32-0.56-0.32 0.56z" fill="#089156"/> <path d="m196.66 256.09c0.09-0.16 0.27-0.47 0.36-0.62-0.09 0.15-0.27 0.46-0.36 0.62z" fill="#089156"/> <path d="m195.69 257.84c0.06-0.12 0.19-0.35 0.26-0.47-0.07 0.12-0.2 0.35-0.26 0.47z" fill="#089156"/> <path d="m194.58 259.76c0.07-0.12 0.22-0.37 0.29-0.5-0.07 0.13-0.22 0.38-0.29 0.5z" fill="#089156"/> <path d="m192.6 263.15c0.08-0.13 0.24-0.39 0.31-0.52-0.07 0.13-0.23 0.39-0.31 0.52z" fill="#089156"/> <path d="m191.59 264.85c0.1-0.18 0.31-0.53 0.41-0.71-0.1 0.18-0.31 0.53-0.41 0.71z" fill="#089156"/> <path d="m189.82 267.94c0.06-0.11 0.2-0.35 0.26-0.46-0.06 0.11-0.2 0.35-0.26 0.46z" fill="#089156"/> <path d="m188.76 269.83c0.06-0.11 0.18-0.32 0.24-0.43-0.06 0.11-0.18 0.32-0.24 0.43z" fill="#089156"/> <path d="m187.64 271.76c0.07-0.11 0.21-0.35 0.28-0.46-0.07 0.11-0.21 0.35-0.28 0.46z" fill="#089156"/> <path d="m185.65 275.09c0.11-0.18 0.31-0.54 0.42-0.71-0.11 0.17-0.31 0.53-0.42 0.71z" fill="#089156"/> <path d="m184.76 276.74c0.07-0.13 0.22-0.41 0.3-0.55-0.08 0.14-0.23 0.42-0.3 0.55z" fill="#089156"/> <path d="m183.39 279.12c0.08-0.15 0.26-0.45 0.34-0.6-0.08 0.15-0.26 0.45-0.34 0.6z" fill="#089156"/> <path d="m183.06 279.69c0.08-0.14 0.24-0.43 0.33-0.57-0.09 0.14-0.25 0.43-0.33 0.57z" fill="#089156"/> <path d="m346.42 3.2196c0.08 0.13 0.23 0.41 0.31 0.55-0.08-0.14-0.23-0.42-0.31-0.55z" fill="#10985b"/> <path d="m354.54 17.35c0.05 0.08 0.13 0.23 0.18 0.3-0.05-0.07-0.13-0.22-0.18-0.3z" fill="#10985b"/> <path d="m369.55 43.36c0.04 0.07 0.13 0.21 0.17 0.29-0.04-0.08-0.13-0.22-0.17-0.29z" fill="#10985b"/> <path d="m372.44 48.25c0.08 0.13 0.23 0.4 0.31 0.54-0.08-0.14-0.23-0.41-0.31-0.54z" fill="#10985b"/> <path d="m376.53 55.37c0.05 0.07 0.13 0.21 0.17 0.29-0.04-0.08-0.12-0.22-0.17-0.29z" fill="#10985b"/> <path d="m380.48 62.24c0.08 0.13 0.23 0.39 0.31 0.52-0.08-0.13-0.23-0.39-0.31-0.52z" fill="#10985b"/> <path d="m384.51 69.22c0.08 0.13 0.23 0.4 0.31 0.53-0.08-0.13-0.23-0.4-0.31-0.53z" fill="#10985b"/> <path d="m420.57 131.65c17.39 30.13 34.89 60.21 52.14 90.43 0.08 0.13 0.24 0.41 0.32 0.54 0.4 0.66 1.2 1.97 1.59 2.62 0.08 0.13 0.24 0.4 0.32 0.53l0.8 1.37c0.05 0.09 0.15 0.28 0.21 0.37l1 1.74c0.1 0.17 0.29 0.52 0.39 0.69 0.09 0.15 0.27 0.46 0.36 0.62l0.98 1.7 0.16 0.28 0.98 1.68c0.04 0.07 0.12 0.2 0.16 0.27l0.98 1.7c0.1 0.17 0.29 0.5 0.39 0.67 0.09 0.17 0.28 0.5 0.37 0.66l1.01 1.78c0.14 0.35 0.42 1.03 0.56 1.37l0.28 0.55 0.13 0.29 0.22 0.29 0.59 0.89c0.21 0.33 0.62 0.99 0.83 1.32 0.12 0.2 0.38 0.6 0.5 0.8l0.66 1.05c0.2 0.45 0.6 1.36 0.8 1.81l0.3 0.54 0.11 0.21 0.09 0.13c0.44 0.65 1.31 1.96 1.75 2.61 0.11 0.18 0.33 0.54 0.45 0.72l0.6 1c0.09 0.16 0.27 0.47 0.36 0.62l1.01 1.77c0.09 0.16 0.27 0.48 0.36 0.64s0.27 0.47 0.36 0.63l1 1.71c0.04 0.08 0.13 0.23 0.18 0.3l0.91 1.6c0.06 0.1 0.18 0.31 0.24 0.41l0.92 1.61c0.11 0.18 0.32 0.55 0.43 0.73 0.09 0.16 0.28 0.48 0.37 0.64 0.74 1.23 1.45 2.48 2.11 3.76 0.1 0.21 0.3 0.63 0.39 0.84l0.46 1.04c0.12 0.2 0.36 0.61 0.47 0.81 0.15 0.2 0.44 0.58 0.59 0.77l0.69 0.98c0.12 0.19 0.36 0.57 0.49 0.77l1.01 1.75c0.09 0.16 0.27 0.48 0.36 0.64s0.27 0.47 0.37 0.63l1 1.72c0.04 0.08 0.12 0.22 0.16 0.29l0.95 1.66c0.04 0.07 0.12 0.2 0.16 0.27l0.97 1.69c0.1 0.17 0.3 0.51 0.4 0.69 0.1 0.17 0.3 0.51 0.39 0.68l1 1.72c0.04 0.07 0.11 0.21 0.15 0.28l1.06 1.98-0.01 0.9c-25.02-7.19-49.64-15.72-74.73-22.65-22.77-7.35-45.75-14.04-68.52-21.35 3.17-1.52 6.56-2.49 9.73-3.99 0.41-1.35 0.84-2.69 1.26-4.02 3.95-2.48 8.41-3.97 12.3-6.54 0.15-3.29 0.14-6.57 0.13-9.85 4.36-3.51 8.98-6.76 12.57-11.11 0.36-4.28-2.87-9.29 0.46-12.9 10.24-12.92 16.45-28.93 17.56-45.38 1.83-6.02-1.46-11.98-0.1-17.97z" fill="#f9c941"/> <path d="m509.91 287.41l0.52 0.02 0.29 0.76-0.59 0.04-0.22-0.82z" fill="#f9c941"/> <path d="m257.34 157.32c0.08 0.13 0.24 0.4 0.32 0.54-0.08-0.14-0.24-0.41-0.32-0.54z" fill="#e3b73a"/> <path d="m259.19 160.53c0.07 0.12 0.2 0.35 0.27 0.47-0.07-0.12-0.2-0.35-0.27-0.47z" fill="#e3b73a"/> <path d="m260.28 162.47c0.05 0.08 0.14 0.25 0.19 0.33-0.05-0.08-0.14-0.25-0.19-0.33z" fill="#e3b73a"/> <path d="m261.48 164.56c0.09 0.15 0.26 0.45 0.35 0.6-0.09-0.15-0.26-0.45-0.35-0.6z" fill="#e3b73a"/> <path d="m261.83 165.16c0.09 0.17 0.28 0.49 0.38 0.65-0.1-0.16-0.29-0.48-0.38-0.65z" fill="#e3b73a"/> <path d="m263.16 167.44c0.05 0.09 0.16 0.27 0.21 0.36-0.05-0.09-0.16-0.27-0.21-0.36z" fill="#e3b73a"/> <path d="m265.34 171.21c0.09 0.16 0.26 0.47 0.35 0.62-0.09-0.15-0.26-0.46-0.35-0.62z" fill="#e3b73a"/> <path d="m267.23 174.48c0.09 0.15 0.26 0.43 0.34 0.57-0.08-0.14-0.25-0.42-0.34-0.57z" fill="#e3b73a"/> <path d="m268.43 176.5c0.2 0.33 0.59 0.98 0.79 1.31-0.2-0.33-0.59-0.98-0.79-1.31z" fill="#e3b73a"/> <path d="m269.49 178.29c0.04 0.09 0.14 0.26 0.19 0.34-0.05-0.08-0.15-0.25-0.19-0.34z" fill="#e3b73a"/> <path d="m271.44 181.79c0.19 0.26 0.57 0.8 0.76 1.07-0.19-0.27-0.57-0.81-0.76-1.07z" fill="#e3b73a"/> <path d="m272.46 183.32c0.04 0.08 0.13 0.25 0.18 0.33-0.05-0.08-0.14-0.25-0.18-0.33z" fill="#e3b73a"/> <path d="m275.45 188.72c0.19 0.28 0.56 0.84 0.75 1.12-0.19-0.28-0.56-0.84-0.75-1.12z" fill="#e3b73a"/> <path d="m276.47 190.31c0.04 0.08 0.14 0.25 0.18 0.33-0.04-0.08-0.14-0.25-0.18-0.33z" fill="#e3b73a"/> <path d="m278.23 193.51c0.09 0.15 0.26 0.45 0.35 0.6-0.09-0.15-0.26-0.45-0.35-0.6z" fill="#e3b73a"/> <path d="m279.22 195.24c0.1 0.17 0.3 0.53 0.4 0.7-0.1-0.17-0.3-0.53-0.4-0.7z" fill="#e3b73a"/> <path d="m280.45 197.4c0.1 0.18 0.31 0.55 0.41 0.73-0.1-0.18-0.31-0.55-0.41-0.73z" fill="#e3b73a"/> <path d="m280.86 198.13c0.09 0.15 0.27 0.47 0.36 0.63-0.09-0.16-0.27-0.48-0.36-0.63z" fill="#e3b73a"/> <path d="m282.24 200.51c0.04 0.08 0.13 0.22 0.17 0.29-0.04-0.07-0.13-0.21-0.17-0.29z" fill="#e3b73a"/> <path d="m283.38 202.47c0.08 0.14 0.24 0.41 0.32 0.55-0.08-0.14-0.24-0.41-0.32-0.55z" fill="#e3b73a"/> <path d="m284.31 204.06c0.11 0.18 0.32 0.55 0.43 0.73-0.11-0.18-0.32-0.55-0.43-0.73z" fill="#e3b73a"/> <path d="m286.47 207.71c0.17 0.29 0.52 0.86 0.69 1.15-0.17-0.29-0.52-0.86-0.69-1.15z" fill="#e3b73a"/> <path d="m287.45 209.32c0.05 0.09 0.15 0.25 0.2 0.33-0.05-0.08-0.15-0.24-0.2-0.33z" fill="#e3b73a"/> <path d="m289.43 212.46l0.07 0.1 0.06 0.13c-0.03-0.06-0.1-0.17-0.13-0.23z" fill="#e3b73a"/> <path d="m291.5 216.56c0.09 0.15 0.25 0.44 0.34 0.59-0.09-0.15-0.25-0.44-0.34-0.59z" fill="#e3b73a"/> <path d="m291.84 217.15l0.4 0.68-0.4-0.68z" fill="#e3b73a"/> <path d="m293.19 219.44c0.05 0.09 0.15 0.27 0.21 0.36-0.06-0.09-0.16-0.27-0.21-0.36z" fill="#e3b73a"/> <path d="m294.06 220.98c11.53 4.24 23.46 7.26 35.11 11.11 12.52 3.71 24.94 7.72 37.49 11.32 22.77 7.31 45.75 14 68.52 21.35-0.34 4.87 0.62 9.86-0.59 14.64-0.93 4.65-6.49 5.38-8.78 9.09-30.77 0.01-61.53 0.1-92.29-0.03l-0.66-0.05c-12.71-22.6-25.93-44.92-38.8-67.43z" fill="#e3b73a"/> <path d="m472.71 222.08c0.08 0.13 0.24 0.41 0.32 0.54-0.08-0.13-0.24-0.41-0.32-0.54z" fill="#e8b835"/> <path d="m474.62 225.24c0.08 0.13 0.24 0.4 0.32 0.53-0.08-0.13-0.24-0.4-0.32-0.53z" fill="#e8b835"/> <path d="m475.74 227.14c0.05 0.09 0.15 0.28 0.21 0.37-0.06-0.09-0.16-0.28-0.21-0.37z" fill="#e8b835"/> <path d="m476.95 229.25c0.1 0.17 0.29 0.52 0.39 0.69-0.1-0.17-0.29-0.52-0.39-0.69z" fill="#e8b835"/> <path d="m477.34 229.94c0.09 0.15 0.27 0.46 0.36 0.62-0.09-0.16-0.27-0.47-0.36-0.62z" fill="#e8b835"/> <path d="m478.68 232.26l0.16 0.28-0.16-0.28z" fill="#e8b835"/> <path d="m479.82 234.22c0.04 0.07 0.12 0.2 0.16 0.27-0.04-0.07-0.12-0.2-0.16-0.27z" fill="#e8b835"/> <path d="m480.96 236.19c0.1 0.17 0.29 0.5 0.39 0.67-0.1-0.17-0.29-0.5-0.39-0.67z" fill="#e8b835"/> <path d="m481.35 236.86c0.09 0.17 0.28 0.5 0.37 0.66-0.09-0.16-0.28-0.49-0.37-0.66z" fill="#e8b835"/> <path d="m482.73 239.3c0.14 0.35 0.42 1.03 0.56 1.37-0.14-0.34-0.42-1.02-0.56-1.37z" fill="#e8b835"/> <path d="m483.57 241.22c0.09 0.15 0.26 0.44 0.35 0.58l-0.22-0.29-0.13-0.29z" fill="#e8b835"/> <path d="m484.51 242.69c0.21 0.33 0.62 0.99 0.83 1.32-0.21-0.33-0.62-0.99-0.83-1.32z" fill="#e8b835"/> <path d="m485.34 244.01c0.12 0.2 0.38 0.6 0.5 0.8-0.12-0.2-0.38-0.6-0.5-0.8z" fill="#e8b835"/> <path d="m486.5 245.86c0.2 0.45 0.6 1.36 0.8 1.81-0.2-0.45-0.6-1.36-0.8-1.81z" fill="#e8b835"/> <path d="m487.6 248.21c0.05 0.09 0.15 0.26 0.2 0.34l-0.09-0.13-0.11-0.21z" fill="#e8b835"/> <path d="m489.55 251.16c0.11 0.18 0.33 0.54 0.45 0.72-0.12-0.18-0.34-0.54-0.45-0.72z" fill="#e8b835"/> <path d="m490.6 252.88c0.09 0.16 0.27 0.47 0.36 0.62-0.09-0.15-0.27-0.46-0.36-0.62z" fill="#e8b835"/> <path d="m491.97 255.27c0.09 0.16 0.27 0.48 0.36 0.64-0.09-0.16-0.27-0.48-0.36-0.64z" fill="#e8b835"/> <path d="m492.33 255.91c0.09 0.16 0.27 0.47 0.36 0.63-0.09-0.16-0.27-0.47-0.36-0.63z" fill="#e8b835"/> <path d="m493.69 258.25c0.04 0.08 0.13 0.23 0.18 0.3-0.05-0.07-0.14-0.22-0.18-0.3z" fill="#e8b835"/> <path d="m494.78 260.15c0.06 0.1 0.18 0.31 0.24 0.41-0.06-0.1-0.18-0.31-0.24-0.41z" fill="#e8b835"/> <path d="m495.94 262.17c0.11 0.18 0.32 0.55 0.43 0.73-0.11-0.18-0.32-0.55-0.43-0.73z" fill="#e8b835"/> <path d="m496.37 262.9c0.09 0.16 0.28 0.48 0.37 0.64-0.09-0.16-0.28-0.48-0.37-0.64z" fill="#e8b835"/> <path d="m435.18 264.76c25.09 6.93 49.71 15.46 74.73 22.65l0.22 0.82c-28.09 0.64-56.22 0.11-84.32 0.26 2.29-3.71 7.85-4.44 8.78-9.09 1.21-4.78 0.25-9.77 0.59-14.64z" fill="#e8b835"/> <path d="m498.85 267.3c0.1 0.21 0.3 0.63 0.39 0.84-0.09-0.21-0.29-0.63-0.39-0.84z" fill="#e8b835"/> <path d="m499.7 269.18c0.12 0.2 0.36 0.61 0.47 0.81-0.11-0.2-0.35-0.61-0.47-0.81z" fill="#e8b835"/> <path d="m500.17 269.99c0.15 0.2 0.44 0.58 0.59 0.77-0.15-0.19-0.44-0.57-0.59-0.77z" fill="#e8b835"/> <path d="m501.45 271.74c0.12 0.19 0.36 0.57 0.49 0.77-0.13-0.2-0.37-0.58-0.49-0.77z" fill="#e8b835"/> <path d="m502.95 274.26c0.09 0.16 0.27 0.48 0.36 0.64-0.09-0.16-0.27-0.48-0.36-0.64z" fill="#e8b835"/> <path d="m503.31 274.9c0.09 0.16 0.27 0.47 0.37 0.63-0.1-0.16-0.28-0.47-0.37-0.63z" fill="#e8b835"/> <path d="m504.68 277.25c0.04 0.08 0.12 0.22 0.16 0.29-0.04-0.07-0.12-0.21-0.16-0.29z" fill="#e8b835"/> <path d="m505.79 279.2c0.04 0.07 0.12 0.2 0.16 0.27-0.04-0.07-0.12-0.2-0.16-0.27z" fill="#e8b835"/> <path d="m506.92 281.16c0.1 0.17 0.3 0.51 0.4 0.69-0.1-0.18-0.3-0.52-0.4-0.69z" fill="#e8b835"/> <path d="m507.32 281.85c0.1 0.17 0.3 0.51 0.39 0.68-0.09-0.17-0.29-0.51-0.39-0.68z" fill="#e8b835"/> <path d="m508.71 284.25c0.04 0.07 0.11 0.21 0.15 0.28-0.04-0.07-0.11-0.21-0.15-0.28z" fill="#e8b835"/> <path d="m509.92 286.51c0.13 0.23 0.38 0.69 0.51 0.92l-0.52-0.02 0.01-0.9z" fill="#e8b835"/> <path d="m147.21 341.08c10.31-17.58 20.11-35.49 30.76-52.86 51.63 0.19 103.27-0.29 154.89 0.19l0.66 0.05c-26.11 0.84-52.29-0.22-78.4 0.44-4.98 3.21-8.3 8.41-13.07 11.91-4.43 3.23-7.69 7.73-11.92 11.18-5.93 4.37-10.34 10.43-16.36 14.71-6.96 7.37-14.99 13.58-22.01 20.91-5.26 4.04-9.66 9.03-14.56 13.48-5.39 3.91-9.52 9.21-14.56 13.53-0.13 0.11-0.38 0.33-0.51 0.45-0.27 0.21-0.8 0.65-1.07 0.86-0.13 0.11-0.37 0.31-0.5 0.42-3.97 3.07-7.01 7.12-10.91 10.27-0.13 0.11-0.38 0.32-0.5 0.42-0.13 0.11-0.38 0.32-0.51 0.42-5.69 4.67-10.25 10.58-16.22 14.93-6.01 5.96-12.79 11.08-18.5 17.36-8.44 6.94-15.74 15.13-24.44 21.78 2.16-4.71 5.02-9.03 7.53-13.54 16.74-28.97 33.46-57.94 50.2-86.91z" fill="#296ad9"/> <path d="m89.04 442.17c0.11-0.16 0.33-0.48 0.44-0.64l-0.03 0.65-0.41-0.01z" fill="#296ad9"/> <path id="#2a71e9ff" fill="#2a71e9" d="m333.52 288.46c30.76 0.13 61.52 0.04 92.29 0.03 28.1-0.15 56.23 0.38 84.32-0.26l0.59-0.04 0.4 0.11v0.08c-29.66 51.27-59.23 102.6-88.89 153.88-110.93-0.03-221.86 0.1-332.78-0.08l0.03-0.65c8.7-6.65 16-14.84 24.44-21.78 5.71-6.28 12.49-11.4 18.5-17.36 5.97-4.35 10.53-10.26 16.22-14.93 0.13-0.1 0.38-0.31 0.51-0.42 0.12-0.1 0.37-0.31 0.5-0.42 3.9-3.15 6.94-7.2 10.91-10.27 0.13-0.11 0.37-0.31 0.5-0.42 0.27-0.21 0.8-0.65 1.07-0.86 0.13-0.12 0.38-0.34 0.51-0.45 5.04-4.32 9.17-9.62 14.56-13.53 4.9-4.45 9.3-9.44 14.56-13.48 7.02-7.33 15.05-13.54 22.01-20.91 6.02-4.28 10.43-10.34 16.36-14.71 4.23-3.45 7.49-7.95 11.92-11.18 4.77-3.5 8.09-8.7 13.07-11.91 26.11-0.66 52.29 0.4 78.4-0.44z"/> <path d="m162.13 375.07c0.13-0.12 0.38-0.34 0.51-0.45-0.13 0.11-0.38 0.33-0.51 0.45z" fill="#286ee6"/> <path d="m161.06 375.93c0.27-0.21 0.8-0.65 1.07-0.86-0.27 0.21-0.8 0.65-1.07 0.86z" fill="#286ee6"/> <path d="m160.56 376.35c0.13-0.11 0.37-0.31 0.5-0.42-0.13 0.11-0.37 0.31-0.5 0.42z" fill="#286ee6"/> <path d="m149.15 387.04c0.12-0.1 0.37-0.31 0.5-0.42-0.13 0.11-0.38 0.32-0.5 0.42z" fill="#286ee6"/> <path d="m148.64 387.46c0.13-0.1 0.38-0.31 0.51-0.42-0.13 0.11-0.38 0.32-0.51 0.42z" fill="#286ee6"/> </svg> <div>Google Drive</div> </button> </div> </div> </div> <div class="rs-box rs-box-sign-in" aria-hidden="true"> <div class="rs-content"> <form name="rs-sign-in-form" class="rs-sign-in-form"> <h1 class="rs-big-headline">Connect your storage</h1> <input type="text" name="rs-user-address" placeholder="user@provider.com" autocapitalize="off"> <div class="rs-sign-in-error rs-hidden"></div> <button type="submit" class="rs-connect">Connect</button> <a href="https://remotestorage.io/get/" class="rs-help" target="_blank" rel="noopener">Need help?</a> </form> </div> </div> </div> ';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.trim();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('<svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg" stroke="#fff">\n <g fill="none" fill-rule="evenodd">\n <g transform="translate(1 1)" stroke-width="2">\n <circle stroke-opacity=".5" cx="18" cy="18" r="18"/>\n <path d="M36 18c0-9.94-8.06-18-18-18"></path>\n </g>\n </g>\n</svg>\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}}],e&&function(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,r(i.key),i)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e}();return e.default})(),nj.exports=ej());const ij=BA(rj),sj=Object.assign({},g.FEATURES);function oj(t){let e=sj[t];return!0===e||!1===e?e:!!g.ENABLE_OPTIONAL_FEATURES}function aj(t){return kf(t)||"string"==typeof t&&!1===/\S/.test(t)}function lj(t){return!aj(t)}function cj(t,e){return t&&"function"==typeof t.isEqual?t.isEqual(e):t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():t===e}let uj={};function hj(t){uj=t}function dj(){return uj}function pj(t,e){return Hr(t,e)}function fj(t,e){if(Symbol.iterator in t)for(let n of t)e(n);else t.forEach,t.forEach(e)}class gj{recordCaches=new Map;added=[];updated=[];removed=[];getCacheForItem(t){let e=this.recordCaches.get(t);if(!e){let n=!1;e=$e(()=>{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,r,i,s){this.wrapRecord=i,this.release=s,this.recordArrayCache=$e(()=>{let s=new Set;De(on(t,"[]")),fj(t,t=>{qe(this.getCacheForItem(t)),s.add(t)}),He(()=>{this.recordCaches.forEach((t,e)=>{s.has(e)||(this.removed.push(i(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&&(r(this.removed),this.removed=[])})}revalidate(){qe(this.recordArrayCache)}}class mj{constructor(t,e,n){this.release=n;let r=!1;this.cache=$e(()=>{fj(t,()=>{}),De(on(t,"[]")),!0===r?Sa(e):r=!0}),this.release=n}revalidate(){qe(this.cache)}}class yj extends Mu{releaseMethods=sd();recordsWatchers=new Map;typeWatchers=new Map;flushWatchers=null;constructor(t){super(t),this.containerDebugAdapter=ui(this).lookup("container-debug-adapter:main")}attributeLimit=3;acceptsModelName=!0;getFilters(){return sd()}watchModelTypes(t,e){let n,r=this.getModelTypes(),i=sd();n=r.map(t=>{let n=t.klass,r=this.wrapModelType(n,t.name);return i.push(this.observeModelType(t.name,e)),r}),t(n);let s=()=>{i.forEach(t=>t()),this.releaseMethods.removeObject(s)};return this.releaseMethods.pushObject(s),s}_nameToClass(t){if("string"==typeof t){let e=ui(this).factoryFor(`model:${t}`);t=e&&e.class}return t}watchRecords(t,e,n,r){let i=this._nameToClass(t),s=this.getRecords(i,t),{recordsWatchers:o}=this,a=o.get(s);return a||(a=new gj(s,e,n,r,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),r=this.getRecords(n,t),{typeWatchers:i}=this,s=i.get(r);return s||(s=new mj(r,()=>{e([this.wrapModelType(n,t)])},()=>{i.delete(r),this.updateFlushWatchers()}),i.set(r,s),this.updateFlushWatchers(),s.revalidate()),s.release}wrapModelType(t,e){return{name:e,count:Cs(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=Z_.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 r=Ff(n);e.push(r)}}),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 vj={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function bj(t,e){return"[]"===e?(t._revalidate(),t._arrTag):"length"===e?(t._revalidate(),t._lengthTag):on(t,e)}class wj extends Mu{_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),lr(this,bj)}[rs](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(t){return di(Cs(this,"arrangedContent"),t)}replace(t,e,n){this.replaceContent(t,e,n)}replaceContent(t,e,n){Hs(Cs(this,"content"),t,e,n)}objectAt(t){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&t>=this._objectsDirtyIndex){let t=Cs(this,"arrangedContent");if(t){let e=this._objects.length=Cs(t,"length");for(let t=this._objectsDirtyIndex;t<e;t++)this._objects[t]=this.objectAtContent(t)}else this._objects.length=0;this._objectsDirtyIndex=-1}return this._objects[t]}get length(){if(this._revalidate(),this._lengthDirty){let t=Cs(this,"arrangedContent");this._length=t?Cs(t,"length"):0,this._lengthDirty=!1}return De(this._lengthTag),this._length}set length(t){let e,n=this.length-t;if(0===n)return;n<0&&(e=new Array(-n),n=0);let r=Cs(this,"content");r&&(Hs(r,t,n,e),this._invalidate())}_updateArrangedContentArray(t){let e=null===this._objects?0:this._objects.length,n=t?Cs(t,"length"):0;this._removeArrangedContentArrayObserver(),qs(this,0,e,n),this._invalidate(),Vs(this,0,e,n,!1),this._addArrangedContentArrayObserver(t)}_addArrangedContentArrayObserver(t){t&&!t.isDestroyed&&(Ys(t,this,vj),this._arrangedContent=t)}_removeArrangedContentArrayObserver(){this._arrangedContent&&Xs(this._arrangedContent,this,vj)}_arrangedContentArrayWillChange(){}_arrangedContentArrayDidChange(t,e,n,r){qs(this,e,n,r);let i=e;i<0&&(i+=Cs(this._arrangedContent,"length")+n-r),(-1===this._objectsDirtyIndex||this._objectsDirtyIndex>i)&&(this._objectsDirtyIndex=i),this._lengthDirty=!0,Vs(this,e,n,r,!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=he(this._arrangedContentTag),G(t)?(this._lengthTag=ke([e,fi(t,"length")]),this._arrTag=ke([e,fi(t,"[]")])):this._lengthTag=this._arrTag=e}}}wj.reopen(nd,{arrangedContent:Ns("content")});const _j=Object.freeze(Object.defineProperty({__proto__:null,default:wj},Symbol.toStringTag,{value:"Module"}));class xj extends ih{}xj.PrototypeMixin.reopen(tc);const Cj=Object.freeze(Object.defineProperty({__proto__:null,default:xj},Symbol.toStringTag,{value:"Module"})),Sj=ql.create({reason:null,isPending:ps("isSettled",function(){return!Cs(this,"isSettled")}).readOnly(),isSettled:ps("isRejected","isFulfilled",function(){return Cs(this,"isRejected")||Cs(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:kj("then"),catch:kj("catch"),finally:kj("finally")});function kj(t){return function(...e){return Cs(this,"promise")[t](...e)}}const Ej=Object.freeze(Object.defineProperty({__proto__:null,default:Sj},Symbol.toStringTag,{value:"Module"}));function Tj(t,e,n){return t.lookup(`controller:${e}`,n)}let Rj;!function(t){function e(){}t.isNamespace=!0,t.toString=function(){return"Ember"},t.Container=gl,t.Registry=El,t._setComponentManager=pj,t._componentManagerCapabilities=jr,t._modifierManagerCapabilities=Vr,t.meta=ae,t._createCache=$e,t._cacheGetValue=qe,t._cacheIsConst=Ve,t._descriptor=Ci,t._getPath=ks,t._setClassicDecorator=Ai,t._tracked=Is,t.beginPropertyChanges=os,t.changeProperties=ls,t.endPropertyChanges=as,t.hasListeners=Ui,t.libraries=Rs,t._ContainerProxyMixin=Zl,t._ProxyMixin=tc,t._RegistryProxyMixin=Gl,t.ActionHandler=Xl,t.Comparable=Yl,t.ComponentLookup=ex,t.EventDispatcher=eh,t._Cache=si,t.GUID_KEY=Q,t.canInvoke=K_,t.generateGuid=tt,t.guidFor=et,t.uuid=Z,t.wrap=mt,t.getOwner=cx,t.onLoad=pl,t.runLoadHooks=fl,t.setOwner=ux,t.Application=hx,t.ApplicationInstance=H_,t.Namespace=Z_,t.A=sd,t.Array=ed,t.NativeArray=rd,t.isArray=Jh,t.makeArray=mu,t.MutableArray=nd,t.ArrayProxy=wj,t.FEATURES={isEnabled:oj,...sj},t._Input=qb,t.Component=Ew,t.Helper=Mw,t.Controller=cd,t.ControllerMixin=ld,t._captureRenderTree=A,t.assert=y,t.warn=z,t.debug=D,t.deprecate=V,t.deprecateFunc=q,t.runInDebug=B,t.inspect=L,t.Debug={registerDeprecationHandler:v,registerWarnHandler:x,isComputed:gs},t.ContainerDebugAdapter=tx,t.DataAdapter=yj,t._assertDestroyablesDestroyed=Nt,t._associateDestroyableChild=Wt,t._enableDestroyableTracking=Dt,t._isDestroying=Zt,t._isDestroyed=Yt,t._registerDestructor=_x,t._unregisterDestructor=xx,t.destroy=Gt,t.Engine=ox,t.EngineInstance=fd,t.Enumerable=ec,t.MutableEnumerable=nc,t.instrument=lh,t.subscribe=dh,t.Instrumentation={instrument:lh,subscribe:dh,unsubscribe:ph,reset:fh},t.Object=Mu,t._action=Pu,t.computed=ps,t.defineProperty=ms,t.get=Cs,t.getProperties=Js,t.notifyPropertyChange=ss,t.observer=Au,t.set=Fs,t.trySet=Ds,t.setProperties=Qs,t.cacheFor=Os,t._dependentKeyCompat=md,t.ComputedProperty=us,t.expandProperties=Fi,t.CoreObject=Su,t.Evented=nh,t.on=$i,t.addListener=Ni,t.removeListener=ji,t.sendEvent=Bi,t.Mixin=ql,t.mixin=Ul,t.Observable=Tu,t.addObserver=Hi,t.removeObserver=Gi,t.PromiseProxyMixin=Sj,t.ObjectProxy=xj,t.RouterDSL=Fp,t.controllerFor=Tj,t.generateController=fp,t.generateControllerFactory=pp,t.HashLocation=bf,t.HistoryLocation=xf,t.NoneLocation=Cf,t.Route=kp,t.Router=af,t.run=ya,t.Service=qf,t.compare=jh,t.isBlank=aj,t.isEmpty=kf,t.isEqual=cj,t.isNone=Sf,t.isPresent=lj,t.typeOf=zh,t.VERSION=oi,t.ViewUtils={getChildViews:Ku,getElementView:Uu,getRootViews:Du,getViewBounds:Yu,getViewBoundingClientRect:Qu,getViewClientRects:Ju,getViewElement:$u,isSimpleClick:Fu,isSerializationFirstNode:hb},t._getComponentTemplate=Jr,t._helperManagerCapabilities=vr,t._setComponentTemplate=Xr,t._setHelperManager=Kr,t._setModifierManager=Gr,t._templateOnlyComponent=Ny,t._invokeHelper=gv,t._hash=dv,t._array=av,t._concat=cv,t._get=hv,t._on=wv,t._fn=uv,t._Backburner=ha,t.inject=e,e.controller=ud,e.service=$f,t.__loader={get require(){return globalThis.require},get define(){return globalThis.define},get registry(){let t=globalThis;return t.requirejs?.entries??t.require.entries}}}(Rj||(Rj={})),Reflect.set(Rj,"RSVP",pu),Object.defineProperty(Rj,"ENV",{get:m,enumerable:!1}),Object.defineProperty(Rj,"lookup",{get:p,set:f,enumerable:!1}),Object.defineProperty(Rj,"onerror",{get:ko,set:function(t){Co=t},enumerable:!1}),Object.defineProperty(Rj,"testing",{get:w,set:_,enumerable:!1}),Object.defineProperty(Rj,"BOOTED",{configurable:!1,enumerable:!1,get:mo,set:yo}),Object.defineProperty(Rj,"TEMPLATES",{get:dj,set:hj,configurable:!1,enumerable:!1}),Object.defineProperty(Rj,"TEMPLATES",{get:dj,set:hj,configurable:!1,enumerable:!1}),Object.defineProperty(Rj,"testing",{get:w,set:_,enumerable:!1}),fl("Ember.Application",hx);let Mj={template:em,Utils:{}},Lj={template:em};function Ij(t){Object.defineProperty(Rj,t,{configurable:!0,enumerable:!0,get:()=>"Handlebars"===t?Mj:Lj})}function Pj(t){Object.defineProperty(Rj,t,{configurable:!0,enumerable:!0,get(){}})}Ij("HTMLBars"),Ij("Handlebars"),Pj("Test"),Pj("setupForTesting"),fl("Ember"),new Proxy(Rj,{get:(t,e,n)=>("string"==typeof e&&Uf(`importing ${e} from the 'ember' barrel file is deprecated.`,Bf.DEPRECATE_IMPORT_EMBER(e)),Reflect.get(t,e,n)),getOwnPropertyDescriptor:(t,e)=>("string"==typeof e&&Uf(`importing ${e} from the 'ember' barrel file is deprecated.`,Bf.DEPRECATE_IMPORT_EMBER(e)),Object.getOwnPropertyDescriptor(t,e))});const Aj=new WeakMap;function Oj(t,e,...n){if(t[e],t.isDestroying)return;"boolean"==typeof n[n.length-1]&&n[n.length-2];let r=Aj.get(t);var i;let s;r||(r=new Map,Aj.set(t,r),_x(t,(i=r,function(){0!==i.size&&i.forEach(t=>ka(t.cancelId))}))),s=r.has(e)?r.get(e).debouncedTask:(...n)=>{r.delete(e),t[e](...n)};let o=Ea(t,s,...n);r.set(e,{debouncedTask:s,cancelId:o})}class Fj extends qf{static{dF(this.prototype,"osm",[$f])}#ct=void fF(this,"osm");rs;widget;static{dF(this.prototype,"placesInView",[Is],function(){return[]})}#ut=void fF(this,"placesInView");static{dF(this.prototype,"savedPlaces",[Is],function(){return[]})}#ht=void fF(this,"savedPlaces");static{dF(this.prototype,"loadedPrefixes",[Is],function(){return[]})}#dt=void fF(this,"loadedPrefixes");static{dF(this.prototype,"currentBbox",[Is],function(){return null})}#pt=void fF(this,"currentBbox");static{dF(this.prototype,"lists",[Is],function(){return[]})}#ft=void fF(this,"lists");static{dF(this.prototype,"version",[Is],function(){return 0})}#gt=void fF(this,"version");static{dF(this.prototype,"initialSyncDone",[Is],function(){return!1})}#mt=void fF(this,"initialSyncDone");static{dF(this.prototype,"connected",[Is],function(){return!1})}#yt=void fF(this,"connected");static{dF(this.prototype,"userAddress",[Is],function(){return null})}#vt=void fF(this,"userAddress");static{dF(this.prototype,"isWidgetOpen",[Is],function(){return!1})}#bt=void fF(this,"isWidgetOpen");constructor(){super(...arguments),this.rs=new WN({modules:[QN]}),this.rs.access.claim("places","rw"),this.rs.caching.enable("/places/"),window.remoteStorage=this.rs,this.widget=new ij(this.rs,{leaveOpen:!0,skipInitial:!0}),this.rs.on("ready",()=>{}),this.rs.on("error",t=>{t&&(console.info("[rs] Error —",`${t.name}: ${t.message}`),"Unauthorized"===t.name&&this.showConnectWidget())}),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),Oj(this,"reloadCurrentView",200))})}handlePlaceChange(t){const{newValue:e,relativePath:n}=t,r=n.split("/"),i=r[r.length-1];if(e){const t={...e,id:i},n=this.savedPlaces.findIndex(t=>t.id===i);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!==i)}get places(){return this.rs.places}notifyChange(){this.version++,Oj(this,"reloadCurrentView",200)}reloadCurrentView(){if(!this.currentBbox)return;const t=ND(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(ej){console.error("Failed to load lists:",ej)}}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 r=t;if(!t.id||!t.geohash){if(!n)return;r=await this.storePlace(t)}try{return n?await this.places.lists.addPlace(e,r.id,r.geohash):await this.places.lists.removePlace(e,r.id),await this.loadLists(),this.findPlaceById(r.id)}catch(ej){throw console.error("Failed to toggle place in list:",ej),ej}}async loadPlacesInBounds(t){const e=ND(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),r=this.placesInView.filter(t=>{if(!t.lat||!t.lon)return!1;try{const e=DD.encode(t.lat,t.lon,4);return!n.has(e)}catch{return!0}});this.placesInView=[...r,...e]}else this.placesInView=e;this.refreshPlaceListAssociations()}else t||(this.placesInView=[]);console.debug("Loaded saved places:",this.placesInView.length)}catch(ej){console.error("Failed to load places:",ej)}}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))}async refreshPlace(t){if(!(t&&t.id&&t.osmId&&t.osmType))return null;try{console.debug(`Checking for updates for ${t.title} (${t.osmId})`);const e=await this.osm.fetchOsmObject(t.osmId,t.osmType);if(!e)return console.warn("Could not fetch fresh data for",t.osmId),null;let n=!1;const r={},i=Math.abs(t.lat-e.lat),s=Math.abs(t.lon-e.lon);(i>1e-5||s>1e-5)&&(n=!0,r.lat=e.lat,r.lon=e.lon);const o=t.osmTags||{},a=e.osmTags||{},l=new Set([...Object.keys(o),...Object.keys(a)]);for(const t of l)if(o[t]!==a[t]){n=!0,r.osmTags=a;break}if(!n)return console.debug("No changes detected for",t.title),null;console.debug("Changes detected:",r);const c={...t,...r},u=RN(o),h=RN(a);return t.title===u&&u!==h&&(c.title=h),await this.updatePlace(c)}catch(ej){return console.error("Failed to refresh place:",ej),null}}showConnectWidget(){this.isWidgetOpen=!0,document.querySelector(".rs-widget")||this.widget.attach("rs-widget-container")}static{pF(this.prototype,"showConnectWidget",[Pu])}closeWidget(){this.isWidgetOpen=!1}static{pF(this.prototype,"closeWidget",[Pu])}disconnect(){this.rs.disconnect(),this.isWidgetOpen=!1}static{pF(this.prototype,"disconnect",[Pu])}}const zj=Object.freeze(Object.defineProperty({__proto__:null,default:Fj},Symbol.toStringTag,{value:"Module"}));class Dj extends qf{static{dF(this.prototype,"message",[Is],function(){return null})}#wt=void fF(this,"message");static{dF(this.prototype,"isVisible",[Is],function(){return!1})}#_t=void fF(this,"isVisible");timeoutId=null;show(t,e=3e3){this.message=t,this.isVisible=!0,this.timeoutId&&clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.isVisible=!1},e)}}const Nj=Object.freeze(Object.defineProperty({__proto__:null,default:Dj},Symbol.toStringTag,{value:"Module"}));function jj(t,e,n,r){const i=t*Math.PI/180,s=n*Math.PI/180,o=(n-t)*Math.PI/180,a=(r-e)*Math.PI/180,l=Math.sin(o/2)*Math.sin(o/2)+Math.cos(i)*Math.cos(s)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}const Bj=Object.freeze(Object.defineProperty({__proto__:null,getDistance:jj},Symbol.toStringTag,{value:"Module"})),Uj={activity:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-activity"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>',angelfish:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M14.94 8.78C13.95 5.9 10.78 1 4.65 1C1.57 1 0 2.18 0 2.18L0.56 2.19C1.42 2.23 3.04 2.33 3.93 2.71C4.02 2.75 4.1 2.82 4.15 2.9L4.22 3.04C4.46 3.55 4.88 4.73 4.28 5.96C4.16 6.18 3.9 6.28 3.67 6.2L3.33 6.09C2.71 5.88 1.79 5.5 1.07 4.97C0.81 4.78 0.44 4.85 0.37 5.16C0.07 6.42 0.07 8.58 0.37 9.84C0.44 10.15 0.81 10.22 1.07 10.03C1.94 9.39 3.08 8.98 3.67 8.8C3.9 8.72 4.16 8.82 4.28 9.04C4.94 10.4 4.37 11.68 4.15 12.1C4.1 12.18 4.02 12.25 3.93 12.29C2.68 12.82 0 12.82 0 12.82C0.58 13.21 2.56 14 5.81 14C11.01 14 13.91 10.86 14.8 9.7C15 9.44 15.06 9.08 14.94 8.78ZM10.46 9.13C9.65 9.13 9 8.48 9 7.68C9 6.88 9.65 6.23 10.46 6.23C11.26 6.23 11.91 6.88 11.91 7.68C11.91 8.48 11.26 9.13 10.46 9.13Z"/>\n</svg>',"arrow-left":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>',barbell:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M4 3.5c-0.5 0 -1 0.5 -1 1v2.5h-0.5v-1.25c0 -0.41 -0.4 -0.75 -0.75 -0.75s-0.75 0.34 -0.75 0.75v1.25h-0.5c-0.28 0 -0.5 0.26 -0.5 0.5s0.22 0.5 0.5 0.5h0.5v1.25c0 0.41 0.4 0.75 0.75 0.75s0.75 -0.34 0.75 -0.75v-1.25h0.5v2.5c0 0.5 0.5 1 1 1s1 -0.5 1 -1v-2.5h5v2.5c0 0.5 0.5 1 1 1s1 -0.5 1 -1v-2.5h0.5v1.25c0 0.41 0.4 0.75 0.75 0.75s0.75 -0.34 0.75 -0.75v-1.25h0.5c0.28 0 0.5 -0.26 0.5 -0.5s-0.22 -0.5 -0.5 -0.5h-0.5v-1.25c0 -0.41 -0.4 -0.75 -0.75 -0.75s-0.75 0.34 -0.75 0.75v1.25h-0.5v-2.5c0 -0.5 -0.5 -1 -1 -1s-1 0.5 -1 1v2.5h-5v-2.5c0 -0.48 -0.5 -1 -1 -1z"/>\n</svg>',banknote:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M1 3C0.45 3 0 3.45 0 4v7c0 0.55 0.45 1 1 1h13c0.55 0 1 -0.45 1 -1V4c0 -0.55 -0.45 -1 -1 -1H1zM1 4h1.5C2.78 4 3 4.22 3 4.5S2.78 5 2.5 5S2 4.78 2 4.5L1.5 5C1.78 5 2 5.22 2 5.5S1.78 6 1.5 6S1 5.78 1 5.5V4zM7.5 4C8.88 4 10 5.57 10 7.5l0 0C10 9.43 8.88 11 7.5 11S5 9.43 5 7.5S6.12 4 7.5 4zM12.5 4H14v1.5C14 5.78 13.78 6 13.5 6S13 5.78 13 5.5S13.22 5 13.5 5L13 4.5C13 4.78 12.78 5 12.5 5S12 4.78 12 4.5S12.22 4 12.5 4zM7.5 5.5c-0.32 0 -0.53 0.11 -0.68 0.25h1.36C8.03 5.61 7.82 5.5 7.5 5.5zM6.63 6C6.58 6.09 6.56 6.17 6.54 6.25h1.91C8.44 6.17 8.42 6.09 8.38 6H6.63zM6.5 6.5v0.25h2V6.5H6.5zM6.5 7v0.25h2V7H6.5zM6.5 7.5v0.25h2V7.5H6.5zM6.5 8L6.25 8.25h2L8.5 8H6.5zM6 8.5c0 0 0.04 0.1 0.1 0.25H8.38L8 8.5H6zM1.5 9C1.78 9 2 9.22 2 9.5S1.78 10 1.5 10L2 10.5C2 10.22 2.22 10 2.5 10S3 10.22 3 10.5S2.78 11 2.5 11H1V9.5C1 9.22 1.22 9 1.5 9zM6.24 9C6.28 9.09 6.31 9.16 6.38 9.25h2.27C8.71 9.11 8.75 9 8.75 9H6.24zM13.5 9C13.78 9 14 9.22 14 9.5V11h-1.5c-0.28 0 -0.5 -0.22 -0.5 -0.5s0.22 -0.5 0.5 -0.5s0.5 0.22 0.5 0.5l0.5 -0.5C13.22 10 13 9.78 13 9.5S13.22 9 13.5 9zM6.57 9.5c0.08 0.09 0.16 0.18 0.26 0.25h1.42C8.35 9.67 8.43 9.59 8.5 9.5H6.57z"/>\n</svg>',"badge-shield-with-fire":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M11.5 0L14.5 2.76C14.02 3.54 12.92 4.69 12.92 5.71C12.92 6.45 13.21 7.15 13.47 7.77C13.69 8.31 14.13 8.92 14.13 9.56C14.13 11.85 12.25 12.57 10.47 13.47L9.83 13.8C8.98 14.23 8.22 14.25 7.5 15C6.78 14.25 6.02 14.23 5.17 13.8L4.53 13.47C2.75 12.57 0.87 11.85 0.87 9.56C0.87 8.92 1.3 8.31 1.53 7.77C1.79 7.15 2.08 6.45 2.08 5.71C2.08 4.69 1.05 3.47 0.5 2.76L3.5 0C3.87 0.39 4.74 1.29 5.5 1.29C6.26 1.29 7.12 0.41 7.5 0C7.86 0.39 8.74 1.29 9.5 1.29C10.26 1.29 11.1 0.43 11.5 0ZM7.5 2.5C4.64 3.39 3.5 6.07 3.5 8.21C3.5 10.36 4.9 11.97 6.7 12.5C5.1 10.17 5.1 8.21 7.5 6.79C7.1 7.75 7.5 9.64 8.3 10.36C8.65 10.07 9.1 9.34 9.1 8.93C10.7 10.36 9.55 11.52 9.1 12.5C9.97 12.1 11.5 11.07 11.5 8.93C11.5 6.79 9.9 6.07 9.9 3.93C8.79 4.36 8.3 5.36 8.3 6.07C7.54 5.67 6.7 4.1 7.5 2.5Z"/>\n</svg>',"beach-umbrella-in-ground":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M5.36 1.67l-0.01 4.02a4.45 4.45 0 0 0 -1.1 -0.11c-0.37 0.1 -0.74 0.63 -1.1 0.76A4.2 4.2 0 0 1 5.36 1.67Zm2.41 -0.64l2.03 3.45a3.18 3.18 0 0 1 0.84 -0.61c0.36 -0.1 0.94 0.17 1.34 0.11A4.2 4.2 0 0 0 7.77 1.03ZM1 13h13c-0.66 -0.66 -2.64 -1.11 -4.34 -1.33l-1.87 -7c0.52 -0.05 1.15 0.03 1.53 0l-2.11 -3.6h-0.01a6.17 6.17 0 0 0 -0.7 0.14a4.38 4.38 0 0 0 -0.64 0.22l-0.01 4.15c0.35 -0.17 0.84 -0.54 1.3 -0.74l1.8 6.74c-0.58 -0.05 -1.09 -0.08 -1.45 -0.08C6.03 11.5 2 12 1 13Z"/>\n</svg>',"beer-mug-with-foam":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M3.21 0C2.14 0 1.07 1.07 1.07 2.14L1.07 12.86C1.07 13.93 0 15 0 15L11.79 15C11.79 15 10.71 13.93 10.71 12.86L13.93 12.86C15 12.86 15 11.79 15 11.79L15 5.36C15 4.29 13.93 3.21 12.86 3.21L10.71 3.21L10.71 2.14C10.71 0.81 9.93 0 8.57 0L3.21 0ZM4.29 1.07L7.5 1.07C8.98 1.07 9.64 1.45 9.64 2.14C6.43 2.14 4.13 2.35 4.29 5.36C4.29 7.5 2.14 7.5 2.14 5.36L2.14 3.21C2.14 1.6 2.67 1.07 4.29 1.07ZM10.71 4.82L11.79 4.82C12.53 4.82 13.39 4.85 13.39 6.43L13.39 11.25L10.71 11.25L10.71 4.82ZM2.14 12.86L9.64 12.86L9.64 13.93L2.14 13.93L2.14 12.86Z"/>\n</svg>',bookmark:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bookmark"><path d="M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path></svg>',"boxing-glove-up":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M5.63 0.01C4.37 0.1 3.36 1.31 3.46 2.56C3.47 3.03 3.44 3.5 3.48 3.96C3.69 4.42 4.35 4.06 4.72 4.3C5.69 4.56 6.15 5.64 6.08 6.57C6.05 6.84 6.18 7.23 5.83 7.34C5.37 7.46 5.34 6.93 5.38 6.62C5.41 6.03 5.33 5.37 4.78 5.04C4 4.51 2.76 4.92 2.56 5.87C2.47 6.6 2.53 7.34 2.52 8.07C2.47 9.38 3.66 10.56 4.97 10.49C6.75 10.48 8.53 10.51 10.31 10.48C11.59 10.39 12.6 9.16 12.48 7.89C12.48 6 12.5 4.1 12.47 2.21C12.39 1 11.27 0 9.92 0.01C8.57 0.01 7.1 -0.02 5.63 0.01ZM4.04 11.61V15H10.81V11.61Z"/>\n</svg>',"burger-and-drink-cup-with-straw":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M14.67 4.55L13.49 13.8L9.5 13.8L8.32 4.5L13.19 4.5L14.16 1.18L14.7 1.34L13.78 4.54L14.67 4.55L14.67 4.55ZM7.76 9.9C7.76 9.9 7.91 8.7 5.84 8.7L2.55 8.7C0.49 8.7 0.63 9.9 0.63 9.9L7.76 9.9L7.76 9.9ZM0.63 12.6C0.63 12.6 0.48 13.8 2.55 13.8L5.84 13.8C7.91 13.8 7.76 12.6 7.76 12.6L0.63 12.6L0.63 12.6ZM7.45 12C7.79 12 8.06 11.67 8.06 11.25C8.06 10.83 7.79 10.5 7.45 10.5L0.91 10.5C0.58 10.5 0.3 10.83 0.3 11.25C0.3 11.67 0.58 12 0.91 12L7.45 12Z"/>\n</svg>',bus:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M2 3C2 1.9 2.9 1 4 1L11 1C12.1 1 13 1.9 13 3L13 11C13 12 12 12 12 12L12 13C12 13 12 14 11 14C10 14 10 13 10 13L10 12L5 12L5 13C5 13 5 14 4 14C3 14 3 13 3 13L3 12C2 12 2 11 2 11L2 7.2L2 3ZM3.5 2.5C3.22 2.5 3 2.72 3 3L3 7C3 7.28 3.22 7.5 3.5 7.5L11.5 7.5C11.78 7.5 12 7.28 12 7L12 3C12 2.72 11.78 2.5 11.5 2.5L3.5 2.5ZM4 9C3.45 9 3 9.45 3 10C3 10.55 3.45 11 4 11C4.55 11 5 10.55 5 10C5 9.45 4.55 9 4 9ZM11 9C10.45 9 10 9.45 10 10C10 10.55 10.45 11 11 11C11.55 11 12 10.55 12 10C12 9.45 11.55 9 11 9Z"/>\n</svg>',camera:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-camera"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"></path><circle cx="12" cy="13" r="4"></circle></svg>',"check-square":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check-square"><polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path></svg>',"chevron-left":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-left"><polyline points="15 18 9 12 15 6"></polyline></svg>',"chevron-right":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"><polyline points="9 18 15 12 9 6"></polyline></svg>',"cigarette-with-smoke-curl":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M13 12L12 12L12 15L13 15L13 12ZM13.93 10.71C13.21 9.64 11.79 8.57 11.79 7.5C11.79 6.43 15 5.36 15 3.21C15 1.07 12.86 1.07 10.71 0C11.07 1.43 12.86 2.14 12.86 3.21C11.79 4.29 9.64 5.36 9.64 7.5C9.64 9.64 10.71 9.64 13.93 10.71ZM15 12L14 12L14 15L15 15L15 12ZM0 15L11 15L11 12L0 12L0 15Z"/>\n</svg>',climbing_wall:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M12.11 0.55L2.9 0c-0.47 0 -0.85 0.43 -0.85 0.95v14.05l10.9 -2.13V1.5c0 -0.52 -0.38 -0.95 -0.84 -0.95ZM9.59 4c0.28 -0.31 0.75 -0.34 1.06 -0.06c0.31 0.28 0.34 0.75 0.06 1.06l-1.06 0.06c-0.31 -0.28 -0.34 -0.75 -0.06 -1.06ZM4.96 7.31l-1.05 0.19c-0.34 -0.24 -0.43 -0.71 -0.19 -1.05s0.71 -0.43 1.05 -0.19s0.43 0.71 0.19 1.05ZM5.22 3.19c-0.12 -0.25 0 -0.55 0.25 -0.66c0.25 -0.11 0.53 -0.01 0.65 0.22c0.1 0.07 0.41 0.05 0.56 -0.02c0 -0.22 0.13 -0.43 0.35 -0.5c0.26 -0.08 0.54 0.06 0.63 0.33c0.12 0.38 -0.03 0.88 -0.65 1.11c-0.21 0.08 -0.44 0.12 -0.66 0.12c-0.48 0 -0.93 -0.19 -1.13 -0.6ZM7.67 12.09l-1.05 0.19c-0.34 -0.24 -0.43 -0.71 -0.19 -1.05s0.71 -0.43 1.05 -0.19s0.43 0.71 0.19 1.05ZM10.74 9.06c-0.21 0.08 -0.44 0.12 -0.66 0.12c-0.48 0 -0.93 -0.19 -1.13 -0.6c-0.12 -0.25 0 -0.55 0.25 -0.66c0.24 -0.11 0.53 -0.01 0.65 0.22c0.1 0.07 0.41 0.05 0.56 -0.02c0 -0.22 0.13 -0.43 0.35 -0.5c0.26 -0.08 0.54 0.06 0.63 0.33c0.12 0.38 -0.03 0.88 -0.65 1.11Z"/>\n</svg>',check:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check"><polyline points="20 6 9 17 4 12"></polyline></svg>',"alert-circle":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-alert-circle"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',"classical-building":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7.5 0L1 3.5V4h13V3.5L7.5 0zM2 5v5l-1 1.6V13h13v-1.4L13 10V5H2zM4 6h1v5.5H4V6zM7 6h1v5.5H7V6zM10 6h1v5.5h-1V6z"/>\n</svg>',"classical-building-with-dome-and-flag":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7 1L9 0L11 1L13 0L13 3L11 4L9 3L8 3.5L8 5L7 5L7 1ZM2.5 9L12.5 9L12.5 15L2.5 15L2.5 9ZM4 10L4 14L5 14L5 10L4 10ZM7 10L7 14L8 14L8 10L7 10ZM10 10L10 14L11 14L11 10L10 10ZM2.5 8.5C2.75 5.97 4.89 4 7.5 4C10.11 4 12.25 5.97 12.5 8.5L2.5 8.5Z"/>\n</svg>',"classical-building-with-flag":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7 4.17L7 1L9 0L11 1L13 0L13 3L11 4L9 3L8 3.5L8 4.17L13.5 6L13.5 7L1.5 7L1.5 6L7 4.17ZM2.5 7.5L12.5 7.5L12.5 12L13.5 13L13.5 14L1.5 14L1.5 13L2.5 12L2.5 7.5ZM4 8.5L4 12.5L5 12.5L5 8.5L4 8.5ZM7 8.5L7 12.5L8 12.5L8 8.5L7 8.5ZM10 8.5L10 12.5L11 12.5L11 8.5L10 8.5Z"/>\n</svg>',"commercial-building":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M14 6h-13c0.09 -1.38 0.43 -2.74 1 -4h11c0.57 1.26 0.91 2.62 1 4zm-11 1h9v6h-1v-5h-3v5h-5zm1 3h3v-2h-3z"/>\n</svg>',"clothes-hanger":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M6.75 7.14L6.75 5.5C6.75 5.09 7.09 4.75 7.5 4.75C8.19 4.75 8.75 4.19 8.75 3.5C8.75 2.81 8.19 2.25 7.5 2.25C6.81 2.25 6.25 2.81 6.25 3.5C6.25 3.91 5.91 4.25 5.5 4.25C5.09 4.25 4.75 3.91 4.75 3.5C4.75 1.98 5.98 0.75 7.5 0.75C9.02 0.75 10.25 1.98 10.25 3.5C10.25 4.76 9.4 5.82 8.25 6.15L8.25 7.14L14.3 12.03C14.59 12.26 14.76 12.62 14.76 13C14.76 13.69 14.2 14.25 13.51 14.25L1.49 14.25C1.11 14.25 0.75 14.08 0.51 13.79C0.08 13.25 0.16 12.46 0.7 12.03L6.75 7.14ZM12.81 12.75L7.5 8.46L2.19 12.75L12.81 12.75Z"/>\n</svg>',cleaver:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M12.44 4.2L13.28 4.74C12.92 6.09 12.46 7.19 11.92 8.03C11.24 9.08 10.14 10.15 8.63 11.26L9.47 11.8C10.98 10.7 12.07 9.62 12.75 8.57C13.44 7.52 13.97 6.09 14.37 4.26L9.33 0.99L8.79 0.63C8.33 0.33 7.71 0.46 7.4 0.93C7.35 1.01 7.31 1.09 7.28 1.19C6.98 2.22 6.65 3.08 6.3 3.78C5.81 4.76 4.9 6.16 3.57 7.98L7.79 10.71C9.3 9.61 10.4 8.53 11.08 7.48C11.62 6.64 12.08 5.54 12.44 4.2ZM9.42 2.23C9.88 2.53 10.01 3.15 9.71 3.62C9.41 4.08 8.79 4.21 8.33 3.91C7.87 3.61 7.73 2.99 8.04 2.53C8.34 2.06 8.96 1.93 9.42 2.23ZM3.33 8.41L0.88 12.19C0.42 12.88 0.62 13.81 1.32 14.26C1.97 14.68 2.82 14.53 3.29 13.94L3.38 13.82L3.65 13.39C3.31 12.81 3.33 12.07 3.7 11.5L5 9.5L3.33 8.41Z"/>\n</svg>',cloth:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M12.98 2.1C8.07 2.06 7.02 0.78 4.93 0.78C2.45 0.78 0.99 1.46 0.37 1.85C-0.1 2.1 0.01 1.62 0.01 1.45C0.01 1.28 0.29 1.12 0.29 1.12C0.86 0.75 2.34 0 4.93 0C7.02 0 8.08 1.28 13 1.32C13 1.32 13.37 1.28 13.37 1.62C13.37 1.95 13.35 2.1 12.98 2.1ZM13.37 14.52C13.37 14.18 13 14.22 13 14.22C8.08 14.19 7.02 12.9 4.93 12.9C2.34 12.9 0.86 13.65 0.29 14.02C0.29 14.02 0.01 14.18 0.01 14.35C0.01 14.52 -0.1 15 0.37 14.75C0.99 14.37 2.45 13.68 4.93 13.68C7.02 13.68 8.07 14.96 12.98 15C13.35 15 13.37 14.85 13.37 14.52ZM13.37 3.21C13.37 2.87 13 2.91 13 2.91C8.08 2.88 7.02 1.59 4.93 1.59C2.34 1.59 0.86 2.34 0.29 2.71C0.29 2.71 0.01 2.87 0.01 3.04L0.01 12.74C0.01 12.91 -0.1 13.39 0.37 13.14C0.99 12.75 2.45 12.07 4.93 12.07C7.02 12.07 8.07 13.35 12.98 13.39C13.35 13.39 13.37 13.24 13.37 12.91L13.37 3.21Z"/>\n</svg>',cocktail:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7.5 1c-2 0 -7 0.25 -6.5 0.75L7 8v4c0 1 -3 0.5 -3 2h7c0 -1.5 -3 -1 -3 -2V8l6 -6.25C14.5 1.25 9.5 1 7.5 1zM7.5 2c2.5 0 4.75 0.25 4.75 0.25L11.5 3h-8L2.75 2.25C2.75 2.25 5 2 7.5 2z"/>\n</svg>',clock:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clock"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>',"coffee-bean":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M13.5 1C14 0.5 6.5 0 3 3.5C1 5.5 0 8.5 0 10C0 12 1 15 3 15C10 15 12.5 9.5 13.5 7.5C14.5 5.5 15 1.5 14 1.5C13.5 1.5 11 3 10 4C9 5 9 7 8 8C7 9 5.5 9 4.5 10C3.5 11 2 12.5 2 12.5C2 12.5 2.5 10 3.5 9C4.5 8 5.5 8 6.5 7C7.5 6 8 4 9 3C10 2 13 1.5 13.5 1z"/>\n</svg>',"comedy-mask-and-tragedy-mask":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M2 1c0 0 -1 0 -1 1v5.16C1 8.89 1.35 11 4.5 11H5V8L2.5 9c0 0 0 -2.5 2.5 -2.5V5c0 -0.71 0.09 -1.32 0.5 -1.78C5.88 2.81 6.5 1.97 8.16 2.75L9 3.3V2c0 0 0 -1 -1 -1C7.29 1 6.02 2 5 2S2.79 1 2 1zM3 3c0.55 0 1 0.45 1 1S3.55 5 3 5S2 4.55 2 4S2.45 3 3 3zM7 4c0 0 -1 0 -1 1v5c0 2 1 4 4 4s4 -2 4 -4V5c0 -1 -1 -1 -1 -1c-0.71 0 -1.98 1 -3 1S7.79 4 7 4zM8 6c0.55 0 1 0.45 1 1S8.55 8 8 8S7 7.55 7 7S7.45 6 8 6zM12 6c0.55 0 1 0.45 1 1s-0.45 1 -1 1s-1 -0.45 -1 -1S11.45 6 12 6zM7.5 10H10h2.5c0 0 0 2.5 -2.5 2.5S7.5 10 7.5 10z"/>\n</svg>',croissant:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M5.29 4.38L6 9.5a0.98 0.98 0 0 0 1 1H8a0.98 0.98 0 0 0 1 -1l0.71 -5.12C9.71 3 7.5 3 7.5 3S5.29 3 5.29 4.38ZM3.5 5C2 5 2 6 2 6l1 4H4.5a0.79 0.79 0 0 0 0.79 -0.76L4.5 5Zm-2 2.5a1.53 1.53 0 0 0 -1.06 0.41A1.37 1.37 0 0 0 0 8.79V11H0.88A1.02 1.02 0 0 0 2 10ZM11.5 5C13 5 13 6 13 6l-1 4H10.5a0.79 0.79 0 0 1 -0.79 -0.76L10.5 5Zm2 2.5a1.53 1.53 0 0 1 1.06 0.41A1.37 1.37 0 0 1 15 8.79V11h-0.88A1.02 1.02 0 0 1 13 10Z"/>\n</svg>',"cup-and-saucer":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M12 5h-2V3H2v4c0.01 2.21 1.81 3.99 4.02 3.98C7.43 10.97 8.74 10.22 9.45 9H12c1.1 0 2 -0.9 2 -2S13.1 5 12 5zM12 8H9.86C9.95 7.67 10 7.34 10 7V6h2c0.55 0 1 0.45 1 1S12.55 8 12 8zM10 12.5c0 0.28 -0.22 0.5 -0.5 0.5h-7C2.22 13 2 12.78 2 12.5S2.22 12 2.5 12h7C9.78 12 10 12.22 10 12.5z"/>\n</svg>',database:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-database"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"></path><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"></path></svg>',donut:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7.5 0C11.64 0 15 3.36 15 7.5C15 11.64 11.64 15 7.5 15C3.36 15 0 11.64 0 7.5C0 3.36 3.36 0 7.5 0zM7.21 11.12C7.12 10.88 6.35 11.16 6.42 11.38C6.48 11.61 6.83 12.78 6.93 13.04C7.02 13.3 7.83 13.04 7.75 12.78C7.67 12.53 7.3 11.35 7.21 11.12zM3.51 11.31C3.24 11.22 3 12.06 3.23 12.16C3.47 12.27 4.67 12.65 4.88 12.7C5.09 12.75 5.39 11.98 5.15 11.88C4.99 11.8 3.77 11.4 3.51 11.31zM9.7 10.98C9.47 10.89 9.12 11.66 9.39 11.79C9.69 11.92 10.75 12.33 11 12.41C11.25 12.48 11.61 11.73 11.31 11.6C11.02 11.47 9.93 11.07 9.7 10.98zM11.32 9.23C11.05 9.19 10.91 10.04 11.2 10.09C11.48 10.14 12.67 10.32 12.91 10.33C13.16 10.34 13.29 9.51 13.03 9.47C12.78 9.44 11.59 9.28 11.32 9.23zM7.5 5.19C6.23 5.19 5.19 6.23 5.19 7.5C5.19 8.78 6.23 9.81 7.5 9.81C8.78 9.81 9.81 8.78 9.81 7.5C9.81 6.23 8.78 5.19 7.5 5.19zM2.64 8.65C2.42 8.64 2.31 9.49 2.55 9.52C2.8 9.55 3.99 9.68 4.27 9.7C4.56 9.72 4.59 8.86 4.37 8.84C4.14 8.81 2.86 8.67 2.64 8.65zM12.74 6.37C12.65 6.64 12.2 7.86 12.12 8.07C12.05 8.28 12.86 8.54 12.95 8.31C13.05 8.08 13.42 6.94 13.5 6.67C13.58 6.41 12.83 6.11 12.74 6.37zM2.74 5.57C2.54 5.73 1.6 6.61 1.42 6.77C1.25 6.93 1.8 7.58 1.97 7.44C2.14 7.3 3.03 6.46 3.24 6.26C3.44 6.06 2.93 5.41 2.74 5.57zM11.71 3.53C11.59 3.35 10.86 3.69 10.99 3.94C11.13 4.19 11.71 5.25 11.83 5.45C11.95 5.66 12.71 5.24 12.59 5.03C12.47 4.83 11.84 3.72 11.71 3.53zM7.96 3.47C7.77 3.41 7.46 4.2 7.69 4.29C7.92 4.39 9.08 4.75 9.34 4.83C9.59 4.91 9.84 4.09 9.61 4.01C9.38 3.92 8.15 3.54 7.96 3.47zM2.66 3.53C2.28 3.52 2.31 4.39 2.57 4.41C2.83 4.42 4.07 4.52 4.3 4.53C4.56 4.53 4.69 3.64 4.41 3.63C4.21 3.61 3.03 3.55 2.66 3.53zM5.09 1.48C4.94 1.38 4.34 1.99 4.55 2.16C4.77 2.33 5.71 3.09 5.92 3.22C6.13 3.36 6.65 2.72 6.45 2.54C6.25 2.36 5.25 1.59 5.09 1.48zM9.44 1.16C9.19 1.19 7.97 1.39 7.73 1.43C7.48 1.47 7.61 2.31 7.86 2.28C8.11 2.25 9.34 2.07 9.57 2.01C9.8 1.95 9.68 1.13 9.44 1.16z"/>\n</svg>',edit:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-edit"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg>',eyeglasses:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M1.78 3.81C2.03 3.31 2.54 3 3.1 3C3.49 3 3.86 3.15 4.14 3.43L4.85 4.15C5.05 4.34 5.05 4.66 4.85 4.85C4.66 5.05 4.34 5.05 4.15 4.85L3.43 4.14C3.34 4.05 3.22 4 3.1 4C2.92 4 2.76 4.1 2.68 4.26L1.31 7H5.25C6.07 7 6.75 7.57 6.94 8.32C7.11 8.28 7.3 8.25 7.5 8.25C7.7 8.25 7.89 8.28 8.06 8.32C8.25 7.57 8.93 7 9.75 7H13.69L12.32 4.26C12.24 4.1 12.08 4 11.9 4C11.78 4 11.66 4.05 11.57 4.14L10.85 4.85C10.66 5.05 10.34 5.05 10.15 4.85C9.95 4.66 9.95 4.34 10.15 4.15L10.86 3.43C11.14 3.15 11.51 3 11.9 3C12.46 3 12.97 3.31 13.22 3.81L14.94 7.26L14.94 7.26C14.98 7.33 15 7.41 15 7.5V8.5C15 8.78 14.78 9 14.5 9H14V9.5C14 11.09 13 12 11.25 12H10.75C9 12 8 11.09 8 9.5V9.34C7.85 9.29 7.67 9.25 7.5 9.25C7.33 9.25 7.15 9.29 7 9.34V9.5C7 11.09 6 12 4.25 12H3.75C2 12 1 11.09 1 9.5V9H0.5C0.22 9 0 8.78 0 8.5V7.5C0 7.41 0.02 7.33 0.06 7.26L0.06 7.26L1.78 3.81ZM9.75 8C9.34 8 9 8.34 9 8.75V9.5C9 10.2 9.2 11 10.75 11H11.25C12.8 11 13 10.2 13 9.5V8.75C13 8.34 12.66 8 12.25 8H9.75ZM2.75 8C2.34 8 2 8.34 2 8.75V9.5C2 10.2 2.2 11 3.75 11H4.25C5.8 11 6 10.2 6 9.5V8.75C6 8.34 5.66 8 5.25 8H2.75Z"/>\n</svg>',facebook:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-facebook"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>',"fancy-mirror-with-reflection-and-stars":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7.54 0C6.14 0 4.99 0.86 4.31 2.04C3.49 2.19 2.71 2.54 2.13 3.18C1.5 3.89 1.14 4.91 1.17 6.17C1.21 7.51 1.86 8.59 2.45 9.59C3.05 10.58 3.58 11.48 3.66 12.45C3.68 12.73 3.9 12.97 4.18 13.01C4.18 13.02 4.21 13.04 4.26 13.11C4.36 13.26 4.52 13.53 4.75 13.82C5.22 14.4 6.09 15.02 7.55 15C8.99 14.98 9.83 14.37 10.27 13.81C10.49 13.53 10.63 13.27 10.74 13.14C10.84 13.01 10.84 13.02 10.89 13.01C11.19 12.97 11.42 12.71 11.42 12.4C11.42 11.35 11.94 10.38 12.53 9.38C13.12 8.39 13.81 7.38 13.83 6.16C13.86 4.06 12.52 2.48 10.78 2.07C10.11 0.87 8.95 0 7.54 0ZM7.62 1.24C8.59 1.27 9.44 1.9 9.88 2.85C9.97 3.03 10.14 3.16 10.34 3.2C11.62 3.41 12.62 4.46 12.59 6.15C12.58 6.87 12.08 7.74 11.47 8.75C10.92 9.69 10.35 10.79 10.25 12.08C10.09 12.19 9.86 12.26 9.76 12.38C9.57 12.63 9.45 12.86 9.3 13.05C9 13.43 8.69 13.75 7.53 13.77C6.38 13.78 6.03 13.44 5.71 13.05C5.56 12.85 5.43 12.63 5.25 12.39C5.15 12.24 4.98 12.09 4.78 11.97C4.59 10.82 4.04 9.83 3.51 8.95C2.93 7.97 2.43 7.08 2.41 6.14C2.38 5.12 2.65 4.46 3.05 4.01C3.45 3.55 4.03 3.28 4.72 3.19C4.93 3.16 5.11 3.03 5.2 2.84C5.64 1.9 6.48 1.28 7.44 1.24L7.16 1.77L6.36 1.86L6.92 2.44L6.76 3.23L7.48 2.87L8.18 3.27L8.07 2.47L8.66 1.93L7.87 1.79L7.62 1.24ZM7.54 3.9C6.34 3.9 6.25 4.24 5.36 6.58C4.8 8.08 5.36 9.02 6.16 9.49C5.68 9.88 5.31 10.46 5.12 11.16C7.11 13.76 8.56 12.67 9.95 11.17C9.77 10.45 9.38 9.86 8.89 9.47C9.64 8.98 10.18 8.03 9.71 6.58C8.99 4.31 8.74 3.9 7.54 3.9ZM4.1 4.63L3.77 5.04L3.24 5L3.53 5.44L3.34 5.93L3.84 5.79L4.24 6.12L4.27 5.6L4.71 5.32L4.22 5.14L4.1 4.63ZM10.64 6.06L10.59 6.42L10.26 6.59L10.59 6.74L10.65 7.11L10.91 6.84L11.27 6.9L11.09 6.57L11.26 6.25L10.9 6.31L10.64 6.06Z"/>\n</svg>',"family-restroom-symbol":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M4 3L2 3L0.5 11L2 11L2 15L4 15L4 11L5.5 11L4 3ZM14 3.5L13 3L11 3L10 3.5L10 9.5L11 9.5L11 15L13 15L13 9.5L14 9.5L14 3.5ZM12.25 2.5L11.75 2.5C11.13 2.5 10.75 2.13 10.75 1.5L10.75 1C10.75 0.38 11.13 0 11.75 0L12.38 0C12.88 0 13.25 0.38 13.25 1L13.25 1.63C13.25 2.13 12.88 2.5 12.25 2.5ZM3.25 2.5L2.75 2.5C2.13 2.5 1.75 2.13 1.75 1.5L1.75 1C1.75 0.38 2.13 0 2.75 0L3.38 0C3.88 0 4.25 0.38 4.25 1L4.25 1.63C4.25 2.13 3.88 2.5 3.25 2.5ZM7.73 7.31L7.27 7.31C6.68 7.31 6.33 6.96 6.33 6.38L6.33 5.92C6.33 5.35 6.68 5 7.27 5L7.85 5C8.32 5 8.67 5.35 8.67 5.92L8.67 6.5C8.67 6.96 8.32 7.31 7.73 7.31ZM9 8.75L8 7.75L7 7.75L6 8.75L6 12.5L7 15L8 15L9 12.5L9 8.75Z"/>\n</svg>',film:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M2 1C1.45 1 1 1.45 1 2L1 13C1 13.55 1.45 14 2 14L13 14C13.55 14 14 13.55 14 13L14 2C14 1.45 13.55 1 13 1L2 1ZM2.25 2L2.75 2C2.89 2 3 2.11 3 2.25L3 2.75C3 2.89 2.89 3 2.75 3L2.25 3C2.11 3 2 2.89 2 2.75L2 2.25C2 2.11 2.11 2 2.25 2ZM4 2L11 2L11 7L4 7L4 2ZM12.25 2L12.75 2C12.89 2 13 2.11 13 2.25L13 2.75C13 2.89 12.89 3 12.75 3L12.25 3C12.11 3 12 2.89 12 2.75L12 2.25C12 2.11 12.11 2 12.25 2ZM2.25 4L2.75 4C2.89 4 3 4.11 3 4.25L3 4.75C3 4.89 2.89 5 2.75 5L2.25 5C2.11 5 2 4.89 2 4.75L2 4.25C2 4.11 2.11 4 2.25 4ZM12.25 4L12.75 4C12.89 4 13 4.11 13 4.25L13 4.75C13 4.89 12.89 5 12.75 5L12.25 5C12.11 5 12 4.89 12 4.75L12 4.25C12 4.11 12.11 4 12.25 4ZM2.25 6L2.75 6C2.89 6 3 6.11 3 6.25L3 6.75C3 6.89 2.89 7 2.75 7L2.25 7C2.11 7 2 6.89 2 6.75L2 6.25C2 6.11 2.11 6 2.25 6ZM12.25 6L12.75 6C12.89 6 13 6.11 13 6.25L13 6.75C13 6.89 12.89 7 12.75 7L12.25 7C12.11 7 12 6.89 12 6.75L12 6.25C12 6.11 12.11 6 12.25 6ZM2.25 8L2.75 8C2.89 8 3 8.11 3 8.25L3 8.75C3 8.89 2.89 9 2.75 9L2.25 9C2.11 9 2 8.89 2 8.75L2 8.25C2 8.11 2.11 8 2.25 8ZM4 8L11 8L11 13L4 13L4 8ZM12.25 8L12.75 8C12.89 8 13 8.11 13 8.25L13 8.75C13 8.89 12.89 9 12.75 9L12.25 9C12.11 9 12 8.89 12 8.75L12 8.25C12 8.11 12.11 8 12.25 8ZM2.25 10L2.75 10C2.89 10 3 10.11 3 10.25L3 10.75C3 10.89 2.89 11 2.75 11L2.25 11C2.11 11 2 10.89 2 10.75L2 10.25C2 10.11 2.11 10 2.25 10ZM12.25 10L12.75 10C12.89 10 13 10.11 13 10.25L13 10.75C13 10.89 12.89 11 12.75 11L12.25 11C12.11 11 12 10.89 12 10.75L12 10.25C12 10.11 12.11 10 12.25 10ZM2.25 12L2.75 12C2.89 12 3 12.11 3 12.25L3 12.75C3 12.89 2.89 13 2.75 13L2.25 13C2.11 13 2 12.89 2 12.75L2 12.25C2 12.11 2.11 12 2.25 12ZM12.25 12L12.75 12C12.89 12 13 12.11 13 12.25L13 12.75C13 12.89 12.89 13 12.75 13L12.25 13C12.11 13 12 12.89 12 12.75L12 12.25C12 12.11 12.11 12 12.25 12Z"/>\n</svg>',"fingernail-polished":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M11 6.5C11.5 9 12 11 12 15L11 15C11 12 10.5 9.5 10.5 9.5C10.5 9.5 10.5 12 7.5 12C4.5 12 4.5 9.5 4.5 9.5C4.5 9.5 4 12 4 15C4 15 3 15 3 15C3 11 3.5 9 4 6.5C4 2 4 0 7.5 0C11 0 11 2 11 6.5zM7.5 1C5 1 5 2.5 5 7C5.5 4 5.5 2 7.5 1z"/>\n</svg>',fish:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M8.57 3.21C11.79 3.21 15 5.36 15 7.5C15 9.64 11.79 11.79 8.57 11.79C6.17 11.76 3.21 9.64 3.21 7.5C3.21 5.36 6.43 3.21 8.57 3.21ZM3.21 7.5C3.21 9.64 1.46 11.01 0 11.79C0 9.64 0.71 8.93 1.07 7.5C0.71 6.07 0 5.36 0 3.21C1.32 3.93 3.21 5.36 3.21 7.5ZM11.8 5.36C11.22 5.35 10.73 5.81 10.71 6.4L10.71 6.43C10.71 7.02 11.19 7.5 11.78 7.5C12.37 7.5 12.85 7.03 12.86 6.44C12.86 5.89 12.45 5.43 11.92 5.37L11.8 5.36Z"/>\n</svg>',"flag-checkered":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M4.99 1.58C5.04 1.31 4.85 1.05 4.58 1.01C4.31 0.96 4.05 1.15 4.01 1.42L2.01 13.42C1.96 13.69 2.15 13.95 2.42 13.99C2.69 14.04 2.95 13.85 2.99 13.58L3.66 9.56C4.47 9.68 5.34 9.72 6.03 10.2C6.45 10.51 6.94 10.7 7.46 10.78C8.42 10.93 9.29 10.4 10.24 10.55L11.53 10.74C11.79 10.78 12.06 10.58 12.1 10.32L12.98 4.39L12.99 4.38C13.02 4.12 12.82 3.86 12.56 3.82L11.27 3.63C10.31 3.48 9.44 4 8.49 3.86C8.06 3.79 7.65 3.63 7.3 3.38C6.56 2.86 5.68 2.78 4.81 2.66L4.99 1.58ZM4.4 5.12L4.73 3.15C5.33 3.23 5.97 3.28 6.52 3.52L6.23 5.48C5.66 5.25 5.01 5.2 4.4 5.12ZM3.75 9.07L4.07 7.1C4.69 7.18 5.35 7.22 5.93 7.46L6.23 5.49C6.89 5.76 7.39 6.22 8.13 6.33L8.43 4.35C9.16 4.46 9.77 4.17 10.48 4.11L10.18 6.08C9.47 6.14 8.86 6.44 8.12 6.33L7.84 8.31C7.1 8.2 6.6 7.73 5.94 7.46L5.64 9.44C5.04 9.2 4.38 9.16 3.75 9.07ZM7.84 8.31C8.57 8.42 9.19 8.12 9.9 8.06L10.18 6.08C10.84 6.02 11.51 6.19 12.15 6.29L11.87 8.26C11.23 8.17 10.56 8 9.9 8.06L9.6 10.03C8.89 10.08 8.27 10.39 7.54 10.28L7.84 8.31Z"/>\n</svg>',"flower-bouquet":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M1.5 1A2.7 2.7 0 0 1 4 3l0.5 -3L5 3A2.7 2.7 0 0 1 7.5 1c-0.2 0.03 -1 0.26 -1 2v0.08A1.96 1.96 0 0 1 4.5 5H4.42A1.96 1.96 0 0 1 2.5 3C2.5 1.26 1.7 1.03 1.5 1ZM12.01 11l3 -0.5l-3 -0.5A2.69 2.69 0 0 0 14 7.5c-0.03 0.2 -0.25 1 -1.99 1a2 2 0 0 0 0 4c1.74 0 1.96 0.8 1.99 1A2.69 2.69 0 0 0 12.01 11ZM9.69 5.55a1 1 0 0 1 0 -2a1 1 0 0 1 0 -2a0.99 0.99 0 0 1 0.85 0.51l0.02 -0.01a0.98 0.98 0 0 1 -0.12 -0.44a1 1 0 1 1 2 0a0.98 0.98 0 0 1 -0.12 0.44l0.02 0.01a0.99 0.99 0 0 1 0.85 -0.5a1 1 0 0 1 0.03 2a1 1 0 0 1 -0.02 2a0.99 0.99 0 0 1 -0.85 -0.5l-0.02 0.01a0.98 0.98 0 0 1 0.11 0.44a1 1 0 0 1 -2 0a0.98 0.98 0 0 1 0.11 -0.44l-0.02 -0.01a0.99 0.99 0 0 1 -0.85 0.51Zm0.71 -1.99A1.05 1.05 0 1 0 11.45 2.5A1.05 1.05 0 0 0 10.4 3.55v0ZM4.95 11.44l-0.52 -0.51L8.89 6.48A1.75 1.75 0 0 1 8.44 6.22L4.08 10.58l-0.52 -0.52A16.05 16.05 0 0 0 4.91 6a3.37 3.37 0 0 1 -0.41 0.04c-0.04 0 -0.07 -0.01 -0.11 -0.01A16.95 16.95 0 0 1 3.13 9.63L2.76 9.26a0.25 0.25 0 0 0 -0.4 0.08L0.23 14.45a0.29 0.29 0 0 0 -0.02 0.09a0.25 0.25 0 0 0 0.25 0.25a0.29 0.29 0 0 0 0.1 -0.02l5.1 -2.12a0.25 0.25 0 0 0 0.08 -0.4l-0.37 -0.37a16.87 16.87 0 0 1 3.61 -1.26c0 -0.06 -0.01 -0.11 -0.01 -0.17A3.35 3.35 0 0 1 9 10.09A16.08 16.08 0 0 0 4.95 11.44Z"/>\n</svg>',"fork-and-knife":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M3.5 0l-1 5.5c-0.15 0.81 1.78 1.18 1.75 2L4 14c-0.04 1 1 1 1 1s1.04 0 1 -1L5.75 7.5c-0.03 -0.82 1.73 -1.18 1.75 -2L6.5 0H6l0.25 4L5.5 4.5L5.25 0h-0.5L4.5 4.5L3.75 4L4 0H3.5zM12 0c-0.74 0 -1.96 0.65 -2.46 1.64C9.14 2.37 9 4.02 9 5v2.5c0 0.82 1.09 1 1.5 1L10 14c-0.09 1 1 1 1 1s1 0 1 -1V0z"/>\n</svg>',fort:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M1.07 1.07L1.07 3.21L6.43 3.21L6.43 1.07L5.36 1.07L5.36 2.14L4.29 2.14L4.29 1.07L3.21 1.07L3.21 2.14L2.14 2.14L2.14 1.07L1.07 1.07ZM8.57 1.07L8.57 3.21L13.93 3.21L13.93 1.07L12.86 1.07L12.86 2.14L11.79 2.14L11.79 1.07L10.71 1.07L10.71 2.14L9.64 2.14L9.64 1.07L8.57 1.07ZM1.07 4.29L1.07 10.71L13.93 10.71L13.93 4.29L8.57 4.29L8.57 6.43L6.43 6.43L6.43 4.29L1.07 4.29ZM3.21 6.43L4.29 6.43L4.29 7.5L3.75 8.57L3.21 7.5L3.21 6.43ZM10.71 6.43L11.79 6.43L11.79 7.5L11.25 8.57L10.71 7.5L10.71 6.43ZM1.07 11.79L0 15L15 15L13.93 11.79L1.07 11.79Z"/>\n</svg>',gift:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-gift"><polyline points="20 12 20 22 4 22 4 12"></polyline><rect x="2" y="7" width="20" height="5"></rect><line x1="12" y1="22" x2="12" y2="7"></line><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"></path><path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"></path></svg>',globe:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-globe"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>',gravestone:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M11.46 12h-0.68L12 3.55c0.02 -0.29 -0.2 -0.53 -0.49 -0.55C11.49 3 11.46 3 11.44 3h-1.18c0 -0.92 -1.23 -2 -2.75 -2S4.77 2.08 4.77 3H3.54C3.25 2.99 3.01 3.21 3 3.5C3 3.52 3 3.53 3 3.55L4.2 12H3.55C3.26 11.99 3.02 12.21 3 12.5V14h9v-1.51C11.98 12.21 11.74 11.99 11.46 12zM4.5 5h6v1h-6V5z"/>\n</svg>',"grecian-vase":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M3.21 0L3.21 1.07L4.29 1.07C4.93 1.07 5.19 2.19 5.29 3.11C4.25 2.3 3.24 2.01 2.38 2.18C1.27 2.38 0.54 3.4 0.54 4.55C0.54 5.46 0.87 6.25 1.44 7.06C1.94 7.78 2.64 8.61 3.52 9.61C3.91 11.07 4.63 12.4 5.36 13.13L5.36 13.93L4.29 14.46L4.29 15L10.71 15L10.71 14.46L9.64 13.93L9.64 13.13C10.37 12.4 11.09 11.07 11.48 9.61C12.36 8.61 13.06 7.78 13.56 7.06C14.13 6.25 14.46 5.46 14.46 4.55C14.46 3.4 13.73 2.38 12.62 2.18C11.76 2.01 10.75 2.3 9.71 3.11C9.81 2.19 10.07 1.07 10.71 1.07L11.79 1.07L11.79 0L3.21 0ZM2.54 3.25C3.09 3.15 4 3.36 5.06 4.32C3.86 4.47 3.21 5.52 3.21 7.5C3.21 7.53 3.21 7.57 3.21 7.6C2.85 7.18 2.55 6.8 2.31 6.46C1.81 5.74 1.61 5.21 1.61 4.55C1.61 3.8 1.94 3.36 2.54 3.25ZM11.92 3.25C12.12 3.22 12.3 3.22 12.46 3.25C13.06 3.36 13.39 3.8 13.39 4.55C13.39 5.21 13.19 5.74 12.69 6.46C12.45 6.8 12.15 7.18 11.79 7.6C11.79 7.57 11.79 7.53 11.79 7.5C11.79 5.52 11.14 4.47 9.94 4.32C10.71 3.62 11.39 3.32 11.92 3.25Z"/>\n</svg>',"greek-cross":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7 1C6.4 1 6 1.4 6 2v4H2C1.4 6 1 6.4 1 7v1c0 0.6 0.4 1 1 1h4v4c0 0.6 0.4 1 1 1h1c0.6 0 1 -0.4 1 -1V9h4c0.6 0 1 -0.4 1 -1V7c0 -0.6 -0.4 -1 -1 -1H9V2c0 -0.6 -0.4 -1 -1 -1H7z"/>\n</svg>',heart:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-heart"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg>',home:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-home"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>',"ice-cream-on-cone":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M5.44 8.17a3.47 3.47 0 0 0 2 -0.63A3.5 3.5 0 0 0 9 8.14h0.44L8 13.7a0.5 0.5 0 0 1 -0.92 0Zm6 -3.47a2 2 0 0 1 -4 0h0a2 2 0 1 1 -2 -2h0.12a2 2 0 1 1 3.75 0h0.13A2 2 0 0 1 11.44 4.7Z"/>\n</svg>',info:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-info"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>',instagram:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-instagram"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg>',jewel:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M15 5.5C15 5.5 11.5 1.5 11.5 1.5C11.5 1.5 3.5 1.5 3.5 1.5C3.5 1.5 0 5.5 0 5.5C0 5.5 7.5 14 7.5 14C7.5 14 15 5.5 15 5.5zM10.75 5.5L11.5 2.5L14 5.5L10.75 5.5zM10.5 6.25L13.25 6.25L8.5 12L10.5 6.25zM10 5.5L8 2.25L10.75 2.25L10 5.5zM5.5 6.25L9.5 6.25L7.5 12.5L5.5 6.25zM5.75 5.5L7.5 2.5L9.25 5.5L5.75 5.5zM5 5.5L4.25 2.25L7 2.25L5 5.5zM6.5 12L1.5 6.25L4.5 6.25L6.5 12zM3.5 2.5L4.25 5.5L1 5.5L3.5 2.5z"/>\n</svg>',"log-in":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-log-in"><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path><polyline points="10 17 15 12 10 7"></polyline><line x1="15" y1="12" x2="3" y2="12"></line></svg>',"log-out":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-log-out"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line></svg>',"lowrise-building":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M3 2v11h5v-3h3v3h1V2H3zM7 12H4v-2h3V12zM7 9H4V7h3V9zM7 6H4V4h3V6zM11 9H8V7h3V9zM11 6H8V4h3V6z"/>\n</svg>',mail:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-mail"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>',map:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-map"><polygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"></polygon><line x1="8" y1="2" x2="8" y2="18"></line><line x1="16" y1="6" x2="16" y2="22"></line></svg>',"map-pin":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-map-pin"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>',"market-stall":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M1 1L1 1.93L1 2.86C1 3.88 1.83 4.71 2.86 4.71C3.88 4.71 4.71 3.88 4.71 2.86L5.64 2.86C5.64 3.88 6.47 4.71 7.5 4.71C8.53 4.71 9.36 3.88 9.36 2.86L10.29 2.86C10.29 3.88 11.12 4.71 12.14 4.71C13.17 4.71 14 3.88 14 2.86L14 1.93L14 1L12.14 1L1 1ZM1 5.64L1 9.36L1 11.21L1 14L2.86 14L2.86 11.21L12.14 11.21L12.14 14L14 14L14 11.21L14 9.36L14 5.64L12.14 5.64L12.14 9.36L2.86 9.36L2.86 5.64L1 5.64Z"/>\n</svg>',"memorial-stone-with-inscription":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M13 12.5L14 14L1.14 14L2 12.5L13 12.5ZM8.5 1C10.43 1 12 2.57 12 4.5L12 12L3 12L3 4.5C3 2.57 4.57 1 6.5 1ZM9.5 8L5.5 8L5.5 9L9.5 9L9.5 8ZM10.5 6L4.5 6L4.5 7L10.5 7L10.5 6ZM9 4L6 4L6 5L9 5L9 4Z"/>\n</svg>',menu:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg>',"mobile-phone-with-keypad-and-antenna":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M10.5 0C10.78 0 11 0.22 11 0.5L11 13.18C11 13.82 10.6 14.4 10 14.63C9.34 14.87 8.64 15 7.93 15L7.07 15C6.36 15 5.66 14.87 5 14.63C4.4 14.4 4 13.82 4 13.18L4 3.82C4 3.18 4.4 2.6 5 2.38C5.66 2.13 6.36 2 7.07 2L7.93 2C8.64 2 9.34 2.13 10 2.38L10 0.5C10 0.22 10.22 0 10.5 0ZM5.75 12L5.25 12C5.11 12 5 12.11 5 12.25L5 12.75C5 12.89 5.11 13 5.25 13L5.75 13C5.89 13 6 12.89 6 12.75L6 12.25C6 12.11 5.89 12 5.75 12ZM7.75 12L7.25 12C7.11 12 7 12.11 7 12.25L7 12.75C7 12.89 7.11 13 7.25 13L7.75 13C7.89 13 8 12.89 8 12.75L8 12.25C8 12.11 7.89 12 7.75 12ZM9.75 12L9.25 12C9.11 12 9 12.11 9 12.25L9 12.75C9 12.89 9.11 13 9.25 13L9.75 13C9.89 13 10 12.89 10 12.75L10 12.25C10 12.11 9.89 12 9.75 12ZM5.75 10L5.25 10C5.11 10 5 10.11 5 10.25L5 10.75C5 10.89 5.11 11 5.25 11L5.75 11C5.89 11 6 10.89 6 10.75L6 10.25C6 10.11 5.89 10 5.75 10ZM7.75 10L7.25 10C7.11 10 7 10.11 7 10.25L7 10.75C7 10.89 7.11 11 7.25 11L7.75 11C7.89 11 8 10.89 8 10.75L8 10.25C8 10.11 7.89 10 7.75 10ZM9.75 10L9.25 10C9.11 10 9 10.11 9 10.25L9 10.75C9 10.89 9.11 11 9.25 11L9.75 11C9.89 11 10 10.89 10 10.75L10 10.25C10 10.11 9.89 10 9.75 10ZM5.75 8L5.25 8C5.11 8 5 8.11 5 8.25L5 8.75C5 8.89 5.11 9 5.25 9L5.75 9C5.89 9 6 8.89 6 8.75L6 8.25C6 8.11 5.89 8 5.75 8ZM7.75 8L7.25 8C7.11 8 7 8.11 7 8.25L7 8.75C7 8.89 7.11 9 7.25 9L7.75 9C7.89 9 8 8.89 8 8.75L8 8.25C8 8.11 7.89 8 7.75 8ZM9.75 8L9.25 8C9.11 8 9 8.11 9 8.25L9 8.75C9 8.89 9.11 9 9.25 9L9.75 9C9.89 9 10 8.89 10 8.75L10 8.25C10 8.11 9.89 8 9.75 8ZM9.5 5L5.5 5C5.22 5 5 5.22 5 5.5L5 6.5C5 6.78 5.22 7 5.5 7L9.5 7C9.78 7 10 6.78 10 6.5L10 5.5C10 5.22 9.78 5 9.5 5ZM8.5 3L6.5 3C6.22 3 6 3.22 6 3.5C6 3.78 6.22 4 6.5 4L8.5 4C8.78 4 9 3.78 9 3.5C9 3.22 8.78 3 8.5 3Z"/>\n</svg>',"molar-tooth":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M4.36 14c-1 0 -0.56 -2.67 -0.86 -5c-0.1 -0.76 -1 -1.49 -1.12 -2.06C2 5 1.39 1.44 3.66 1S6 3 7.54 3s1.57 -2.36 3.85 -2s1.59 3.9 1.29 5.9c-0.1 0.45 -1.1 1.48 -1.18 2.06c-0.33 2.4 0.32 5 -0.8 5c-0.93 0 -1.32 -2.72 -2 -4.5C8.43 8.63 8.06 8 7.54 8C6 8 5.75 14 4.36 14z"/>\n</svg>',navigation:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-navigation"><polygon points="3 11 22 2 13 21 11 13 3 11"></polygon></svg>',"needle-and-spool-of-thread":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M5.87 1.98L5.13 1.97C4.97 1.97 4.83 1.97 4.68 1.97C3.24 2 2.41 2.16 2.1 2.71C1.65 3.5 2.47 4.27 4.54 5.33L5.23 5.68C5.72 5.93 6.09 6.14 6.35 6.32C6.4 6.35 6.45 6.38 6.49 6.41L6.29 6.46L5.62 6.58L5 6.71C3.41 7.09 2.5 7.73 2.5 9L2.5 13L7.5 13L7.5 9L3.5 9C3.5 8.39 3.99 8.02 5.03 7.74L5.23 7.69C5.36 7.66 5.49 7.63 5.65 7.6L6.37 7.46L6.68 7.39C6.91 7.34 7.08 7.29 7.22 7.22C7.61 7.04 7.84 6.71 7.69 6.28C7.53 5.83 6.88 5.4 5.46 4.67L5.22 4.55C4.25 4.06 3.59 3.66 3.23 3.35L3.07 3.21C3.03 3.17 3.01 3.16 2.99 3.17L2.98 3.19C3.1 3.12 3.69 3.01 4.51 2.98L4.7 2.97C5.09 2.96 5.48 2.97 6.02 2.98L6.37 3C6.39 3 6.41 3 6.43 3L7.54 4.58C8.97 6.6 11.46 10.04 15 14.92L11.07 6.14C9.65 3 8.86 1.28 8.68 0.98C8.24 0.21 7.37 -0.3 6.5 0.2C5.81 0.6 5.68 1.32 5.87 1.98ZM9 13.5L9 8.5C9 8.22 8.78 8 8.5 8C8.22 8 8 8.22 8 8.5L8 13.5C8 13.78 8.22 14 8.5 14C8.78 14 9 13.78 9 13.5ZM2 13.5L2 8.5C2 8.22 1.78 8 1.5 8C1.22 8 1 8.22 1 8.5L1 13.5C1 13.78 1.22 14 1.5 14C1.78 14 2 13.78 2 13.5ZM7.82 3.48L6.82 1.75C6.68 1.51 6.76 1.2 7 1.06C7.24 0.93 7.54 1.01 7.68 1.25L8.68 2.98C8.82 3.22 8.74 3.52 8.5 3.66C8.29 3.78 8.03 3.74 7.87 3.55L7.82 3.48Z"/>\n</svg>',nostrich:'<svg width="24" height="24" viewBox="0 0 24 24" class="icon-nostrich" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M17.7084 10.1607C18.1683 13.3466 14.8705 14.0207 12.9733 13.9618C12.8515 13.958 12.7366 14.0173 12.6647 14.1157C12.4684 14.384 12.1547 14.7309 11.9125 14.7309C11.6405 14.7309 11.3957 15.254 11.284 15.5795C11.2723 15.6137 11.3059 15.6452 11.3403 15.634C14.345 14.6584 15.5241 14.3238 16.032 14.4178C16.4421 14.4937 17.209 15.8665 17.5413 16.5434C16.7155 16.5909 16.4402 15.8507 16.2503 15.7178C16.0985 15.6116 16.0415 16.0974 16.032 16.3536C15.8517 16.2587 15.6239 16.1259 15.6049 15.7178C15.5859 15.3098 15.3771 15.4142 15.2157 15.4332C15.0544 15.4521 12.5769 16.2493 12.2067 16.3536C11.8366 16.458 11.4094 16.6004 11.0582 16.8471C10.4697 17.1318 10.09 16.9325 9.98561 16.4485C9.90208 16.0614 10.4444 14.8701 10.726 14.3229C10.3779 14.4526 9.65529 14.7158 9.54898 14.7309C9.44588 14.7457 8.13815 15.7552 7.43879 16.3038C7.398 16.3358 7.37174 16.3827 7.36236 16.4336C7.25047 17.0416 6.89335 17.2118 6.27423 17.5303C5.77602 17.7867 4.036 20.4606 3.14127 21.9041C3.0794 22.0039 2.9886 22.0806 2.8911 22.1461C2.32279 22.5276 1.74399 23.4985 1.50923 23.9737C1.17511 23.0095 1.61048 22.1802 1.86993 21.886C1.75602 21.7873 1.49341 21.8449 1.37634 21.886C1.69907 20.7757 2.82862 20.7757 2.79066 20.7757C2.99948 20.5954 5.44842 17.0938 5.50538 16.9325C5.56187 16.7725 5.46892 16.0242 6.69975 15.6139C6.7193 15.6073 6.73868 15.5984 6.75601 15.5873C7.71493 14.971 8.43427 13.9774 8.67571 13.5542C7.39547 13.4662 5.92943 12.7525 5.16289 12.294C4.99765 12.1952 4.8224 12.1092 4.63108 12.0875C3.58154 11.9687 2.53067 12.6401 2.10723 13.0228C1.93258 12.7799 2.12938 12.0739 2.24961 11.7513C1.82437 11.6905 1.19916 12.308 0.939711 12.6243C0.658747 12.184 0.904907 11.397 1.06311 11.0585C0.501179 11.0737 0.120232 11.3306 0 11.4571C0.465109 7.99343 4.02275 9.00076 4.06259 9.04675C3.87275 8.84937 3.88857 8.59126 3.92021 8.48688C6.0749 8.54381 7.08105 8.18321 7.71702 7.81313C12.7288 5.01374 14.8882 6.73133 15.6856 7.1631C16.4829 7.59487 17.9304 7.77042 18.9318 7.37187C20.1278 6.83097 19.9478 5.43673 19.7054 4.90461C19.4397 4.32101 17.9399 3.51438 17.4084 2.49428C16.8768 1.47418 17.34 0.233672 17.9558 0.0607684C18.5425 -0.103972 18.9615 0.0876835 19.2831 0.378128C19.4974 0.571763 20.0994 0.710259 20.3509 0.800409C20.6024 0.890558 21.0201 1.00918 20.9964 1.08035C20.9726 1.15152 20.5699 1.14202 20.5075 1.14202C20.3794 1.14202 20.2275 1.161 20.3794 1.23217C20.5575 1.30439 20.8263 1.40936 20.955 1.47846C20.9717 1.48744 20.9683 1.51084 20.95 1.51577C20.0765 1.75085 19.2966 1.26578 18.7183 1.82526C18.1298 2.39463 19.3827 2.83114 20.0282 3.51438C20.6736 4.19762 21.3381 5.01372 20.8065 6.87365C20.395 8.31355 18.6703 9.53781 17.7795 10.0167C17.7282 10.0442 17.7001 10.1031 17.7084 10.1607Z" fill="currentColor"/>\n</svg>\n',"open-book":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M0.09 10.16C-0.01 10.08 0 9.94 0 9.94L0.61 2.77C0.61 2.77 0.62 2.69 0.66 2.66C0.67 2.62 0.7 2.59 0.75 2.57C1.36 2.33 4.67 0.54 6.35 2.2C6.62 2.52 6.92 2.99 6.92 3.35L6.92 9.41C6.92 9.41 6.93 9.54 6.81 9.62C6.78 9.64 6.67 9.69 6.53 9.62C3.96 8.35 1.1 9.79 0.37 10.18C0.23 10.25 0.12 10.17 0.09 10.16ZM14.63 10.18C13.9 9.8 11.04 8.35 8.47 9.62C8.33 9.69 8.22 9.63 8.19 9.62C8.07 9.54 8.08 9.41 8.08 9.41L8.08 3.35C8.08 2.99 8.38 2.52 8.65 2.2C10.33 0.54 13.62 2.33 14.23 2.57C14.28 2.59 14.31 2.62 14.33 2.65C14.37 2.69 14.38 2.77 14.38 2.77L15 9.94C15 9.94 15.01 10.08 14.91 10.16C14.88 10.17 14.77 10.25 14.63 10.18ZM9.07 13.31C9.12 13.3 9.18 13.27 9.21 13.22C9.23 13.18 9.25 13.15 9.25 13.09C9.31 12.02 11.12 11.02 14.62 13.06C14.71 13.11 14.82 13.11 14.9 13.04C15 12.97 15 12.85 15 12.85L15 12.22C15 12.22 15 12.13 14.97 12.09C14.94 12.05 14.91 12.02 14.86 11.98C12.52 10.48 9.57 9.8 8.07 11.8C8.04 11.84 8.02 11.87 7.98 11.9C7.93 11.95 7.85 11.95 7.85 11.95L7.17 11.95C7.17 11.95 7.08 11.95 7.02 11.9C6.97 11.87 6.96 11.84 6.93 11.8C5.43 9.8 2.48 10.45 0.14 11.95C0.09 11.97 0.06 12.01 0.03 12.05C0 12.1 0 12.19 0 12.19L0 12.82C0 12.82 0 12.95 0.09 13.01C0.18 13.08 0.29 13.08 0.37 13.04C3.85 11 5.68 12.03 5.73 13.11C5.73 13.16 5.76 13.19 5.78 13.23C5.8 13.27 5.87 13.31 5.92 13.32C6.76 13.52 7.97 13.6 9.07 13.31Z"/>\n</svg>',palace:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M12.86 2.14L11.79 3.75L11.79 4.29L15 4.29L15 3.75L13.93 2.14L12.86 2.14ZM1.07 2.14L0 3.75L0 4.29L3.21 4.29L3.21 3.75L2.14 2.14L1.07 2.14ZM4.29 4.29L10.71 4.29L10.71 3.21L7.5 0L4.29 3.21L4.29 4.29ZM0 5.36L0 13.93L5.36 13.93C5.36 12.86 5.36 10.71 7.5 10.71C9.64 10.71 9.64 12.86 9.64 13.93L15 13.93L15 5.36L11.81 5.36L11.79 6.43L10.71 6.43L10.75 5.36L4.33 5.36L4.29 6.43L3.21 6.43L3.21 5.36L0 5.36ZM3.21 8.57C4.29 8.57 4.29 9.64 4.29 10.71L2.14 10.71C2.14 9.64 2.14 8.57 3.21 8.57ZM11.79 8.57C12.86 8.57 12.86 9.35 12.86 10.71L10.71 10.74C10.68 9.37 10.71 8.57 11.79 8.57Z"/>\n</svg>',"person-cricket-batting-at-cricket-ball":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M8 1.5C8 2.33 7.33 3 6.5 3S5 2.33 5 1.5S5.67 0 6.5 0S8 0.67 8 1.5zM10.88 7.18L10.88 7.18l-2 -2l0 0l0 0C8.78 5.06 8.63 5 8.48 5H3.75C3.37 4.99 3.05 5.27 3 5.64l0 0l-1 7.7l0 0c-0.01 0.05 -0.01 0.09 0 0.14c0 0.28 0.22 0.5 0.5 0.5c0.23 0.02 0.43 -0.13 0.5 -0.34l0 0l1.2 -3.89l0 0l0.26 -0.83l0.4 0.44l0 0L6 10.6v2.9C6 13.78 6.22 14 6.5 14S7 13.78 7 13.5v-3l0 0l0 0c-0.01 -0.08 -0.04 -0.15 -0.08 -0.22l0 0L5.48 8.5l1 -2.5h1.71l2 1.84l0 0c0.09 0.11 0.23 0.17 0.37 0.17C10.82 7.98 11.01 7.76 11 7.5C11 7.38 10.96 7.27 10.88 7.18zM14 11.27c-0.41 0 -0.75 0.34 -0.75 0.75s0.34 0.75 0.75 0.75s0.75 -0.34 0.75 -0.75S14.41 11.27 14 11.27zM10.76 9.74V9c0 -0.14 -0.11 -0.25 -0.25 -0.25S10.26 8.86 10.26 9v0.74c-0.15 0.09 -0.25 0.25 -0.25 0.42v3.34c0 0.28 0.22 0.5 0.5 0.5s0.5 -0.22 0.5 -0.5v-3.34C11.01 9.99 10.91 9.83 10.76 9.74z"/>\n</svg>',"person-boarding-tram-with-destination-display-and-pantograph-on-tram-track":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M5.5 7.51C5.5 7.64 5.45 7.76 5.35 7.85L4.35 8.85C4.2 9.01 3.96 9.05 3.76 8.94L3.5 8.8L3.5 9.94L4.72 10.55C4.89 10.64 5 10.81 5 11L5 12.5C5 12.78 4.78 13 4.5 13C4.22 13 4 12.78 4 12.5L4 11.31L3.05 10.83C3.03 10.85 3.02 10.86 3 10.87L3 12L2.97 12.16L2.47 13.66C2.39 13.92 2.1 14.06 1.84 13.97C1.58 13.89 1.44 13.6 1.53 13.34L2 11.92L2 10.87C1.7 10.69 1.5 10.37 1.5 10L1.5 8.25C1.5 7.7 1.95 7.25 2.5 7.25C2.71 7.25 2.9 7.31 3.07 7.43L3.91 7.88L4.65 7.15C4.84 6.95 5.16 6.95 5.35 7.15C5.45 7.24 5.5 7.36 5.5 7.49L5.5 4.83C5.5 4.3 5.71 3.79 6.09 3.41L7.5 2L9 2L9 1L7.5 1C7.22 1 7 0.78 7 0.5C7 0.22 7.22 0 7.5 0L11.5 0C11.78 0 12 0.22 12 0.5C12 0.78 11.78 1 11.5 1L10 1L10 2L11.5 2L12.91 3.41C13.29 3.79 13.5 4.3 13.5 4.83L13.5 11C13.5 12.1 12.6 13 11.5 13L7.5 13C6.4 13 5.5 12.1 5.5 11L5.5 7.51ZM8.25 13.5L7.5 15L6 15L6.75 13.5L8.25 13.5ZM12.25 13.5L13 15L11.5 15L10.75 13.5L12.25 13.5ZM10.5 12L11.5 12C12.05 12 12.5 11.55 12.5 11L12.5 10C11.4 10 10.5 10.9 10.5 12ZM8.5 12C8.5 10.9 7.6 10 6.5 10L6.5 11C6.5 11.55 6.95 12 7.5 12L8.5 12ZM6.5 5.5L6.5 8.5C6.5 8.78 6.72 9 7 9L12 9C12.28 9 12.5 8.78 12.5 8.5L12.5 5.5C12.5 5.22 12.28 5 12 5L7 5C6.72 5 6.5 5.22 6.5 5.5ZM7.5 3.5C7.5 3.78 7.72 4 8 4L11 4C11.28 4 11.5 3.78 11.5 3.5C11.5 3.22 11.28 3 11 3L8 3C7.72 3 7.5 3.22 7.5 3.5ZM2.5 7C1.95 7 1.5 6.55 1.5 6C1.5 5.45 1.95 5 2.5 5C3.05 5 3.5 5.45 3.5 6C3.5 6.55 3.05 7 2.5 7Z"/>\n</svg>',"person-jockeying-racehorse":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M10 1C9.73 1 9.48 1.11 9.29 1.29C9.11 1.48 9 1.73 9 2C9 2.27 9.11 2.52 9.29 2.71C9.48 2.89 9.73 3 10 3C10.27 3 10.52 2.89 10.71 2.71C10.89 2.52 11 2.27 11 2C11 1.73 10.89 1.48 10.71 1.29C10.52 1.11 10.27 1 10 1ZM5.5 3C5.25 3 4.5 3 5 3.75L6.25 6H4.5C4.22 6 3.98 6.1 3.75 6.25C2.94 5.12 2.24 5.55 1.51 6C1.11 6.25 0.69 6.5 0.25 6.5C0.18 6.5 0.12 6.53 0.08 6.58C0.03 6.62 0 6.68 0 6.75C0 6.82 0.03 6.88 0.08 6.92C0.12 6.97 0.18 7 0.25 7C0.63 7.02 1.06 6.91 1.49 6.79C2.14 6.62 2.8 6.45 3.25 6.75C3.16 6.94 3 7.5 3 8L3 9.51C2.79 9.71 2.62 9.63 2.44 9.55C2.3 9.49 2.16 9.42 2 9.5L1 12.45C1 12.7 1.39 12.75 1.5 12.5L2.25 10.74C3 10.74 4.5 10 5 9L9 10L11.5 12.5C11.7 12.7 12.12 12.36 11.96 12.12L10 9L12 6.5C12.25 7 12.5 7 12.99 7H13L13.6 7.75C13.99 8.24 14.82 7.74 14.5 7.25L12.83 4.79L13 4.5C13.06 4.31 12.64 3.92 12.5 4L10.5 5.5L8.89 3.19C8.84 3.13 8.78 3.08 8.72 3.05C8.65 3.02 8.57 3 8.5 3H5.5ZM9 5.25L9.5 6L6.78 7.92C6.72 7.95 6.66 7.98 6.6 8C6.53 8.01 6.46 8.01 6.4 8C6.33 7.99 6.27 7.96 6.21 7.93C6.16 7.89 6.11 7.84 6.07 7.79C6.03 7.73 6.01 7.67 6 7.6C5.98 7.54 5.98 7.47 6 7.4C6.01 7.34 6.04 7.28 6.08 7.22C6.12 7.17 6.17 7.12 6.22 7.08L9 5.25Z"/>\n</svg>',"person-playing-tennis":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M13.27 7.26C13.57 7.26 13.82 7.51 13.82 7.82C13.82 8.12 13.57 8.36 13.27 8.36C12.96 8.36 12.72 8.12 12.72 7.82C12.72 7.51 12.96 7.27 13.27 7.27L13.27 7.26ZM5.62 2.69C4.96 2.69 4.43 2.15 4.43 1.49C4.43 0.83 4.96 0.3 5.62 0.3C6.28 0.3 6.82 0.83 6.82 1.49C6.82 2.15 6.28 2.69 5.62 2.69ZM0.48 13.31L2.42 11.02L3.03 7.48L3.56 5.09L2.96 5.43L1.94 7.39C1.86 7.53 1.73 7.64 1.58 7.68C1.42 7.73 1.25 7.72 1.11 7.64C0.97 7.57 0.86 7.44 0.82 7.28C0.77 7.13 0.78 6.96 0.86 6.82L1.99 4.68C2.01 4.65 2.03 4.61 2.07 4.57C2.15 4.49 2.33 4.39 2.33 4.39L4.49 3.17C4.76 3.03 5.06 2.98 5.37 3.05C5.49 3.08 5.61 3.12 5.74 3.2L5.77 3.21C5.88 3.27 6.27 3.5 6.51 4.06L7.62 6.29L9.37 6.63L9.41 6.64L10.99 5.53C11.34 5.28 11.39 4.54 11.39 4.51C11.43 4 11.73 3.52 12.2 3.19C12.62 2.89 13.13 2.76 13.6 2.84C13.97 2.9 14.27 3.09 14.47 3.36C14.63 3.58 14.71 3.84 14.71 4.11L14.69 4.35C14.6 4.82 14.32 5.26 13.89 5.56C13.47 5.87 12.96 5.99 12.49 5.91L12.38 5.89C12.37 5.89 11.67 5.67 11.32 5.9L9.83 6.96L9.87 7.05C9.9 7.1 9.92 7.17 9.91 7.24C9.91 7.28 9.91 7.31 9.9 7.35C9.84 7.68 9.52 7.9 9.19 7.83L7.09 7.42C7.09 7.42 6.91 7.37 6.84 7.31C6.77 7.27 6.72 7.19 6.69 7.14L6.11 5.99L5.73 7.79C5.73 7.81 5.73 7.82 5.73 7.82L7.45 9.63L7.51 9.67C7.67 9.82 7.8 10.01 7.8 10.22L7.8 13.98C7.8 14.39 7.45 14.71 7.05 14.71C6.65 14.71 6.3 14.39 6.3 13.98L6.3 10.85C6 10.69 4.85 9.33 4.5 8.98L4.13 11.09C4.11 11.23 4.04 11.36 3.96 11.46L1.58 14.26C1.46 14.4 1.28 14.5 1.09 14.51C0.89 14.53 0.71 14.47 0.56 14.34C0.39 14.2 0.3 13.99 0.3 13.79C0.3 13.65 0.33 13.52 0.41 13.41L0.48 13.31ZM12 5.12C12.13 5.3 12.33 5.41 12.57 5.45C12.92 5.51 13.3 5.42 13.62 5.18C13.94 4.95 14.16 4.62 14.22 4.28L14.24 4.11C14.24 3.93 14.19 3.77 14.09 3.63C13.77 3.19 13.05 3.16 12.47 3.57C11.94 3.95 11.72 4.58 11.94 5.03L12 5.12Z"/>\n</svg>',"person-running":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M10.48 2.31C11.12 2.31 11.63 1.79 11.63 1.15C11.63 0.52 11.12 0 10.48 0C9.85 0 9.33 0.52 9.33 1.15C9.33 1.79 9.85 2.31 10.48 2.31ZM1.83 10.38L4.71 10.38L5.87 6.92L7.02 4.9L5.87 4.62L3.21 5.77C2.89 5.9 2.53 5.75 2.4 5.42C2.29 5.14 2.4 4.82 2.65 4.67L2.75 4.62L5.87 3.46L8.17 3.46L10.48 4.62L11.63 5.77L13.37 5.77C13.69 5.77 13.94 6.02 13.94 6.35C13.94 6.67 13.69 6.92 13.37 6.92L10.48 6.92L9.33 5.77L8.17 8.08L10.48 10.38L10.48 14.42C10.48 14.75 10.23 15 9.9 15C9.58 15 9.33 14.75 9.33 14.42L9.33 10.83L7.02 9.23L5.87 11.54L1.83 11.54C1.5 11.54 1.25 11.28 1.25 10.96C1.25 10.64 1.5 10.38 1.83 10.38Z"/>\n</svg>',"person-sleeping-in-bed":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M0.5 2.5C0.2 2.5 0 2.7 0 3L0 10.5L0 12.5C0 12.8 0.2 13 0.5 13C0.8 13 1 12.8 1 12.5L1 11L14 11L14 12.5C14 12.8 14.2 13 14.5 13C14.8 13 15 12.8 15 12.5L15 10.5C15 10.2 14.8 10 14.5 10L1 10L1 3C1 2.7 0.8 2.5 0.5 2.5ZM3.5 3C2.7 3 2 3.7 2 4.5L2 4.5C2 5.3 2.7 6 3.5 6L3.5 6C4.3 6 5 5.3 5 4.5L5 4.5C5 3.7 4.3 3 3.5 3L3.5 3ZM7 4C5.5 4 5.5 5.5 5.5 5.5L5.5 7L3 7C2.45 7 2 7.45 2 8C2 8.55 2.45 9 3 9L6 9L6 9L15 9L15 6.5C15 4 12.5 4 12.5 4L7 4Z"/>\n</svg>',"person-swimming-in-water":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M10.11 2C10 2 9.68 2.15 9.68 2.15L6.35 3.83C5.91 4 5.74 4.71 6 5.06l0.97 1.41L3 8.5L5 10l2.5 -1.5l2.5 1.5l1 -1l-3 -4l2.56 -1.53c0.53 -0.27 0.44 -0.7 0.44 -0.97C11 2.29 10.64 2 10.11 2zM12.25 5C11.28 5 10.5 5.78 10.5 6.75s0.78 1.75 1.75 1.75s1.75 -0.78 1.75 -1.75S13.22 5 12.25 5zM2.5 10L0 11.5V13l2.5 -1.5L5 13l2.5 -1.5l2.5 1.5L12 11.5l3 1.5v-1.5L12 10l-2 1.5l-2.5 -1.5L5 11.5L2.5 10z"/>\n</svg>',"person-swinging-golf-club":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M3.4 1.1c0 0.1 0 0.2 0 0.2c0 0.4 0.3 0.7 0.7 0.7c0.3 0 0.5 -0.2 0.6 -0.5l0 0L4.9 1l5.6 2.3L6.6 6C6.2 6.3 6.2 6.7 6.3 7.1l0.9 2.1l-1.3 3.9C5.7 13.6 6.1 14 6.5 14c0.3 0 0.5 -0.1 0.6 -0.5l1.4 -4l0.1 0.3v3.5c0 0 0 0.7 0.7 0.7s0.7 -0.7 0.7 -0.7V10c0 -0.2 0 -0.3 -0.1 -0.5L8.5 6.1l2.7 -1.9c0.2 -0.2 0.4 -0.3 0.4 -0.6s-0.2 -0.5 -0.4 -0.6L4 0.1c-0.09 0 -0.12 0.02 -0.2 0.1L3.4 1.1zM5.5 3C4.7 3 4 3.7 4 4.5S4.7 6 5.5 6S7 5.3 7 4.5S6.3 3 5.5 3z"/>\n</svg>',phone:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-phone"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>',"plane-top-right":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M14.12 0.88C14.48 1.24 14.12 3 13.06 4.07L12 5.13L12 13.61L11.3 14.32L9 8.13L6.7 10.43L6.69 13.25L5.98 13.95L4.39 10.59L1.03 9L1.74 8.3L4.58 8.31L6.88 6.01L0.69 3.71L1.4 3L9.88 3L10.94 1.94C12 0.88 13.77 0.53 14.12 0.88Z"/>\n</svg>',"plant-in-raised-planter":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M12 12L12 10.5C12 10.22 12.22 10 12.5 10L13.5 10C13.78 10 14 10.22 14 10.5L14 12L14 13.5C14 13.78 13.78 14 13.5 14L1.5 14C1.22 14 1 13.78 1 13.5L1 12L1 10.5C1 10.22 1.22 10 1.5 10L2.5 10C2.78 10 3 10.22 3 10.5L3 12L12 12ZM7 5.5L5.66 4.83C4.64 4.32 4 3.28 4 2.15L4 1C5.6 1.53 6.87 2.73 7.5 4.26C8.13 2.73 9.4 1.53 11 1L11 2.15C11 3.28 10.36 4.32 9.34 4.83L8 5.5L8 7.96C8.94 6.55 10.35 5.5 12 5C12 7.42 10.28 9.44 8 9.9L8 11.5L7 11.5L7 9.9C4.72 9.44 3 7.42 3 5C4.65 5.5 6.06 6.55 7 7.96L7 5.5Z"/>\n</svg>',"place-of-worship-building":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7.5 0l-2 2v2h4V2L7.5 0zM5.5 4.5L4 6h7L9.5 4.5H5.5zM2 6.5c-0.55 0 -1 0.45 -1 1V13h2V7.5C3 6.95 2.55 6.5 2 6.5zM4 6.5V13h7V6.5H4zM13 6.5c-0.55 0 -1 0.45 -1 1V13h2V7.5C14 6.95 13.55 6.5 13 6.5z"/>\n</svg>',"play-structure-with-slide":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M6 10L6 10.01L6 14L5 14L5 11.13L2.75 13.66C2.38 14.08 1.75 14.11 1.34 13.75C0.92 13.38 0.89 12.75 1.25 12.34L5 8.12L5 4L4 4L4 3L7.5 1L11 3L11 4L10 4L10 8L12.5 12L13 12C13.55 12 14 12.45 14 13L14 13C14 13.55 13.55 14 13 14C13 14 13 14 13 14L11.5 14L10 11.6L10 14L9 14L9 10L6 10ZM6.59 7.69C6.6 7.7 6.6 7.7 6.61 7.71C6.86 7.89 7.17 8 7.5 8C8.33 8 9 7.33 9 6.5C9 5.67 8.33 5 7.5 5C6.67 5 6 5.67 6 6.5C6 6.99 6.23 7.42 6.59 7.69L6.59 7.69Z"/>\n</svg>',"police-officer-with-stop-arm":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M14 7L14 13.5C14 13.5 14 13.5 14 13.5C14 13.78 13.77 14 13.5 14L8 13.98L14 7ZM7 13.5L7 9L2 9C1.45 9 1 8.55 1 8C1 7.45 1.45 7 2 7L12.5 7L7 13.5ZM13 4C13.09 4.43 12.99 6.5 10.5 6.5C8 6.5 7.98 4.44 8.07 4L10.5 5L13 4ZM14 2.75L10.5 4.25L7 2.75L7 1C7.92 0.95 8.59 0.87 9 0.75C9.41 0.63 9.9 0.38 10.46 0C11.04 0.37 11.55 0.62 12 0.75C12.45 0.88 13.11 0.96 14 1L14 2.75ZM11.5 2.01C11.44 1.94 11.38 1.88 11.3 1.82C10.75 1.38 9.94 1.46 9.5 2.01L9.5 2.01L10.11 2.77C10.13 2.8 10.16 2.83 10.19 2.85C10.4 3.02 10.72 2.99 10.89 2.77L11.5 2.01Z"/>\n</svg>',plus:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg>',"round-structure-with-flag":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7 1v2v1.5v0.51C4.17 5.1 2 5.97 2 7v4.5c0 1.1 2.46 2 5.5 2s5.5 -0.9 5.5 -2V7c0 -1.03 -2.17 -1.9 -5 -1.99V4.06L11 2.75L7 1zM3 8.15c0.51 0.27 1.2 0.48 2 0.63v2.97C3.79 11.48 3 11.02 3 10.5V8.15zM12 8.15V10.5c0 0.52 -0.79 0.98 -2 1.25V8.78C10.8 8.63 11.49 8.42 12 8.15zM6 8.92C6.49 8.97 6.99 9 7.5 9C8.01 9 8.51 8.97 9 8.92v2.98C8.53 11.96 8.03 12 7.5 12S6.47 11.96 6 11.91V8.92z"/>\n</svg>',remotestorage:'<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n\x3c!-- Creator: CorelDRAW X7 --\x3e\n\n<svg\n xml:space="preserve"\n width="24"\n height="24"\n version="1.1"\n style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"\n viewBox="0 0 249.99729 249.90068"\n id="svg1"\n sodipodi:docname="icon-square.svg"\n inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"\n xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n xmlns="http://www.w3.org/2000/svg"\n xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview\n id="namedview1"\n pagecolor="#ffffff"\n bordercolor="#666666"\n borderopacity="1.0"\n inkscape:showpageshadow="2"\n inkscape:pageopacity="0.0"\n inkscape:pagecheckerboard="true"\n inkscape:deskcolor="#d1d1d1"\n inkscape:document-units="in"\n inkscape:zoom="6.5838793"\n inkscape:cx="2.1264059"\n inkscape:cy="39.414453"\n inkscape:window-width="2160"\n inkscape:window-height="1281"\n inkscape:window-x="0"\n inkscape:window-y="0"\n inkscape:window-maximized="1"\n inkscape:current-layer="Layer_x0020_1" />&#10; <defs\n id="defs1"></defs>&#10; <g\n id="Layer_x0020_1"\n inkscape:label="Layer 1"\n inkscape:groupmode="layer"\n transform="translate(-66.822266,-0.16483529)">&#10; <metadata\n id="CorelCorpID_0Corel-Layer" />&#10; <polygon\n fill="currentColor"\n points="228,181 370,100 511,181 652,263 370,425 87,263 87,263 0,213 0,213 0,311 0,378 0,427 0,476 86,525 185,582 370,689 554,582 653,525 653,590 653,592 370,754 0,542 0,640 185,747 370,853 554,747 739,640 739,525 739,476 739,427 739,378 653,427 370,589 86,427 86,361 185,418 370,524 554,418 653,361 739,311 739,213 554,107 370,0 185,107 58,180 144,230 "\n id="polygon1"\n transform="matrix(0.29308006,0,0,0.29308006,83.527829,-0.02838471)"\n />&#10; </g>&#10;</svg>\n',"sailing-ship-in-water":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M7.48 0C7.43 0 7.4 0.04 7.4 0.09L7.4 0.09C7.38 0.1 7.37 0.11 7.36 0.12C7.18 0.32 7.08 0.47 6.99 0.55C6.9 0.63 6.81 0.66 6.57 0.62C6.36 0.58 6.24 0.43 6.07 0.29C5.99 0.22 5.89 0.15 5.77 0.12C5.64 0.09 5.5 0.11 5.33 0.18C5.28 0.2 5.26 0.25 5.26 0.3C5.26 0.34 5.28 0.39 5.33 0.41C5.54 0.5 5.62 0.6 5.7 0.75C5.78 0.9 5.85 1.09 6.01 1.3C6.18 1.52 6.42 1.65 6.67 1.7C6.91 1.76 7.17 1.75 7.37 1.68C7.38 1.68 7.39 1.68 7.39 1.67C7.39 1.91 7.39 2.4 7.39 2.76L5.2 1.43C5.18 1.42 5.15 1.41 5.13 1.41C5.08 1.41 5.04 1.43 5.01 1.47C4.99 1.51 4.98 1.57 4.99 1.61C5.66 3.84 5.11 6.07 3.65 8.32C3.61 8.29 3.57 8.27 3.53 8.26L0.72 7.62C0.63 7.59 0.53 7.63 0.46 7.7C0.09 8.1 -0.04 8.65 0.01 9.18C0.06 9.7 0.28 10.22 0.63 10.61C0.66 10.66 0.71 10.69 0.76 10.7L2.05 11.09C2.02 12.3 2.13 13.04 2.35 13.53C2.59 14.05 2.9 14.28 3.11 14.61C3.16 14.68 3.23 14.73 3.32 14.74C3.4 14.75 3.48 14.72 3.54 14.67C3.83 14.4 4.07 14.22 4.4 14.14C4.38 14.28 4.3 14.46 4.34 14.59C4.39 14.74 4.52 14.88 4.65 14.92C4.78 14.96 4.9 14.94 5 14.91C5.37 14.82 5.8 14.54 6.25 14.31C6.32 14.49 6.36 14.72 6.48 14.83C6.58 14.93 6.71 14.99 6.84 15C6.96 15.01 7.08 14.97 7.18 14.93C7.49 14.79 7.79 14.52 8.11 14.3C8.18 14.48 8.23 14.71 8.35 14.83C8.55 15.02 8.86 15.04 9.08 14.95C9.38 14.83 9.68 14.54 9.98 14.28C10.04 14.42 10.11 14.56 10.21 14.62C10.47 14.79 10.73 14.75 10.9 14.74C10.94 14.74 10.98 14.72 11.01 14.71C12.23 14.03 12.81 13.07 13 12.04C13.17 11.07 13.03 10.05 12.87 9.06L14.87 7.61C14.98 7.53 15.03 7.38 14.98 7.24C14.94 7.11 14.82 7.02 14.69 7.02C14.68 7.02 14.66 7.03 14.64 7.03L11.6 7.74C11.45 7.78 11.35 7.92 11.36 8.08C11.36 8.08 11.41 8.67 10.98 9.31C10.57 9.92 9.7 10.57 7.77 10.65L7.72 8.35C8.33 8.45 8.9 8.63 9.4 8.94C9.46 8.98 9.54 8.96 9.58 8.89C10.08 8.12 10.23 7.34 10.21 6.58C10.19 5.81 10.01 5.06 9.85 4.32C9.84 4.28 9.82 4.24 9.78 4.22L7.62 2.9L7.56 0.09L7.56 0.09C7.56 0.07 7.55 0.04 7.54 0.03C7.52 0.01 7.5 0 7.48 0ZM7.4 0.48C7.39 0.54 7.39 1.25 7.39 1.43C7.21 1.15 7.19 0.97 7.22 0.82C7.25 0.72 7.32 0.61 7.4 0.48ZM8.73 2.56C8.71 2.56 8.7 2.57 8.7 2.59C8.69 2.61 8.71 2.63 8.72 2.63C9.7 3.03 10.26 3.47 10.58 3.93C10.91 4.38 10.99 4.84 11 5.3C11.01 5.75 10.94 6.2 10.97 6.6C11 7 11.12 7.36 11.51 7.64C11.52 7.64 11.54 7.64 11.55 7.64C11.56 7.63 11.57 7.61 11.57 7.6C11.55 7.49 11.61 7.35 11.73 7.2C11.85 7.06 12.03 6.91 12.24 6.78C12.66 6.52 13.19 6.34 13.61 6.42C13.63 6.42 13.64 6.41 13.65 6.39C13.66 6.38 13.65 6.36 13.63 6.35C13.26 6.14 13.09 5.83 12.97 5.46C12.86 5.08 12.78 4.66 12.6 4.24C12.41 3.83 12.1 3.43 11.51 3.13C10.92 2.83 10.05 2.62 8.75 2.56C8.74 2.56 8.74 2.56 8.74 2.56C8.73 2.56 8.73 2.56 8.73 2.56C8.73 2.56 8.73 2.56 8.73 2.56L8.73 2.56ZM6.84 8.26C7.02 8.27 7.19 8.29 7.36 8.3C7.36 9.35 7.36 10.03 7.35 10.66C5.38 10.65 4.5 10.09 4.11 9.59C3.7 9.08 3.76 8.61 3.76 8.61C3.76 8.61 3.76 8.61 3.76 8.61C4.85 8.38 5.89 8.24 6.84 8.26ZM10.7 10.98C11.04 10.99 11.33 11.27 11.33 11.63C11.33 11.98 11.04 12.27 10.7 12.27C10.53 12.27 10.37 12.2 10.25 12.08C10.13 11.96 10.07 11.8 10.07 11.63C10.07 11.46 10.13 11.29 10.25 11.17C10.37 11.05 10.53 10.98 10.7 10.98ZM4.36 11.12C4.53 11.12 4.69 11.19 4.8 11.31C4.92 11.43 4.99 11.59 4.99 11.77C4.99 11.94 4.92 12.1 4.8 12.22C4.69 12.34 4.53 12.41 4.36 12.41C4.01 12.41 3.73 12.12 3.73 11.77C3.73 11.6 3.8 11.43 3.91 11.31C4.03 11.19 4.19 11.12 4.36 11.12ZM7.55 11.58C7.72 11.58 7.88 11.65 8 11.77C8.11 11.89 8.18 12.05 8.18 12.22C8.18 12.4 8.11 12.56 8 12.68C7.88 12.8 7.72 12.87 7.55 12.87C7.2 12.87 6.92 12.58 6.92 12.22C6.92 12.05 6.99 11.89 7.11 11.77C7.22 11.65 7.38 11.58 7.55 11.58L7.55 11.58Z"/>\n</svg>',"scissors-open":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M15 3c0 0 -2 -0.6 -3.5 0.5l-4.3 3C6.4 5.9 5.2 5.2 4 4.8V4c0 -1.1 -0.9 -2 -2 -2C0.9 2 0 2.9 0 4v1.5C0 6 0.5 6 0.5 6H2h0.5C4.5 6 6 7.5 6 7.5S4.5 9 2.5 9H2H0.5C0.5 9 0 9 0 9.5V11c0 1.1 0.9 2 2 2c1.1 0 2 -0.9 2 -2v-0.8c1.2 -0.4 2.4 -1.1 3.2 -1.7l4.3 3C13 12.6 15 12 15 12L8.5 7.5L15 3zM3 5H2H1V4c0 -0.6 0.4 -1 1 -1c0.6 0 1 0.4 1 1V5zM3 11c0 0.6 -0.4 1 -1 1c-0.6 0 -1 -0.4 -1 -1v-1h1h1V11zM7.25 8c-0.28 0 -0.5 -0.22 -0.5 -0.5S6.97 7 7.25 7s0.5 0.22 0.5 0.5S7.53 8 7.25 8z"/>\n</svg>',"shipwreck-in-water":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M15 13.18C14.68 13.18 14.36 13.07 14.04 12.96C13.82 12.86 13.5 12.86 13.18 12.86C12.86 12.86 12.54 12.96 12.21 13.07C11.89 13.18 11.57 13.29 11.25 13.29C10.93 13.29 10.61 13.18 10.29 13.07C10.07 12.86 9.75 12.86 9.43 12.86C9.11 12.86 8.79 12.96 8.46 13.07C8.14 13.18 7.82 13.29 7.5 13.29C7.18 13.29 6.86 13.18 6.54 13.07C6.32 12.86 6 12.86 5.57 12.86C5.25 12.86 4.93 12.96 4.61 13.07C4.29 13.18 3.96 13.29 3.64 13.29C3.32 13.29 3 13.18 2.68 13.07C2.57 12.86 2.25 12.86 1.82 12.86C1.5 12.86 1.18 12.96 0.86 13.07C0.54 13.18 0.21 13.29 -0.11 13.29L-0.11 11.89C0.21 11.89 0.54 11.79 0.86 11.68C1.18 11.57 1.5 11.46 1.82 11.46C2.14 11.46 2.46 11.57 2.79 11.68C3.11 11.79 3.43 11.89 3.75 11.89C4.07 11.89 4.39 11.79 4.71 11.68C5.04 11.57 5.36 11.46 5.68 11.46C6 11.46 6.32 11.57 6.64 11.68C6.86 11.79 7.18 11.89 7.5 11.89C7.82 11.89 8.14 11.79 8.46 11.68C8.79 11.57 9.11 11.46 9.43 11.46C9.75 11.46 10.07 11.57 10.39 11.68C10.71 11.79 11.04 11.89 11.36 11.89C11.68 11.89 12 11.79 12.32 11.68C12.64 11.57 12.96 11.46 13.29 11.46C13.61 11.46 13.93 11.57 14.25 11.68C14.57 11.79 14.89 11.89 15.21 11.89L15.21 13.18L15 13.18ZM8.04 7.5L6.64 4.29L8.04 3.75L7.71 2.79L6.75 3.21C6.75 3.21 6.54 3.32 6.32 3.43L5.68 1.82L4.82 2.14L5.46 3.75C4.82 4.07 4.07 4.39 4.07 4.39L4.39 5.25L5.89 4.61L7.29 7.82C4.5 9 1.82 10.18 1.93 10.18C2.25 10.18 2.57 10.29 2.89 10.39C3.21 10.5 3.54 10.61 3.86 10.61C4.18 10.61 4.5 10.5 4.82 10.39C5.14 10.29 5.46 10.18 5.79 10.18C6.11 10.18 6.43 10.29 6.75 10.39C6.86 10.5 7.18 10.5 7.5 10.5C7.82 10.5 8.14 10.39 8.46 10.29C8.79 10.18 9.11 10.07 9.43 10.07C9.75 10.07 10.07 10.18 10.39 10.29C10.71 10.39 11.04 10.5 11.36 10.5C11.46 10.5 11.57 10.5 11.68 10.5C11.89 10.5 12 10.5 12.21 10.39C12.21 10.39 12.21 10.39 12.21 10.39C12.32 8.79 12.96 5.36 12.96 5.36C12.96 5.36 10.61 6.43 8.04 7.5Z"/>\n</svg>',"shopping-bag":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M8.62 1C8.99 1.01 9.35 1.07 9.7 1.18C10.41 1.38 10.95 1.95 11.11 2.67L11.5 5L14.33 5C14.38 5 14.42 5.01 14.47 5.02C14.74 5.11 14.88 5.39 14.8 5.65L12.92 13.95C12.72 14.57 12.15 15 11.5 15L3.5 15C2.85 15 2.27 14.57 2.07 13.95L0.19 5.65C0.18 5.6 0.17 5.55 0.17 5.5C0.17 5.22 0.39 5 0.67 5L3.5 5L3.89 2.67C4.05 1.95 4.59 1.38 5.3 1.18C5.65 1.07 6.01 1.01 6.38 1L8.62 1ZM8.62 2L6.38 2C6.12 2.01 5.87 2.05 5.62 2.13C5.25 2.19 4.96 2.47 4.88 2.83L4.52 5L10.48 5L10.13 2.83C10.05 2.47 9.76 2.19 9.39 2.13C9.14 2.05 8.88 2.01 8.62 2Z"/>\n</svg>',search:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',server:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-server"><rect x="2" y="2" width="20" height="8" rx="2" ry="2"></rect><rect x="2" y="14" width="20" height="8" rx="2" ry="2"></rect><line x1="6" y1="6" x2="6.01" y2="6"></line><line x1="6" y1="18" x2="6.01" y2="18"></line></svg>',settings:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-settings"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg>',"shopping-basket":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M3 3.07s0.19 -1.06 1 -1.06H5V1.73a0.5 0.5 0 0 1 0.5 -0.5H9.49a0.5 0.5 0 0 1 0.5 0.5v0.28h1.01a0.83 0.83 0 0 1 0.64 0.29a1.76 1.76 0 0 1 0.36 0.77s0.31 1.57 0.59 2.92h-0.94L11 3L3.98 3L3.33 5.99H2.38Zm11 4.91a1 1 0 0 1 -1 1l-1 3.97s-0.19 1.04 -1 1.04h-7c-0.81 0 -1 -1.04 -1 -1.04L1.98 8.98a1 1 0 0 1 0.02 -2h11A1 1 0 0 1 14 7.98ZM5.03 12.13L5.03 11.01L4.64 9.47a0.54 0.54 0 1 0 -1.06 0.14L3.78 11.01l0.19 1.27A0.54 0.54 0 1 0 5.03 12.13Zm2 -2.6A0.53 0.53 0 0 0 6.5 9l0 0L6.49 9a0.5 0.5 0 0 0 -0.36 0.15a0.53 0.53 0 0 0 -0.16 0.38v2.68a0.53 0.53 0 1 0 1.07 0Zm2 0A0.53 0.53 0 0 0 8.69 9.04a0.5 0.5 0 0 0 -0.39 0a0.53 0.53 0 0 0 -0.34 0.49v2.68a0.53 0.53 0 1 0 1.07 0Zm2.39 0.08a0.54 0.54 0 1 0 -1.06 -0.14L9.96 10.99L9.96 12.13a0.54 0.54 0 1 0 1.06 0.14Z"/>\n</svg>',"shopping-cart":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M1.75 1.5L1.98 1.5C2.38 1.51 3.31 1.58 3.75 2C4.28 2.52 4.5 2.92 4.5 4L13.8 4L12.41 8.81L12.39 8.84C12.16 9.49 11.55 9.97 10.81 9.99C10.81 10 10.8 10 10.8 10L4.3 10L4.3 10.23C4.31 10.31 4.33 10.52 4.45 10.78L4.5 10.9C4.7 11.3 4.8 11.5 5.6 11.5L12.1 11.5C13.1 11.5 13.1 13 12.1 13L5.7 13C4.5 13 3.6 12.3 3.3 11.6C3 10.9 3 10.3 3 10.3L3 4C3 3.48 2.77 3 2.3 3L1.75 3C1.34 3 1 2.66 1 2.25C1 1.84 1.34 1.5 1.75 1.5ZM5.8 13C6.4 13 6.8 13.4 6.8 14C6.8 14.6 6.4 15 5.8 15C5.2 15 4.8 14.6 4.8 14C4.8 13.4 5.2 13 5.8 13ZM10.8 13C11.4 13 11.8 13.4 11.8 14C11.8 14.6 11.4 15 10.8 15C10.2 15 9.8 14.6 9.8 14C9.8 13.4 10.2 13 10.8 13Z"/>\n</svg>',"table-tennis-paddle":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M11.97 10.23a3.81 3.81 0 0 1 -1.91 0.98L3.77 4.93A4.03 4.03 0 0 1 4.77 3.03C7.03 0.77 9.98 0.22 12.38 2.62S14.23 7.97 11.97 10.23Zm-6.99 1.61A3.84 3.84 0 0 1 6.15 11.28A4.53 4.53 0 0 1 8 11.45L3.55 7a4.41 4.41 0 0 1 0.16 1.92a3.66 3.66 0 0 1 -0.52 1.12c-1.07 1.26 -2.13 1.73 -2.13 2.19A1.84 1.84 0 0 0 2.77 13.95C3.23 13.95 3.69 12.94 4.98 11.84Z"/>\n</svg>',"tattoo-machine":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M6.41 2.03C5.43 0.69 3.56 0.39 2.22 1.36C1.99 1.53 1.94 1.84 2.11 2.06C2.26 2.26 2.52 2.33 2.73 2.22L2.8 2.17C3.7 1.52 4.95 1.72 5.6 2.62L0.34 6.44C0.12 6.6 0.07 6.91 0.23 7.13C0.39 7.36 0.7 7.41 0.93 7.25L1.33 6.95L3.1 9.38L3.5 9.08L4.09 9.89L3.28 10.48C3.06 10.64 3.01 10.96 3.17 11.18C3.33 11.4 3.64 11.45 3.87 11.29L9.12 7.47L9.71 8.28L9.31 8.57C9.08 8.74 9.04 9.05 9.2 9.27L11.55 12.51C11.71 12.73 12.02 12.78 12.25 12.62L12.65 12.32L13.24 13.13L14.82 14.46L14.05 12.55L13.46 11.74L13.87 11.44C14.09 11.28 14.14 10.97 13.98 10.74L11.62 7.51C11.46 7.28 11.15 7.24 10.93 7.4L10.52 7.69L9.93 6.88L11.55 5.71L11.85 6.11C12.01 6.33 12.32 6.38 12.54 6.22L13.35 5.63C13.58 5.47 13.63 5.16 13.46 4.94L12.29 3.32C12.13 3.09 11.81 3.04 11.59 3.21L10.78 3.79C10.56 3.96 10.51 4.27 10.67 4.49L10.96 4.9L9.35 6.07L6.99 2.84L7.4 2.54C7.62 2.38 7.67 2.07 7.51 1.84C7.35 1.62 7.04 1.57 6.81 1.73L6.41 2.03ZM6.19 3.42L8.54 6.66L7.32 7.54L6.74 6.73L7.14 6.44L5.38 4.01L6.19 3.42ZM2.95 5.78L3.76 5.19L5.52 7.62L5.93 7.32L6.51 8.13L4.9 9.31L4.31 8.5L4.71 8.2L2.95 5.78Z"/>\n</svg>',toolbox:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M10.64 4.51C10.57 4.51 10.5 4.46 10.5 4.39L10.5 2.53C10.5 2.46 10.46 2.4 10.39 2.4L4.62 2.4C4.54 2.4 4.5 2.46 4.5 2.53L4.5 4.39C4.5 4.46 4.42 4.5 4.35 4.5L0.44 4.5C0.36 4.5 0.3 4.58 0.3 4.65L0.3 6.71C0.3 6.79 0.36 6.9 0.44 6.9L6.74 6.9C6.81 6.9 6.9 6.79 6.9 6.71L6.9 6.28C6.9 6.2 6.93 6 7.01 6L8 6C8.08 6 8.1 6.2 8.1 6.28L8.1 6.72C8.1 6.79 8.2 6.9 8.27 6.9L14.57 6.9C14.64 6.9 14.7 6.79 14.7 6.72L14.7 4.66C14.7 4.58 14.64 4.5 14.57 4.5L10.66 4.5L10.65 4.51L10.64 4.51ZM5.43 4.5C5.35 4.5 5.4 4.46 5.4 4.39L5.4 3.33C5.4 3.26 5.36 3.3 5.43 3.3L9.57 3.3C9.65 3.3 9.6 3.26 9.6 3.33L9.6 4.39C9.6 4.46 9.65 4.5 9.57 4.5L5.43 4.5ZM8.12 8.91C8.12 8.99 8.07 9 8 9L7 9C6.93 9 6.9 9.03 6.9 8.96L6.9 7.48C6.9 7.41 6.8 7.2 6.73 7.2L0.44 7.2C0.36 7.2 0.3 7.41 0.3 7.48L0.3 11.87C0.3 11.94 0.36 12 0.44 12L14.57 12C14.64 12 14.7 11.94 14.7 11.87L14.7 7.48C14.7 7.41 14.64 7.2 14.57 7.2L8.27 7.2C8.19 7.2 8.1 7.41 8.1 7.48L8.1 8.96L8.12 8.92L8.12 8.91Z"/>\n</svg>',target:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-target"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>',"trash-2":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-trash-2"><polyline points="3 6 5 6 21 6"></polyline><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" y1="11" x2="10" y2="17"></line><line x1="14" y1="11" x2="14" y2="17"></line></svg>',"upload-cloud":'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-upload-cloud"><polyline points="16 16 12 12 8 16"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"></path><polyline points="16 16 12 12 8 16"></polyline></svg>',"tree-and-bench-with-backrest":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M4 10.94L4 14L3 14L3 10.95C1.93 10.73 1.12 9.77 1.12 8.63C1.12 8.5 1.13 8.37 1.15 8.24C1.97 3.41 2.77 1 3.56 1C4.34 1 5.11 3.41 5.86 8.23L5.86 8.23C6.05 9.49 5.23 10.68 4 10.94ZM6 11L14 11L14 14L13 14L13 12L7 12L7 14L6 14L6 11ZM7 8L13 8L13 10.5L7 10.5L7 8Z"/>\n</svg>',user:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-user"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>',"village-buildings":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M6.18 1.18a0.25 0.25 0 0 0 -0.35 0l-4.4 4.4A0.25 0.25 0 0 0 1.6 6H3v6.75a0.25 0.25 0 0 0 0.25 0.25h3.5A0.25 0.25 0 0 0 7 12.75v-7.43c0 -0.07 0.03 -0.13 0.07 -0.18L8.5 3.5L6.18 1.18ZM6 11H5v-1h1v1Zm0 -2H5V8h1v1Zm0 -3v1H5V6h1ZM12.75 3h-0.5a0.25 0.25 0 0 0 -0.25 0.25V5l-1.32 -1.82a0.25 0.25 0 0 0 -0.35 0L8.06 5.93A0.25 0.25 0 0 0 8 6.09v6.66a0.25 0.25 0 0 0 0.25 0.25h1.5a0.25 0.25 0 0 0 0.25 -0.25V11h1v1.75a0.25 0.25 0 0 0 0.25 0.25h1.5a0.25 0.25 0 0 0 0.25 -0.25V3.25a0.25 0.25 0 0 0 -0.25 -0.25ZM10 8H9V7h1v1Zm2 0h-1V7h1v1Zm-2 2H9V9h1v1Zm2 0h-1V9h1v1Z"/>\n</svg>',"wall-hanging-with-mountains-and-sun":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M10.71 3l-2.86 -2.85c-0.19 -0.2 -0.51 -0.2 -0.71 0c0 0 0 0 0 0l-2.85 2.85h-2.79c-0.28 0 -0.5 0.22 -0.5 0.5v9c0 0.28 0.22 0.5 0.5 0.5h12c0.28 0 0.5 -0.22 0.5 -0.5v-9c0 -0.28 -0.22 -0.5 -0.5 -0.5zm-3.21 -1.79l1.79 1.79h-3.58zm5.5 10.79h-11v-8h11zm-8 -5c-0.55 0 -1 -0.45 -1 -1s0.45 -1 1 -1s1 0.45 1 1s-0.45 1 -1 1zm7 4h-7.5l1.5 -3l1.25 2.5l2.25 -4.5z"/>\n</svg>',"womens-and-mens-restroom-symbol":'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M5.67 3.46L3.33 3.46L1 11.54L3.33 11.54L3.33 15L5.67 15L5.67 11.54L8 11.54L5.67 3.46ZM4.73 2.31L4.27 2.31C3.68 2.31 3.33 1.96 3.33 1.38L3.33 0.92C3.33 0.35 3.68 0 4.27 0L4.85 0C5.32 0 5.67 0.35 5.67 0.92L5.67 1.5C5.67 1.96 5.32 2.31 4.73 2.31ZM12.83 3.53L8.21 3.53L8.21 9.3L9.36 9.3L9.36 15.07L11.67 15.07L11.67 9.3L12.83 9.3L12.83 3.53ZM10.73 2.31L10.27 2.31C9.68 2.31 9.33 1.96 9.33 1.38L9.33 0.92C9.33 0.35 9.68 0 10.27 0L10.85 0C11.32 0 11.67 0.35 11.67 0.92L11.67 1.5C11.67 1.96 11.32 2.31 10.73 2.31Z"/>\n</svg>',whatsapp:'<?xml version="1.0" encoding="UTF-8"?>\n<svg viewBox="-1.66 0 740.82 740.82" xmlns="http://www.w3.org/2000/svg">\n <path d="m630.06 107.66c-69.329-69.387-161.53-107.62-259.76-107.66-202.4 0-367.13 164.67-367.22 367.07-0.027 64.699 16.883 127.86 49.016 183.52l-52.095 190.23 194.67-51.047c53.634 29.244 114.02 44.656 175.48 44.682h0.151c202.38 0 367.13-164.69 367.21-367.09 0.039-98.088-38.121-190.32-107.45-259.71m-259.76 564.8h-0.125c-54.766-0.021-108.48-14.729-155.34-42.529l-11.146-6.613-115.52 30.293 30.834-112.59-7.258-11.543c-30.552-48.58-46.689-104.73-46.665-162.38 0.067-168.23 136.99-305.1 305.34-305.1 81.521 0.031 158.15 31.81 215.78 89.482s89.342 134.33 89.311 215.86c-0.07 168.24-136.99 305.12-305.21 305.12m167.42-228.51c-9.176-4.591-54.286-26.782-62.697-29.843-8.41-3.061-14.526-4.591-20.644 4.592-6.116 9.182-23.7 29.843-29.054 35.964-5.351 6.122-10.703 6.888-19.879 2.296-9.175-4.591-38.739-14.276-73.786-45.526-27.275-24.32-45.691-54.36-51.043-63.542-5.352-9.183-0.569-14.148 4.024-18.72 4.127-4.11 9.175-10.713 13.763-16.07 4.587-5.356 6.116-9.182 9.174-15.303 3.059-6.122 1.53-11.479-0.764-16.07s-20.643-49.739-28.29-68.104c-7.447-17.886-15.012-15.466-20.644-15.746-5.346-0.266-11.469-0.323-17.585-0.323-6.117 0-16.057 2.296-24.468 11.478-8.41 9.183-32.112 31.374-32.112 76.521s32.877 88.763 37.465 94.885c4.587 6.122 64.699 98.771 156.74 138.5 21.891 9.45 38.982 15.093 52.307 19.323 21.981 6.979 41.983 5.994 57.793 3.633 17.628-2.633 54.285-22.19 61.932-43.616 7.646-21.426 7.646-39.791 5.352-43.617-2.293-3.826-8.41-6.122-17.585-10.714" clip-rule="evenodd" fill-rule="evenodd"/>\n</svg>\n',wikipedia:'<?xml version="1.0" encoding="UTF-8"?>\n<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="7.15 7.15 113.7 113.7" fill="currentColor">\n<path d="M 120.85,29.21 C 120.85,29.62 120.72,29.99 120.47,30.33 C 120.21,30.66 119.94,30.83 119.63,30.83 C 117.14,31.07 115.09,31.87 113.51,33.24 C 111.92,34.6 110.29,37.21 108.6,41.05 L 82.8,99.19 C 82.63,99.73 82.16,100 81.38,100 C 80.77,100 80.3,99.73 79.96,99.19 L 65.49,68.93 L 48.85,99.19 C 48.51,99.73 48.04,100 47.43,100 C 46.69,100 46.2,99.73 45.96,99.19 L 20.61,41.05 C 19.03,37.44 17.36,34.92 15.6,33.49 C 13.85,32.06 11.4,31.17 8.27,30.83 C 8,30.83 7.74,30.69 7.51,30.4 C 7.27,30.12 7.15,29.79 7.15,29.42 C 7.15,28.47 7.42,28 7.96,28 C 10.22,28 12.58,28.1 15.05,28.3 C 17.34,28.51 19.5,28.61 21.52,28.61 C 23.58,28.61 26.01,28.51 28.81,28.3 C 31.74,28.1 34.34,28 36.6,28 C 37.14,28 37.41,28.47 37.41,29.42 C 37.41,30.36 37.24,30.83 36.91,30.83 C 34.65,31 32.87,31.58 31.57,32.55 C 30.27,33.53 29.62,34.81 29.62,36.4 C 29.62,37.21 29.89,38.22 30.43,39.43 L 51.38,86.74 L 63.27,64.28 L 52.19,41.05 C 50.2,36.91 48.56,34.23 47.28,33.03 C 46,31.84 44.06,31.1 41.46,30.83 C 41.22,30.83 41,30.69 40.78,30.4 C 40.56,30.12 40.45,29.79 40.45,29.42 C 40.45,28.47 40.68,28 41.16,28 C 43.42,28 45.49,28.1 47.38,28.3 C 49.2,28.51 51.14,28.61 53.2,28.61 C 55.22,28.61 57.36,28.51 59.62,28.3 C 61.95,28.1 64.24,28 66.5,28 C 67.04,28 67.31,28.47 67.31,29.42 C 67.31,30.36 67.15,30.83 66.81,30.83 C 62.29,31.14 60.03,32.42 60.03,34.68 C 60.03,35.69 60.55,37.26 61.6,39.38 L 68.93,54.26 L 76.22,40.65 C 77.23,38.73 77.74,37.11 77.74,35.79 C 77.74,32.69 75.48,31.04 70.96,30.83 C 70.55,30.83 70.35,30.36 70.35,29.42 C 70.35,29.08 70.45,28.76 70.65,28.46 C 70.86,28.15 71.06,28 71.26,28 C 72.88,28 74.87,28.1 77.23,28.3 C 79.49,28.51 81.35,28.61 82.8,28.61 C 83.84,28.61 85.38,28.52 87.4,28.35 C 89.96,28.12 92.11,28 93.83,28 C 94.23,28 94.43,28.4 94.43,29.21 C 94.43,30.29 94.06,30.83 93.32,30.83 C 90.69,31.1 88.57,31.83 86.97,33.01 C 85.37,34.19 83.37,36.87 80.98,41.05 L 71.26,59.02 L 84.42,85.83 L 103.85,40.65 C 104.52,39 104.86,37.48 104.86,36.1 C 104.86,32.79 102.6,31.04 98.08,30.83 C 97.67,30.83 97.47,30.36 97.47,29.42 C 97.47,28.47 97.77,28 98.38,28 C 100.03,28 101.99,28.1 104.25,28.3 C 106.34,28.51 108.1,28.61 109.51,28.61 C 111,28.61 112.72,28.51 114.67,28.3 C 116.7,28.1 118.52,28 120.14,28 C 120.61,28 120.85,28.4 120.85,29.21 z" />\n</svg>',parking_p:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M4 2V13H6V9H8.5C10.43 9 12 7.43 12 5.5C12 3.57 10.43 2 8.5 2H4ZM6 7V4H8.5C9.33 4 10 4.67 10 5.5C10 6.33 9.33 7 8.5 7H6Z"/>\n</svg>',car:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 15">\n <path d="M4.62 2L10.38 2C10.76 2 11.11 2.21 11.28 2.55L13 6C13.55 6 14 6.45 14 7L14 11.5L13 11.5L13 12.5C13 13.05 12.55 13.5 12 13.5L11 13.5C10.45 13.5 10 13.05 10 12.5L10 11.5L5 11.5L5 12.5C5 13.05 4.55 13.5 4 13.5L3 13.5C2.45 13.5 2 13.05 2 12.5L2 11.5L1 11.5L1 7C1 6.45 1.45 6 2 6L3.72 2.55C3.89 2.21 4.24 2 4.62 2ZM4.25 7.5C3.56 7.5 3 8.06 3 8.75C3 9.44 3.56 10 4.25 10C4.94 10 5.5 9.44 5.5 8.75C5.5 8.06 4.94 7.5 4.25 7.5ZM10.75 7.5C10.06 7.5 9.5 8.06 9.5 8.75C9.5 9.44 10.06 10 10.75 10C11.44 10 12 9.44 12 8.75C12 8.06 11.44 7.5 10.75 7.5ZM10.25 3.5L4.75 3.5L3.5 6L11.5 6L10.25 3.5Z"/>\n</svg>',x:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-x"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>',zap:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zap"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>',"loading-ring":'<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" data-ember-extension="1"><path d="M10.72,19.9a8,8,0,0,1-6.5-9.79A7.77,7.77,0,0,1,10.4,4.16a8,8,0,0,1,9.49,6.52A1.54,1.54,0,0,0,21.38,12h.13a1.37,1.37,0,0,0,1.38-1.54,11,11,0,1,0-12.7,12.39A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,10.72,19.9Z"><animateTransform attributeName="transform" type="rotate" dur="0.75s" values="0 12 12;360 12 12" repeatCount="indefinite"/></path></svg>'},$j=["fork-and-knife","wikipedia","whatsapp","cup-and-saucer","coffee-bean","shopping-basket","person-sleeping-in-bed","loading-ring","nostrich"];function qj(t){return Uj[t]}function Vj(t){return $j.includes(t)}const Wj=Object.freeze(Object.defineProperty({__proto__:null,getIcon:qj,isIconFilled:Vj},Symbol.toStringTag,{value:"Module"})),Hj=[{tags:{cuisine:"donut"},icon:"donut"},{tags:{cuisine:"doughnut"},icon:"donut"},{tags:{cuisine:"coffee_shop"},icon:"coffee-bean"},{tags:{cuisine:"coffee"},icon:"coffee-bean"},{tags:{amenity:"ice_cream"},icon:"ice-cream-on-cone"},{tags:{cuisine:"ice_cream"},icon:"ice-cream-on-cone"},{tags:{shop:"ice_cream"},icon:"ice-cream-on-cone"},{tags:{amenity:"cafe"},icon:"cup-and-saucer"},{tags:{amenity:"restaurant"},icon:"fork-and-knife"},{tags:{amenity:"fast_food"},icon:"burger-and-drink-cup-with-straw"},{tags:{amenity:"pub"},icon:"beer-mug-with-foam"},{tags:{amenity:"bar"},icon:"cocktail"},{tags:{amenity:"food_court"},icon:"fork-and-knife"},{tags:{amenity:"childcare"},icon:"family-restroom-symbol"},{tags:{amenity:"community_centre"},icon:"family-restroom-symbol"},{tags:{amenity:"social_centre"},icon:"family-restroom-symbol"},{tags:{amenity:"social_facility"},icon:"family-restroom-symbol"},{tags:{amenity:"bank"},icon:"banknote"},{tags:{amenity:"place_of_worship"},icon:"place-of-worship-building"},{tags:{amenity:"fire_station"},icon:"badge-shield-with-fire"},{tags:{amenity:"police"},icon:"police-officer-with-stop-arm"},{tags:{amenity:"toilets"},icon:"womens-and-mens-restroom-symbol"},{tags:{amenity:"school"},icon:"open-book"},{tags:{amenity:"driving_school"},icon:"car"},{tags:{shop:"coffee"},icon:"coffee-bean"},{tags:{shop:"tea"},icon:"coffee-bean"},{tags:{shop:"pastry"},icon:"donut"},{tags:{shop:"supermarket"},icon:"shopping-cart"},{tags:{shop:"convenience"},icon:"shopping-basket"},{tags:{shop:"grocery"},icon:"shopping-basket"},{tags:{shop:"greengrocer"},icon:"shopping-basket"},{tags:{shop:"bakery"},icon:"croissant"},{tags:{shop:"butcher"},icon:"cleaver"},{tags:{shop:"seafood"},icon:"fish"},{tags:{shop:"deli"},icon:"shopping-basket"},{tags:{shop:"clothes"},icon:"clothes-hanger"},{tags:{shop:"clothing"},icon:"clothes-hanger"},{tags:{shop:"hairdresser"},icon:"scissors-open"},{tags:{shop:"optician"},icon:"eyeglasses"},{tags:{shop:"fabric"},icon:"cloth"},{tags:{shop:"flea_market"},icon:"market-stall"},{tags:{shop:"kiosk"},icon:"shopping-basket"},{tags:{shop:"leather"},icon:"shopping-bag"},{tags:{shop:"tailor"},icon:"needle-and-spool-of-thread"},{tags:{shop:"jewelry"},icon:"jewel"},{tags:{shop:"jewellery"},icon:"jewel"},{tags:{shop:"tobacco"},icon:"cigarette-with-smoke-curl"},{tags:{shop:"cannabis"},icon:"cigarette-with-smoke-curl"},{tags:{shop:"florist"},icon:"flower-bouquet"},{tags:{shop:"garden_centre"},icon:"plant-in-raised-planter"},{tags:{shop:"estate_agent"},icon:"village-buildings"},{tags:{shop:"mobile_phone"},icon:"mobile-phone-with-keypad-and-antenna"},{tags:{beauty:"nails"},icon:"fingernail-polished"},{tags:{shop:"tattoo"},icon:"tattoo-machine"},{tags:{shop:"beauty"},icon:"fancy-mirror-with-reflection-and-stars"},{tags:{craft:"tailor"},icon:"needle-and-spool-of-thread"},{tags:{office:"estate_agent"},icon:"village-buildings"},{tags:{office:!0},icon:"commercial-building"},{tags:{craft:!0},icon:"toolbox"},{tags:{shop:!0},icon:"shopping-bag"},{tags:{natural:"beach"},icon:"beach-umbrella-in-ground"},{tags:{leisure:"park"},icon:"tree-and-bench-with-backrest"},{tags:{leisure:"playground"},icon:"play-structure-with-slide"},{tags:{aeroway:"aerodrome"},icon:"plane-top-right"},{tags:{aeroway:"heliport"},icon:"plane-top-right"},{tags:{aeroway:"helipad"},icon:"plane-top-right"},{tags:{highway:"bus_stop"},icon:"bus"},{tags:{bus:!0},icon:"bus"},{tags:{railway:"tram_stop"},icon:"person-boarding-tram-with-destination-display-and-pantograph-on-tram-track"},{tags:{tourism:"museum"},icon:"classical-building"},{tags:{tourism:"gallery"},icon:"wall-hanging-with-mountains-and-sun"},{tags:{tourism:"aquarium"},icon:"angelfish"},{tags:{tourism:"theme_park"},icon:"camera"},{tags:{tourism:"attraction"},icon:"camera"},{tags:{tourism:"viewpoint"},icon:"camera"},{tags:{tourism:"zoo"},icon:"camera"},{tags:{tourism:"artwork"},icon:"camera"},{tags:{amenity:"cinema"},icon:"film"},{tags:{amenity:"theatre"},icon:"camera"},{tags:{amenity:"arts_centre"},icon:"comedy-mask-and-tragedy-mask"},{tags:{amenity:"arts_center"},icon:"comedy-mask-and-tragedy-mask"},{tags:{historic:"fort"},icon:"fort"},{tags:{historic:"castle"},icon:"palace"},{tags:{historic:"building"},icon:"classical-building-with-flag"},{tags:{historic:"archaeological_site"},icon:"grecian-vase"},{tags:{historic:"memorial"},icon:"memorial-stone-with-inscription"},{tags:{historic:"tomb"},icon:"gravestone"},{tags:{historic:"monument"},icon:"classical-building-with-dome-and-flag"},{tags:{historic:"ship"},icon:"sailing-ship-in-water"},{tags:{historic:"wreck"},icon:"shipwreck-in-water"},{tags:{historic:"ruins"},icon:"camera"},{tags:{historic:"ruin"},icon:"camera"},{tags:{historic:"yes"},icon:"camera"},{tags:{tourism:"hotel"},icon:"person-sleeping-in-bed"},{tags:{tourism:"hostel"},icon:"person-sleeping-in-bed"},{tags:{tourism:"motel"},icon:"person-sleeping-in-bed"},{tags:{tourism:"guest_house"},icon:"person-sleeping-in-bed"},{tags:{sport:"motor"},icon:"flag-checkered"},{tags:{sport:"karting"},icon:"flag-checkered"},{tags:{sport:"motocross"},icon:"flag-checkered"},{tags:{sport:"cricket"},icon:"person-cricket-batting-at-cricket-ball"},{tags:{sport:"boxing"},icon:"boxing-glove-up"},{tags:{sport:"martial_arts"},icon:"boxing-glove-up"},{tags:{sport:"tennis"},icon:"person-playing-tennis"},{tags:{sport:"squash"},icon:"person-playing-tennis"},{tags:{sport:"padel"},icon:"person-playing-tennis"},{tags:{sport:"table_tennis"},icon:"table-tennis-paddle"},{tags:{sport:"climbing"},icon:"climbing_wall"},{tags:{leisure:"water_park"},icon:"person-swimming-in-water"},{tags:{sport:"swimming"},icon:"person-swimming-in-water"},{tags:{sport:"golf"},icon:"person-swinging-golf-club"},{tags:{leisure:"golf_course"},icon:"person-swinging-golf-club"},{tags:{sport:"horse_racing"},icon:"person-jockeying-racehorse"},{tags:{sport:"fitness"},icon:"barbell"},{tags:{sport:"fitness_centre"},icon:"barbell"},{tags:{leisure:"fitness_centre"},icon:"barbell"},{tags:{sport:"stadium"},icon:"round-structure-with-flag"},{tags:{leisure:"stadium"},icon:"round-structure-with-flag"},{tags:{leisure:"sports_centre"},icon:"person-running"},{tags:{leisure:"pitch"},icon:"person-running"},{tags:{sport:!0},icon:"person-running"},{tags:{amenity:"dentist"},icon:"molar-tooth"},{tags:{healthcare:"dentist"},icon:"molar-tooth"},{tags:{healthcare:!0},icon:"greek-cross"},{tags:{amenity:"parking"},icon:"parking_p"},{tags:{building:"commercial"},icon:"commercial-building"},{tags:{building:"apartments"},icon:"lowrise-building"}];function Gj(t){if(!t)return null;for(const e of Hj){let n=!0;for(const[r,i]of Object.entries(e.tags)){const e=t[r];if(!e){n=!1;break}const s=e.split(";").map(t=>t.trim());if(!0!==i&&!s.includes(i)){n=!1;break}}if(n)return e.icon}return null}const Kj=Object.freeze(Object.defineProperty({__proto__:null,POI_ICON_RULES:Hj,getIconNameForTags:Gj,getIconSvgForTags:function(t){const e=Gj(t);return e?qj(e):null}},Symbol.toStringTag,{value:"Module"}));function Zj(t){return{title:t.title||RN(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 Yj=Object.freeze(Object.defineProperty({__proto__:null,mapToStorageSchema:Zj},Symbol.toStringTag,{value:"Module"}));function Xj(t,e){if(!t)return null;const n=`${e}.com`,r=((t,...e)=>{for(const n of e)if(t[n])return t[n];return null})(t,`contact:${e}`,e);if(!r)return null;if(r.startsWith("http"))try{const t=new URL(r);return"facebook"===e&&"/profile.php"===t.pathname&&t.searchParams.has("id")?{url:r,username:t.searchParams.get("id")}:{url:r,username:t.pathname.replace(/^\/|\/$/g,"")||r}}catch{return{url:r,username:r}}const i=r.replace(/^@/,"");return{url:`https://${n}/${i}`,username:i}}const Jj=Object.freeze(Object.defineProperty({__proto__:null,getSocialInfo:Xj},Symbol.toStringTag,{value:"Module"}));var Qj=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","#","$","%","*","+",",","-",".",":",";","=","?","@","[","]","^","_","{","|","}","~"],tB=t=>{let e=0;for(let n=0;n<t.length;n++){let r=t[n];e=83*e+Qj.indexOf(r)}return e},eB=(t,e)=>{var n="";for(let r=1;r<=e;r++){let i=Math.floor(t)/Math.pow(83,e-r)%83;n+=Qj[Math.floor(i)]}return n},nB=t=>{let e=t/255;return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},rB=t=>{let e=Math.max(0,Math.min(1,t));return e<=.0031308?Math.trunc(12.92*e*255+.5):Math.trunc(255*(1.055*Math.pow(e,.4166666666666667)-.055)+.5)},iB=(t,e)=>(t=>t<0?-1:1)(t)*Math.pow(Math.abs(t),e),sB=class extends Error{constructor(t){super(t),this.name="ValidationError",this.message=t}},oB=t=>{let e=t>>8&255,n=255&t;return[nB(t>>16),nB(e),nB(n)]},aB=(t,e)=>{let n=Math.floor(t/361),r=Math.floor(t/19)%19,i=t%19;return[iB((n-9)/9,2)*e,iB((r-9)/9,2)*e,iB((i-9)/9,2)*e]},lB=(t,e,n,r)=>{let i=0,s=0,o=0,a=4*e;for(let c=0;c<e;c++){let e=4*c;for(let l=0;l<n;l++){let n=e+l*a,u=r(c,l);i+=u*nB(t[n]),s+=u*nB(t[n+1]),o+=u*nB(t[n+2])}}let l=1/(e*n);return[i*l,s*l,o*l]};self.onmessage=async t=>{if("PROCESS_IMAGE"!==t.data?.type)return;const{id:e,file:n,targetWidth:r,targetHeight:i,quality:s,computeBlurhash:o}=t.data;try{let t,c;try{const e=await createImageBitmap(n,{resizeWidth:r,resizeHeight:i,resizeQuality:"high"});if(t=new OffscreenCanvas(r,i),c=t.getContext("2d"),!c)throw new Error("Failed to get 2d context from OffscreenCanvas");c.drawImage(e,0,0,r,i),e.close()}catch(a){console.warn("Hardware resize failed, falling back to stepped software scaling:",a);const e=await n.arrayBuffer(),s=new Blob([e],{type:n.type}),o=await createImageBitmap(s);let l=o.width,u=o.height,h=new OffscreenCanvas(l,u),d=h.getContext("2d");for(d.imageSmoothingEnabled=!0,d.imageSmoothingQuality="high",d.drawImage(o,0,0);.5*h.width>r&&.5*h.height>i;){const t=new OffscreenCanvas(Math.floor(.5*h.width),Math.floor(.5*h.height)),e=t.getContext("2d");e.imageSmoothingEnabled=!0,e.imageSmoothingQuality="high",e.drawImage(h,0,0,t.width,t.height),h=t}t=new OffscreenCanvas(r,i),c=t.getContext("2d"),c.imageSmoothingEnabled=!0,c.imageSmoothingQuality="high",c.drawImage(h,0,0,r,i),o.close()}let u=null;if(o)try{u=((t,e,n)=>{if(e*n*4!==t.length)throw new sB("Width and height must match the pixels array");let r=[];for(let l=0;l<3;l++)for(let i=0;i<4;i++){let s=0==i&&0==l?1:2,o=lB(t,e,n,(t,r)=>s*Math.cos(Math.PI*i*t/e)*Math.cos(Math.PI*l*r/n));r.push(o)}let i,s=r[0],o=r.slice(1),a="";if(a+=eB(21,1),o.length>0){let t=Math.max(...o.map(t=>Math.max(...t))),e=Math.floor(Math.max(0,Math.min(82,Math.floor(166*t-.5))));i=(e+1)/166,a+=eB(e,1)}else i=1,a+=eB(0,1);return a+=eB((t=>(rB(t[0])<<16)+(rB(t[1])<<8)+rB(t[2]))(s),4),o.forEach(t=>{a+=eB(((t,e)=>19*Math.floor(Math.max(0,Math.min(18,Math.floor(9*iB(t[0]/e,.5)+9.5))))*19+19*Math.floor(Math.max(0,Math.min(18,Math.floor(9*iB(t[1]/e,.5)+9.5))))+Math.floor(Math.max(0,Math.min(18,Math.floor(9*iB(t[2]/e,.5)+9.5)))))(t,i),2)}),a})(c.getImageData(0,0,r,i).data,r,i)}catch(l){console.warn("Could not generate blurhash (possible canvas fingerprinting protection):",l)}const h=await t.convertToBlob({type:"image/jpeg",quality:s}),d=`${r}x${i}`;self.postMessage({id:e,success:!0,blob:h,dim:d,blurhash:u})}catch(v5){self.postMessage({id:e,success:!1,error:v5.message})}};const cB=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));function uB(t,e,n){return(e=function(t){var e=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)}(t);return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function hB(t,e,n,r){n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function dB(t,e,n,r){var i={};return Object.keys(r).forEach(function(t){i[t]=r[t]}),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),void 0===(i=n.slice().reverse().reduce(function(n,r){return r(t,e,n)||n},i)).initializer&&(Object.defineProperty(t,e,i),i=null),i}var pB,fB,gB,mB,yB;const vB="undefined"!=typeof FastBoot,bB="routeDidChange",wB=["separator","prepend","replace"];let _B=(pB=$f("router"),fB=$f("-document"),gB=class extends qf{constructor(t){if(super(t),hB(this,"router",mB,this),hB(this,"document",yB,this),uB(this,"tokens",[]),uB(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),uB(this,"scheduleTitleUpdate",()=>{Ca("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&&wB.forEach(t=>{if(!kf(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(bB,this.scheduleTitleUpdate)}applyTokenDefaults(t){const e=this._defaultConfig.separator,n=this._defaultConfig.prepend,r=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!=r&&(t.replace=r)}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),r=[...this.tokens],i=e.previous;return t.previous=i,t.next=e.next,this.inheritFromPrevious(t),this.applyTokenDefaults(t),r.splice(n,1,t),void(this.tokens=r)}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:r}=e;n&&(n.previous=r),r&&(r.next=n),e.previous=e.next=null;const i=[...this.tokens];i.splice(i.indexOf(e),1),this.tokens=i}get visibleTokens(){const t=this.tokens;let e=t?t.length:0;const n=[];for(;e--;){const r=t[e];if(r){if(r.replace){n.unshift(r);break}n.unshift(r)}}return n}get sortedTokens(){const t=this.visibleTokens;if(!t)return[];let e=!0,n=[];const r=[n],i=[];return t.forEach(t=>{t.front?i.unshift(t):t.prepend?(e&&(e=!1,n=[],r.push(n)),n.unshift(t)):(e||(e=!0,n=[],r.push(n)),n.push(t))}),i.concat(r.reduce((t,e)=>t.concat(e),[]))}toString(){const t=this.sortedTokens,e=[];for(let n=0,r=t.length;n<r;n++){const i=t[n];i&&i.title&&(e.push(i.title),n+1<r&&e.push(i.separator))}return e.join("")}willDestroy(){super.willDestroy(),this.router.off(bB,this.scheduleTitleUpdate)}_updateTitle(){const t=this.toString();vB?this.updateFastbootTitle(t):this.document.title=t,this.titleDidUpdate(t)}_validateExistingTitleElement(){vB||document.head.querySelectorAll("title").length}_findTokenById(t){return this.tokens.find(e=>e.id===t)}updateFastbootTitle(t){if(!vB)return;const e=this.document.head,n=e.childNodes;for(let s=0;s<n.length;s++){const t=n[s];t&&"title"===t.nodeName.toLowerCase()&&e.removeChild(t)}const r=this.document.createElement("title"),i=this.document.createTextNode(t);r.appendChild(i),e.appendChild(r)}titleDidUpdate(t){}},mB=dB(gB.prototype,"router",[pB],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),yB=dB(gB.prototype,"document",[fB],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),gB);const xB=Object.freeze(Object.defineProperty({__proto__:null,default:_B},Symbol.toStringTag,{value:"Module"})),CB=new WeakMap,SB=new WeakMap;let kB=class{constructor(t,e){this.args=e,CB.set(this,!1),SB.set(this,!1)}args;get isDestroying(){return CB.get(this)||!1}get isDestroyed(){return SB.get(this)||!1}willDestroy(){}};class EB{owner;constructor(t){this.owner=t}createComponent(t,e){return new t(this.owner,e.named)}getContext(t){return t}}const TB=jr(0,{destructor:!0,asyncLifecycleCallbacks:!1,updateHook:!1});function RB(t){t.isDestroyed||(Gt(t),function(t){SB.set(t,!0)}(t))}class MB extends EB{capabilities=TB;destroyComponent(t){t.isDestroying||(function(t){CB.set(t,!0)}(t),wa("actions",t,t.willDestroy),wa("destroy",this,RB,t))}}class LB extends kB{constructor(t,e){super(t,e),hi(this,t)}}pj(t=>new MB(t),LB);const IB=Object.freeze(Object.defineProperty({__proto__:null,default:LB},Symbol.toStringTag,{value:"Module"})),PB=Gr,AB=uv;function OB(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:Jh(t)?0!==t.length:!!t}class FB extends Mw{compute(t){for(let e=0,n=t.length;e<n;e++)if(!0===OB(t[e]))return t[e];return t[t.length-1]}}function zB(t,e){return t===e}class DB extends LB{get svg(){return qj(this.args.name)}get size(){return this.args.size||16}get color(){return this.args.color||"#898989"}get style(){return zw(`width:${this.size}px;height:${this.size}px;color:${this.color}`)}get title(){return this.args.title||""}get isFilled(){return this.args.filled||Vj(this.args.name)}static{Xr(em({id:null,block:'[[[41,[30,0,["svg"]],[[[1," "],[10,1],[15,0,[29,["icon ",[52,[30,0,["isFilled"]],"icon-filled"]]]],[15,5,[30,0,["style"]]],[15,"title",[30,0,["title"]]],[12],[1,"\\n "],[1,[28,[32,0],[[30,0,["svg"]]],null]],[1,"\\n "],[13],[1,"\\n"]],[]],null]],[],["if"]]',moduleName:"/home/basti/src/marco/app/components/icon.gjs",scope:()=>[zw],isStrictMode:!0}),this)}}class NB extends LB{static{dF(this.prototype,"title",[Is],function(){return""})}#xt=void fF(this,"title");static{dF(this.prototype,"description",[Is],function(){return""})}#Ct=void fF(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{pF(this.prototype,"handleSubmit",[Pu])}updateTitle(t){this.title=t.target.value}static{pF(this.prototype,"updateTitle",[Pu])}updateDescription(t){this.description=t.target.value}static{pF(this.prototype,"updateDescription",[Pu])}static{Xr(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:()=>[Sb],isStrictMode:!0}),this)}}class jB{capabilities=Vr();constructor(t){this.owner=t}createModifier(t,e){return{instance:new t(this.owner,e),element:null}}installModifier(t,e,n){const r=function(t,e){const n=t;return n.element=e,n}(t,e);r.instance.modify(e,n.positional,n.named)}updateModifier(t,e){t.instance.modify(t.element,e.positional,e.named)}destroyModifier({instance:t}){Gt(t)}}PB(t=>new jB(t),class{constructor(t,e){ux(this,t)}modify(t,e,n){}});const BB=new class{capabilities=Vr();createModifier(t){return{element:null,instance:t}}installModifier(t,e,n){const r=function(t,e){const n=t;return n.element=e,n}(t,e),{positional:i,named:s}=n,o=t.instance(e,i,s);"function"==typeof o&&(r.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 UB(t){return t.toString=()=>t.name,PB(()=>BB,t)}const $B=UB((t,[e])=>{const n=n=>{t&&!t.contains(n.target)&&e(n)},r=setTimeout(()=>{document.addEventListener("click",n)},0);return()=>{clearTimeout(r),document.removeEventListener("click",n)}});class qB extends LB{static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"_forceClear",[Is],function(){return!1})}#Et=void fF(this,"_forceClear");get isSaved(){return this.args.isSaved}get placeListIds(){return this._forceClear?[]:this.args.place._listIds||[]}styleFor(t){return zw(`background-color: ${t}`)}isInList(t){return!!this.placeListIds&&this.placeListIds.includes(t.id)}static{pF(this.prototype,"isInList",[Pu])}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{pF(this.prototype,"toggleSaved",[Pu])}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(ej){console.error(ej),alert("Failed to update list: "+ej.message)}}static{pF(this.prototype,"toggleList",[Pu])}static{Xr(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:()=>[$B,Sb,AB],isStrictMode:!0}),this)}}class VB{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 WB=new VB;class HB{constructor(t){this.maxConcurrency=t||1}}const GB="CANCELLED",KB="STARTED",ZB="QUEUED",YB={type:KB},XB={type:ZB},JB=t=>({type:GB,reason:t}),QB=JB("it belongs to a 'drop' Task that was already running");class tU{constructor(t){this.remainingSlots=t}step(){return this.remainingSlots>0?(this.remainingSlots--,YB):QB}}class eU extends HB{makeReducer(){return new tU(this.maxConcurrency)}}class nU{constructor(t){this.remainingSlots=t}step(){return this.remainingSlots>0?(this.remainingSlots--,YB):XB}}class rU extends HB{makeReducer(){return new nU(this.maxConcurrency)}}const iU=JB("it belongs to a 'keepLatest' Task that was already running");class sU{constructor(t,e){this.remainingSlots=t,this.numToCancel=e}step(){return this.remainingSlots>0?(this.remainingSlots--,YB):this.numToCancel>0?(this.numToCancel--,iU):XB}}class oU extends HB{makeReducer(t,e){let n=t+e;return new sU(this.maxConcurrency,n-this.maxConcurrency-1)}}const aU=JB("it belongs to a 'restartable' Task that was .perform()ed again");class lU{constructor(t){this.numToCancel=t}step(){return this.numToCancel>0?(this.numToCancel--,aU):YB}}class cU extends HB{makeReducer(t,e){return new lU(t+e-this.maxConcurrency)}}const uU=new class{step(){return YB}};class hU{makeReducer(){return uU}}const dU=new Map;class pU{constructor(t,e,n){this.stateTracker=e,this.schedulerPolicy=t,this.initialTaskInstances=n,this.startingInstances=[]}process(){let[t,e,n]=this.filterFinishedTaskInstances(),r=this.schedulerPolicy.makeReducer(e,n),i=t.filter(t=>this.setTaskInstanceExecutionState(t,r.step()));return this.stateTracker.computeFinalStates(t=>this.applyState(t)),this.startingInstances.forEach(t=>t.start()),i}filterFinishedTaskInstances(){let t=0,e=0;return[this.initialTaskInstances.filter(n=>{let r=this.stateTracker.stateFor(n.task),i=n.executor.state;return i.isFinished?(r.onCompletion(n),!1):(i.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 GB:return t.cancel(e.reason),!1;case KB:return t.executor.state.hasStarted||(this.startingInstances.push(t),n.onStart(t)),n.onRunning(t),!0;case ZB:return n.onQueued(t),!0}}applyState(t){let{taskable:e}=t;if(!e.onState)return;const{guid:n}=e;if(dU.has(n)&&t.tag<dU.get(n))return;let r=Object.assign({numRunning:t.numRunning,numQueued:t.numQueued,numPerformedInc:t.numPerformedInc},t.attrs);e.onState(r,e),dU.set(n,t.tag)}}class fU{constructor(t,e){this.taskable=t,this.numRunning=0,this.numQueued=0,this.numPerformedInc=0,this.attrs={},this.tag=e}onCompletion(t){let e=t.completionState;this.attrs.lastRunning=null,this.attrs.lastComplete=t,1===e?this.attrs.lastSuccessful=t:(2===e?this.attrs.lastErrored=t:3===e&&(this.attrs.lastCanceled=t),this.attrs.lastIncomplete=t)}onPerformed(t){this.numPerformedInc+=1,this.attrs.lastPerformed=t}onStart(t){this.attrs.last=t}onRunning(t){this.attrs.lastRunning=t,this.numRunning+=1}onQueued(){this.numQueued+=1}applyStateFrom(t){Object.assign(this.attrs,t.attrs),this.numRunning+=t.numRunning,this.numQueued+=t.numQueued,this.numPerformedInc+=t.numPerformedInc}}const gU=new Map;class mU{constructor(){this.states=new Map}stateFor(t){let e=t.guid,n=this.states.get(e);if(!n){let r=gU.has(e)?gU.get(e):0;n=new fU(t,++r),this.states.set(e,n),gU.set(e,r)}return n}computeFinalStates(t){this.forEachState(e=>t(e))}forEachState(t){this.states.forEach(e=>t(e))}}const yU=new class{onCompletion(){}onPerformed(){}onStart(){}onRunning(){}onQueued(){}};class vU{stateFor(){return yU}computeFinalStates(){}}class bU{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 mU:new vU,e=new pU(this.schedulerPolicy,t,this.taskInstances);this.taskInstances=e.process()}}class wU{constructor(t,e,n){this.value=t,this.done=e,this.errored=n}}class _U{constructor(t){this.done=!1,this.generatorFactory=t,this.iterator=null}step(t,e){try{let n=this.getIterator(),{value:r,done:i}=n[e](t);return i?this.finalize(r,!1):new wU(r,!1,!1)}catch(ej){return this.finalize(ej,!0)}}getIterator(){return this.iterator||this.done||(this.iterator=this.generatorFactory()),this.iterator}finalize(t,e){return this.done=!0,this.iterator=null,new wU(t,!0,e)}}const xU="__ec_cancel__",CU="__ec_yieldable__",SU="next",kU="throw",EU="return",TU="cancel";class RU{constructor(t,e){this._taskInstance=t,this._resumeIndex=e}getTaskInstance(){return this._taskInstance}cancel(){let t=this._taskInstance;t.proceed.call(t,this._resumeIndex,TU)}next(t){let e=this._taskInstance;e.proceed.call(e,this._resumeIndex,SU,t)}return(t){let e=this._taskInstance;e.proceed.call(e,this._resumeIndex,EU,t)}throw(t){let e=this._taskInstance;e.proceed.call(e,this._resumeIndex,kU,t)}}class MU{constructor(){this[CU]=this[CU].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,r){n==SU||n==EU?t.resolve(r):t.reject(r)}},n=this[CU](e,0);return t.promise[xU]=n,t.promise}then(...t){return this._toPromise().then(...t)}catch(...t){return this._toPromise().catch(...t)}finally(...t){return this._toPromise().finally(...t)}[CU](t,e){let n=new RU(t,e);return this.onYield(n)}}new class extends MU{onYield(){}};const LU={completionState:0,value:null,error:null,isSuccessful:!1,isError:!1,isCanceled:!1,hasStarted:!1,isFinished:!1},IU="TaskCancelation",PU="explicit",AU="lifespan_end";class OU{constructor(t,e){this.kind=t,this.reason=e,this.promise=new Promise(t=>{this.finalize=t})}}const FU="PERFORM_TYPE_DEFAULT",zU="PERFORM_TYPE_UNLINKED",DU="PERFORM_TYPE_LINKED",NU={};let jU=[];class BU{constructor({generatorFactory:t,env:e,debug:n}){this.generatorState=new _U(t),this.state=Object.assign({},LU),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(SU,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===TU?(this.requestCancel(new OU("yielded"),n),this.proceedWithCancelAsync()):this.proceedAsync(e,n))}proceedWithCancelAsync(){this.proceedAsync(EU,NU)}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,r=this.generatorStep(e,t);this.advanceIndex(n)&&(r.errored?this.finalize(r.value,2):this.handleYieldedValue(r))}handleResolvedReturnedValue(t,e){switch(t){case SU:case EU:this.finalize(e,1);break;case kU:this.finalize(e,2)}}handleYieldedUnknownThenable(t){let e=this.index;t.then(t=>{this.proceedChecked(e,SU,t)},t=>{this.proceedChecked(e,kU,t)})}advanceIndex(t){if(this.index===t)return++this.index}handleYieldedValue(t){let e=t.value;e?(this.addDisposer(e[xU]),e[CU]?this.invokeYieldable(e):"function"==typeof e.then?this.handleYieldedUnknownThenable(e):this.proceedWithSimpleValue(e)):this.proceedWithSimpleValue(e)}proceedWithSimpleValue(t){this.proceedAsync(SU,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){jU.push(this);let n=this.generatorState.step(t,e);if(jU.pop(),this._expectsLinkedYield){let t=n.value;t&&t.performType===DU||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(){this.asyncErrorsHandled||2!==this.state.completionState||function(t){return t&&t.name===IU}(this.state.error)||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=IU,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[CU](this.taskInstance,this.index);this.addDisposer(e)}catch(ej){this.env.reportUncaughtRejection(ej)}}onYielded(t,e){this.asyncErrorsHandled=!0,this.onFinalize(()=>{let n=this.state.completionState;1===n?t.proceed(e,SU,this.state.value):2===n?t.proceed(e,kU,this.state.error):3===n&&t.proceed(e,TU,null)});let n=this.getPerformType();if(n!==zU)return()=>{this.detectSelfCancelLoop(n,t),this.cancel(new OU("parent_cancel"))}}getPerformType(){return this.taskInstance.performType||FU}detectSelfCancelLoop(t,e){if(t!==FU)return;let n=e.executor&&e.executor.cancelRequest;!n||n.kind!==AU||this.cancelRequest||this.state.isFinished||this.taskInstance.selfCancelLoopWarning(e)}}const UU={last:null,lastRunning:null,lastPerformed:null,lastSuccessful:null,lastComplete:null,lastErrored:null,lastCanceled:null,lastIncomplete:null,performCount:0};Object.freeze(UU);let $U=0;class qU{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_"+$U++,this.guids={},this.guids[this.guid]=!0,this.group&&Object.assign(this.guids,this.group.guids)}cancelAll(t){let{reason:e,cancelRequestKind:n,resetState:r}=t||{};e=e||".cancelAll() was explicitly called on the Task";let i=new OU(n||PU,e);return this.scheduler.cancelAll(this.guid,i).then(()=>{r&&this._resetState()})}get _isAlive(){return!0}_resetState(){this.setState(UU)}setState(){}}Object.assign(qU.prototype,UU),Object.assign(qU.prototype,{numRunning:0,numQueued:0,isRunning:!1,isQueued:!1,isIdle:!0,state:"idle"});class VU{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 WU=class t extends qU{constructor(t){super(t),this.generatorFactory=t.generatorFactory,this.perform=this._perform.bind(this)}linked(){let t=jU[jU.length-1];if(!t)throw new Error("You can only call .linked() from within a task.");return new VU(this,DU,t)}unlinked(){return new VU(this,zU,null)}toString(){return`<Task:${this.name}>`}_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,FU,null)}_performShared(t,e,n){let r=this._curryArgs?[...this._curryArgs,...t]:t,i=this._taskInstanceFactory(r,e,n);return e===DU&&(n._expectsLinkedYield=!0),this._isAlive||i.cancel(),this.scheduler.perform(i),i}_taskInstanceOptions(t,e,n){return{args:t,executor:new BU({generatorFactory:()=>this.generatorFactory(t),env:this.env,debug:this.debug}),performType:e,hasEnabledEvents:this.hasEnabledEvents}}};const HU={enqueue:(t,e)=>e&&t.setBufferPolicy(rU),debug:(t,e)=>e&&t.setDebug(e),drop:(t,e)=>e&&t.setBufferPolicy(eU),keepLatest:(t,e)=>e&&t.setBufferPolicy(oU),maxConcurrency:(t,e)=>t.setMaxConcurrency(e),onState:(t,e)=>t.setOnState(e),restartable:(t,e)=>e&&t.setBufferPolicy(cU)};let GU=class{env=WB;_debug=null;_enabledModifiers=[];_hasSetConcurrencyConstraint=!1;_hasSetBufferPolicy=!1;_hasEnabledEvents=!1;_maxConcurrency=null;_onStateCallback=(t,e)=>e.setState(t);_schedulerPolicyClass=hU;constructor(t="<unknown>",e=null,n={}){this.name=t,this.taskDefinition=e,this.options=n,this._processModifierOptions(n)}createTask(t){let e=this.getTaskOptions(t);return new WU(Object.assign({generatorFactory:e=>this.taskDefinition.apply(t,e)},e))}getModifier(t){if(function(t){return t in HU}(t))return HU[t].bind(null,this)}getOptions(){return this.options}getScheduler(t,e){return new bU(t,e)}getTaskOptions(t){let e,n=this._onStateCallback,r=new this._schedulerPolicyClass(this._maxConcurrency);return e=this.getScheduler(r,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],r=this.getModifier(e);"function"==typeof r&&r(n)&&this._enabledModifiers.push(e)}}};const KU=new class extends VB{assert(...t){}async(t){va(()=>wa("actions",t))}reportUncaughtRejection(t){Sa(null,function(){const e=ko();if(!e)throw t;e(t)})}defer(){return $c()}globalDebuggingEnabled(){return!1}};class ZU extends bU{scheduleRefresh(){xa(this,this.refresh)}}class YU{constructor({task:t,args:e,executor:n,performType:r,hasEnabledEvents:i}){this.task=t,this.args=e,this.performType=r,this.executor=n,this.executor.taskInstance=this,this.hasEnabledEvents=i}setState(){}formatCancelReason(){}selfCancelLoopWarning(){}onFinalize(t){this.executor.onFinalize(t)}proceed(t,e,n){this.executor.proceedChecked(t,e,n)}[CU](t,e){return this.executor.onYielded(t,e)}cancel(t=".cancel() was explicitly called"){this.executor.cancel(new OU(PU,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 XU(t,e){return Object.keys(t).reduce((e,n)=>function(t,e,n){const r=Object.getOwnPropertyDescriptor(t,n);r.initializer=r.initializer||(()=>t[n]),delete r.value;const i=Is(e,n,r);return e[n]=i,e}(t,e,n),e)}let JU,QU;Object.assign(YU.prototype,LU),Object.assign(YU.prototype,{state:"waiting",isDropped:!1,isRunning:!0}),JU=XU(UU,{}),JU=XU({numRunning:0,numQueued:0,isRunning:!1,isQueued:!1,isIdle:!0,state:"idle"},JU),QU=XU(LU,{}),QU=XU({state:"waiting",isDropped:!1,isRunning:!1},QU),Object.freeze(JU),Object.freeze(QU);class t$ extends YU{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||"<unknown>"),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,r=e&&e.name;if(n&&n.trigger&&r){let[e,...i]=t;n.trigger(`${r}:${e}`,...i)}}}QU&&Object.defineProperties(t$.prototype,QU);const e$={_performCount:0,setState(t){this._performCount=this._performCount+(t.numPerformedInc||0);let e=t.numRunning>0,n=t.numQueued>0,r=Object.assign({},t,{performCount:this._performCount,isRunning:e,isQueued:n,isIdle:!e&&!n,state:e?"running":"idle"});Object.assign(this,r)},onState(t,e){e.onStateCallback&&e.onStateCallback(t,e)}};class n$ extends WU{constructor(t){super(t),Zt(this.context)||_x(this.context,()=>{this.cancelAll({reason:"the object it lives on was destroyed or unrendered",cancelRequestKind:AU})})}get _isAlive(){return!Zt(this.context)}_taskInstanceFactory(t,e,n){let r=this._taskInstanceOptions(t,e,n);return r.task=this,new t$(r)}_clone(){return new n$({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})}}JU&&Object.defineProperties(n$.prototype,JU),Object.assign(n$.prototype,e$);class r$ extends GU{env=KU;createTask(t){this.taskDefinition;let e=this.getTaskOptions(t);return new n$(Object.assign({generatorFactory:e=>this.taskDefinition.apply(t,e)},e))}getModifier(t){return super.getModifier(t)}getScheduler(t,e){return new ZU(t,e)}get taskFn(){return this.taskDefinition}set taskFn(t){this.setTaskDefinition(t)}}function i$(t,e,n){let r=e;const i=t();return new r$(n||"<unknown>",i.generator,r).createTask(i.context)}class s$ extends LB{renderBlurhash=UB((t,[e,n,r])=>{if(!e||!t)return;const i=n||32,s=r||18;t.width=i,t.height=s;const o=t.getContext("2d");if(o)try{const t=((t,e,n)=>{(t=>{if(!t||t.length<6)throw new sB("The blurhash string must be at least 6 characters");let e=tB(t[0]),n=Math.floor(e/9)+1,r=e%9+1;if(t.length!==4+2*r*n)throw new sB(`blurhash length mismatch: length is ${t.length} but it should be ${4+2*r*n}`)})(t);let r=tB(t[0]),i=Math.floor(r/9)+1,s=r%9+1,o=(tB(t[1])+1)/166,a=new Array(s*i);for(let u=0;u<a.length;u++)if(0===u){let e=tB(t.substring(2,6));a[u]=oB(e)}else{let e=tB(t.substring(4+2*u,6+2*u));a[u]=aB(e,1*o)}let l=4*e,c=new Uint8ClampedArray(l*n);for(let u=0;u<n;u++)for(let t=0;t<e;t++){let r=0,o=0,h=0;for(let l=0;l<i;l++)for(let i=0;i<s;i++){let c=Math.cos(Math.PI*t*i/e)*Math.cos(Math.PI*u*l/n),d=a[i+l*s];r+=d[0]*c,o+=d[1]*c,h+=d[2]*c}let d=rB(r),p=rB(o),f=rB(h);c[4*t+0+u*l]=d,c[4*t+1+u*l]=p,c[4*t+2+u*l]=f,c[4*t+3+u*l]=255}return c})(e,i,s),n=o.createImageData(i,s);n.data.set(t),o.putImageData(n,0,0)}catch(ej){console.warn("Failed to decode blurhash:",ej.message||ej)}});static{Xr(em({id:null,block:'[[[11,"canvas"],[24,0,"blurhash-canvas"],[17,1],[4,[30,0,["renderBlurhash"]],[[30,2],[30,3],[30,4]],null],[12],[13]],["&attrs","@hash","@width","@height"],[]]',moduleName:"/home/basti/src/marco/app/components/blurhash.gjs",isStrictMode:!0}),this)}}class o$ extends LB{static{dF(this.prototype,"blossom",[$f])}#Tt=void fF(this,"blossom");static{dF(this.prototype,"imageProcessor",[$f])}#Rt=void fF(this,"imageProcessor");static{dF(this.prototype,"toast",[$f])}#Mt=void fF(this,"toast");static{dF(this.prototype,"thumbnailUrl",[Is],function(){return""})}#Lt=void fF(this,"thumbnailUrl");static{dF(this.prototype,"blurhash",[Is],function(){return""})}#It=void fF(this,"blurhash");static{dF(this.prototype,"error",[Is],function(){return""})}#Pt=void fF(this,"error");constructor(){super(...arguments),this.args.file&&(this.thumbnailUrl=URL.createObjectURL(this.args.file),this.uploadTask.perform(this.args.file))}willDestroy(){super.willDestroy(...arguments),this.thumbnailUrl&&URL.revokeObjectURL(this.thumbnailUrl)}showErrorToast(){this.error&&this.toast.show(this.error)}static{pF(this.prototype,"showErrorToast",[Pu])}uploadTask=i$(()=>({context:this,generator:function*(t){this.error="";try{const e=yield this.imageProcessor.process(t,1920,.94,!0);this.blurhash=e.blurhash;const n=yield this.imageProcessor.process(t,350,.9,!1);let r,i;if(bz())r=yield this.blossom.upload(e.blob,{sequential:!0}),i=yield this.blossom.upload(n.blob,{sequential:!0});else{const t=this.blossom.upload(e.blob),s=this.blossom.upload(n.blob);[r,i]=yield Promise.all([t,s])}this.args.onSuccess&&this.args.onSuccess({file:t,url:r.url,fallbackUrls:r.fallbackUrls,thumbUrl:i.url,blurhash:e.blurhash,type:"image/jpeg",dim:e.dim,hash:r.hash,thumbHash:i.hash})}catch(ej){this.error=ej.message}}}),null,"uploadTask");static{Xr(em({id:null,block:'[[[10,0],[15,0,[29,["photo-upload-item\\n ",[52,[30,0,["uploadTask","isRunning"]],"is-uploading"],"\\n ",[52,[30,0,["error"]],"has-error"]]]],[12],[1,"\\n"],[41,[30,0,["blurhash"]],[[[1," "],[8,[32,0],[[24,0,"place-header-photo-blur"]],[["@hash"],[[30,0,["blurhash"]]]],null],[1,"\\n"]],[]],null],[1," "],[10,"img"],[15,"src",[30,0,["thumbnailUrl"]]],[14,"alt","thumbnail"],[12],[13],[1,"\\n\\n"],[41,[30,0,["uploadTask","isRunning"]],[[[1," "],[10,0],[14,0,"overlay"],[12],[1,"\\n "],[8,[32,1],[[24,0,"spin-animation"]],[["@name","@size","@color"],["loading-ring",24,"white"]],null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["error"]],[[[1," "],[11,"button"],[24,0,"overlay error-overlay"],[16,"title",[30,0,["error"]]],[24,4,"button"],[4,[32,2],["click",[30,0,["showErrorToast"]]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["alert-circle",24,"white"]],null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n "],[11,"button"],[24,0,"btn-remove-photo"],[24,"title","Remove photo"],[24,4,"button"],[4,[32,2],["click",[28,[32,3],[[30,1],[30,2]],null]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["x",16,"white"]],null],[1,"\\n "],[13],[1,"\\n"],[13]],["@onRemove","@file"],["if"]]',moduleName:"/home/basti/src/marco/app/components/place-photo-upload-item.gjs",scope:()=>[s$,DB,Sb,AB],isStrictMode:!0}),this)}}class a$ extends Mw{compute(t){for(let e=0,n=t.length;e<n;e++)if(!1===OB(t[e]))return t[e];return t[t.length-1]}}function l$(...t){return t.every(t=>!OB(t))}class c$ extends LB{static{dF(this.prototype,"nostrAuth",[$f])}#M=void fF(this,"nostrAuth");static{dF(this.prototype,"nostrRelay",[$f])}#W=void fF(this,"nostrRelay");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"blossom",[$f])}#Tt=void fF(this,"blossom");static{dF(this.prototype,"toast",[$f])}#Mt=void fF(this,"toast");static{dF(this.prototype,"file",[Is],function(){return null})}#At=void fF(this,"file");static{dF(this.prototype,"uploadedPhoto",[Is],function(){return null})}#Ot=void fF(this,"uploadedPhoto");static{dF(this.prototype,"status",[Is],function(){return""})}#Ft=void fF(this,"status");static{dF(this.prototype,"error",[Is],function(){return""})}#Pt=void fF(this,"error");static{dF(this.prototype,"isPublishing",[Is],function(){return!1})}#zt=void fF(this,"isPublishing");static{dF(this.prototype,"isDragging",[Is],function(){return!1})}#Dt=void fF(this,"isDragging");get place(){return this.args.place||{}}get title(){return this.place.title||"this place"}get allUploaded(){return this.file&&this.uploadedPhoto&&this.file===this.uploadedPhoto.file}handleFileSelect(t){this.addFile(t.target.files[0]),t.target.value=""}static{pF(this.prototype,"handleFileSelect",[Pu])}handleDragOver(t){t.preventDefault(),this.isDragging=!0}static{pF(this.prototype,"handleDragOver",[Pu])}handleDragLeave(t){t.preventDefault(),this.isDragging=!1}static{pF(this.prototype,"handleDragLeave",[Pu])}handleDrop(t){t.preventDefault(),this.isDragging=!1,t.dataTransfer.files.length>0&&this.addFile(t.dataTransfer.files[0])}static{pF(this.prototype,"handleDrop",[Pu])}addFile(t){t&&t.type.startsWith("image/")?(this.error="",this.uploadedPhoto&&this.deletePhotoTask.perform(this.uploadedPhoto),this.file=t,this.uploadedPhoto=null):this.error="Please select a valid image file."}handleUploadSuccess(t){this.uploadedPhoto=t}static{pF(this.prototype,"handleUploadSuccess",[Pu])}removeFile(){this.uploadedPhoto&&this.deletePhotoTask.perform(this.uploadedPhoto),this.file=null,this.uploadedPhoto=null}static{pF(this.prototype,"removeFile",[Pu])}deletePhotoTask=i$(()=>({context:this,generator:function*(t){try{t.hash&&(yield this.blossom.delete(t.hash)),t.thumbHash&&(yield this.blossom.delete(t.thumbHash))}catch(ej){this.toast.show(`Failed to delete photo from server: ${ej.message}`,5e3)}}}),null,"deletePhotoTask");async publish(){if(!this.nostrAuth.isConnected)return void(this.error="You must connect Nostr first.");if(!this.allUploaded)return void(this.error="Please wait for all photos to finish uploading.");const{osmId:t,lat:e,lon:n}=this.place,r=this.place.osmType||"node";if(t){this.status="Publishing event...",this.error="",this.isPublishing=!0;try{const i=new kO({signer:this.nostrAuth.signer}),s=[["i",`osm:${r}:${t}`]];e&&n&&(s.push(["g",DD.encode(e,n,4)]),s.push(["g",DD.encode(e,n,6)]),s.push(["g",DD.encode(e,n,7)]),s.push(["g",DD.encode(e,n,9)]));const o=this.uploadedPhoto,a=["imeta",`url ${o.url}`];if(a.push(`m ${o.type}`),o.dim&&a.push(`dim ${o.dim}`),a.push("alt A photo of a place"),o.fallbackUrls&&o.fallbackUrls.length>0)for(const t of o.fallbackUrls)a.push(`fallback ${t}`);o.thumbUrl&&a.push(`thumb ${o.thumbUrl}`),o.blurhash&&a.push(`blurhash ${o.blurhash}`),s.push(a);const l={kind:360,content:"",tags:s};l.created_at||(l.created_at=Math.floor(Date.now()/1e3));const c=await i.sign(l);await this.nostrRelay.publish(this.nostrData.activeWriteRelays,c),this.nostrData.store.add(c),this.toast.show("Photo published successfully"),this.status="",this.file=null,this.uploadedPhoto=null,this.args.onClose&&this.args.onClose(c.id)}catch(ej){this.error="Failed to publish: "+ej.message,this.status=""}finally{this.isPublishing=!1}}else this.error="This place does not have a valid OSM ID."}static{pF(this.prototype,"publish",[Pu])}static{Xr(em({id:null,block:'[[[10,0],[14,0,"place-photo-upload"],[12],[1,"\\n "],[10,"h2"],[12],[1,"Add Photo for "],[1,[30,0,["title"]]],[13],[1,"\\n\\n"],[41,[30,0,["error"]],[[[1," "],[10,0],[14,0,"alert alert-error"],[12],[1,"\\n "],[1,[30,0,["error"]]],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["status"]],[[[1," "],[10,0],[14,0,"alert alert-info"],[12],[1,"\\n "],[1,[30,0,["status"]]],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["file"]],[[[1," "],[10,0],[14,0,"photo-grid"],[12],[1,"\\n "],[8,[32,0],null,[["@file","@onSuccess","@onRemove"],[[30,0,["file"]],[30,0,["handleUploadSuccess"]],[30,0,["removeFile"]]]],null],[1,"\\n "],[13],[1,"\\n\\n "],[11,"button"],[24,0,"btn btn-primary btn-publish"],[16,"disabled",[28,[32,1],[[28,[32,2],[[30,0,["allUploaded"]]],null],[30,0,["isPublishing"]]],null]],[24,4,"button"],[4,[32,3],["click",[30,0,["publish"]]],null],[12],[1,"\\n"],[41,[30,0,["isPublishing"]],[[[1," Publishing...\\n"]],[]],[[[1," Publish Photo\\n"]],[]]],[1," "],[13],[1,"\\n"]],[]],[[[1," "],[11,0],[16,0,[29,["dropzone ",[52,[30,0,["isDragging"]],"is-dragging"]]]],[4,[32,3],["dragover",[30,0,["handleDragOver"]]],null],[4,[32,3],["dragleave",[30,0,["handleDragLeave"]]],null],[4,[32,3],["drop",[30,0,["handleDrop"]]],null],[12],[1,"\\n "],[10,"label"],[14,"for","photo-upload-input"],[14,0,"dropzone-label"],[12],[1,"\\n "],[8,[32,4],null,[["@name","@size","@color"],["upload-cloud",48,"#ccc"]],null],[1,"\\n "],[10,2],[12],[1,"Drag and drop a photo here, or click to browse"],[13],[1,"\\n "],[13],[1,"\\n "],[11,"input"],[24,1,"photo-upload-input"],[24,"accept","image/*"],[24,0,"file-input-hidden"],[16,"disabled",[30,0,["isPublishing"]]],[24,4,"file"],[4,[32,3],["change",[30,0,["handleFileSelect"]]],null],[12],[13],[1,"\\n "],[13],[1,"\\n"]],[]]],[13]],[],["if"]]',moduleName:"/home/basti/src/marco/app/components/place-photo-upload.gjs",scope:()=>[o$,FB,l$,Sb,DB],isStrictMode:!0}),this)}}var u$,h$,d$={};function p$(){return h$?u$:(h$=1,u$=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then})}var f$,g$={},m$={};function y$(){if(f$)return m$;let t;f$=1;const e=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return m$.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},m$.getSymbolTotalCodewords=function(t){return e[t]},m$.getBCHDigit=function(t){let e=0;for(;0!==t;)e++,t>>>=1;return e},m$.setToSJISFunction=function(e){if("function"!=typeof e)throw new Error('"toSJISFunc" is not a valid function.');t=e},m$.isKanjiModeEnabled=function(){return void 0!==t},m$.toSJIS=function(e){return t(e)},m$}var v$,b$,w$,_$,x$,C$={};function S$(){return v$||(v$=1,(t=C$).L={bit:1},t.M={bit:0},t.Q={bit:3},t.H={bit:2},t.isValid=function(t){return t&&void 0!==t.bit&&t.bit>=0&&t.bit<4},t.from=function(e,n){if(t.isValid(e))return e;try{return function(e){if("string"!=typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return t.L;case"m":case"medium":return t.M;case"q":case"quartile":return t.Q;case"h":case"high":return t.H;default:throw new Error("Unknown EC Level: "+e)}}(e)}catch(ej){return n}}),C$;var t}var k$,E$,T$,R$,M$={},L$={},I$={},P$={};function A$(){if(R$)return P$;R$=1;const t=S$(),e=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],n=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return P$.getBlocksCount=function(n,r){switch(r){case t.L:return e[4*(n-1)+0];case t.M:return e[4*(n-1)+1];case t.Q:return e[4*(n-1)+2];case t.H:return e[4*(n-1)+3];default:return}},P$.getTotalCodewordsCount=function(e,r){switch(r){case t.L:return n[4*(e-1)+0];case t.M:return n[4*(e-1)+1];case t.Q:return n[4*(e-1)+2];case t.H:return n[4*(e-1)+3];default:return}},P$}var O$,F$,z$,D$,N$,j$={},B$={},U$={},$$={},q$={};function V$(){return N$||(N$=1,q$.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),q$}var W$,H$,G$,K$={};function Z$(){if(W$)return K$;W$=1;const t="[0-9]+";let e="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";e=e.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+e+")(?:.|[\r\n]))+";K$.KANJI=new RegExp(e,"g"),K$.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),K$.BYTE=new RegExp(n,"g"),K$.NUMERIC=new RegExp(t,"g"),K$.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const r=new RegExp("^"+e+"$"),i=new RegExp("^"+t+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return K$.testKanji=function(t){return r.test(t)},K$.testNumeric=function(t){return i.test(t)},K$.testAlphanumeric=function(t){return s.test(t)},K$}function Y$(){return H$||(H$=1,function(t){const e=V$(),n=Z$();t.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},t.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},t.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},t.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},t.MIXED={bit:-1},t.getCharCountIndicator=function(t,n){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!e.isValid(n))throw new Error("Invalid version: "+n);return n>=1&&n<10?t.ccBits[0]:n<27?t.ccBits[1]:t.ccBits[2]},t.getBestModeForData=function(e){return n.testNumeric(e)?t.NUMERIC:n.testAlphanumeric(e)?t.ALPHANUMERIC:n.testKanji(e)?t.KANJI:t.BYTE},t.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},t.isValid=function(t){return t&&t.bit&&t.ccBits},t.from=function(e,n){if(t.isValid(e))return e;try{return function(e){if("string"!=typeof e)throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return t.NUMERIC;case"alphanumeric":return t.ALPHANUMERIC;case"kanji":return t.KANJI;case"byte":return t.BYTE;default:throw new Error("Unknown mode: "+e)}}(e)}catch(ej){return n}}}($$)),$$}var X$,J$,Q$,tq,eq,nq,rq,iq,sq,oq,aq,lq,cq={},uq={},hq={exports:{}};function dq(){return oq||(oq=1,function(t){var e={single_source_shortest_paths:function(t,n,r){var i={},s={};s[n]=0;var o,a,l,c,u,h,d,p=e.PriorityQueue.make();for(p.push(n,0);!p.empty();)for(l in a=(o=p.pop()).value,c=o.cost,u=t[a]||{})u.hasOwnProperty(l)&&(h=c+u[l],d=s[l],(void 0===s[l]||d>h)&&(s[l]=h,p.push(l,h),i[l]=a));if(void 0!==r&&void 0===s[r]){var f=["Could not find a path from ",n," to ",r,"."].join("");throw new Error(f)}return i},extract_shortest_path_from_predecessor_list:function(t,e){for(var n=[],r=e;r;)n.push(r),t[r],r=t[r];return n.reverse(),n},find_path:function(t,n,r){var i=e.single_source_shortest_paths(t,n,r);return e.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(t){var n,r=e.PriorityQueue,i={};for(n in t=t||{},r)r.hasOwnProperty(n)&&(i[n]=r[n]);return i.queue=[],i.sorter=t.sorter||r.default_sorter,i},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var n={value:t,cost:e};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};t.exports=e}(hq)),hq.exports}function pq(){if(lq)return g$;lq=1;const t=y$(),e=S$(),n=function(){if(w$)return b$;function t(){this.buffer=[],this.length=0}return w$=1,t.prototype={get:function(t){const e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(let n=0;n<e;n++)this.putBit(1==(t>>>e-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){const e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},b$=t}(),r=function(){if(x$)return _$;function t(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return x$=1,t.prototype.set=function(t,e,n,r){const i=t*this.size+e;this.data[i]=n,r&&(this.reservedBit[i]=!0)},t.prototype.get=function(t,e){return this.data[t*this.size+e]},t.prototype.xor=function(t,e,n){this.data[t*this.size+e]^=n},t.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},_$=t}(),i=(k$||(k$=1,function(t){const e=y$().getSymbolSize;t.getRowColCoords=function(t){if(1===t)return[];const n=Math.floor(t/7)+2,r=e(t),i=145===r?26:2*Math.ceil((r-13)/(2*n-2)),s=[r-7];for(let e=1;e<n-1;e++)s[e]=s[e-1]-i;return s.push(6),s.reverse()},t.getPositions=function(e){const n=[],r=t.getRowColCoords(e),i=r.length;for(let t=0;t<i;t++)for(let e=0;e<i;e++)0===t&&0===e||0===t&&e===i-1||t===i-1&&0===e||n.push([r[t],r[e]]);return n}}(M$)),M$),s=function(){if(E$)return L$;E$=1;const t=y$().getSymbolSize;return L$.getPositions=function(e){const n=t(e);return[[0,0],[n-7,0],[0,n-7]]},L$}(),o=(T$||(T$=1,function(t){function e(e,n,r){switch(e){case t.Patterns.PATTERN000:return(n+r)%2==0;case t.Patterns.PATTERN001:return n%2==0;case t.Patterns.PATTERN010:return r%3==0;case t.Patterns.PATTERN011:return(n+r)%3==0;case t.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case t.Patterns.PATTERN101:return n*r%2+n*r%3==0;case t.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case t.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw new Error("bad maskPattern:"+e)}}t.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},t.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},t.from=function(e){return t.isValid(e)?parseInt(e,10):void 0},t.getPenaltyN1=function(t){const e=t.size;let n=0,r=0,i=0,s=null,o=null;for(let a=0;a<e;a++){r=i=0,s=o=null;for(let l=0;l<e;l++){let e=t.get(a,l);e===s?r++:(r>=5&&(n+=r-5+3),s=e,r=1),e=t.get(l,a),e===o?i++:(i>=5&&(n+=i-5+3),o=e,i=1)}r>=5&&(n+=r-5+3),i>=5&&(n+=i-5+3)}return n},t.getPenaltyN2=function(t){const e=t.size;let n=0;for(let r=0;r<e-1;r++)for(let i=0;i<e-1;i++){const e=t.get(r,i)+t.get(r,i+1)+t.get(r+1,i)+t.get(r+1,i+1);4!==e&&0!==e||n++}return 3*n},t.getPenaltyN3=function(t){const e=t.size;let n=0,r=0,i=0;for(let s=0;s<e;s++){r=i=0;for(let o=0;o<e;o++)r=r<<1&2047|t.get(s,o),o>=10&&(1488===r||93===r)&&n++,i=i<<1&2047|t.get(o,s),o>=10&&(1488===i||93===i)&&n++}return 40*n},t.getPenaltyN4=function(t){let e=0;const n=t.data.length;for(let r=0;r<n;r++)e+=t.data[r];return 10*Math.abs(Math.ceil(100*e/n/5)-10)},t.applyMask=function(t,n){const r=n.size;for(let i=0;i<r;i++)for(let s=0;s<r;s++)n.isReserved(s,i)||n.xor(s,i,e(t,s,i))},t.getBestMask=function(e,n){const r=Object.keys(t.Patterns).length;let i=0,s=1/0;for(let o=0;o<r;o++){n(o),t.applyMask(o,e);const r=t.getPenaltyN1(e)+t.getPenaltyN2(e)+t.getPenaltyN3(e)+t.getPenaltyN4(e);t.applyMask(o,e),r<s&&(s=r,i=o)}return i}}(I$)),I$),a=A$(),l=function(){if(D$)return z$;D$=1;const t=(F$||(F$=1,function(t){const e=function(){if(O$)return B$;O$=1;const t=new Uint8Array(512),e=new Uint8Array(256);return function(){let n=1;for(let r=0;r<255;r++)t[r]=n,e[n]=r,n<<=1,256&n&&(n^=285);for(let e=255;e<512;e++)t[e]=t[e-255]}(),B$.log=function(t){if(t<1)throw new Error("log("+t+")");return e[t]},B$.exp=function(e){return t[e]},B$.mul=function(n,r){return 0===n||0===r?0:t[e[n]+e[r]]},B$}();t.mul=function(t,n){const r=new Uint8Array(t.length+n.length-1);for(let i=0;i<t.length;i++)for(let s=0;s<n.length;s++)r[i+s]^=e.mul(t[i],n[s]);return r},t.mod=function(t,n){let r=new Uint8Array(t);for(;r.length-n.length>=0;){const t=r[0];for(let s=0;s<n.length;s++)r[s]^=e.mul(n[s],t);let i=0;for(;i<r.length&&0===r[i];)i++;r=r.slice(i)}return r},t.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=t.mul(r,new Uint8Array([1,e.exp(i)]));return r}}(j$)),j$);function e(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}return e.prototype.initialize=function(e){this.degree=e,this.genPoly=t.generateECPolynomial(this.degree)},e.prototype.encode=function(e){if(!this.genPoly)throw new Error("Encoder not initialized");const n=new Uint8Array(e.length+this.degree);n.set(e);const r=t.mod(n,this.genPoly),i=this.degree-r.length;if(i>0){const t=new Uint8Array(this.degree);return t.set(r,i),t}return r},z$=e}(),c=(G$||(G$=1,function(t){const e=y$(),n=A$(),r=S$(),i=Y$(),s=V$(),o=e.getBCHDigit(7973);function a(t,e){return i.getCharCountIndicator(t,e)+4}function l(t,e){let n=0;return t.forEach(function(t){const r=a(t.mode,e);n+=r+t.getBitsLength()}),n}t.from=function(t,e){return s.isValid(t)?parseInt(t,10):e},t.getCapacity=function(t,r,o){if(!s.isValid(t))throw new Error("Invalid QR Code version");void 0===o&&(o=i.BYTE);const l=8*(e.getSymbolTotalCodewords(t)-n.getTotalCodewordsCount(t,r));if(o===i.MIXED)return l;const c=l-a(o,t);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},t.getBestVersionForData=function(e,n){let s;const o=r.from(n,r.M);if(Array.isArray(e)){if(e.length>1)return function(e,n){for(let r=1;r<=40;r++)if(l(e,r)<=t.getCapacity(r,n,i.MIXED))return r}(e,o);if(0===e.length)return 1;s=e[0]}else s=e;return function(e,n,r){for(let i=1;i<=40;i++)if(n<=t.getCapacity(i,r,e))return i}(s.mode,s.getLength(),o)},t.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");let n=t<<12;for(;e.getBCHDigit(n)-o>=0;)n^=7973<<e.getBCHDigit(n)-o;return t<<12|n}}(U$)),U$),u=function(){if(X$)return cq;X$=1;const t=y$(),e=t.getBCHDigit(1335);return cq.getEncodedBits=function(n,r){const i=n.bit<<3|r;let s=i<<10;for(;t.getBCHDigit(s)-e>=0;)s^=1335<<t.getBCHDigit(s)-e;return 21522^(i<<10|s)},cq}(),h=Y$(),d=(aq||(aq=1,function(t){const e=Y$(),n=function(){if(Q$)return J$;Q$=1;const t=Y$();function e(e){this.mode=t.NUMERIC,this.data=e.toString()}return e.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},e.prototype.getLength=function(){return this.data.length},e.prototype.getBitsLength=function(){return e.getBitsLength(this.data.length)},e.prototype.write=function(t){let e,n,r;for(e=0;e+3<=this.data.length;e+=3)n=this.data.substr(e,3),r=parseInt(n,10),t.put(r,10);const i=this.data.length-e;i>0&&(n=this.data.substr(e),r=parseInt(n,10),t.put(r,3*i+1))},J$=e}(),r=function(){if(eq)return tq;eq=1;const t=Y$(),e=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function n(e){this.mode=t.ALPHANUMERIC,this.data=e}return n.getBitsLength=function(t){return 11*Math.floor(t/2)+t%2*6},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(t){let n;for(n=0;n+2<=this.data.length;n+=2){let r=45*e.indexOf(this.data[n]);r+=e.indexOf(this.data[n+1]),t.put(r,11)}this.data.length%2&&t.put(e.indexOf(this.data[n]),6)},tq=n}(),i=function(){if(rq)return nq;rq=1;const t=Y$();function e(e){this.mode=t.BYTE,this.data="string"==typeof e?(new TextEncoder).encode(e):new Uint8Array(e)}return e.getBitsLength=function(t){return 8*t},e.prototype.getLength=function(){return this.data.length},e.prototype.getBitsLength=function(){return e.getBitsLength(this.data.length)},e.prototype.write=function(t){for(let e=0,n=this.data.length;e<n;e++)t.put(this.data[e],8)},nq=e}(),s=function(){if(sq)return iq;sq=1;const t=Y$(),e=y$();function n(e){this.mode=t.KANJI,this.data=e}return n.getBitsLength=function(t){return 13*t},n.prototype.getLength=function(){return this.data.length},n.prototype.getBitsLength=function(){return n.getBitsLength(this.data.length)},n.prototype.write=function(t){let n;for(n=0;n<this.data.length;n++){let r=e.toSJIS(this.data[n]);if(r>=33088&&r<=40956)r-=33088;else{if(!(r>=57408&&r<=60351))throw new Error("Invalid SJIS character: "+this.data[n]+"\nMake sure your charset is UTF-8");r-=49472}r=192*(r>>>8&255)+(255&r),t.put(r,13)}},iq=n}(),o=Z$(),a=y$(),l=dq();function c(t){return unescape(encodeURIComponent(t)).length}function u(t,e,n){const r=[];let i;for(;null!==(i=t.exec(n));)r.push({data:i[0],index:i.index,mode:e,length:i[0].length});return r}function h(t){const n=u(o.NUMERIC,e.NUMERIC,t),r=u(o.ALPHANUMERIC,e.ALPHANUMERIC,t);let i,s;return a.isKanjiModeEnabled()?(i=u(o.BYTE,e.BYTE,t),s=u(o.KANJI,e.KANJI,t)):(i=u(o.BYTE_KANJI,e.BYTE,t),s=[]),n.concat(r,i,s).sort(function(t,e){return t.index-e.index}).map(function(t){return{data:t.data,mode:t.mode,length:t.length}})}function d(t,o){switch(o){case e.NUMERIC:return n.getBitsLength(t);case e.ALPHANUMERIC:return r.getBitsLength(t);case e.KANJI:return s.getBitsLength(t);case e.BYTE:return i.getBitsLength(t)}}function p(t,o){let l;const c=e.getBestModeForData(t);if(l=e.from(o,c),l!==e.BYTE&&l.bit<c.bit)throw new Error('"'+t+'" cannot be encoded with mode '+e.toString(l)+".\n Suggested mode is: "+e.toString(c));switch(l!==e.KANJI||a.isKanjiModeEnabled()||(l=e.BYTE),l){case e.NUMERIC:return new n(t);case e.ALPHANUMERIC:return new r(t);case e.KANJI:return new s(t);case e.BYTE:return new i(t)}}t.fromArray=function(t){return t.reduce(function(t,e){return"string"==typeof e?t.push(p(e,null)):e.data&&t.push(p(e.data,e.mode)),t},[])},t.fromString=function(n,r){const i=function(t){const n=[];for(let r=0;r<t.length;r++){const i=t[r];switch(i.mode){case e.NUMERIC:n.push([i,{data:i.data,mode:e.ALPHANUMERIC,length:i.length},{data:i.data,mode:e.BYTE,length:i.length}]);break;case e.ALPHANUMERIC:n.push([i,{data:i.data,mode:e.BYTE,length:i.length}]);break;case e.KANJI:n.push([i,{data:i.data,mode:e.BYTE,length:c(i.data)}]);break;case e.BYTE:n.push([{data:i.data,mode:e.BYTE,length:c(i.data)}])}}return n}(h(n,a.isKanjiModeEnabled())),s=function(t,n){const r={},i={start:{}};let s=["start"];for(let o=0;o<t.length;o++){const a=t[o],l=[];for(let t=0;t<a.length;t++){const c=a[t],u=""+o+t;l.push(u),r[u]={node:c,lastCount:0},i[u]={};for(let t=0;t<s.length;t++){const o=s[t];r[o]&&r[o].node.mode===c.mode?(i[o][u]=d(r[o].lastCount+c.length,c.mode)-d(r[o].lastCount,c.mode),r[o].lastCount+=c.length):(r[o]&&(r[o].lastCount=c.length),i[o][u]=d(c.length,c.mode)+4+e.getCharCountIndicator(c.mode,n))}}s=l}for(let e=0;e<s.length;e++)i[s[e]].end=0;return{map:i,table:r}}(i,r),o=l.find_path(s.map,"start","end"),u=[];for(let t=1;t<o.length-1;t++)u.push(s.table[o[t]].node);return t.fromArray(u.reduce(function(t,e){const n=t.length-1>=0?t[t.length-1]:null;return n&&n.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)},[]))},t.rawSplit=function(e){return t.fromArray(h(e,a.isKanjiModeEnabled()))}}(uq)),uq);function p(t,e,n){const r=t.size,i=u.getEncodedBits(e,n);let s,o;for(s=0;s<15;s++)o=1==(i>>s&1),s<6?t.set(s,8,o,!0):s<8?t.set(s+1,8,o,!0):t.set(r-15+s,8,o,!0),s<8?t.set(8,r-s-1,o,!0):s<9?t.set(8,15-s-1+1,o,!0):t.set(8,15-s-1,o,!0);t.set(r-8,8,1,!0)}return g$.create=function(u,f){if(void 0===u||""===u)throw new Error("No input text");let g,m,y=e.M;return void 0!==f&&(y=e.from(f.errorCorrectionLevel,e.M),g=c.from(f.version),m=o.from(f.maskPattern),f.toSJISFunc&&t.setToSJISFunction(f.toSJISFunc)),function(e,u,f,g){let m;if(Array.isArray(e))m=d.fromArray(e);else{if("string"!=typeof e)throw new Error("Invalid data");{let t=u;if(!t){const n=d.rawSplit(e);t=c.getBestVersionForData(n,f)}m=d.fromString(e,t||40)}}const y=c.getBestVersionForData(m,f);if(!y)throw new Error("The amount of data is too big to be stored in a QR Code");if(u){if(u<y)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+y+".\n")}else u=y;const v=function(e,r,i){const s=new n;i.forEach(function(t){s.put(t.mode.bit,4),s.put(t.getLength(),h.getCharCountIndicator(t.mode,e)),t.write(s)});const o=8*(t.getSymbolTotalCodewords(e)-a.getTotalCodewordsCount(e,r));for(s.getLengthInBits()+4<=o&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(0);const c=(o-s.getLengthInBits())/8;for(let t=0;t<c;t++)s.put(t%2?17:236,8);return function(e,n,r){const i=t.getSymbolTotalCodewords(n),s=i-a.getTotalCodewordsCount(n,r),o=a.getBlocksCount(n,r),c=o-i%o,u=Math.floor(i/o),h=Math.floor(s/o),d=h+1,p=u-h,f=new l(p);let g=0;const m=new Array(o),y=new Array(o);let v=0;const b=new Uint8Array(e.buffer);for(let t=0;t<o;t++){const e=t<c?h:d;m[t]=b.slice(g,g+e),y[t]=f.encode(m[t]),g+=e,v=Math.max(v,e)}const w=new Uint8Array(i);let _,x,C=0;for(_=0;_<v;_++)for(x=0;x<o;x++)_<m[x].length&&(w[C++]=m[x][_]);for(_=0;_<p;_++)for(x=0;x<o;x++)w[C++]=y[x][_];return w}(s,e,r)}(u,f,m),b=t.getSymbolSize(u),w=new r(b);return function(t,e){const n=t.size,r=s.getPositions(e);for(let i=0;i<r.length;i++){const e=r[i][0],s=r[i][1];for(let r=-1;r<=7;r++)if(!(e+r<=-1||n<=e+r))for(let i=-1;i<=7;i++)s+i<=-1||n<=s+i||(r>=0&&r<=6&&(0===i||6===i)||i>=0&&i<=6&&(0===r||6===r)||r>=2&&r<=4&&i>=2&&i<=4?t.set(e+r,s+i,!0,!0):t.set(e+r,s+i,!1,!0))}}(w,u),function(t){const e=t.size;for(let n=8;n<e-8;n++){const e=n%2==0;t.set(n,6,e,!0),t.set(6,n,e,!0)}}(w),function(t,e){const n=i.getPositions(e);for(let r=0;r<n.length;r++){const e=n[r][0],i=n[r][1];for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)-2===n||2===n||-2===r||2===r||0===n&&0===r?t.set(e+n,i+r,!0,!0):t.set(e+n,i+r,!1,!0)}}(w,u),p(w,f,0),u>=7&&function(t,e){const n=t.size,r=c.getEncodedBits(e);let i,s,o;for(let a=0;a<18;a++)i=Math.floor(a/3),s=a%3+n-8-3,o=1==(r>>a&1),t.set(i,s,o,!0),t.set(s,i,o,!0)}(w,u),function(t,e){const n=t.size;let r=-1,i=n-1,s=7,o=0;for(let a=n-1;a>0;a-=2)for(6===a&&a--;;){for(let n=0;n<2;n++)if(!t.isReserved(i,a-n)){let r=!1;o<e.length&&(r=1==(e[o]>>>s&1)),t.set(i,a-n,r),s--,-1===s&&(o++,s=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}(w,v),isNaN(g)&&(g=o.getBestMask(w,p.bind(null,w,f))),o.applyMask(g,w),p(w,f,g),{modules:w,version:u,errorCorrectionLevel:f,maskPattern:g,segments:m}}(u,g,y,m)},g$}var fq,gq,mq={},yq={};function vq(){return fq||(fq=1,function(t){function e(t){if("number"==typeof t&&(t=t.toString()),"string"!=typeof t)throw new Error("Color should be defined as hex string");let e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map(function(t){return[t,t]}))),6===e.length&&e.push("F","F");const n=parseInt(e.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:255&n,hex:"#"+e.slice(0,6).join("")}}t.getOptions=function(t){t||(t={}),t.color||(t.color={});const n=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,r=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:e(t.color.dark||"#000000ff"),light:e(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},t.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},t.getImageWidth=function(e,n){const r=t.getScale(e,n);return Math.floor((e+2*n.margin)*r)},t.qrToImageData=function(e,n,r){const i=n.modules.size,s=n.modules.data,o=t.getScale(i,r),a=Math.floor((i+2*r.margin)*o),l=r.margin*o,c=[r.color.light,r.color.dark];for(let t=0;t<a;t++)for(let n=0;n<a;n++){let u=4*(t*a+n),h=r.color.light;t>=l&&n>=l&&t<a-l&&n<a-l&&(h=c[s[Math.floor((t-l)/o)*i+Math.floor((n-l)/o)]?1:0]),e[u++]=h.r,e[u++]=h.g,e[u++]=h.b,e[u]=h.a}}}(yq)),yq}var bq,wq,_q={},xq=function(){if(wq)return d$;wq=1;const t=p$(),e=pq(),n=(gq||(gq=1,function(t){const e=vq();t.render=function(t,n,r){let i=r,s=n;void 0!==i||n&&n.getContext||(i=n,n=void 0),n||(s=function(){try{return document.createElement("canvas")}catch(ej){throw new Error("You need to specify a canvas element")}}()),i=e.getOptions(i);const o=e.getImageWidth(t.modules.size,i),a=s.getContext("2d"),l=a.createImageData(o,o);return e.qrToImageData(l.data,t,i),function(t,e,n){t.clearRect(0,0,e.width,e.height),e.style||(e.style={}),e.height=n,e.width=n,e.style.height=n+"px",e.style.width=n+"px"}(a,s,o),a.putImageData(l,0,0),s},t.renderToDataURL=function(e,n,r){let i=r;void 0!==i||n&&n.getContext||(i=n,n=void 0),i||(i={});const s=t.render(e,n,i),o=i.type||"image/png",a=i.rendererOpts||{};return s.toDataURL(o,a.quality)}}(mq)),mq),r=function(){if(bq)return _q;bq=1;const t=vq();function e(t,e){const n=t.a/255,r=e+'="'+t.hex+'"';return n<1?r+" "+e+'-opacity="'+n.toFixed(2).slice(1)+'"':r}function n(t,e,n){let r=t+e;return void 0!==n&&(r+=" "+n),r}return _q.render=function(r,i,s){const o=t.getOptions(i),a=r.modules.size,l=r.modules.data,c=a+2*o.margin,u=o.color.light.a?"<path "+e(o.color.light,"fill")+' d="M0 0h'+c+"v"+c+'H0z"/>':"",h="<path "+e(o.color.dark,"stroke")+' d="'+function(t,e,r){let i="",s=0,o=!1,a=0;for(let l=0;l<t.length;l++){const c=Math.floor(l%e),u=Math.floor(l/e);c||o||(o=!0),t[l]?(a++,l>0&&c>0&&t[l-1]||(i+=o?n("M",c+r,.5+u+r):n("m",s,0),s=0,o=!1),c+1<e&&t[l+1]||(i+=n("h",a),a=0)):s++}return i}(l,a,o.margin)+'"/>',d='viewBox="0 0 '+c+" "+c+'"',p='<svg xmlns="http://www.w3.org/2000/svg" '+(o.width?'width="'+o.width+'" height="'+o.width+'" ':"")+d+' shape-rendering="crispEdges">'+u+h+"</svg>\n";return"function"==typeof s&&s(null,p),p},_q}();function i(n,r,i,s,o){const a=[].slice.call(arguments,1),l=a.length,c="function"==typeof a[l-1];if(!c&&!t())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(i=r,r=s=void 0):2!==l||r.getContext||(s=i,i=r,r=void 0),new Promise(function(t,o){try{const o=e.create(i,s);t(n(o,r,s))}catch(ej){o(ej)}})}if(l<2)throw new Error("Too few arguments provided");2===l?(o=i,i=r,r=s=void 0):3===l&&(r.getContext&&void 0===o?(o=s,s=void 0):(o=s,s=i,i=r,r=void 0));try{const t=e.create(i,s);o(null,n(t,r,s))}catch(ej){o(ej)}}return d$.create=e.create,d$.toCanvas=i.bind(null,n.render),d$.toDataURL=i.bind(null,n.renderToDataURL),d$.toString=i.bind(null,function(t,e,n){return r.render(t,n)}),d$}();const Cq=BA(xq),Sq=UB((t,[e])=>{e&&Cq.toCanvas(t,e,{width:256,margin:2,color:{dark:"#000000",light:"#ffffff"}}).catch(t=>{console.error("Failed to generate QR code",t)})});class kq extends LB{static{dF(this.prototype,"nostrAuth",[$f])}#M=void fF(this,"nostrAuth");static{dF(this.prototype,"toast",[$f])}#Mt=void fF(this,"toast");get hasExtension(){return"undefined"!=typeof window&&void 0!==window.nostr}async connectExtension(){try{await this.nostrAuth.connectWithExtension(),this.toast.show("Nostr connected successfully"),this.args.onConnect&&this.args.onConnect()}catch(ej){console.error(ej),alert(ej.message)}}static{pF(this.prototype,"connectExtension",[Pu])}async connectApp(){try{await this.nostrAuth.connectWithApp(),this.toast.show("Nostr connected successfully"),this.args.onConnect&&this.args.onConnect()}catch(ej){console.error(ej),alert(ej.message)}}static{pF(this.prototype,"connectApp",[Pu])}static{Xr(em({id:null,block:'[[[10,0],[14,0,"nostr-connect-modal"],[12],[1,"\\n "],[10,"h2"],[12],[1,"Connect with Nostr"],[13],[1,"\\n\\n "],[10,0],[14,0,"nostr-connect-options"],[12],[1,"\\n"],[41,[30,0,["hasExtension"]],[[[1," "],[11,"button"],[24,0,"btn btn-primary"],[24,4,"button"],[4,[32,0],["click",[30,0,["connectExtension"]]],null],[12],[1,"\\n Browser Extension (nos2x, Alby)\\n "],[13],[1,"\\n"]],[]],[[[1," "],[10,"button"],[14,0,"btn btn-outline"],[14,"disabled",""],[14,"title","No Nostr extension found in your browser."],[14,4,"button"],[12],[1,"\\n Browser Extension (Not Found)\\n "],[13],[1,"\\n"]],[]]],[1,"\\n "],[11,"button"],[24,0,"btn btn-primary"],[24,4,"button"],[4,[32,0],["click",[30,0,["connectApp"]]],null],[12],[1,"\\n Mobile Signer App (Amber, etc.)\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n"],[41,[28,[32,1],[[30,0,["nostrAuth","connectStatus"]],"waiting"],null],[[[1," "],[10,0],[14,0,"nostr-connect-status"],[12],[1,"\\n"],[41,[30,0,["nostrAuth","isMobile"]],[[[1," "],[10,2],[12],[1,"Waiting for you to approve the connection in your mobile signer\\n app..."],[13],[1,"\\n"]],[]],[[[1," "],[10,2],[12],[1,"Scan this QR code with a compatible Nostr signer app (like\\n Amber):"],[13],[1,"\\n "],[10,0],[14,0,"qr-code-container"],[12],[1,"\\n "],[11,"canvas"],[4,[32,2],[[30,0,["nostrAuth","connectUri"]]],null],[12],[13],[1,"\\n "],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n"]],[]],null],[13]],[],["if"]]',moduleName:"/home/basti/src/marco/app/components/nostr-connect.gjs",scope:()=>[Sb,zB,Sq],isStrictMode:!0}),this)}}class Eq extends LB{stopProp(t){t.stopPropagation()}static{pF(this.prototype,"stopProp",[Pu])}close(){this.args.onClose&&this.args.onClose()}static{pF(this.prototype,"close",[Pu])}static{Xr(em({id:null,block:'[[[11,0],[24,0,"modal-overlay"],[24,"role","dialog"],[24,"tabindex","-1"],[4,[32,0],["click",[30,0,["close"]]],null],[12],[1,"\\n "],[11,0],[24,0,"modal-content"],[24,"role","document"],[24,"tabindex","0"],[4,[32,0],["click",[30,0,["stopProp"]]],null],[12],[1,"\\n "],[11,"button"],[24,0,"close-modal-btn btn-text"],[24,4,"button"],[4,[32,0],["click",[30,0,["close"]]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size"],["x",24]],null],[1,"\\n "],[13],[1,"\\n "],[18,1,null],[1,"\\n "],[13],[1,"\\n"],[13]],["&default"],["yield"]]',moduleName:"/home/basti/src/marco/app/components/modal.gjs",scope:()=>[Sb,DB],isStrictMode:!0}),this)}}const Tq=UB((t,[e])=>{if(!e)return;let n;t.classList.remove("loaded"),t.classList.remove("loaded-instant");const r=()=>{t.classList.contains("loaded-instant")||t.classList.add("loaded")};return t.addEventListener("load",r),n=new IntersectionObserver((n,r)=>{n.forEach(n=>{if(n.isIntersecting){r.unobserve(t);const n=new Image;n.src=e,n.complete&&t.classList.add("loaded-instant");const i=t.parentElement;i&&"PICTURE"===i.tagName&&i.querySelectorAll("source").forEach(t=>{t.dataset.srcset&&(t.srcset=t.dataset.srcset)}),t.dataset.src?t.src=t.dataset.src:t.src=e}})},{root:null,rootMargin:"100px 100%",threshold:0}),n.observe(t),()=>{t.removeEventListener("load",r),n&&n.disconnect()}});class Rq extends LB{static{dF(this.prototype,"canScrollLeft",[Is],function(){return!1})}#Nt=void fF(this,"canScrollLeft");static{dF(this.prototype,"canScrollRight",[Is],function(){return!1})}#jt=void fF(this,"canScrollRight");carouselElement=null;get photos(){return this.args.photos||[]}get showChevrons(){return this.photos.length>1}get cannotScrollLeft(){return!this.canScrollLeft}get cannotScrollRight(){return!this.canScrollRight}lastResetKey=null;resetScrollPosition=UB((t,[e])=>{void 0!==e&&e!==this.lastResetKey&&(this.lastResetKey=e,t.scrollLeft=0,setTimeout(()=>this.updateScrollState(),50))});scrollToNewPhoto=UB((t,[e])=>{e&&e!==this.lastEventId&&(this.lastEventId=e,setTimeout(()=>{const n=t.querySelector(`[data-event-id="${e}"]`);n&&(t.scrollLeft=n.offsetLeft)},100))});setupCarousel=UB(t=>{let e;return this.carouselElement=t,setTimeout(()=>{this.updateScrollState()},50),window.ResizeObserver&&(e=new ResizeObserver(()=>this.updateScrollState()),e.observe(t)),()=>{e&&e.unobserve(t)}});updateScrollState(){if(!this.carouselElement)return;const{scrollLeft:t,scrollWidth:e,clientWidth:n}=this.carouselElement;this.canScrollLeft=t>1,this.canScrollRight=t+n<e-1}static{pF(this.prototype,"updateScrollState",[Pu])}scrollLeft(){this.carouselElement&&this.carouselElement.scrollBy({left:-this.carouselElement.clientWidth,behavior:"smooth"})}static{pF(this.prototype,"scrollLeft",[Pu])}scrollRight(){this.carouselElement&&this.carouselElement.scrollBy({left:this.carouselElement.clientWidth,behavior:"smooth"})}static{pF(this.prototype,"scrollRight",[Pu])}static{Xr(em({id:null,block:'[[[41,[30,0,["photos","length"]],[[[1," "],[10,0],[14,0,"place-photos-carousel-wrapper"],[12],[1,"\\n "],[11,0],[24,0,"place-photos-carousel-track"],[4,[30,0,["setupCarousel"]],null,null],[4,[30,0,["resetScrollPosition"]],[[30,1]],null],[4,[30,0,["scrollToNewPhoto"]],[[30,2]],null],[4,[32,0],["scroll",[30,0,["updateScrollState"]]],null],[12],[1,"\\n"],[42,[28,[31,2],[[28,[31,2],[[30,0,["photos"]]],null]],null],null,[[[1," "],[10,0],[14,0,"carousel-slide"],[15,5,[30,3,["style"]]],[15,"data-event-id",[30,3,["eventId"]]],[12],[1,"\\n"],[41,[30,3,["blurhash"]],[[[1," "],[8,[32,1],[[24,0,"place-header-photo-blur"]],[["@hash","@width","@height"],[[30,3,["blurhash"]],32,18]],null],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,3,["isLandscape"]],[[[1," "],[10,"picture"],[12],[1,"\\n"],[41,[30,3,["thumbUrl"]],[[[1," "],[10,"source"],[14,"media","(max-width: 768px)"],[15,"data-srcset",[30,3,["thumbUrl"]]],[12],[13],[1,"\\n"]],[]],null],[1," "],[11,"img"],[16,"data-src",[30,3,["url"]]],[24,0,"place-header-photo landscape"],[16,"alt",[30,4]],[4,[32,2],[[30,3,["url"]]],null],[12],[13],[1,"\\n "],[13],[1,"\\n"]],[]],[[[1," "],[11,"img"],[16,"data-src",[52,[30,3,["thumbUrl"]],[30,3,["thumbUrl"]],[30,3,["url"]]]],[24,0,"place-header-photo portrait"],[16,"alt",[30,4]],[4,[32,2],[[52,[30,3,["thumbUrl"]],[30,3,["thumbUrl"]],[30,3,["url"]]]],null],[12],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n"]],[3]],null],[1,"\\n "],[10,0],[14,0,"carousel-placeholder"],[12],[13],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,0,["showChevrons"]],[[[1," "],[11,"button"],[16,0,[29,["carousel-nav-btn prev\\n ",[52,[30,0,["cannotScrollLeft"]],"disabled"]]]],[16,"disabled",[30,0,["cannotScrollLeft"]]],[24,"aria-label","Previous photo"],[24,4,"button"],[4,[32,0],["click",[30,0,["scrollLeft"]]],null],[12],[1,"\\n "],[8,[32,3],null,[["@name","@color"],["chevron-left","currentColor"]],null],[1,"\\n "],[13],[1,"\\n\\n "],[11,"button"],[16,0,[29,["carousel-nav-btn next\\n ",[52,[30,0,["cannotScrollRight"]],"disabled"]]]],[16,"disabled",[30,0,["cannotScrollRight"]]],[24,"aria-label","Next photo"],[24,4,"button"],[4,[32,0],["click",[30,0,["scrollRight"]]],null],[12],[1,"\\n "],[8,[32,3],null,[["@name","@color"],["chevron-right","currentColor"]],null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1," "],[13],[1,"\\n"]],[]],null]],["@resetKey","@scrollToEventId","photo","@name"],["if","each","-track-array"]]',moduleName:"/home/basti/src/marco/app/components/place-photos-carousel.gjs",scope:()=>[Sb,s$,Tq,DB],isStrictMode:!0}),this)}}class Mq extends LB{static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"nostrAuth",[$f])}#M=void fF(this,"nostrAuth");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"isEditing",[Is],function(){return!1})}#Bt=void fF(this,"isEditing");static{dF(this.prototype,"showLists",[Is],function(){return!1})}#Ut=void fF(this,"showLists");static{dF(this.prototype,"isPhotoUploadModalOpen",[Is],function(){return!1})}#$t=void fF(this,"isPhotoUploadModalOpen");static{dF(this.prototype,"isNostrConnectModalOpen",[Is],function(){return!1})}#qt=void fF(this,"isNostrConnectModalOpen");static{dF(this.prototype,"newlyUploadedPhotoId",[Is],function(){return null})}#Vt=void fF(this,"newlyUploadedPhotoId");openPhotoUploadModal(t){t&&t.preventDefault(),this.nostrAuth.isConnected?this.isPhotoUploadModalOpen=!0:this.isNostrConnectModalOpen=!0}static{pF(this.prototype,"openPhotoUploadModal",[Pu])}closePhotoUploadModal(t){this.isPhotoUploadModalOpen=!1,"string"==typeof t&&(this.newlyUploadedPhotoId=t,setTimeout(()=>{const t=document.querySelector(".sidebar-content");t&&(t.scrollTop=0)},50))}static{pF(this.prototype,"closePhotoUploadModal",[Pu])}closeNostrConnectModal(){this.isNostrConnectModalOpen=!1}static{pF(this.prototype,"closeNostrConnectModal",[Pu])}onNostrConnected(){this.isNostrConnectModalOpen=!1,this.isPhotoUploadModalOpen=!0}static{pF(this.prototype,"onNostrConnected",[Pu])}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:Zj(this.place)}get tags(){return this.place.osmTags||{}}get name(){return this.place.title||RN(this.tags)||"Unnamed Place"}get photos(){return OD(this.nostrData.placePhotos).map(t=>({...t,style:zw(`--slide-ratio: ${t.aspectRatio};`)}))}startEditing(){this.isSaved&&(this.isEditing=!0)}static{pF(this.prototype,"startEditing",[Pu])}cancelEditing(){this.isEditing=!1}static{pF(this.prototype,"cancelEditing",[Pu])}toggleLists(t){t&&t.stopPropagation(),this.showLists=!this.showLists}static{pF(this.prototype,"toggleLists",[Pu])}closeLists(){this.showLists=!1}static{pF(this.prototype,"closeLists",[Pu])}async saveChanges(t){this.args.onSave&&await this.args.onSave({...this.place,...t}),this.isEditing=!1}static{pF(this.prototype,"saveChanges",[Pu])}get type(){return LN(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 r=n("addr:street","street");const i=n("addr:housenumber","housenumber");r&&(i&&(r=`${r} ${i}`),e.push(r));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=[...new Set(t.split(";").map(t=>t.trim()).filter(Boolean))];return 0===n.length?null:zw("phone"===e?n.map(t=>`<a href="tel:${t.replace(/[\s-]+/g,"")}">${t}</a>`).join("<br>"):"email"===e?n.map(t=>`<a href="mailto:${t}">${t}</a>`).join("<br>"):"whatsapp"===e?n.map(t=>`<a href="https://wa.me/${t.replace(/[\s-]+/g,"")}" target="_blank" rel="noopener noreferrer">${t}</a>`).join("<br>"):"url"===e?n.map(t=>`<a href="${t}" target="_blank" rel="noopener noreferrer">${this.getDomain(t)}</a>`).join("<br>"):n.join("<br>"))}get phone(){const t=[this.tags.phone,this.tags["contact:phone"],this.tags.mobile,this.tags["contact:mobile"]].filter(Boolean);return 0===t.length?null:this.formatMultiLine(t.join(";"),"phone")}get whatsapp(){const t=[this.tags.whatsapp,this.tags["contact:whatsapp"]].filter(Boolean);return 0===t.length?null:this.formatMultiLine(t.join(";"),"whatsapp")}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=>EN(t)).join(", "):null}get facebook(){return Xj(this.tags,"facebook")}get instagram(){return Xj(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{Xr(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," "],[8,[32,1],null,[["@photos","@name","@resetKey","@scrollToEventId"],[[30,0,["photos"]],[30,0,["name"]],[30,0,["place","osmId"]],[30,0,["newlyUploadedPhotoId"]]]],null],[1,"\\n "],[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,2],["click",[30,0,["toggleLists"]]],null],[12],[1,"\\n "],[8,[32,3],null,[["@name","@color"],["bookmark",[52,[30,0,["isSaved"]],"currentColor","var(--link-color)"]]],null],[1,"\\n "],[1,[52,[30,0,["isSaved"]],"Saved","Save"]],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,0,["showLists"]],[[[1," "],[8,[32,4],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"],[16,"disabled",[30,0,["isEditing"]]],[24,4,"button"],[4,[32,2],["click",[30,0,["startEditing"]]],null],[12],[1,"\\n "],[8,[32,3],null,[["@name","@color"],["edit","var(--link-color)"]],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,"content-with-icon"],[12],[1,"\\n "],[8,[32,3],null,[["@name","@title"],["fork-and-knife","Cuisine"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[1,[30,0,["cuisine"]]],[1,"\\n "],[13],[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,3],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,3],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,["whatsapp"]],[[[1," "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,3],null,[["@name","@title"],["whatsapp","WhatsApp"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[1,[30,0,["whatsapp"]]],[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,3],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,3],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,3],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,3],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,3],null,[["@name","@title"],["wikipedia","Wikipedia"]],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,3],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,3],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,3],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,3],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\\n"],[41,[30,0,["osmUrl"]],[[[1," "],[10,0],[14,0,"meta-info"],[12],[1,"\\n "],[10,2],[14,0,"content-with-icon"],[12],[1,"\\n "],[8,[32,3],null,[["@name"],["camera"]],null],[1,"\\n "],[10,1],[12],[1,"\\n "],[11,"button"],[24,0,"btn-link"],[24,4,"button"],[4,[32,2],["click",[30,0,["openPhotoUploadModal"]]],null],[12],[1,"\\n Add a photo\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[]],null],[13],[1,"\\n\\n"],[41,[30,0,["isPhotoUploadModalOpen"]],[[[1," "],[8,[32,5],null,[["@onClose"],[[30,0,["closePhotoUploadModal"]]]],[["default"],[[[[1,"\\n "],[8,[32,6],null,[["@place","@onClose"],[[30,0,["saveablePlace"]],[30,0,["closePhotoUploadModal"]]]],null],[1,"\\n "]],[]]]]],[1,"\\n"]],[]],null],[1,"\\n"],[41,[30,0,["isNostrConnectModalOpen"]],[[[1," "],[8,[32,5],null,[["@onClose"],[[30,0,["closeNostrConnectModal"]]]],[["default"],[[[[1,"\\n "],[8,[32,7],null,[["@onConnect"],[[30,0,["onNostrConnected"]]]],null],[1,"\\n "]],[]]]]],[1,"\\n"]],[]],null]],[],["if"]]',moduleName:"/home/basti/src/marco/app/components/place-details.gjs",scope:()=>[NB,Rq,Sb,DB,qB,Eq,c$,kq],isStrictMode:!0}),this)}}const Lq=Ow(function([t]){return EN(t)});class Iq extends LB{static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");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{pF(this.prototype,"createNewPlace",[Pu])}selectPlace(t){this.args.onSelect&&this.args.onSelect(t)}static{pF(this.prototype,"selectPlace",[Pu])}clearSelection(){this.args.onSelect&&this.args.onSelect(null)}static{pF(this.prototype,"clearSelection",[Pu])}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(ej){console.error("Failed to delete:",ej),alert("Failed to delete: "+ej.message)}else{const e={title:RN(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(v5){console.error("Failed to save place:",v5),alert("Failed to save place: "+v5.message)}}}static{pF(this.prototype,"toggleSave",[Pu])}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(ej){console.error("Failed to update place:",ej),alert("Failed to update place: "+ej.message)}}static{pF(this.prototype,"updateBookmark",[Pu])}get isNearbySearch(){const t=this.router.currentRoute.queryParams;return!t.q&&!t.category&&t.lat&&t.lon}get hasHeaderPhoto(){return this.args.selectedPlace&&this.nostrData.placePhotos&&this.nostrData.placePhotos.length>0}static{Xr(em({id:null,block:'[[[10,0],[14,0,"sidebar"],[12],[1,"\\n "],[10,0],[15,0,[29,["sidebar-header ",[52,[30,0,["hasHeaderPhoto"]],"no-border"]]]],[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,"var(--link-color)"]],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:()=>[Sb,DB,Mq,AB,FB,zB,Lq,LN],isStrictMode:!0}),this)}}class Pq extends LB{static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");selectPlace(t){t&&(this.mapUi.returnToSearch=!0,this.router.transitionTo("place",t))}static{pF(this.prototype,"selectPlace",[Pu])}close(){this.router.transitionTo("index")}static{pF(this.prototype,"close",[Pu])}static{Xr(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:()=>[Iq],isStrictMode:!0}),this)}}const Aq=Object.freeze(Object.defineProperty({__proto__:null,default:Pq},Symbol.toStringTag,{value:"Module"})),Oq=Object.freeze(Object.defineProperty({__proto__:null,default:class extends cd{queryParams=["lat","lon","q","selected","category"];lat=null;lon=null;q=null;selected=null;category=null}},Symbol.toStringTag,{value:"Module"}));class Fq extends kp{static{dF(this.prototype,"osm",[$f])}#ct=void fF(this,"osm");static{dF(this.prototype,"photon",[$f])}#Ht=void fF(this,"photon");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"toast",[$f])}#Mt=void fF(this,"toast");queryParams={lat:{refreshModel:!0},lon:{refreshModel:!0},q:{refreshModel:!0},selected:{refreshModel:!0},category:{refreshModel:!0}};async model(t){const e=t.lat?parseFloat(t.lat):null,n=t.lon?parseFloat(t.lon):null;let r=[],i=null,s=null;try{if(t.category&&e&&n){i="category",s=t.category,this.mapUi.startLoading(i,s);let o=this.mapUi.currentBounds;if(!o){const t=.01;o={minLat:e-t,maxLat:e+t,minLon:n-t,maxLon:n+t}}r=await this.osm.getCategoryPois(o,t.category,e,n),r=r.map(t=>({...t,_distance:jj(e,n,t.lat,t.lon)})).sort((t,e)=>t._distance-e._distance)}else if(t.q){i="text",s=t.q,this.mapUi.startLoading(i,s),r=await this.photon.search(t.q,e,n);const o=t.q.toLowerCase(),a=this.storage.savedPlaces.filter(t=>t.title?.toLowerCase().includes(o)||t.description?.toLowerCase().includes(o));a.forEach(t=>{r.find(e=>t.osmId&&e.osmId===t.osmId||e.id&&e.id===t.id)||r.push(t)})}else if(e&&n){const t=50;r=await this.osm.getNearbyPois(e,n,t);const i=this.storage.savedPlaces.filter(r=>jj(e,n,r.lat,r.lon)<=t);i.forEach(t=>{r.find(e=>t.osmId&&e.osmId===t.osmId||e.id&&e.id===t.id)||r.push(t)}),r=r.map(t=>({...t,_distance:jj(e,n,t.lat,t.lon)})).sort((t,e)=>t._distance-e._distance)}}finally{i&&s&&this.mapUi.stopLoading(i,s)}return r=r.map(t=>this.storage.findPlaceById(t.osmId)||t),r}afterModel(t,e){const{q:n,selected:r}=e.to.queryParams,i=r||n;if(i&&t.length>0){let e=null;if(e=t.find(t=>t.osmTags&&(t.osmTags.name===i||t.osmTags["name:en"]===i)),!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(),this.mapUi.setSearchResults(e);const{q:n,category:r,lat:i,lon:s}=this.paramsFor("search");this.mapUi.currentSearch={q:n,category:r,lat:i,lon:s}}error(t,e){return this.mapUi.stopSearch(),this.toast.show("Search request failed. Please try again."),e&&e.abort(),!1}static{pF(this.prototype,"error",[Pu])}}const zq=Object.freeze(Object.defineProperty({__proto__:null,default:Fq},Symbol.toStringTag,{value:"Module"}));var Dq,Nq,jq;let Bq=(Dq=$f("page-title"),Nq=class extends Mw{constructor(t){super(t),hB(this,"tokens",jq,this),uB(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()}},jq=dB(Nq.prototype,"tokens",[Dq],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Nq);const Uq="add",$q="remove",qq="propertychange",Vq="change",Wq="contextmenu",Hq="click",Gq="keydown",Kq="keypress",Zq="touchmove",Yq="wheel";class Xq{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function Jq(t,e){return t>e?1:t<e?-1:0}function Qq(t,e){return t<e?1:t>e?-1:0}function tV(t,e,n){if(t[0]<=e)return 0;const r=t.length;if(e<=t[r-1])return r-1;if("function"==typeof n){for(let i=1;i<r;++i){const r=t[i];if(r===e)return i;if(r<e)return n(e,t[i-1],r)>0?i-1:i}return r-1}if(n>0){for(let n=1;n<r;++n)if(t[n]<e)return n-1;return r-1}if(n<0){for(let n=1;n<r;++n)if(t[n]<=e)return n;return r-1}for(let i=1;i<r;++i){if(t[i]==e)return i;if(t[i]<e)return t[i-1]-e<e-t[i]?i-1:i}return r-1}function eV(t,e,n){for(;e<n;){const r=t[e];t[e]=t[n],t[n]=r,++e,--n}}function nV(t,e){const n=Array.isArray(e)?e:[e],r=n.length;for(let i=0;i<r;i++)t[t.length]=n[i]}function rV(t,e){const n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}function iV(){return!0}function sV(){return!1}function oV(){}function aV(t){let e,n,r;return function(){const i=Array.prototype.slice.call(arguments);return n&&this===r&&rV(i,n)||(r=this,n=i,e=t.apply(this,arguments)),e}}function lV(t){return function(){let e;try{e=t()}catch(n){return Promise.reject(n)}return e instanceof Promise?e:Promise.resolve(e)}()}function cV(t){for(const e in t)delete t[e]}function uV(t){let e;for(e in t)return!1;return!e}class hV{constructor(t){this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}}class dV extends Xq{constructor(t){super(),this.eventTarget_=t,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(t,e){if(!t||!e)return;const n=this.listeners_||(this.listeners_={}),r=n[t]||(n[t]=[]);r.includes(e)||r.push(e)}dispatchEvent(t){const e="string"==typeof t,n=e?t:t.type,r=this.listeners_&&this.listeners_[n];if(!r)return;const i=e?new hV(t):t;i.target||(i.target=this.eventTarget_||this);const s=this.dispatching_||(this.dispatching_={}),o=this.pendingRemovals_||(this.pendingRemovals_={});let a;n in s||(s[n]=0,o[n]=0),++s[n];for(let l=0,c=r.length;l<c;++l)if(a="handleEvent"in r[l]?r[l].handleEvent(i):r[l].call(this,i),!1===a||i.propagationStopped){a=!1;break}if(0===--s[n]){let t=o[n];for(delete o[n];t--;)this.removeEventListener(n,oV);delete s[n]}return a}disposeInternal(){this.listeners_&&cV(this.listeners_)}getListeners(t){return this.listeners_&&this.listeners_[t]||void 0}hasListener(t){return!!this.listeners_&&(t?t in this.listeners_:Object.keys(this.listeners_).length>0)}removeEventListener(t,e){if(!this.listeners_)return;const n=this.listeners_[t];if(!n)return;const r=n.indexOf(e);-1!==r&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[r]=oV,++this.pendingRemovals_[t]):(n.splice(r,1),0===n.length&&delete this.listeners_[t]))}}function pV(t,e,n,r,i){if(i){const i=n;n=function(s){return t.removeEventListener(e,n),i.call(r??this,s)}}else r&&r!==t&&(n=n.bind(r));const s={target:t,type:e,listener:n};return t.addEventListener(e,n),s}function fV(t,e,n,r){return pV(t,e,n,r,!0)}function gV(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),cV(t))}class mV extends dV{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Vq)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const n=t.length,r=new Array(n);for(let i=0;i<n;++i)r[i]=pV(this,t[i],e);return r}return pV(this,t,e)}onceInternal(t,e){let n;if(Array.isArray(t)){const r=t.length;n=new Array(r);for(let i=0;i<r;++i)n[i]=fV(this,t[i],e)}else n=fV(this,t,e);return e.ol_key=n,n}unInternal(t,e){const n=e.ol_key;if(n)!function(t){if(Array.isArray(t))for(let e=0,n=t.length;e<n;++e)gV(t[e]);else gV(t)}(n);else if(Array.isArray(t))for(let r=0,i=t.length;r<i;++r)this.removeEventListener(t[r],e);else this.removeEventListener(t,e)}}function yV(){throw new Error("Unimplemented abstract method.")}mV.prototype.on,mV.prototype.once,mV.prototype.un;let vV=0;function bV(t){return t.ol_uid||(t.ol_uid=String(++vV))}class wV extends hV{constructor(t,e,n){super(t),this.key=e,this.oldValue=n}}class _V extends mV{constructor(t){super(),this.on,this.once,this.un,bV(this),this.values_=null,void 0!==t&&this.setProperties(t)}get(t){let e;return this.values_&&this.values_.hasOwnProperty(t)&&(e=this.values_[t]),e}getKeys(){return this.values_&&Object.keys(this.values_)||[]}getProperties(){return this.values_&&Object.assign({},this.values_)||{}}getPropertiesInternal(){return this.values_}hasProperties(){return!!this.values_}notify(t,e){let n;n=`change:${t}`,this.hasListener(n)&&this.dispatchEvent(new wV(n,t,e)),n=qq,this.hasListener(n)&&this.dispatchEvent(new wV(n,t,e))}addChangeListener(t,e){this.addEventListener(`change:${t}`,e)}removeChangeListener(t,e){this.removeEventListener(`change:${t}`,e)}set(t,e,n){const r=this.values_||(this.values_={});if(n)r[t]=e;else{const n=r[t];r[t]=e,n!==e&&this.notify(t,n)}}setProperties(t,e){for(const n in t)this.set(n,t[n],e)}applyProperties(t){t.values_&&Object.assign(this.values_||(this.values_={}),t.values_)}unset(t,e){if(this.values_&&t in this.values_){const n=this.values_[t];delete this.values_[t],uV(this.values_)&&(this.values_=null),e||this.notify(t,n)}}}const xV="length";class CV extends hV{constructor(t,e,n){super(t),this.element=e,this.index=n}}class SV extends _V{constructor(t,e){if(super(),this.on,this.once,this.un,e=e||{},this.unique_=!!e.unique,this.array_=t??[],this.unique_)for(let n=1,r=this.array_.length;n<r;++n)this.assertUnique_(this.array_[n],n);this.updateLength_()}clear(){for(;this.getLength()>0;)this.pop()}extend(t){for(let e=0,n=t.length;e<n;++e)this.push(t[e]);return this}forEach(t){const e=this.array_;for(let n=0,r=e.length;n<r;++n)t(e[n],n,e)}getArray(){return this.array_}item(t){return this.array_[t]}getLength(){return this.get(xV)}insertAt(t,e){if(t<0||t>this.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 CV(Uq,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,r=e.length;n<r;++n)if(e[n]===t)return this.removeAt(n)}removeAt(t){if(t<0||t>=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new CV($q,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 CV($q,n,t)),this.dispatchEvent(new CV(Uq,e,t))}updateLength_(){this.set(xV,this.array_.length)}assertUnique_(t,e){const n=this.array_;for(let r=0,i=n.length;r<i;++r)if(n[r]===t&&r!==e)throw new Error("Duplicate item added to a unique collection")}}class kV extends hV{constructor(t,e,n){super(t),this.map=e,this.frameState=void 0!==n?n:null}}class EV extends kV{constructor(t,e,n,r,i,s){super(t,e,i),this.originalEvent=n,this.pixel_=null,this.coordinate_=null,this.dragging=void 0!==r&&r,this.activePointers=s}get pixel(){return this.pixel_||(this.pixel_=this.map.getEventPixel(this.originalEvent)),this.pixel_}set pixel(t){this.pixel_=t}get coordinate(){return this.coordinate_||(this.coordinate_=this.map.getCoordinateFromPixel(this.pixel)),this.coordinate_}set coordinate(t){this.coordinate_=t}preventDefault(){super.preventDefault(),"preventDefault"in this.originalEvent&&this.originalEvent.preventDefault()}stopPropagation(){super.stopPropagation(),"stopPropagation"in this.originalEvent&&this.originalEvent.stopPropagation()}}const TV={SINGLECLICK:"singleclick",CLICK:Hq,DBLCLICK:"dblclick",POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"},RV="undefined"!=typeof navigator&&void 0!==navigator.userAgent?navigator.userAgent.toLowerCase():"";RV.includes("safari")&&!RV.includes("chrom")&&(RV.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(RV));const MV=RV.includes("webkit")&&!RV.includes("edge"),LV=RV.includes("macintosh"),IV="undefined"!=typeof devicePixelRatio?devicePixelRatio:1,PV="undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&self instanceof WorkerGlobalScope,AV="undefined"!=typeof Image&&Image.prototype.decode,OV="function"==typeof createImageBitmap,FV=function(){let t=!1;try{const e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("_",null,e),window.removeEventListener("_",null,e)}catch{}return t}(),zV="pointerdown";class DV extends dV{constructor(t,e){super(t),this.map_=t,this.clickTimeoutId_,this.emulateClicks_=!1,this.dragging_=!1,this.dragListenerKeys_=[],this.moveTolerance_=void 0===e?1:e,this.down_=null;const n=this.map_.getViewport();this.activePointers_=[],this.trackedTouches_={},this.element_=n,this.pointerdownListenerKey_=pV(n,zV,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=pV(n,"pointermove",this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(Zq,this.boundHandleTouchMove_,!!FV&&{passive:!1})}emulateClick_(t){let e=new EV(TV.CLICK,this.map_,t);this.dispatchEvent(e),void 0!==this.clickTimeoutId_?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,e=new EV(TV.DBLCLICK,this.map_,t),this.dispatchEvent(e)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;const e=new EV(TV.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==TV.POINTERUP||e.type==TV.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!=TV.POINTERDOWN&&e.type!=TV.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new EV(TV.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(gV),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 EV(TV.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(pV(t,TV.POINTERMOVE,this.handlePointerMove_,this),pV(t,TV.POINTERUP,this.handlePointerUp_,this),pV(this.element_,TV.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(pV(this.element_.getRootNode(),TV.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new EV(TV.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 EV(TV.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_&&(gV(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(Zq,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(gV(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(gV),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const NV="postrender",jV="loadstart",BV="loadend",UV="layergroup",$V="size",qV="target",VV="view";function WV(t,e){if(!t)throw new Error(e)}const HV=1/0;class GV{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,cV(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 r=this.keyFunction_(n);return delete this.queuedElements_[r],n}enqueue(t){WV(!(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!=HV&&(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_,r=e.length,i=e[t],s=n[t],o=t;for(;t<r>>1;){const i=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=s<r&&n[s]<n[i]?s:i;e[t]=e[o],n[t]=n[o],t=o}e[t]=i,n[t]=s,this.siftDown_(o,t)}siftDown_(t,e){const n=this.elements_,r=this.priorities_,i=n[e],s=r[e];for(;e>t;){const t=this.getParentIndex_(e);if(!(r[t]>s))break;n[e]=n[t],r[e]=r[t],e=t}n[e]=i,r[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,n=this.priorities_;let r=0;const i=e.length;let s,o,a;for(o=0;o<i;++o)s=e[o],a=t(s),a==HV?delete this.queuedElements_[this.keyFunction_(s)]:(n[r]=a,e[r++]=s);e.length=r,n.length=r,this.heapify_()}}class KV extends GV{constructor(t,e){super(e=>t.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(Vq,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(Vq,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_<t&&n<e&&this.getCount()>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 ZV={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function YV(t,e,n){return Math.min(Math.max(t,e),n)}function XV(t,e,n,r,i,s){const o=i-n,a=s-r;if(0!==o||0!==a){const l=((t-n)*o+(e-r)*a)/(o*o+a*a);l>1?(n=i,r=s):l>0&&(n+=o*l,r+=a*l)}return JV(t,e,n,r)}function JV(t,e,n,r){const i=n-t,s=r-e;return i*i+s*s}function QV(t){return 180*t/Math.PI}function tW(t){return t*Math.PI/180}function eW(t,e){const n=t%e;return n*e<0?n+e:n}function nW(t,e,n){return t+n*(e-t)}function rW(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function iW(t,e){return Math.floor(rW(t,e))}function sW(t,e){return Math.ceil(rW(t,e))}function oW(t,e,n){if(t>=e&&t<n)return t;const r=n-e;return((t-e)%r+r)%r+e}function aW(t,e,n){return function(r,i,s,o,a){if(!r)return;if(!i&&!e)return r;const l=e?0:s[0]*i,c=e?0:s[1]*i,u=a?a[0]:0,h=a?a[1]:0;let d=t[0]+l/2+u,p=t[2]-l/2+u,f=t[1]+c/2+h,g=t[3]-c/2+h;d>p&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=YV(r[0],d,p),y=YV(r[1],f,g);if(o&&n&&i){const t=30*i;m+=-t*Math.log(1+Math.max(0,d-r[0])/t)+t*Math.log(1+Math.max(0,r[0]-p)/t),y+=-t*Math.log(1+Math.max(0,f-r[1])/t)+t*Math.log(1+Math.max(0,r[1]-g)/t)}return[m,y]}}function lW(t){return t}function cW(t){const e=[1/0,1/0,-1/0,-1/0];for(let n=0,r=t.length;n<r;++n)CW(e,t[n]);return e}function uW(t,e,n){return n?(n[0]=t[0]-e,n[1]=t[1]-e,n[2]=t[2]+e,n[3]=t[3]+e,n):[t[0]-e,t[1]-e,t[2]+e,t[3]+e]}function hW(t,e){return e?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):t.slice()}function dW(t,e,n){let r,i;return r=e<t[0]?t[0]-e:t[2]<e?e-t[2]:0,i=n<t[1]?t[1]-n:t[3]<n?n-t[3]:0,r*r+i*i}function pW(t,e){return gW(t,e[0],e[1])}function fW(t,e){return t[0]<=e[0]&&e[2]<=t[2]&&t[1]<=e[1]&&e[3]<=t[3]}function gW(t,e,n){return t[0]<=e&&e<=t[2]&&t[1]<=n&&n<=t[3]}function mW(t,e){const n=t[0],r=t[1],i=t[2],s=t[3],o=e[0],a=e[1];let l=0;return o<n?l|=16:o>i&&(l|=4),a<r?l|=8:a>s&&(l|=2),0===l&&(l=1),l}function yW(t,e,n,r,i){return i?(i[0]=t,i[1]=e,i[2]=n,i[3]=r,i):[t,e,n,r]}function vW(t){return yW(1/0,1/0,-1/0,-1/0,t)}function bW(t,e){const n=t[0],r=t[1];return yW(n,r,n,r,e)}function wW(t,e,n,r,i){return SW(vW(i),t,e,n,r)}function _W(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function xW(t,e){return e[0]<t[0]&&(t[0]=e[0]),e[2]>t[2]&&(t[2]=e[2]),e[1]<t[1]&&(t[1]=e[1]),e[3]>t[3]&&(t[3]=e[3]),t}function CW(t,e){e[0]<t[0]&&(t[0]=e[0]),e[0]>t[2]&&(t[2]=e[0]),e[1]<t[1]&&(t[1]=e[1]),e[1]>t[3]&&(t[3]=e[1])}function SW(t,e,n,r,i){for(;n<r;n+=i)kW(t,e[n],e[n+1]);return t}function kW(t,e,n){t[0]=Math.min(t[0],e),t[1]=Math.min(t[1],n),t[2]=Math.max(t[2],e),t[3]=Math.max(t[3],n)}function EW(t,e){let n;return n=e(RW(t)),n||(n=e(MW(t)),n||(n=e(DW(t)),n||(n=e(zW(t)),n||!1)))}function TW(t){let e=0;return BW(t)||(e=NW(t)*OW(t)),e}function RW(t){return[t[0],t[1]]}function MW(t){return[t[2],t[1]]}function LW(t){return[(t[0]+t[2])/2,(t[1]+t[3])/2]}function IW(t,e){let n;if("bottom-left"===e)n=RW(t);else if("bottom-right"===e)n=MW(t);else if("top-left"===e)n=zW(t);else{if("top-right"!==e)throw new Error("Invalid corner");n=DW(t)}return n}function PW(t,e,n,r,i){const[s,o,a,l,c,u,h,d]=AW(t,e,n,r);return yW(Math.min(s,a,c,h),Math.min(o,l,u,d),Math.max(s,a,c,h),Math.max(o,l,u,d),i)}function AW(t,e,n,r){const i=e*r[0]/2,s=e*r[1]/2,o=Math.cos(n),a=Math.sin(n),l=i*o,c=i*a,u=s*o,h=s*a,d=t[0],p=t[1];return[d-l+h,p-c-u,d-l-h,p-c+u,d+l-h,p+c+u,d+l+h,p+c-u,d-l+h,p-c-u]}function OW(t){return t[3]-t[1]}function FW(t,e,n){const r=n||[1/0,1/0,-1/0,-1/0];return jW(t,e)?(t[0]>e[0]?r[0]=t[0]:r[0]=e[0],t[1]>e[1]?r[1]=t[1]:r[1]=e[1],t[2]<e[2]?r[2]=t[2]:r[2]=e[2],t[3]<e[3]?r[3]=t[3]:r[3]=e[3]):vW(r),r}function zW(t){return[t[0],t[3]]}function DW(t){return[t[2],t[3]]}function NW(t){return t[2]-t[0]}function jW(t,e){return t[0]<=e[2]&&t[2]>=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function BW(t){return t[2]<t[0]||t[3]<t[1]}function UW(t,e,n,r){if(BW(t))return vW(n);let i=[];if(r>1){const e=t[2]-t[0],n=t[3]-t[1];for(let s=0;s<r;++s)i.push(t[0]+e*s/r,t[1],t[2],t[1]+n*s/r,t[2]-e*s/r,t[3],t[0],t[3]-n*s/r)}else i=[t[0],t[1],t[2],t[1],t[2],t[3],t[0],t[3]];e(i,i,2);const s=[],o=[];for(let a=0,l=i.length;a<l;a+=2)s.push(i[a]),o.push(i[a+1]);return function(t,e,n){return yW(Math.min.apply(null,t),Math.min.apply(null,e),Math.max.apply(null,t),Math.max.apply(null,e),n)}(s,o,n)}function $W(t,e){const n=e.getExtent(),r=LW(t);if(e.canWrapX()&&(r[0]<n[0]||r[0]>=n[2])){const e=NW(n),i=Math.floor((r[0]-n[0])/e)*e;t[0]-=i,t[2]-=i}return t}function qW(t,e,n){if(e.canWrapX()){const r=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[r[0],t[1],r[2],t[3]]];$W(t,e);const i=NW(r);if(NW(t)>i&&!n)return[[r[0],t[1],r[2],t[3]]];if(t[0]<r[0])return[[t[0]+i,t[1],r[2],t[3]],[r[0],t[1],t[2],t[3]]];if(t[2]>r[2])return[[t[0],t[1],r[2],t[3]],[r[0],t[1],t[2]-i,t[3]]]}return[t]}function VW(t,e){let n=!0;for(let r=t.length-1;r>=0;--r)if(t[r]!=e[r]){n=!1;break}return n}function WW(t,e){const n=Math.cos(e),r=Math.sin(e),i=t[0]*n-t[1]*r,s=t[1]*n+t[0]*r;return t[0]=i,t[1]=s,t}function HW(t,e){if(e.canWrapX()){const n=NW(e.getExtent()),r=function(t,e,n){const r=e.getExtent();let i=0;return e.canWrapX()&&(t[0]<r[0]||t[0]>r[2])&&(n=n||NW(r),i=Math.floor((t[0]-r[0])/n)),i}(t,e,n);r&&(t[0]-=r*n)}return t}function GW(t){return Math.pow(t,3)}function KW(t){return 1-GW(1-t)}function ZW(t){return 3*t*t-2*t*t*t}function YW(t){return t}const XW=6371008.8;function JW(t,e,n){n=n||XW;const r=tW(t[1]),i=tW(e[1]),s=(i-r)/2,o=tW(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(r)*Math.cos(i);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function QW(t,e,n,r){r=r||XW;const i=tW(t[1]),s=tW(t[0]),o=e/r,a=Math.asin(Math.sin(i)*Math.cos(o)+Math.cos(i)*Math.sin(o)*Math.cos(n));return[QV(s+Math.atan2(Math.sin(n)*Math.sin(o)*Math.cos(i),Math.cos(o)-Math.sin(i)*Math.sin(a))),QV(a)]}function tH(...t){console.warn(...t)}const eH={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class nH{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_||eH[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 rH=6378137,iH=Math.PI*rH,sH=[-iH,-iH,iH,iH],oH=[-180,-85,180,85],aH=rH*Math.log(Math.tan(Math.PI/2));class lH extends nH{constructor(t){super({code:t,units:"m",extent:sH,global:!0,worldExtent:oH,getPointResolution:function(t,e){return t/Math.cosh(e[1]/rH)}})}}const cH=[new lH("EPSG:3857"),new lH("EPSG:102100"),new lH("EPSG:102113"),new lH("EPSG:900913"),new lH("http://www.opengis.net/def/crs/EPSG/0/3857"),new lH("http://www.opengis.net/gml/srs/epsg.xml#3857")],uH=[-180,-90,180,90],hH=6378137*Math.PI/180;class dH extends nH{constructor(t,e){super({code:t,units:"degrees",extent:uH,axisOrientation:e,global:!0,metersPerUnit:hH,worldExtent:uH})}}const pH=[new dH("CRS:84"),new dH("EPSG:4326","neu"),new dH("urn:ogc:def:crs:OGC:1.3:CRS84"),new dH("urn:ogc:def:crs:OGC:2:84"),new dH("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new dH("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new dH("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let fH={},gH={};function mH(t,e,n){const r=t.getCode(),i=e.getCode();r in gH||(gH[r]={}),gH[r][i]=n}function yH(t,e){return t in gH&&e in gH[t]?gH[t][e]:null}const vH=.9996,bH=.00669438,wH=bH*bH,_H=wH*bH,xH=bH/(1-bH),CH=Math.sqrt(1-bH),SH=(1-CH)/(1+CH),kH=SH*SH,EH=kH*SH,TH=EH*SH,RH=TH*SH,MH=.9983242984503243,LH=15*wH/256+45*_H/1024,IH=35*_H/3072,PH=1.5*SH-27/32*EH+269/512*RH,AH=21/16*kH-55/32*TH,OH=151/96*EH-417/128*RH,FH=1097/512*TH,zH=6378137;function DH(t,e,n){const r=t-5e5,i=(n.north?e:e-1e7)/vH/(zH*MH),s=i+PH*Math.sin(2*i)+AH*Math.sin(4*i)+OH*Math.sin(6*i)+FH*Math.sin(8*i),o=Math.sin(s),a=o*o,l=Math.cos(s),c=o/l,u=c*c,h=u*u,d=1-bH*a,p=Math.sqrt(1-bH*a),f=xH*l**2,g=f*f,m=r/(zH/p*vH),y=m*m,v=y*m,b=v*m,w=b*m,_=s-c/((1-bH)/d)*(y/2-b/24*(5+3*u+10*f-4*g-9*xH))+w*m/720*(61+90*u+298*f+45*h-252*xH-3*g);let x=(m-v/6*(1+2*u+f)+w/120*(5-2*f+28*u-3*g+8*xH+24*h))/l;return x=oW(x+tW(jH(n.number)),-Math.PI,Math.PI),[QV(x),QV(_)]}function NH(t,e,n){t=oW(t,-180,180),e<-80?e=-80:e>84&&(e=84);const r=tW(e),i=Math.sin(r),s=Math.cos(r),o=i/s,a=o*o,l=a*a,c=tW(t),u=tW(jH(n.number)),h=zH/Math.sqrt(1-bH*i**2),d=xH*s**2,p=s*oW(c-u,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,v=y*p,b=zH*(MH*r-.002514607064228144*Math.sin(2*r)+LH*Math.sin(4*r)-IH*Math.sin(6*r)),w=vH*h*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*xH))+5e5;let _=vH*(b+h*o*(f/2+m/24*(5-a+9*d+4*d**2)+v/720*(61-58*a+l+600*d-330*xH)));return n.north||(_+=1e7),[w,_]}function jH(t){return 6*(t-1)-180+3}const BH=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function UH(t){let e=0;for(const i of BH){const n=t.match(i);if(n){e=parseInt(n[1]);break}}if(!e)return null;let n=0,r=!1;return e>32700&&e<32761?n=e-32700:e>32600&&e<32661&&(r=!0,n=e-32600),n?{number:n,north:r}:null}function $H(t,e){return function(n,r,i,s){const o=n.length;i=i>1?i:2,s=s??i,r||(r=i>2?n.slice():new Array(o));for(let a=0;a<o;a+=s){const i=n[a],s=n[a+1],o=t(i,s,e);r[a]=o[0],r[a+1]=o[1]}return r}}const qH=[function(t){const e=UH(t.getCode());return e?{forward:$H(NH,e),inverse:$H(DH,e)}:null}],VH=[function(t){return UH(t)?new nH({code:t,units:"m"}):null}];let WH=!0;function HH(){WH=!1}function GH(t,e){if(void 0!==e)for(let n=0,r=t.length;n<r;++n)e[n]=t[n];else e=t.slice();return e}function KH(t,e){if(void 0!==e&&t!==e){for(let n=0,r=t.length;n<r;++n)e[n]=t[n];t=e}return t}function ZH(t){!function(t,e){fH[t]=e}(t.getCode(),t),mH(t,t,GH)}function YH(t){if("string"!=typeof t)return t;const e=fH[n=t]||fH[n.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null;var n;if(e)return e;for(const r of VH){const e=r(t);if(e)return e}return null}function XH(t,e,n,r){let i;const s=(t=YH(t)).getPointResolutionFunc();if(s){if(i=s(e,n),r&&r!==t.getUnits()){const e=t.getMetersPerUnit();e&&(i=i*e/eH[r])}}else{const s=t.getUnits();if("degrees"==s&&!r||"degrees"==r)i=e;else{const o=rG(t,YH("EPSG:4326"));if(o||"degrees"===s){let t=[n[0]-e/2,n[1],n[0]+e/2,n[1],n[0],n[1]-e/2,n[0],n[1]+e/2];t=o(t,t,2),i=(JW(t.slice(0,2),t.slice(2,4))+JW(t.slice(4,6),t.slice(6,8)))/2}else i=e*t.getMetersPerUnit();const a=r?eH[r]:t.getMetersPerUnit();void 0!==a&&(i/=a)}}return i}function JH(t){!function(t){t.forEach(ZH)}(t),t.forEach(function(e){t.forEach(function(t){e!==t&&mH(e,t,GH)})})}function QH(t,e){return t?"string"==typeof t?YH(t):t:YH(e)}function tG(t,e){return HH(),oG(t,"EPSG:4326",void 0!==e?e:"EPSG:3857")}function eG(t){const e=oG(t,"EPSG:3857","EPSG:4326"),n=e[0];return(n<-180||n>180)&&(e[0]=eW(n+180,360)-180),e}function nG(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||rG(t,e)===GH)&&n}function rG(t,e){const n=t.getCode(),r=e.getCode();let i=yH(n,r);if(i)return i;let s=null,o=null;for(const l of qH)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)i=iG(s.inverse,o.forward);else{const t=yH(n,a);t&&(i=iG(t,o.forward))}else{const t=yH(a,r);t&&(i=iG(s.inverse,t))}return i&&(ZH(t),ZH(e),mH(t,e,i)),i}function iG(t,e){return function(n,r,i,s){return r=t(n,r,i,s),e(r,r,i,s)}}function sG(t,e){return rG(YH(t),YH(e))}function oG(t,e,n){const r=sG(e,n);if(!r){const t=YH(e).getCode(),r=YH(n).getCode();throw new Error(`No transform available between ${t} and ${r}`)}return r(t,void 0,t.length)}function aG(t,e,n,r){return UW(t,sG(e,n),void 0,r)}function lG(t){return t}function cG(t){return WH&&!VW(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(WH=!1,tH("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function uG(t){return t}var hG,dG,pG;JH(cH),JH(pH),hG=cH,dG=function(t,e,n,r){const i=t.length;n=n>1?n:2,r=r??n,void 0===e&&(e=n>2?t.slice():new Array(i));for(let s=0;s<i;s+=r){e[s]=iH*t[s]/180;let n=rH*Math.log(Math.tan(Math.PI*(+t[s+1]+90)/360));n>aH?n=aH:n<-aH&&(n=-aH),e[s+1]=n}return e},pG=function(t,e,n,r){const i=t.length;n=n>1?n:2,r=r??n,void 0===e&&(e=n>2?t.slice():new Array(i));for(let s=0;s<i;s+=r)e[s]=180*t[s]/iH,e[s+1]=360*Math.atan(Math.exp(t[s+1]/rH))/Math.PI-90;return e},pH.forEach(function(t){hG.forEach(function(e){mH(t,e,dG),mH(e,t,pG)})});const fG=new Array(6);function gG(t){return yG(t,1,0,0,1,0,0)}function mG(t,e){const n=t[0],r=t[1],i=t[2],s=t[3],o=t[4],a=t[5],l=e[0],c=e[1],u=e[2],h=e[3],d=e[4],p=e[5];return t[0]=n*l+i*c,t[1]=r*l+s*c,t[2]=n*u+i*h,t[3]=r*u+s*h,t[4]=n*d+i*p+o,t[5]=r*d+s*p+a,t}function yG(t,e,n,r,i,s,o){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=s,t[5]=o,t}function vG(t,e){const n=e[0],r=e[1];return e[0]=t[0]*n+t[2]*r+t[4],e[1]=t[1]*n+t[3]*r+t[5],e}function bG(t,e,n){return mG(t,yG(fG,e,0,0,n,0,0))}function wG(t,e,n,r,i,s,o,a){const l=Math.sin(s),c=Math.cos(s);return t[0]=r*c,t[1]=i*l,t[2]=-r*l,t[3]=i*c,t[4]=o*r*c-a*r*l+e,t[5]=o*i*l+a*i*c+n,t}function _G(t,e){const n=(r=e)[0]*r[3]-r[1]*r[2];var r;WV(0!==n,"Transformation matrix cannot be inverted");const i=e[0],s=e[1],o=e[2],a=e[3],l=e[4],c=e[5];return t[0]=a/n,t[1]=-s/n,t[2]=-o/n,t[3]=i/n,t[4]=(o*c-a*l)/n,t[5]=-(i*c-s*l)/n,t}const xG=[1e5,1e5,1e5,1e5,2,2];function CG(t){return t.substring(7,t.length-1).split(",").map(parseFloat)}function SG(t,e,n,r,i,s,o){s=s||[],o=o||2;let a=0;for(let l=e;l<n;l+=r){const e=t[l],n=t[l+1];s[a++]=i[0]*e+i[2]*n+i[4],s[a++]=i[1]*e+i[3]*n+i[5];for(let r=2;r<o;r++)s[a++]=t[l+r]}return s&&s.length!=a&&(s.length=a),s}function kG(t,e,n,r,i,s,o){o=o||[];const a=Math.cos(i),l=Math.sin(i),c=s[0],u=s[1];let h=0;for(let d=e;d<n;d+=r){const e=t[d]-c,n=t[d+1]-u;o[h++]=c+e*a-n*l,o[h++]=u+e*l+n*a;for(let i=d+2;i<d+r;++i)o[h++]=t[i]}return o&&o.length!=h&&(o.length=h),o}const EG=[1,0,0,1,0,0],TG=[NaN,NaN];class RG extends _V{constructor(){super(),this.extent_=[1/0,1/0,-1/0,-1/0],this.extentRevision_=-1,this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=0,this.simplifyTransformedInternal=aV((t,e,n)=>{if(!n)return this.getSimplifiedGeometry(e);const r=this.clone();return r.applyTransform(n),r.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return yV()}closestPointXY(t,e,n,r){return yV()}containsXY(t,e){return 0===this.closestPointXY(t,e,TG,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 yV()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&vW(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){yV()}scale(t,e,n){yV()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return yV()}getType(){return yV()}applyTransform(t){yV()}intersectsExtent(t){return yV()}translate(t,e){yV()}transform(t,e){const n=YH(t),r="tile-pixels"==n.getUnits()?function(t,r,i){const s=n.getExtent(),o=n.getWorldExtent(),a=OW(o)/OW(s);wG(EG,o[0],o[3],a,-a,0,0,0);const l=SG(t,0,t.length,i,EG,r),c=sG(n,e);return c?c(l,l,i):l}:sG(n,e);return this.applyTransform(r),this}}class MG extends RG{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return wW(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return yV()}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().length<this.flatCoordinates.length?e:(this.simplifiedGeometryMaxMinSquaredTolerance=t,this)}getSimplifiedGeometryInternal(t){return this}getStride(){return this.stride}setFlatCoordinates(t,e){this.stride=IG(t),this.layout=t,this.flatCoordinates=e}setCoordinates(t,e){yV()}setLayout(t,e,n){let r;if(t)r=IG(t);else{for(let t=0;t<n;++t){if(0===e.length)return this.layout="XY",void(this.stride=2);e=e[0]}r=e.length,t=LG(r)}this.layout=t,this.stride=r}applyTransform(t){this.flatCoordinates&&(t(this.flatCoordinates,this.flatCoordinates,this.layout.startsWith("XYZ")?3:2,this.stride),this.changed())}rotate(t,e){const n=this.getFlatCoordinates();if(n){const r=this.getStride();kG(n,0,n.length,r,t,e,n),this.changed()}}scale(t,e,n){void 0===e&&(e=t),n||(n=LW(this.getExtent()));const r=this.getFlatCoordinates();if(r){const i=this.getStride();!function(t,e,n,r,i,s,o,a){a=a||[];const l=o[0],c=o[1];let u=0;for(let h=0;h<n;h+=r){const e=t[h]-l,n=t[h+1]-c;a[u++]=l+i*e,a[u++]=c+s*n;for(let i=h+2;i<h+r;++i)a[u++]=t[i]}a&&a.length!=u&&(a.length=u)}(r,0,r.length,i,t,e,n,r),this.changed()}}translate(t,e){const n=this.getFlatCoordinates();if(n){const r=this.getStride();!function(t,e,n,r,i,s,o){o=o||[];let a=0;for(let l=0;l<n;l+=r){o[a++]=t[l]+i,o[a++]=t[l+1]+s;for(let e=l+2;e<l+r;++e)o[a++]=t[e]}o&&o.length!=a&&(o.length=a)}(n,0,n.length,r,t,e,n),this.changed()}}}function LG(t){let e;return 2==t?e="XY":3==t?e="XYZ":4==t&&(e="XYZM"),e}function IG(t){let e;return"XY"==t?e=2:"XYZ"==t||"XYM"==t?e=3:"XYZM"==t&&(e=4),e}function PG(t,e,n,r){let i=0;const s=t[n-r],o=t[n-r+1];let a=0,l=0;for(;e<n;e+=r){const n=t[e]-s,r=t[e+1]-o;i+=l*n-a*r,a=n,l=r}return i/2}function AG(t,e,n,r){let i=0;for(let s=0,o=n.length;s<o;++s){const o=n[s];i+=PG(t,e,o,r),e=o}return i}function OG(t,e,n,r,i,s,o){const a=t[e],l=t[e+1],c=t[n]-a,u=t[n+1]-l;let h;if(0===c&&0===u)h=e;else{const d=((i-a)*c+(s-l)*u)/(c*c+u*u);if(d>1)h=n;else{if(d>0){for(let i=0;i<r;++i)o[i]=nW(t[e+i],t[n+i],d);return void(o.length=r)}h=e}}for(let d=0;d<r;++d)o[d]=t[h+d];o.length=r}function FG(t,e,n,r,i){let s=t[e],o=t[e+1];for(e+=r;e<n;e+=r){const n=t[e],r=t[e+1],a=JV(s,o,n,r);a>i&&(i=a),s=n,o=r}return i}function zG(t,e,n,r,i){for(let s=0,o=n.length;s<o;++s){const o=n[s];i=FG(t,e,o,r,i),e=o}return i}function DG(t,e,n,r,i,s,o,a,l,c,u){if(e==n)return c;let h,d;if(0===i){if(d=JV(o,a,t[e],t[e+1]),d<c){for(h=0;h<r;++h)l[h]=t[e+h];return l.length=r,d}return c}u=u||[NaN,NaN];let p=e+r;for(;p<n;)if(OG(t,p-r,p,r,o,a,u),d=JV(o,a,u[0],u[1]),d<c){for(c=d,h=0;h<r;++h)l[h]=u[h];l.length=r,p+=r}else p+=r*Math.max((Math.sqrt(d)-Math.sqrt(c))/i|0,1);if(s&&(OG(t,n-r,e,r,o,a,u),d=JV(o,a,u[0],u[1]),d<c)){for(c=d,h=0;h<r;++h)l[h]=u[h];l.length=r}return c}function NG(t,e,n,r,i,s,o,a,l,c,u){u=u||[NaN,NaN];for(let h=0,d=n.length;h<d;++h){const d=n[h];c=DG(t,e,d,r,i,s,o,a,l,c,u),e=d}return c}function jG(t,e,n,r){for(let i=0,s=n.length;i<s;++i){const s=n[i];for(let n=0;n<r;++n)t[e++]=s[n]}return e}function BG(t,e,n,r,i){i=i||[];let s=0;for(let o=0,a=n.length;o<a;++o){const a=jG(t,e,n[o],r);i[s++]=a,e=a}return i.length=s,i}function UG(t,e,n,r,i){i=i||[];let s=0;for(let o=0,a=n.length;o<a;++o){const a=BG(t,e,n[o],r,i[s]);0===a.length&&(a[0]=e),i[s++]=a,e=a[a.length-1]}return i.length=s,i}function $G(t,e,n,r,i){i=void 0!==i?i:[];let s=0;for(let o=e;o<n;o+=r)i[s++]=t.slice(o,o+r);return i.length=s,i}function qG(t,e,n,r,i){i=void 0!==i?i:[];let s=0;for(let o=0,a=n.length;o<a;++o){const a=n[o];i[s++]=$G(t,e,a,r,i[s]),e=a}return i.length=s,i}function VG(t,e,n,r,i){i=void 0!==i?i:[];let s=0;for(let o=0,a=n.length;o<a;++o){const a=n[o];i[s++]=1===a.length&&a[0]===e?[]:qG(t,e,a,r,i[s]),e=a[a.length-1]}return i.length=s,i}function WG(t,e,n,r,i,s,o){const a=(n-e)/r;if(a<3){for(;e<n;e+=r)s[o++]=t[e],s[o++]=t[e+1];return o}const l=new Array(a);l[0]=1,l[a-1]=1;const c=[e,n-r];let u=0;for(;c.length>0;){const n=c.pop(),s=c.pop();let o=0;const a=t[s],h=t[s+1],d=t[n],p=t[n+1];for(let e=s+r;e<n;e+=r){const n=XV(t[e],t[e+1],a,h,d,p);n>o&&(u=e,o=n)}o>i&&(l[(u-e)/r]=1,s+r<u&&c.push(s,u),u+r<n&&c.push(u,n))}for(let h=0;h<a;++h)l[h]&&(s[o++]=t[e+h*r],s[o++]=t[e+h*r+1]);return o}function HG(t,e,n,r,i,s,o,a){for(let l=0,c=n.length;l<c;++l){const c=n[l];o=WG(t,e,c,r,i,s,o),a.push(o),e=c}return o}function GG(t,e){return e*Math.round(t/e)}function KG(t,e,n,r,i,s,o){if(e==n)return o;let a,l,c=GG(t[e],i),u=GG(t[e+1],i);e+=r,s[o++]=c,s[o++]=u;do{if(a=GG(t[e],i),l=GG(t[e+1],i),(e+=r)==n)return s[o++]=a,s[o++]=l,o}while(a==c&&l==u);for(;e<n;){const n=GG(t[e],i),h=GG(t[e+1],i);if(e+=r,n==a&&h==l)continue;const d=a-c,p=l-u,f=n-c,g=h-u;d*g==p*f&&(d<0&&f<d||d==f||d>0&&f>d)&&(p<0&&g<p||p==g||p>0&&g>p)?(a=n,l=h):(s[o++]=a,s[o++]=l,c=a,u=l,a=n,l=h)}return s[o++]=a,s[o++]=l,o}function ZG(t,e,n,r,i,s,o,a){for(let l=0,c=n.length;l<c;++l){const c=n[l];o=KG(t,e,c,r,i,s,o),a.push(o),e=c}return o}class YG extends MG{constructor(t,e){super(),this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}clone(){return new YG(this.flatCoordinates.slice(),this.layout)}closestPointXY(t,e,n,r){return r<dW(this.getExtent(),t,e)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(FG(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),DG(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,t,e,n,r))}getArea(){return PG(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinates(){return $G(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getSimplifiedGeometryInternal(t){const e=[];return e.length=WG(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new YG(e,"XY")}getType(){return"LinearRing"}intersectsExtent(t){return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=jG(this.flatCoordinates,0,t,this.stride),this.changed()}}class XG extends MG{constructor(t,e){super(),this.setCoordinates(t,e)}clone(){const t=new XG(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,r){const i=this.flatCoordinates,s=JV(t,e,i[0],i[1]);if(s<r){const t=this.stride;for(let e=0;e<t;++e)n[e]=i[e];return n.length=t,s}return r}getCoordinates(){return this.flatCoordinates.slice()}computeExtent(t){return bW(this.flatCoordinates,t)}getType(){return"Point"}intersectsExtent(t){return gW(t,this.flatCoordinates[0],this.flatCoordinates[1])}setCoordinates(t,e){this.setLayout(e,t,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=function(t,e,n){for(let r=0,i=n.length;r<i;++r)t[e++]=n[r];return e}(this.flatCoordinates,0,t,this.stride),this.changed()}}function JG(t,e,n,r,i){return!EW(i,function(i){return!QG(t,e,n,r,i[0],i[1])})}function QG(t,e,n,r,i,s){let o=0,a=t[n-r],l=t[n-r+1];for(;e<n;e+=r){const n=t[e],r=t[e+1];l<=s?r>s&&(n-a)*(s-l)-(i-a)*(r-l)>0&&o++:r<=s&&(n-a)*(s-l)-(i-a)*(r-l)<0&&o--,a=n,l=r}return 0!==o}function tK(t,e,n,r,i,s){if(0===n.length)return!1;if(!QG(t,e,n[0],r,i,s))return!1;for(let o=1,a=n.length;o<a;++o)if(QG(t,n[o-1],n[o],r,i,s))return!1;return!0}function eK(t,e,n,r,i,s,o){let a,l,c,u,h,d,p;const f=i[s+1],g=[];for(let v=0,b=n.length;v<b;++v){const i=n[v];for(u=t[i-r],d=t[i-r+1],a=e;a<i;a+=r)h=t[a],p=t[a+1],(f<=d&&p<=f||d<=f&&f<=p)&&(c=(f-d)/(p-d)*(h-u)+u,g.push(c)),u=h,d=p}let m=NaN,y=-1/0;for(g.sort(Jq),u=g[0],a=1,l=g.length;a<l;++a){h=g[a];const i=Math.abs(h-u);i>y&&(c=(u+h)/2,tK(t,e,n,r,c,f)&&(m=c,y=i)),u=h}return isNaN(m)&&(m=i[s]),o?(o.push(m,f,y),o):[m,f,y]}function nK(t,e,n,r,i){let s=[];for(let o=0,a=n.length;o<a;++o){const a=n[o];s=eK(t,e,a,r,i,2*o,s),e=a[a.length-1]}return s}function rK(t,e,n,r,i){let s;for(e+=r;e<n;e+=r)if(s=i(t.slice(e-r,e),t.slice(e,e+r)),s)return s;return!1}function iK(t,e,n,r,i,s){return s=s??SW([1/0,1/0,-1/0,-1/0],t,e,n,r),!!jW(i,s)&&(s[0]>=i[0]&&s[2]<=i[2]||s[1]>=i[1]&&s[3]<=i[3]||rK(t,e,n,r,function(t,e){return function(t,e,n){let r=!1;const i=mW(t,e),s=mW(t,n);if(1===i||1===s)r=!0;else{const o=t[0],a=t[1],l=t[2],c=t[3],u=e[0],h=e[1],d=n[0],p=n[1],f=(p-h)/(d-u);let g,m;2&s&&!(2&i)&&(g=d-(p-c)/f,r=g>=o&&g<=l),r||!(4&s)||4&i||(m=p-(d-l)*f,r=m>=a&&m<=c),r||!(8&s)||8&i||(g=d-(p-a)/f,r=g>=o&&g<=l),r||!(16&s)||16&i||(m=p-(d-o)*f,r=m>=a&&m<=c)}return r}(i,t,e)}))}function sK(t,e,n,r,i){return!!(iK(t,e,n,r,i)||QG(t,e,n,r,i[0],i[1])||QG(t,e,n,r,i[0],i[3])||QG(t,e,n,r,i[2],i[1])||QG(t,e,n,r,i[2],i[3]))}function oK(t,e,n,r,i){if(!sK(t,e,n[0],r,i))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s<o;++s)if(JG(t,n[s-1],n[s],r,i)&&!iK(t,n[s-1],n[s],r,i))return!1;return!0}function aK(t,e,n,r){for(;e<n-r;){for(let i=0;i<r;++i){const s=t[e+i];t[e+i]=t[n-r+i],t[n-r+i]=s}e+=r,n-=r}}function lK(t,e,n,r){let i=0,s=t[n-r],o=t[n-r+1];for(;e<n;e+=r){const n=t[e],r=t[e+1];i+=(n-s)*(r+o),s=n,o=r}return 0===i?void 0:i>0}function cK(t,e,n,r,i){i=void 0!==i&&i;for(let s=0,o=n.length;s<o;++s){const o=n[s],a=lK(t,e,o,r);if(0===s){if(i&&a||!i&&!a)return!1}else if(i&&!a||!i&&a)return!1;e=o}return!0}function uK(t,e,n,r,i){for(let s=0,o=n.length;s<o;++s){const o=n[s];if(!cK(t,e,o,r,i))return!1;o.length&&(e=o[o.length-1])}return!0}function hK(t,e,n,r,i){i=void 0!==i&&i;for(let s=0,o=n.length;s<o;++s){const o=n[s],a=lK(t,e,o,r);(0===s?i&&a||!i&&!a:i&&!a||!i&&a)&&aK(t,e,o,r),e=o}return e}function dK(t,e,n,r,i){for(let s=0,o=n.length;s<o;++s)e=hK(t,e,n[s],r,i);return e}function pK(t,e){const n=[];let r,i=0,s=0;for(let o=0,a=e.length;o<a;++o){const a=e[o],l=lK(t,i,a,2);if(void 0===r&&(r=l),l===r)n.push(e.slice(s,o+1));else{if(0===n.length)continue;n[n.length-1].push(e[s])}s=o+1,i=a}return n}class fK extends MG{constructor(t,e,n){super(),this.ends_=[],this.flatInteriorPointRevision_=-1,this.flatInteriorPoint_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,void 0!==e&&n?(this.setFlatCoordinates(e,t),this.ends_=n):this.setCoordinates(t,e)}appendLinearRing(t){this.flatCoordinates?nV(this.flatCoordinates,t.getFlatCoordinates()):this.flatCoordinates=t.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new fK(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,n,r){return r<dW(this.getExtent(),t,e)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(zG(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),NG(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,t,e,n,r))}containsXY(t,e){return tK(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,e)}getArea(){return AG(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}getCoordinates(t){let e;return void 0!==t?(e=this.getOrientedFlatCoordinates().slice(),hK(e,0,this.ends_,this.stride,t)):e=this.flatCoordinates,qG(e,0,this.ends_,this.stride)}getEnds(){return this.ends_}getFlatInteriorPoint(){if(this.flatInteriorPointRevision_!=this.getRevision()){const t=LW(this.getExtent());this.flatInteriorPoint_=eK(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,0),this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_}getInteriorPoint(){return new XG(this.getFlatInteriorPoint(),"XYM")}getLinearRingCount(){return this.ends_.length}getLinearRing(t){return t<0||this.ends_.length<=t?null:new YG(this.flatCoordinates.slice(0===t?0:this.ends_[t-1],this.ends_[t]),this.layout)}getLinearRings(){const t=this.layout,e=this.flatCoordinates,n=this.ends_,r=[];let i=0;for(let s=0,o=n.length;s<o;++s){const o=n[s],a=new YG(e.slice(i,o),t);r.push(a),i=o}return r}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;cK(t,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=hK(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],n=[];return e.length=ZG(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(t),e,0,n),new fK(e,"XY",n)}getType(){return"Polygon"}intersectsExtent(t){return oK(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const n=BG(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=0===n.length?0:n[n.length-1],this.changed()}}function gK(t){if(BW(t))throw new Error("Cannot create polygon from empty extent");const e=t[0],n=t[1],r=t[2],i=t[3],s=[e,n,e,i,r,i,r,n,e,n];return new fK(s,"XY",[s.length])}function mK(t,e,n,r){const i=NW(e)/n[0],s=OW(e)/n[1];return r?Math.min(t,Math.max(i,s)):Math.min(t,Math.min(i,s))}function yK(t,e,n){let r=Math.min(t,e);return r*=Math.log(1+50*Math.max(0,t/e-1))/50+1,n&&(r=Math.max(r,n),r/=Math.log(1+50*Math.max(0,n/t-1))/50+1),YV(r,n/2,2*e)}function vK(t,e,n,r,i){return n=void 0===n||n,function(s,o,a,l){if(void 0!==s){const o=r?mK(t,r,a,i):t;return n&&l?yK(s,o,e):YV(s,e,o)}}}function bK(t){if(void 0!==t)return 0}function wK(t){if(void 0!==t)return t}class _K extends _V{constructor(t){super(),this.on,this.once,this.un,t=Object.assign({},t),this.hints_=[0,0],this.animations_=[],this.updateAnimationKey_,this.projection_=QH(t.projection,"EPSG:3857"),this.viewportSize_=[100,100],this.targetCenter_=null,this.targetResolution_,this.targetRotation_,this.nextCenter_=null,this.nextResolution_,this.nextRotation_,this.cancelAnchor_=void 0,t.projection&&HH(),t.center&&(t.center=cG(t.center,this.projection_)),t.extent&&(t.extent=uG(t.extent,this.projection_)),this.applyOptions_(t)}applyOptions_(t){const e=Object.assign({},t);for(const o in ZV)delete e[o];this.setProperties(e,!0);const n=function(t){let e,n,r,i=void 0!==t.minZoom?t.minZoom:0,s=void 0!==t.maxZoom?t.maxZoom:28;const o=void 0!==t.zoomFactor?t.zoomFactor:2,a=void 0!==t.multiWorld&&t.multiWorld,l=void 0===t.smoothResolutionConstraint||t.smoothResolutionConstraint,c=void 0!==t.showFullExtent&&t.showFullExtent,u=QH(t.projection,"EPSG:3857"),h=u.getExtent();let d=t.constrainOnlyCenter,p=t.extent;if(a||p||!u.isGlobal()||(d=!1,p=h),void 0!==t.resolutions){const o=t.resolutions;n=o[i],r=void 0!==o[s]?o[s]:o[o.length-1],e=t.constrainResolution?function(t,e,n,r){return e=void 0===e||e,function(i,s,o,a){if(void 0!==i){const l=t[0],c=t[t.length-1],u=n?mK(l,n,o,r):l;if(a)return e?yK(i,u,c):YV(i,c,u);const h=Math.min(u,i),d=Math.floor(tV(t,h,s));return t[d]>u&&d<t.length-1?t[d+1]:t[d]}}}(o,l,!d&&p,c):vK(n,r,l,!d&&p,c)}else{const a=(h?Math.max(NW(h),OW(h)):360*eH.degrees/u.getMetersPerUnit())/256/Math.pow(2,0),f=a/Math.pow(2,28);n=t.maxResolution,void 0!==n?i=0:n=a/Math.pow(o,i),r=t.minResolution,void 0===r&&(r=void 0!==t.maxZoom?void 0!==t.maxResolution?n/Math.pow(o,s):a/Math.pow(o,s):f),s=i+Math.floor(Math.log(n/r)/Math.log(o)),r=n/Math.pow(o,s-i),e=t.constrainResolution?function(t,e,n,r,i,s){return r=void 0===r||r,n=void 0!==n?n:0,function(o,a,l,c){if(void 0!==o){const u=i?mK(e,i,l,s):e;if(c)return r?yK(o,u,n):YV(o,n,u);const h=1e-9,d=Math.ceil(Math.log(e/u)/Math.log(t)-h),p=-a*(.5-h)+.5,f=Math.min(u,o),g=Math.floor(Math.log(e/f)/Math.log(t)+p),m=Math.max(d,g);return YV(e/Math.pow(t,m),n,u)}}}(o,n,r,l,!d&&p,c):vK(n,r,l,!d&&p,c)}return{constraint:e,maxResolution:n,minResolution:r,minZoom:i,zoomFactor:o}}(t);this.maxResolution_=n.maxResolution,this.minResolution_=n.minResolution,this.zoomFactor_=n.zoomFactor,this.resolutions_=t.resolutions,this.padding_=t.padding,this.minZoom_=n.minZoom;const r=function(t){if(void 0!==t.extent){const e=void 0===t.smoothExtentConstraint||t.smoothExtentConstraint;return aW(t.extent,t.constrainOnlyCenter,e)}const e=QH(t.projection,"EPSG:3857");if(!0!==t.multiWorld&&e.isGlobal()){const t=e.getExtent().slice();return t[0]=-1/0,t[2]=1/0,aW(t,!1,!1)}return lW}(t),i=n.constraint,s=function(t){if(void 0===t.enableRotation||t.enableRotation){const e=t.constrainRotation;return void 0===e||!0===e?function(){const t=tW(5);return function(e,n){return n||void 0===e?e:Math.abs(e)<=t?0:e}}():!1===e?wK:"number"==typeof e?function(t){const e=2*Math.PI/t;return function(t,n){return n?t:void 0!==t?t=Math.floor(t/e+.5)*e:void 0}}(e):wK}return bK}(t);this.constraints_={center:r,resolution:i,rotation:s},this.setRotation(void 0!==t.rotation?t.rotation:0),this.setCenterInternal(void 0!==t.center?t.center:null),void 0!==t.resolution?this.setResolution(t.resolution):void 0!==t.zoom&&this.setZoom(t.zoom)}get padding(){return this.padding_}set padding(t){let e=this.padding_;this.padding_=t;const n=this.getCenterInternal();if(n){const r=t||[0,0,0,0];e=e||[0,0,0,0];const i=this.getResolution(),s=i/2*(r[3]-e[3]+e[1]-r[1]),o=i/2*(r[0]-e[0]+e[2]-r[2]);this.setCenterInternal([n[0]+s,n[1]-o])}}getUpdatedOptions_(t){const e=this.getProperties();return void 0!==e.resolution?e.resolution=this.getResolution():e.zoom=this.getZoom(),e.center=this.getCenterInternal(),e.rotation=this.getRotation(),Object.assign({},e,t)}animate(t){this.isDef()&&!this.getAnimating()&&this.resolveConstraints(0);const e=new Array(arguments.length);for(let n=0;n<e.length;++n){let t=arguments[n];t.center&&(t=Object.assign({},t),t.center=cG(t.center,this.getProjection())),t.anchor&&(t=Object.assign({},t),t.anchor=cG(t.anchor,this.getProjection())),e[n]=t}this.animateInternal.apply(this,e)}animateInternal(t){let e,n=arguments.length;n>1&&"function"==typeof arguments[n-1]&&(e=arguments[n-1],--n);let r=0;for(;r<n&&!this.isDef();++r){const t=arguments[r];t.center&&this.setCenterInternal(t.center),void 0!==t.zoom?this.setZoom(t.zoom):t.resolution&&this.setResolution(t.resolution),void 0!==t.rotation&&this.setRotation(t.rotation)}if(r===n)return void(e&&xK(e,!0));let i=Date.now(),s=this.targetCenter_.slice(),o=this.targetResolution_,a=this.targetRotation_;const l=[];for(;r<n;++r){const t=arguments[r],n={start:i,complete:!1,anchor:t.anchor,duration:void 0!==t.duration?t.duration:1e3,easing:t.easing||ZW,callback:e};if(t.center&&(n.sourceCenter=s,n.targetCenter=t.center.slice(),s=n.targetCenter),void 0!==t.zoom?(n.sourceResolution=o,n.targetResolution=this.getResolutionForZoom(t.zoom),o=n.targetResolution):t.resolution&&(n.sourceResolution=o,n.targetResolution=t.resolution,o=n.targetResolution),void 0!==t.rotation){n.sourceRotation=a;const e=eW(t.rotation-a+Math.PI,2*Math.PI)-Math.PI;n.targetRotation=a+e,a=n.targetRotation}CK(n)?n.complete=!0:i+=n.duration,l.push(n)}this.animations_.push(l),this.setHint(0,1),this.updateAnimations_()}getAnimating(){return this.hints_[0]>0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let t;this.setHint(0,-this.hints_[0]);for(let e=0,n=this.animations_.length;e<n;++e){const n=this.animations_[e];if(n[0].callback&&xK(n[0].callback,!1),!t)for(let e=0,r=n.length;e<r;++e){const r=n[e];if(!r.complete){t=r.anchor;break}}}this.animations_.length=0,this.cancelAnchor_=t,this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN}updateAnimations_(){if(void 0!==this.updateAnimationKey_&&(cancelAnimationFrame(this.updateAnimationKey_),this.updateAnimationKey_=void 0),!this.getAnimating())return;const t=Date.now();let e=!1;for(let n=this.animations_.length-1;n>=0;--n){const r=this.animations_[n];let i=!0;for(let n=0,s=r.length;n<s;++n){const s=r[n];if(s.complete)continue;const o=t-s.start;let a=s.duration>0?o/s.duration:1;a>=1?(s.complete=!0,a=1):i=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],n=s.targetCenter[0],r=s.targetCenter[1];this.nextCenter_=s.targetCenter;const i=t+l*(n-t),o=e+l*(r-e);this.targetCenter_=[i,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?eW(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(i){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=r[0].callback;t&&xK(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 r=this.getCenterInternal();var i,s;return void 0!==r&&(n=[r[0]-e[0],r[1]-e[1]],WW(n,t-this.getRotation()),s=e,(i=n)[0]+=+s[0],i[1]+=+s[1]),n}calculateCenterZoom(t,e){let n;const r=this.getCenterInternal(),i=this.getResolution();return void 0!==r&&void 0!==i&&(n=[e[0]-t*(e[0]-r[0])/i,e[1]-t*(e[1]-r[1])/i]),n}getViewportSize_(t){const e=this.viewportSize_;if(t){const n=e[0],r=e[1];return[Math.abs(n*Math.cos(t))+Math.abs(r*Math.sin(t)),Math.abs(n*Math.sin(t))+Math.abs(r*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?lG(t,this.getProjection()):t}getCenterInternal(){return this.get(ZV.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();WV(e,"The view center is not defined");const n=this.getResolution();WV(void 0!==n,"The view resolution is not defined");const r=this.getRotation();return WV(void 0!==r,"The view rotation is not defined"),PW(e,n,r,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(ZV.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(uG(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=NW(t)/e[0],r=OW(t)/e[1];return Math.max(n,r)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,r=Math.log(e/n)/Math.log(t);return function(n){return e/Math.pow(t,n*r)}}getRotation(){return this.get(ZV.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),r=this.minResolution_,i=Math.log(n/r)/e;return function(t){return Math.log(n/t)/e/i}}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 r=this.getCenterInternal();const i=this.padding_;if(i){const t=this.getViewportSizeMinusPadding_();r=SK(r,this.getViewportSize_(),[t[0]/2+i[3],t[1]/2+i[0]],e,n)}return{center:r.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,r=this.minZoom_||0;if(this.resolutions_){const i=tV(this.resolutions_,t,1);r=i,e=this.resolutions_[i],n=i==this.resolutions_.length-1?2:e/this.resolutions_[i+1]}else e=this.maxResolution_,n=this.zoomFactor_;return r+Math.log(e/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const e=YV(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,YV(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(WV(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))WV(!BW(t),"Cannot fit empty extent provided as `geometry`"),n=gK(uG(t,this.getProjection()));else if("Circle"===t.getType()){const e=uG(t.getExtent(),this.getProjection());n=gK(e),n.rotate(this.getRotation(),LW(e))}else n=t;this.fitInternal(n,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),n=Math.cos(e),r=Math.sin(-e),i=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,c=-1/0;for(let u=0,h=i.length;u<h;u+=s){const t=i[u]*n-i[u+1]*r,e=i[u]*r+i[u+1]*n;o=Math.min(o,t),a=Math.min(a,e),l=Math.max(l,t),c=Math.max(c,e)}return[o,a,l,c]}fitInternal(t,e){let n=(e=e||{}).size;n||(n=this.getViewportSizeMinusPadding_());const r=void 0!==e.padding?e.padding:[0,0,0,0],i=void 0!==e.nearest&&e.nearest;let s;s=void 0!==e.minResolution?e.minResolution:void 0!==e.maxZoom?this.getResolutionForZoom(e.maxZoom):0;const o=this.rotatedExtentForGeometry(t);let a=this.getResolutionForExtentInternal(o,[n[0]-r[1]-r[3],n[1]-r[0]-r[2]]);a=isNaN(a)?s:Math.max(a,s),a=this.getConstrainedResolution(a,i?0:1);const l=this.getRotation(),c=Math.sin(l),u=Math.cos(l),h=LW(o);h[0]+=(r[1]-r[3])/2*a,h[1]+=(r[0]-r[2])/2*a;const d=h[0]*u-h[1]*c,p=h[1]*u+h[0]*c,f=this.getConstrainedCenter([d,p],a),g=e.callback?e.callback:oV;void 0!==e.duration?this.animateInternal({resolution:a,center:f,duration:e.duration,easing:e.easing},g):(this.targetResolution_=a,this.targetCenter_=f,this.applyTargetState_(!1,!0),xK(g,!0))}centerOn(t,e,n){this.centerOnInternal(cG(t,this.getProjection()),e,n)}centerOnInternal(t,e,n){this.setCenterInternal(SK(t,e,n,this.getResolution(),this.getRotation()))}calculateCenterShift(t,e,n,r){let i;const s=this.padding_;if(s&&t){const o=this.getViewportSizeMinusPadding_(-n),a=SK(t,r,[o[0]/2+s[3],o[1]/2+s[0]],e,n);i=[t[0]-a[0],t[1]-a[1]]}return i}isDef(){return!!this.getCenterInternal()&&void 0!==this.getResolution()}adjustCenter(t){const e=lG(this.targetCenter_,this.getProjection());this.setCenter([e[0]+t[0],e[1]+t[1]])}adjustCenterInternal(t){const e=this.targetCenter_;this.setCenterInternal([e[0]+t[0],e[1]+t[1]])}adjustResolution(t,e){e=e&&cG(e,this.getProjection()),this.adjustResolutionInternal(t,e)}adjustResolutionInternal(t,e){const n=this.getAnimating()||this.getInteracting(),r=this.getViewportSize_(this.getRotation()),i=this.constraints_.resolution(this.targetResolution_*t,0,r,n);e&&(this.targetCenter_=this.calculateCenterZoom(i,e)),this.targetResolution_*=t,this.applyTargetState_()}adjustZoom(t,e){this.adjustResolution(Math.pow(this.zoomFactor_,-t),e)}adjustRotation(t,e){e&&(e=cG(e,this.getProjection())),this.adjustRotationInternal(t,e)}adjustRotationInternal(t,e){const n=this.getAnimating()||this.getInteracting(),r=this.constraints_.rotation(this.targetRotation_+t,n);e&&(this.targetCenter_=this.calculateCenterRotate(r,e)),this.targetRotation_+=t,this.applyTargetState_()}setCenter(t){this.setCenterInternal(t?cG(t,this.getProjection()):t)}setCenterInternal(t){this.targetCenter_=t,this.applyTargetState_()}setHint(t,e){return this.hints_[t]+=e,this.changed(),this.hints_[t]}setResolution(t){this.targetResolution_=t,this.applyTargetState_()}setRotation(t){this.targetRotation_=t,this.applyTargetState_()}setZoom(t){this.setResolution(this.getResolutionForZoom(t))}applyTargetState_(t,e){const n=this.getAnimating()||this.getInteracting()||e,r=this.constraints_.rotation(this.targetRotation_,n),i=this.getViewportSize_(r),s=this.constraints_.resolution(this.targetResolution_,0,i,n),o=this.constraints_.center(this.targetCenter_,s,i,n,this.calculateCenterShift(this.targetCenter_,s,r,i));this.get(ZV.ROTATION)!==r&&this.set(ZV.ROTATION,r),this.get(ZV.RESOLUTION)!==s&&(this.set(ZV.RESOLUTION,s),this.set("zoom",this.getZoom(),!0)),o&&this.get(ZV.CENTER)&&VW(this.get(ZV.CENTER),o)||this.set(ZV.CENTER,o),this.getAnimating()&&!t&&this.cancelAnimations(),this.cancelAnchor_=void 0}resolveConstraints(t,e,n){t=void 0!==t?t:200;const r=e||0,i=this.constraints_.rotation(this.targetRotation_),s=this.getViewportSize_(i),o=this.constraints_.resolution(this.targetResolution_,r,s),a=this.constraints_.center(this.targetCenter_,o,s,!1,this.calculateCenterShift(this.targetCenter_,o,i,s));if(0===t&&!this.cancelAnchor_)return this.targetResolution_=o,this.targetRotation_=i,this.targetCenter_=a,void this.applyTargetState_();n=n||(0===t?this.cancelAnchor_:void 0),this.cancelAnchor_=void 0,this.getResolution()===o&&this.getRotation()===i&&this.getCenterInternal()&&VW(this.getCenterInternal(),a)||(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:i,center:a,resolution:o,duration:t,easing:KW,anchor:n}))}beginInteraction(){this.resolveConstraints(0),this.setHint(1,1)}endInteraction(t,e,n){n=n&&cG(n,this.getProjection()),this.endInteractionInternal(t,e,n)}endInteractionInternal(t,e,n){this.getInteracting()&&(this.setHint(1,-1),this.resolveConstraints(t,e,n))}getConstrainedCenter(t,e){const n=this.getViewportSize_(this.getRotation());return this.constraints_.center(t,e||this.getResolution(),n)}getConstrainedZoom(t,e){const n=this.getResolutionForZoom(t);return this.getZoomForResolution(this.getConstrainedResolution(n,e))}getConstrainedResolution(t,e){e=e||0;const n=this.getViewportSize_(this.getRotation());return this.constraints_.resolution(t,e,n)}}function xK(t,e){setTimeout(function(){t(e)},0)}function CK(t){return!(t.sourceCenter&&t.targetCenter&&!VW(t.sourceCenter,t.targetCenter))&&t.sourceResolution===t.targetResolution&&t.sourceRotation===t.targetRotation}function SK(t,e,n,r,i){const s=Math.cos(-i);let o=Math.sin(-i),a=t[0]*s-t[1]*o,l=t[1]*s+t[0]*o;return a+=(e[0]/2-n[0])*r,l+=(n[1]-e[1]/2)*r,o=-o,[a*s-l*o,l*s+a*o]}const kK="ol-hidden",EK="ol-unselectable",TK="ol-control",RK="ol-collapsed",MK=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))","?\\s*([-,\\\"\\'\\sa-z0-9]+?)\\s*$"].join(""),"i"),LK=["style","variant","weight","size","lineHeight","family"],IK={normal:400,bold:700},PK=function(t){const e=t.match(MK);if(!e)return null;const n={lineHeight:"normal",size:"1.2em",style:"normal",weight:"400",variant:"normal"};for(let r=0,i=LK.length;r<i;++r){const t=e[r+1];void 0!==t&&(n[LK[r]]="string"==typeof t?t.trim():t)}return isNaN(Number(n.weight))&&n.weight in IK&&(n.weight=IK[n.weight]),n.families=n.family.split(/,\s?/).map(t=>t.trim().replace(/^['"]|['"]$/g,"")),n};function AK(t,e,n,r){let i;return i=n&&n.length?n.shift():PV?new class extends OffscreenCanvas{style={}}(t??300,e??150):document.createElement("canvas"),t&&(i.width=t),e&&(i.height=e),i.getContext("2d",r)}let OK;function FK(){return OK||(OK=AK(1,1)),OK}function zK(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function DK(t){let e=t.offsetWidth;const n=getComputedStyle(t);return e+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),e}function NK(t){let e=t.offsetHeight;const n=getComputedStyle(t);return e+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),e}function jK(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function BK(t){for(;t.lastChild;)t.lastChild.remove()}function UK(){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 $K(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class qK extends _V{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;e<n;++e)gV(this.listenerKeys[e]);if(this.listenerKeys.length=0,this.map_=t,t){const e=this.target_??t.getOverlayContainerStopEvent();this.element&&e.appendChild(this.element),this.render!==oV&&this.listenerKeys.push(pV(t,NV,this.render,this)),t.render()}}render(t){}setTarget(t){this.target_="string"==typeof t?document.getElementById(t):t}}class VK extends qK{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target}),this.ulElement_=document.createElement("ul"),this.collapsed_=void 0===t.collapsed||t.collapsed,this.userCollapsed_=this.collapsed_,this.overrideCollapsible_=void 0!==t.collapsible,this.collapsible_=void 0===t.collapsible||t.collapsible,this.collapsible_||(this.collapsed_=!1),this.attributions_=t.attributions;const e=void 0!==t.className?t.className:"ol-attribution",n=void 0!==t.tipLabel?t.tipLabel:"Attributions",r=void 0!==t.expandClassName?t.expandClassName:e+"-expand",i=void 0!==t.collapseLabel?t.collapseLabel:"",s=void 0!==t.collapseClassName?t.collapseClassName:e+"-collapse";"string"==typeof i?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=i,this.collapseLabel_.className=s):this.collapseLabel_=i;const o=void 0!==t.label?t.label:"i";"string"==typeof o?(this.label_=document.createElement("span"),this.label_.textContent=o,this.label_.className=r):this.label_=o;const a=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;this.toggleButton_=document.createElement("button"),this.toggleButton_.setAttribute("type","button"),this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_)),this.toggleButton_.title=n,this.toggleButton_.appendChild(a),this.toggleButton_.addEventListener(Hq,this.handleClick_.bind(this),!1);const l=e+" "+EK+" "+TK+(this.collapsed_&&this.collapsible_?" "+RK:"")+(this.collapsible_?"":" ol-uncollapsible"),c=this.element;c.className=l,c.appendChild(this.toggleButton_),c.appendChild(this.ulElement_),this.renderedAttributions_=[],this.renderedVisible_=!0}collectSourceAttributions_(t){const e=this.getMap().getAllLayers(),n=new Set(e.flatMap(e=>e.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=>lV(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!rV(e,this.renderedAttributions_)){BK(this.ulElement_);for(let t=0,n=e.length;t<n;++t){const n=document.createElement("li");n.innerHTML=e[t],this.ulElement_.appendChild(n)}this.renderedAttributions_=e}}handleClick_(t){t.preventDefault(),this.handleToggle_(),this.userCollapsed_=this.collapsed_}handleToggle_(){this.element.classList.toggle(RK),this.collapsed_?jK(this.collapseLabel_,this.label_):jK(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_,this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_))}getCollapsible(){return this.collapsible_}setCollapsible(t){this.collapsible_!==t&&(this.collapsible_=t,this.element.classList.toggle("ol-uncollapsible"),this.userCollapsed_&&this.handleToggle_())}setCollapsed(t){this.userCollapsed_=t,this.collapsible_&&this.collapsed_!==t&&this.handleToggle_()}getCollapsed(){return this.collapsed_}render(t){this.updateElement_(t.frameState)}}class WK extends qK{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target});const e=void 0!==t.className?t.className:"ol-rotate",n=void 0!==t.label?t.label:"⇧",r=void 0!==t.compassClassName?t.compassClassName:"ol-compass";this.label_=null,"string"==typeof n?(this.label_=document.createElement("span"),this.label_.className=r,this.label_.textContent=n):(this.label_=n,this.label_.classList.add(r));const i=t.tipLabel?t.tipLabel:"Reset rotation",s=document.createElement("button");s.className=e+"-reset",s.setAttribute("type","button"),s.title=i,s.appendChild(this.label_),s.addEventListener(Hq,this.handleClick_.bind(this),!1);const o=e+" "+EK+" "+TK,a=this.element;a.className=o,a.appendChild(s),this.callResetNorth_=t.resetNorth?t.resetNorth:void 0,this.duration_=void 0!==t.duration?t.duration:250,this.autoHide_=void 0===t.autoHide||t.autoHide,this.rotation_=void 0,this.autoHide_&&this.element.classList.add(kK)}handleClick_(t){t.preventDefault(),void 0!==this.callResetNorth_?this.callResetNorth_():this.resetNorth_()}resetNorth_(){const t=this.getMap().getView();if(!t)return;const e=t.getRotation();void 0!==e&&(this.duration_>0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:KW}):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(kK);t||0!==n?t&&0!==n&&this.element.classList.remove(kK):this.element.classList.add(kK)}this.label_.style.transform=t}this.rotation_=n}}class HK extends qK{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,r=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",i=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=r,c.setAttribute("type","button"),c.title=a,c.appendChild("string"==typeof s?document.createTextNode(s):s),c.addEventListener(Hq,this.handleClick_.bind(this,n),!1);const u=document.createElement("button");u.className=i,u.setAttribute("type","button"),u.title=l,u.appendChild("string"==typeof o?document.createTextNode(o):o),u.addEventListener(Hq,this.handleClick_.bind(this,-n),!1);const h=e+" "+EK+" "+TK,d=this.element;d.className=h,d.appendChild(c),d.appendChild(u),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 r=e.getConstrainedZoom(n+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:r,duration:this.duration_,easing:KW})):e.setZoom(r)}}}function GK(t){t=t||{};const e=new SV;return(void 0===t.zoom||t.zoom)&&e.push(new HK(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new WK(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new VK(t.attributionOptions)),e}class KK{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]<t)return!1;let n=e-3;for(;n>0&&this.points_[n+2]>t;)n-=3;const r=this.points_[e+2]-this.points_[n+2];if(r<1e3/60)return!1;const i=this.points_[e]-this.points_[n],s=this.points_[e+1]-this.points_[n+1];return this.angle_=Math.atan2(s,i),this.initialVelocity_=Math.sqrt(i*i+s*s)/r,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const ZK="active";class YK extends _V{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(ZK)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(ZK,t)}setMap(t){this.map_=t}}function XK(t,e,n,r){const i=t.getZoom();if(void 0===i)return;const s=t.getConstrainedZoom(i+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:n,duration:void 0!==r?r:250,easing:KW})}class JK extends YK{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==TV.DBLCLICK){const n=t.originalEvent,r=t.map,i=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;XK(r.getView(),s,i,this.duration_),n.preventDefault(),e=!0}return!e}}function QK(t){const e=arguments;return function(t){let n=!0;for(let r=0,i=e.length;r<i&&(n=n&&e[r](t),n);++r);return n}}const tZ=function(t){const e=t.originalEvent;return e.altKey&&!(e.metaKey||e.ctrlKey)&&e.shiftKey},eZ=function(t){const e=t.map.getTargetElement(),n=e.getRootNode();return!(n instanceof ShadowRoot?n.host:e).hasAttribute("tabindex")||function(t){const e=t.map.getTargetElement(),n=e.getRootNode(),r=t.map.getOwnerDocument().activeElement;return n instanceof ShadowRoot?n.host.contains(r):e.contains(r)}(t)},nZ=iV,rZ=function(t){const e=t.originalEvent;return"pointerId"in e&&0==e.button&&!(MV&&LV&&e.ctrlKey)},iZ=function(t){const e=t.originalEvent;return!e.altKey&&!(e.metaKey||e.ctrlKey)&&!e.shiftKey},sZ=function(t){const e=t.originalEvent;return!e.altKey&&!(e.metaKey||e.ctrlKey)&&e.shiftKey},oZ=function(t){const e=t.originalEvent,n=e.target.tagName;return"INPUT"!==n&&"SELECT"!==n&&"TEXTAREA"!==n&&!e.target.isContentEditable},aZ=function(t){const e=t.originalEvent;return"pointerId"in e&&"mouse"==e.pointerType},lZ=function(t){const e=t.originalEvent;return"pointerId"in e&&e.isPrimary&&0===e.button};class cZ extends YK{constructor(t){super(t=t||{}),t.handleDownEvent&&(this.handleDownEvent=t.handleDownEvent),t.handleDragEvent&&(this.handleDragEvent=t.handleDragEvent),t.handleMoveEvent&&(this.handleMoveEvent=t.handleMoveEvent),t.handleUpEvent&&(this.handleUpEvent=t.handleUpEvent),t.stopDown&&(this.stopDown=t.stopDown),this.handlingDownUpSequence=!1,this.targetPointers=[]}getPointerCount(){return this.targetPointers.length}handleDownEvent(t){return!1}handleDragEvent(t){}handleEvent(t){if(!t.originalEvent)return!0;let e=!1;if(this.updateTrackedPointers_(t),this.handlingDownUpSequence){if(t.type==TV.POINTERDRAG)this.handleDragEvent(t),t.originalEvent.preventDefault();else if(t.type==TV.POINTERUP){const e=this.handleUpEvent(t);this.handlingDownUpSequence=e&&this.targetPointers.length>0}}else if(t.type==TV.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==TV.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 uZ(t){const e=t.length;let n=0,r=0;for(let i=0;i<e;i++)n+=t[i].clientX,r+=t[i].clientY;return{clientX:n/e,clientY:r/e}}class hZ extends cZ{constructor(t){super({stopDown:sV}),t=t||{},this.kinetic_=t.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;const e=t.condition?t.condition:QK(iZ,lZ);this.condition_=t.onFocusOnly?QK(eZ,e):e,this.noKinetic_=!1}handleDragEvent(t){const e=t.map;this.panning_||(this.panning_=!0,e.getView().beginInteraction());const n=this.targetPointers,r=e.getEventPixel(uZ(n));if(n.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(r[0],r[1]),this.lastCentroid){const e=[this.lastCentroid[0]-r[0],r[1]-this.lastCentroid[1]],n=t.map.getView();i=e,s=n.getResolution(),i[0]*=s,i[1]*=s,WW(e,n.getRotation()),n.adjustCenterInternal(e)}}else this.kinetic_&&this.kinetic_.begin();var i,s;this.lastCentroid=r,this.lastPointersCount_=n.length,t.originalEvent.preventDefault()}handleUpEvent(t){const e=t.map,n=e.getView();if(0===this.targetPointers.length){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){const t=this.kinetic_.getDistance(),r=this.kinetic_.getAngle(),i=n.getCenterInternal(),s=e.getPixelFromCoordinateInternal(i),o=e.getCoordinateFromPixelInternal([s[0]-t*Math.cos(r),s[1]-t*Math.sin(r)]);n.animateInternal({center:n.getConstrainedCenter(o),duration:500,easing:KW})}return this.panning_&&(this.panning_=!1,n.endInteraction()),!1}return this.kinetic_&&this.kinetic_.begin(),this.lastCentroid=null,!0}handleDownEvent(t){if(this.targetPointers.length>0&&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 dZ extends cZ{constructor(t){t=t||{},super({stopDown:sV}),this.condition_=t.condition?t.condition:tZ,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!aZ(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===bK)return;const r=e.getSize(),i=t.pixel,s=Math.atan2(r[1]/2-i[1],i[0]-r[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;n.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){return!aZ(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!aZ(t)||!rZ(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class pZ extends Xq{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",r=this.element_.style;r.left=Math.min(t[0],e[0])+n,r.top=Math.min(t[1],e[1])+n,r.width=Math.abs(e[0]-t[0])+n,r.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 fK([n])}getGeometry(){return this.geometry_}}const fZ="boxcancel";class gZ extends hV{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class mZ extends cZ{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new pZ(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??rZ,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,n){const r=n[0]-e[0],i=n[1]-e[1];return r*r+i*i>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new gZ("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 gZ(e?"boxend":fZ,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 gZ("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new gZ(fZ,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new gZ(fZ,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class yZ extends mZ{constructor(t){super({condition:(t=t||{}).condition?t.condition:sZ,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),r=e.getResolutionForExtentInternal(t),i=e.getResolution()/r;n=n.clone(),n.scale(i*i)}e.fitInternal(n,{duration:this.duration_,easing:KW})}}const vZ="ArrowLeft",bZ="ArrowRight",wZ="ArrowDown";class _Z extends YK{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return iZ(t)&&oZ(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==Gq){const n=t.originalEvent,r=n.key;if(this.condition_(t)&&(r==wZ||r==vZ||r==bZ||"ArrowUp"==r)){const i=t.map.getView(),s=i.getResolution()*this.pixelDelta_;let o=0,a=0;r==wZ?a=-s:r==vZ?o=-s:r==bZ?o=s:a=s;const l=[o,a];WW(l,i.getRotation()),function(t,e,n){const r=t.getCenterInternal();if(r){const i=[r[0]+e[0],r[1]+e[1]];t.animateInternal({duration:void 0!==n?n:250,easing:YW,center:t.getConstrainedCenter(i)})}}(i,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class xZ extends YK{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return LV?e.metaKey:e.ctrlKey}(t)&&oZ(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==Gq||t.type==Kq){const n=t.originalEvent,r=n.key;if(this.condition_(t)&&("+"===r||"-"===r)){const i=t.map,s="+"===r?this.delta_:-this.delta_;XK(i.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class CZ extends YK{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:nZ;this.condition_=t.onFocusOnly?QK(eZ,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!==Yq)return!0;const e=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let r=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:r*=40;break;case WheelEvent.DOM_DELTA_PAGE:r*=300}if(0===r)return!1;this.lastDelta_=r;const i=Date.now();void 0===this.startTime_&&(this.startTime_=i),(!this.mode_||i-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(r)<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(-r/this.deltaPerZoom_,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=i,!1;this.totalDelta_+=r;const o=Math.max(this.timeout_-(i-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=-YV(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),XK(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 SZ extends cZ{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=sV),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],r=this.targetPointers[1],i=Math.atan2(r.clientY-n.clientY,r.clientX-n.clientX);if(void 0!==this.lastAngle_){const t=i-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=i;const s=t.map,o=s.getView();o.getConstraints().rotation!==bK&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(uZ(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 kZ extends cZ{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=sV),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],r=this.targetPointers[1],i=n.clientX-r.clientX,s=n.clientY-r.clientY,o=Math.sqrt(i*i+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(uZ(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 EZ(t){t=t||{};const e=new SV,n=new KK(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new dZ),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new JK({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new hZ({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new SZ),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new kZ({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new _Z),e.push(new xZ({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new CZ({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new yZ({duration:t.zoomDuration})),e}const TZ="opacity",RZ="visible",MZ="extent",LZ="zIndex",IZ="maxResolution",PZ="minResolution",AZ="maxZoom",OZ="minZoom",FZ="source";class zZ extends _V{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[TZ]=void 0!==t.opacity?t.opacity:1,WV("number"==typeof e[TZ],"Layer opacity must be a number"),e[RZ]=void 0===t.visible||t.visible,e[LZ]=t.zIndex,e[IZ]=void 0!==t.maxResolution?t.maxResolution:1/0,e[PZ]=void 0!==t.minResolution?t.minResolution:0,e[OZ]=void 0!==t.minZoom?t.minZoom:-1/0,e[AZ]=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=YV(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 yV()}getLayerStatesArray(t){return yV()}getExtent(){return this.get(MZ)}getMaxResolution(){return this.get(IZ)}getMinResolution(){return this.get(PZ)}getMinZoom(){return this.get(OZ)}getMaxZoom(){return this.get(AZ)}getOpacity(){return this.get(TZ)}getSourceState(){return yV()}getVisible(){return this.get(RZ)}getZIndex(){return this.get(LZ)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(MZ,t)}setMaxResolution(t){this.set(IZ,t)}setMinResolution(t){this.set(PZ,t)}setMaxZoom(t){this.set(AZ,t)}setMinZoom(t){this.set(OZ,t)}setOpacity(t){WV("number"==typeof t,"Layer opacity must be a number"),this.set(TZ,t)}setVisible(t){this.set(RZ,t)}setZIndex(t){this.set(LZ,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const DZ="addlayer",NZ="removelayer";class jZ extends hV{constructor(t,e){super(t),this.layer=e}}const BZ="layers";class UZ extends zZ{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(BZ,this.handleLayersChanged_),n?Array.isArray(n)?n=new SV(n.slice(),{unique:!0}):WV("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new SV(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(gV),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(pV(t,Uq,this.handleLayersAdd_,this),pV(t,$q,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(gV);cV(this.listenerKeys_);const e=t.getArray();for(let n=0,r=e.length;n<r;n++){const t=e[n];this.registerLayerListeners_(t),this.dispatchEvent(new jZ(DZ,t))}this.changed()}registerLayerListeners_(t){const e=[pV(t,qq,this.handleLayerChange_,this),pV(t,Vq,this.handleLayerChange_,this)];t instanceof UZ&&e.push(pV(t,DZ,this.handleLayerGroupAdd_,this),pV(t,NZ,this.handleLayerGroupRemove_,this)),this.listenerKeys_[bV(t)]=e}handleLayerGroupAdd_(t){this.dispatchEvent(new jZ(DZ,t.layer))}handleLayerGroupRemove_(t){this.dispatchEvent(new jZ(NZ,t.layer))}handleLayersAdd_(t){const e=t.element;this.registerLayerListeners_(e),this.dispatchEvent(new jZ(DZ,e)),this.changed()}handleLayersRemove_(t){const e=t.element,n=bV(e);this.listenerKeys_[n].forEach(gV),delete this.listenerKeys_[n],this.dispatchEvent(new jZ(NZ,e)),this.changed()}getLayers(){return this.get(BZ)}setLayers(t){const e=this.getLayers();if(e){const t=e.getArray();for(let e=0,n=t.length;e<n;++e)this.dispatchEvent(new jZ(NZ,t[e]))}this.set(BZ,t)}getLayersArray(t){return t=void 0!==t?t:[],this.getLayers().forEach(function(e){e.getLayersArray(t)}),t}getLayerStatesArray(t){const e=void 0!==t?t:[],n=e.length;this.getLayers().forEach(function(t){t.getLayerStatesArray(e)});const r=this.getLayerState();let i=r.zIndex;t||void 0!==r.zIndex||(i=0);for(let s=n,o=e.length;s<o;s++){const t=e[s];t.opacity*=r.opacity,t.visible=t.visible&&r.visible,t.maxResolution=Math.min(t.maxResolution,r.maxResolution),t.minResolution=Math.max(t.minResolution,r.minResolution),t.minZoom=Math.max(t.minZoom,r.minZoom),t.maxZoom=Math.min(t.maxZoom,r.maxZoom),void 0!==r.extent&&(void 0!==t.extent?t.extent=FW(t.extent,r.extent):t.extent=r.extent),void 0===t.zIndex&&(t.zIndex=i)}return e}getSourceState(){return"ready"}}const $Z="prerender",qZ="postrender",VZ="precompose",WZ="rendercomplete";class HZ extends zZ{constructor(t){const e=Object.assign({},t);delete e.source,super(e),this.on,this.once,this.un,this.mapPrecomposeKey_=null,this.mapRenderKey_=null,this.sourceChangeKey_=null,this.renderer_=null,this.sourceReady_=!1,this.rendered=!1,t.render&&(this.render=t.render),t.map&&this.setMap(t.map),this.addChangeListener(FZ,this.handleSourcePropertyChange_);const n=t.source?t.source:null;this.setSource(n)}getLayersArray(t){return(t=t||[]).push(this),t}getLayerStatesArray(t){return(t=t||[]).push(this.getLayerState()),t}getSource(){return this.get(FZ)||null}getRenderSource(){return this.getSource()}getSourceState(){const t=this.getSource();return t?t.getState():"undefined"}handleSourceChange_(){this.changed(),this.sourceReady_||"ready"!==this.getSource().getState()||(this.sourceReady_=!0,this.dispatchEvent("sourceready"))}handleSourcePropertyChange_(){this.sourceChangeKey_&&(gV(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const t=this.getSource();t&&(this.sourceChangeKey_=pV(t,Vq,this.handleSourceChange_,this),"ready"===t.getState()&&(this.sourceReady_=!0,setTimeout(()=>{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 r;if(!t&&n&&(t=n.getView()),e=t instanceof _K?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&n&&(e.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),e.layerStatesArray){if(r=e.layerStatesArray.find(t=>t.layer===this),!r)return!1}else r=this.getLayerState();const i=this.getExtent();return GZ(r,e.viewState)&&(!i||jW(i,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof _K?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_&&(gV(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(gV(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=pV(t,VZ,this.handlePrecompose_,this),this.mapRenderKey_=pV(this,Vq,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);WV(!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(FZ,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 GZ(t,e){if(!t.visible)return!1;const n=e.resolution;if(n<t.minResolution||n>=t.maxResolution)return!1;const r=e.zoom;return r>t.minZoom&&r<=t.maxZoom}function KZ(t,e,n=0,r=t.length-1,i=YZ){for(;r>n;){if(r-n>600){const s=r-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);KZ(t,e,Math.max(n,Math.floor(e-o*l/s+c)),Math.min(r,Math.floor(e+(s-o)*l/s+c)),i)}const s=t[e];let o=n,a=r;for(ZZ(t,n,e),i(t[r],s)>0&&ZZ(t,n,r);o<a;){for(ZZ(t,o,a),o++,a--;i(t[o],s)<0;)o++;for(;i(t[a],s)>0;)a--}0===i(t[n],s)?ZZ(t,n,a):(a++,ZZ(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}}function ZZ(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function YZ(t,e){return t<e?-1:t>e?1:0}let XZ=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(!cY(t,e))return n;const r=this.toBBox,i=[];for(;e;){for(let s=0;s<e.children.length;s++){const o=e.children[s],a=e.leaf?r(o):o;cY(t,a)&&(e.leaf?n.push(o):lY(t,a)?this._all(o,n):i.push(o))}e=i.pop()}return n}collides(t){let e=this.data;if(!cY(t,e))return!1;const n=[];for(;e;){for(let r=0;r<e.children.length;r++){const i=e.children[r],s=e.leaf?this.toBBox(i):i;if(cY(t,s)){if(e.leaf||lY(t,s))return!0;n.push(i)}}e=n.pop()}return!1}load(t){if(!t||!t.length)return this;if(t.length<this._minEntries){for(let e=0;e<t.length;e++)this.insert(t[e]);return this}let e=this._build(t.slice(),0,t.length-1,0);if(this.data.children.length)if(this.data.height===e.height)this._splitRoot(this.data,e);else{if(this.data.height<e.height){const t=this.data;this.data=e,e=t}this._insert(e,this.data.height-e.height-1,!0)}else this.data=e;return this}insert(t){return t&&this._insert(t,this.data.height-1),this}clear(){return this.data=uY([]),this}remove(t,e){if(!t)return this;let n=this.data;const r=this.toBBox(t),i=[],s=[];let o,a,l;for(;n||i.length;){if(n||(n=i.pop(),a=i[i.length-1],o=s.pop(),l=!0),n.leaf){const r=JZ(t,n.children,e);if(-1!==r)return n.children.splice(r,1),i.push(n),this._condense(i),this}l||n.leaf||!lY(n,r)?a?(o++,n=a.children[o],l=!1):n=null:(i.push(n),s.push(o),o=0,a=n,n=n.children[0])}return this}toBBox(t){return t}compareMinX(t,e){return t.minX-e.minX}compareMinY(t,e){return t.minY-e.minY}toJSON(){return this.data}fromJSON(t){return this.data=t,this}_all(t,e){const n=[];for(;t;)t.leaf?e.push(...t.children):n.push(...t.children),t=n.pop();return e}_build(t,e,n,r){const i=n-e+1;let s,o=this._maxEntries;if(i<=o)return s=uY(t.slice(e,n+1)),QZ(s,this.toBBox),s;r||(r=Math.ceil(Math.log(i)/Math.log(o)),o=Math.ceil(i/Math.pow(o,r-1))),s=uY([]),s.leaf=!1,s.height=r;const a=Math.ceil(i/o),l=a*Math.ceil(Math.sqrt(o));hY(t,e,n,l,this.compareMinX);for(let c=e;c<=n;c+=l){const e=Math.min(c+l-1,n);hY(t,c,e,a,this.compareMinY);for(let n=c;n<=e;n+=a){const i=Math.min(n+a-1,e);s.children.push(this._build(t,n,i,r-1))}}return QZ(s,this.toBBox),s}_chooseSubtree(t,e,n,r){for(;r.push(e),!e.leaf&&r.length-1!==n;){let n,r=1/0,i=1/0;for(let s=0;s<e.children.length;s++){const o=e.children[s],a=iY(o),l=oY(t,o)-a;l<i?(i=l,r=a<r?a:r,n=o):l===i&&a<r&&(r=a,n=o)}e=n||e.children[0]}return e}_insert(t,e,n){const r=n?t:this.toBBox(t),i=[],s=this._chooseSubtree(r,this.data,e,i);for(s.children.push(t),eY(s,r);e>=0&&i[e].children.length>this._maxEntries;)this._split(i,e),e--;this._adjustParentBBoxes(r,i,e)}_split(t,e){const n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);const s=this._chooseSplitIndex(n,i,r),o=uY(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,QZ(n,this.toBBox),QZ(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=uY([t,e]),this.data.height=t.height+1,this.data.leaf=!1,QZ(this.data,this.toBBox)}_chooseSplitIndex(t,e,n){let r,i=1/0,s=1/0;for(let o=e;o<=n-e;o++){const e=tY(t,0,o,this.toBBox),a=tY(t,o,n,this.toBBox),l=aY(e,a),c=iY(e)+iY(a);l<i?(i=l,r=o,s=c<s?c:s):l===i&&c<s&&(s=c,r=o)}return r||n-e}_chooseSplitAxis(t,e,n){const r=t.leaf?this.compareMinX:nY,i=t.leaf?this.compareMinY:rY;this._allDistMargin(t,e,n,r)<this._allDistMargin(t,e,n,i)&&t.children.sort(r)}_allDistMargin(t,e,n,r){t.children.sort(r);const i=this.toBBox,s=tY(t,0,e,i),o=tY(t,n-e,n,i);let a=sY(s)+sY(o);for(let l=e;l<n-e;l++){const e=t.children[l];eY(s,t.leaf?i(e):e),a+=sY(s)}for(let l=n-e-1;l>=e;l--){const e=t.children[l];eY(o,t.leaf?i(e):e),a+=sY(o)}return a}_adjustParentBBoxes(t,e,n){for(let r=n;r>=0;r--)eY(e[r],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():QZ(t[n],this.toBBox)}};function JZ(t,e,n){if(!n)return e.indexOf(t);for(let r=0;r<e.length;r++)if(n(t,e[r]))return r;return-1}function QZ(t,e){tY(t,0,t.children.length,e,t)}function tY(t,e,n,r,i){i||(i=uY(null)),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s=e;s<n;s++){const e=t.children[s];eY(i,t.leaf?r(e):e)}return i}function eY(t,e){return t.minX=Math.min(t.minX,e.minX),t.minY=Math.min(t.minY,e.minY),t.maxX=Math.max(t.maxX,e.maxX),t.maxY=Math.max(t.maxY,e.maxY),t}function nY(t,e){return t.minX-e.minX}function rY(t,e){return t.minY-e.minY}function iY(t){return(t.maxX-t.minX)*(t.maxY-t.minY)}function sY(t){return t.maxX-t.minX+(t.maxY-t.minY)}function oY(t,e){return(Math.max(e.maxX,t.maxX)-Math.min(e.minX,t.minX))*(Math.max(e.maxY,t.maxY)-Math.min(e.minY,t.minY))}function aY(t,e){const n=Math.max(t.minX,e.minX),r=Math.max(t.minY,e.minY),i=Math.min(t.maxX,e.maxX),s=Math.min(t.maxY,e.maxY);return Math.max(0,i-n)*Math.max(0,s-r)}function lY(t,e){return t.minX<=e.minX&&t.minY<=e.minY&&e.maxX<=t.maxX&&e.maxY<=t.maxY}function cY(t,e){return e.minX<=t.maxX&&e.minY<=t.maxY&&e.maxX>=t.minX&&e.maxY>=t.minY}function uY(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function hY(t,e,n,r,i){const s=[e,n];for(;s.length;){if((n=s.pop())-(e=s.pop())<=r)continue;const o=e+Math.ceil((n-e)/r/2)*r;KZ(t,o,e,n,i),s.push(e,o,o,n)}}const dY=[NaN,NaN,NaN,0];let pY;const fY=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,gY=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,mY=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,yY=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function vY(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function bY(t){throw new Error('failed to parse "'+t+'" as color')}function wY(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(gY)||t.match(fY)||t.match(mY);if(e){const t=e[4],n=100/255;return[YV(vY(e[1],n)+.5|0,0,255),YV(vY(e[2],n)+.5|0,0,255),YV(vY(e[3],n)+.5|0,0,255),void 0!==t?YV(vY(t,100),0,1):1]}bY(t)}if(t.startsWith("#")){if(yY.test(t)){const e=t.substring(1),n=e.length<=4?1:2,r=[0,0,0,255];for(let t=0,i=e.length;t<i;t+=n){let i=parseInt(e.substring(t,t+n),16);1===n&&(i+=i<<4),r[t/n]=i}return r[3]=r[3]/255,r}bY(t)}const e=(pY||(pY=AK(1,1,void 0,{willReadFrequently:!0,desynchronized:!0})),pY);e.fillStyle="#abcdef";let n=e.fillStyle;e.fillStyle=t,e.fillStyle===n&&(e.fillStyle="#fedcba",n=e.fillStyle,e.fillStyle=t,e.fillStyle===n&&bY(t));const r=e.fillStyle;if(r.startsWith("#")||r.startsWith("rgba"))return wY(r);e.clearRect(0,0,1,1),e.fillRect(0,0,1,1);const i=Array.from(e.getImageData(0,0,1,1).data);return i[3]=rW(i[3]/255,3),i}const _Y={};let xY=0;function CY(t){if(4===t.length)return t;const e=t.slice();return e[3]=1,e}function SY(t){return t>.0031308?269.025*Math.pow(t,1/2.4)-14.025:3294.6*t}function kY(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function EY(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function TY(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function RY(t){const e=EY(t[0]),n=EY(t[1]),r=EY(t[2]),i=TY(.222488403*e+.716873169*n+.06060791*r),s=500*(TY(.452247074*e+.399439023*n+.148375274*r)-i),o=200*(i-TY(.016863605*e+.117638439*n+.865350722*r)),a=Math.atan2(o,s)*(180/Math.PI);return[116*i-16,Math.sqrt(s*s+o*o),a<0?a+360:a,t[3]]}function MY(t){if("none"===t)return dY;if(_Y.hasOwnProperty(t))return _Y[t];if(xY>=1024){let t=0;for(const e in _Y)3&t++||(delete _Y[e],--xY)}const e=wY(t);4!==e.length&&bY(t);for(const n of e)isNaN(n)&&bY(t);return _Y[t]=e,++xY,e}function LY(t){return Array.isArray(t)?t:MY(t)}function IY(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let n=t[1];n!=(0|n)&&(n=n+.5|0);let r=t[2];return r!=(0|r)&&(r=r+.5|0),"rgba("+e+","+n+","+r+","+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+")"}function PY(t){return t[0]>0&&t[1]>0}function AY(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let OY=0;const FY=1<<OY++,zY=1<<OY++,DY=1<<OY++,NY=1<<OY++,jY=1<<OY++,BY=1<<OY++,UY=Math.pow(2,6)-1,$Y={[FY]:"boolean",[zY]:"number",[DY]:"string",[NY]:"color",[jY]:"number[]",[BY]:"size"},qY=Object.keys($Y).map(Number).sort(Jq);function VY(t){const e=[];for(const n of qY)WY(t,n)&&e.push($Y[n]);return 0===e.length?"untyped":e.length<3?e.join(" or "):e.slice(0,-1).join(", ")+", or "+e[e.length-1]}function WY(t,e){return(t&e)===e}function HY(t,e){return t===e}class GY{constructor(t,e){if(!function(t){return t in $Y}(t))throw new Error(`literal expressions must have a specific type, got ${VY(t)}`);this.type=t,this.value=e}}class KY{constructor(t,e,...n){this.type=t,this.operator=e,this.args=n}}function ZY(){return{variables:new Set,properties:new Set,featureId:!1,geometryType:!1,mapState:!1}}function YY(t,e,n){switch(typeof t){case"boolean":if(HY(e,DY))return new GY(DY,t?"true":"false");if(!WY(e,FY))throw new Error(`got a boolean, but expected ${VY(e)}`);return new GY(FY,t);case"number":if(HY(e,BY))return new GY(BY,AY(t));if(HY(e,FY))return new GY(FY,!!t);if(HY(e,DY))return new GY(DY,t.toString());if(!WY(e,zY))throw new Error(`got a number, but expected ${VY(e)}`);return new GY(zY,t);case"string":if(HY(e,NY))return new GY(NY,MY(t));if(HY(e,FY))return new GY(FY,!!t);if(!WY(e,DY))throw new Error(`got a string, but expected ${VY(e)}`);return new GY(DY,t)}if(!Array.isArray(t))throw new Error("expression must be an array or a primitive value");if(0===t.length)throw new Error("empty expression");if("string"==typeof t[0])return function(t,e,n){const r=t[0],i=VX[r];if(!i)throw new Error(`unknown operator: ${r}`);return i(t,e,n)}(t,e,n);for(const r of t)if("number"!=typeof r)throw new Error("expected an array of numbers");if(HY(e,BY)){if(2!==t.length)throw new Error(`expected an array of two values for a size, got ${t.length}`);return new GY(BY,t)}if(HY(e,NY)){if(3===t.length)return new GY(NY,[...t,1]);if(4===t.length)return new GY(NY,t);throw new Error(`expected an array of 3 or 4 values for a color, got ${t.length}`)}if(!WY(e,jY))throw new Error(`got an array of numbers, but expected ${VY(e)}`);return new GY(jY,t)}const XY="get",JY="var",QY="concat",tX="geometry-type",eX="line-metric",nX="any",rX="all",iX="!",sX="resolution",oX="zoom",aX="time",lX="==",cX="!=",uX=">",hX=">=",dX="<",pX="<=",fX="*",gX="/",mX="+",yX="-",vX="clamp",bX="%",wX="^",_X="abs",xX="floor",CX="ceil",SX="round",kX="sin",EX="cos",TX="atan",RX="sqrt",MX="match",LX="between",IX="interpolate",PX="coalesce",AX="case",OX="in",FX="number",zX="string",DX="array",NX="color",jX="id",BX="band",UX="palette",$X="to-string",qX="has",VX={[XY]:JX(KX(1,1/0),WX),[JY]:JX(KX(1,1),function(t,e,n){const r=t[1];if("string"!=typeof r)throw new Error("expected a string argument for var operation");return n.variables.add(r),[new GY(DY,r)]}),[qX]:JX(KX(1,1/0),WX),[jX]:JX(function(t,e,n){n.featureId=!0},GX),[QY]:JX(KX(2,1/0),YX(DY)),[tX]:JX(function(t,e,n){n.geometryType=!0},GX),[eX]:JX(GX),[sX]:JX(HX,GX),[oX]:JX(HX,GX),[aX]:JX(HX,GX),[nX]:JX(KX(2,1/0),YX(FY)),[rX]:JX(KX(2,1/0),YX(FY)),[iX]:JX(KX(1,1),YX(FY)),[lX]:JX(KX(2,2),YX(UY)),[cX]:JX(KX(2,2),YX(UY)),[uX]:JX(KX(2,2),YX(zY)),[hX]:JX(KX(2,2),YX(zY)),[dX]:JX(KX(2,2),YX(zY)),[pX]:JX(KX(2,2),YX(zY)),[fX]:JX(KX(2,1/0),ZX),[PX]:JX(KX(2,1/0),ZX),[gX]:JX(KX(2,2),YX(zY)),[mX]:JX(KX(2,1/0),YX(zY)),[yX]:JX(KX(2,2),YX(zY)),[vX]:JX(KX(3,3),YX(zY)),[bX]:JX(KX(2,2),YX(zY)),[wX]:JX(KX(2,2),YX(zY)),[_X]:JX(KX(1,1),YX(zY)),[xX]:JX(KX(1,1),YX(zY)),[CX]:JX(KX(1,1),YX(zY)),[SX]:JX(KX(1,1),YX(zY)),[kX]:JX(KX(1,1),YX(zY)),[EX]:JX(KX(1,1),YX(zY)),[TX]:JX(KX(1,2),YX(zY)),[RX]:JX(KX(1,1),YX(zY)),[MX]:JX(KX(4,1/0),XX,function(t,e,n){const r=t.length-1,i=DY|zY|FY,s=YY(t[1],i,n),o=YY(t[t.length-1],e,n),a=new Array(r-2);for(let c=0;c<r-2;c+=2){try{const e=YY(t[c+2],s.type,n);a[c]=e}catch(l){throw new Error(`failed to parse argument ${c+1} of match expression: ${l.message}`)}try{const e=YY(t[c+3],o.type,n);a[c+1]=e}catch(l){throw new Error(`failed to parse argument ${c+2} of match expression: ${l.message}`)}}return[s,...a,o]}),[LX]:JX(KX(3,3),YX(zY)),[IX]:JX(KX(6,1/0),XX,function(t,e,n){const r=t[1];let i;switch(r[0]){case"linear":i=1;break;case"exponential":const t=r[1];if("number"!=typeof t||t<=0)throw new Error(`expected a number base for exponential interpolation, got ${JSON.stringify(t)} instead`);i=t;break;default:throw new Error(`invalid interpolation type: ${JSON.stringify(r)}`)}const s=new GY(zY,i);let o;try{o=YY(t[2],zY,n)}catch(l){throw new Error(`failed to parse argument 1 in interpolate expression: ${l.message}`)}const a=new Array(t.length-3);for(let c=0;c<a.length;c+=2){try{const e=YY(t[c+3],zY,n);a[c]=e}catch(l){throw new Error(`failed to parse argument ${c+2} for interpolate expression: ${l.message}`)}try{const r=YY(t[c+4],e,n);a[c+1]=r}catch(l){throw new Error(`failed to parse argument ${c+3} for interpolate expression: ${l.message}`)}}return[s,o,...a]}),[AX]:JX(KX(3,1/0),function(t){const e=t[0],n=t.length-1;if(n%2==0)throw new Error(`expected an odd number of arguments for ${e}, got ${n} instead`)},function(t,e,n){const r=YY(t[t.length-1],e,n),i=new Array(t.length-1);for(let o=0;o<i.length-1;o+=2){try{const e=YY(t[o+1],FY,n);i[o]=e}catch(s){throw new Error(`failed to parse argument ${o} of case expression: ${s.message}`)}try{const e=YY(t[o+2],r.type,n);i[o+1]=e}catch(s){throw new Error(`failed to parse argument ${o+1} of case expression: ${s.message}`)}}return i[i.length-1]=r,i}),[OX]:JX(KX(2,2),function(t,e,n){let r,i=t[2];if(!Array.isArray(i))throw new Error('the second argument for the "in" operator must be an array');if("string"==typeof i[0]){if("literal"!==i[0])throw new Error('for the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions');if(!Array.isArray(i[1]))throw new Error('failed to parse "in" expression: the literal operator must be followed by an array');i=i[1],r=DY}else r=zY;const s=new Array(i.length);for(let a=0;a<s.length;a++)try{const t=YY(i[a],r,n);s[a]=t}catch(o){throw new Error(`failed to parse haystack item ${a} for "in" expression: ${o.message}`)}return[YY(t[1],r,n),...s]}),[FX]:JX(KX(1,1/0),YX(UY)),[zX]:JX(KX(1,1/0),YX(UY)),[DX]:JX(KX(1,1/0),YX(zY)),[NX]:JX(KX(1,4),YX(zY)),[BX]:JX(KX(1,3),YX(zY)),[UX]:JX(KX(2,2),function(t,e,n){let r;try{r=YY(t[1],zY,n)}catch(o){throw new Error(`failed to parse first argument in palette expression: ${o.message}`)}const i=t[2];if(!Array.isArray(i))throw new Error("the second argument of palette must be an array");const s=new Array(i.length);for(let a=0;a<s.length;a++){let t;try{t=YY(i[a],NY,n)}catch(o){throw new Error(`failed to parse color at index ${a} in palette expression: ${o.message}`)}if(!(t instanceof GY))throw new Error(`the palette color at index ${a} must be a literal value`);s[a]=t}return[r,...s]}),[$X]:JX(KX(1,1),YX(FY|zY|DY|NY))};function WX(t,e,n){const r=t.length-1,i=new Array(r);for(let s=0;s<r;++s){const e=t[s+1];switch(typeof e){case"number":i[s]=new GY(zY,e);break;case"string":i[s]=new GY(DY,e);break;default:throw new Error(`expected a string key or numeric array index for a get operation, got ${e}`)}0===s&&n.properties.add(String(e))}return i}function HX(t,e,n){n.mapState=!0}function GX(t){const e=t[0];if(1!==t.length)throw new Error(`expected no arguments for ${e} operation`);return[]}function KX(t,e){return function(n){const r=n[0],i=n.length-1;if(t===e){if(i!==t)throw new Error(`expected ${t} argument${1===t?"":"s"} for ${r}, got ${i}`)}else if(i<t||i>e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${r}, got ${i}`)}}function ZX(t,e,n){const r=t.length-1,i=new Array(r);for(let s=0;s<r;++s){const r=YY(t[s+1],e,n);i[s]=r}return i}function YX(t){return function(e,n,r){const i=e.length-1,s=new Array(i);for(let o=0;o<i;++o){const n=YY(e[o+1],t,r);s[o]=n}return s}}function XX(t){const e=t[0],n=t.length-1;if(n%2==1)throw new Error(`expected an even number of arguments for operation ${e}, got ${n} instead`)}function JX(...t){return function(e,n,r){const i=e[0];let s;for(let o=0;o<t.length;o++){const i=t[o](e,n,r);if(o==t.length-1){if(!i)throw new Error("expected last argument validator to return the parsed args");s=i}}return new KY(n,i,...s)}}function QX(t){if(!t)return"";const e=t.getType();switch(e){case"Point":case"LineString":case"Polygon":return e;case"MultiPoint":case"MultiLineString":case"MultiPolygon":return e.substring(5);case"Circle":return"Polygon";case"GeometryCollection":return QX(t.getGeometries()[0]);default:return""}}function tJ(t,e,n){return eJ(YY(t,e,n))}function eJ(t){if(t instanceof GY){if(t.type===NY&&"string"==typeof t.value){const e=MY(t.value);return function(){return e}}return function(){return t.value}}const e=t.operator;switch(e){case FX:case zX:case PX:return function(t){const e=t.operator,n=t.args.length,r=new Array(n);for(let i=0;i<n;++i)r[i]=eJ(t.args[i]);switch(e){case PX:return t=>{for(let e=0;e<n;++e){const n=r[e](t);if(null!=n)return n}throw new Error("Expected one of the values to be non-null")};case FX:case zX:return t=>{for(let i=0;i<n;++i){const n=r[i](t);if(typeof n===e)return n}throw new Error(`Expected one of the values to be a ${e}`)};default:throw new Error(`Unsupported assertion operator ${e}`)}}(t);case XY:case JY:case qX:return function(t){const e=t.args[0].value;switch(t.operator){case XY:return n=>{const r=t.args;let i=n.properties[e];for(let t=1,e=r.length;t<e;++t)i=i[r[t].value];return i};case JY:return t=>t.variables[e];case qX:return n=>{const r=t.args;if(!(e in n.properties))return!1;let i=n.properties[e];for(let t=1,e=r.length;t<e;++t){const e=r[t].value;if(!i||!Object.hasOwn(i,e))return!1;i=i[e]}return!0};default:throw new Error(`Unsupported accessor operator ${t.operator}`)}}(t);case"id":return t=>t.featureId;case tX:return t=>t.geometryType;case QY:{const e=t.args.map(t=>eJ(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case sX:return t=>t.resolution;case nX:case rX:case LX:case OX:case"!":return function(t){const e=t.operator,n=t.args.length,r=new Array(n);for(let i=0;i<n;++i)r[i]=eJ(t.args[i]);switch(e){case nX:return t=>{for(let e=0;e<n;++e)if(r[e](t))return!0;return!1};case rX:return t=>{for(let e=0;e<n;++e)if(!r[e](t))return!1;return!0};case LX:return t=>{const e=r[0](t),n=r[1](t),i=r[2](t);return e>=n&&e<=i};case OX:return t=>{const e=r[0](t);for(let i=1;i<n;++i)if(e===r[i](t))return!0;return!1};case"!":return t=>!r[0](t);default:throw new Error(`Unsupported logical operator ${e}`)}}(t);case lX:case cX:case"<":case pX:case">":case hX:return function(t){const e=t.operator,n=eJ(t.args[0]),r=eJ(t.args[1]);switch(e){case lX:return t=>n(t)===r(t);case cX:return t=>n(t)!==r(t);case"<":return t=>n(t)<r(t);case pX:return t=>n(t)<=r(t);case">":return t=>n(t)>r(t);case hX:return t=>n(t)>=r(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case vX:case"%":case"^":case _X:case xX:case CX:case SX:case kX:case EX:case TX:case RX:return function(t){const e=t.operator,n=t.args.length,r=new Array(n);for(let i=0;i<n;++i)r[i]=eJ(t.args[i]);switch(e){case"*":return t=>{let e=1;for(let i=0;i<n;++i)e*=r[i](t);return e};case"/":return t=>r[0](t)/r[1](t);case"+":return t=>{let e=0;for(let i=0;i<n;++i)e+=r[i](t);return e};case"-":return t=>r[0](t)-r[1](t);case vX:return t=>{const e=r[0](t),n=r[1](t);if(e<n)return n;const i=r[2](t);return e>i?i:e};case"%":return t=>r[0](t)%r[1](t);case"^":return t=>Math.pow(r[0](t),r[1](t));case _X:return t=>Math.abs(r[0](t));case xX:return t=>Math.floor(r[0](t));case CX:return t=>Math.ceil(r[0](t));case SX:return t=>Math.round(r[0](t));case kX:return t=>Math.sin(r[0](t));case EX:return t=>Math.cos(r[0](t));case TX:return 2===n?t=>Math.atan2(r[0](t),r[1](t)):t=>Math.atan(r[0](t));case RX:return t=>Math.sqrt(r[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case AX:return function(t){const e=t.args.length,n=new Array(e);for(let r=0;r<e;++r)n[r]=eJ(t.args[r]);return t=>{for(let r=0;r<e-1;r+=2)if(n[r](t))return n[r+1](t);return n[e-1](t)}}(t);case MX:return function(t){const e=t.args.length,n=new Array(e);for(let r=0;r<e;++r)n[r]=eJ(t.args[r]);return t=>{const r=n[0](t);for(let i=1;i<e-1;i+=2)if(r===n[i](t))return n[i+1](t);return n[e-1](t)}}(t);case IX:return function(t){const e=t.args.length,n=new Array(e);for(let r=0;r<e;++r)n[r]=eJ(t.args[r]);return t=>{const r=n[0](t),i=n[1](t);let s,o;for(let a=2;a<e;a+=2){const e=n[a](t);let l=n[a+1](t);const c=Array.isArray(l);if(c&&(l=CY(l)),e>=i)return 2===a?l:c?rJ(r,i,s,o,e,l):nJ(r,i,s,o,e,l);s=e,o=l}return o}}(t);case $X:return function(t){const e=t.operator,n=t.args.length,r=new Array(n);for(let i=0;i<n;++i)r[i]=eJ(t.args[i]);if(e===$X)return e=>{const n=r[0](e);return t.args[0].type===NY?IY(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function nJ(t,e,n,r,i,s){const o=i-n;if(0===o)return r;const a=e-n;return r+(1===t?a/o:(Math.pow(t,a)-1)/(Math.pow(t,o)-1))*(s-r)}function rJ(t,e,n,r,i,s){if(0===i-n)return r;const o=RY(r),a=RY(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],r=t[2]*Math.PI/180,i=kY(e),s=kY(e+n/500*Math.cos(r)),o=kY(e-n/200*Math.sin(r)),a=SY(3.021973625*s-1.617392459*i-.404875592*o),l=SY(-.943766287*s+1.916279586*i+.027607165*o),c=SY(.069407491*s-.22898585*i+1.159737864*o);return[YV(a+.5|0,0,255),YV(l+.5|0,0,255),YV(c+.5|0,0,255),t[3]]}([nJ(t,e,n,o[0],i,a[0]),nJ(t,e,n,o[1],i,a[1]),o[2]+nJ(t,e,n,0,i,l),nJ(t,e,n,r[3],i,s[3])])}class iJ extends dV{constructor(t,e,n,r){super(),this.extent=t,this.pixelRatio_=n,this.resolution=e,this.state="function"==typeof r?0:r,this.image_=null,this.loader="function"==typeof r?r:null}changed(){this.dispatchEvent(Vq)}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;lV(()=>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||OV&&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 sJ(t,e,n){return e+":"+t+":"+(n?LY(n):"null")}const oJ=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 r=sJ(t,e,n);return r in this.cache_?this.cache_[r]:null}getPattern(t,e,n){const r=sJ(t,e,n);return r in this.patternCache_?this.patternCache_[r]:null}set(t,e,n,r,i){const s=sJ(t,e,n),o=s in this.cache_;this.cache_[s]=r,i&&(0===r.getImageState()&&r.load(),1===r.getImageState()?r.ready().then(()=>{this.patternCache_[s]=FK().createPattern(r.getImage(1),"repeat")}):this.patternCache_[s]=FK().createPattern(r.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let aJ=null;class lJ extends dV{constructor(t,e,n,r,i){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=n,this.canvas_={},this.color_=i,this.imageState_=void 0===r?0:r,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_){aJ||(aJ=AK(1,1,void 0,{willReadFrequently:!0})),aJ.drawImage(this.image_,0,0);try{aJ.getImageData(0,0,1,1),this.tainted_=!1}catch{aJ=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Vq)}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=AK(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&&AV?new Promise((e,n)=>t.decode().then(()=>e(t)).catch(r=>t.complete&&t.width?e(t):n(r))):function(t){return new Promise((e,n)=>{function r(){s(),e(t)}function i(){s(),n(new Error("Image load error"))}function s(){t.removeEventListener("load",r),t.removeEventListener("error",i)}t.addEventListener("load",r),t.addEventListener("error",i)})}(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=AK(Math.ceil(e.width*t),Math.ceil(e.height*t)),r=n.canvas;var i;n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(i=this.color_)?i:IY(i),n.fillRect(0,0,r.width/t,r.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=r}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(Vq,e),t())};this.addEventListener(Vq,e)}})),this.ready_}}function cJ(t,e,n,r,i,s){let o=void 0===e?void 0:oJ.get(e,n,i);return o||(o=new lJ(t,t&&"src"in t?t.src||void 0:e,n,r,i),oJ.set(e,n,i,o,s)),s&&o&&!oJ.getPattern(e,n,i)&&oJ.set(e,n,i,o,s),o}function uJ(t){return t?Array.isArray(t)?IY(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return oJ.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=oJ.getPattern(e,void 0,t.color);if(n)return n;const r=oJ.get(t.src,"anonymous",null);if(2!==r.getImageState())return null;const i=AK(t.size[0],t.size[1]);return i.drawImage(r.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),cJ(i.canvas,e,void 0,2,t.color,!0),oJ.getPattern(e,void 0,t.color)}(t):t:null}const hJ="10px sans-serif",dJ="#000",pJ="round",fJ=[],gJ="round",mJ="#000",yJ="center",vJ="middle",bJ=[0,0,0,0],wJ=new _V;let _J,xJ=null;const CJ={},SJ=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function kJ(t,e,n){return`${t} ${e} 16px "${n}"`}const EJ=function(){const t=100;let e,n;async function r(t){await n.ready;const e=await n.load(t);if(0===e.length)return!1;const r=PK(t),i=r.families[0].toLowerCase(),s=r.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=IK[t.weight]||t.weight;return e===i&&t.style===r.style&&n==s})}async function i(){await n.ready;let s=!0;const o=wJ.getProperties(),a=Object.keys(o).filter(e=>o[e]<t);for(let e=a.length-1;e>=0;--e){const n=a[e];let i=o[n];i<t&&(await r(n)?(cV(CJ),wJ.set(n,t)):(i+=10,wJ.set(n,i,!0),i<t&&(s=!1)))}e=void 0,s||(e=setTimeout(i,100))}return async function(t){n||(n=PV?self.fonts:document.fonts);const r=PK(t);if(!r)return;const s=r.families;let o=!1;for(const e of s){if(SJ.has(e))continue;const t=kJ(r.style,r.weight,e);void 0===wJ.get(t)&&(wJ.set(t,0,!0),o=!0)}o&&(clearTimeout(e),e=setTimeout(i,100))}}(),TJ=function(){let t;return function(e){let n=CJ[e];if(null==n){if(PV){const t=PK(e),r=RJ(e,"Žg");n=(isNaN(Number(t.lineHeight))?1.2:Number(t.lineHeight))*(r.actualBoundingBoxAscent+r.actualBoundingBoxDescent)}else t||(t=document.createElement("div"),t.innerHTML="M",t.style.minHeight="0",t.style.maxHeight="none",t.style.height="auto",t.style.padding="0",t.style.border="none",t.style.position="absolute",t.style.display="block",t.style.left="-99999px"),t.style.font=e,document.body.appendChild(t),n=t.offsetHeight,document.body.removeChild(t);CJ[e]=n}return n}}();function RJ(t,e){return xJ||(xJ=AK(1,1)),t!=_J&&(xJ.font=t,_J=xJ.font),xJ.measureText(e)}function MJ(t,e){return RJ(t,e).width}function LJ(t,e,n){if(e in n)return n[e];const r=e.split("\n").reduce((e,n)=>Math.max(e,MJ(t,n)),0);return n[e]=r,r}class IJ{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=AY(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new IJ({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 yV()}getImage(t){return yV()}getHitDetectionImage(){return yV()}getPixelRatio(t){return 1}getImageState(){return yV()}getImageSize(){return yV()}getOrigin(){return yV()}getSize(){return yV()}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_=AY(t)}listenImageChange(t){yV()}load(){yV()}unlistenImageChange(t){yV()}ready(){return Promise.resolve()}}class PJ extends IJ{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 PJ({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 r=oJ.get(n,null,null)?.getImage(1);if(!r){const e=this.renderOptions_,i=Math.ceil(e.size*t),s=AK(i,i);this.draw_(e,s,t),r=s.canvas,oJ.set(n,null,null,new lJ(r,void 0,null,2,null))}return r}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 r=this.radius,i=void 0===this.radius2_?r:this.radius2_;if(r<i){const t=r;r=i,i=t}const s=void 0===this.radius2_?this.points_:2*this.points_,o=2*Math.PI/s,a=i*Math.sin(o),l=r-Math.sqrt(i*i-a*a),c=Math.sqrt(a*a+l*l),u=c/a;if("miter"===t&&u<=n)return u*e;const h=e/2/u,d=e/2*(l/c),p=Math.sqrt((r+h)*(r+h)+d*d)-r;if(void 0===this.radius2_||"bevel"===t)return 2*p;const f=r*Math.sin(o),g=i-Math.sqrt(r*r-f*f),m=Math.sqrt(f*f+g*g)/f;if(m<=n){const t=m*e/2-i-r;return 2*Math.max(p,t)}return 2*p}createRenderOptions(){let t,e=pJ,n=gJ,r=0,i=null,s=0,o=0;this.stroke_&&(t=uJ(this.stroke_.getColor()??mJ),o=this.stroke_.getWidth()??1,i=this.stroke_.getLineDash(),s=this.stroke_.getLineDashOffset()??0,n=this.stroke_.getLineJoin()??gJ,e=this.stroke_.getLineCap()??pJ,r=this.stroke_.getMiterLimit()??10);const a=this.calculateLineJoinSize_(n,o,r),l=Math.max(this.radius,this.radius2_||0);return{strokeStyle:t,strokeWidth:o,size:Math.ceil(2*l+a),lineCap:e,lineDash:i,lineDashOffset:s,lineJoin:n,miterLimit:r}}render(){this.renderOptions_=this.createRenderOptions();const t=this.renderOptions_.size;this.hitDetectionCanvas_=null,this.size_=[t,t]}draw_(t,e,n){if(e.scale(n,n),e.translate(t.size/2,t.size/2),this.createPath_(e),this.fill_){let t=this.fill_.getColor();null===t&&(t=dJ),e.fillStyle=uJ(t),e.fill()}t.strokeStyle&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineCap=t.lineCap,e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}createHitDetectionCanvas_(t){let e;if(this.fill_){let n=this.fill_.getColor(),r=0;"string"==typeof n&&(n=LY(n)),null===n?r=1:Array.isArray(n)&&(r=4===n.length?n[3]:1),0===r&&(e=AK(t.size,t.size),this.drawHitDetectionCanvas_(t,e))}return e?e.canvas:this.getImage(1)}createPath_(t){let e=this.points_;const n=this.radius;if(e===1/0)t.arc(0,0,n,0,2*Math.PI);else{const r=void 0===this.radius2_?n:this.radius2_;void 0!==this.radius2_&&(e*=2);const i=this.angle_-Math.PI/2,s=2*Math.PI/e;for(let o=0;o<e;o++){const e=i+o*s,a=o%2==0?n:r;t.lineTo(a*Math.cos(e),a*Math.sin(e))}t.closePath()}}drawHitDetectionCanvas_(t,e){e.translate(t.size/2,t.size/2),this.createPath_(e),e.fillStyle=dJ,e.fill(),t.strokeStyle&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}ready(){return this.fill_?this.fill_.ready():Promise.resolve()}}class AJ extends PJ{constructor(t){super({points:1/0,fill:(t=t||{radius:5}).fill,radius:t.radius,stroke:t.stroke,scale:void 0!==t.scale?t.scale:1,rotation:void 0!==t.rotation?t.rotation:0,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode})}clone(){const t=this.getScale(),e=new AJ({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}setRadius(t){this.radius=t,this.render()}}class OJ{constructor(t){t=t||{},this.patternImage_=null,this.color_=null,void 0!==t.color&&this.setColor(t.color)}clone(){const t=this.getColor();return new OJ({color:Array.isArray(t)?t.slice():t||void 0})}getColor(){return this.color_}setColor(t){if(null!==t&&"object"==typeof t&&"src"in t){const e=cJ(null,t.src,"anonymous",void 0,t.offset?null:t.color?t.color:null,!(t.offset&&t.size));e.ready().then(()=>{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?bV(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:LY(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function FJ(t,e,n,r){return void 0!==n&&void 0!==r?[n/t,r/e]:void 0!==n?n/t:void 0!==r?r/e:1}class zJ extends IJ{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,n=void 0!==t.rotation?t.rotation:0,r=void 0!==t.scale?t.scale:1,i=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:n,scale:r,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:i,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(WV(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||bV(s)),WV(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),WV(!((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?LY(t.color):null,this.iconImage_=cJ(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 r=this.getImage(1);if(r.width&&r.height)e=r.width,n=r.height;else if(r instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(FJ(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(FJ(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 zJ({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_=cJ(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(Vq,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Vq,t)}ready(){return this.iconImage_.ready()}}class DJ{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 DJ({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 NJ{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=UJ,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 NJ({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_=UJ,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let jJ=null;function BJ(){if(!jJ){const t=new OJ({color:"rgba(255,255,255,0.4)"}),e=new DJ({color:"#3399CC",width:1.25});jJ=[new NJ({image:new AJ({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return jJ}function UJ(t){return t.getGeometry()}let $J=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_=AY(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 OJ({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 OJ?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_=AY(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 qJ(){return!0}function VJ(t){const e=ZY(),n=function(t,e){const n=t.length,r=new Array(n);for(let i=0;i<n;++i){const n=t[i],s="filter"in n?tJ(n.filter,FY,e):qJ;let o;if(Array.isArray(n.style)){const t=n.style.length;o=new Array(t);for(let r=0;r<t;++r)o[r]=HJ(n.style[r],e)}else o=[HJ(n.style,e)];r[i]={filter:s,styles:o}}return function(e){const i=[];let s=!1;for(let o=0;o<n;++o)if((0,r[o].filter)(e)&&(!t[o].else||!s)){s=!0;for(const t of r[o].styles){const n=t(e);n&&i.push(n)}}return i}}(t,e),r={variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""};return function(t,i){if(r.properties=t.getPropertiesInternal(),r.resolution=i,e.featureId){const e=t.getId();r.featureId=void 0!==e?e:null}return e.geometryType&&(r.geometryType=QX(t.getGeometry())),n(r)}}function WJ(t){const e=ZY(),n=t.length,r=new Array(n);for(let o=0;o<n;++o)r[o]=HJ(t[o],e);const i={variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""},s=new Array(n);return function(t,o){if(i.properties=t.getPropertiesInternal(),i.resolution=o,e.featureId){const e=t.getId();i.featureId=void 0!==e?e:null}let a=0;for(let e=0;e<n;++e){const t=r[e](i);t&&(s[a]=t,a+=1)}return s.length=a,s}}function HJ(t,e){const n=GJ(t,"",e),r=KJ(t,"",e),i=function(t,e){const n="text-",r=YJ(t,n+"value",e);if(!r)return null;const i=GJ(t,n,e),s=GJ(t,n+"background-",e),o=KJ(t,n,e),a=KJ(t,n+"background-",e),l=YJ(t,n+"font",e),c=ZJ(t,n+"max-angle",e),u=ZJ(t,n+"offset-x",e),h=ZJ(t,n+"offset-y",e),d=XJ(t,n+"overflow",e),p=YJ(t,n+"placement",e),f=ZJ(t,n+"repeat",e),g=nQ(t,n+"scale",e),m=XJ(t,n+"rotate-with-view",e),y=ZJ(t,n+"rotation",e),v=YJ(t,n+"align",e),b=YJ(t,n+"justify",e),w=YJ(t,n+"baseline",e),_=XJ(t,n+"keep-upright",e),x=QJ(t,n+"padding",e),C=oQ(t,n+"declutter-mode"),S=new $J({declutterMode:C});return function(t){if(S.setText(r(t)),i&&S.setFill(i(t)),s&&S.setBackgroundFill(s(t)),o&&S.setStroke(o(t)),a&&S.setBackgroundStroke(a(t)),l&&S.setFont(l(t)),c&&S.setMaxAngle(c(t)),u&&S.setOffsetX(u(t)),h&&S.setOffsetY(h(t)),d&&S.setOverflow(d(t)),p){const e=p(t);if("point"!==e&&"line"!==e)throw new Error("Expected point or line for text-placement");S.setPlacement(e)}if(f&&S.setRepeat(f(t)),g&&S.setScale(g(t)),m&&S.setRotateWithView(m(t)),y&&S.setRotation(y(t)),v){const e=v(t);if("left"!==e&&"center"!==e&&"right"!==e&&"end"!==e&&"start"!==e)throw new Error("Expected left, right, center, start, or end for text-align");S.setTextAlign(e)}if(b){const e=b(t);if("left"!==e&&"right"!==e&&"center"!==e)throw new Error("Expected left, right, or center for text-justify");S.setJustify(e)}if(w){const e=w(t);if("bottom"!==e&&"top"!==e&&"middle"!==e&&"alphabetic"!==e&&"hanging"!==e)throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");S.setTextBaseline(e)}return x&&S.setPadding(x(t)),_&&S.setKeepUpright(_(t)),S}}(t,e),s=function(t,e){return"icon-src"in t?function(t,e){const n="icon-",r=n+"src",i=lQ(t[r],r),s=tQ(t,n+"anchor",e),o=nQ(t,n+"scale",e),a=ZJ(t,n+"opacity",e),l=tQ(t,n+"displacement",e),c=ZJ(t,n+"rotation",e),u=XJ(t,n+"rotate-with-view",e),h=iQ(t,n+"anchor-origin"),d=sQ(t,n+"anchor-x-units"),p=sQ(t,n+"anchor-y-units"),f=function(t,e){const n=t[e];if(void 0!==n)return uQ(n,e)}(t,n+"color"),g=function(t,e){const n=t[e];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${e}`);return n}}(t,n+"cross-origin"),m=function(t,e){const n=t[e];if(void 0!==n)return aQ(n,e)}(t,n+"offset"),y=iQ(t,n+"offset-origin"),v=rQ(t,n+"width"),b=rQ(t,n+"height"),w=function(t,e){const n=t[e];if(void 0!==n){if("number"==typeof n)return AY(n);if(!Array.isArray(n))throw new Error(`Expected a number or size array for ${e}`);if(2!==n.length||"number"!=typeof n[0]||"number"!=typeof n[1])throw new Error(`Expected a number or size array for ${e}`);return n}}(t,n+"size"),_=oQ(t,n+"declutter-mode"),x=new zJ({src:i,anchorOrigin:h,anchorXUnits:d,anchorYUnits:p,color:f,crossOrigin:g,offset:m,offsetOrigin:y,height:b,width:v,size:w,declutterMode:_});return function(t){return a&&x.setOpacity(a(t)),l&&x.setDisplacement(l(t)),c&&x.setRotation(c(t)),u&&x.setRotateWithView(u(t)),o&&x.setScale(o(t)),s&&x.setAnchor(s(t)),x}}(t,e):"shape-points"in t?function(t,e){const n="shape-",r=n+"points",i=n+"radius",s=cQ(t[r],r),o=cQ(t[i],i),a=GJ(t,n,e),l=KJ(t,n,e),c=nQ(t,n+"scale",e),u=tQ(t,n+"displacement",e),h=ZJ(t,n+"rotation",e),d=XJ(t,n+"rotate-with-view",e),p=rQ(t,n+"radius2"),f=rQ(t,n+"angle"),g=oQ(t,n+"declutter-mode"),m=new PJ({points:s,radius:o,radius2:p,angle:f,declutterMode:g});return function(t){return a&&m.setFill(a(t)),l&&m.setStroke(l(t)),u&&m.setDisplacement(u(t)),h&&m.setRotation(h(t)),d&&m.setRotateWithView(d(t)),c&&m.setScale(c(t)),m}}(t,e):"circle-radius"in t?function(t,e){const n="circle-",r=GJ(t,n,e),i=KJ(t,n,e),s=ZJ(t,n+"radius",e),o=nQ(t,n+"scale",e),a=tQ(t,n+"displacement",e),l=ZJ(t,n+"rotation",e),c=XJ(t,n+"rotate-with-view",e),u=oQ(t,n+"declutter-mode"),h=new AJ({radius:5,declutterMode:u});return function(t){return s&&h.setRadius(s(t)),r&&h.setFill(r(t)),i&&h.setStroke(i(t)),a&&h.setDisplacement(a(t)),l&&h.setRotation(l(t)),c&&h.setRotateWithView(c(t)),o&&h.setScale(o(t)),h}}(t,e):null}(t,e),o=ZJ(t,"z-index",e);if(!(n||r||i||s||uV(t)))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(t));const a=new NJ;return function(t){let e=!0;if(n){const r=n(t);r&&(e=!1),a.setFill(r)}if(r){const n=r(t);n&&(e=!1),a.setStroke(n)}if(i){const n=i(t);n&&(e=!1),a.setText(n)}if(s){const n=s(t);n&&(e=!1),a.setImage(n)}return o&&a.setZIndex(o(t)),e?null:a}}function GJ(t,e,n){let r;if(e+"fill-pattern-src"in t)r=function(t,e,n){const r=YJ(t,e+"pattern-src",n),i=eQ(t,e+"pattern-offset",n),s=eQ(t,e+"pattern-size",n),o=JJ(t,e+"color",n);return function(t){return{src:r(t),offset:i&&i(t),size:s&&s(t),color:o&&o(t)}}}(t,e+"fill-",n);else{if("none"===t[e+"fill-color"])return()=>null;r=JJ(t,e+"fill-color",n)}if(!r)return null;const i=new OJ;return function(t){const e=r(t);return e===dY?null:(i.setColor(e),i)}}function KJ(t,e,n){const r=ZJ(t,e+"stroke-width",n),i=JJ(t,e+"stroke-color",n);if(!r&&!i)return null;const s=YJ(t,e+"stroke-line-cap",n),o=YJ(t,e+"stroke-line-join",n),a=QJ(t,e+"stroke-line-dash",n),l=ZJ(t,e+"stroke-line-dash-offset",n),c=ZJ(t,e+"stroke-miter-limit",n),u=new DJ;return function(t){if(i){const e=i(t);if(e===dY)return null;u.setColor(e)}if(r&&u.setWidth(r(t)),s){const e=s(t);if("butt"!==e&&"round"!==e&&"square"!==e)throw new Error("Expected butt, round, or square line cap");u.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");u.setLineJoin(e)}return a&&u.setLineDash(a(t)),l&&u.setLineDashOffset(l(t)),c&&u.setMiterLimit(c(t)),u}}function ZJ(t,e,n){if(!(e in t))return;const r=tJ(t[e],zY,n);return function(t){return cQ(r(t),e)}}function YJ(t,e,n){if(!(e in t))return null;const r=tJ(t[e],DY,n);return function(t){return lQ(r(t),e)}}function XJ(t,e,n){if(!(e in t))return null;const r=tJ(t[e],FY,n);return function(t){const n=r(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function JJ(t,e,n){if(!(e in t))return null;const r=tJ(t[e],NY,n);return function(t){return uQ(r(t),e)}}function QJ(t,e,n){if(!(e in t))return null;const r=tJ(t[e],jY,n);return function(t){return aQ(r(t),e)}}function tQ(t,e,n){if(!(e in t))return null;const r=tJ(t[e],jY,n);return function(t){const n=aQ(r(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function eQ(t,e,n){if(!(e in t))return null;const r=tJ(t[e],jY,n);return function(t){return hQ(r(t),e)}}function nQ(t,e,n){if(!(e in t))return null;const r=tJ(t[e],jY|zY,n);return function(t){return function(t,e){return"number"==typeof t?t:hQ(t,e)}(r(t),e)}}function rQ(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 iQ(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 sQ(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 oQ(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 aQ(t,e){if(!Array.isArray(t))throw new Error(`Expected an array for ${e}`);const n=t.length;for(let r=0;r<n;++r)if("number"!=typeof t[r])throw new Error(`Expected an array of numbers for ${e}`);return t}function lQ(t,e){if("string"!=typeof t)throw new Error(`Expected a string for ${e}`);return t}function cQ(t,e){if("number"!=typeof t)throw new Error(`Expected a number for ${e}`);return t}function uQ(t,e){if("string"==typeof t)return t;const n=aQ(t,e),r=n.length;if(r<3||r>4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return n}function hQ(t,e){const n=aQ(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const dQ="renderOrder";class pQ extends HZ{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(dQ)}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 XZ(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(dQ,t)}setStyle(t){this.style_=void 0===t?BJ:t;const e=function(t){if(void 0===t)return BJ;if(!t)return null;if("function"==typeof t)return t;if(t instanceof NJ)return t;if(!Array.isArray(t))return WJ([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof NJ){const n=new Array(e);for(let r=0;r<e;++r){const e=t[r];if(!(e instanceof NJ))throw new Error("Expected a list of style instances");n[r]=e}return n}if("style"in n){const n=new Array(e);for(let r=0;r<e;++r){const e=t[r];if(!("style"in e))throw new Error("Expected a list of rules with a style property");n[r]=e}return VJ(n)}return WJ(t)}(t);this.styleFunction_=null===t?void 0:function(t){let e;if("function"==typeof t)e=t;else{let n;Array.isArray(t)?n=t:(WV("function"==typeof t.getZIndex,"Expected an `Style` or an array of `Style`"),n=[t]),e=function(){return n}}return e}(e),this.changed()}setDeclutter(t){this.declutter_=t?String(t):void 0,this.changed()}}class fQ extends hV{constructor(t,e,n,r){super(t),this.inversePixelTransform=e,this.frameState=n,this.context=r}}class gQ extends Xq{constructor(t){super(),this.map_=t}dispatchRenderEvent(t,e){yV()}calculateMatrices2D(t){const e=t.viewState,n=t.coordinateToPixelTransform,r=t.pixelToCoordinateTransform;wG(n,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),_G(r,n)}forEachFeatureAtCoordinate(t,e,n,r,i,s,o,a){let l;const c=e.viewState;function u(t,e,n,r){return i.call(s,e,t?n:null,r)}const h=c.projection,d=HW(t.slice(),h),p=[[0,0]];if(h.canWrapX()&&r){const t=NW(h.getExtent());p.push([-t,0],[t,0])}const f=e.layerStatesArray,g=f.length,m=[],y=[];for(let b=0;b<p.length;b++)for(let r=g-1;r>=0;--r){const i=f[r],s=i.layer;if(s.hasRenderer()&&GZ(i,c)&&o.call(a,s)){const r=s.getRenderer(),o=s.getSource();if(r&&o){const s=o.getWrapX()?d:t,a=u.bind(null,i.managed);y[0]=s[0]+p[b][0],y[1]=s[1]+p[b][1],l=r.forEachFeatureAtCoordinate(y,e,n,a,m)}if(l)return l}}if(0===m.length)return;const v=1/m.length;return m.forEach((t,e)=>t.distanceSq+=e*v),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,r,i,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,n,r,iV,this,i,s)}getMap(){return this.map_}renderFrame(t){yV()}scheduleExpireIconCache(t){oJ.canExpireCache()&&t.postRenderFunctions.push(mQ)}}function mQ(){oJ.expire()}class yQ extends gQ{constructor(t){super(t),this.fontChangeListenerKey_=pV(wJ,qq,t.redrawText,t),this.element_=PV?UK():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=EK+" 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 r=new fQ(t,void 0,e);n.dispatchEvent(r)}}disposeInternal(){gV(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(VZ,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof pQ&&t.layer.getDeclutter())&&(t.declutter={});const n=t.viewState;this.children_.length=0;const r=[];let i=null;for(let o=0,a=e.length;o<a;++o){const s=e[o];t.layerIndex=o;const a=s.layer,l=a.getSourceState();if(!GZ(s,n)||"ready"!=l&&"undefined"!=l){a.unrender();continue}const c=a.render(t,i);c&&(c!==i&&(this.children_.push(c),i=c),r.push(s))}this.declutter(t,r),function(t,e){const n=t.childNodes;for(let r=0;;++r){const i=n[r],s=e[r];if(!i&&!s)break;i!==s&&(i?s?t.insertBefore(s,i):(t.removeChild(i),--r):t.appendChild(s))}}(this.element_,this.children_);const s=this.getMap().getTargetElement();if($K(s)){const t=s.getContext("2d");for(const e of this.children_){const n=e.firstElementChild||e,r=e.style.backgroundColor;if(r&&(!$K(n)||n.width>0)&&(t.fillStyle=r,t.fillRect(0,0,s.width,s.height)),$K(n)&&n.width>0){const r=e.style.opacity||n.style.opacity;t.globalAlpha=""===r?1:Number(r);const i=n.style.transform;if(i)t.setTransform(...CG(i));else{const e=parseFloat(n.style.width)/n.width,r=parseFloat(n.style.height)/n.height;t.setTransform(e,0,0,r,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 r=e[n],i=r.layer;i.getDeclutter()&&i.renderDeclutter(t,r)}e.forEach(e=>e.layer.renderDeferred(t))}}}function vQ(t){t instanceof HZ?t.setMapInternal(null):t instanceof UZ&&t.getLayers().forEach(vQ)}function bQ(t,e){if(t instanceof HZ)t.setMapInternal(e);else if(t instanceof UZ){const n=t.getLayers().getArray();for(let t=0,r=n.length;t<r;++t)bQ(n[t],e)}}let wQ=class extends _V{constructor(t){super(),t=t||{},this.on,this.once,this.un;const e=function(t){let e=null;void 0!==t.keyboardEventTarget&&(e="string"==typeof t.keyboardEventTarget?document.getElementById(t.keyboardEventTarget):t.keyboardEventTarget);const n={},r=t.layers&&"function"==typeof t.layers.getLayers?t.layers:new UZ({layers:t.layers});let i,s,o;return n[UV]=r,n[qV]=t.target,n[VV]=t.view instanceof _K?t.view:new _K,void 0!==t.controls&&(Array.isArray(t.controls)?i=new SV(t.controls.slice()):(WV("function"==typeof t.controls.getArray,"Expected `controls` to be an array or an `ol/Collection.js`"),i=t.controls)),void 0!==t.interactions&&(Array.isArray(t.interactions)?s=new SV(t.interactions.slice()):(WV("function"==typeof t.interactions.getArray,"Expected `interactions` to be an array or an `ol/Collection.js`"),s=t.interactions)),void 0!==t.overlays?Array.isArray(t.overlays)?o=new SV(t.overlays.slice()):(WV("function"==typeof t.overlays.getArray,"Expected `overlays` to be an array or an `ol/Collection.js`"),o=t.overlays):o=new SV,{controls:i,interactions:s,keyboardEventTarget:e,overlays:o,values:n}}(t);this.renderComplete_=!1,this.loaded_=!0,this.boundHandleBrowserEvent_=this.handleBrowserEvent.bind(this),this.maxTilesLoading_=void 0!==t.maxTilesLoading?t.maxTilesLoading:16,this.pixelRatio_=void 0!==t.pixelRatio?t.pixelRatio:IV,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=[1,0,0,1,0,0],this.pixelToCoordinateTransform_=[1,0,0,1,0,0],this.frameIndex_=0,this.frameState_=null,this.previousExtent_=null,this.viewPropertyListenerKey_=null,this.viewChangeListenerKey_=null,this.layerGroupPropertyListenerKeys_=null,PV||(this.viewport_=document.createElement("div"),this.viewport_.className="ol-viewport"+("ontouchstart"in window?" ol-touch":""),this.viewport_.style.position="relative",this.viewport_.style.overflow="hidden",this.viewport_.style.width="100%",this.viewport_.style.height="100%",this.overlayContainer_=document.createElement("div"),this.overlayContainer_.style.position="absolute",this.overlayContainer_.style.zIndex="0",this.overlayContainer_.style.width="100%",this.overlayContainer_.style.height="100%",this.overlayContainer_.style.pointerEvents="none",this.overlayContainer_.className="ol-overlaycontainer",this.viewport_.appendChild(this.overlayContainer_),this.overlayContainerStopEvent_=document.createElement("div"),this.overlayContainerStopEvent_.style.position="absolute",this.overlayContainerStopEvent_.style.zIndex="0",this.overlayContainerStopEvent_.style.width="100%",this.overlayContainerStopEvent_.style.height="100%",this.overlayContainerStopEvent_.style.pointerEvents="none",this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent",this.viewport_.appendChild(this.overlayContainerStopEvent_)),this.mapBrowserEventHandler_=null,this.moveTolerance_=t.moveTolerance,this.keyboardEventTarget_=e.keyboardEventTarget,this.targetChangeHandlerKeys_=null,this.targetElement_=null,PV||(this.resizeObserver_=new ResizeObserver(()=>this.updateSize())),this.controls=e.controls||(PV?new SV:GK()),this.interactions=e.interactions||(PV?new SV:EZ({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new KV(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(UV,this.handleLayerGroupChanged_),this.addChangeListener(VV,this.handleViewChanged_),this.addChangeListener($V,this.handleSizeChanged_),this.addChangeListener(qV,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof _K||t.view.then(function(t){n.setView(new _K(t))}),this.controls.addEventListener(Uq,t=>{t.element.setMap(this)}),this.controls.addEventListener($q,t=>{t.element.setMap(null)}),this.interactions.addEventListener(Uq,t=>{t.element.setMap(this)}),this.interactions.addEventListener($q,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(Uq,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener($q,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){bQ(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 r=this.getCoordinateFromPixelInternal(t),i=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,s=void 0!==n.layerFilter?n.layerFilter:iV,o=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(r,this.frameState_,i,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 UZ?e(n.getLayers()):t.push(n)})}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(t),r=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:iV,i=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,i,s,r,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(),r=e.width/n[0],i=e.height/n[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/r,(s.clientY-e.top)/i]}getTarget(){return this.get(qV)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return lG(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?vG(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(UV)}setLayers(t){const e=this.getLayerGroup();if(t instanceof SV)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<n;++e){const n=t[e];if(!n.visible)continue;const r=n.layer.getRenderer();if(r&&!r.ready)return!0;const i=n.layer.getSource();if(i&&i.loading)return!0}return!1}getPixelFromCoordinate(t){const e=cG(t,this.getView().getProjection());return this.getPixelFromCoordinateInternal(e)}getPixelFromCoordinateInternal(t){const e=this.frameState_;return e?vG(e.coordinateToPixelTransform,t.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get($V)}getView(){return this.get(VV)}getViewport(){return this.viewport_}getOverlayContainer(){return this.overlayContainer_}getOverlayContainerStopEvent(){return this.overlayContainerStopEvent_}getOwnerDocument(){const t=this.getTargetElement();return t?t.ownerDocument:document}getTilePriority(t,e,n,r){return function(t,e,n,r,i){if(!t||!(n in t.wantedTiles))return HV;if(!t.wantedTiles[n][e.getKey()])return HV;const s=t.viewState.center,o=r[0]-s[0],a=r[1]-s[1];return 65536*Math.log(i)+Math.sqrt(o*o+a*a)/i}(this.frameState_,t,e,n,r)}handleBrowserEvent(t,e){e=e||t.type;const n=new EV(e,this,t);this.handleMapBrowserEvent(n)}handleMapBrowserEvent(t){if(!this.frameState_)return;const e=t.originalEvent,n=e.type;if(n===zV||n===Yq||n===Gq){const t=this.getOwnerDocument(),n=this.viewport_.getRootNode?this.viewport_.getRootNode():t,r=e.target,i=n instanceof ShadowRoot?n.host===r?n.host.ownerDocument:n:n===t?t.documentElement:n;if(this.overlayContainerStopEvent_.contains(r)||!i.contains(r))return}if(t.frameState=this.frameState_,!1!==this.dispatchEvent(t)){const e=this.getInteractions().getArray().slice();for(let n=e.length-1;n>=0;n--){const r=e[n];if(r.getMap()===this&&r.getActive()&&this.getTargetElement()&&(!r.handleEvent(t)||t.propagationStopped))break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,r=n;if(t){const e=t.viewHints;if(e[0]||e[1]){const e=Date.now()-t.time>8;n=e?0:8,r=e?0:2}}e.getTilesLoading()<n&&(e.reprioritize(),e.loadMoreTiles(n,r))}t&&this.renderer_&&!t.animate&&(this.renderComplete_?(this.hasListener(WZ)&&this.renderer_.dispatchRenderEvent(WZ,t),!1===this.loaded_&&(this.loaded_=!0,this.dispatchEvent(new kV(BV,this,t)))):!0===this.loaded_&&(this.loaded_=!1,this.dispatchEvent(new kV(jV,this,t))));const n=this.postRenderFunctions_;if(t)for(let r=0,i=n.length;r<i;++r)n[r](this,t);n.length=0}handleSizeChanged_(){this.getView()&&!this.getView().getAnimating()&&this.getView().resolveConstraints(0),this.render()}handleTargetChanged_(){if(this.mapBrowserEventHandler_){for(let t=0,e=this.targetChangeHandlerKeys_.length;t<e;++t)gV(this.targetChangeHandlerKeys_[t]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(Wq,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(Yq,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,this.viewport_.remove()}if(this.targetElement_&&!$K(this.targetElement_)){this.resizeObserver_?.unobserve(this.targetElement_);const t=this.targetElement_.getRootNode();t instanceof ShadowRoot&&this.resizeObserver_.unobserve(t.host),this.setSize(void 0)}const t=this.getTarget(),e="string"==typeof t?document.getElementById(t):t;if(this.targetElement_=e,e){if($K(e)||e.appendChild(this.viewport_),this.renderer_||(this.renderer_=new yQ(this)),!$K(e)){this.mapBrowserEventHandler_=new DV(this,this.moveTolerance_);for(const e in TV)this.mapBrowserEventHandler_.addEventListener(TV[e],this.handleMapBrowserEvent.bind(this));let t;if(this.viewport_.addEventListener(Wq,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(Yq,this.boundHandleBrowserEvent_,!!FV&&{passive:!1}),this.keyboardEventTarget_)t=this.keyboardEventTarget_;else{const n=e.getRootNode();t=n instanceof ShadowRoot?n.host:e}if(this.targetChangeHandlerKeys_=[pV(t,Gq,this.handleBrowserEvent,this),pV(t,Kq,this.handleBrowserEvent,this)],e instanceof HTMLElement){const t=e.getRootNode();t instanceof ShadowRoot&&this.resizeObserver_.observe(t.host),this.resizeObserver_?.observe(e)}}this.updateSize()}else this.renderer_&&(clearTimeout(this.postRenderTimeoutHandle_),this.postRenderTimeoutHandle_=void 0,this.postRenderFunctions_.length=0,this.renderer_.dispose(),this.renderer_=null),this.animationDelayKey_&&(cancelAnimationFrame(this.animationDelayKey_),this.animationDelayKey_=void 0)}handleTileChange_(){this.render()}handleViewPropertyChanged_(){this.render()}handleViewChanged_(){this.viewPropertyListenerKey_&&(gV(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(gV(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);const t=this.getView();t&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=pV(t,qq,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=pV(t,Vq,this.handleViewPropertyChanged_,this),t.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(gV),this.layerGroupPropertyListenerKeys_=null);const t=this.getLayerGroup();t&&(this.handleLayerAdd_(new jZ("addlayer",t)),this.layerGroupPropertyListenerKeys_=[pV(t,qq,this.render,this),pV(t,Vq,this.render,this),pV(t,"addlayer",this.handleLayerAdd_,this),pV(t,"removelayer",this.handleLayerRemove_,this)]),this.render()}isRendered(){return!!this.frameState_}animationDelay_(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}renderSync(){this.animationDelayKey_&&cancelAnimationFrame(this.animationDelayKey_),this.animationDelay_()}redrawText(){if(!this.frameState_)return;const t=this.frameState_.layerStatesArray;for(let e=0,n=t.length;e<n;++e){const n=t[e].layer;n.hasRenderer()&&n.getRenderer().handleFontsChanged()}}render(){this.renderer_&&void 0===this.animationDelayKey_&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}removeControl(t){return this.getControls().remove(t)}removeInteraction(t){return this.getInteractions().remove(t)}removeLayer(t){return this.getLayerGroup().getLayers().remove(t)}handleLayerRemove_(t){vQ(t.layer)}removeOverlay(t){return this.getOverlays().remove(t)}renderFrame_(t){const e=this.getSize(),n=this.getView(),r=this.frameState_;let i=null;if(void 0!==e&&PY(e)&&n&&n.isDef()){const r=n.getHints(this.frameState_?this.frameState_.viewHints:void 0),s=n.getState();if(i={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutter:null,extent:PW(s.center,s.resolution,s.rotation,e),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:e,tileQueue:this.tileQueue_,time:t,usedTiles:{},viewState:s,viewHints:r,wantedTiles:{},mapId:bV(this),renderTargets:{}},s.nextCenter&&s.nextResolution){const t=isNaN(s.nextRotation)?s.rotation:s.nextRotation;i.nextExtent=PW(s.nextCenter,s.nextResolution,t,e)}}this.frameState_=i,this.renderer_.renderFrame(i),i&&(i.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,i.postRenderFunctions),r&&(!this.previousExtent_||!BW(this.previousExtent_)&&!_W(i.extent,this.previousExtent_))&&(this.dispatchEvent(new kV("movestart",this,r)),this.previousExtent_=vW(this.previousExtent_)),this.previousExtent_&&!i.viewHints[0]&&!i.viewHints[1]&&!_W(i.extent,this.previousExtent_)&&(this.dispatchEvent(new kV("moveend",this,i)),hW(i.extent,this.previousExtent_))),this.dispatchEvent(new kV(NV,this,i)),this.renderComplete_=(this.hasListener(jV)||this.hasListener(BV)||this.hasListener(WZ))&&!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady(),this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout(()=>{this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new jZ("removelayer",e)),this.set(UV,t)}setSize(t){this.set($V,t)}setTarget(t){this.set(qV,t)}setView(t){if(!t||t instanceof _K)return void this.set(VV,t);this.set(VV,new _K);const e=this;t.then(function(t){e.setView(new _K(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,r;if($K(t))n=t.width,r=t.height;else{const e=getComputedStyle(t);n=t.offsetWidth-parseFloat(e.borderLeftWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderRightWidth),r=t.offsetHeight-parseFloat(e.borderTopWidth)-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)-parseFloat(e.borderBottomWidth)}isNaN(n)||isNaN(r)||(e=[Math.max(0,n),Math.max(0,r)],!PY(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&tH("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&rV(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};const _Q="element",xQ="map",CQ="offset",SQ="position",kQ="positioning";class EQ extends _V{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(_Q,this.handleElementChanged),this.addChangeListener(xQ,this.handleMapChanged),this.addChangeListener(CQ,this.handleOffsetChanged),this.addChangeListener(SQ,this.handlePositionChanged),this.addChangeListener(kQ,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(_Q)}getId(){return this.id}getMap(){return this.get(xQ)||null}getOffset(){return this.get(CQ)}getPosition(){return this.get(SQ)}getPositioning(){return this.get(kQ)}handleElementChanged(){BK(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),gV(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=pV(t,NV,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(_Q,t)}setMap(t){this.set(xQ,t)}setOffset(t){this.set(CQ,t)}setPosition(t){this.set(SQ,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(SQ))return;const n=this.getRect(e.getTargetElement(),e.getSize()),r=this.getElement(),i=this.getRect(r,[DK(r),NK(r)]),s=void 0===(t=t||{}).margin?20:t.margin;if(!fW(n,i)){const r=i[0]-n[0],o=n[2]-i[2],a=i[1]-n[1],l=n[3]-i[3],c=[0,0];if(r<0?c[0]=r-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(),r=e.getPixelFromCoordinateInternal(n);if(!r)return;const i=[r[0]+c[0],r[1]+c[1]],s=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(i),duration:s.duration,easing:s.easing})}}}getRect(t,e){const n=t.getBoundingClientRect(),r=n.left+window.pageXOffset,i=n.top+window.pageYOffset;return[r,i,r+e[0],i+e[1]]}setPositioning(t){this.set(kQ,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),r=t.getSize();this.updateRenderedPosition(n,r)}updateRenderedPosition(t,e){const n=this.element.style,r=this.getOffset(),i=this.getPositioning();this.setVisible(!0);let s="0%",o="0%";"bottom-right"==i||"center-right"==i||"top-right"==i?s="-100%":"bottom-center"!=i&&"center-center"!=i&&"top-center"!=i||(s="-50%"),"bottom-left"==i||"bottom-center"==i||"bottom-right"==i?o="-100%":"center-left"!=i&&"center-center"!=i&&"center-right"!=i||(o="-50%");const a=`translate(${s}, ${o}) translate(${t[0]+r[0]}px, ${t[1]+r[1]}px)`;this.rendered.transform_!=a&&(this.rendered.transform_=a,n.transform=a)}getOptions(){return this.options}}class TQ extends _V{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 TQ(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_&&(gV(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=pV(t,Vq,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:(WV("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 RQ(t,e,n,r,i,s,o){let a,l;const c=(n-e)/r;if(1===c)a=e;else if(2===c)a=e,l=i;else if(0!==c){let s=t[e],o=t[e+1],c=0;const u=[0];for(let i=e+r;i<n;i+=r){const e=t[i],n=t[i+1];c+=Math.sqrt((e-s)*(e-s)+(n-o)*(n-o)),u.push(c),s=e,o=n}const h=i*c,d=function(t,e,n){let r,i;n=n||Jq;let s=0,o=t.length,a=!1;for(;s<o;)r=s+(o-s>>1),i=+n(t[r],e),i<0?s=r+1:(o=r,a=!i);return a?s:~s}(u,h);d<0?(l=(h-u[-d-2])/(u[-d-1]-u[-d-2]),a=e+(-d-2)*r):a=e+d*r}o=o>1?o:2,s=s||new Array(o);for(let u=0;u<o;++u)s[u]=void 0===a?NaN:void 0===l?t[a+u]:nW(t[a+u],t[a+r+u],l);return s}function MQ(t,e,n,r,i,s){if(n==e)return null;let o;if(i<t[e+r-1])return s?(o=t.slice(e,e+r),o[r-1]=i,o):null;if(t[n-1]<i)return s?(o=t.slice(n-r,n),o[r-1]=i,o):null;if(i==t[e+r-1])return t.slice(e,e+r);let a=e/r,l=n/r;for(;a<l;){const e=a+l>>1;i<t[(e+1)*r-1]?l=e:a=e+1}const c=t[a*r-1];if(i==c)return t.slice((a-1)*r,(a-1)*r+r);const u=(i-c)/(t[(a+1)*r-1]-c);o=[];for(let h=0;h<r-1;++h)o.push(nW(t[(a-1)*r+h],t[a*r+h],u));return o.push(i),o}function LQ(t,e,n,r){let i=t[e],s=t[e+1],o=0;for(let a=e+r;a<n;a+=r){const e=t[a],n=t[a+1];o+=Math.sqrt((e-i)*(e-i)+(n-s)*(n-s)),i=e,s=n}return o}class IQ extends MG{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}appendCoordinate(t){nV(this.flatCoordinates,t),this.changed()}clone(){const t=new IQ(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,r){return r<dW(this.getExtent(),t,e)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(FG(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),DG(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,n,r))}forEachSegment(t){return rK(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinateAtM(t,e){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(e=void 0!==e&&e,MQ(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return $G(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return RQ(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return LQ(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=WG(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new IQ(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return iK(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,this.getExtent())}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=jG(this.flatCoordinates,0,t,this.stride),this.changed()}}class PQ extends MG{constructor(t,e,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(t[0]))this.setCoordinates(t,e);else if(void 0!==e&&n)this.setFlatCoordinates(e,t),this.ends_=n;else{const e=t,n=[],r=[];for(let t=0,s=e.length;t<s;++t)nV(n,e[t].getFlatCoordinates()),r.push(n.length);const i=0===e.length?this.getLayout():e[0].getLayout();this.setFlatCoordinates(i,n),this.ends_=r}}appendLineString(t){nV(this.flatCoordinates,t.getFlatCoordinates().slice()),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const t=new PQ(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}closestPointXY(t,e,n,r){return r<dW(this.getExtent(),t,e)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(zG(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),NG(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!1,t,e,n,r))}getCoordinateAtM(t,e,n){return"XYM"!=this.layout&&"XYZM"!=this.layout||0===this.flatCoordinates.length?null:(e=void 0!==e&&e,n=void 0!==n&&n,function(t,e,n,r,i,s,o){if(o)return MQ(t,e,n[n.length-1],r,i,s);let a;if(i<t[r-1])return s?(a=t.slice(0,r),a[r-1]=i,a):null;if(t[t.length-1]<i)return s?(a=t.slice(t.length-r),a[r-1]=i,a):null;for(let l=0,c=n.length;l<c;++l){const s=n[l];if(e!=s){if(i<t[e+r-1])return null;if(i<=t[s-1])return MQ(t,e,s,r,i,!1);e=s}}return null}(this.flatCoordinates,0,this.ends_,this.stride,t,e,n))}getCoordinates(){return qG(this.flatCoordinates,0,this.ends_,this.stride)}getEnds(){return this.ends_}getLineString(t){return t<0||this.ends_.length<=t?null:new IQ(this.flatCoordinates.slice(0===t?0:this.ends_[t-1],this.ends_[t]),this.layout)}getLineStrings(){const t=this.flatCoordinates,e=this.ends_,n=this.layout,r=[];let i=0;for(let s=0,o=e.length;s<o;++s){const o=e[s],a=new IQ(t.slice(i,o),n);r.push(a),i=o}return r}getLength(){const t=this.ends_;let e=0,n=0;for(let r=0,i=t.length;r<i;++r)n+=LQ(this.flatCoordinates,e,t[r],this.stride),e=t[r];return n}getFlatMidpoints(){const t=[],e=this.flatCoordinates;let n=0;const r=this.ends_,i=this.stride;for(let s=0,o=r.length;s<o;++s){const o=r[s];nV(t,RQ(e,n,o,i,.5)),n=o}return t}getSimplifiedGeometryInternal(t){const e=[],n=[];return e.length=HG(this.flatCoordinates,0,this.ends_,this.stride,t,e,0,n),new PQ(e,"XY",n)}getType(){return"MultiLineString"}intersectsExtent(t){return function(t,e,n,r,i){for(let s=0,o=n.length;s<o;++s){if(iK(t,e,n[s],r,i))return!0;e=n[s]}return!1}(this.flatCoordinates,0,this.ends_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,2),this.flatCoordinates||(this.flatCoordinates=[]);const n=BG(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=0===n.length?0:n[n.length-1],this.changed()}}class AQ extends MG{constructor(t,e){super(),e&&!Array.isArray(t[0])?this.setFlatCoordinates(e,t):this.setCoordinates(t,e)}appendPoint(t){nV(this.flatCoordinates,t.getFlatCoordinates()),this.changed()}clone(){const t=new AQ(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,r){if(r<dW(this.getExtent(),t,e))return r;const i=this.flatCoordinates,s=this.stride;for(let o=0,a=i.length;o<a;o+=s){const a=JV(t,e,i[o],i[o+1]);if(a<r){r=a;for(let t=0;t<s;++t)n[t]=i[o+t];n.length=s}}return r}getCoordinates(){return $G(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getPoint(t){const e=this.flatCoordinates.length/this.stride;return t<0||e<=t?null:new XG(this.flatCoordinates.slice(t*this.stride,(t+1)*this.stride),this.layout)}getPoints(){const t=this.flatCoordinates,e=this.layout,n=this.stride,r=[];for(let i=0,s=t.length;i<s;i+=n){const s=new XG(t.slice(i,i+n),e);r.push(s)}return r}getType(){return"MultiPoint"}intersectsExtent(t){const e=this.flatCoordinates,n=this.stride;for(let r=0,i=e.length;r<i;r+=n)if(gW(t,e[r],e[r+1]))return!0;return!1}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=jG(this.flatCoordinates,0,t,this.stride),this.changed()}}function OQ(t,e,n,r){const i=[];let s=[1/0,1/0,-1/0,-1/0];for(let o=0,a=n.length;o<a;++o){const a=n[o];s=wW(t,e,a[0],r),i.push((s[0]+s[2])/2,(s[1]+s[3])/2),e=a[a.length-1]}return i}class FQ extends MG{constructor(t,e,n){if(super(),this.endss_=[],this.flatInteriorPointsRevision_=-1,this.flatInteriorPoints_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,!n&&!Array.isArray(t[0])){const r=t,i=[],s=[];for(let t=0,e=r.length;t<e;++t){const e=r[t],n=i.length,o=e.getEnds();for(let t=0,r=o.length;t<r;++t)o[t]+=n;nV(i,e.getFlatCoordinates()),s.push(o)}e=0===r.length?this.getLayout():r[0].getLayout(),t=i,n=s}void 0!==e&&n?(this.setFlatCoordinates(e,t),this.endss_=n):this.setCoordinates(t,e)}appendPolygon(t){let e;if(this.flatCoordinates){const n=this.flatCoordinates.length;nV(this.flatCoordinates,t.getFlatCoordinates()),e=t.getEnds().slice();for(let t=0,r=e.length;t<r;++t)e[t]+=n}else this.flatCoordinates=t.getFlatCoordinates().slice(),e=t.getEnds().slice(),this.endss_.push();this.endss_.push(e),this.changed()}clone(){const t=this.endss_.length,e=new Array(t);for(let r=0;r<t;++r)e[r]=this.endss_[r].slice();const n=new FQ(this.flatCoordinates.slice(),this.layout,e);return n.applyProperties(this),n}closestPointXY(t,e,n,r){return r<dW(this.getExtent(),t,e)?r:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(function(t,e,n,r,i){for(let s=0,o=n.length;s<o;++s){const o=n[s];i=zG(t,e,o,r,i),e=o[o.length-1]}return i}(this.flatCoordinates,0,this.endss_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),function(t,e,n,r,i,s,o,a,l,c,u){u=u||[NaN,NaN];for(let h=0,d=n.length;h<d;++h){const s=n[h];c=NG(t,e,s,r,i,!0,o,a,l,c,u),e=s[s.length-1]}return c}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,this.maxDelta_,0,t,e,n,r))}containsXY(t,e){return function(t,e,n,r,i,s){if(0===n.length)return!1;for(let o=0,a=n.length;o<a;++o){const a=n[o];if(tK(t,e,a,r,i,s))return!0;e=a[a.length-1]}return!1}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t,e)}getArea(){return function(t,e,n,r){let i=0;for(let s=0,o=n.length;s<o;++s){const o=n[s];i+=AG(t,e,o,r),e=o[o.length-1]}return i}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride)}getCoordinates(t){let e;return void 0!==t?(e=this.getOrientedFlatCoordinates().slice(),dK(e,0,this.endss_,this.stride,t)):e=this.flatCoordinates,VG(e,0,this.endss_,this.stride)}getEndss(){return this.endss_}getFlatInteriorPoints(){if(this.flatInteriorPointsRevision_!=this.getRevision()){const t=OQ(this.flatCoordinates,0,this.endss_,this.stride);this.flatInteriorPoints_=nK(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t),this.flatInteriorPointsRevision_=this.getRevision()}return this.flatInteriorPoints_}getInteriorPoints(){return new AQ(this.getFlatInteriorPoints().slice(),"XYM")}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const t=this.flatCoordinates;uK(t,0,this.endss_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=dK(this.orientedFlatCoordinates_,0,this.endss_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(t){const e=[],n=[];return e.length=function(t,e,n,r,i,s,o,a){for(let l=0,c=n.length;l<c;++l){const c=n[l],u=[];o=ZG(t,e,c,r,i,s,o,u),a.push(u),e=c[c.length-1]}return o}(this.flatCoordinates,0,this.endss_,this.stride,Math.sqrt(t),e,0,n),new FQ(e,"XY",n)}getPolygon(t){if(t<0||this.endss_.length<=t)return null;let e;if(0===t)e=0;else{const n=this.endss_[t-1];e=n[n.length-1]}const n=this.endss_[t].slice(),r=n[n.length-1];if(0!==e)for(let i=0,s=n.length;i<s;++i)n[i]-=e;return new fK(this.flatCoordinates.slice(e,r),this.layout,n)}getPolygons(){const t=this.layout,e=this.flatCoordinates,n=this.endss_,r=[];let i=0;for(let s=0,o=n.length;s<o;++s){const o=n[s].slice(),a=o[o.length-1];if(0!==i)for(let t=0,e=o.length;t<e;++t)o[t]-=i;const l=new fK(e.slice(i,a),t,o);r.push(l),i=a}return r}getType(){return"MultiPolygon"}intersectsExtent(t){return function(t,e,n,r,i){for(let s=0,o=n.length;s<o;++s){const o=n[s];if(oK(t,e,o,r,i))return!0;e=o[o.length-1]}return!1}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,t)}setCoordinates(t,e){this.setLayout(e,t,3),this.flatCoordinates||(this.flatCoordinates=[]);const n=UG(this.flatCoordinates,0,t,this.stride,this.endss_);if(0===n.length)this.flatCoordinates.length=0;else{const t=n[n.length-1];this.flatCoordinates.length=0===t.length?0:t[t.length-1]}this.changed()}}class zQ{drawCustom(t,e,n,r,i){}drawGeometry(t){}setStyle(t){}drawCircle(t,e,n){}drawFeature(t,e,n){}drawGeometryCollection(t,e,n){}drawLineString(t,e,n){}drawMultiLineString(t,e,n){}drawMultiPoint(t,e,n){}drawMultiPolygon(t,e,n){}drawPoint(t,e,n){}drawPolygon(t,e,n){}drawText(t,e,n){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const DQ=11,NQ=[8],jQ=[12],BQ=[1],UQ=[3];class $Q extends zQ{constructor(t,e,n,r){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=r,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return 1==e?t:t.map(function(t){return t*e})}appendFlatPointCoordinates(t,e){const n=this.getBufferedMaxExtent(),r=this.tmpCoordinate_,i=this.coordinates;let s=i.length;for(let o=0,a=t.length;o<a;o+=e)r[0]=t[o],r[1]=t[o+1],pW(n,r)&&(i[s++]=r[0],i[s++]=r[1]);return s}appendFlatLineCoordinates(t,e,n,r,i,s){const o=this.coordinates;let a=o.length;const l=this.getBufferedMaxExtent();s&&(e+=r);let c=t[e],u=t[e+1];const h=this.tmpCoordinate_;let d,p,f,g=!0;for(d=e+r;d<n;d+=r)h[0]=t[d],h[1]=t[d+1],f=mW(l,h),f!==p?(g&&(o[a++]=c,o[a++]=u,g=!1),o[a++]=h[0],o[a++]=h[1]):1===f?(o[a++]=h[0],o[a++]=h[1],g=!1):g=!0,c=h[0],u=h[1],p=f;return(i&&g||d===e+r)&&(o[a++]=c,o[a++]=u),a}drawCustomCoordinates_(t,e,n,r,i){for(let s=0,o=n.length;s<o;++s){const o=n[s],a=this.appendFlatLineCoordinates(t,e,o,r,!1,!1);i.push(a),e=o}return e}drawCustom(t,e,n,r,i){this.beginGeometry(t,e,i);const s=t.getType(),o=t.getStride(),a=this.coordinates.length;let l,c,u,h,d;switch(s){case"MultiPolygon":l=t.getOrientedFlatCoordinates(),h=[];const e=t.getEndss();d=0;for(let t=0,n=e.length;t<n;++t){const n=[];d=this.drawCustomCoordinates_(l,d,e[t],o,n),h.push(n)}this.instructions.push([4,a,h,t,n,VG,i]),this.hitDetectionInstructions.push([4,a,h,t,r||n,VG,i]);break;case"Polygon":case"MultiLineString":u=[],l="Polygon"==s?t.getOrientedFlatCoordinates():t.getFlatCoordinates(),d=this.drawCustomCoordinates_(l,0,t.getEnds(),o,u),this.instructions.push([4,a,u,t,n,qG,i]),this.hitDetectionInstructions.push([4,a,u,t,r||n,qG,i]);break;case"LineString":case"Circle":l=t.getFlatCoordinates(),c=this.appendFlatLineCoordinates(l,0,l.length,o,!1,!1),this.instructions.push([4,a,c,t,n,$G,i]),this.hitDetectionInstructions.push([4,a,c,t,r||n,$G,i]);break;case"MultiPoint":l=t.getFlatCoordinates(),c=this.appendFlatPointCoordinates(l,o),c>a&&(this.instructions.push([4,a,c,t,n,$G,i]),this.hitDetectionInstructions.push([4,a,c,t,r||n,$G,i]));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,i]),this.hitDetectionInstructions.push([4,a,c,t,r||n,void 0,i])}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 r,i,s=-1;for(e=0;e<n;++e)r=t[e],i=r[0],7==i?s=e:0==i&&(r[2]=e,eV(this.hitDetectionInstructions,s,e),s=-1)}fillStyleToState(t,e={}){if(t){const n=t.getColor();e.fillPatternScale=n&&"object"==typeof n&&"src"in n?this.pixelRatio:1,e.fillStyle=uJ(n||dJ)}else e.fillStyle=void 0;return e}strokeStyleToState(t,e={}){if(t){const n=t.getColor();e.strokeStyle=uJ(n||mJ);const r=t.getLineCap();e.lineCap=void 0!==r?r:pJ;const i=t.getLineDash();e.lineDash=i?i.slice():fJ;const s=t.getLineDashOffset();e.lineDashOffset=s||0;const o=t.getLineJoin();e.lineJoin=void 0!==o?o:gJ;const a=t.getWidth();e.lineWidth=void 0!==a?a:1;const l=t.getMiterLimit();e.miterLimit=void 0!==l?l:10,e.lineWidth>this.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[DQ,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,r=t.lineCap,i=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=n||t.currentLineCap!=r||i!=t.currentLineDash&&!rV(t.currentLineDash,i)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(e.call(this,t),t.currentStrokeStyle=n,t.currentLineCap=r,t.currentLineDash=i,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_=hW(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;uW(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class qQ extends $Q{constructor(t,e,n,r){super(t,e,n,r)}drawFlatCoordinatess_(t,e,n,r){const i=this.state,s=void 0!==i.fillStyle,o=void 0!==i.strokeStyle,a=n.length;this.instructions.push(BQ),this.hitDetectionInstructions.push(BQ);for(let l=0;l<a;++l){const i=n[l],s=[9,this.coordinates.length,this.appendFlatLineCoordinates(t,e,i,r,!0,!o)];this.instructions.push(s),this.hitDetectionInstructions.push(s),o&&(this.instructions.push(UQ),this.hitDetectionInstructions.push(UQ)),e=i}return s&&(this.instructions.push(NQ),this.hitDetectionInstructions.push(NQ)),o&&(this.instructions.push(jQ),this.hitDetectionInstructions.push(jQ)),e}drawCircle(t,e,n){const r=this.state,i=r.fillStyle,s=r.strokeStyle;if(void 0===i&&void 0===s)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e,n),void 0!==r.fillStyle&&this.hitDetectionInstructions.push([10,dJ]),void 0!==r.strokeStyle&&this.hitDetectionInstructions.push([DQ,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,fJ,0]);const o=t.getFlatCoordinates(),a=t.getStride(),l=this.coordinates.length;this.appendFlatLineCoordinates(o,0,o.length,a,!1,!1);const c=[2,l];this.instructions.push(BQ,c),this.hitDetectionInstructions.push(BQ,c),void 0!==r.fillStyle&&(this.instructions.push(NQ),this.hitDetectionInstructions.push(NQ)),void 0!==r.strokeStyle&&(this.instructions.push(jQ),this.hitDetectionInstructions.push(jQ)),this.endGeometry(e)}drawPolygon(t,e,n){const r=this.state,i=r.fillStyle,s=r.strokeStyle;if(void 0===i&&void 0===s)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e,n),void 0!==r.fillStyle&&this.hitDetectionInstructions.push([10,dJ]),void 0!==r.strokeStyle&&this.hitDetectionInstructions.push([DQ,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,fJ,0]);const o=t.getEnds(),a=t.getOrientedFlatCoordinates(),l=t.getStride();this.drawFlatCoordinatess_(a,0,o,l),this.endGeometry(e)}drawMultiPolygon(t,e,n){const r=this.state,i=r.fillStyle,s=r.strokeStyle;if(void 0===i&&void 0===s)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e,n),void 0!==r.fillStyle&&this.hitDetectionInstructions.push([10,dJ]),void 0!==r.strokeStyle&&this.hitDetectionInstructions.push([DQ,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,fJ,0]);const o=t.getEndss(),a=t.getOrientedFlatCoordinates(),l=t.getStride();let c=0;for(let u=0,h=o.length;u<h;++u)c=this.drawFlatCoordinatess_(a,c,o[u],l);this.endGeometry(e)}finish(){this.reverseHitDetectionInstructions(),this.state=null;const t=this.tolerance;if(0!==t){const e=this.coordinates;for(let n=0,r=e.length;n<r;++n)e[n]=GG(e[n],t)}return super.finish()}setFillStrokeStyles_(){const t=this.state;this.updateFillStyle(t,this.createFill),this.updateStrokeStyle(t,this.applyStroke)}}function VQ(t,e,n,r,i){const s=[];let o=n,a=0,l=e.slice(n,2);for(;a<t&&o+i<r;){const[n,r]=l.slice(-2),c=e[o+i],u=e[o+i+1],h=Math.sqrt((c-n)*(c-n)+(u-r)*(u-r));if(a+=h,a>=t){const e=(t-a+h)/h,d=nW(n,c,e),p=nW(r,u,e);l.push(d,p),s.push(l),l=[d,p],a==t&&(o+=i),a=0}else if(a<t)l.push(e[o+i],e[o+i+1]),o+=i;else{const t=h-a,e=nW(n,c,t/h),d=nW(r,u,t/h);l.push(e,d),s.push(l),l=[e,d],a=0,o+=i}}return a>0&&s.push(l),s}function WQ(t,e,n,r,i){let s,o,a,l,c,u,h,d,p,f,g=n,m=n,y=0,v=0,b=n;for(o=n;o<r;o+=i){const n=e[o],r=e[o+1];void 0!==c&&(p=n-c,f=r-u,l=Math.sqrt(p*p+f*f),void 0!==h&&(v+=a,s=Math.acos((h*p+d*f)/(a*l)),s>t&&(v>y&&(y=v,g=b,m=o),v=0,b=o-i)),a=l,h=p,d=f),c=n,u=r}return v+=l,v>y?[b,o]:[g,m]}const HQ={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},GQ={Circle:qQ,Default:$Q,Image:class extends $Q{constructor(t,e,n,r){super(t,e,n,r),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&&!pW(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,n);const r=t.getFlatCoordinates(),i=t.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(r,i);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 r=t.getFlatCoordinates(),i=[];for(let a=0,l=r.length;a<l;a+=t.getStride())this.maxExtent&&!pW(this.maxExtent,r.slice(a,a+2))||i.push(r[a],r[a+1]);const s=this.coordinates.length,o=this.appendFlatPointCoordinates(i,2);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)}finish(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,super.finish()}setImageStyle(t,e){const n=t.getAnchor(),r=t.getSize(),i=t.getOrigin();this.imagePixelRatio_=t.getPixelRatio(this.pixelRatio),this.anchorX_=n[0],this.anchorY_=n[1],this.hitDetectionImage_=t.getHitDetectionImage(),this.image_=t.getImage(this.pixelRatio),this.height_=r[1],this.opacity_=t.getOpacity(),this.originX_=i[0],this.originY_=i[1],this.rotateWithView_=t.getRotateWithView(),this.rotation_=t.getRotation(),this.scale_=t.getScaleArray(),this.width_=r[0],this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e}},LineString:class extends $Q{constructor(t,e,n,r){super(t,e,n,r)}drawFlatCoordinates_(t,e,n,r){const i=[9,this.coordinates.length,this.appendFlatLineCoordinates(t,e,n,r,!1,!1)];return this.instructions.push(i),this.hitDetectionInstructions.push(i),n}drawLineString(t,e,n){const r=this.state,i=r.strokeStyle,s=r.lineWidth;if(void 0===i||void 0===s)return;this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(t,e,n),this.hitDetectionInstructions.push([DQ,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,fJ,0],BQ);const o=t.getFlatCoordinates(),a=t.getStride();this.drawFlatCoordinates_(o,0,o.length,a),this.hitDetectionInstructions.push(jQ),this.endGeometry(e)}drawMultiLineString(t,e,n){const r=this.state,i=r.strokeStyle,s=r.lineWidth;if(void 0===i||void 0===s)return;this.updateStrokeStyle(r,this.applyStroke),this.beginGeometry(t,e,n),this.hitDetectionInstructions.push([DQ,r.strokeStyle,r.lineWidth,r.lineCap,r.lineJoin,r.miterLimit,fJ,0],BQ);const o=t.getEnds(),a=t.getFlatCoordinates(),l=t.getStride();let c=0;for(let u=0,h=o.length;u<h;++u)c=this.drawFlatCoordinates_(a,c,o[u],l);this.hitDetectionInstructions.push(jQ),this.endGeometry(e)}finish(){const t=this.state;return null!=t.lastStroke&&t.lastStroke!=this.coordinates.length&&this.instructions.push(jQ),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(t){null!=t.lastStroke&&t.lastStroke!=this.coordinates.length&&(this.instructions.push(jQ),t.lastStroke=this.coordinates.length),t.lastStroke=0,super.applyStroke(t),this.instructions.push(BQ)}},Polygon:qQ,Text:class extends $Q{constructor(t,e,n,r){super(t,e,n,r),this.labels_=null,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=void 0,this.textKeepUpright_=void 0,this.textRotation_=0,this.textFillState_=null,this.fillStates={},this.fillStates[dJ]={fillStyle:dJ},this.textStrokeState_=null,this.strokeStates={},this.textState_={},this.textStates={},this.textKey_="",this.fillKey_="",this.strokeKey_="",this.declutterMode_=void 0,this.declutterImageWithText_=void 0}finish(){const t=super.finish();return t.textStates=this.textStates,t.fillStates=this.fillStates,t.strokeStates=this.strokeStates,t}drawText(t,e,n){const r=this.textFillState_,i=this.textStrokeState_,s=this.textState_;if(""===this.text_||!s||!r&&!i)return;const o=this.coordinates;let a=o.length;const l=t.getType();let c=null,u=t.getStride();if("line"!==s.placement||"LineString"!=l&&"MultiLineString"!=l&&"Polygon"!=l&&"MultiPolygon"!=l){let r=s.overflow?null:[];switch(l){case"Point":case"MultiPoint":c=t.getFlatCoordinates();break;case"LineString":c=t.getFlatMidpoint();break;case"Circle":c=t.getCenter();break;case"MultiLineString":c=t.getFlatMidpoints(),u=2;break;case"Polygon":c=t.getFlatInteriorPoint(),s.overflow||r.push(c[2]/this.resolution),u=3;break;case"MultiPolygon":const e=t.getFlatInteriorPoints();c=[];for(let t=0,n=e.length;t<n;t+=3)s.overflow||r.push(e[t+2]/this.resolution),c.push(e[t],e[t+1]);if(0===c.length)return;u=2}const i=this.appendFlatPointCoordinates(c,u);if(i===a)return;if(r&&(i-a)/2!==c.length/u){let t=a/2;r=r.filter((e,n)=>{const r=o[2*(t+n)]===c[n*u]&&o[2*(t+n)+1]===c[n*u+1];return r||--t,r})}this.saveTextStates_();const h=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!=bJ&&(s.scale[0]<0||s.scale[1]<0)){let t=s.padding[0],e=s.padding[1],n=s.padding[2],r=s.padding[3];s.scale[0]<0&&(e=-e,r=-r),s.scale[1]<0&&(t=-t,n=-n),p=[t,e,n,r]}const f=this.pixelRatio;this.instructions.push([6,a,i,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,p==bJ?bJ:p.map(function(t){return t*f}),h,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,r]);const g=1/f,m=h?h.slice(0):null;m&&(m[1]=dJ),this.hitDetectionInstructions.push([6,a,i,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_?dJ:this.fillKey_,this.textOffsetX_,this.textOffsetY_,r]),this.endGeometry(e)}else{if(!jW(this.maxExtent,t.getExtent()))return;let r;if(c=t.getFlatCoordinates(),"LineString"==l)r=[c.length];else if("MultiLineString"==l)r=t.getEnds();else if("Polygon"==l)r=t.getEnds().slice(0,1);else if("MultiPolygon"==l){const e=t.getEndss();r=[];for(let t=0,n=e.length;t<n;++t)r.push(e[t][0])}this.beginGeometry(t,e,n);const i=s.repeat,h=i?void 0:s.textAlign;let d=0;for(let t=0,e=r.length;t<e;++t){let e;e=i?VQ(i*this.resolution,c,d,r[t],u):[c.slice(d,r[t])];for(let n=0,i=e.length;n<i;++n){const i=e[n];let l=0,c=i.length;if(null==h){const t=WQ(s.maxAngle,i,0,i.length,2);l=t[0],c=t[1]}for(let t=l;t<c;t+=u)o.push(i[t],i[t+1]);const p=o.length;d=r[t],this.drawChars_(a,p),a=p}}this.endGeometry(e)}}saveTextStates_(){const t=this.textStrokeState_,e=this.textState_,n=this.textFillState_,r=this.strokeKey_;t&&(r in this.strokeStates||(this.strokeStates[r]={strokeStyle:t.strokeStyle,lineCap:t.lineCap,lineDashOffset:t.lineDashOffset,lineWidth:t.lineWidth,lineJoin:t.lineJoin,miterLimit:t.miterLimit,lineDash:t.lineDash}));const i=this.textKey_;i in this.textStates||(this.textStates[i]={font:e.font,textAlign:e.textAlign||yJ,justify:e.justify,textBaseline:e.textBaseline||vJ,scale:e.scale});const s=this.fillKey_;n&&(s in this.fillStates||(this.fillStates[s]={fillStyle:n.fillStyle}))}drawChars_(t,e){const n=this.textStrokeState_,r=this.textState_,i=this.strokeKey_,s=this.textKey_,o=this.fillKey_;this.saveTextStates_();const a=this.pixelRatio,l=HQ[r.textBaseline],c=this.textOffsetY_*a,u=this.text_,h=n?n.lineWidth*Math.abs(r.scale[0])/2:0;this.instructions.push([5,t,e,l,r.overflow,o,r.maxAngle,a,c,i,h*a,u,s,1,this.declutterMode_,this.textKeepUpright_]),this.hitDetectionInstructions.push([5,t,e,l,r.overflow,o?dJ:o,r.maxAngle,a,c,i,h*a,u,s,1/a,this.declutterMode_,this.textKeepUpright_])}setTextStyle(t,e){let n,r,i;if(t){const e=t.getFill();e?(r=this.textFillState_,r||(r={},this.textFillState_=r),r.fillStyle=uJ(e.getColor()||dJ)):(r=null,this.textFillState_=r);const s=t.getStroke();if(s){i=this.textStrokeState_,i||(i={},this.textStrokeState_=i);const t=s.getLineDash(),e=s.getLineDashOffset(),n=s.getWidth(),r=s.getMiterLimit();i.lineCap=s.getLineCap()||pJ,i.lineDash=t?t.slice():fJ,i.lineDashOffset=void 0===e?0:e,i.lineJoin=s.getLineJoin()||gJ,i.lineWidth=void 0===n?1:n,i.miterLimit=void 0===r?10:r,i.strokeStyle=uJ(s.getColor()||mJ)}else i=null,this.textStrokeState_=i;n=this.textState_;const o=t.getFont()||hJ;EJ(o);const a=t.getScaleArray();n.overflow=t.getOverflow(),n.font=o,n.maxAngle=t.getMaxAngle(),n.placement=t.getPlacement(),n.textAlign=t.getTextAlign(),n.repeat=t.getRepeat(),n.justify=t.getJustify(),n.textBaseline=t.getTextBaseline()||vJ,n.backgroundFill=t.getBackgroundFill(),n.backgroundStroke=t.getBackgroundStroke(),n.padding=t.getPadding()||bJ,n.scale=void 0===a?[1,1]:a;const l=t.getOffsetX(),c=t.getOffsetY(),u=t.getRotateWithView(),h=t.getKeepUpright(),d=t.getRotation();this.text_=t.getText()||"",this.textOffsetX_=void 0===l?0:l,this.textOffsetY_=void 0===c?0:c,this.textRotateWithView_=void 0!==u&&u,this.textKeepUpright_=void 0===h||h,this.textRotation_=void 0===d?0:d,this.strokeKey_=i?("string"==typeof i.strokeStyle?i.strokeStyle:bV(i.strokeStyle))+i.lineCap+i.lineDashOffset+"|"+i.lineWidth+i.lineJoin+i.miterLimit+"["+i.lineDash.join()+"]":"",this.textKey_=n.font+n.scale+(n.textAlign||"?")+(n.repeat||"?")+(n.justify||"?")+(n.textBaseline||"?"),this.fillKey_=r&&r.fillStyle?"string"==typeof r.fillStyle?r.fillStyle:"|"+bV(r.fillStyle):""}else this.text_="";this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e}}};class KQ{constructor(t,e,n,r){this.tolerance_=t,this.maxExtent_=e,this.pixelRatio_=r,this.resolution_=n,this.buildersByZIndex_={}}finish(){const t={};for(const e in this.buildersByZIndex_){t[e]=t[e]||{};const n=this.buildersByZIndex_[e];for(const r in n){const i=n[r].finish();t[e][r]=i}}return t}getBuilder(t,e){const n=void 0!==t?t.toString():"0";let r=this.buildersByZIndex_[n];void 0===r&&(r={},this.buildersByZIndex_[n]=r);let i=r[e];return void 0===i&&(i=new(0,GQ[e])(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),r[e]=i),i}}function ZQ(t,e,n,r,i,s,o,a,l,c,u,h,d=!0){let p=t[e],f=t[e+1],g=0,m=0,y=0,v=0;function b(){g=p,m=f,p=t[e+=r],f=t[e+1],v+=y,y=Math.sqrt((p-g)*(p-g)+(f-m)*(f-m))}do{b()}while(e<n-r&&v+y<s);let w=0===y?0:(s-v)/y;const _=nW(g,p,w),x=nW(m,f,w),C=e-r,S=v,k=s+a*l(c,i,u);for(;e<n-r&&v+y<k;)b();w=0===y?0:(k-v)/y;const E=nW(g,p,w),T=nW(m,f,w);let R=!1;if(d)if(h){const t=[_,x,E,T];kG(t,0,4,2,h,t,t),R=t[0]>t[2]}else R=_>E;const M=Math.PI,L=[],I=C+r===e;let P;if(y=0,v=S,p=t[e=C],f=t[e+1],I){b(),P=Math.atan2(f-m,p-g),R&&(P+=P>0?-M:M);const t=(E+_)/2,e=(T+x)/2;return L[0]=[t,e,(k-s)/2,P,i],L}for(let A=0,O=(i=i.replace(/\n/g," ")).length;A<O;){b();let t=Math.atan2(f-m,p-g);if(R&&(t+=t>0?-M:M),void 0!==P){let e=t-P;if(e+=e>M?-2*M:e<-M?2*M:0,Math.abs(e)>o)return null}P=t;const h=A;let d=0;for(;A<O;++A){const t=a*l(c,i[R?O-A-1:A],u);if(e+r<n&&v+y<s+d+t/2)break;d+=t}if(A===h)continue;const _=R?i.substring(O-h,O-A):i.substring(h,A);w=0===y?0:(s+d/2-v)/y;const x=nW(g,p,w),C=nW(m,f,w);L.push([x,C,d/2,t,_]),s+=d}return L}class YQ{constructor(){this.instructions_=[],this.zIndex=0,this.offset_=0,this.context_=new Proxy(FK(),{get:(t,e)=>{if("function"==typeof FK()[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,r=e.length;n<r;++n){const r=e[n];if("function"==typeof r){r(t);continue}const i=e[++n];if("function"==typeof t[r])t[r](...i);else{if("function"==typeof i){t[r]=i(t);continue}t[r]=i}}})}clear(){this.instructions_.length=0,this.zIndex=0,this.offset_=0}offset(){this.offset_=this.instructions_.length,this.zIndex=0}}const XQ=[1/0,1/0,-1/0,-1/0],JQ=[],QQ=[],t0=[],e0=[];function n0(t){return t[3].declutterBox}const r0=new RegExp("["+String.fromCharCode(1425)+"-"+String.fromCharCode(2303)+String.fromCharCode(64285)+"-"+String.fromCharCode(65023)+String.fromCharCode(65136)+"-"+String.fromCharCode(65276)+String.fromCharCode(67584)+"-"+String.fromCharCode(69631)+String.fromCharCode(124928)+"-"+String.fromCharCode(126975)+"]");function i0(t,e){return"start"===e?e=r0.test(t)?"right":"left":"end"===e&&(e=r0.test(t)?"left":"right"),HQ[e]}function s0(t,e,n){return n>0&&t.push("\n",""),t.push(e,""),t}function o0(t,e,n){return n%2==0&&(t+=e),t}class a0{constructor(t,e,n,r,i){this.overlaps=n,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=r.instructions,this.coordinates=r.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=r.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=r.fillStates||{},this.strokeStates=r.strokeStates||{},this.textStates=r.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=i?new YQ:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,n,r){const i=t+e+n+r;if(this.labels_[i])return this.labels_[i];const s=r?this.strokeStates[r]:null,o=n?this.fillStates[n]:null,a=this.textStates[e],l=this.pixelRatio,c=[a.scale[0]*l,a.scale[1]*l],u=a.justify?HQ[a.justify]:i0(Array.isArray(t)?t[0]:t,a.textAlign||yJ),h=r&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce(s0,[]),{width:p,height:f,widths:g,heights:m,lineWidths:y}=function(t,e){const n=[],r=[],i=[];let s=0,o=0,a=0,l=0;for(let c=0,u=e.length;c<=u;c+=2){const h=e[c];if("\n"===h||c===u){s=Math.max(s,o),i.push(o),o=0,a+=l,l=0;continue}const d=e[c+1]||t.font,p=MJ(d,h);n.push(p),o+=p;const f=TJ(d);r.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:r,lineWidths:i}}(a,d),v=p+h,b=[],w=(v+2)*c[0],_=(f+h)*c[1],x={width:w<0?Math.floor(w):Math.ceil(w),height:_<0?Math.floor(_):Math.ceil(_),contextInstructions:b};1==c[0]&&1==c[1]||b.push("scale",c),r&&(b.push("strokeStyle",s.strokeStyle),b.push("lineWidth",h),b.push("lineCap",s.lineCap),b.push("lineJoin",s.lineJoin),b.push("miterLimit",s.miterLimit),b.push("setLineDash",[s.lineDash]),b.push("lineDashOffset",s.lineDashOffset)),n&&b.push("fillStyle",o.fillStyle),b.push("textBaseline","middle"),b.push("textAlign","center");const C=.5-u;let S=u*v+C*h;const k=[],E=[];let T,R=0,M=0,L=0,I=0;for(let P=0,A=d.length;P<A;P+=2){const t=d[P];if("\n"===t){M+=R,R=0,S=u*v+C*h,++I;continue}const e=d[P+1]||a.font;e!==T&&(r&&k.push("font",e),n&&E.push("font",e),T=e),R=Math.max(R,m[L]);const i=[t,S+C*g[L]+u*(g[L]-y[I]),.5*(h+R)+M];S+=g[L],r&&k.push("strokeText",i),n&&E.push("fillText",i),++L}return Array.prototype.push.apply(b,k),Array.prototype.push.apply(b,E),this.labels_[i]=x,x}replayTextBackground_(t,e,n,r,i,s,o){t.beginPath(),t.moveTo.apply(t,e),t.lineTo.apply(t,n),t.lineTo.apply(t,r),t.lineTo.apply(t,i),t.lineTo.apply(t,e),s&&(this.alignAndScaleFill_=s[2],t.fillStyle=s[1],this.fill_(t)),o&&(this.setStrokeStyle_(t,o),t.stroke())}calculateImageOrLabelDimensions_(t,e,n,r,i,s,o,a,l,c,u,h,d,p,f,g){let m=n-(o*=h[0]),y=r-(a*=h[1]);const v=i+l>t?t-l:i,b=s+c>e?e-c:s,w=p[3]+v*h[0]+p[1],_=p[0]+b*h[1]+p[2],x=m-p[3],C=y-p[0];let S;return(f||0!==u)&&(JQ[0]=x,e0[0]=x,JQ[1]=C,QQ[1]=C,QQ[0]=x+w,t0[0]=QQ[0],t0[1]=C+_,e0[1]=t0[1]),0!==u?(S=wG([1,0,0,1,0,0],n,r,1,1,u,-n,-r),vG(S,JQ),vG(S,QQ),vG(S,t0),vG(S,e0),yW(Math.min(JQ[0],QQ[0],t0[0],e0[0]),Math.min(JQ[1],QQ[1],t0[1],e0[1]),Math.max(JQ[0],QQ[0],t0[0],e0[0]),Math.max(JQ[1],QQ[1],t0[1],e0[1]),XQ)):yW(Math.min(x,x+w),Math.min(C,C+_),Math.max(x,x+w),Math.max(C,C+_),XQ),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:v,drawImageH:b,originX:l,originY:c,declutterBox:{minX:XQ[0],minY:XQ[1],maxX:XQ[2],maxY:XQ[3],value:g},canvasTransform:S,scale:h}}replayImageOrLabel_(t,e,n,r,i,s,o){const a=!(!s&&!o),l=r.declutterBox,c=o?o[2]*r.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,JQ,QQ,t0,e0,s,o),function(t,e,n,r,i,s,o,a,l,c,u){t.save(),1!==n&&(void 0===t.globalAlpha?t.globalAlpha=t=>t.globalAlpha*=n:t.globalAlpha*=n),e&&t.transform.apply(t,e),r.contextInstructions?(t.translate(l,c),t.scale(u[0],u[1]),function(t,e){const n=t.contextInstructions;for(let r=0,i=n.length;r<i;r+=2)Array.isArray(n[r+1])?e[n[r]].apply(e,n[r+1]):e[n[r]]=n[r+1]}(r,t)):u[0]<0||u[1]<0?(t.translate(l,c),t.scale(u[0],u[1]),t.drawImage(r,i,s,o,a,0,0,o,a)):t.drawImage(r,i,s,o,a,l,c,o*u[0],a*u[1]),t.restore()}(t,r.canvasTransform,i,n,r.originX,r.originY,r.drawImageW,r.drawImageH,r.drawImageX,r.drawImageY,r.scale)),!0}fill_(t){const e=this.alignAndScaleFill_;if(e){const n=vG(this.renderedTransform_,[0,0]),r=512*this.pixelRatio;t.save(),t.translate(n[0]%r,n[1]%r),1!==e&&t.scale(e,e),t.rotate(this.viewRotation_)}t.fill(),e&&t.restore()}setStrokeStyle_(t,e){t.strokeStyle=e[1],e[1]&&(t.lineWidth=e[2],t.lineCap=e[3],t.lineJoin=e[4],t.miterLimit=e[5],t.lineDashOffset=e[7],t.setLineDash(e[6]))}drawLabelWithPointPlacement_(t,e,n,r){const i=this.textStates[e],s=this.createLabel(t,e,r,n),o=this.strokeStates[n],a=this.pixelRatio,l=i0(Array.isArray(t)?t[0]:t,i.textAlign||yJ),c=HQ[i.textBaseline||vJ],u=o&&o.lineWidth?o.lineWidth:0;return{label:s,anchorX:l*(s.width/a-2*i.scale[0])+2*(.5-l)*u,anchorY:c*s.height/a+2*(.5-c)*u}}execute_(t,e,n,r,i,s,o,a){const l=this.zIndexContext_;let c;var u,h;this.pixelCoordinates_&&rV(n,this.renderedTransform_)?c=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),c=SG(this.coordinates,0,this.coordinates.length,2,n,this.pixelCoordinates_),h=n,(u=this.renderedTransform_)[0]=h[0],u[1]=h[1],u[2]=h[2],u[3]=h[3],u[4]=h[4],u[5]=h[5]);let d=0;const p=r.length;let f,g,m,y,v,b,w,_,x,C,S,k,E,T=0,R=0,M=0;const L=this.coordinateCache_,I=this.viewRotation_,P=Math.round(1e12*Math.atan2(-n[1],n[0]))/1e12,A={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:I},O=this.instructions!=r||this.overlaps?0:200;let F,z,D,N;for(;d<p;){const n=r[d];switch(n[0]){case 0:F=n[1],N=n[3],F.getGeometry()?void 0===o||jW(o,N.getExtent())?++d:d=n[2]+1:d=n[2],l&&(l.zIndex=n[4]);break;case 1:R>O&&(this.fill_(t),R=0),M>O&&(t.stroke(),M=0),R||M||(t.beginPath(),v=NaN,b=NaN),++d;break;case 2:T=n[1];const r=c[T],u=c[T+1],h=c[T+2]-r,p=c[T+3]-u,j=Math.sqrt(h*h+p*p);t.moveTo(r+j,u),t.arc(r,u,j,0,2*Math.PI,!0),++d;break;case 3:t.closePath(),++d;break;case 4:T=n[1],f=n[2];const B=n[3],U=n[4],$=n[5];A.geometry=B,A.feature=F,d in L||(L[d]=[]);const q=L[d];$?$(c,T,f,2,q):(q[0]=c[T],q[1]=c[T+1],q.length=2),l&&(l.zIndex=n[6]),U(q,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 W=n[7],H=n[8],G=n[9],K=n[10];let Z=n[11];const Y=n[12];let X=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){C=n[19],S=n[20],k=n[21],E=n[22];const t=this.drawLabelWithPointPlacement_(C,S,k,E);x=t.label,n[3]=x;const e=n[23];g=(t.anchorX-e)*this.pixelRatio,n[4]=g;const r=n[24];m=(t.anchorY-r)*this.pixelRatio,n[5]=m,V=x.height,n[6]=V,X=x.width,n[13]=X}let Q,tt,et,nt;n.length>25&&(Q=n[25]),n.length>17?(tt=n[16],et=n[17],nt=n[18]):(tt=bJ,et=null,nt=null),K&&P?Z+=I:K||P||(Z-=I);let rt=0;for(;T<f;T+=2){if(Q&&Q[rt++]<X/this.pixelRatio)continue;const n=this.calculateImageOrLabelDimensions_(x.width,x.height,c[T],c[T+1],X,V,g,m,H,G,Z,Y,i,tt,!!et||!!nt,F),r=[t,e,x,n,W,et,nt];if(a){let t,e,i,s,o;if(J){const n=f-T;if(!J[n]){J[n]={args:r,declutterMode:y};continue}const s=J[n];t=s.args,e=s.declutterMode,delete J[n],i=n0(t)}if(!t||"declutter"===e&&a.collides(i)||(s=!0),"declutter"===y&&a.collides(n.declutterBox)||(o=!0),"declutter"===e&&"declutter"===y){const t=s&&o;s=t,o=t}s&&("none"!==e&&a.insert(i),this.replayImageOrLabel_.apply(this,t)),o&&("none"!==y&&a.insert(n.declutterBox),this.replayImageOrLabel_.apply(this,r))}else this.replayImageOrLabel_.apply(this,r)}++d;break;case 5:const it=n[1],st=n[2],ot=n[3],at=n[4];E=n[5];const lt=n[6],ct=n[7],ut=n[8];k=n[9];const ht=n[10];C=n[11],Array.isArray(C)&&(C=C.reduce(o0,"")),S=n[12];const dt=[n[13],n[13]];y=n[14]||"declutter";const pt=n[15],ft=this.textStates[S],gt=ft.font,mt=[ft.scale[0]*ct,ft.scale[1]*ct];let yt;gt in this.widths_?yt=this.widths_[gt]:(yt={},this.widths_[gt]=yt);const vt=LQ(c,it,st,2),bt=Math.abs(mt[0])*LJ(gt,C,yt);if(at||bt<=vt){const n=ZQ(c,it,st,2,C,(vt-bt)*i0(C,this.textStates[S].textAlign),lt,Math.abs(mt[0]),LJ,gt,yt,P?0:this.viewRotation_,pt);t:if(n){const r=[];let i,s,o,l,c;if(k)for(i=0,s=n.length;i<s;++i){c=n[i],o=c[4],l=this.createLabel(o,S,"",k),g=c[2]+(mt[0]<0?-ht:ht),m=ot*l.height+2*(.5-ot)*ht*mt[1]/mt[0]-ut;const s=this.calculateImageOrLabelDimensions_(l.width,l.height,c[0],c[1],l.width,l.height,g,m,0,0,c[3],dt,!1,bJ,!1,F);if(a&&"declutter"===y&&a.collides(s.declutterBox))break t;r.push([t,e,l,s,1,null,null])}if(E)for(i=0,s=n.length;i<s;++i){c=n[i],o=c[4],l=this.createLabel(o,S,E,""),g=c[2],m=ot*l.height-ut;const s=this.calculateImageOrLabelDimensions_(l.width,l.height,c[0],c[1],l.width,l.height,g,m,0,0,c[3],dt,!1,bJ,!1,F);if(a&&"declutter"===y&&a.collides(s.declutterBox))break t;r.push([t,e,l,s,1,null,null])}a&&"none"!==y&&a.load(r.map(n0));for(let t=0,e=r.length;t<e;++t)this.replayImageOrLabel_.apply(this,r[t])}}++d;break;case 7:if(void 0!==s){F=n[1];const t=s(F,N,y);if(t)return t}++d;break;case 8:O?R++:this.fill_(t),++d;break;case 9:for(T=n[1],f=n[2],z=c[T],D=c[T+1],t.moveTo(z,D),v=z+.5|0,b=D+.5|0,T+=2;T<f;T+=2)z=c[T],D=c[T+1],w=z+.5|0,_=D+.5|0,T!=f-2&&w===v&&_===b||(t.lineTo(z,D),v=w,b=_);++d;break;case 10:this.alignAndScaleFill_=n[2],R&&(this.fill_(t),R=0,M&&(t.stroke(),M=0)),t.fillStyle=n[1],++d;break;case DQ:M&&(t.stroke(),M=0),this.setStrokeStyle_(t,n),++d;break;case 12:O?M++:t.stroke(),++d;break;default:++d}}R&&this.fill_(t),M&&t.stroke()}execute(t,e,n,r,i,s){this.viewRotation_=r,this.execute_(t,e,n,this.instructions,i,void 0,void 0,s)}executeHitDetection(t,e,n,r,i){return this.viewRotation_=n,this.execute_(t,[t.canvas.width,t.canvas.height],e,this.hitDetectionInstructions,!0,r,i)}}const l0=["Polygon","Circle","LineString","Image","Text","Default"],c0=["Image","Text"],u0=l0.filter(t=>!c0.includes(t));class h0{constructor(t,e,n,r,i,s,o){this.maxExtent_=t,this.overlaps_=r,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_(i,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 r=this.executorsByZIndex_[n];void 0===r&&(r={},this.executorsByZIndex_[n]=r);const i=t[n];for(const t in i){const n=i[t];r[t]=new a0(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,r=t.length;e<r;++e)if(t[e]in n)return!0}return!1}forEachFeatureAtCoordinate(t,e,n,r,i,s){const o=2*(r=Math.round(r))+1,a=wG(this.hitDetectionTransform_,r+.5,r+.5,1/e,-1/e,-n,-t[0],-t[1]),l=!this.hitDetectionContext_;l&&(this.hitDetectionContext_=AK(o,o));const c=this.hitDetectionContext_;let u;c.canvas.width!==o||c.canvas.height!==o?(c.canvas.width=o,c.canvas.height=o):l||c.clearRect(0,0,o,o),void 0!==this.renderBuffer_&&(u=[1/0,1/0,-1/0,-1/0],CW(u,t),uW(u,e*(this.renderBuffer_+r),u));const h=function(t){if(void 0!==d0[t])return d0[t];const e=2*t+1,n=t*t,r=new Array(n+1);for(let s=0;s<=t;++s)for(let i=0;i<=t;++i){const o=s*s+i*i;if(o>n)break;let a=r[o];a||(a=[],r[o]=a),a.push(4*((t+s)*e+(t+i))+3),s>0&&a.push(4*((t-s)*e+(t+i))+3),i>0&&(a.push(4*((t+s)*e+(t-i))+3),s>0&&a.push(4*((t-s)*e+(t-i))+3))}const i=[];for(let s=0,o=r.length;s<o;++s)r[s]&&i.push(...r[s]);return d0[t]=i,i}(r);let d;function p(t,e,n){const a=c.getImageData(0,0,o,o).data;for(let l=0,u=h.length;l<u;l++)if(a[h[l]]>0){if(!s||"none"===n||"Image"!==d&&"Text"!==d||s.includes(t)){const n=(h[l]-3)/4,s=r-n%o,a=r-(n/o|0),c=i(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,b;for(f.sort(Jq),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=l0.length-1;m>=0;--m)if(d=l0[m],v=y[d],void 0!==v&&(b=v.executeHitDetection(c,a,n,p,u),b))return b}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const n=e[0],r=e[1],i=e[2],s=e[3],o=[n,r,n,s,i,s,i,r];return SG(o,0,8,2,t,o),o}isEmpty(){return uV(this.executorsByZIndex_)}execute(t,e,n,r,i,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?Qq:Jq),s=s||l0;const l=l0.length;for(let c=0,u=a.length;c<u;++c){const u=a[c].toString(),h=this.executorsByZIndex_[u];for(let d=0,p=s.length;d<p;++d){const u=s[d],p=h[u];if(void 0!==p){const s=null===o?void 0:p.getZIndexContext(),h=s?s.getContext():t,d=this.maxExtent_&&"Image"!==u&&"Text"!==u;if(d&&(h.save(),this.clip(h,n)),s&&"Text"!==u&&"Image"!==u?s.pushFunction(t=>p.execute(t,e,n,r,i,o)):p.execute(h,e,n,r,i,o),d&&h.restore(),s){s.offset();const t=a[c]*l+l0.indexOf(u);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(Jq);for(let n=0,r=e.length;n<r;++n)t[e[n]].forEach(t=>{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const d0={};class p0 extends zQ{constructor(t,e,n,r,i,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=r,this.transformRotation_=r?rW(Math.atan2(r[1],r[0]),10):0,this.viewRotation_=i,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,r){if(!this.image_)return;const i=SG(t,e,n,r,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,u=i.length;c<u;c+=2){const t=i[c]-this.imageAnchorX_,e=i[c+1]-this.imageAnchorY_;if(0!==l||1!=this.imageScale_[0]||1!=this.imageScale_[1]){const n=t+this.imageAnchorX_,r=e+this.imageAnchorY_;wG(o,n,r,1,1,l,-n,-r),s.save(),s.transform.apply(s,o),s.translate(n,r),s.scale(this.imageScale_[0],this.imageScale_[1]),s.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,-this.imageAnchorX_,-this.imageAnchorY_,this.imageWidth_,this.imageHeight_),s.restore()}else s.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,t,e,this.imageWidth_,this.imageHeight_)}1!=this.imageOpacity_&&(s.globalAlpha=a)}drawText_(t,e,n,r){if(!this.textState_||""===this.text_)return;this.textFillState_&&this.setContextFillState_(this.textFillState_),this.textStrokeState_&&this.setContextStrokeState_(this.textStrokeState_),this.setContextTextState_(this.textState_);const i=SG(t,e,n,r,this.transform_,this.pixelCoordinates_),s=this.context_;let o=this.textRotation_;for(0===this.transformRotation_&&(o-=this.viewRotation_),this.textRotateWithView_&&(o+=this.viewRotation_);e<n;e+=r){const t=i[e]+this.textOffsetX_,n=i[e+1]+this.textOffsetY_;0!==o||1!=this.textScale_[0]||1!=this.textScale_[1]?(s.save(),s.translate(t-this.textOffsetX_,n-this.textOffsetY_),s.rotate(o),s.translate(this.textOffsetX_,this.textOffsetY_),s.scale(this.textScale_[0],this.textScale_[1]),this.textStrokeState_&&s.strokeText(this.text_,0,0),this.textFillState_&&s.fillText(this.text_,0,0),s.restore()):(this.textStrokeState_&&s.strokeText(this.text_,t,n),this.textFillState_&&s.fillText(this.text_,t,n))}}moveToLineTo_(t,e,n,r,i){const s=this.context_,o=SG(t,e,n,r,this.transform_,this.pixelCoordinates_);s.moveTo(o[0],o[1]);let a=o.length;i&&(a-=2);for(let l=2;l<a;l+=2)s.lineTo(o[l],o[l+1]);return i&&s.closePath(),n}drawRings_(t,e,n,r){for(let i=0,s=n.length;i<s;++i)e=this.moveToLineTo_(t,e,n[i],r,!0);return e}drawCircle(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),jW(this.extent_,t.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=function(t,e,n){const r=t.getFlatCoordinates();if(!r)return null;const i=t.getStride();return SG(r,0,r.length,i,e,n)}(t,this.transform_,this.pixelCoordinates_),n=e[2]-e[0],r=e[3]-e[1],i=Math.sqrt(n*n+r*r),s=this.context_;s.beginPath(),s.arc(e[0],e[1],i,0,2*Math.PI),this.fillState_&&s.fill(),this.strokeState_&&s.stroke()}""!==this.text_&&this.drawText_(t.getCenter(),0,2,2)}}setStyle(t){this.setFillStrokeStyle(t.getFill(),t.getStroke()),this.setImageStyle(t.getImage()),this.setTextStyle(t.getText())}setTransform(t){this.transform_=t}drawGeometry(t){switch(t.getType()){case"Point":this.drawPoint(t);break;case"LineString":this.drawLineString(t);break;case"Polygon":this.drawPolygon(t);break;case"MultiPoint":this.drawMultiPoint(t);break;case"MultiLineString":this.drawMultiLineString(t);break;case"MultiPolygon":this.drawMultiPolygon(t);break;case"GeometryCollection":this.drawGeometryCollection(t);break;case"Circle":this.drawCircle(t)}}drawFeature(t,e){const n=e.getGeometryFunction()(t);n&&(this.setStyle(e),this.drawGeometry(n))}drawGeometryCollection(t){const e=t.getGeometriesArray();for(let n=0,r=e.length;n<r;++n)this.drawGeometry(e[n])}drawPoint(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const e=t.getFlatCoordinates(),n=t.getStride();this.image_&&this.drawImages_(e,0,e.length,n),""!==this.text_&&this.drawText_(e,0,e.length,n)}drawMultiPoint(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const e=t.getFlatCoordinates(),n=t.getStride();this.image_&&this.drawImages_(e,0,e.length,n),""!==this.text_&&this.drawText_(e,0,e.length,n)}drawLineString(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),jW(this.extent_,t.getExtent())){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const e=this.context_,n=t.getFlatCoordinates();e.beginPath(),this.moveToLineTo_(n,0,n.length,t.getStride(),!1),e.stroke()}if(""!==this.text_){const e=t.getFlatMidpoint();this.drawText_(e,0,2,2)}}}drawMultiLineString(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const e=t.getExtent();if(jW(this.extent_,e)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const e=this.context_,n=t.getFlatCoordinates();let r=0;const i=t.getEnds(),s=t.getStride();e.beginPath();for(let t=0,o=i.length;t<o;++t)r=this.moveToLineTo_(n,r,i[t],s,!1);e.stroke()}if(""!==this.text_){const e=t.getFlatMidpoints();this.drawText_(e,0,e.length,2)}}}drawPolygon(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),jW(this.extent_,t.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=this.context_;e.beginPath(),this.drawRings_(t.getOrientedFlatCoordinates(),0,t.getEnds(),t.getStride()),this.fillState_&&e.fill(),this.strokeState_&&e.stroke()}if(""!==this.text_){const e=t.getFlatInteriorPoint();this.drawText_(e,0,2,2)}}}drawMultiPolygon(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),jW(this.extent_,t.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const e=this.context_,n=t.getOrientedFlatCoordinates();let r=0;const i=t.getEndss(),s=t.getStride();e.beginPath();for(let t=0,o=i.length;t<o;++t){const e=i[t];r=this.drawRings_(n,r,e,s)}this.fillState_&&e.fill(),this.strokeState_&&e.stroke()}if(""!==this.text_){const e=t.getFlatInteriorPoints();this.drawText_(e,0,e.length,2)}}}setContextFillState_(t){const e=this.context_,n=this.contextFillState_;n?n.fillStyle!=t.fillStyle&&(n.fillStyle=t.fillStyle,e.fillStyle=t.fillStyle):(e.fillStyle=t.fillStyle,this.contextFillState_={fillStyle:t.fillStyle})}setContextStrokeState_(t){const e=this.context_,n=this.contextStrokeState_;n?(n.lineCap!=t.lineCap&&(n.lineCap=t.lineCap,e.lineCap=t.lineCap),rV(n.lineDash,t.lineDash)||e.setLineDash(n.lineDash=t.lineDash),n.lineDashOffset!=t.lineDashOffset&&(n.lineDashOffset=t.lineDashOffset,e.lineDashOffset=t.lineDashOffset),n.lineJoin!=t.lineJoin&&(n.lineJoin=t.lineJoin,e.lineJoin=t.lineJoin),n.lineWidth!=t.lineWidth&&(n.lineWidth=t.lineWidth,e.lineWidth=t.lineWidth),n.miterLimit!=t.miterLimit&&(n.miterLimit=t.miterLimit,e.miterLimit=t.miterLimit),n.strokeStyle!=t.strokeStyle&&(n.strokeStyle=t.strokeStyle,e.strokeStyle=t.strokeStyle)):(e.lineCap=t.lineCap,e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset,e.lineJoin=t.lineJoin,e.lineWidth=t.lineWidth,e.miterLimit=t.miterLimit,e.strokeStyle=t.strokeStyle,this.contextStrokeState_={lineCap:t.lineCap,lineDash:t.lineDash,lineDashOffset:t.lineDashOffset,lineJoin:t.lineJoin,lineWidth:t.lineWidth,miterLimit:t.miterLimit,strokeStyle:t.strokeStyle})}setContextTextState_(t){const e=this.context_,n=this.contextTextState_,r=t.textAlign?t.textAlign:yJ;n?(n.font!=t.font&&(n.font=t.font,e.font=t.font),n.textAlign!=r&&(n.textAlign=r,e.textAlign=r),n.textBaseline!=t.textBaseline&&(n.textBaseline=t.textBaseline,e.textBaseline=t.textBaseline)):(e.font=t.font,e.textAlign=r,e.textBaseline=t.textBaseline,this.contextTextState_={font:t.font,textAlign:r,textBaseline:t.textBaseline})}setFillStrokeStyle(t,e){if(t){const e=t.getColor();this.fillState_={fillStyle:uJ(e||dJ)}}else this.fillState_=null;if(e){const t=e.getColor(),n=e.getLineCap(),r=e.getLineDash(),i=e.getLineDashOffset(),s=e.getLineJoin(),o=e.getWidth(),a=e.getMiterLimit(),l=r||fJ;this.strokeState_={lineCap:void 0!==n?n:pJ,lineDash:1===this.pixelRatio_?l:l.map(t=>t*this.pixelRatio_),lineDashOffset:(i||0)*this.pixelRatio_,lineJoin:void 0!==s?s:gJ,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:uJ(t||mJ)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const n=t.getPixelRatio(this.pixelRatio_),r=t.getAnchor(),i=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=r[0]*n,this.imageAnchorY_=r[1]*n,this.imageHeight_=e[1]*n,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=i[0],this.imageOriginY_=i[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:uJ(t||dJ)}}else this.textFillState_=null;const n=t.getStroke();if(n){const t=n.getColor(),e=n.getLineCap(),r=n.getLineDash(),i=n.getLineDashOffset(),s=n.getLineJoin(),o=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:pJ,lineDash:r||fJ,lineDashOffset:i||0,lineJoin:void 0!==s?s:gJ,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:uJ(t||mJ)}}else this.textStrokeState_=null;const r=t.getFont(),i=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),c=t.getText(),u=t.getTextAlign(),h=t.getTextBaseline();this.textState_={font:void 0!==r?r:hJ,textAlign:void 0!==u?u:yJ,textBaseline:void 0!==h?h:vJ},this.text_=void 0!==c?Array.isArray(c)?c.reduce((t,e,n)=>t+(n%2?" ":e),""):c:"",this.textOffsetX_=void 0!==i?this.pixelRatio_*i: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 f0=.5;function g0(t,e,n,r,i,s,o,a,l){const c=i,u=AK(t[0]*f0,t[1]*f0);u.imageSmoothingEnabled=!1;const h=u.canvas,d=new p0(u,f0,i,null,o,a,l?rG(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()||r;if(!e)continue;let i=e(t,s);if(!i)continue;Array.isArray(i)||(i=[i]);const o=(y*f).toString(16).padStart(7,"#00000");for(let n=0,r=i.length;n<r;++n){const e=i[n],r=e.getGeometryFunction()(t);if(!r||!jW(c,r.getExtent()))continue;const s=e.clone(),a=s.getFill();a&&a.setColor(o);const l=s.getStroke();l&&(l.setColor(o),l.setLineDash(null)),s.setText(void 0);const u=e.getImage();if(u){const t=u.getImageSize();if(!t)continue;const e=AK(t[0],t[1],void 0,{alpha:!1}),n=e.canvas;e.fillStyle=o,e.fillRect(0,0,n.width,n.height),s.setImage(new zJ({img:n,anchor:u.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:u.getOrigin(),opacity:1,size:u.getSize(),scale:u.getScale(),rotation:u.getRotation(),rotateWithView:u.getRotateWithView()}))}const h=s.getZIndex()||0;let d=g[h];d||(d={},g[h]=d,d.Polygon=[],d.Circle=[],d.LineString=[],d.Point=[]);const p=r.getType();if("GeometryCollection"===p){const t=r.getGeometriesArrayRecursive();for(let e=0,n=t.length;e<n;++e){const n=t[e];d[n.getType().replace("Multi","")].push(n,s)}}else d[p.replace("Multi","")].push(r,s)}}const m=Object.keys(g).map(Number).sort(Jq);for(let y=0,v=m.length;y<v;++y){const t=g[m[y]];for(const n in t){const r=t[n];for(let t=0,n=r.length;t<n;t+=2){d.setStyle(r[t+1]);for(let n=0,i=e.length;n<i;++n)d.setTransform(e[n]),d.drawGeometry(r[t])}}}return u.getImageData(0,0,h.width,h.height)}function m0(t,e,n){const r=[];if(n){const i=Math.floor(Math.round(t[0])*f0),s=Math.floor(Math.round(t[1])*f0),o=4*(YV(i,0,n.width-1)+YV(s,0,n.height-1)*n.width),a=n.data[o],l=n.data[o+1],c=n.data[o+2]+256*(l+256*a),u=Math.floor(16777215/e.length);c&&c%u===0&&r.push(e[c/u-1])}return r}const y0={Point:function(t,e,n,r,i,s){const o=n.getImage(),a=n.getText(),l=a&&a.getText(),c=s&&o&&l?{}:void 0;if(o){if(2!=o.getImageState())return;const s=t.getBuilder(n.getZIndex(),"Image");s.setImageStyle(o,c),s.drawPoint(e,r,i)}if(l){const s=t.getBuilder(n.getZIndex(),"Text");s.setTextStyle(a,c),s.drawText(e,r,i)}},LineString:function(t,e,n,r,i){const s=n.getStroke();if(s){const o=t.getBuilder(n.getZIndex(),"LineString");o.setFillStrokeStyle(null,s),o.drawLineString(e,r,i)}const o=n.getText();if(o&&o.getText()){const s=t.getBuilder(n.getZIndex(),"Text");s.setTextStyle(o),s.drawText(e,r,i)}},Polygon:function(t,e,n,r,i){const s=n.getFill(),o=n.getStroke();if(s||o){const a=t.getBuilder(n.getZIndex(),"Polygon");a.setFillStrokeStyle(s,o),a.drawPolygon(e,r,i)}const a=n.getText();if(a&&a.getText()){const s=t.getBuilder(n.getZIndex(),"Text");s.setTextStyle(a),s.drawText(e,r,i)}},MultiPoint:function(t,e,n,r,i,s){const o=n.getImage(),a=o&&0!==o.getOpacity(),l=n.getText(),c=l&&l.getText(),u=s&&a&&c?{}:void 0;if(a){if(2!=o.getImageState())return;const s=t.getBuilder(n.getZIndex(),"Image");s.setImageStyle(o,u),s.drawMultiPoint(e,r,i)}if(c){const s=t.getBuilder(n.getZIndex(),"Text");s.setTextStyle(l,u),s.drawText(e,r,i)}},MultiLineString:function(t,e,n,r,i){const s=n.getStroke();if(s){const o=t.getBuilder(n.getZIndex(),"LineString");o.setFillStrokeStyle(null,s),o.drawMultiLineString(e,r,i)}const o=n.getText();if(o&&o.getText()){const s=t.getBuilder(n.getZIndex(),"Text");s.setTextStyle(o),s.drawText(e,r,i)}},MultiPolygon:function(t,e,n,r,i){const s=n.getFill(),o=n.getStroke();if(o||s){const a=t.getBuilder(n.getZIndex(),"Polygon");a.setFillStrokeStyle(s,o),a.drawMultiPolygon(e,r,i)}const a=n.getText();if(a&&a.getText()){const s=t.getBuilder(n.getZIndex(),"Text");s.setTextStyle(a),s.drawText(e,r,i)}},GeometryCollection:function(t,e,n,r,i,s){const o=e.getGeometriesArray();let a,l;for(a=0,l=o.length;a<l;++a)(0,y0[o[a].getType()])(t,o[a],n,r,i,s)},Circle:function(t,e,n,r,i){const s=n.getFill(),o=n.getStroke();if(s||o){const a=t.getBuilder(n.getZIndex(),"Circle");a.setFillStrokeStyle(s,o),a.drawCircle(e,r,i)}const a=n.getText();if(a&&a.getText()){const i=t.getBuilder(n.getZIndex(),"Text");i.setTextStyle(a),i.drawText(e,r)}}};function v0(t,e){return parseInt(bV(t),10)-parseInt(bV(e),10)}function b0(t,e){const n=w0(t,e);return n*n}function w0(t,e){return.5*t/e}function _0(t,e,n,r,i,s,o,a){const l=[],c=n.getImage();if(c){let t=!0;const e=c.getImageState();2==e||3==e?t=!1:0==e&&c.load(),t&&l.push(c.ready())}const u=n.getFill();u&&u.loading()&&l.push(u.ready());const h=l.length>0;return h&&Promise.all(l).then(()=>i(null)),function(t,e,n,r,i,s,o){const a=n.getGeometryFunction()(e);if(!a)return;const l=a.simplifyTransformed(r,i);n.getRenderer()?x0(t,l,n,e,o):(0,y0[l.getType()])(t,l,n,e,o,s)}(t,e,n,r,s,o,a),h}function x0(t,e,n,r,i){if("GeometryCollection"==e.getType()){const s=e.getGeometries();for(let e=0,o=s.length;e<o;++e)x0(t,s[e],n,r,i);return}t.getBuilder(n.getZIndex(),"Default").drawCustom(e,r,n.getRenderer(),n.getHitDetectionRenderer(),i)}class C0 extends mV{constructor(t){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=t,this.staleKeys_=new Array,this.maxStaleKeys=5}getStaleKeys(){return this.staleKeys_}prependStaleKey(t){this.staleKeys_.unshift(t),this.staleKeys_.length>this.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return yV()}getData(t){return null}prepareFrame(t){return yV()}renderFrame(t,e){return yV()}forEachFeatureAtCoordinate(t,e,n,r,i){}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(Vq,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 S0=[];let k0=null;class E0 extends C0{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 r;k0||(k0=AK(1,1,void 0,{willReadFrequently:!0})),k0.clearRect(0,0,1,1);try{k0.drawImage(t,e,n,1,1,0,0,1,1),r=k0.getImageData(0,0,1,1).data}catch{return k0=null,null}return r}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,n){const r=this.getLayer().getClassName();let i,s;if(t&&t.className===r&&(!n||t&&t.style.backgroundColor&&rV(LY(t.style.backgroundColor),LY(n)))){const e=t.firstElementChild;$K(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=CG(t),r=CG(e);for(let i=0;i<6;++i)if(0!==Math.round((n[i]-r[i])*xG[i]))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){i=PV?UK():document.createElement("div"),i.className=r;let t=i.style;t.position="absolute",t.width="100%",t.height="100%",s=AK();const e=s.canvas;i.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=i,this.context=s}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(t,e,n){const r=zW(n),i=DW(n),s=MW(n),o=RW(n);vG(e.coordinateToPixelTransform,r),vG(e.coordinateToPixelTransform,i),vG(e.coordinateToPixelTransform,s),vG(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;vG(a,r),vG(a,i),vG(a,s),vG(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(i[0]),Math.round(i[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,r=t.viewState.resolution,i=t.viewState.rotation,s=t.pixelRatio,o=Math.round(NW(n)/r*s),a=Math.round(OW(n)/r*s);wG(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,i,-o/2,-a/2),_G(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 r=this.getLayer();if(r.hasListener(t)){const i=new fQ(t,this.inversePixelTransform,n,e);r.dispatchEvent(i)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_($Z,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(qZ,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new YQ),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_($Z,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(qZ,this.context,t))}getRenderTransform(t,e,n,r,i,s,o){const a=i/2,l=s/2,c=r/e,u=-c,h=-t[0]+o,d=-t[1];return wG(this.tempTransform,a,l,c,u,-n,h,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class T0 extends E0{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 r=e.extent,i=e.viewState,s=i.center,o=i.resolution,a=i.projection,l=i.rotation,c=a.getExtent(),u=this.getLayer().getSource(),h=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round(NW(r)/o*d),y=Math.round(OW(r)/o*d),v=u.getWrapX()&&a.canWrapX(),b=v?NW(c):null,w=v?Math.ceil((r[2]-c[2])/b)+1:1;let _=v?Math.floor((r[0]-c[0])/b):0;do{let r=this.getRenderTransform(s,o,0,d,m,y,_*b);e.declutter&&(r=r.slice(0)),t.execute(g,[g.canvas.width,g.canvas.height],r,l,f,void 0===n?l0:n?c0:u0,n?h&&e.declutter[h]:void 0)}while(++_<w)}setDrawContext_(){1!==this.opacity_&&(this.targetContext_=this.context,this.context=AK(this.context.canvas.width,this.context.canvas.height,S0))}resetDrawContext_(){if(1!==this.opacity_&&this.targetContext_){const t=this.targetContext_.globalAlpha;this.targetContext_.globalAlpha=this.opacity_,this.targetContext_.drawImage(this.context.canvas,0,0),this.targetContext_.globalAlpha=t,zK(this.context),S0.push(this.context.canvas),this.context=this.targetContext_,this.targetContext_=null}}renderDeclutter(t){this.replayGroup_&&this.getLayer().getDeclutter()&&this.renderWorlds(this.replayGroup_,t,!0)}renderDeferredInternal(t){this.replayGroup_&&(this.replayGroup_.renderDeferred(),this.clipped_&&this.context.restore(),this.resetDrawContext_())}renderFrame(t,e){const n=t.layerStatesArray[t.layerIndex];this.opacity_=n.opacity;const r=t.viewState;this.prepareContainer(t,e);const i=this.context,s=this.replayGroup_;let o=s&&!s.isEmpty();if(!o&&!this.getLayer().hasListener($Z)&&!this.getLayer().hasListener(qZ))return this.container;if(this.setDrawContext_(),this.preRender(i,t),r.projection,this.clipped_=!1,o&&n.extent&&this.clipping){const e=n.extent;o=jW(e,t.extent),this.clipped_=o&&!fW(e,t.extent),this.clipped_&&this.clipUnrotated(i,t,e)}return o&&this.renderWorlds(s,t,!this.getLayer().getDeclutter()&&void 0),!t.declutter&&this.clipped_&&i.restore(),this.postRender(i,t),this.renderedRotation_!==r.rotation&&(this.renderedRotation_=r.rotation,this.hitDetectionImageData_=null),t.declutter||this.resetDrawContext_(),this.container}getFeatures(t){return new Promise(e=>{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=this.frameState.size.slice(),e=this.renderedCenter_,n=this.renderedResolution_,r=this.renderedRotation_,i=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*f0,c=t[1]*f0;a.push(this.getRenderTransform(e,n,r,f0,l,c,0).slice());const u=o.getSource(),h=i.getExtent();if(u.getWrapX()&&i.canWrapX()&&!fW(h,s)){let t=s[0];const i=NW(h);let o,u=0;for(;t<h[0];)--u,o=i*u,a.push(this.getRenderTransform(e,n,r,f0,l,c,o).slice()),t+=i;for(u=0,t=s[2];t>h[2];)++u,o=i*u,a.push(this.getRenderTransform(e,n,r,f0,l,c,o).slice()),t-=i}this.hitDetectionImageData_=g0(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,r,b0(n,this.renderedPixelRatio_),null)}e(m0(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,n,r,i){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=bV(t),o=l[s];if(o){if(!0!==o&&n<o.distanceSq){if(0===n)return l[s]=!0,i.splice(i.lastIndexOf(o),1),r(t,a,e);o.geometry=e,o.distanceSq=n}}else{if(0===n)return l[s]=!0,r(t,a,e);i.push(l[s]={feature:t,layer:a,geometry:e,distanceSq:n,callback:r})}},c?e.declutter?.[c]?.all().map(t=>t.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 r=t.viewHints[0],i=t.viewHints[1],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&r||!o&&i)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,c=l.projection,u=l.resolution,h=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=v0);const g=l.center.slice(),m=uW(a,p*u),y=m.slice(),v=[m.slice()],b=c.getExtent();if(n.getWrapX()&&c.canWrapX()&&!fW(b,t.extent)){const t=NW(b),e=Math.max(NW(m)/2,t);m[0]=b[0]-e,m[2]=b[2]+e,HW(g,c);const n=$W(v[0],c);n[0]<b[0]&&n[2]<b[2]?v.push([n[0]+t,n[1],n[2]+t,n[3]]):n[0]>b[0]&&n[2]>b[2]&&v.push([n[0]-t,n[1],n[2]-t,n[3]])}if(this.ready&&this.renderedResolution_==u&&this.renderedRevision_==d&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!t.declutter&&fW(this.wrappedRenderedExtent_,m))return rV(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const w=new KQ(w0(u,h),m,u,h);for(let R=0,M=v.length;R<M;++R)n.loadFeatures(v[R],u,c);const _=b0(u,h);let x=!0;const C=(t,n)=>{let r;const i=t.getStyleFunction()||e.getStyleFunction();if(i&&(r=i(t,u)),r){const e=this.renderFeature(t,_,r,w,void 0,this.getLayer().getDeclutter(),n);x=x&&!e}},S=m,k=n.getFeaturesInExtent(S);f&&k.sort(f);for(let R=0,M=k.length;R<M;++R)C(k[R],R);this.renderedFeatures_=k,this.ready=x;const E=w.finish(),T=new h0(m,u,h,n.getOverlaps(),E,e.getRenderBuffer(),!!t.declutter);return this.renderedResolution_=u,this.renderedRevision_=d,this.renderedRenderOrder_=f,this.renderedFrameDeclutter_=!!t.declutter,this.renderedExtent_=y,this.wrappedRenderedExtent_=m,this.renderedCenter_=g,this.renderedProjection_=c,this.renderedPixelRatio_=h,this.replayGroup_=T,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(t,e,n,r,i,s,o){if(!n)return!1;let a=!1;if(Array.isArray(n))for(let l=0,c=n.length;l<c;++l)a=_0(r,t,n[l],e,this.boundHandleStyleImageChange_,i,s,o)||a;else a=_0(r,t,n,e,this.boundHandleStyleImageChange_,i,s,o);return a}}class R0 extends pQ{constructor(t){super(t)}createRenderer(){return new T0(this)}}function M0(t,e,n,r,i,s,o){const a=new XMLHttpRequest;a.open("GET","function"==typeof t?t(n,r,i):t,!0),"arraybuffer"==e.getType()&&(a.responseType="arraybuffer"),a.withCredentials=!1,a.onload=function(){if(!a.status||a.status>=200&&a.status<300){const t=e.getType();try{let r;"text"==t||"json"==t?r=a.responseText:"xml"==t?r=a.responseXML||a.responseText:"arraybuffer"==t&&(r=a.response),r?s(e.readFeatures(r,{extent:n,featureProjection:i}),e.readProjection(r)):o()}catch{o()}}else o()},a.onerror=o,a.send()}function L0(t,e){return function(n,r,i,s,o){M0(t,e,n,r,i,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function I0(){return[[-1/0,-1/0,1/0,1/0]]}function P0(t){return[t]}class A0 extends RG{constructor(t){super(),this.geometries_=t,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(gV),this.changeEventsKeys_.length=0}listenGeometriesChange_(){const t=this.geometries_;for(let e=0,n=t.length;e<n;++e)this.changeEventsKeys_.push(pV(t[e],Vq,this.changed,this))}clone(){const t=new A0(O0(this.geometries_));return t.applyProperties(this),t}closestPointXY(t,e,n,r){if(r<dW(this.getExtent(),t,e))return r;const i=this.geometries_;for(let s=0,o=i.length;s<o;++s)r=i[s].closestPointXY(t,e,n,r);return r}containsXY(t,e){const n=this.geometries_;for(let r=0,i=n.length;r<i;++r)if(n[r].containsXY(t,e))return!0;return!1}computeExtent(t){vW(t);const e=this.geometries_;for(let n=0,r=e.length;n<r;++n)xW(t,e[n].getExtent());return t}getGeometries(){return O0(this.geometries_)}getGeometriesArray(){return this.geometries_}getGeometriesArrayRecursive(){let t=[];const e=this.geometries_;for(let n=0,r=e.length;n<r;++n)e[n].getType()===this.getType()?t=t.concat(e[n].getGeometriesArrayRecursive()):t.push(e[n]);return t}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=[],n=this.geometries_;let r=!1;for(let i=0,s=n.length;i<s;++i){const s=n[i],o=s.getSimplifiedGeometry(t);e.push(o),o!==s&&(r=!0)}return r?new A0(e):(this.simplifiedGeometryMaxMinSquaredTolerance=t,this)}getType(){return"GeometryCollection"}intersectsExtent(t){const e=this.geometries_;for(let n=0,r=e.length;n<r;++n)if(e[n].intersectsExtent(t))return!0;return!1}isEmpty(){return 0===this.geometries_.length}rotate(t,e){const n=this.geometries_;for(let r=0,i=n.length;r<i;++r)n[r].rotate(t,e);this.changed()}scale(t,e,n){n||(n=LW(this.getExtent()));const r=this.geometries_;for(let i=0,s=r.length;i<s;++i)r[i].scale(t,e,n);this.changed()}setGeometries(t){this.setGeometriesArray(O0(t))}setGeometriesArray(t){this.unlistenGeometriesChange_(),this.geometries_=t,this.listenGeometriesChange_(),this.changed()}applyTransform(t){const e=this.geometries_;for(let n=0,r=e.length;n<r;++n)e[n].applyTransform(t);this.changed()}translate(t,e){const n=this.geometries_;for(let r=0,i=n.length;r<i;++r)n[r].translate(t,e);this.changed()}disposeInternal(){this.unlistenGeometriesChange_(),super.disposeInternal()}}function O0(t){return t.map(t=>t.clone())}const F0=[1,0,0,1,0,0];class z0{constructor(t,e,n,r,i,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_=i,this.squaredTolerance_,this.stride_=r,this.simplifiedGeometry_}get(t){return this.properties_[t]}getExtent(){return this.extent_||(this.extent_="Point"===this.type_?bW(this.flatCoordinates_):wW(this.flatCoordinates_,0,this.flatCoordinates_.length,2)),this.extent_}getFlatInteriorPoint(){if(!this.flatInteriorPoints_){const t=LW(this.getExtent());this.flatInteriorPoints_=eK(this.flatCoordinates_,0,this.ends_,2,t,0)}return this.flatInteriorPoints_}getFlatInteriorPoints(){if(!this.flatInteriorPoints_){const t=pK(this.flatCoordinates_,this.ends_),e=OQ(this.flatCoordinates_,0,t,2);this.flatInteriorPoints_=nK(this.flatCoordinates_,0,t,2,e)}return this.flatInteriorPoints_}getFlatMidpoint(){return this.flatMidpoints_||(this.flatMidpoints_=RQ(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 r=0,i=n.length;r<i;++r){const i=n[r],s=RQ(t,e,i,2,.5);nV(this.flatMidpoints_,s),e=i}}return this.flatMidpoints_}getId(){return this.id_}getOrientedFlatCoordinates(){return this.flatCoordinates_}getGeometry(){return this}getSimplifiedGeometry(t){return this}simplifyTransformed(t,e){return this}getProperties(){return this.properties_}getPropertiesInternal(){return this.properties_}getStride(){return this.stride_}getStyleFunction(){return this.styleFunction}getType(){return this.type_}transform(t){const e=(t=YH(t)).getExtent(),n=t.getWorldExtent();if(e&&n){const t=OW(n)/OW(e);wG(F0,n[0],n[3],t,-t,0,0,0),SG(this.flatCoordinates_,0,this.flatCoordinates_.length,2,F0,this.flatCoordinates_)}}applyTransform(t){t(this.flatCoordinates_,this.flatCoordinates_,this.stride_)}clone(){return new z0(this.type_,this.flatCoordinates_.slice(),this.ends_?.slice(),this.stride_,Object.assign({},this.properties_),this.id_)}getEnds(){return this.ends_}enableSimplifyTransformed(){return this.simplifyTransformed=aV((t,e)=>{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const n=this.simplifiedGeometry_.getFlatCoordinates();let r;switch(this.type_){case"LineString":n.length=WG(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),r=[n.length];break;case"MultiLineString":r=[],n.length=HG(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,r);break;case"Polygon":r=[],n.length=ZG(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,r)}return r&&(this.simplifiedGeometry_=new z0(this.type_,n,r,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}z0.prototype.getFlatCoordinates=z0.prototype.getOrientedFlatCoordinates;class D0{constructor(t){this.rbush_=new XZ(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_[bV(e)]=n}load(t,e){const n=new Array(e.length);for(let r=0,i=e.length;r<i;r++){const i=t[r],s=e[r],o={minX:i[0],minY:i[1],maxX:i[2],maxY:i[3],value:s};n[r]=o,this.items_[bV(s)]=o}this.rbush_.load(n)}remove(t){const e=bV(t),n=this.items_[e];return delete this.items_[e],null!==this.rbush_.remove(n)}update(t,e){const n=this.items_[bV(e)];_W([n.minX,n.minY,n.maxX,n.maxY],t)||(this.remove(e),this.insert(t,e))}getAll(){return this.rbush_.all().map(function(t){return t.value})}getInExtent(t){const e={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]};return this.rbush_.search(e).map(function(t){return t.value})}forEach(t){return this.forEach_(this.getAll(),t)}forEachInExtent(t,e){return this.forEach_(this.getInExtent(t),e)}forEach_(t,e){let n;for(let r=0,i=t.length;r<i;r++)if(n=e(t[r]),n)return n;return n}isEmpty(){return uV(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(t){const e=this.rbush_.toJSON();return yW(e.minX,e.minY,e.maxX,e.maxY,t)}concat(t){this.rbush_.load(t.rbush_.all());for(const e in t.items_)this.items_[e]=t.items_[e]}}class N0 extends _V{constructor(t){super(),this.projection=YH(t.projection),this.attributions_=j0(t.attributions),this.attributionsCollapsible_=t.attributionsCollapsible??!0,this.loading=!1,this.state_=void 0!==t.state?t.state:"ready",this.wrapX_=void 0!==t.wrapX&&t.wrapX,this.interpolate_=!!t.interpolate,this.viewResolver=null,this.viewRejector=null;const e=this;this.viewPromise_=new Promise(function(t,n){e.viewResolver=t,e.viewRejector=n})}getAttributions(){return this.attributions_}getAttributionsCollapsible(){return this.attributionsCollapsible_}getProjection(){return this.projection}getResolutions(t){return null}getView(){return this.viewPromise_}getState(){return this.state_}getWrapX(){return this.wrapX_}getInterpolate(){return this.interpolate_}refresh(){this.changed()}setAttributions(t){this.attributions_=j0(t),this.changed()}setState(t){this.state_=t,this.changed()}}function j0(t){return t?"function"==typeof t?t:(Array.isArray(t)||(t=[t]),()=>t):null}const B0="addfeature",U0="removefeature";class $0 extends hV{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class q0 extends N0{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_=oV,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_&&(WV(this.format_,"`format` must be set when `url` is set"),this.loader_=L0(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:I0;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,r;this.featuresRtree_=e?new D0:null,this.loadedExtentsRtree_=new D0,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?r=t.features:t.features&&(n=t.features,r=n.getArray()),e||void 0!==n||(n=new SV(r)),void 0!==r&&this.addFeaturesInternal(r),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=bV(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 $0(B0,t))}setupChangeEvents_(t,e){e instanceof z0||(this.featureChangeKeys_[t]=[pV(e,Vq,this.handleFeatureChange_,this),pV(e,qq,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 z0){const r=this.idIndex_[t];r instanceof z0?Array.isArray(r)?r.push(e):this.idIndex_[t]=[r,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(WV(!(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=[],r=[];for(let i=0,s=t.length;i<s;i++){const e=t[i],r=bV(e);this.addToIndex_(r,e)&&n.push(e)}for(let i=0,s=n.length;i<s;i++){const t=n[i],s=bV(t);this.setupChangeEvents_(s,t);const o=t.getGeometry();if(o){const n=o.getExtent();e.push(n),r.push(t)}else this.nullGeometryFeatures_[s]=t}if(this.featuresRtree_&&this.featuresRtree_.load(e,r),this.hasListener(B0))for(let i=0,s=n.length;i<s;i++)this.dispatchEvent(new $0(B0,n[i]))}bindFeaturesCollection_(t){let e=!1;this.addEventListener(B0,function(n){e||(e=!0,t.push(n.feature),e=!1)}),this.addEventListener(U0,function(n){e||(e=!0,t.remove(n.feature),e=!1)}),t.addEventListener(Uq,t=>{e||(e=!0,this.addFeature(t.element),e=!1)}),t.addEventListener($q,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(gV);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 $0("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 r=n.getGeometry();if(r instanceof z0||r.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 r=n.getGeometry();if(r instanceof z0||r.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(),uV(this.nullGeometryFeatures_)||nV(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=qW(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],r=t[1];let i=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||iV,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof z0?0:e.closestPointXY(n,r,s,o),o<l){i=t;const e=Math.sqrt(o);a[0]=n-e,a[1]=r-e,a[2]=n+e,a[3]=r+e}}}),i}getExtent(t){return this.featuresRtree_.getExtent(t)}getFeatureById(t){const e=this.idIndex_[t.toString()];return void 0!==e?e:null}getFeatureByUid(t){const e=this.uidIndex_[t];return void 0!==e?e:null}getFormat(){return this.format_}getOverlaps(){return this.overlaps_}getUrl(){return this.url_}handleFeatureChange_(t){const e=t.target,n=bV(e),r=e.getGeometry();if(r){const t=r.getExtent();n in this.nullGeometryFeatures_?(delete this.nullGeometryFeatures_[n],this.featuresRtree_&&this.featuresRtree_.insert(t,e)):this.featuresRtree_&&this.featuresRtree_.update(t,e)}else n in this.nullGeometryFeatures_||(this.featuresRtree_&&this.featuresRtree_.remove(e),this.nullGeometryFeatures_[n]=e);const i=e.getId();if(void 0!==i){const t=i.toString();this.idIndex_[t]!==e&&(this.removeFromIdIndex_(e),this.idIndex_[t]=e)}else this.removeFromIdIndex_(e),this.uidIndex_[n]=e;this.changed(),this.dispatchEvent(new $0("changefeature",e))}hasFeature(t){const e=t.getId();return void 0!==e?e in this.idIndex_:bV(t)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&uV(this.nullGeometryFeatures_):!this.featuresCollection_||0===this.featuresCollection_.getLength()}loadFeatures(t,e,n){const r=this.loadedExtentsRtree_,i=this.strategy_(t,e,n);for(let s=0,o=i.length;s<o;++s){const t=i[s];r.forEachInExtent(t,function(e){return fW(e.extent,t)})||(++this.loadingExtentsCount_,this.dispatchEvent(new $0("featuresloadstart")),this.loader_.call(this,t,e,n,t=>{--this.loadingExtentsCount_,this.dispatchEvent(new $0("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new $0("featuresloaderror"))}),r.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(_W(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,r=t.length;n<r;++n)e=this.removeFeatureInternal(t[n])||e;e&&this.changed()}removeFeature(t){t&&this.removeFeatureInternal(t)&&this.changed()}removeFeatureInternal(t){const e=bV(t);if(!(e in this.uidIndex_))return!1;e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t);const n=this.featureChangeKeys_[e];n?.forEach(gV),delete this.featureChangeKeys_[e];const r=t.getId();if(void 0!==r){const e=r.toString(),n=this.idIndex_[e];n===t?delete this.idIndex_[e]:Array.isArray(n)&&(n.splice(n.indexOf(t),1),1===n.length&&(this.idIndex_[e]=n[0]))}return delete this.uidIndex_[e],this.hasListener(U0)&&this.dispatchEvent(new $0(U0,t)),!0}removeFromIdIndex_(t){for(const e in this.idIndex_)if(this.idIndex_[e]===t){delete this.idIndex_[e];break}}setLoader(t){this.loader_=t}setUrl(t){WV(this.format_,"`format` must be set when `url` is set"),this.url_=t,this.setLoader(L0(t,this.format_))}setOverlaps(t){this.overlaps_=t,this.changed()}}class V0{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=TQ,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?YH(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=YH(n),n.setWorldExtent(e.extent)),e={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},t)}getType(){return yV()}readFeature(t,e){return yV()}readFeatures(t,e){return yV()}readGeometry(t,e){return yV()}readProjection(t){return yV()}writeFeature(t,e){return yV()}writeFeatures(t,e){return yV()}writeGeometry(t,e){return yV()}}function W0(t,e,n){const r=n?YH(n.featureProjection):null,i=n?YH(n.dataProjection):null;let s=t;if(r&&i&&!nG(r,i)){e&&(s=t.clone());const n=e?r:i,o=e?i:r;"tile-pixels"===n.getUnits()?s.transform(n,o):s.applyTransform(sG(n,o))}if(e&&n&&void 0!==n.decimals){const e=Math.pow(10,n.decimals),r=function(t){for(let n=0,r=t.length;n<r;++n)t[n]=Math.round(t[n]*e)/e;return t};s===t&&(s=t.clone()),s.applyTransform(r)}return s}const H0={Point:XG,LineString:IQ,Polygon:fK,MultiPoint:AQ,MultiLineString:PQ,MultiPolygon:FQ};function G0(t,e){const n=t.geometry;if(!n)return[];if(Array.isArray(n))return n.map(e=>G0({...t,geometry:e})).flat();const r="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===r||"Circle"===r)throw new Error("Unsupported geometry type: "+r);const i=n.layout.length;return W0(new z0(r,"Polygon"===r?function(t,e,n){return Array.isArray(e[0])?(uK(t,0,e,n)||dK(t=t.slice(),0,e,n),t):(cK(t,0,e,n)||hK(t=t.slice(),0,e,n),t)}(n.flatCoordinates,n.ends,i):n.flatCoordinates,n.ends?.flat(),i,t.properties||{},t.id).enableSimplifyTransformed(),!1,e)}function K0(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>K0(t,e));return new A0(n)}return W0(new(0,H0[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class Z0 extends V0{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(Y0(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(Y0(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return yV()}readFeaturesFromObject(t,e){return yV()}readGeometry(t,e){return this.readGeometryFromObject(Y0(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return yV()}readProjection(t){return this.readProjectionFromObject(Y0(t))}readProjectionFromObject(t){return yV()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return yV()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return yV()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return yV()}}function Y0(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class X0 extends Z0{constructor(t){t=t||{},super(),this.dataProjection=YH(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=YH(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 r=J0(n.geometry);if(this.featureClass===z0)return G0({geometry:r,id:n.id,properties:n.properties},e);const i=new TQ;return this.geometryName_?i.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&i.setGeometryName(n.geometry_name),i.setGeometry(K0(r,e)),"id"in n&&i.setId(n.id),n.properties&&i.setProperties(n.properties,!0),i}readFeaturesFromObject(t,e){let n=null;if("FeatureCollection"===t.type){n=[];const r=t.features;for(let t=0,i=r.length;t<i;++t){const i=this.readFeatureFromObject(r[t],e);i&&n.push(i)}}else n=[this.readFeatureFromObject(t,e)];return n.flat()}readGeometryFromObject(t,e){return function(t,e){return K0(J0(t),e)}(t,e)}readProjectionFromObject(t){const e=t.crs;let n;if(e)if("name"==e.type)n=YH(e.properties.name);else{if("EPSG"!==e.type)throw new Error("Unknown SRS type");n=YH("EPSG:"+e.properties.code)}else n=this.dataProjection;return n}writeFeatureObject(t,e){e=this.adaptOptions(e);const n={type:"Feature",geometry:null,properties:null},r=t.getId();if(void 0!==r&&(n.id=r),!t.hasProperties())return n;const i=t.getProperties(),s=t.getGeometry();return s&&(n.geometry=Q0(s,e),delete i[t.getGeometryName()]),uV(i)||(n.properties=i),n}writeFeaturesObject(t,e){e=this.adaptOptions(e);const n=[];for(let r=0,i=t.length;r<i;++r)n.push(this.writeFeatureObject(t[r],e));return{type:"FeatureCollection",features:n}}writeGeometryObject(t,e){return Q0(t,this.adaptOptions(e))}}function J0(t){if(!t)return null;let e;switch(t.type){case"Point":e=function(t){const e=t.coordinates;return{type:"Point",flatCoordinates:e,layout:LG(e.length)}}(t);break;case"LineString":e=function(t){const e=t.coordinates,n=e.flat();return{type:"LineString",flatCoordinates:n,ends:[n.length],layout:LG(e[0]?.length||2)}}(t);break;case"Polygon":e=function(t){const e=t.coordinates,n=[],r=e[0]?.[0]?.length;return{type:"Polygon",flatCoordinates:n,ends:BG(n,0,e,r),layout:LG(r)}}(t);break;case"MultiPoint":e=function(t){const e=t.coordinates;return{type:"MultiPoint",flatCoordinates:e.flat(),layout:LG(e[0]?.length||2)}}(t);break;case"MultiLineString":e=function(t){const e=t.coordinates,n=e[0]?.[0]?.length||2,r=[];return{type:"MultiLineString",flatCoordinates:r,ends:BG(r,0,e,n),layout:LG(n)}}(t);break;case"MultiPolygon":e=function(t){const e=t.coordinates,n=[],r=e[0]?.[0]?.[0].length||2;return{type:"MultiPolygon",flatCoordinates:n,ends:UG(n,0,e,r),layout:LG(r)}}(t);break;case"GeometryCollection":e=function(t){const e=t.geometries.map(function(t){return J0(t)});return e}(t);break;default:throw new Error("Unsupported GeoJSON type: "+t.type)}return e}function Q0(t,e){const n=(t=W0(t,!0,e)).getType();let r;switch(n){case"Point":r=function(t){return{type:"Point",coordinates:t.getCoordinates()}}(t);break;case"LineString":r=function(t){return{type:"LineString",coordinates:t.getCoordinates()}}(t);break;case"Polygon":r=function(t,e){let n;return e&&(n=e.rightHanded),{type:"Polygon",coordinates:t.getCoordinates(n)}}(t,e);break;case"MultiPoint":r=function(t){return{type:"MultiPoint",coordinates:t.getCoordinates()}}(t);break;case"MultiLineString":r=function(t){return{type:"MultiLineString",coordinates:t.getCoordinates()}}(t);break;case"MultiPolygon":r=function(t,e){let n;return e&&(n=e.rightHanded),{type:"MultiPolygon",coordinates:t.getCoordinates(n)}}(t,e);break;case"GeometryCollection":r=function(t,e){return delete(e=Object.assign({},e)).featureProjection,{type:"GeometryCollection",geometries:t.getGeometriesArray().map(function(t){return Q0(t,e)})}}(t,e);break;case"Circle":r={type:"GeometryCollection",geometries:[]};break;default:throw new Error("Unsupported geometry type: "+n)}return r}const t1="accuracy",e1="accuracyGeometry",n1="altitude",r1="altitudeAccuracy",i1="heading",s1="position",o1="projection",a1="speed",l1="tracking",c1="trackingOptions";class u1 extends hV{constructor(t){super("error"),this.code=t.code,this.message=t.message}}class h1 extends _V{constructor(t){super(),this.on,this.once,this.un,t=t||{},this.position_=null,this.transform_=KH,this.watchId_=void 0,this.addChangeListener(o1,this.handleProjectionChanged_),this.addChangeListener(l1,this.handleTrackingChanged_),void 0!==t.projection&&this.setProjection(t.projection),void 0!==t.trackingOptions&&this.setTrackingOptions(t.trackingOptions),this.setTracking(void 0!==t.tracking&&t.tracking)}disposeInternal(){this.setTracking(!1),super.disposeInternal()}handleProjectionChanged_(){const t=this.getProjection();t&&(this.transform_=rG(YH("EPSG:4326"),t),this.position_&&this.set(s1,this.transform_(this.position_)))}handleTrackingChanged_(){if("geolocation"in navigator){const t=this.getTracking();t&&void 0===this.watchId_?this.watchId_=navigator.geolocation.watchPosition(this.positionChange_.bind(this),this.positionError_.bind(this),this.getTrackingOptions()):t||void 0===this.watchId_||(navigator.geolocation.clearWatch(this.watchId_),this.watchId_=void 0)}}positionChange_(t){const e=t.coords;this.set(t1,e.accuracy),this.set(n1,null===e.altitude?void 0:e.altitude),this.set(r1,null===e.altitudeAccuracy?void 0:e.altitudeAccuracy),this.set(i1,null===e.heading?void 0:tW(e.heading)),this.position_?(this.position_[0]=e.longitude,this.position_[1]=e.latitude):this.position_=[e.longitude,e.latitude];const n=this.transform_(this.position_);this.set(s1,n.slice()),this.set(a1,null===e.speed?void 0:e.speed);const r=function(t,e,n){n=n||32;const r=[];for(let i=0;i<n;++i)nV(r,QW(t,e,2*Math.PI*i/n,void 0));return r.push(r[0],r[1]),new fK(r,"XY",[r.length])}(this.position_,e.accuracy);r.applyTransform(this.transform_),this.set(e1,r),this.changed()}positionError_(t){this.dispatchEvent(new u1(t))}getAccuracy(){return this.get(t1)}getAccuracyGeometry(){return this.get(e1)||null}getAltitude(){return this.get(n1)}getAltitudeAccuracy(){return this.get(r1)}getHeading(){return this.get(i1)}getPosition(){return this.get(s1)}getProjection(){return this.get(o1)}getSpeed(){return this.get(a1)}getTracking(){return this.get(l1)}getTrackingOptions(){return this.get(c1)}setProjection(t){this.set(o1,YH(t))}setTracking(t){this.set(l1,t)}setTrackingOptions(t){this.set(c1,t)}}const d1=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function p1(t,e){const n={};for(const r in t)"ref"!==r&&(n[r]=t[r]);return d1.forEach(t=>{t in e&&(n[t]=e[t])}),n}function f1(t){t=t.slice();const e=Object.create(null);for(let n=0;n<t.length;n++)e[t[n].id]=t[n];for(let n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=p1(t[n],e[t[n].ref]));return t}class g1 extends Error{constructor(t,e){super(e),this.message=e,this.key=t}}class m1{constructor(t,e=[]){this.parent=t,this.bindings={};for(const[n,r]of e)this.bindings[n]=r}concat(t){return new m1(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(`${t} not found in scope.`)}has(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)}}const y1={kind:"null"},v1={kind:"number"},b1={kind:"string"},w1={kind:"boolean"},_1={kind:"color"},x1={kind:"projectionDefinition"},C1={kind:"object"},S1={kind:"value"},k1={kind:"collator"},E1={kind:"formatted"},T1={kind:"padding"},R1={kind:"colorArray"},M1={kind:"numberArray"},L1={kind:"resolvedImage"},I1={kind:"variableAnchorOffsetCollection"};function P1(t,e){return{kind:"array",itemType:t,N:e}}function A1(t){if("array"===t.kind){const e=A1(t.itemType);return"number"==typeof t.N?`array<${e}, ${t.N}>`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const O1=[y1,v1,b1,w1,_1,x1,E1,C1,P1(S1),T1,M1,R1,L1,I1];function F1(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!F1(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 O1)if(!F1(t,e))return null}return`Expected ${A1(t)} but found ${A1(e)} instead.`}function z1(t,e){return e.some(e=>e.kind===t.kind)}function D1(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 N1(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const j1=.96422,B1=.82521,U1=4/29,$1=6/29,q1=3*$1*$1,V1=$1*$1*$1,W1=Math.PI/180,H1=180/Math.PI;function G1(t){return(t%=360)<0&&(t+=360),t}function K1([t,e,n,r]){let i,s;const o=Y1((.2225045*(t=Z1(t))+.7168786*(e=Z1(e))+.0606169*(n=Z1(n)))/1);t===e&&e===n?i=s=o:(i=Y1((.4360747*t+.3850649*e+.1430804*n)/j1),s=Y1((.0139322*t+.0971045*e+.7141733*n)/B1));const a=116*o-16;return[a<0?0:a,500*(i-o),200*(o-s),r]}function Z1(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Y1(t){return t>V1?Math.pow(t,1/3):t/q1+U1}function X1([t,e,n,r]){let i=(t+16)/116,s=isNaN(e)?i:i+e/500,o=isNaN(n)?i:i-n/200;return i=1*Q1(i),s=j1*Q1(s),o=B1*Q1(o),[J1(3.1338561*s-1.6168667*i-.4906146*o),J1(-.9787684*s+1.9161415*i+.033454*o),J1(.0719453*s-.2289914*i+1.4052427*o),r]}function J1(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Q1(t){return t>$1?t*t*t:q1*(t-U1)}const t2=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function e2(t,e){return t2(t,e)?t[e]:void 0}function n2(t){return parseInt(t.padEnd(2,t),16)/255}function r2(t,e){return i2(e?t/100:t,0,1)}function i2(t,e,n){return Math.min(Math.max(e,t),n)}function s2(t){return!t.some(Number.isNaN)}const o2={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 a2(t,e,n){return t+n*(e-t)}function l2(t,e,n){return t.map((t,r)=>a2(t,e[r],n))}class c2{constructor(t,e,n,r=1,i=!0){this.r=t,this.g=e,this.b=n,this.a=r,i||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter("rgb",[t,e,n,r]))}static parse(t){if(t instanceof c2)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=e2(o2,t);if(e){const[t,n,r]=e;return[t/255,n/255,r/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[n2(t.slice(n,n+=e)),n2(t.slice(n,n+=e)),n2(t.slice(n,n+=e)),n2(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,r,i,s,o,a,l,c,u,h,d]=n,p=[i||" ",a||" ",u].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[r,o,c].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[i2(+e/n,0,1),i2(+s/n,0,1),i2(+l/n,0,1),h?r2(+h,d):1];if(s2(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,r,i,s,o,a,l,c]=n,u=[r||" ",s||" ",a].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){const t=[+e,i2(+i,0,100),i2(+o,0,100),l?r2(+l,c):1];if(s2(t))return function([t,e,n,r]){function i(r){const i=(r+t/30)%12,s=e*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(i-3,9-i,1))}return t=G1(t),e/=100,n/=100,[i(0),i(8),i(4),r]}(t)}}}(t);return e?new c2(...e,!1):void 0}get rgb(){const{r:t,g:e,b:n,a:r}=this,i=r||1/0;return this.overwriteGetter("rgb",[t/i,e/i,n/i,r])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,n,r,i]=K1(t),s=Math.sqrt(n*n+r*r);return[Math.round(1e4*s)?G1(Math.atan2(r,n)*H1):NaN,s,e,i]}(this.rgb))}get lab(){return this.overwriteGetter("lab",K1(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,n,r]=this.rgb;return`rgba(${[t,e,n].map(t=>Math.round(255*t)).join(",")},${r})`}static interpolate(t,e,n,r="rgb"){switch(r){case"rgb":{const[r,i,s,o]=l2(t.rgb,e.rgb,n);return new c2(r,i,s,o,!1)}case"hcl":{const[r,i,s,o]=t.hcl,[a,l,c,u]=e.hcl;let h,d;if(isNaN(r)||isNaN(a))isNaN(r)?isNaN(a)?h=NaN:(h=a,1!==s&&0!==s||(d=l)):(h=r,1!==c&&0!==c||(d=i));else{let t=a-r;a>r&&t>180?t-=360:a<r&&r-a>180&&(t+=360),h=r+n*t}const[p,f,g,m]=function([t,e,n,r]){return t=isNaN(t)?0:t*W1,X1([n,Math.cos(t)*e,Math.sin(t)*e,r])}([h,null!=d?d:a2(i,l,n),a2(s,c,n),a2(o,u,n)]);return new c2(p,f,g,m,!1)}case"lab":{const[r,i,s,o]=X1(l2(t.lab,e.lab,n));return new c2(r,i,s,o,!1)}}}}c2.black=new c2(0,0,0,1),c2.white=new c2(1,1,1,1),c2.transparent=new c2(0,0,0,0),c2.red=new c2(1,0,0,1);class u2{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 h2=["bottom","center","top"];class d2{constructor(t,e,n,r,i,s){this.text=t,this.image=e,this.scale=n,this.fontStack=r,this.textColor=i,this.verticalAlign=s}}class p2{constructor(t){this.sections=t}static fromString(t){return new p2([new d2(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 p2?t:p2.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class f2{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof f2)return t;if("number"==typeof t)return new f2([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 f2(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new f2(l2(t.values,e.values,n))}}class g2{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof g2)return t;if("number"==typeof t)return new g2([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new g2(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new g2(l2(t.values,e.values,n))}}class m2{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof m2)return t;if("string"==typeof t){const e=c2.parse(t);if(!e)return;return new m2([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=c2.parse(n);if(!t)return;e.push(t)}return new m2(e)}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n,r="rgb"){const i=[];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<t.values.length;s++)i.push(c2.interpolate(t.values[s],e.values[s],n,r));return new m2(i)}}class y2 extends Error{constructor(t){super(t),this.name="RuntimeError"}toJSON(){return this.message}}const v2=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class b2{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof b2)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e<t.length;e+=2){const n=t[e],r=t[e+1];if("string"!=typeof n||!v2.has(n))return;if(!Array.isArray(r)||2!==r.length||"number"!=typeof r[0]||"number"!=typeof r[1])return}return new b2(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){const r=t.values,i=e.values;if(r.length!==i.length)throw new y2(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const s=[];for(let o=0;o<r.length;o+=2){if(r[o]!==i[o])throw new y2(`Cannot interpolate values containing mismatched anchors. from[${o}]: ${r[o]}, to[${o}]: ${i[o]}`);s.push(r[o]);const[t,e]=r[o+1],[a,l]=i[o+1];s.push([a2(t,a,n),a2(e,l,n)])}return new b2(s)}}class w2{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new w2({name:t,available:!1}):null}}class _2{constructor(t,e,n){this.from=t,this.to=e,this.transition=n}static interpolate(t,e,n){return new _2(t,e,n)}static parse(t){return t instanceof _2?t:Array.isArray(t)&&3===t.length&&"string"==typeof t[0]&&"string"==typeof t[1]&&"number"==typeof t[2]?new _2(t[0],t[1],t[2]):"object"==typeof t&&"string"==typeof t.from&&"string"==typeof t.to&&"number"==typeof t.transition?new _2(t.from,t.to,t.transition):"string"==typeof t?new _2(t,t,1):void 0}}function x2(t,e,n,r){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[t,e,n,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[t,e,n,r]:[t,e,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function C2(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof _2||t instanceof c2||t instanceof u2||t instanceof p2||t instanceof f2||t instanceof g2||t instanceof m2||t instanceof b2||t instanceof w2)return!0;if(Array.isArray(t)){for(const e of t)if(!C2(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!C2(t[e]))return!1;return!0}return!1}function S2(t){if(null===t)return y1;if("string"==typeof t)return b1;if("boolean"==typeof t)return w1;if("number"==typeof t)return v1;if(t instanceof c2)return _1;if(t instanceof _2)return x1;if(t instanceof u2)return k1;if(t instanceof p2)return E1;if(t instanceof f2)return T1;if(t instanceof g2)return M1;if(t instanceof m2)return R1;if(t instanceof b2)return I1;if(t instanceof w2)return L1;if(Array.isArray(t)){const e=t.length;let n;for(const r of t){const t=S2(r);if(n){if(n===t)continue;n=S1;break}n=t}return P1(n||S1,e)}return C1}function k2(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof c2||t instanceof _2||t instanceof p2||t instanceof f2||t instanceof g2||t instanceof m2||t instanceof b2||t instanceof w2?t.toString():JSON.stringify(t)}class E2{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(!C2(t[1]))return e.error("invalid value");const n=t[1];let r=S2(n);const i=e.expectedType;return"array"!==r.kind||0!==r.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(r=i),new E2(r,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const T2={string:b1,number:v1,boolean:w1,object:C1};class R2{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,r=1;const i=t[0];if("array"===i){let i,s;if(t.length>2){const n=t[1];if("string"!=typeof n||!(n in T2)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=T2[n],r++}else i=S1;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],r++}n=P1(i,s)}else{if(!T2[i])throw new Error(`Types doesn't contain name = ${i}`);n=T2[i]}const s=[];for(;r<t.length;r++){const n=e.parse(t[r],r,S1);if(!n)return null;s.push(n)}return new R2(n,s)}evaluate(t){for(let e=0;e<this.args.length;e++){const n=this.args[e].evaluate(t);if(!F1(this.type,S2(n)))return n;if(e===this.args.length-1)throw new y2(`Expected value to be of type ${A1(this.type)}, but found ${A1(S2(n))} instead.`)}throw new Error}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const M2={"to-boolean":w1,"to-color":_1,"to-number":v1,"to-string":b1};class L2{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(!M2[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 r=M2[n],i=[];for(let s=1;s<t.length;s++){const n=e.parse(t[s],s,S1);if(!n)return null;i.push(n)}return new L2(r,i)}evaluate(t){switch(this.type.kind){case"boolean":return Boolean(this.args[0].evaluate(t));case"color":{let e,n;for(const r of this.args){if(e=r.evaluate(t),n=null,e instanceof c2)return e;if("string"==typeof e){const n=t.parseColor(e);if(n)return n}else if(Array.isArray(e)&&(n=e.length<3||e.length>4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:x2(e[0],e[1],e[2],e[3]),!n))return new c2(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new y2(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 r=f2.parse(e);if(r)return r}throw new y2(`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 r=g2.parse(e);if(r)return r}throw new y2(`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 r=m2.parse(e);if(r)return r}throw new y2(`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 r=b2.parse(e);if(r)return r}throw new y2(`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 r=Number(e);if(!isNaN(r))return r}throw new y2(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return p2.fromString(k2(this.args[0].evaluate(t)));case"resolvedImage":return w2.fromString(k2(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return k2(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const I2=["Unknown","Point","LineString","Polygon"];class P2{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?I2[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=c2.parse(t),this._parseColorCache.set(t,e)),e}}class A2{constructor(t,e,n=[],r,i=new m1,s=[]){this.registry=t,this.path=n,this.key=n.map(t=>`[${t}]`).join(""),this.scope=i,this.errors=s,this.expectedType=r,this._isConstant=e}parse(t,e,n,r,i={}){return e?this.concat(e,n,r)._parse(t,i):this._parse(t,i)}_parse(t,e){function n(t,e,n){return"assert"===n?new R2(e,[t]):"coerce"===n?new L2(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 i=this.registry[r];if(i){let r=i.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 E2)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new P2;try{r=new E2(r.type,r.evaluate(t))}catch(ej){return this.error(ej.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 r="number"==typeof t?this.path.concat(t):this.path,i=n?this.scope.concat(n):this.scope;return new A2(this.registry,this._isConstant,r,e||null,i,this.errors)}error(t,...e){const n=`${this.key}${e.map(t=>`[${t}]`).join("")}`;this.errors.push(new g1(n,t))}checkSubtype(t,e){const n=F1(t,e);return n&&this.error(n),n}}class O2{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 i=1;i<t.length-1;i+=2){const r=t[i];if("string"!=typeof r)return e.error(`Expected string, but found ${typeof r} instead.`,i);if(/[^a-zA-Z0-9_]/.test(r))return e.error("Variable names must contain only alphanumeric characters or '_'.",i);const s=e.parse(t[i+1],i+1);if(!s)return null;n.push([r,s])}const r=e.parse(t[t.length-1],t.length-1,e.expectedType,n);return r?new O2(n,r):null}outputDefined(){return this.result.outputDefined()}}class F2{constructor(t,e){this.type=e.type,this.name=t,this.boundExpression=e}static parse(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");const n=t[1];return e.scope.has(n)?new F2(n,e.scope.get(n)):e.error(`Unknown variable "${n}". Make sure "${n}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}}class z2{constructor(t,e,n){this.type=t,this.index=e,this.input=n}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,v1),r=e.parse(t[2],2,P1(e.expectedType||S1));if(!n||!r)return null;const i=r.type;return new z2(i.itemType,n,r)}evaluate(t){const e=this.index.evaluate(t),n=this.input.evaluate(t);if(e<0)throw new y2(`Array index out of bounds: ${e} < 0.`);if(e>=n.length)throw new y2(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new y2(`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 D2{constructor(t,e){this.type=w1,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,S1),r=e.parse(t[2],2,S1);return n&&r?z1(n.type,[w1,b1,v1,y1,S1])?new D2(n,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${A1(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!D1(e,["boolean","string","number","null"]))throw new y2(`Expected first argument to be of type boolean, string, number or null, but found ${A1(S2(e))} instead.`);if(!D1(n,["string","array"]))throw new y2(`Expected second argument to be of type array or string, but found ${A1(S2(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class N2{constructor(t,e,n){this.type=v1,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,S1),r=e.parse(t[2],2,S1);if(!n||!r)return null;if(!z1(n.type,[w1,b1,v1,y1,S1]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${A1(n.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,v1);return i?new N2(n,r,i):null}return new N2(n,r)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!D1(e,["boolean","string","number","null"]))throw new y2(`Expected first argument to be of type boolean, string, number or null, but found ${A1(S2(e))} instead.`);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(t)),D1(n,["string"])){const t=n.indexOf(e,r);return-1===t?-1:[...n.slice(0,t)].length}if(D1(n,["array"]))return n.indexOf(e,r);throw new y2(`Expected second argument to be of type array or string, but found ${A1(S2(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class j2{constructor(t,e,n,r,i,s){this.inputType=t,this.type=e,this.input=n,this.cases=r,this.outputs=i,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,r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const i={},s=[];for(let l=2;l<t.length-1;l+=2){let o=t[l];const a=t[l+1];Array.isArray(o)||(o=[o]);const c=e.concat(l);if(0===o.length)return c.error("Expected at least one branch label.");for(const t of o){if("number"!=typeof t&&"string"!=typeof t)return c.error("Branch labels must be numbers or strings.");if("number"==typeof t&&Math.abs(t)>Number.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,S2(t)))return null}else n=S2(t);if(void 0!==i[String(t)])return c.error("Branch labels must be unique.");i[String(t)]=s.length}const u=e.parse(a,l,r);if(!u)return null;r=r||u.type,s.push(u)}const o=e.parse(t[1],1,S1);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,r);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(n,o.type)?null:new j2(n,r,o,i,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(S2(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 B2{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 r=[];for(let s=1;s<t.length-1;s+=2){const i=e.parse(t[s],s,w1);if(!i)return null;const o=e.parse(t[s+1],s+1,n);if(!o)return null;r.push([i,o]),n=n||o.type}const i=e.parse(t[t.length-1],t.length-1,n);if(!i)return null;if(!n)throw new Error("Can't infer output type");return new B2(n,r,i)}evaluate(t){for(const[e,n]of this.branches)if(e.evaluate(t))return n.evaluate(t);return this.otherwise.evaluate(t)}eachChild(t){for(const[e,n]of this.branches)t(e),t(n);t(this.otherwise)}outputDefined(){return this.branches.every(([t,e])=>e.outputDefined())&&this.otherwise.outputDefined()}}class U2{constructor(t,e,n,r){this.type=t,this.input=e,this.beginIndex=n,this.endIndex=r}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,S1),r=e.parse(t[2],2,v1);if(!n||!r)return null;if(!z1(n.type,[P1(S1),b1,S1]))return e.error(`Expected first argument to be of type array or string, but found ${A1(n.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,v1);return i?new U2(n.type,n,r,i):null}return new U2(n.type,n,r)}evaluate(t){const e=this.input.evaluate(t),n=this.beginIndex.evaluate(t);let r;if(this.endIndex&&(r=this.endIndex.evaluate(t)),D1(e,["string"]))return[...e].slice(n,r).join("");if(D1(e,["array"]))return e.slice(n,r);throw new y2(`Expected first argument to be of type array or string, but found ${A1(S2(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function $2(t,e){const n=t.length-1;let r,i,s=0,o=n,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),r=t[a],i=t[a+1],r<=e){if(a===n||e<i)return a;s=a+1}else{if(!(r>e))throw new y2("Input is not a number.");o=a-1}return 0}class q2{constructor(t,e,n){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[r,i]of n)this.labels.push(r),this.outputs.push(i)}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,v1);if(!n)return null;const r=[];let i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(let s=1;s<t.length;s+=2){const n=1===s?-1/0:t[s],o=t[s+1],a=s,l=s+1;if("number"!=typeof n)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',a);if(r.length&&r[r.length-1][0]>=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,i);if(!c)return null;i=i||c.type,r.push([n,c])}return new q2(i,n,r)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return n[0].evaluate(t);const i=e.length;return r>=e[i-1]?n[i-1].evaluate(t):n[$2(e,r)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function V2(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var W2,H2,G2=function(){if(H2)return W2;function t(t,e,n,r){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*(r-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=n,this.p2y=r}return H2=1,W2=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,r=0;r<8;r++){var i=this.sampleCurveX(n)-t;if(Math.abs(i)<e)return n;var s=this.sampleCurveDerivativeX(n);if(Math.abs(s)<1e-6)break;n-=i/s}var o=0,a=1;for(n=t,r=0;r<20&&(i=this.sampleCurveX(n),!(Math.abs(i-t)<e));r++)t>i?o=n:a=n,n=.5*(a-o)+o;return n},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},W2}(),K2=V2(G2);class Z2{constructor(t,e,n,r,i){this.type=t,this.operator=e,this.interpolation=n,this.input=r,this.labels=[],this.outputs=[];for(const[s,o]of i)this.labels.push(s),this.outputs.push(o)}static interpolationFactor(t,e,n,r){let i=0;if("exponential"===t.name)i=Y2(e,t.base,n,r);else if("linear"===t.name)i=Y2(e,1,n,r);else if("cubic-bezier"===t.name){const s=t.controlPoints;i=new K2(s[0],s[1],s[2],s[3]).solve(Y2(e,1,n,r))}return i}static parse(t,e){let[n,r,i,...s]=t;if(!Array.isArray(r)||0===r.length)return e.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const t=r[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:t}}else{if("cubic-bezier"!==r[0])return e.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const t=r.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);r={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(i=e.parse(i,2,v1),!i)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==R1?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=_1;for(let l=0;l<s.length;l+=2){const t=s[l],n=s[l+1],r=l+3,i=l+4;if("number"!=typeof t)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',r);if(o.length&&o[o.length-1][0]>=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=e.parse(n,i,a);if(!c)return null;a=a||c.type,o.push([t,c])}return N1(a,v1)||N1(a,x1)||N1(a,_1)||N1(a,T1)||N1(a,M1)||N1(a,R1)||N1(a,I1)||N1(a,P1(v1))?new Z2(a,n,r,i,o):e.error(`Type ${A1(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return n[0].evaluate(t);const i=e.length;if(r>=e[i-1])return n[i-1].evaluate(t);const s=$2(e,r),o=e[s],a=e[s+1],l=Z2.interpolationFactor(this.interpolation,r,o,a),c=n[s].evaluate(t),u=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return a2(c,u,l);case"color":return c2.interpolate(c,u,l);case"padding":return f2.interpolate(c,u,l);case"colorArray":return m2.interpolate(c,u,l);case"numberArray":return g2.interpolate(c,u,l);case"variableAnchorOffsetCollection":return b2.interpolate(c,u,l);case"array":return l2(c,u,l);case"projectionDefinition":return _2.interpolate(c,u,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return c2.interpolate(c,u,l,"hcl");case"colorArray":return m2.interpolate(c,u,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return c2.interpolate(c,u,l,"lab");case"colorArray":return m2.interpolate(c,u,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function Y2(t,e,n,r){const i=r-n,s=t-n;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}class X2{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 r=e.expectedType;r&&"value"!==r.kind&&(n=r);const i=[];for(const o of t.slice(1)){const t=e.parse(o,1+i.length,n,void 0,{typeAnnotation:"omit"});if(!t)return null;n=n||t.type,i.push(t)}if(!n)throw new Error("No output type");const s=r&&i.some(t=>F1(r,t.type));return new X2(s?S1:n,i)}evaluate(t){let e,n=null,r=0;for(const i of this.args)if(r++,n=i.evaluate(t),n&&n instanceof w2&&!n.available&&(e||(e=n.name),n=null,r===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 J2(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 Q2(t,e,n,r){return 0===r.compare(e,n)}function t3(t,e,n){const r="=="!==t&&"!="!==t;return class i{constructor(t,e,n){this.type=w1,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,S1);if(!s)return null;if(!J2(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${A1(s.type)}'.`);let o=e.parse(t[2],2,S1);if(!o)return null;if(!J2(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${A1(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${A1(s.type)}' and '${A1(o.type)}'.`);r&&("value"===s.type.kind&&"value"!==o.type.kind?s=new R2(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new R2(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,k1),!a)return null}return new i(s,o,a)}evaluate(i){const s=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(r&&this.hasUntypedArgument){const e=S2(s),n=S2(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new y2(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${n.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const t=S2(s),n=S2(o);if("string"!==t.kind||"string"!==n.kind)return e(i,s,o)}return this.collator?n(i,s,o,this.collator.evaluate(i)):e(i,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const e3=t3("==",function(t,e,n){return e===n},Q2),n3=t3("!=",function(t,e,n){return e!==n},function(t,e,n,r){return!Q2(0,e,n,r)}),r3=t3("<",function(t,e,n){return e<n},function(t,e,n,r){return r.compare(e,n)<0}),i3=t3(">",function(t,e,n){return e>n},function(t,e,n,r){return r.compare(e,n)>0}),s3=t3("<=",function(t,e,n){return e<=n},function(t,e,n,r){return r.compare(e,n)<=0}),o3=t3(">=",function(t,e,n){return e>=n},function(t,e,n,r){return r.compare(e,n)>=0});class a3{constructor(t,e,n){this.type=k1,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 r=e.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,w1);if(!r)return null;const i=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,w1);if(!i)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,b1),!s)?null:new a3(r,i,s)}evaluate(t){return new u2(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 l3{constructor(t,e,n,r,i){this.type=b1,this.number=t,this.locale=e,this.currency=n,this.minFractionDigits=r,this.maxFractionDigits=i}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,v1);if(!n)return null;const r=t[2];if("object"!=typeof r||Array.isArray(r))return e.error("NumberFormat options argument must be an object.");let i=null;if(r.locale&&(i=e.parse(r.locale,1,b1),!i))return null;let s=null;if(r.currency&&(s=e.parse(r.currency,1,b1),!s))return null;let o=null;if(r["min-fraction-digits"]&&(o=e.parse(r["min-fraction-digits"],1,v1),!o))return null;let a=null;return r["max-fraction-digits"]&&(a=e.parse(r["max-fraction-digits"],1,v1),!a)?null:new l3(n,i,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 c3{constructor(t){this.type=E1,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 r=[];let i=!1;for(let s=1;s<=t.length-1;++s){const n=t[s];if(i&&"object"==typeof n&&!Array.isArray(n)){i=!1;let t=null;if(n["font-scale"]&&(t=e.parse(n["font-scale"],1,v1),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,P1(b1)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,_1),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!h2.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,b1),!a)return null}const l=r[r.length-1];l.scale=t,l.font=s,l.textColor=o,l.verticalAlign=a}else{const n=e.parse(t[s],1,S1);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'.");i=!0,r.push({content:n,scale:null,font:null,textColor:null,verticalAlign:null})}}return new c3(r)}evaluate(t){return new p2(this.sections.map(e=>{const n=e.content.evaluate(t);return S2(n)===L1?new d2("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new d2(k2(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 u3{constructor(t){this.type=L1,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,b1);return n?new u3(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=w2.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class h3{constructor(t){this.type=v1,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 ${A1(n.type)} instead.`):new h3(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 y2(`Expected value to be of type string or array, but found ${A1(S2(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const d3=8192;function p3(t,e){const n=(180+t[0])/360,r=(i=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+i*Math.PI/360)))/360);var i;const s=Math.pow(2,e.z);return[Math.round(n*s*d3),Math.round(r*s*d3)]}function f3(t,e){const n=Math.pow(2,e.z);return[(i=(t[0]/d3+e.x)/n,360*i-180),(r=(t[1]/d3+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90)];var r,i}function g3(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 m3(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function y3(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 v3(t,e,n){const r=t[0]-e[0],i=t[1]-e[1],s=t[0]-n[0],o=t[1]-n[1];return r*o-s*i===0&&r*s<=0&&i*o<=0}function b3(t,e,n,r){const i=[e[0]-t[0],e[1]-t[1]];return 0!==function(t,e){return t[0]*e[1]-t[1]*e[0]}([r[0]-n[0],r[1]-n[1]],i)&&!(!k3(t,e,n,r)||!k3(n,r,t,e))}function w3(t,e,n){for(const r of n)for(let n=0;n<r.length-1;++n)if(b3(t,e,r[n],r[n+1]))return!0;return!1}function _3(t,e,n=!1){let r=!1;for(const i of e)for(let e=0;e<i.length-1;e++){if(v3(t,i[e],i[e+1]))return n;y3(t,i[e],i[e+1])&&(r=!r)}return r}function x3(t,e){for(const n of e)if(_3(t,n))return!0;return!1}function C3(t,e){for(const n of t)if(!_3(n,e))return!1;for(let n=0;n<t.length-1;++n)if(w3(t[n],t[n+1],e))return!1;return!0}function S3(t,e){for(const n of e)if(C3(t,n))return!0;return!1}function k3(t,e,n,r){const i=t[0]-n[0],s=t[1]-n[1],o=e[0]-n[0],a=e[1]-n[1],l=r[0]-n[0],c=r[1]-n[1],u=i*c-l*s,h=o*c-l*a;return u>0&&h<0||u<0&&h>0}function E3(t,e,n){const r=[];for(let i=0;i<t.length;i++){const s=[];for(let r=0;r<t[i].length;r++){const o=p3(t[i][r],n);g3(e,o),s.push(o)}r.push(s)}return r}function T3(t,e,n){const r=[];for(let i=0;i<t.length;i++){const s=E3(t[i],e,n);r.push(s)}return r}function R3(t,e,n,r){if(t[0]<n[0]||t[0]>n[2]){const e=.5*r;let i=t[0]-n[0]>e?-r:n[0]-t[0]>e?r:0;0===i&&(i=t[0]-n[2]>e?-r:n[2]-t[0]>e?r:0),t[0]+=i}g3(e,t)}function M3(t,e,n,r){const i=Math.pow(2,r.z)*d3,s=[r.x*d3,r.y*d3],o=[];for(const a of t)for(const t of a){const r=[t.x+s[0],t.y+s[1]];R3(r,e,n,i),o.push(r)}return o}function L3(t,e,n,r){const i=Math.pow(2,r.z)*d3,s=[r.x*d3,r.y*d3],o=[];for(const a of t){const t=[];for(const n of a){const r=[n.x+s[0],n.y+s[1]];g3(e,r),t.push(r)}o.push(t)}if(e[2]-e[0]<=i/2){!function(t){t[0]=t[1]=1/0,t[2]=t[3]=-1/0}(e);for(const t of o)for(const r of t)R3(r,e,n,i)}return o}class I3{constructor(t,e){this.type=w1,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(C2(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const n of e.features){const{type:e,coordinates:r}=n.geometry;"Polygon"===e&&t.push(r),"MultiPolygon"===e&&t.push(...r)}if(t.length)return new I3(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new I3(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new I3(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],r=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){const s=E3(e.coordinates,r,i),o=M3(t.geometry(),n,r,i);if(!m3(n,r))return!1;for(const t of o)if(!_3(t,s))return!1}if("MultiPolygon"===e.type){const s=T3(e.coordinates,r,i),o=M3(t.geometry(),n,r,i);if(!m3(n,r))return!1;for(const t of o)if(!x3(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],r=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){const s=E3(e.coordinates,r,i),o=L3(t.geometry(),n,r,i);if(!m3(n,r))return!1;for(const t of o)if(!C3(t,s))return!1}if("MultiPolygon"===e.type){const s=T3(e.coordinates,r,i),o=L3(t.geometry(),n,r,i);if(!m3(n,r))return!1;for(const t of o)if(!S3(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class P3{constructor(t=[],e=(t,e)=>t<e?-1:t>e?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,r=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(n(r,s)>=0)break;e[t]=s,t=i}e[t]=r}_down(t){const{data:e,compare:n}=this,r=this.length>>1,i=e[t];for(;t<r;){let r=1+(t<<1);const s=r+1;if(s<this.length&&n(e[s],e[r])<0&&(r=s),n(e[r],i)>=0)break;e[t]=e[r],t=r}e[t]=i}}function A3(t){let e=0;for(let n,r,i=0,s=t.length,o=s-1;i<s;o=i++)n=t[i],r=t[o],e+=(r.x-n.x)*(n.y+r.y);return e}const O3=1/298.257223563,F3=O3*(2-O3),z3=Math.PI/180;class D3{constructor(t){const e=6378.137*z3*1e3,n=Math.cos(t*z3),r=1/(1-F3*(1-n*n)),i=Math.sqrt(r);this.kx=e*i*n,this.ky=e*i*r*(1-F3)}distance(t,e){const n=this.wrap(t[0]-e[0])*this.kx,r=(t[1]-e[1])*this.ky;return Math.sqrt(n*n+r*r)}pointOnLine(t,e){let n,r,i,s,o=1/0;for(let a=0;a<t.length-1;a++){let l=t[a][0],c=t[a][1],u=this.wrap(t[a+1][0]-l)*this.kx,h=(t[a+1][1]-c)*this.ky,d=0;0===u&&0===h||(d=(this.wrap(e[0]-l)*this.kx*u+(e[1]-c)*this.ky*h)/(u*u+h*h),d>1?(l=t[a+1][0],c=t[a+1][1]):d>0&&(l+=u/this.kx*d,c+=h/this.ky*d)),u=this.wrap(e[0]-l)*this.kx,h=(e[1]-c)*this.ky;const p=u*u+h*h;p<o&&(o=p,n=l,r=c,i=a,s=d)}return{point:[n,r],index:i,t:Math.max(0,Math.min(1,s))}}wrap(t){for(;t<-180;)t+=360;for(;t>180;)t-=360;return t}}function N3(t,e){return e[0]-t[0]}function j3(t){return t[1]-t[0]+1}function B3(t,e){return t[1]>=t[0]&&t[1]<e}function U3(t,e){if(t[0]>t[1])return[null,null];const n=j3(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 r=Math.floor(n/2)-1;return[[t[0],t[0]+r],[t[0]+r+1,t[1]]]}function $3(t,e){if(!B3(e,t.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let r=e[0];r<=e[1];++r)g3(n,t[r]);return n}function q3(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)g3(e,t);return e}function V3(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function W3(t,e,n){if(!V3(t)||!V3(e))return NaN;let r=0,i=0;return t[2]<e[0]&&(r=e[0]-t[2]),t[0]>e[2]&&(r=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]<e[1]&&(i=e[1]-t[3]),n.distance([0,0],[r,i])}function H3(t,e,n){const r=n.pointOnLine(e,t);return n.distance(t,r.point)}function G3(t,e,n,r,i){const s=Math.min(H3(t,[n,r],i),H3(e,[n,r],i)),o=Math.min(H3(n,[t,e],i),H3(r,[t,e],i));return Math.min(s,o)}function K3(t,e,n,r,i){if(!B3(e,t.length)||!B3(r,n.length))return 1/0;let s=1/0;for(let o=e[0];o<e[1];++o){const e=t[o],a=t[o+1];for(let t=r[0];t<r[1];++t){const r=n[t],o=n[t+1];if(b3(e,a,r,o))return 0;s=Math.min(s,G3(e,a,r,o,i))}}return s}function Z3(t,e,n,r,i){if(!B3(e,t.length)||!B3(r,n.length))return NaN;let s=1/0;for(let o=e[0];o<=e[1];++o)for(let e=r[0];e<=r[1];++e)if(s=Math.min(s,i.distance(t[o],n[e])),0===s)return s;return s}function Y3(t,e,n){if(_3(t,e,!0))return 0;let r=1/0;for(const i of e){const e=i[0],s=i[i.length-1];if(e!==s&&(r=Math.min(r,H3(t,[s,e],n)),0===r))return r;const o=n.pointOnLine(i,t);if(r=Math.min(r,n.distance(t,o.point)),0===r)return r}return r}function X3(t,e,n,r){if(!B3(e,t.length))return NaN;for(let s=e[0];s<=e[1];++s)if(_3(t[s],n,!0))return 0;let i=1/0;for(let s=e[0];s<e[1];++s){const e=t[s],o=t[s+1];for(const t of n)for(let n=0,s=t.length,a=s-1;n<s;a=n++){const s=t[a],l=t[n];if(b3(e,o,s,l))return 0;i=Math.min(i,G3(e,o,s,l,r))}}return i}function J3(t,e){for(const n of t)for(const t of n)if(_3(t,e,!0))return!0;return!1}function Q3(t,e,n,r=1/0){const i=q3(t),s=q3(e);if(r!==1/0&&W3(i,s,n)>=r)return r;if(m3(i,s)){if(J3(t,e))return 0}else if(J3(e,t))return 0;let o=1/0;for(const a of t)for(let t=0,r=a.length,i=r-1;t<r;i=t++){const r=a[i],s=a[t];for(const t of e)for(let e=0,i=t.length,a=i-1;e<i;a=e++){const i=t[a],l=t[e];if(b3(r,s,i,l))return 0;o=Math.min(o,G3(r,s,i,l,n))}}return o}function t5(t,e,n,r,i,s){if(!s)return;const o=W3($3(r,s),i,n);o<e&&t.push([o,s,[0,0]])}function e5(t,e,n,r,i,s,o){if(!s||!o)return;const a=W3($3(r,s),$3(i,o),n);a<e&&t.push([a,s,o])}function n5(t,e,n,r,i=1/0){let s=Math.min(r.distance(t[0],n[0][0]),i);if(0===s)return s;const o=new P3([[0,[0,t.length-1],[0,0]]],N3),a=q3(n);for(;o.length>0;){const i=o.pop();if(i[0]>=s)continue;const l=i[1],c=e?50:100;if(j3(l)<=c){if(!B3(l,t.length))return NaN;if(e){const e=X3(t,l,n,r);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const i=Y3(t[e],n,r);if(s=Math.min(s,i),0===s)return 0}}else{const n=U3(l,e);t5(o,s,r,t,a,n[0]),t5(o,s,r,t,a,n[1])}}return s}function r5(t,e,n,r,i,s=1/0){let o=Math.min(s,i.distance(t[0],n[0]));if(0===o)return o;const a=new P3([[0,[0,t.length-1],[0,n.length-1]]],N3);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],c=s[2],u=e?50:100,h=r?50:100;if(j3(l)<=u&&j3(c)<=h){if(!B3(l,t.length)&&B3(c,n.length))return NaN;let s;if(e&&r)s=K3(t,l,n,c,i),o=Math.min(o,s);else if(e&&!r){const e=t.slice(l[0],l[1]+1);for(let t=c[0];t<=c[1];++t)if(s=H3(n[t],e,i),o=Math.min(o,s),0===o)return o}else if(!e&&r){const e=n.slice(c[0],c[1]+1);for(let n=l[0];n<=l[1];++n)if(s=H3(t[n],e,i),o=Math.min(o,s),0===o)return o}else s=Z3(t,l,n,c,i),o=Math.min(o,s)}else{const s=U3(l,e),u=U3(c,r);e5(a,o,i,t,n,s[0],u[0]),e5(a,o,i,t,n,s[0],u[1]),e5(a,o,i,t,n,s[1],u[0]),e5(a,o,i,t,n,s[1],u[1])}}return o}function i5(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 s5{constructor(t,e){this.type=v1,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(C2(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new s5(e,e.features.map(t=>i5(t.geometry)).flat());if("Feature"===e.type)return new s5(e,i5(e.geometry));if("type"in e&&"coordinates"in e)return new s5(e,i5(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(),r=n.flat().map(e=>f3([e.x,e.y],t.canonical));if(0===n.length)return NaN;const i=new D3(r[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,r5(r,!1,[o.coordinates],!1,i,s));break;case"LineString":s=Math.min(s,r5(r,!1,o.coordinates,!0,i,s));break;case"Polygon":s=Math.min(s,n5(r,!1,o.coordinates,i,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=t.geometry(),r=n.flat().map(e=>f3([e.x,e.y],t.canonical));if(0===n.length)return NaN;const i=new D3(r[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,r5(r,!0,[o.coordinates],!1,i,s));break;case"LineString":s=Math.min(s,r5(r,!0,o.coordinates,!0,i,s));break;case"Polygon":s=Math.min(s,n5(r,!0,o.coordinates,i,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 r=function(t){if(t.length<=1)return[t];const e=[];let n,r;for(const i of t){const t=A3(i);0!==t&&(i.area=Math.abs(t),void 0===r&&(r=t<0),r===t<0?(n&&e.push(n),n=[i]):n.push(i))}return n&&e.push(n),e}(n).map(e=>e.map(e=>e.map(e=>f3([e.x,e.y],t.canonical)))),i=new D3(r[0][0][0][1]);let s=1/0;for(const o of e)for(const t of r){switch(o.type){case"Point":s=Math.min(s,n5([o.coordinates],!1,t,i,s));break;case"LineString":s=Math.min(s,n5(o.coordinates,!0,t,i,s));break;case"Polygon":s=Math.min(s,Q3(t,o.coordinates,i,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class o5{constructor(t){this.type=S1,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 o5(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?e2(n,this.key):null}eachChild(){}outputDefined(){return!1}}const a5={"==":e3,"!=":n3,">":i3,"<":r3,">=":o3,"<=":s3,array:R2,at:z2,boolean:R2,case:B2,coalesce:X2,collator:a3,format:c3,image:u3,in:D2,"index-of":N2,interpolate:Z2,"interpolate-hcl":Z2,"interpolate-lab":Z2,length:h3,let:O2,literal:E2,match:j2,number:R2,"number-format":l3,object:R2,slice:U2,step:q2,string:R2,"to-boolean":L2,"to-color":L2,"to-number":L2,"to-string":L2,var:F2,within:I3,distance:s5,"global-state":o5};class l5{constructor(t,e,n,r){this.name=t,this.type=e,this._evaluate=n,this.args=r}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],r=l5.definitions[n];if(!r)return e.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const i=Array.isArray(r)?r[0]:r.type,s=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,o=s.filter(([e])=>!Array.isArray(e)||e.length===t.length-1);let a=null;for(const[l,c]of o){a=new A2(e.registry,p5,e.path,null,e.scope);const r=[];let s=!1;for(let e=1;e<t.length;e++){const n=t[e],i=Array.isArray(l)?l[e-1]:l.type,o=a.parse(n,1+r.length,i);if(!o){s=!0;break}r.push(o)}if(!s)if(Array.isArray(l)&&l.length!==r.length)a.error(`Expected ${l.length} arguments, but found ${r.length} instead.`);else{for(let t=0;t<r.length;t++){const e=Array.isArray(l)?l[t]:l.type,n=r[t];a.concat(t+1).checkSubtype(e,n.type)}if(0===a.errors.length)return new l5(n,i,c,r)}}if(1===o.length)e.errors.push(...a.errors);else{const n=(o.length?o:s).map(([t])=>{return e=t,Array.isArray(e)?`(${e.map(A1).join(", ")})`:`(${A1(e.type)}...)`;var e}).join(" | "),r=[];for(let i=1;i<t.length;i++){const n=e.parse(t[i],1+r.length);if(!n)return null;r.push(A1(n.type))}e.error(`Expected arguments of type ${n}, but found (${r.join(", ")}) instead.`)}return null}static register(t,e){l5.definitions=e;for(const n in e)t[n]=l5}}function c5(t,[e,n,r,i]){e=e.evaluate(t),n=n.evaluate(t),r=r.evaluate(t);const s=i?i.evaluate(t):1,o=x2(e,n,r,s);if(o)throw new y2(o);return new c2(e/255,n/255,r/255,s,!1)}function u5(t,e){return t in e}function h5(t,e){const n=e[t];return void 0===n?null:n}function d5(t){return{type:t}}function p5(t){if(t instanceof F2)return p5(t.boundExpression);if(t instanceof l5&&"error"===t.name)return!1;if(t instanceof a3)return!1;if(t instanceof I3)return!1;if(t instanceof s5)return!1;if(t instanceof o5)return!1;const e=t instanceof L2||t instanceof R2;let n=!0;return t.eachChild(t=>{n=e?n&&p5(t):n&&t instanceof E2}),!!n&&f5(t)&&m5(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function f5(t){if(t instanceof l5){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 I3)return!1;if(t instanceof s5)return!1;let e=!0;return t.eachChild(t=>{e&&!f5(t)&&(e=!1)}),e}function g5(t){if(t instanceof l5&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!g5(t)&&(e=!1)}),e}function m5(t,e){if(t instanceof l5&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!m5(t,e)&&(n=!1)}),n}function y5(t){return{result:"success",value:t}}function v5(t){return{result:"error",value:t}}function b5(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&S2(t)===C1}l5.register(a5,{error:[{kind:"error"},[b1],(t,[e])=>{throw new y2(e.evaluate(t))}],typeof:[b1,[S1],(t,[e])=>A1(S2(e.evaluate(t)))],"to-rgba":[P1(v1,4),[_1],(t,[e])=>{const[n,r,i,s]=e.evaluate(t).rgb;return[255*n,255*r,255*i,s]}],rgb:[_1,[v1,v1,v1],c5],rgba:[_1,[v1,v1,v1,v1],c5],has:{type:w1,overloads:[[[b1],(t,[e])=>u5(e.evaluate(t),t.properties())],[[b1,C1],(t,[e,n])=>u5(e.evaluate(t),n.evaluate(t))]]},get:{type:S1,overloads:[[[b1],(t,[e])=>h5(e.evaluate(t),t.properties())],[[b1,C1],(t,[e,n])=>h5(e.evaluate(t),n.evaluate(t))]]},"feature-state":[S1,[b1],(t,[e])=>h5(e.evaluate(t),t.featureState||{})],properties:[C1,[],t=>t.properties()],"geometry-type":[b1,[],t=>t.geometryType()],id:[S1,[],t=>t.id()],zoom:[v1,[],t=>t.globals.zoom],"heatmap-density":[v1,[],t=>t.globals.heatmapDensity||0],elevation:[v1,[],t=>t.globals.elevation||0],"line-progress":[v1,[],t=>t.globals.lineProgress||0],accumulated:[S1,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[v1,d5(v1),(t,e)=>{let n=0;for(const r of e)n+=r.evaluate(t);return n}],"*":[v1,d5(v1),(t,e)=>{let n=1;for(const r of e)n*=r.evaluate(t);return n}],"-":{type:v1,overloads:[[[v1,v1],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[v1],(t,[e])=>-e.evaluate(t)]]},"/":[v1,[v1,v1],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[v1,[v1,v1],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[v1,[],()=>Math.LN2],pi:[v1,[],()=>Math.PI],e:[v1,[],()=>Math.E],"^":[v1,[v1,v1],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[v1,[v1],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[v1,[v1],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[v1,[v1],(t,[e])=>Math.log(e.evaluate(t))],log2:[v1,[v1],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[v1,[v1],(t,[e])=>Math.sin(e.evaluate(t))],cos:[v1,[v1],(t,[e])=>Math.cos(e.evaluate(t))],tan:[v1,[v1],(t,[e])=>Math.tan(e.evaluate(t))],asin:[v1,[v1],(t,[e])=>Math.asin(e.evaluate(t))],acos:[v1,[v1],(t,[e])=>Math.acos(e.evaluate(t))],atan:[v1,[v1],(t,[e])=>Math.atan(e.evaluate(t))],min:[v1,d5(v1),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[v1,d5(v1),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[v1,[v1],(t,[e])=>Math.abs(e.evaluate(t))],round:[v1,[v1],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[v1,[v1],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[v1,[v1],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[w1,[b1,S1],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[w1,[S1],(t,[e])=>t.id()===e.value],"filter-type-==":[w1,[b1],(t,[e])=>t.geometryType()===e.value],"filter-<":[w1,[b1,S1],(t,[e,n])=>{const r=t.properties()[e.value],i=n.value;return typeof r==typeof i&&r<i}],"filter-id-<":[w1,[S1],(t,[e])=>{const n=t.id(),r=e.value;return typeof n==typeof r&&n<r}],"filter->":[w1,[b1,S1],(t,[e,n])=>{const r=t.properties()[e.value],i=n.value;return typeof r==typeof i&&r>i}],"filter-id->":[w1,[S1],(t,[e])=>{const n=t.id(),r=e.value;return typeof n==typeof r&&n>r}],"filter-<=":[w1,[b1,S1],(t,[e,n])=>{const r=t.properties()[e.value],i=n.value;return typeof r==typeof i&&r<=i}],"filter-id-<=":[w1,[S1],(t,[e])=>{const n=t.id(),r=e.value;return typeof n==typeof r&&n<=r}],"filter->=":[w1,[b1,S1],(t,[e,n])=>{const r=t.properties()[e.value],i=n.value;return typeof r==typeof i&&r>=i}],"filter-id->=":[w1,[S1],(t,[e])=>{const n=t.id(),r=e.value;return typeof n==typeof r&&n>=r}],"filter-has":[w1,[S1],(t,[e])=>e.value in t.properties()],"filter-has-id":[w1,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[w1,[P1(b1)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[w1,[P1(S1)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[w1,[b1,P1(S1)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[w1,[b1,P1(S1)],(t,[e,n])=>function(t,e,n,r){for(;n<=r;){const i=n+r>>1;if(e[i]===t)return!0;e[i]>t?r=i-1:n=i+1}return!1}(t.properties()[e.value],n.value,0,n.value.length-1)],all:{type:w1,overloads:[[[w1,w1],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[d5(w1),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:w1,overloads:[[[w1,w1],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[d5(w1),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[w1,[w1],(t,[e])=>!e.evaluate(t)],"is-supported-script":[w1,[b1],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[b1,[b1],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[b1,[b1],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[b1,d5(S1),(t,e)=>e.map(e=>k2(e.evaluate(t))).join("")],"resolved-locale":[b1,[k1],(t,[e])=>e.evaluate(t).resolvedLocale()]});class w5{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new P2,this._defaultValue=e?function(t){if("color"===t.type&&b5(t.default))return new c2(0,0,0,0);switch(t.type){case"color":return c2.parse(t.default)||null;case"padding":return f2.parse(t.default)||null;case"numberArray":return g2.parse(t.default)||null;case"colorArray":return m2.parse(t.default)||null;case"variableAnchorOffsetCollection":return b2.parse(t.default)||null;case"projectionDefinition":return _2.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,r,i,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=n,this._evaluator.canonical=r,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,n,r,i,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=n||null,this._evaluator.canonical=r,this._evaluator.availableImages=i||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 y2(`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(ej){return this._warningHistory[ej.message]||(this._warningHistory[ej.message]=!0,"undefined"!=typeof console&&console.warn(ej.message)),this._defaultValue}}}function _5(t,e){const n=new A2(a5,p5,[],e?function(t){const e={color:_1,string:b1,number:v1,enum:b1,boolean:w1,formatted:E1,padding:T1,numberArray:M1,colorArray:R1,projectionDefinition:x1,resolvedImage:L1,variableAnchorOffsetCollection:I1};return"array"===t.type?P1(e[t.value]||S1,t.length):e[t.type]}(e):void 0),r=n.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return r?y5(new w5(r,e)):v5(n.errors)}class x5{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!g5(e.expression),this.globalStateRefs=E5(e.expression)}evaluateWithoutErrorHandling(t,e,n,r,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,r,i,s)}evaluate(t,e,n,r,i,s){return this._styleExpression.evaluate(t,e,n,r,i,s)}}class C5{constructor(t,e,n,r){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!g5(e.expression),this.globalStateRefs=E5(e.expression),this.interpolationType=r}evaluateWithoutErrorHandling(t,e,n,r,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,r,i,s)}evaluate(t,e,n,r,i,s){return this._styleExpression.evaluate(t,e,n,r,i,s)}interpolationFactor(t,e,n){return this.interpolationType?Z2.interpolationFactor(this.interpolationType,t,e,n):0}}function S5(t,e){const n=_5(t,e);if("error"===n.result)return n;const r=n.value.expression,i=f5(r);if(!i&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return v5([new g1("","data expressions not supported")]);var s;const o=m5(r,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return v5([new g1("","zoom expressions not supported")]);const a=k5(r);if(!a&&!o)return v5([new g1("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof g1)return v5([a]);if(a instanceof Z2&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return v5([new g1("",'"interpolate" expressions cannot be used with this property')]);if(!a)return y5(new x5(i?"constant":"source",n.value));const l=a instanceof Z2?a.interpolation:void 0;return y5(new C5(i?"camera":"composite",n.value,a.labels,l))}function k5(t){let e=null;if(t instanceof O2)e=k5(t.result);else if(t instanceof X2){for(const n of t.args)if(e=k5(n),e)break}else(t instanceof q2||t instanceof Z2)&&t.input instanceof l5&&"zoom"===t.input.name&&(e=t);return e instanceof g1||t.eachChild(t=>{const n=k5(t);n instanceof g1?e=n:!e&&n?e=new g1("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new g1("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function E5(t,e=new Set){return t instanceof o5&&e.add(t.key),t.eachChild(t=>{E5(t,e)}),e}function T5(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(!T5(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const R5={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function M5(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};T5(t)||(t=P5(t));const e=_5(t,R5);if("error"===e.result)throw new Error(e.value.map(t=>`${t.key}: ${t.message}`).join(", "));return{filter:(t,n,r)=>e.value.evaluate(t,n,{},r),needGeometry:I5(t),getGlobalStateRefs:()=>E5(e.value.expression)}}function L5(t,e){return t<e?-1:t>e?1:0}function I5(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e<t.length;e++)if(I5(t[e]))return!0;return!1}function P5(t){if(!t)return!0;const e=t[0];return t.length<=1?"any"!==e:"=="===e?A5(t[1],t[2],"=="):"!="===e?z5(A5(t[1],t[2],"==")):"<"===e||">"===e||"<="===e||">="===e?A5(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(P5))):"all"===e?["all"].concat(t.slice(1).map(P5)):"none"===e?["all"].concat(t.slice(1).map(P5).map(z5)):"in"===e?O5(t[1],t.slice(2)):"!in"===e?z5(O5(t[1],t.slice(2))):"has"===e?F5(t[1]):"!has"!==e||z5(F5(t[1]));var n}function A5(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 O5(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(L5)]]:["filter-in-small",t,["literal",e]]}}function F5(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function z5(t){return["!",t]}function D5(t){return"object"==typeof t?["literal",t]:t}function N5(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function j5(t,e){const n=D5((r=t.default,i=e.default,void 0!==r?r:void 0!==i?i:void 0));var r,i;return void 0===n&&"resolvedImage"===e.type?"":n}function B5(t,e,n){const r=q5(t,e),i=["get",t.property];if("categorical"===r&&"boolean"==typeof n[0][0]){const r=["case"];for(const t of n)r.push(["==",i,t[0]],t[1]);return r.push(j5(t,e)),r}if("categorical"===r){const r=["match",i];for(const t of n)$5(r,t[0],t[1],!1);return r.push(j5(t,e)),r}if("interval"===r){const e=["step",["number",i]];for(const t of n)$5(e,t[0],t[1],!0);return U5(e),void 0===t.default?e:["case",["==",["typeof",i],"number"],e,D5(t.default)]}if("exponential"===r){const e=void 0!==t.base?t.base:1,r=[N5(t),1===e?["linear"]:["exponential",e],["number",i]];for(const t of n)$5(r,t[0],t[1],!1);return void 0===t.default?r:["case",["==",["typeof",i],"number"],r,D5(t.default)]}throw new Error(`Unknown property function type ${r}`)}function U5(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function $5(t,e,n,r){t.length>3&&e===t[t.length-2]||(r&&2===t.length||t.push(e),t.push(n))}function q5(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function V5(t){const e=["concat"],n=/{([^{}]+)}/g;let r=0;for(let i=n.exec(t);null!==i;i=n.exec(t)){const s=t.slice(r,n.lastIndex-i[0].length);r=n.lastIndex,s.length>0&&e.push(s),e.push(["get",i[1]])}if(1===e.length)return t;if(r<t.length)e.push(t.slice(r));else if(2===e.length)return["to-string",e[1]];return e}const W5={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},centerAltitude:{type:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},roll:{type:"number",default:0,units:"degrees"},state:{type:"state",default:{}},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},"color-relief":{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_color-relief","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_color-relief":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},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 H5={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},G5=" ",K5=/(italic|oblique)$/i,Z5={};function Y5(t,e,n){var r=Z5[t];if(!r){Array.isArray(t)||(t=[t]);for(var i,s,o=400,a="normal",l=[],c=0,u=t.length;c<u;++c){var h=t[c].split(" "),d=h[h.length-1].toLowerCase();for(var p in"normal"==d||"italic"==d||"oblique"==d?(a=s?a:d,s=!0,h.pop(),d=h[h.length-1].toLowerCase()):K5.test(d)&&(d=d.replace(K5,""),a=s?a:h[h.length-1].replace(d,""),s=!0),H5){var f=h.length>1?h[h.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=i?o:H5[p],h.pop(),f&&p.startsWith(f)&&h.pop();break}}i||"number"!=typeof d||(o=d,i=!0);var g=h.join(G5).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(G5)&&(g='"'+g+'"'),l.push(g)}r=Z5[t]=[a,o,l]}return r[0]+G5+r[1]+G5+e+"px"+(n?"/"+n:"")+G5+r[2]}class X5 extends iJ{constructor(t,e,n,r,i){super(t,e,n,void 0!==i?0:2),this.loader_=void 0!==i?i:null,this.canvas_=r,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 J5 extends dV{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(Vq)}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(){yV()}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 r=e-n+1e3/60;return r>=this.transition_?1:GW(r/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 Q5 extends J5{constructor(t,e,n,r,i,s){super(t,e,s),this.crossOrigin_=r,this.src_=n,this.key=n,this.image_,PV?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,null!==r&&(this.image_.crossOrigin=r)),this.unlisten_=null,this.tileLoadFunction_=i}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=AK(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(PV)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 r=t;let i=!0,s=!1,o=!1;const a=[fV(r,"load",function(){o=!0,s||e()})];return r.src&&AV?(s=!0,r.decode().then(function(){i&&e()}).catch(function(){i&&(o?e():n())})):a.push(fV(r,"error",n)),function(){i=!1,a.forEach(gV)}}(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 t4{constructor(t,e,n,r){this.minX=t,this.maxX=e,this.minY=n,this.maxY=r}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.minX<this.minX&&(this.minX=t.minX),t.maxX>this.maxX&&(this.maxX=t.maxX),t.minY<this.minY&&(this.minY=t.minY),t.maxY>this.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 e4(t,e,n,r,i){return void 0!==i?(i.minX=t,i.maxX=e,i.minY=n,i.maxY=r,i):new t4(t,e,n,r)}const n4=[];class r4 extends J5{constructor(t,e,n,r,i){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=r.bind(void 0,this),this.removeSourceTiles_=i,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=AK(1,1,n4)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=bV(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_&&(zK(this.context_),n4.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let i4=class extends J5{constructor(t,e,n,r,i,s){super(t,e,s),this.extent=null,this.format_=r,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=i,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 s4="https://api.mapbox.com";function o4(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function a4(t,e,n){const r=o4(t);if(!r)return decodeURI(new URL(t,n).href);if(0!==r.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${t}`);const i=r.slice(8);return`${s4}/styles/v1/${i}/sprite?access_token=${e}`}function l4(t,e){const n=o4(t);if(!n)return decodeURI(new URL(t,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${t}`);const r=n.slice(7);return`${s4}/styles/v1/${r}?&access_token=${e}`}const c4=["a","b","c","d"];function u4(t,e,n,r){const i=new URL(t,r||location.href),s=o4(t);if(!s)return e?(i.searchParams.has(n)||i.searchParams.set(n,e),[decodeURI(i.href)]):[decodeURI(i.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 c4.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const h4=Object.freeze({}),d4={},p4={};let f4=0;function g4(t){return t.id||(t.id=f4++),t.id}function m4(t){let e=d4[t.id];return e||(e={},d4[g4(t)]=e),e}function y4(t){return t*Math.PI/180}const v4=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function b4(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 w4(t,e){let n=0;const r=e.length;for(;n<r;++n)if(e[n]<t&&n+1<r){const r=e[n]/e[n+1];return n+Math.log(e[n]/t)/Math.log(r)}return r-1}function _4(t,e){const n=Math.floor(t),r=Math.pow(2,t-n);return e[n]/r}const x4={};function C4(t,e,n={},r){if(e in x4)return r&&(r.url=x4[e][0].url),x4[e][1];const i=n.transformRequest&&n.transformRequest(e,t)||e,s=function(){return delete x4[e],Promise.reject(new Error("Error fetching source "+e))},o=function(t){return delete x4[e],t.ok?t.json():Promise.reject(new Error("Error fetching source "+e))},a=lV(()=>i).then(t=>t instanceof Response?(r&&(r.url=t.url),o(t)):(t instanceof Request||(t=new Request(t)),t.headers.get("Accept")||t.headers.set("Accept","application/json"),r&&(r.url=t.url),fetch(t).then(o).catch(s))).catch(s);return x4[e]=[i,a],a}function S4(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return C4("Style",t=l4(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(v5){return Promise.reject(v5)}}const k4={};function E4(t,e,n={}){const r=[e,JSON.stringify(t)].toString();let i=k4[r];if(!i||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const r=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof i4)t.setLoader((e,n,i)=>{const s=function(n){n.arrayBuffer().then(n=>{const r=t.getFormat().readFeatures(n,{extent:e,featureProjection:i});t.setFeatures(r)})};lV(()=>r).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();lV(()=>r).then(n=>{if("string"==typeof n)return void(e.src=n);const r=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 r(n);fetch(n).then(r).catch(()=>t.setState(3))}).catch(()=>t.setState(3))}});const o=t.url;if(o&&!t.tiles){const r=u4(o,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(o.startsWith("mapbox://"))i=Promise.resolve({tileJson:Object.assign({},t,{url:void 0,tiles:r}),tileLoadFunction:s});else{const t={};i=C4("Source",r[0],n,t).then(function(e){return e.tiles=e.tiles.map(function(r){return"tms"===e.scheme&&(r=r.replace("{y}","{-y}")),u4(r,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(r){return"tms"===t.scheme&&(r=r.replace("{y}","{-y}")),u4(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href)[0]})}),i=Promise.resolve({tileJson:Object.assign({},t),tileLoadFunction:s})):i=Promise.reject(new Error("source has no `tiles` nor `url`"));k4[r]=i}return i}function T4(t,e,n,r){const i=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=b4(i[0],i[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,i[0],i[1]);o.globalCompositeOperation="destination-over",o.fillStyle=`rgba(${255*r.r},${255*r.g},${255*r.b},${r.a})`;const l=a.data;for(let c=0,u=a.width;c<u;++c)for(let t=0,r=a.height;t<r;++t)l[4*(t*u+c)+3]>0&&o.arc(c,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function R4(t,e,n){const r=Math.max(0,Math.min(1,(n-t)/(e-t)));return r*r*(3-2*r)}function M4(t,e,n){const r=b4(e.width,e.height),i=r.getContext("2d");i.drawImage(t,e.x,e.y,e.width,e.height,0,0,e.width,e.height);const s=i.getImageData(0,0,e.width,e.height),o=s.data;for(let a=0,l=s.width;a<l;++a)for(let t=0,e=s.height;t<e;++t){const e=4*(t*l+a),r=.75,i=.1,s=R4(r-i,r+i,o[e+3]/255);s>0?(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 i.putImageData(s,0,0),r}const L4=Array(256).join("");function I4(t,e){if(e>=.05){let n="";const r=t.split("\n"),i=L4.slice(0,Math.round(e/.1));for(let t=0,e=r.length;t<e;++t)t>0&&(n+="\n"),n+=r[t].split("").join(i);return n}return t}let P4;function A4(){return P4||(P4=b4(1,1).getContext("2d")),P4}function O4(t,e){return A4().measureText(t).width+(t.length-1)*e}const F4={};function z4(t,e,n,r){if(-1!==t.indexOf("\n")){const i=t.split("\n"),s=[];for(let t=0,o=i.length;t<o;++t)s.push(z4(i[t],e,n,r));return s.join("\n")}const i=n+","+e+","+t+","+r;let s=F4[i];if(!s){const o=t.split(" ");if(o.length>1){const t=A4();t.font=e;const i=t.measureText("M").width*n;let a="";const l=[];for(let e=0,n=o.length;e<n;++e){const t=o[e],n=a+(a?" ":"")+t;O4(n,r)<=i?a=n:(a&&l.push(a),a=t)}a&&l.push(a);for(let e=0,n=l.length;e<n&&n>1;++e){const t=l[e];if(O4(t,r)<.35*i){const i=e>0?O4(l[e-1],r):1/0,s=e<n-1?O4(l[e+1],r):1/0;l.splice(e,1),n-=1,i<s?(l[e-1]+=" "+t,e-=1):l[e]=t+" "+l[e]}}for(let e=0,n=l.length-1;e<n;++e){const t=l[e],s=l[e+1];if(O4(t,r)>.7*i&&O4(s,r)<.6*i){const o=t.split(" "),a=o.pop();O4(a,r)<.2*i&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=I4(s,r),F4[i]=s}return s}wJ.on("propertychange",()=>{for(const t in F4)delete F4[t]});const D4=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],N4={},j4={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},B4={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]},U4={zoom:0,distanceFromCenter:0};let $4,q4;function V4(t,e,n,r,i,s){const o=t.id;i||(i={},console.warn("No functionCache provided to getValue()")),i[o]||(i[o]={});const a=i[o];if(!a[n]){let r=(t[e]||h4)[n];const i=W5[`${e}_${t.type}`][n];void 0===r&&(r=i.default);let s=(l=r,Array.isArray(l)&&l.length>0&&"string"==typeof l[0]&&l[0]in a5);if(!s&&b5(r)&&(r=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 r=["color"===e.type?"to-color":e.type,n,D5(t.default)];return"array"===e.type&&r.splice(1,0,e.value,e.length||null),r}}(t,e);const r=n&&"object"==typeof n[0][0],i=r||void 0!==t.property,s=r||!i;return n=n.map(t=>!i&&e.tokens&&"string"==typeof t[1]?[t[0],V5(t[1])]:[t[0],D5(t[1])]),r?function(t,e,n){const r={},i={},s=[];for(let o=0;o<n.length;o++){const e=n[o],a=e[0].zoom;void 0===r[a]&&(r[a]={zoom:a,type:t.type,property:t.property,default:t.default},i[a]=[],s.push(a)),i[a].push([e[0].value,e[1]])}if("exponential"===q5({},e)){const n=[N5(t),["linear"],["zoom"]];for(const t of s)$5(n,t,B5(r[t],e,i[t]),!1);return n}{const t=["step",["zoom"]];for(const n of s)$5(t,n,B5(r[n],e,i[n]),!0);return U5(t),t}}(t,e,n):s?function(t,e,n,r=["zoom"]){const i=q5(t,e);let s,o=!1;if("interval"===i)s=["step",r],o=!0;else{if("exponential"!==i)throw new Error(`Unknown zoom function type "${i}"`);{const e=void 0!==t.base?t.base:1;s=[N5(t),1===e?["linear"]:["exponential",e],r]}}for(const a of n)$5(s,a[0],a[1],o);return U5(s),s}(t,e,n):B5(t,e,n)}(r,i),s=!0),s){const t=function(t,e){const n=S5(t,e);if("error"===n.result)throw new Error(n.value.map(t=>`${t.key}: ${t.message}`).join(", "));return n.value}(r,i);a[n]=t.evaluate.bind(t)}else{const t=i.type;"color"!==t&&"colorArray"!==t||(r=c2.parse(r)),a[n]=function(){return r}}}var l;return a[n](U4,r,s)}function W4(t,e,n,r){return V4(t,"layout",`${n}-allow-overlap`,e,r)?V4(t,"layout",`${n}-ignore-placement`,e,r)?"none":"obstacle":"declutter"}function H4(t,e,n,r){if(r||console.warn("No filterCache provided to evaluateFilter()"),!(t in r))try{r[t]=M5(e).filter}catch(ej){console.warn("Filter will evaluate to false: "+ej.message),r[t]=function(){return!1}}return r[t](U4,n)}function G4(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}l5.register(a5,{...l5.definitions,pitch:[{kind:"number"},[],()=>U4.pitch||90],"distance-from-center":[{kind:"number"},[],()=>U4.distanceFromCenter||0]});const K4=/\{[^{}}]*\}/g;function Z4(t,e){return t.replace(K4,function(t){return e[t.slice(1,-1)]||""})}function Y4(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const X4={},J4=4294967296,Q4=1/J4,t6="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");class e6{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<n;){const n=this.readVarint(),r=n>>3,i=this.pos;this.type=7&n,t(r,e,this),this.pos===i&&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)*J4;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*J4;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,r;return r=e[this.pos++],n=127&r,r<128?n:(r=e[this.pos++],n|=(127&r)<<7,r<128?n:(r=e[this.pos++],n|=(127&r)<<14,r<128?n:(r=e[this.pos++],n|=(127&r)<<21,r<128?n:(r=e[this.pos],n|=(15&r)<<28,function(t,e,n){const r=n.buf;let i,s;if(s=r[n.pos++],i=(112&s)>>4,s<128)return n6(t,i,e);if(s=r[n.pos++],i|=(127&s)<<3,s<128)return n6(t,i,e);if(s=r[n.pos++],i|=(127&s)<<10,s<128)return n6(t,i,e);if(s=r[n.pos++],i|=(127&s)<<17,s<128)return n6(t,i,e);if(s=r[n.pos++],i|=(127&s)<<24,s<128)return n6(t,i,e);if(s=r[n.pos++],i|=(1&s)<<31,s<128)return n6(t,i,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&&t6?t6.decode(this.buf.subarray(e,t)):function(t,e,n){let r="",i=e;for(;i<n;){const e=t[i];let s,o,a,l=null,c=e>239?4:e>223?3:e>191?2:1;if(i+c>n)break;1===c?e<128&&(l=e):2===c?(s=t[i+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===c?(s=t[i+1],o=t[i+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[i+1],o=t[i+2],a=t[i+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,r+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),r+=String.fromCharCode(l),i+=c}return r}(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.pos<n;)t.push(this.readVarint(e));return t}readPackedSVarint(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readSVarint());return t}readPackedBoolean(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readBoolean());return t}readPackedFloat(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readFloat());return t}readPackedDouble(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readDouble());return t}readPackedFixed32(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readFixed32());return t}readPackedSFixed32(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readSFixed32());return t}readPackedFixed64(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readFixed64());return t}readPackedSFixed64(t=[]){const e=this.readPackedEnd();for(;this.pos<e;)t.push(this.readSFixed64());return t}readPackedEnd(){return 2===this.type?this.readVarint()+this.pos:this.pos+1}skip(t){const e=7&t;if(0===e)for(;this.buf[this.pos++]>127;);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(;e<this.pos+t;)e*=2;if(e!==this.length){const t=new Uint8Array(e);t.set(this.buf),this.buf=t,this.dataView=new DataView(t.buffer),this.length=e}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(t){this.realloc(4),this.dataView.setInt32(this.pos,t,!0),this.pos+=4}writeSFixed32(t){this.realloc(4),this.dataView.setInt32(this.pos,t,!0),this.pos+=4}writeFixed64(t){this.realloc(8),this.dataView.setInt32(this.pos,-1&t,!0),this.dataView.setInt32(this.pos+4,Math.floor(t*Q4),!0),this.pos+=8}writeSFixed64(t){this.realloc(8),this.dataView.setInt32(this.pos,-1&t,!0),this.dataView.setInt32(this.pos+4,Math.floor(t*Q4),!0),this.pos+=8}writeVarint(t){(t=+t||0)>268435455||t<0?function(t,e){let n,r;if(t>=0?(n=t%4294967296|0,r=t/4294967296|0):(n=~(-t%4294967296),r=~(-t/4294967296),4294967295^n?n=n+1|0:(n=0,r=r+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)))))}(r,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 r,i,s=0;s<e.length;s++){if(r=e.charCodeAt(s),r>55295&&r<57344){if(!i){r>56319||s+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):i=r;continue}if(r<56320){t[n++]=239,t[n++]=191,t[n++]=189,i=r;continue}r=i-55296<<10|r-56320|65536,i=null}else i&&(t[n++]=239,t[n++]=191,t[n++]=189,i=null);r<128?t[n++]=r:(r<2048?t[n++]=r>>6|192:(r<65536?t[n++]=r>>12|224:(t[n++]=r>>18|240,t[n++]=r>>12&63|128),t[n++]=r>>6&63|128),t[n++]=63&r|128)}return n}(this.buf,t,this.pos);const n=this.pos-e;n>=128&&r6(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<e;n++)this.buf[this.pos++]=t[n]}writeRawMessage(t,e){this.pos++;const n=this.pos;t(e,this);const r=this.pos-n;r>=128&&r6(n,r,this),this.pos=n-1,this.writeVarint(r),this.pos+=r}writeMessage(t,e,n){this.writeTag(t,2),this.writeRawMessage(e,n)}writePackedVarint(t,e){e.length&&this.writeMessage(t,i6,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,s6,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,l6,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,o6,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,a6,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,c6,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,u6,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,h6,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,d6,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 n6(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function r6(t,e,n){const r=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));n.realloc(r);for(let i=n.pos-1;i>=t;i--)n.buf[i+r]=n.buf[i]}function i6(t,e){for(let n=0;n<t.length;n++)e.writeVarint(t[n])}function s6(t,e){for(let n=0;n<t.length;n++)e.writeSVarint(t[n])}function o6(t,e){for(let n=0;n<t.length;n++)e.writeFloat(t[n])}function a6(t,e){for(let n=0;n<t.length;n++)e.writeDouble(t[n])}function l6(t,e){for(let n=0;n<t.length;n++)e.writeBoolean(t[n])}function c6(t,e){for(let n=0;n<t.length;n++)e.writeFixed32(t[n])}function u6(t,e){for(let n=0;n<t.length;n++)e.writeSFixed32(t[n])}function h6(t,e){for(let n=0;n<t.length;n++)e.writeFixed64(t[n])}function d6(t,e){for(let n=0;n<t.length;n++)e.writeSFixed64(t[n])}class p6 extends V0{constructor(t){super(),t=t||{},this.dataProjection=new nH({code:"",units:"tile-pixels"}),this.featureClass=t.featureClass?t.featureClass:z0,this.geometryName_=t.geometryName,this.layerName_=t.layerName?t.layerName:"layer",this.layers_=t.layers?t.layers:null,this.idProperty_=t.idProperty,this.supportedMediaTypes=["application/vnd.mapbox-vector-tile","application/x-protobuf"]}readRawGeometry_(t,e,n,r){t.pos=e.geometry;const i=t.readVarint()+t.pos;let s=1,o=0,a=0,l=0,c=0,u=0;for(;t.pos<i;){if(!o){const e=t.readVarint();s=7&e,o=e>>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&c>u&&(r.push(c),u=c),n.push(a,l),c+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");c>u&&(n.push(n[u],n[u+1]),c+=2)}}c>u&&(r.push(c),u=c)}createFeature_(t,e,n){const r=e.type;if(0===r)return null;let i;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}(r,l.length);if(this.featureClass===z0)i=new this.featureClass(c,a,l,2,s,o),i.transform(n.dataProjection);else{let t;if("Polygon"==c){const e=pK(a,l);t=e.length>1?new FQ(a,"XY",e):new fK(a,"XY",l)}else t="Point"===c?new XG(a,"XY"):"LineString"===c?new IQ(a,"XY"):"MultiPoint"===c?new AQ(a,"XY"):"MultiLineString"===c?new PQ(a,"XY",l):null;i=new(0,this.featureClass),this.geometryName_&&i.setGeometryName(this.geometryName_);const e=W0(t,!1,n);i.setGeometry(e),void 0!==o&&i.setId(o),i.setProperties(s,!0)}return i}getType(){return"arraybuffer"}readFeatures(t,e){const n=this.layers_,r=YH((e=this.adaptOptions(e)).dataProjection);r.setWorldExtent(e.extent),e.dataProjection=r;const i=new e6(t),s=i.readFields(f6,{}),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;r.setExtent(l);for(let n=0,r=t.length;n<r;++n){const r=y6(i,t,n),s=this.createFeature_(i,r,e);null!==s&&o.push(s)}}return o}readProjection(t){return this.dataProjection}setLayers(t){this.layers_=t}}function f6(t,e,n){if(3===t){const t={keys:[],values:[],features:[]},r=n.readVarint()+n.pos;n.readFields(g6,t,r),t.length=t.features.length,t.length&&(e[t.name]=t)}}function g6(t,e,n){if(15===t)e.version=n.readVarint();else if(1===t)e.name=n.readString();else if(5===t)e.extent=n.readVarint();else if(2===t)e.features.push(n.pos);else if(3===t)e.keys.push(n.readString());else if(4===t){let r=null;const i=n.readVarint()+n.pos;for(;n.pos<i;)r=1==(t=n.readVarint()>>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(r)}}function m6(t,e,n){if(1==t)e.id=n.readVarint();else if(2==t){const t=n.readVarint()+n.pos;for(;n.pos<t;){const t=e.layer.keys[n.readVarint()],r=e.layer.values[n.readVarint()];e.properties[t]=r}}else 3==t?e.type=n.readVarint():4==t&&(e.geometry=n.pos)}function y6(t,e,n){t.pos=e.features[n];const r=t.readVarint()+t.pos,i={layer:e,type:0,properties:{}};return t.readFields(m6,i,r),i}class v6 extends E0{constructor(t){super(t),this.image=null}getImage(){return this.image?this.image.getImage():null}prepareFrame(t){const e=t.layerStatesArray[t.layerIndex],n=t.pixelRatio,r=t.viewState,i=r.resolution,s=this.getLayer().getSource(),o=t.viewHints;let a=t.extent;if(void 0!==e.extent&&(a=FW(a,uG(e.extent,r.projection))),!o[0]&&!o[1]&&!BW(a))if(s){const t=r.projection,e=s.getImage(a,i,n,t);e&&(this.loadImage(e)?this.image=e:4===e.getState()&&(this.image=null))}else this.image=null;return!!this.image}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),r=vG(e.pixelToCoordinateTransform,t.slice()),i=n.getExtent();if(i&&!pW(i,r))return null;const s=this.image.getExtent(),o=this.image.getImage(),a=NW(s),l=Math.floor(o.width*((r[0]-s[0])/a));if(l<0||l>=o.width)return null;const c=OW(s),u=Math.floor(o.height*((s[3]-r[1])/c));return u<0||u>=o.height?null:this.getImageData(o,l,u)}renderFrame(t,e){const n=this.image,r=n.getExtent(),i=n.getResolution(),[s,o]=Array.isArray(i)?i:[i,i],a=n.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],c=t.pixelRatio,u=t.viewState,h=u.center,d=u.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 v=!1,b=!0;if(l.extent){const e=uG(l.extent,u.projection);b=jW(e,t.extent),v=b&&!fW(e,t.extent),v&&this.clipUnrotated(y,t,e)}const w=n.getImage(),_=wG(this.tempTransform,g/2,m/2,p,f,0,a*(r[0]-h[0])/s,a*(h[1]-r[3])/o);this.renderedResolution=o*c/a;const x=w.width*_[0],C=w.height*_[3];if(this.getLayer().getSource().getInterpolate()||(y.imageSmoothingEnabled=!1),this.preRender(y,t),b&&x>=.5&&C>=.5){const t=_[4],e=_[5],n=l.opacity;1!==n&&(y.save(),y.globalAlpha=n),y.drawImage(w,0,0,+w.width,+w.height,t,e,x,C),1!==n&&y.restore()}return this.postRender(this.context,t),v&&y.restore(),y.imageSmoothingEnabled=!0,this.container}}class b6 extends HZ{constructor(t){super(t=t||{})}}class w6 extends b6{constructor(t){super(t)}createRenderer(){return new v6(this)}getData(t){return super.getData(t)}}function _6(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const x6=new Error("disposed"),C6=[256,256];class S6 extends J5{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=_6(this.data_);return t?[t.width,t.height]:C6}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(x6),this.controller_=null),super.disposeInternal()}}let k6;const E6=[];function T6(t,e,n,r,i){t.beginPath(),t.moveTo(0,0),t.lineTo(e,n),t.lineTo(r,i),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,r)+1,Math.max(n,i)),t.restore()}function R6(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function M6(t,e,n,r){const i=oG(n,e,t);let s=XH(e,r,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||pW(l,i)){const e=XH(t,s,i)/s;isFinite(e)&&e>0&&(s/=e)}return s}function L6(t,e,n,r,i,s,o,a,l,c,u,h,d){const p=AK(Math.round(n*t),Math.round(n*e),E6);if(h||(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){xW(g,t.extent)});const y=n/r,v=(h?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===c||(m=AK(Math.round(NW(g)*y),Math.round(OW(g)*y),E6),h||(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,r=NW(t.clipExtent)*y,i=OW(t.clipExtent)*y;m.rect(h?e:Math.round(e),h?n:Math.round(n),h?r:Math.round(e+r)-Math.round(e),h?i:Math.round(n+i)-Math.round(n)),m.clip()}const e=(t.extent[0]-g[0])*y,n=-(t.extent[3]-g[3])*y,r=NW(t.extent)*y,i=OW(t.extent)*y;m.drawImage(t.image,c,c,t.image.width-2*c,t.image.height-2*c,h?e:Math.round(e),h?n:Math.round(n),h?r:Math.round(e+r)-Math.round(e),h?i:Math.round(n+i)-Math.round(n)),t.clipExtent&&m.restore()}}));const b=zW(o);return a.getTriangles().forEach(function(t){const e=t.source,n=t.target;let r=e[0][0],i=e[0][1],o=e[1][0],a=e[1][1],c=e[2][0],u=e[2][1];const d=f((n[0][0]-b[0])/s),y=f(-(n[0][1]-b[1])/s),w=f((n[1][0]-b[0])/s),_=f(-(n[1][1]-b[1])/s),x=f((n[2][0]-b[0])/s),C=f(-(n[2][1]-b[1])/s),S=r,k=i;r=0,i=0,o-=S,a-=k,c-=S,u-=k;const E=function(t){const e=t.length;for(let r=0;r<e;r++){let n=r,i=Math.abs(t[r][r]);for(let o=r+1;o<e;o++){const e=Math.abs(t[o][r]);e>i&&(i=e,n=o)}if(0===i)return null;const s=t[n];t[n]=t[r],t[r]=s;for(let o=r+1;o<e;o++){const n=-t[o][r]/t[r][r];for(let i=r;i<e+1;i++)r==i?t[o][i]=0:t[o][i]+=n*t[r][i]}}const n=new Array(e);for(let r=e-1;r>=0;r--){n[r]=t[r][e]/t[r][r];for(let i=r-1;i>=0;i--)t[i][e]-=t[i][r]*n[r]}return n}([[o,a,0,0,w-d],[c,u,0,0,x-d],[0,0,o,a,_-y],[0,0,c,u,C-y]]);if(!E)return;if(p.save(),p.beginPath(),function(){if(void 0===k6){const t=AK(6,6,E6);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",T6(t,4,5,4,0),T6(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;k6=R6(e,0)||R6(e,4)||R6(e,8),zK(t),E6.push(t.canvas)}return k6}()||!h){p.moveTo(w,_);const t=4,e=d-w,n=y-_;for(let r=0;r<t;r++)p.lineTo(w+f((r+1)*e/t),_+f(r*n/(t-1))),r!=t-1&&p.lineTo(w+f((r+1)*e/t),_+f((r+1)*n/(t-1)));p.lineTo(x,C)}else p.moveTo(w,_),p.lineTo(d,y),p.lineTo(x,C);let T;if(p.clip(),p.transform(E[0],E[2],E[1],E[3],d,y),p.translate(g[0]-S,g[3]-k),m)T=m.canvas,p.scale(v,-v);else{const t=l[0],e=t.extent;T=t.image,p.scale(NW(e)/T.width,-OW(e)/T.height)}p.drawImage(T,0,0),p.restore()}),m&&(zK(m),E6.push(m.canvas)),u&&(p.save(),p.globalCompositeOperation="source-over",p.strokeStyle="black",p.lineWidth=1,a.getTriangles().forEach(function(t){const e=t.target,n=(e[0][0]-b[0])/s,r=-(e[0][1]-b[1])/s,i=(e[1][0]-b[0])/s,o=-(e[1][1]-b[1])/s,a=(e[2][0]-b[0])/s,l=-(e[2][1]-b[1])/s;p.beginPath(),p.moveTo(i,o),p.lineTo(n,r),p.lineTo(a,l),p.closePath(),p.stroke()}),p.restore()),p.canvas}class I6{constructor(t,e,n,r,i,s,o){this.sourceProj_=t,this.targetProj_=e;let a={};const l=o?(c=t=>vG(o,oG(t,this.targetProj_,this.sourceProj_)),function(t,e,n,r){const i=t.length;n=void 0!==n?n:2,r=r??n,e=void 0!==e?e:new Array(i);for(let s=0;s<i;s+=r){const i=c(t.slice(s,s+n)),o=i.length;for(let n=0,a=r;n<a;++n)e[s+n]=n>=o?t[s+n]:i[n]}return e}):sG(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_=r,this.errorThresholdSquared_=i*i,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!r&&!!this.sourceProj_.getExtent()&&NW(r)>=NW(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?NW(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?NW(this.targetProj_.getExtent()):null;const u=zW(n),h=DW(n),d=MW(n),p=RW(n),f=this.transformInv_(u),g=this.transformInv_(h),m=this.transformInv_(d),y=this.transformInv_(p),v=10+(s?Math.max(0,Math.ceil(Math.log2(TW(n)/(s*s*256*256)))):0);if(this.addQuad_(u,h,d,p,f,g,m,y,v),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 r=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-r<this.sourceWorldWidth_/2&&(e.source=n)}})}a={}}addTriangle_(t,e,n,r,i,s){this.triangles_.push({source:[r,i,s],target:[t,e,n]})}addQuad_(t,e,n,r,i,s,o,a,l){const c=cW([i,s,o,a]),u=this.sourceWorldWidth_?NW(c)/this.sourceWorldWidth_:null,h=this.sourceWorldWidth_,d=this.sourceProj_.canWrapX()&&u>.5&&u<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=NW(cW([t,e,n,r]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&u&&(p=u>.25||p)),!p&&this.maxSourceExtent_&&isFinite(c[0])&&isFinite(c[1])&&isFinite(c[2])&&isFinite(c[3])&&!jW(c,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(i[0])&&isFinite(i[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(i[0])&&isFinite(i[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],r=this.transformInv_(e);let s;s=d?(eW(i[0],h)+eW(o[0],h))/2-eW(r[0],h):(i[0]+o[0])/2-r[0];const a=(i[1]+o[1])/2-r[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],u=this.transformInv_(c),h=[(r[0]+t[0])/2,(r[1]+t[1])/2],d=this.transformInv_(h);this.addQuad_(t,e,c,h,i,s,u,d,l-1),this.addQuad_(h,c,n,r,d,u,o,a,l-1)}else{const c=[(t[0]+e[0])/2,(t[1]+e[1])/2],u=this.transformInv_(c),h=[(n[0]+r[0])/2,(n[1]+r[1])/2],d=this.transformInv_(h);this.addQuad_(t,c,h,r,i,u,d,a,l-1),this.addQuad_(c,e,n,h,u,s,o,d,l-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(t,n,r,i,o,a),14&f||this.addTriangle_(t,n,e,i,o,s),f&&(13&f||this.addTriangle_(e,r,t,s,a,i),7&f||this.addTriangle_(e,r,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;CW(t,n[0]),CW(t,n[1]),CW(t,n[2])}),t}getTriangles(){return this.triangles_}}class P6 extends J5{constructor(t,e,n,r,i,s,o,a,l,c,u,h){super(i,0,h),this.renderEdges_=void 0!==u&&u,this.pixelRatio_=o,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=r,this.wrappedTileCoord_=s||i,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const d=r.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const g=p?FW(d,p):d;if(0===TW(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?FW(f,m):m);const y=r.getResolution(this.wrappedTileCoord_[0]),v=function(t,e,n,r){const i=LW(n);let s=M6(t,e,i,r);return(!isFinite(s)||s<=0)&&EW(n,function(n){return s=M6(t,e,n,r),isFinite(s)&&s>0}),s}(t,n,g,y);if(!isFinite(v)||v<=0)return void(this.state=4);const b=void 0!==c?c:.5;if(this.triangulation_=new I6(t,n,g,f,v*b,y),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=e.getZForResolution(v);let w=this.triangulation_.calculateSourceExtent();if(f&&(t.canWrapX()?(w[1]=YV(w[1],f[1],f[3]),w[3]=YV(w[3],f[1],f[3])):w=FW(w,f)),TW(w)){let n=0,r=0;t.canWrapX()&&(n=NW(m),r=Math.floor((w[0]-m[0])/n)),qW(w.slice(),t,!0).forEach(t=>{const i=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let e=i.minX;e<=i.maxX;e++)for(let t=i.minY;t<=i.maxY;t++){const i=l(this.sourceZ_,e,t,o);if(i){const t=r*n;this.sourceTiles_.push({tile:i,offset:t})}}++r}),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 r=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);r[0]+=e.offset,r[2]+=e.offset;const i=this.clipExtent_?.slice();i&&(i[0]+=e.offset,i[2]+=e.offset),t.push({extent:r,clipExtent:i,image:n.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=3;else{const e=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(e),r="number"==typeof n?n:n[0],i="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_=L6(r,i,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=pV(e,Vq,()=>{const r=e.getState();2!=r&&3!=r&&4!=r||(gV(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(gV),this.sourcesListenerKeys_=null}release(){this.canvas_&&(zK(this.canvas_.getContext("2d")),E6.push(this.canvas_),this.canvas_=null),super.release()}}class A6{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 Xq&&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 WV(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 WV(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){WV(!(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 O6(t,e,n,r){return void 0!==r?(r[0]=t,r[1]=e,r[2]=n,r):[t,e,n]}function F6(t,e,n,r,i){return`${bV(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,r,i)}`}function z6(t,e,n){if(!(n in t))return t[n]=new Set([e]),!0;const r=t[n],i=r.has(e);return i||r.add(e),!i}function D6(t,e,n){const r=t[n];return!!r&&r.delete(e)}function N6(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=FW(e,uG(n.extent,t.viewState.projection)));const r=n.layer.getRenderSource();if(!r.getWrapX()){const n=r.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=FW(e,n))}return e}class j6 extends E0{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 t4(0,0,0,0),this.tempTileCoord_=O6(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new A6(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new A6(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,r){const i=this.tileCache_,s=this.getLayer().getSource(),o=F6(s,s.getKey(),t,e,n);let a;if(i.containsKey(o))a=i.get(o);else{const l=r.viewState.projection,c=s.getProjection();if(a=s.getTile(t,e,n,r.pixelRatio,l,!c||nG(c,l)?void 0:this.getSourceTileCache()),!a)return null;i.set(o,a)}return a}getTile(t,e,n,r){return this.getOrCreateTile(t,e,n,r)||null}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),r=vG(e.pixelToCoordinateTransform,t.slice()),i=n.getExtent();if(i&&!pW(i,r))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(r,c),n=this.getTile(c,t[1],t[2],e);if(!n||2!==n.getState())continue;const i=a.getOrigin(c),u=AY(a.getTileSize(c)),h=a.getResolution(c);let d;if(n instanceof Q5||n instanceof P6)d=n.getImage();else{if(!(n instanceof S6))continue;if(d=_6(n.getData()),!d)continue}const p=Math.floor(l*((r[0]-i[0])/h-t[1]*u[0])),f=Math.floor(l*((i[1]-r[1])/h-t[2]*u[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,r,i){const s=t.viewState,o=this.getLayer(),a=o.getRenderSource(),l=a.getTileGridForProjection(s.projection),c=bV(a);c in t.wantedTiles||(t.wantedTiles[c]={});const u=t.wantedTiles[c],h=o.getMapInternal(),d=Math.max(n-i,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),h?h.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?AW(s.center,s.resolution,p,t.size):void 0;for(let g=n;g>=d;--g){const n=l.getTileRangeForExtentAndZ(e,g,this.tempTileRange_),i=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(!z6(r,n,g))continue;const o=n.getKey();if(u[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const r=O6(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,c,l.getTileCoordCenter(r),i])}}}}findStaleTile_(t,e){const n=this.tileCache_,r=t[0],i=t[1],s=t[2],o=this.getStaleKeys();for(let a=0;a<o.length;++a){const t=F6(this.getLayer().getSource(),o[a],r,i,s);if(n.containsKey(t)){const i=n.peek(t);if(2===i.getState())return i.endTransition(bV(this)),z6(e,i,r),!0}}return!1}findAltTiles_(t,e,n,r){const i=t.getTileRangeForTileCoordAndZ(e,n,this.tempTileRange_);if(!i)return!1;let s=!0;const o=this.tileCache_,a=this.getLayer().getRenderSource(),l=a.getKey();for(let c=i.minX;c<=i.maxX;++c)for(let t=i.minY;t<=i.maxY;++t){const e=F6(a,l,n,c,t);let i=!1;if(o.containsKey(e)){const t=o.peek(e);2===t.getState()&&(z6(r,t,n),i=!0)}i||(s=!1)}return s}renderFrame(t,e){this.renderComplete=!0;const n=t.layerStatesArray[t.layerIndex],r=t.viewState,i=r.projection,s=r.resolution,o=r.center,a=t.pixelRatio,l=this.getLayer(),c=l.getSource(),u=c.getTileGridForProjection(i),h=u.getZForResolution(s,c.zDirection),d=u.getResolution(h),p=c.getKey();this.renderedSourceKey_?this.renderedSourceKey_!==p&&(this.prependStaleKey(this.renderedSourceKey_),this.renderedSourceKey_=p):this.renderedSourceKey_=p;let f=t.extent;const g=c.getTilePixelRatio(a);this.prepareContainer(t,e);const m=this.context.canvas.width,y=this.context.canvas.height,v=n.extent&&n.extent;v&&(f=FW(f,n.extent));const b=d*m/2/g,w=d*y/2/g,_=[o[0]-b,o[1]-w,o[0]+b,o[1]+w],x={};this.renderedTiles.length=0;const C=l.getPreload();if(t.nextExtent&&this.enqueueTilesForNextExtent()){const e=u.getZForResolution(r.nextResolution,c.zDirection),n=N6(t,t.nextExtent);this.enqueueTiles(t,n,e,x,C)}const S=N6(t,f);if(this.enqueueTiles(t,S,h,x,0),C>0&&setTimeout(()=>{this.enqueueTiles(t,S,h-1,x,C-1)},0),!(h in x))return this.container;const k=bV(this),E=t.time;for(const A of x[h]){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)){D6(x,A,h),t.animate=!0;continue}if(this.findAltTiles_(u,n,h+1,x))continue;const r=u.getMinZoom();for(let t=h-1;t>=r&&!this.findAltTiles_(u,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);wG(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,v),c.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const M=Object.keys(x).map(Number);let L;M.sort(Jq);const I=[],P=[];for(let A=M.length-1;A>=0;--A){const e=M[A],n=c.getTilePixelSize(e,a,i),r=u.getResolution(e)/d,s=n[0]*r*T,o=n[1]*r*T,l=u.getTileCoordForCoordAndZ(zW(_),e),h=u.getTileCoordExtent(l),p=vG(this.tempTransform,[g*(h[0]-_[0])/d,g*(_[3]-h[3])/d]),f=g*c.getGutterForProjection(i);for(const i of x[e]){if(2!==i.getState())continue;const n=i.tileCoord,r=l[1]-n[1],a=Math.round(p[0]-(r-1)*s),u=l[2]-n[2],h=Math.round(p[1]-(u-1)*o),d=Math.round(p[0]-r*s),g=Math.round(p[1]-u*o),m=a-d,y=h-g,v=1===M.length;let b=!1;L=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,i=I.length;t<i;++t)if(!v&&e<P[t]){const e=I[t];jW([d,g,d+m,g+y],[e[0],e[3],e[4],e[7]])&&(b||(R.save(),b=!0),R.beginPath(),R.moveTo(L[0],L[1]),R.lineTo(L[2],L[3]),R.lineTo(L[4],L[5]),R.lineTo(L[6],L[7]),R.moveTo(e[6],e[7]),R.lineTo(e[4],e[5]),R.lineTo(e[2],e[3]),R.lineTo(e[0],e[1]),R.clip())}I.push(L),P.push(e),this.drawTile(i,t,d,g,m,y,f,v),b&&R.restore(),this.renderedTiles.unshift(i),this.updateUsedTiles(t.usedTiles,c,i)}}if(this.renderedResolution=d,this.extentChanged=!this.renderedExtent_||!_W(this.renderedExtent_,_),this.renderedExtent_=_,this.renderedPixelRatio=a,this.postRender(this.context,t),n.extent&&R.restore(),R.imageSmoothingEnabled=!0,this.renderComplete){const e=(t,e)=>{const n=bV(c),r=e.wantedTiles[n],i=r?Object.keys(r).length:0;this.updateCacheSize(i),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,r,i,s,o,a){let l;if(t instanceof S6){if(l=_6(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),u=bV(this),h=e.layerStatesArray[e.layerIndex],d=h.opacity*(a?t.getAlpha(u,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,r,i,s),p&&c.restore(),d!==h.opacity?e.animate=!0:a&&t.endTransition(u)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}updateUsedTiles(t,e,n){const r=bV(e);r in t||(t[r]={}),t[r][n.getKey()]=!0}}const B6="preload",U6="useInterimTilesOnError";class $6 extends HZ{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(B6)}setPreload(t){this.set(B6,t)}getUseInterimTilesOnError(){return this.get(U6)}setUseInterimTilesOnError(t){this.set(U6,t)}getData(t){return super.getData(t)}}class q6 extends $6{constructor(t){super(t)}createRenderer(){return new j6(this,{cacheSize:this.getCacheSize()})}}const V6={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},W6={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class H6 extends j6{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,r,i,s,o,a){this.updateExecutorGroup_(t,e.pixelRatio,e.viewState.projection),this.tileImageNeedsRender_(t)&&this.renderTileImage_(t,e),super.drawTile(t,e,n,r,i,s,o,a)}getTile(t,e,n,r){const i=this.getOrCreateTile(t,e,n,r);if(!i)return null;const s=r.viewState,o=s.resolution,a=r.viewHints,l=this.getLayer().getSource(),c=l.getTileGridForProjection(s.projection),u=!(a[0]||a[1]),h=c.getZForResolution(o,l.zDirection)===t;return u&&h?i.wantedResolution=o:i.wantedResolution||(i.wantedResolution=c.getResolution(t)),i}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 r=this.getLayer(),i=r.getRevision(),s=r.getRenderOrder()||null,o=t.wantedResolution,a=t.getReplayState(r);if(!a.dirty&&a.renderedResolution===o&&a.renderedRevision==i&&a.renderedRenderOrder==s)return;const l=r.getSource(),c=!!r.getDeclutter(),u=l.getTileGrid(),h=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=bV(r);delete t.hitDetectionImageData[p],t.executorGroups[p]=[],a.dirty=!1;for(let f=0,g=d.length;f<g;++f){const i=d[f];if(2!=i.getState())continue;const g=l.getProjection(),m=i.tileCoord;let y=u.getTileCoordExtent(m);n&&g&&!nG(n,g)&&(y=aG(y,g,n,32));const v=FW(h,y),b=uW(v,r.getRenderBuffer()*o,this.tempExtent),w=_W(y,v)?null:b,_=new KQ(0,v,o,e),x=b0(o,e),C=function(t,e){let n;const i=t.getStyleFunction()||r.getStyleFunction();if(i&&(n=i(t,o)),n){const r=this.renderFeature(t,x,n,_,c,e);a.dirty=a.dirty||r}},S=i.getFeatures();s&&s!==a.renderedRenderOrder&&S.sort(s);for(let t=0,e=S.length;t<e;++t){let e=S[t];n&&i.projection&&!nG(n,i.projection)&&(e=e.clone(),e.getGeometry().applyTransform(sG(i.projection,n))),w&&!jW(w,e.getGeometry().getExtent())||C.call(this,e,t)}const k=_.finish(),E="vector"!==r.getRenderMode()&&c&&1===d.length?null:v,T=new h0(E,o,e,l.getOverlaps(),k,r.getRenderBuffer(),!0);t.executorGroups[p].push(T)}a.renderedRevision=i,a.renderedRenderOrder=s,a.renderedResolution=o}forEachFeatureAtCoordinate(t,e,n,r,i){const s=e.viewState.resolution,o=e.viewState.rotation;n=null==n?0:n;const a=this.getLayer(),l=a.getSource().getTileGridForProjection(e.viewState.projection),c=cW([t]);uW(c,s*n,c);const u={},h=function(t,e,n){let s=t.getId();void 0===s&&(s=bV(t));const o=u[s];if(o){if(!0!==o&&n<o.distanceSq){if(0===n)return u[s]=!0,i.splice(i.lastIndexOf(o),1),r(t,a,e);o.geometry=e,o.distanceSq=n}}else{if(0===n)return u[s]=!0,r(t,a,e);i.push(u[s]={feature:t,layer:a,geometry:e,distanceSq:n,callback:r})}},d=this.renderedTiles,p=bV(a),f=a.getDeclutter(),g=f?e.declutter?.[f]?.all().map(t=>t.value):null;let m;t:for(let y=0,v=d.length;y<v;++y){const e=d[y];if(!jW(l.getTileCoordExtent(e.wrappedTileCoord),c))continue;const r=e.executorGroups[p];for(let i=0,a=r.length;i<a;++i)if(m=r[i].forEachFeatureAtCoordinate(t,s,o,n,h,g),m)break t}return m}getFeatures(t){return 0===this.renderedTiles.length?Promise.resolve([]):new Promise(e=>{const n=this.getLayer(),r=n.getSource(),i=this.renderedProjection,s=i.getExtent(),o=this.renderedResolution,a=r.getTileGridForProjection(i),l=vG(this.renderedPixelToCoordinateTransform_,t.slice()),c=a.getTileCoordForCoordAndResolution(l,o).toString(),u=this.renderedTiles.find(t=>t.tileCoord.toString()===c&&2===t.getState());if(!u||u.loadingSourceTiles>0)return void e([]);r.getWrapX()&&i.canWrapX()&&!fW(s,a.getTileCoordExtent(u.tileCoord))&&HW(l,i);const h=bV(n),d=zW(a.getTileCoordExtent(u.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=u.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=u.hitDetectionImageData[h];if(!g){const t=AY(a.getTileSize(a.getZForResolution(o,r.zDirection))),e=this.renderedRotation_;g=g0(t,[this.getRenderTransform(a.getTileCoordCenter(u.wrappedTileCoord),o,0,f0,t[0]*f0,t[1]*f0,0)],f,n.getStyleFunction(),a.getTileCoordExtent(u.wrappedTileCoord),u.getReplayState(n).renderedResolution,e),u.hitDetectionImageData[h]=g}e(m0(p,f,g))})}getFeaturesInExtent(t){const e=[],n=this.getTileCache();if(0===n.getCount())return e;const r=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),i=r.getZForResolution(this.renderedResolution),s={};return n.forEach(n=>{if(n.tileCoord[0]!==i||2!==n.getState())return;const o=n.getSourceTiles();for(let i=0,a=o.length;i<a;++i){const n=o[i],a=n.getKey();if(a in s)continue;s[a]=!0;const l=n.tileCoord;if(jW(t,r.getTileCoordExtent(l))){const r=n.getFeatures();if(r)for(let n=0,i=r.length;n<i;++n){const i=r[n],s=i.getGeometry();jW(t,s.getExtent())&&e.push(i)}}}}),e}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&void 0!==this.renderedLayerRevision_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}renderDeclutter(t,e){const n=this.context,r=n.globalAlpha;n.globalAlpha=e.opacity;const i=t.viewHints,s=!(i[0]||i[1]),o=[this.context.canvas.width,this.context.canvas.height],a=this.getLayer().getDeclutter(),l=a?t.declutter?.[a]:void 0,c=bV(this.getLayer()),u=this.renderedTiles;for(let h=0,d=u.length;h<d;++h){const e=u[h],n=e.executorGroups[c];if(n)for(let r=n.length-1;r>=0;--r)n[r].execute(this.context,o,this.getTileRenderTransform(e,t),t.viewState.rotation,s,c0,l)}n.globalAlpha=r}renderDeferredInternal(t){const e=this.renderedTiles,n=bV(this.getLayer()),r=e.reduce((t,e,r)=>(e.executorGroups[n].forEach(e=>t.push({executorGroup:e,index:r})),t),[]),i=r.map(({executorGroup:t})=>t.getDeferredZIndexContexts()),s={};for(let o=0,a=r.length;o<a;++o){const t=r[o].executorGroup.getDeferredZIndexContexts();for(const e in t)s[e]=!0}Object.keys(s).map(Number).sort(Jq).forEach(t=>{i.forEach((e,n)=>{e[t]&&(e[t].forEach(t=>{const{executorGroup:e,index:i}=r[n],s=e.getRenderedContext(),o=s.globalAlpha;s.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[i];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,r=e.viewState,i=r.center,s=r.resolution,o=r.rotation,a=e.size,l=Math.round(a[0]*n),c=Math.round(a[1]*n),u=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),h=t.tileCoord,d=u.getTileCoordExtent(t.wrappedTileCoord),p=u.getTileCoordExtent(h,this.tempExtent)[0]-d[0];return mG(bG(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(i,s,o,n,l,c,p))}postRender(t,e){const n=e.viewHints,r=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation,this.renderedOpacity_=e.layerStatesArray[e.layerIndex].opacity;const i=this.getLayer(),s=i.getRenderMode(),o=t.globalAlpha;t.globalAlpha=this.renderedOpacity_;const a=i.getDeclutter(),l=a?W6[s].filter(t=>!c0.includes(t)):W6[s],c=e.viewState,u=c.rotation,h=i.getSource(),d=h.getTileGridForProjection(c.projection).getZForResolution(c.resolution,h.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=bV(i);let v=!0;for(let b=p.length-1;b>=0;--b){const n=p[b];v=v&&!n.getReplayState(i).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 h=!1;const w=s[0].getClipCoords(o);let _,x=t;if(w){_=new YQ,x=_.getContext();for(let t=0,e=f.length;t<e;++t)if(d!==c&&c<g[t]){const e=f[t];jW([w[0],w[3],w[4],w[7]],[e[0],e[3],e[4],e[7]])&&(h||(x.save(),h=!0),x.beginPath(),x.moveTo(w[0],w[1]),x.lineTo(w[2],w[3]),x.lineTo(w[4],w[5]),x.lineTo(w[6],w[7]),x.moveTo(e[6],e[7]),x.lineTo(e[4],e[5]),x.lineTo(e[2],e[3]),x.lineTo(e[0],e[1]),x.clip())}f.push(w),g.push(c)}for(let i=0,d=s.length;i<d;++i)s[i].execute(t,[t.canvas.width,t.canvas.height],o,u,r,l,e.declutter?.[a]);h&&(x===t?x.restore():m[b]=_)}t.globalAlpha=o,this.ready=v,this.tileClipContexts_=m,e.declutter||this.renderDeferredInternal(e),super.postRender(t,e)}renderFeature(t,e,n,r,i,s){if(!n)return!1;let o=!1;if(Array.isArray(n))for(let a=0,l=n.length;a<l;++a)o=_0(r,t,n[a],e,this.boundHandleStyleImageChange_,void 0,i,s)||o;else o=_0(r,t,n,e,this.boundHandleStyleImageChange_,void 0,i,s);return o}tileImageNeedsRender_(t){const e=this.getLayer();if("vector"===e.getRenderMode())return!1;const n=t.getReplayState(e),r=e.getRevision(),i=t.wantedResolution;return n.renderedTileResolution!==i||n.renderedTileRevision!==r}renderTileImage_(t,e){const n=this.getLayer(),r=t.getReplayState(n),i=n.getRevision(),s=t.executorGroups[bV(n)];r.renderedTileRevision=i;const o=t.wrappedTileCoord,a=o[0],l=n.getSource();let c=e.pixelRatio;const u=e.viewState.projection,h=l.getTileGridForProjection(u),d=h.getResolution(t.tileCoord[0]),p=e.pixelRatio/t.wantedResolution*d,f=h.getResolution(a),g=t.getContext();c=Math.round(Math.max(c,p/c));const m=l.getTilePixelSize(a,c,u);g.canvas.width=m[0],g.canvas.height=m[1];const y=c/p;if(1!==y){const t=gG(this.tmpTransform_);bG(t,y,y),g.setTransform.apply(g,t)}const v=h.getTileCoordExtent(o,this.tempExtent),b=p/f,w=gG(this.tmpTransform_);bG(w,b,-b),function(t,e,n){mG(t,yG(fG,1,0,0,1,e,n))}(w,-v[0],-v[3]);for(let _=0,x=s.length;_<x;++_)s[_].execute(g,[g.canvas.width*y,g.canvas.height*y],w,0,!0,V6[n.getRenderMode()],null);r.renderedTileResolution=t.wantedResolution}}class G6 extends pQ{constructor(t){t=t||{};const e=Object.assign({},t);delete e.preload;const n=void 0===t.cacheSize?0:t.cacheSize;delete t.cacheSize,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.cacheSize_=n;const r=t.renderMode||"hybrid";WV("hybrid"==r||"vector"==r,"`renderMode` must be `'hybrid'` or `'vector'`"),this.renderMode_=r,this.setPreload(t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError),this.getBackground,this.setBackground}createRenderer(){return new H6(this,{cacheSize:this.cacheSize_})}getFeatures(t){return super.getFeatures(t)}getFeaturesInExtent(t){return this.getRenderer().getFeaturesInExtent(t)}getRenderMode(){return this.renderMode_}getPreload(){return this.get(B6)}getUseInterimTilesOnError(){return this.get(U6)}setPreload(t){this.set(B6,t)}setUseInterimTilesOnError(t){this.set(U6,t)}}function K6(t){return Array.isArray(t)?Math.min(...t):t}class Z6 extends iJ{constructor(t,e,n,r,i,s,o){let a=t.getExtent();a&&t.canWrapX()&&(a=a.slice(),a[0]=-1/0,a[2]=1/0);let l=e.getExtent();l&&e.canWrapX()&&(l=l.slice(),l[0]=-1/0,l[2]=1/0);const c=l?FW(n,l):n,u=M6(t,e,LW(c),r),h=new I6(t,e,c,a,.5*u,r),d=h.calculateSourceExtent(),p=BW(d)?null:s(d,u,i),f=p?0:4,g=p?p.getPixelRatio():1;super(n,r,g,f),this.targetProj_=e,this.maxSourceExtent_=a,this.triangulation_=h,this.targetResolution_=r,this.targetExtent_=n,this.sourceImage_=p,this.sourcePixelRatio_=g,this.interpolate_=o,this.canvas_=null,this.sourceListenerKey_=null}disposeInternal(){1==this.state&&this.unlistenSource_(),super.disposeInternal()}getImage(){return this.canvas_}getProjection(){return this.targetProj_}reproject_(){const t=this.sourceImage_.getState();if(2==t){const t=NW(this.targetExtent_)/this.targetResolution_,e=OW(this.targetExtent_)/this.targetResolution_;this.canvas_=L6(t,e,this.sourcePixelRatio_,K6(this.sourceImage_.getResolution()),this.maxSourceExtent_,this.targetResolution_,this.targetExtent_,this.triangulation_,[{extent:this.sourceImage_.getExtent(),image:this.sourceImage_.getImage()}],0,void 0,this.interpolate_,!0)}this.state=t,this.changed()}load(){if(0==this.state){this.state=1,this.changed();const t=this.sourceImage_.getState();2==t||3==t?this.reproject_():(this.sourceListenerKey_=pV(this.sourceImage_,Vq,()=>{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){gV(this.sourceListenerKey_),this.sourceListenerKey_=null}}class Y6 extends hV{constructor(t,e){super(t),this.image=e}}class X6 extends N0{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[tV(e,t,0)]),t}getImage(t,e,n,r){const i=this.getProjection();if(!i||!r||nG(i,r))return i&&(r=i),this.getImageInternal(t,e,n,r);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&nG(this.reprojectedImage_.getProjection(),r)&&this.reprojectedImage_.getResolution()==e&&_W(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new Z6(i,r,t,e,n,(t,e,n)=>this.getImageInternal(t,e,n,i),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,n,r){if(this.loader){const i=function(t,e,n){const r=e/n,i=LW(t),s=sW(NW(t)/r,4),o=sW(OW(t)/r,4);return PW(i,r,0,[s+2*sW(0*s/2,4),o+2*sW(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===r&&(this.wantedExtent_&&fW(this.wantedExtent_,i)||fW(this.image.getExtent(),i))&&(this.wantedResolution_&&K6(this.wantedResolution_)===s||K6(this.image.getResolution())===s)))return this.image;this.wantedProjection_=r,this.wantedExtent_=i,this.wantedResolution_=s,this.image=new iJ(i,s,n,this.loader),this.image.addEventListener(Vq,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 Y6(n,e))}}const J6=[0,0,0];class Q6{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,WV(function(t){const e=((t,e)=>e-t)||Jq;return t.every(function(n,r){if(0===r)return!0;const i=e(t[r-1],n);return!(i>0||0===i)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!t.origins)for(let r=0,i=this.resolutions_.length-1;r<i;++r)if(e){if(this.resolutions_[r]/this.resolutions_[r+1]!==e){e=void 0;break}}else e=this.resolutions_[r]/this.resolutions_[r+1];this.zoomFactor_=e,this.maxZoom=this.resolutions_.length-1,this.origin_=void 0!==t.origin?t.origin:null,this.origins_=null,void 0!==t.origins&&(this.origins_=t.origins,WV(this.origins_.length==this.resolutions_.length,"Number of `origins` and `resolutions` must be equal"));const n=t.extent;void 0===n||this.origin_||this.origins_||(this.origin_=zW(n)),WV(!this.origin_&&this.origins_||this.origin_&&!this.origins_,"Either `origin` or `origins` must be configured, never both"),this.tileSizes_=null,void 0!==t.tileSizes&&(this.tileSizes_=t.tileSizes,WV(this.tileSizes_.length==this.resolutions_.length,"Number of `tileSizes` and `resolutions` must be equal")),this.tileSize_=void 0!==t.tileSize?t.tileSize:this.tileSizes_?null:256,WV(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,"Either `tileSize` or `tileSizes` must be configured, never both"),this.extent_=void 0!==n?n:null,this.fullTileRanges_=null,this.tmpSize_=[0,0],this.tmpExtent_=[0,0,0,0],void 0!==t.sizes?this.fullTileRanges_=t.sizes.map((t,e)=>{const r=new t4(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);r.minX=Math.max(t.minX,r.minX),r.maxX=Math.min(t.maxX,r.maxX),r.minY=Math.max(t.minY,r.minY),r.maxY=Math.min(t.maxY,r.maxY)}return r}):n&&this.calculateTileRanges_(n)}forEachTileCoord(t,e,n){const r=this.getTileRangeForExtentAndZ(t,e);for(let i=r.minX,s=r.maxX;i<=s;++i)for(let t=r.minY,o=r.maxY;t<=o;++t)n([e,i,t])}forEachTileCoordParentTileRange(t,e,n,r){let i,s,o,a=null,l=t[0]-1;for(2===this.zoomFactor_?(s=t[1],o=t[2]):a=this.getTileCoordExtent(t,r);l>=this.minZoom;){if(void 0!==s&&void 0!==o?(s=Math.floor(s/2),o=Math.floor(o/2),i=e4(s,s,o,o,n)):i=this.getTileRangeForExtentAndZ(a,l,n),e(l,i))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){if(2===this.zoomFactor_){const n=2*t[1],r=2*t[2];return e4(n,n+1,r,r+1,e)}const r=this.getTileCoordExtent(t,n||this.tmpExtent_);return this.getTileRangeForExtentAndZ(r,t[0]+1,e)}return null}getTileRangeForTileCoordAndZ(t,e,n){if(e>this.maxZoom||e<this.minZoom)return null;const r=t[0],i=t[1],s=t[2];if(e===r)return e4(i,s,i,s,n);if(this.zoomFactor_){const t=Math.pow(this.zoomFactor_,e-r),o=Math.floor(i*t),a=Math.floor(s*t);return e<r?e4(o,o,a,a,n):e4(o,Math.floor(t*(i+1))-1,a,Math.floor(t*(s+1))-1,n)}const o=this.getTileCoordExtent(t,this.tmpExtent_);return this.getTileRangeForExtentAndZ(o,e,n)}getTileRangeForExtentAndZ(t,e,n){this.getTileCoordForXYAndZ_(t[0],t[3],e,!1,J6);const r=J6[1],i=J6[2];return this.getTileCoordForXYAndZ_(t[2],t[1],e,!0,J6),e4(r,J6[1],i,J6[2],n)}getTileCoordCenter(t){const e=this.getOrigin(t[0]),n=this.getResolution(t[0]),r=AY(this.getTileSize(t[0]),this.tmpSize_);return[e[0]+(t[1]+.5)*r[0]*n,e[1]-(t[2]+.5)*r[1]*n]}getTileCoordExtent(t,e){const n=this.getOrigin(t[0]),r=this.getResolution(t[0]),i=AY(this.getTileSize(t[0]),this.tmpSize_),s=n[0]+t[1]*i[0]*r,o=n[1]-(t[2]+1)*i[1]*r;return yW(s,o,s+i[0]*r,o+i[1]*r,e)}getTileCoordForCoordAndResolution(t,e,n){return this.getTileCoordForXYAndResolution_(t[0],t[1],e,!1,n)}getTileCoordForXYAndResolution_(t,e,n,r,i){const s=this.getZForResolution(n),o=n/this.getResolution(s),a=this.getOrigin(s),l=AY(this.getTileSize(s),this.tmpSize_);let c=o*(t-a[0])/n/l[0],u=o*(a[1]-e)/n/l[1];return r?(c=sW(c,5)-1,u=sW(u,5)-1):(c=iW(c,5),u=iW(u,5)),O6(s,c,u,i)}getTileCoordForXYAndZ_(t,e,n,r,i){const s=this.getOrigin(n),o=this.getResolution(n),a=AY(this.getTileSize(n),this.tmpSize_);let l=(t-s[0])/o/a[0],c=(s[1]-e)/o/a[1];return r?(l=sW(l,5)-1,c=sW(c,5)-1):(l=iW(l,5),c=iW(c,5)),O6(n,l,c,i)}getTileCoordForCoordAndZ(t,e,n){return this.getTileCoordForXYAndZ_(t[0],t[1],e,!1,n)}getTileCoordResolution(t){return this.resolutions_[t[0]]}getTileSize(t){return this.tileSize_?this.tileSize_:this.tileSizes_[t]}getFullTileRange(t){return this.fullTileRanges_?this.fullTileRanges_[t]:this.extent_?this.getTileRangeForExtentAndZ(this.extent_,t):null}getZForResolution(t,e){return YV(tV(this.resolutions_,t,e||0),this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(t,e){return sK(e,0,e.length,2,this.getTileCoordExtent(t))}calculateTileRanges_(t){const e=this.resolutions_.length,n=new Array(e);for(let r=this.minZoom;r<e;++r)n[r]=this.getTileRangeForExtentAndZ(t,r);this.fullTileRanges_=n}}function t8(t){let e=t.getDefaultTileGrid();return e||(e=function(t){return function(t,e,n,r){r=void 0!==r?r:"top-left";const i=n8(t,void 0,n);return new Q6({extent:t,origin:IW(t,r),resolutions:i,tileSize:n})}(r8(t),0,void 0,void 0)}(t),t.setDefaultTileGrid(e)),e}function e8(t){const e=t||{},n=e.extent||YH("EPSG:3857").getExtent(),r={extent:n,minZoom:e.minZoom,tileSize:e.tileSize,resolutions:n8(n,e.maxZoom,e.tileSize,e.maxResolution)};return new Q6(r)}function n8(t,e,n,r){e=void 0!==e?e:42,n=AY(void 0!==n?n:256);const i=OW(t),s=NW(t);r=r>0?r:Math.max(s/n[0],i/n[1]);const o=e+1,a=new Array(o);for(let l=0;l<o;++l)a[l]=r/Math.pow(2,l);return a}function r8(t){let e=(t=YH(t)).getExtent();if(!e){const n=180*eH.degrees/t.getMetersPerUnit();e=yW(-n,-n,n,n)}return e}class i8 extends N0{constructor(t){super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,projection:t.projection,state:t.state,wrapX:t.wrapX,interpolate:t.interpolate}),this.on,this.once,this.un,this.tilePixelRatio_=void 0!==t.tilePixelRatio?t.tilePixelRatio:1,this.tileGrid=void 0!==t.tileGrid?t.tileGrid:null,this.tileGrid&&AY(this.tileGrid.getTileSize(this.tileGrid.getMinZoom()),[256,256]),this.tmpSize=[0,0],this.key_=t.key||bV(this),this.tileOptions={transition:t.transition,interpolate:t.interpolate},this.zDirection=t.zDirection?t.zDirection:0}getGutterForProjection(t){return 0}getKey(){return this.key_}setKey(t){this.key_!==t&&(this.key_=t,this.changed())}getResolutions(t){const e=t?this.getTileGridForProjection(t):this.tileGrid;return e?e.getResolutions():null}getTile(t,e,n,r,i,s){return yV()}getTileGrid(){return this.tileGrid}getTileGridForProjection(t){return this.tileGrid?this.tileGrid:t8(t)}getTilePixelRatio(t){return this.tilePixelRatio_}getTilePixelSize(t,e,n){const r=this.getTileGridForProjection(n),i=this.getTilePixelRatio(e),s=AY(r.getTileSize(t),this.tmpSize);return 1==i?s:(o=s,a=i,void 0===(l=this.tmpSize)&&(l=[0,0]),l[0]=o[0]*a+.5|0,l[1]=o[1]*a+.5|0,l);var o,a,l}getTileCoordForTileUrlFunction(t,e){const n=void 0!==e?e:this.getProjection(),r=void 0!==e?this.getTileGridForProjection(n):this.tileGrid||this.getTileGridForProjection(n);return this.getWrapX()&&n.isGlobal()&&(t=function(t,e,n){const r=e[0],i=t.getTileCoordCenter(e),s=r8(n);if(!pW(s,i)){const e=NW(s),n=Math.ceil((s[0]-i[0])/e);return i[0]+=e*n,t.getTileCoordForCoordAndZ(i,r)}return e}(r,t,n)),function(t,e){const n=t[0],r=t[1],i=t[2];if(e.getMinZoom()>n||n>e.getMaxZoom())return!1;const s=e.getFullTileRange(n);return!s||s.containsXY(r,i)}(t,r)?t:null}clear(){}refresh(){this.clear(),super.refresh()}}class s8 extends hV{constructor(t,e){super(t),this.tile=e}}function o8(t){return function(e){const n=e.buffers,r=e.meta,i=e.imageOps,s=e.width,o=e.height,a=n.length,l=n[0].byteLength;if(i){const e=new Array(a);for(let t=0;t<a;++t)e[t]=new ImageData(new Uint8ClampedArray(n[t]),s,o);return t(e,r).data.buffer}const c=new Uint8ClampedArray(l),u=new Array(a),h=new Array(a);for(let t=0;t<a;++t)u[t]=new Uint8ClampedArray(n[t]),h[t]=[0,0,0,0];for(let d=0;d<l;d+=4){for(let t=0;t<a;++t){const e=u[t];h[t][0]=e[d],h[t][1]=e[d+1],h[t][2]=e[d+2],h[t][3]=e[d+3]}const e=t(h,r);c[d]=e[0],c[d+1]=e[1],c[d+2]=e[2],c[d+3]=e[3]}return c.buffer}}function a8(t,e){const n=Object.keys(t.lib||{}).map(function(e){return"const "+e+" = "+t.lib[e].toString()+";"}),r=n.concat(["const __minion__ = ("+o8.toString()+")(",t.operation.toString(),");",'self.addEventListener("message", function(event) {'," const buffer = __minion__(event.data);"," self.postMessage({buffer: buffer, meta: event.data.meta}, [buffer]);","});"]),i=new Worker("undefined"==typeof Blob?"data:text/javascript;base64,"+Buffer.from(r.join("\n"),"binary").toString("base64"):URL.createObjectURL(new Blob(r,{type:"text/javascript"})));return i.addEventListener("message",e),i}class l8 extends Xq{constructor(t){let e;super(),this.imageOps_=!!t.imageOps,e=0===t.threads?0:this.imageOps_?1:t.threads||1;const n=new Array(e);if(e)for(let r=0;r<e;++r)n[r]=a8(t,this.onWorkerMessage_.bind(this,r));else n[0]=function(t,e){const n=o8(t.operation);let r=!1;return{postMessage:function(t){setTimeout(function(){r||e({data:{buffer:n(t),meta:t.meta}})},0)},terminate:function(){r=!0}}}(t,this.onWorkerMessage_.bind(this,0));this.workers_=n,this.queue_=[],this.maxQueueLength_=t.queue||1/0,this.running_=0,this.dataLookup_={},this.job_=null}process(t,e,n){this.enqueue_({inputs:t,meta:e,callback:n}),this.dispatch_()}enqueue_(t){for(this.queue_.push(t);this.queue_.length>this.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,r=t.inputs.map(function(t){return t.data.buffer}),i=this.workers_.length;if(this.running_=i,1===i)return void this.workers_[0].postMessage({buffers:r,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},r);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/i);for(let a=0;a<i;++a){const i=a*o,s=[];for(let t=0,e=r.length;t<e;++t)s.push(r[t].slice(i,i+o));this.workers_[a].postMessage({buffers:s,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},s)}}onWorkerMessage_(t,e){this.disposed||(this.dataLookup_[t]=e.data,--this.running_,0===this.running_&&this.resolveJob_())}resolveJob_(){const t=this.job_,e=this.workers_.length;let n,r;if(1===e)n=new Uint8ClampedArray(this.dataLookup_[0].buffer),r=this.dataLookup_[0].meta;else{const i=t.inputs[0].data.length;n=new Uint8ClampedArray(i),r=new Array(e);const s=4*Math.ceil(i/4/e);for(let t=0;t<e;++t){const e=this.dataLookup_[t].buffer,i=t*s;n.set(new Uint8ClampedArray(e),i),r[t]=this.dataLookup_[t].meta}}this.job_=null,this.dataLookup_={},t.callback(null,new ImageData(n,t.inputs[0].width,t.inputs[0].height),r),this.dispatch_()}disposeInternal(){for(let t=0;t<this.workers_.length;++t)this.workers_[t].terminate();this.workers_.length=0}}class c8 extends hV{constructor(t,e,n){super(t),this.extent=e.extent,this.resolution=e.viewState.resolution/e.pixelRatio,this.data=n}}class u8 extends X6{constructor(t){super({projection:null}),this.on,this.once,this.un,this.processor_=null,this.operationType_=void 0!==t.operationType?t.operationType:"pixel",this.threads_=void 0!==t.threads?t.threads:1,this.layers_=function(t){const e=t.length,n=new Array(e);for(let r=0;r<e;++r)n[r]=p8(t[r]);return n}(t.sources);const e=this.changed.bind(this);for(let r=0,i=this.layers_.length;r<i;++r)this.layers_[r].addEventListener(Vq,e);var n;this.useResolutions_=null!==t.resolutions,this.tileQueue_=new KV(function(){return 1},this.processSources_.bind(this)),this.requestedFrameState_,this.renderedImageCanvas_=null,this.renderedRevision_,this.frameState_={animate:!1,coordinateToPixelTransform:[1,0,0,1,0,0],declutter:null,extent:null,index:0,layerIndex:0,layerStatesArray:(n=this.layers_,n.map(function(t){return t.getLayerState()})),pixelRatio:1,pixelToCoordinateTransform:[1,0,0,1,0,0],postRenderFunctions:[],size:[0,0],tileQueue:this.tileQueue_,time:Date.now(),usedTiles:{},viewState:{rotation:0},viewHints:[],wantedTiles:{},mapId:bV(this),renderTargets:{}},this.setAttributions(function(e){const n=[];for(let r=0,i=t.sources.length;r<i;++r){const i=t.sources[r],s=i instanceof N0?i:i.getSource();if(!s)continue;const o=s.getAttributions()?.(e);"string"==typeof o?n.push(o):void 0!==o&&n.push(...o)}return n}),void 0!==t.operation&&this.setOperation(t.operation,t.lib)}setOperation(t,e){this.processor_&&this.processor_.dispose(),this.processor_=new l8({operation:t,imageOps:"image"===this.operationType_,queue:1,lib:e,threads:this.threads_}),this.changed()}updateFrameState_(t,e,n){const r=Object.assign({},this.frameState_);r.viewState=Object.assign({},r.viewState);const i=LW(t);r.size[0]=Math.ceil(NW(t)/e),r.size[1]=Math.ceil(OW(t)/e),r.extent=[i[0]-r.size[0]*e/2,i[1]-r.size[1]*e/2,i[0]+r.size[0]*e/2,i[1]+r.size[1]*e/2],r.time=Date.now();const s=r.viewState;return s.center=i,s.projection=n,s.resolution=e,r}allSourcesReady_(){let t,e=!0;for(let n=0,r=this.layers_.length;n<r;++n)if(t=this.layers_[n].getSource(),!t||"ready"!==t.getState()){e=!1;break}return e}getImage(t,e,n,r){if(!this.allSourcesReady_())return null;this.tileQueue_.loadMoreTiles(16,16),e=this.findNearestResolution(e);const i=this.updateFrameState_(t,e,r);if(this.requestedFrameState_=i,this.renderedImageCanvas_){const t=this.renderedImageCanvas_.getResolution(),n=this.renderedImageCanvas_.getExtent();e===t&&_W(i.extent,n)||(this.renderedImageCanvas_=null)}return this.renderedImageCanvas_&&this.getRevision()===this.renderedRevision_||this.processSources_(),i.animate&&requestAnimationFrame(this.changed.bind(this)),this.renderedImageCanvas_}processSources_(){const t=this.requestedFrameState_,e=this.layers_.length,n=new Array(e);for(let i=0;i<e;++i){t.layerIndex=i,t.renderTargets={};const e=d8(this.layers_[i],t);if(!e)return;n[i]=e}const r={};this.dispatchEvent(new c8("beforeoperations",t,r)),this.processor_.process(n,r,this.onWorkerComplete_.bind(this,t))}onWorkerComplete_(t,e,n,r){if(e||!n)return;const i=t.extent,s=t.viewState.resolution;if(s!==this.requestedFrameState_.viewState.resolution||!_W(i,this.requestedFrameState_.extent))return;let o;this.renderedImageCanvas_?o=this.renderedImageCanvas_.getImage().getContext("2d"):(o=AK(Math.round(NW(i)/s),Math.round(OW(i)/s)),this.renderedImageCanvas_=new X5(i,s,1,o.canvas)),o.putImageData(n,0,0),t.animate?requestAnimationFrame(this.changed.bind(this)):this.changed(),this.renderedRevision_=this.getRevision(),this.dispatchEvent(new c8("afteroperations",t,r))}getResolutions(t){if(!this.useResolutions_)return null;let e=super.getResolutions();if(!e)for(let n=0,r=this.layers_.length;n<r&&(e=this.layers_[n].getSource().getResolutions(t),!e);++n);return e}disposeInternal(){this.processor_&&this.processor_.dispose(),super.disposeInternal()}}u8.prototype.dispose;let h8=null;function d8(t,e){const n=t.getRenderer();if(!n)throw new Error("Unsupported layer type: "+t);if(!n.prepareFrame(e))return null;const r=e.size[0],i=e.size[1];if(0===r||0===i)return null;const s=n.renderFrame(e,null);let o;if(s instanceof HTMLCanvasElement)o=s;else{if(s&&(o=s.firstElementChild),!(o instanceof HTMLCanvasElement))throw new Error("Unsupported rendered element: "+o);if(o.width===r&&o.height===i)return o.getContext("2d").getImageData(0,0,r,i)}if(h8){const t=h8.canvas;t.width!==r||t.height!==i?h8=AK(r,i,void 0,{willReadFrequently:!0}):h8.clearRect(0,0,r,i)}else h8=AK(r,i,void 0,{willReadFrequently:!0});return h8.drawImage(o,0,0,r,i),h8.getImageData(0,0,r,i)}function p8(t){let e;return t instanceof N0?t instanceof i8?e=new q6({source:t}):t instanceof X6&&(e=new w6({source:t})):e=t,e}const f8=/\{z\}/g,g8=/\{x\}/g,m8=/\{y\}/g,y8=/\{-y\}/g;function v8(t,e){return function(n){if(!n)return;let r;const i=n[0];if(e){const t=e.getFullTileRange(i);t&&(r=t.getHeight()-1)}return function(t,e,n,r,i){return t.replace(f8,e.toString()).replace(g8,n.toString()).replace(m8,r.toString()).replace(y8,function(){if(void 0===i)throw new Error("If the URL template has a {-y} placeholder, the grid extent must be known");return(i-r).toString()})}(t,i,n[1],n[2],r)}}function b8(t,e){const n=t.length,r=new Array(n);for(let i=0;i<n;++i)r[i]=v8(t[i],e);return function(t){return 1===t.length?t[0]:function(e,n,r){if(!e)return;const i=function(t){return function(t,e,n){return(e<<t)+n}(t[0],t[1],t[2])}(e),s=eW(i,t.length);return t[s](e,n,r)}}(r)}class w8 extends i8{constructor(t){super({attributions:t.attributions,cacheSize:t.cacheSize,projection:t.projection,state:t.state,tileGrid:t.tileGrid,tilePixelRatio:t.tilePixelRatio,wrapX:t.wrapX,transition:t.transition,interpolate:t.interpolate,key:t.key,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection}),this.generateTileUrlFunction_=this.tileUrlFunction===w8.prototype.tileUrlFunction,this.tileLoadFunction=t.tileLoadFunction,t.tileUrlFunction&&(this.tileUrlFunction=t.tileUrlFunction),this.urls=null,t.urls?this.setUrls(t.urls):t.url&&this.setUrl(t.url),this.tileLoadingKeys_={}}getTileLoadFunction(){return this.tileLoadFunction}getTileUrlFunction(){return Object.getPrototypeOf(this).tileUrlFunction===this.tileUrlFunction?this.tileUrlFunction.bind(this):this.tileUrlFunction}getUrls(){return this.urls}handleTileChange(t){const e=t.target,n=bV(e),r=e.getState();let i;1==r?(this.tileLoadingKeys_[n]=!0,i="tileloadstart"):n in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[n],i=3==r?"tileloaderror":2==r?"tileloadend":void 0),null!=i&&this.dispatchEvent(new s8(i,e))}setTileLoadFunction(t){this.tileLoadFunction=t,this.changed()}setTileUrlFunction(t,e){this.tileUrlFunction=t,void 0!==e?this.setKey(e):this.changed()}setUrl(t){const e=function(t){const e=[];let n=/\{([a-z])-([a-z])\}/.exec(t);if(n){const r=n[1].charCodeAt(0),i=n[2].charCodeAt(0);let s;for(s=r;s<=i;++s)e.push(t.replace(n[0],String.fromCharCode(s)));return e}if(n=/\{(\d+)-(\d+)\}/.exec(t),n){const r=parseInt(n[2],10);for(let i=parseInt(n[1],10);i<=r;i++)e.push(t.replace(n[0],i.toString()));return e}return e.push(t),e}(t);this.urls=e,this.setUrls(e)}setUrls(t){this.urls=t;const e=t.join("\n");this.generateTileUrlFunction_?this.setTileUrlFunction(b8(t,this.tileGrid),e):this.setKey(e)}tileUrlFunction(t,e,n){}}class _8 extends w8{constructor(t){super({attributions:t.attributions,cacheSize:t.cacheSize,projection:t.projection,state:t.state,tileGrid:t.tileGrid,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:x8,tilePixelRatio:t.tilePixelRatio,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:t.wrapX,transition:t.transition,interpolate:void 0===t.interpolate||t.interpolate,key:t.key,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection}),this.crossOrigin=void 0!==t.crossOrigin?t.crossOrigin:null,this.tileClass=void 0!==t.tileClass?t.tileClass:Q5,this.tileGridForProjection={},this.reprojectionErrorThreshold_=t.reprojectionErrorThreshold,this.renderReprojectionEdges_=!1}getGutterForProjection(t){return this.getProjection()&&t&&!nG(this.getProjection(),t)?0:this.getGutter()}getGutter(){return 0}getKey(){let t=super.getKey();return this.getInterpolate()||(t+=":disable-interpolation"),t}getTileGridForProjection(t){const e=this.getProjection();if(this.tileGrid&&(!e||nG(e,t)))return this.tileGrid;const n=bV(t);return n in this.tileGridForProjection||(this.tileGridForProjection[n]=t8(t)),this.tileGridForProjection[n]}createTile_(t,e,n,r,i,s){const o=[t,e,n],a=this.getTileCoordForTileUrlFunction(o,i),l=a?this.tileUrlFunction(a,r,i):void 0,c=new this.tileClass(o,void 0!==l?0:4,void 0!==l?l:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);return c.key=s,c.addEventListener(Vq,this.handleTileChange.bind(this)),c}getTile(t,e,n,r,i,s){const o=this.getProjection();if(!o||!i||nG(o,i))return this.getTileInternal(t,e,n,r,o||i);const a=[t,e,n],l=this.getKey(),c=this.getTileGridForProjection(o),u=this.getTileGridForProjection(i),h=this.getTileCoordForTileUrlFunction(a,i),d=new P6(o,c,i,u,a,h,this.getTilePixelRatio(r),this.getGutter(),(t,e,n,r)=>this.getTileInternal(t,e,n,r,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=l,d}getTileInternal(t,e,n,r,i,s){const o=this.getKey(),a=F6(this,o,t,e,n);if(s&&s.containsKey(a))return s.get(a);const l=this.createTile_(t,e,n,r,i,o);return s?.set(a,l),l}setRenderReprojectionEdges(t){this.renderReprojectionEdges_!=t&&(this.renderReprojectionEdges_=t,this.changed())}setTileGridForProjection(t,e){const n=YH(t);if(n){const t=bV(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function x8(t,e){if(PV){const n=t.getCrossOrigin();let r="same-origin",i="same-origin";return"anonymous"===n||""===n?(r="cors",i="omit"):"use-credentials"===n&&(r="cors",i="include"),void fetch(e,{mode:r,credentials:i}).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 C8 extends _8{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:YH("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 r=document.createElement("script"),i="olc_"+bV(e);function s(){delete window[i],r.parentNode.removeChild(r)}r.async=!0,r.src=t+(t.includes("?")?"&":"?")+"callback="+i;const o=setTimeout(function(){s(),n&&n()},1e4);window[i]=function(t){clearTimeout(o),s(),e(t)},document.head.appendChild(r)}(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=YH("EPSG:4326"),n=this.getProjection();let r;if(void 0!==t.bounds){const i=rG(e,n);r=UW(t.bounds,i)}const i=r8(n),s=t.minzoom||0,o=e8({extent:i,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=b8(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==r?r:i;this.setAttributions(function(n){return jW(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class S8 extends w8{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||r8(e),r=t.tileGrid||e8({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:r,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:k8,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:i4,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(t,e,n){if(0===n.getState()){n.setState(1);const r=n.wrappedTileCoord,i=this.getTileGridForProjection(e);let s=i.getTileCoordExtent(r);const o=r[0],a=i.getResolution(o);uW(s,-a,s);const l=this.projection;e&&this.projection&&!nG(e,l)&&(s=aG(s,e,l));const c=this.tileGrid,u=c.getExtent();u&&FW(s,u,s);let h=a;e&&l&&!nG(e,l)&&(h=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=c.getZForResolution(h,this.zDirection);c.forEachTileCoord(s,d,r=>{const i=this.tileUrlFunction(r,t,e);this.sourceTiles_[i]||(this.sourceTiles_[i]=new this.tileClass(r,i?0:4,i,this.format_,this.tileLoadFunction));const s=this.sourceTiles_[i];n.sourceTiles.push(s),this.tileKeysBySourceTileUrl_[i]||(this.tileKeysBySourceTileUrl_[i]=[]),this.tileKeysBySourceTileUrl_[i].push(n.getKey());const o=s.getState();if(o<2){const t=e=>{this.handleTileChange(e);const r=s.getState();if(2===r||3===r){const e=s.getKey();e in n.errorTileKeys?2===s.getState()&&delete n.errorTileKeys[e]:n.loadingSourceTiles--,3===r?n.errorTileKeys[e]=!0:s.removeEventListener(Vq,t),0===n.loadingSourceTiles&&n.setState(uV(n.errorTileKeys)?2:3)}};s.addEventListener(Vq,t),n.loadingSourceTiles++}0===o&&(s.extent=c.getTileCoordExtent(r),s.projection=this.projection,s.resolution=c.getResolution(r[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 r=0,i=n.length;r<i;++r){const t=n[r].getTileUrl();if(!this.tileKeysBySourceTileUrl_[t])return;const i=this.tileKeysBySourceTileUrl_[t].indexOf(e);-1!==i&&(this.tileKeysBySourceTileUrl_[t].splice(i,1),0===this.tileKeysBySourceTileUrl_[t].length&&(delete this.tileKeysBySourceTileUrl_[t],delete this.sourceTiles_[t]))}}getTile(t,e,n,r,i){const s=[t,e,n];let o=this.getTileCoordForTileUrlFunction(s,i);const a=this.getTileGrid().getExtent(),l=this.projection,c=this.getTileGridForProjection(i);if(o&&a){const e=c.getTileCoordExtent(o);uW(e,-c.getResolution(t),e),jW(a,i&&l&&!nG(i,l)?aG(e,i,l):e)||(o=null)}let u=!0;if(null!==o){const e=this.tileGrid,n=c.getResolution(t);let s=n;i&&l&&!nG(i,l)&&(s=n/l.getMetersPerUnit()/i.getMetersPerUnit());const a=e.getZForResolution(s,1),h=c.getTileCoordExtent(o);uW(h,-n,h),e.forEachTileCoord(i&&l&&!nG(i,l)?aG(h,i,l):h,a,t=>{u=u&&!this.tileUrlFunction(t,r,l)})}const h=new r4(s,u?4:0,o,this.getSourceTiles.bind(this,r,i),this.removeSourceTiles.bind(this));return h.key=this.getKey(),h}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const r=this.projection;if(null!==r&&!nG(r,t))return t8(t);const i=this.tileGrid,s=i.getResolutions().slice(),o=s.map(function(t,e){return i.getOrigin(e)}),a=s.map(function(t,e){return i.getTileSize(e)}),l=43;for(let t=s.length;t<l;++t)s.push(s[t-1]/2),o.push(o[t-1]),a.push(a[t-1]);n=new Q6({extent:i.getExtent(),origins:o,resolutions:s,tileSizes:a}),this.tileGrids_[e]=n}return n}getTilePixelRatio(t){return t}getTilePixelSize(t,e,n){const r=AY(this.getTileGridForProjection(n).getTileSize(t),this.tmpSize);return[Math.round(r[0]*e),Math.round(r[1]*e)]}setOverlaps(t){this.overlaps_=t,this.changed()}}function k8(t,e){t.setLoader(function(n,r,i){M0(e,t.getFormat(),n,r,i,t.onLoad.bind(t),t.onError.bind(t))})}function E8(t,e){const n=t[0],r=n.width,i=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=2*e.resolution,l=r-1,c=i-1,u=[0,0,0,0],h=2*Math.PI,d=Math.PI/2,p=Math.PI*e.sunEl/180,f=Math.PI*e.sunAz/180,g=Math.cos(p),m=Math.sin(p),y=e.highlightColor,v=e.shadowColor,b=e.accentColor,w=e.encoding;let _,x,C,S,k,E,T,R,M,L,I,P,A,O,F,z,D,N,j,B,U,$;function q(t,e="mapbox"){return"mapbox"===e?.1*(256*t[0]*256+256*t[1]+t[2])-1e4:"terrarium"===e?256*t[0]+t[1]+t[2]/256-32768:void 0}for(x=0;x<=c;++x)for(k=0===x?0:x-1,E=x===c?c:x+1,_=0;_<=l;++_)C=0===_?0:_-1,S=_===l?l:_+1,T=4*(x*r+C),u[0]=s[T],u[1]=s[T+1],u[2]=s[T+2],u[3]=s[T+3],R=e.vert*q(u,w),T=4*(x*r+S),u[0]=s[T],u[1]=s[T+1],u[2]=s[T+2],u[3]=s[T+3],M=e.vert*q(u,w),L=(M-R)/a,T=4*(k*r+_),u[0]=s[T],u[1]=s[T+1],u[2]=s[T+2],u[3]=s[T+3],R=e.vert*q(u,w),T=4*(E*r+_),u[0]=s[T],u[1]=s[T+1],u[2]=s[T+2],u[3]=s[T+3],M=e.vert*q(u,w),I=(M-R)/a,A=Math.atan2(I,-L),A=A<0?d-A:A>d?h-A+d:d-A,P=Math.atan(Math.sqrt(L*L+I*I)),$=m*Math.cos(P)+g*Math.sin(P)*Math.cos(f-A),O=Math.cos(P),F=255*$,j=Math.min(Math.max(2*e.sunEl,0),1),B=1.875-1.75*e.opacity,U=.5!==e.opacity?d*((Math.pow(B,P)-1)/(Math.pow(B,d)-1)):P,D={r:(1-O)*b.r*j*255,g:(1-O)*b.g*j*255,b:(1-O)*b.b*j*255,a:(1-O)*b.a*j*255},z=Math.abs(((A+f)/Math.PI+.5)%2-1),N={r:(y.r*(1-z)+v.r*z)*F,g:(y.g*(1-z)+v.g*z)*F,b:(y.b*(1-z)+v.b*z)*F,a:(y.a*(1-z)+v.a*z)*F},T=4*(x*r+_),o[T]=D.r*(1-z)+N.r,o[T+1]=D.g*(1-z)+N.g,o[T+2]=D.b*(1-z)+N.b,o[T+3]=s[T+3]*e.opacity*j*Math.sin(U);return new ImageData(o,r,i)}function T8(t,e){const n=t[0],r=n.width,i=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=r-1,l=i-1,c=[0,0,0,0];let u,h,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),v=y,b=[y[2],y[0],y[1]],w=[y[1],y[2],y[0]],_=e.brightnessLow,x=e.brightnessHigh;for(h=0;h<=l;++h)for(u=0;u<=a;++u){d=4*(h*r+u),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],i=(t,e)=>{let n=0;for(let r=0;r<t.length;r++)n+=t[r]*e[r];return n};let a=i([t,e,n],v),l=i([t,e,n],b),f=i([t,e,n],w);const m=(a+l+f)/3;a+=(m-a)*p,l+=(m-l)*p,f+=(m-f)*p,a=(a-.5)*g+.5,l=(l-.5)*g+.5,f=(f-.5)*g+.5,a=_*(255-a)+x*a,l=_*(255-l)+x*l,f=_*(255-f)+x*f,o[d]=a,o[d+1]=l,o[d+2]=f,o[d+3]=c[3]}return new ImageData(o,r,i)}function R8(t,e=512){return t.getExtent()?e8({extent:t.getExtent(),tileSize:e,maxZoom:22}).getResolutions():v4}function M8(t,e){return e.accessToken||(e=Object.assign({},e),new URL(t).searchParams.forEach((t,n)=>{e.accessToken=t,e.accessTokenParam=n})),e}function L8(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function I8(t,e,n){const r=new C8({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),i=r.getTileJSON(),s=r.getTileGrid(),o=YH(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=tG([n[0],n[1]],e),r=tG([n[2],n[3]],e);return[t[0],t[1],r[0],r[1]]}return YH(e).getExtent()}(i,o),l=o.getExtent(),c=i.minzoom||0,u=i.maxzoom||22,h={attributions:r.getAttributions(),projection:o,tileGrid:new Q6({origin:l?zW(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:c,resolutions:R8(o,e.tileSize).slice(0,u+1),tileSize:s.getTileSize(0)})};return Array.isArray(i.tiles)?h.urls=i.tiles:h.url=i.tiles,h}function P8(t,e,n){return new Promise(function(r,i){E4(t,e,n).then(function({tileJson:e,tileLoadFunction:i}){const s=I8(t,e,n);s.tileLoadFunction=i,s.format=new p6({layerName:"mvt:layer"});const o=new S8(s);o.set("mapbox-source",t),r(o)}).catch(i)})}function A8(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function O8(t,e,n){const r=new q6;return function(t,e,n){return new Promise(function(r,i){E4(t,e,n).then(function({tileJson:e,tileLoadFunction:i}){const s=new C8({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=I8(t,e,n).tileGrid,n.projection&&(s.projection=YH(n.projection));const o=s.getTileUrlFunction();i&&s.setTileLoadFunction(i),s.setTileUrlFunction(function(t,e,n){const r=A8(n);let i=o(t,e,n);if(-1!=i.indexOf(r)){const e=s.getTileGrid().getTileCoordExtent(t);i=i.replace(r,e.toString())}return i}),s.set("mapbox-source",t),r(s)}).catch(function(t){i(t)})})}(t,e,n).then(function(t){r.setSource(t)}).catch(function(){r.setSource(void 0)}),r}function F8(t,e,n){const r=n.projection?new X0({dataProjection:n.projection}):new X0,i=t.data,s={};if("string"==typeof i){const[s]=u4(i,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const r=A8(n);return s.replace(r,`${t.join(",")}`)},i=new q0({attributions:t.attribution,format:r,loader:(t,r,s,o,a)=>{C4("GeoJSON","function"==typeof e?e(t,r,s):e,n).then(t=>{const e=i.getFormat().readFeatures(t,{featureProjection:s});i.addFeatures(e),o(e)}).catch(()=>{i.removeLoadedExtent(t),a()})},strategy:P0});return i.set("mapbox-source",t),i}const o=new q0({attributions:t.attribution,format:r,url:s,loader:(t,e,r,i,a)=>{C4("GeoJSON",s,n).then(t=>{const e=o.getFormat().readFeatures(t,{featureProjection:r});o.addFeatures(e),i(e)}).catch(()=>{o.removeLoadedExtent(t),a()})}});return o}s.features=r.readFeatures(i,{featureProjection:"EPSG:3857"});const o=new q0(Object.assign({attributions:t.attribution,format:r},s));return o.set("mapbox-source",t),o}function z8(t,e,n,r){const i=m4(t),s=t.layers,o=n.type,a=n.source||L8(s,n.ref),l=t.sources[a];let c;if("background"==o)c=function(t,e,n){const r=PV?{style:{}}:document.createElement("div");return r.className="ol-mapbox-style-background",r.style.position="absolute",r.style.width="100%",r.style.height="100%",new HZ({source:new N0({}),render(i){const s=function(t,e,n,r){const i={id:t.id,type:t.type},s=t.layout||{},o=t.paint||{};let a;i.paint=o,U4.zoom=w4(e,n.resolutions||v4),U4.distanceFromCenter=0;const l=V4(i,"paint","background-color",h4,r);return void 0!==o["background-opacity"]&&(a=V4(i,"paint","background-opacity",h4,r)),"none"==s.visibility?void 0:G4(l,a)}(t,i.viewState.resolution,e,n);return r.style.backgroundColor=s,r}})}(n,r,i);else if("vector"==l.type)c=function(t,e,n){const r=new G6({declutter:!0,visible:!1});return P8(t,e,n).then(function(t){r.setSource(t)}).catch(function(){r.setSource(void 0)}),r}(l,e,r);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 r=O8(t,e,n);return new w6({source:new u8({operationType:"image",operation:T8,sources:[r]})})}(l,e,r),c.getSource().on("beforeoperations",function(t){U4.zoom=w4(t.resolution,r.resolutions||v4),U4.distanceFromCenter=0;const e=t.data;e.saturation=V4(n,"paint","raster-saturation",h4,i),e.contrast=V4(n,"paint","raster-contrast",h4,i),e.brightnessHigh=V4(n,"paint","raster-brightness-max",h4,i),e.brightnessLow=V4(n,"paint","raster-brightness-min",h4,i),e.hueRotate=V4(n,"paint","raster-hue-rotate",h4,i)})):c=O8(l,e,r),c.setVisible(!n.layout||"none"!==n.layout.visibility),c.on("prerender",function(t,e,n){let r=null;return function(i){t.paint&&"raster-opacity"in t.paint&&i.frameState.viewState.zoom!==r&&(r=i.frameState.viewState.zoom,delete n[t.id],function(t,e,n,r){U4.zoom=n,U4.distanceFromCenter=0;const i=V4(t,"paint","raster-opacity",h4,r);e.setOpacity(i)}(t,e,r,n))}}(n,c,i))}else if("geojson"==l.type)c=function(t,e,n){return new R0({declutter:!0,source:F8(t,e,n),visible:!1})}(l,e,r);else if("raster-dem"==l.type&&"hillshade"==n.type){const t=function(t,e,n){const r=O8(t,e,n);return new w6({source:new u8({operationType:"image",operation:E8,sources:[r]})})}(l,e,r);c=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=XH(r.projection||"EPSG:3857",t.resolution,LW(t.extent),"m"),U4.zoom=w4(t.resolution,r.resolutions||v4),U4.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*V4(n,"paint","hillshade-exaggeration",h4,i),e.sunAz=V4(n,"paint","hillshade-illumination-direction",h4,i),e.sunEl=35,e.opacity=.3,e.highlightColor=V4(n,"paint","hillshade-highlight-color",h4,i),e.shadowColor=V4(n,"paint","hillshade-shadow-color",h4,i),e.accentColor=V4(n,"paint","hillshade-accent-color",h4,i)}),c.setVisible(!n.layout||"none"!==n.layout.visibility)}const u=a;return c&&c.set("mapbox-source",u),c}function D8(t,e,n,r,i,s={}){let o=24,a=0;const l=n.layers;for(let c=0,u=l.length;c<u;++c){const t=l[c];-1!==e.indexOf(t.id)&&(o=Math.min("minzoom"in t?t.minzoom:0,o),a=Math.max("maxzoom"in t?t.maxzoom:24,a))}return new Promise(function(l,c){const u=function(){const u=t.getSource();if(u&&"error"!==u.getState()){if("getTileGrid"in u){const e=u.getTileGrid();if(e){const n=e.getMinZoom();(o>0||n>0)&&t.setMaxResolution(Math.min(_4(Math.max(0,o-1e-12),v4),_4(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(_4(a,v4))}}else o>0&&t.setMaxResolution(_4(Math.max(0,o-1e-12),v4));u instanceof q0||u instanceof S8?function(t,e,n="",r={},i){let s,o,a,l,c=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,r=a),"string"==typeof r?(s=r,a={}):(s=r.styleUrl,a=r),!1===a.updateSource&&(c=!1),i||(i=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:l4(s,a.accessToken),a=M8(s,a)),new Promise(function(n,r){S4(e,a).then(function(e){if(8!=e.version)return r(new Error("glStyle version 8 required."));if(!(t instanceof R0||t instanceof G6))return r(new Error("Can only apply to VectorLayer or VectorTileLayer"));const u=t instanceof G6?"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===u}).source,l=o),!o)return r(new Error(`No ${u} source found in the glStyle.`));function h(){if(!c)return Promise.resolve();if(t instanceof G6)return P8(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()===k8&&n.setTileLoadFunction(e.getTileLoadFunction()),nG(n.getProjection(),e.getProjection())&&(n.tileGrid=e.getTileGrid())):t.setSource(e);const r=t.getSource().getTileGrid();!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())&&r.getMinZoom()>0&&t.setMaxResolution(_4(Math.max(0,r.getMinZoom()-1e-12),r.getResolutions()))});const n=e.sources[o];let r=t.getSource();r&&r.get("mapbox-source")===n||(r=F8(n,s,a));const i=t.getSource();return i?r!==i&&(i.getAttributions()||i.setAttributions(r.getAttributions()),i.format_||(i.format_=r.getFormat()),i.url_=r.getUrl()):t.setSource(r),Promise.resolve()}let d,p;const f={},g={};function m(){if(p||e.sprite&&!f)p?(t.setStyle(p),h().then(n).catch(r)):r(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!i){const t=YH(a.projection).getUnits();"m"!==t&&(i=v4.map(e=>e/eH[t]))}let s;const c=t.getSource();c instanceof S8&&c.format_ instanceof p6&&(s=c.format_.layerName_),p=function(t,e,n,r=v4,i,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");X4[function(t,e){return g4(t)+"."+bV(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 _ in s){const e=s[_];lV(()=>e).then(async e=>{let n;if("undefined"!=typeof Image){const r=new Image;if("string"==typeof e)r.crossOrigin="anonymous",r.src=e;else{let t;e instanceof Request?t=await fetch(e):e instanceof Response&&(t=e);const i=await t.blob();n=URL.createObjectURL(i),r.src=n}r.addEventListener("load",function e(){r.removeEventListener("load",e),l[_]={image:r,size:[r.width,r.height]},t.changed(),n&&URL.revokeObjectURL(n)}),r.addEventListener("error",function t(){URL.revokeObjectURL(n),r.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[_]={image:t.data.image,size:[t.data.image.width,t.data.image.height]})})}})}const c=f1(e.layers),u={},h=[],d={},p={},f=m4(e),g=function(t){let e=p4[t.id];return e||(e={},p4[g4(t)]=e),e}(e);let m;for(let _=0,x=c.length;_<x;++_){const t=c[_],r=t.id;if("string"==typeof n&&t.source==n||Array.isArray(n)&&-1!==n.indexOf(r)){const n=t["source-layer"];if(m){if(t.source!==m)throw new Error(`Layer "${r}" does not use source "${m}`)}else{m=t.source;const n=e.sources[m];if(!n)throw new Error(`Source "${m}" is not defined`);const r=n.type;if("vector"!==r&&"geojson"!==r)throw new Error(`Source "${m}" is not of type "vector" or "geojson", but "${r}"`)}let i=u[n];i||(i=[],u[n]=i),i.push({layer:t,index:_}),h.push(r)}}const y=new DJ,v=new OJ,b=[],w=function(n,s,c){const h=t.getSource?.()?.format_?.layerName_??"mvt:layer",m=n.getProperties(),w=u[m[h]];if(!w)return;let _=r.indexOf(s);-1==_&&(_=w4(s,r)),U4.zoom=_,U4.distanceFromCenter=0;const x=n.getGeometry(),C=j4[x.getType()],S=t.get("map");if(S&&S instanceof wQ&&1===C){const t=S.getSize();if(t){const e=S.getView().getCenter(),n=LW(x.getExtent());U4.distanceFromCenter=(k=e,E=n,Math.sqrt(function(t,e){const n=t[0]-e[0],r=t[1]-e[1];return n*n+r*r}(k,E))/s/t[1])}}var k,E;const T={id:n.getId(),properties:m,type:C},R=t.get("mapbox-featurestate")[n.getId()];let M=-1;for(let r=0,u=w.length;r<u;++r){const u=w[r],h=u.layer,x=h.id;if(void 0!==c&&c!==x)continue;const S=h.layout||h4,k=h.paint||h4;if("none"===S.visibility||"minzoom"in h&&_<h.minzoom||"maxzoom"in h&&_>=h.maxzoom)continue;const E=h.filter;if(!E||H4(x,E,T,g)){let r,c,g,w,_,x;const E=u.index;if(3==C&&("fill"==h.type||"fill-extrusion"==h.type))if(c=V4(h,"paint",h.type+"-opacity",T,f,R),h.type+"-pattern"in k){const t=V4(h,"paint",h.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?Z4(t,m):t.toString(),n=Y4(e,l);if(i&&i[e]&&n){++M,x=b[M],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new NJ({fill:new OJ}),b[M]=x),g=x.getFill(),x.setZIndex(E);const t=e+"."+c;let r=p[t];if(!r){const s=i[e],o=b4(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),r=a.createPattern(o,"repeat"),p[t]=r}g.setColor(r)}}}else r=G4(V4(h,"paint",h.type+"-color",T,f,R),c),h.type+"-outline-color"in k&&(_=G4(V4(h,"paint",h.type+"-outline-color",T,f,R),c)),_||(_=r),(r||_)&&(++M,x=b[M],(!x||r&&!x.getFill()||!r&&x.getFill()||_&&!x.getStroke()||!_&&x.getStroke()||x.getText())&&(x=new NJ({fill:r?new OJ:void 0,stroke:_?new DJ:void 0}),b[M]=x),r&&(g=x.getFill(),g.setColor(r)),_&&(w=x.getStroke(),w.setColor(_),w.setWidth(.5)),x.setZIndex(E));if(1!=C&&"line"==h.type){r="line-pattern"in k?void 0:G4(V4(h,"paint","line-color",T,f,R),V4(h,"paint","line-opacity",T,f,R));const t=V4(h,"paint","line-width",T,f,R);r&&t>0&&(++M,x=b[M],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new NJ({stroke:new DJ}),b[M]=x),w=x.getStroke(),w.setLineCap(V4(h,"layout","line-cap",T,f,R)),w.setLineJoin(V4(h,"layout","line-join",T,f,R)),w.setMiterLimit(V4(h,"layout","line-miter-limit",T,f,R)),w.setColor(r),w.setWidth(t),w.setLineDash(k["line-dasharray"]?V4(h,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(E))}let L,I,P,A,O,F,z,D,N,j=!1,B=null,U=0;if((1==C||2==C)&&"icon-image"in S){const e=V4(h,"layout","icon-image",T,f,R);if(e){let r;L="string"==typeof e?Z4(e,m):e.toString();const o=a?a(t,L):void 0,c=Y4(L,l);if(i&&i[L]&&c||o){const t=V4(h,"layout","icon-rotation-alignment",T,f,R);if(2==C){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(q4||($4=[NaN,NaN],q4=new z0("Point",$4,[],2,{},void 0)),r=q4,$4[0]=n[0],$4[1]=n[1],"line"===V4(h,"layout","symbol-placement",T,f,R)&&"map"===t){const t=e.getStride(),r=e.getFlatCoordinates();for(let e=0,i=r.length-t;e<i;e+=t){const i=r[e],s=r[e+1],o=r[e+t],a=r[e+t+1],l=Math.min(i,o),c=Math.max(i,o),u=n[0],h=(a-s)*(u-i)-(o-i)*(n[1]-s);if(Math.abs(h)<.001&&u<=c&&u>=l){U=Math.atan2(s-a,o-i);break}}}}}}if(2!==C||r){const e=V4(h,"layout","icon-size",T,f,R),n=void 0!==k["icon-color"]?V4(h,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const r=V4(h,"paint","icon-halo-color",T,f,R),s=V4(h,"paint","icon-halo-width",T,f,R);let a=`${L}.${e}.${s}.${r}`;if(null!==n&&(a+=`.${n}`),I=d[a],!I){const l=W4(h,T,"icon",f);let u;"icon-offset"in S&&(u=V4(h,"layout","icon-offset",T,f,R).slice(0),u[0]*=e,u[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:u,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),I=new zJ(n)}else{const o=i[L];let a,h,d;if(s)o.sdf?(a=T4(M4(c.image,o,n||[0,0,0,1]),{x:0,y:0,width:o.width,height:o.height,pixelRatio:o.pixelRatio},s,r),p=void 0):a=T4(c.image,o,s,r);else{if(o.sdf&&!c.unSDFed){const t=M4(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,h=[o.width,o.height],d=[o.x,o.y]}I=new zJ({color:p,img:a,imgSize:c.size,size:h,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:u,declutterMode:l})}d[a]=I}}I&&(++M,x=b[M],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new NJ,b[M]=x),x.setGeometry(r),I.setRotation(U+y4(V4(h,"layout","icon-rotate",T,f,R))),I.setOpacity(V4(h,"paint","icon-opacity",T,f,R)),I.setAnchor(B4[V4(h,"layout","icon-anchor",T,f,R)]),x.setImage(I),B=x.getText(),x.setText(void 0),x.setZIndex(E),j=!0,P=!1)}else P=!0}}}if(1==C&&"circle"===h.type){++M,x=b[M],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new NJ,b[M]=x);const t="circle-radius"in k?V4(h,"paint","circle-radius",T,f,R):5,e=G4(V4(h,"paint","circle-stroke-color",T,f,R),V4(h,"paint","circle-stroke-opacity",T,f,R)),n=V4(h,"paint","circle-translate",T,f,R),r=G4(V4(h,"paint","circle-color",T,f,R),V4(h,"paint","circle-opacity",T,f,R)),i=V4(h,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+r+"."+i+"."+n[0]+"."+n[1];I=d[s],I||(I=new AJ({radius:t,displacement:[n[0],-n[1]],stroke:e&&i>0?new DJ({width:i,color:e}):void 0,fill:r?new OJ({color:r}):void 0,declutterMode:"none"}),d[s]=I),x.setImage(I),B=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(E),j=!0}if("text-field"in S){z=Math.round(V4(h,"layout","text-size",T,f,R));const t=V4(h,"layout","text-font",T,f,R);F=V4(h,"layout","text-line-height",T,f,R),O=Y5(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,z,F),O.includes("sans-serif")||(O+=",sans-serif"),D=V4(h,"layout","text-letter-spacing",T,f,R),N=V4(h,"layout","text-max-width",T,f,R);const n=V4(h,"layout","text-field",T,f,R);A="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((e,n)=>{const r=n.fontStack?n.fontStack.split(","):t,i=Y5(o?o(r):r,z*(n.scale||1),F);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==C)return e.push(I4(s,D),i),e;s=z4(s,i,N,D).split("\n");for(let t=0,o=s.length;t<o;++t)t>0&&e.push("\n",""),e.push(s[t],i);return e},[]):Z4(n,m).trim(),c=V4(h,"paint","text-opacity",T,f,R)}if(A&&c&&!P){j||(++M,x=b[M],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new NJ,b[M]=x),x.setImage(void 0),x.setGeometry(void 0));const t=W4(h,T,"text",f);x.getText()||x.setText(B),B=x.getText(),(!B||"getDeclutterMode"in B&&B.getDeclutterMode()!==t)&&(B=new $J({padding:[2,2,2,2],declutterMode:t}),x.setText(B));const e=V4(h,"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==C?I4(A,D):z4(A,O,N,D);if(B.setText(n),B.setFont(O),B.setRotation(y4(V4(h,"layout","text-rotate",T,f,R))),"function"==typeof B.setKeepUpright){const t=V4(h,"layout","text-keep-upright",T,f,R);B.setKeepUpright(t)}const r=V4(h,"layout","text-anchor",T,f,R),i=j||1==C?"point":V4(h,"layout","symbol-placement",T,f,R);let s;if("line-center"===i?(B.setPlacement("line"),s="center"):B.setPlacement(i),"line"===i&&"function"==typeof B.setRepeat){const t=V4(h,"layout","symbol-spacing",T,f,R);B.setRepeat(2*t)}B.setOverflow("point"===i);let o=V4(h,"paint","text-halo-width",T,f,R);const a=V4(h,"layout","text-offset",T,f,R),l=V4(h,"paint","text-translate",T,f,R);let u=0,d=0;if("point"==i){s="center",-1!==r.indexOf("left")?(s="left",d=o):-1!==r.indexOf("right")&&(s="right",d=-o);const t=V4(h,"layout","text-rotation-alignment",T,f,R);B.setRotateWithView("map"==t)}else B.setMaxAngle(y4(V4(h,"layout","text-max-angle",T,f,R))*A.length/n.length),B.setRotateWithView(!1);B.setTextAlign(s);let p="middle";0==r.indexOf("bottom")?(p="bottom",u=-o-.5*(F-1)*z):0==r.indexOf("top")&&(p="top",u=o+.5*(F-1)*z),B.setTextBaseline(p);const g=V4(h,"layout","text-justify",T,f,R);B.setJustify("auto"===g?void 0:g),B.setOffsetX(a[0]*z+d+l[0]),B.setOffsetY(a[1]*z+u+l[1]),v.setColor(G4(V4(h,"paint","text-color",T,f,R),c)),B.setFill(v);const m=G4(V4(h,"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),B.setStroke(y)}else B.setStroke(void 0);const w=V4(h,"layout","text-padding",T,f,R),_=B.getPadding();w!==_[0]&&(_[0]=w,_[1]=w,_[2]=w,_[3]=w),x.setZIndex(E)}}}return M>-1?(b.length=M+1,b):void 0};return t.setStyle(w),t.set("mapbox-layers",h),t.set("mapbox-source",m),t.set("mapbox-featurestate",t.get("mapbox-featurestate")||{}),w}(t,e,l,i,f,g,(t,e=a.webfonts)=>function(t,e="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){if(PV)return t;let n;for(let r=0,i=t.length;r<i;++r){const e=t[r];if(e in N4)continue;N4[e]=!0;const i=Y5(e,16).split(" ");n||(n=[]),n.push([i.slice(3).join(" ").replace(/"/g,""),i[1],i[0]])}return n?((async()=>{await document.fonts.ready;for(let t=0,r=n.length;t<r;++t){const r=n[t],i=r[0];if(D4.includes(i))continue;const s=r[1],o=r[2];if(!(await document.fonts.load(`${o} ${s} 16px "${i}"`)).some(t=>t.family.replace(/^['"]|['"]$/g,"").toLowerCase()===i.toLowerCase()&&t.weight==s&&t.style===o)){const t=e.replace("{font-family}",i.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",i.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()?h().then(n).catch(r):r(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:a4(t,e,n)}];for(const r of t)r.url=a4(r.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=PV?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 i=e.origin+e.pathname+n+".json"+e.search;return new Promise(function(t,n){C4("Sprite",i,a).then(t).catch(function(){i=e.origin+e.pathname+".json"+e.search,C4("Sprite",i,a).then(t).catch(n)})}).then(function(i){let s;if(void 0===i&&r(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 i){const n="default"==t.id?e:`${t.id}:${e}`;f[n]=i[e]}}).catch(function(t){r(new Error(`Sprites cannot be loaded: ${i}: ${t.message}`))})})).then(m).catch(r)}else m()}).catch(r)})}(t,n,e,Object.assign({styleUrl:r},s)).then(function(){!function(t,e){function n(){const n=e.get("mapbox-style");if(!n)return;const r=f1(n.layers),i=t.get("mapbox-layers"),s=r.filter(function(t){return i.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,i),l()}).catch(c):l()}else c(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const h=i.getLayers();-1===h.getArray().indexOf(t)&&h.push(t),t.getSource()?u():t.once("change:source",u)})}class N8 extends LB{static{dF(this.prototype,"osm",[$f])}#ct=void fF(this,"osm");static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");mapInstance;bookmarkSource;searchResultsSource;selectedShapeSource;searchOverlay;searchOverlayElement;selectedPinOverlay;selectedPinElement;crosshairElement;crosshairOverlay;ignoreNextMapClick=!1;setupMap=UB(t=>{if(this.mapInstance)return;const e=new UZ;this.selectedShapeSource=new q0;const n=new R0({source:this.selectedShapeSource,style:new NJ({stroke:new DJ({color:"#3388ff",width:4}),fill:new OJ({color:"rgba(51, 136, 255, 0.1)"})}),zIndex:5});this.bookmarkSource=new q0;const r=new R0({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],r=this.storage.lists.find(e=>e.id===t);r&&r.color&&(n=r.color)}return[new NJ({image:new AJ({radius:10,fill:new OJ({color:"rgba(0, 0, 0, 0.2)"}),displacement:[0,-2]})}),new NJ({image:new AJ({radius:9,fill:new OJ({color:n}),stroke:new DJ({color:"#fff",width:2})})})]},zIndex:10});this.searchResultsSource=new q0;const i=new Map,s=new R0({source:this.searchResultsSource,style:t=>{const e=t.get("originalPlace"),n=this.mapUi.selectedPlace;if(n){const t=e.osmId&&n.osmId&&e.osmId===n.osmId,r=e.id&&n.id&&e.id===n.id,i=e.lat===n.lat&&e.lon===n.lon;if(t||r||i)return new NJ({})}const r=Gj(e.osmTags||e),s=r||"default";if(!i.has(s)){const t=getComputedStyle(document.documentElement).getPropertyValue("--marker-color-primary").trim()||"#ea4335";let e=`<circle cx="12" cy="12" r="8" fill="${t}"/>`;if(r){const n=qj(r);if(n){let r=n.trim();const i=r.indexOf("<svg"),s=r.indexOf(">",i)+1,o=r.lastIndexOf("</svg>");-1!==i&&-1!==o&&(r=r.substring(s,o)),e=`\n <circle cx="12" cy="12" r="8" fill="${t}"/>\n <g transform="translate(6, 6) scale(0.8)" fill="white">\n ${r}\n </g>\n `}}const n=`\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 -4 32 40" width="40" height="50">\n <defs>\n <filter id="shadow" x="-50%" y="-50%" width="200%" height="200%">\n <feDropShadow dx="0" dy="2" stdDeviation="1.5" flood-color="black" flood-opacity="0.3"/>\n </filter>\n </defs>\n <path d="M12 2C6.5 2 2 6.5 2 12C2 17.5 12 24 12 24C12 24 22 17.5 22 12C22 6.5 17.5 2 12 2Z" fill="white" filter="url(#shadow)"/>\n ${e}\n </svg>\n `;i.set(s,"data:image/svg+xml;charset=utf-8,"+encodeURIComponent(n.trim()))}return new NJ({image:new zJ({src:i.get(s),anchor:[.5,.65],scale:1})})},zIndex:11});let o=[14.21683569,27.060114248],a=2.661,l=!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&&(o=e.center,a=e.zoom,l=!0)}}catch(ej){console.warn("Failed to restore map view:",ej)}const c=new _K({center:tG(o),zoom:a,projection:"EPSG:3857"});this.mapInstance=new wQ({target:t,layers:[e,n,s,r],view:c,controls:GK({zoom:!0,rotate:!0,attribution:!0}),interactions:EZ({dragPan:!1})});const u=eG(c.getCenter());this.mapUi.updateCenter(u[1],u[0]),function(t,e,n={}){let r,i;if(PV){if(!(t instanceof wQ||t instanceof UZ))throw new Error("ol-mapbox-style in a web worker requires a Map or a LayerGroup as first argument");i=t}else i="string"==typeof t||t instanceof HTMLElement?new wQ({target:t}):t;{const t=e.startsWith("data:")?location.href:l4(e,n.accessToken);n=M8(t,n),r=new Promise(function(r,s){S4(e,n).then(function(e){(function(t,e,n,r){const i=[];let s=null;if(e instanceof wQ){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=r.projection?YH(r.projection):s.getProjection();s=new _K(Object.assign(s.getProperties(),{maxResolution:v4[0]/eH[t.getUnits()],projection:r.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(tG(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(v4[0]/eH[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:r});const o=t.layers;let a,l,c,u=[];for(let h=0,d=o.length;h<d;++h){const s=o[h],d=s.type;"heatmap"!=d?(c=s.source||L8(o,s.ref),c&&c==l||(u.length&&(i.push(D8(a,u,t,n,e,r)),u=[]),a=z8(t,n,s,r),a instanceof R0||a instanceof G6||(u=[]),l=a.get("mapbox-source")),u.push(s.id)):console.debug(`layers[${h}].type "${d}" not supported`)}return i.push(D8(a,u,t,n,e,r)),Promise.all(i)})(e,i,t,n).then(function(){r(i)}).catch(s)}).catch(function(t){s(new Error(`Could not load ${e}: ${t.message}`))})})}}(this.mapInstance,"https://tiles.openfreemap.org/styles/liberty",{webfonts:"data:text/css,"}),this.searchOverlayElement=document.createElement("div"),this.searchOverlayElement.className="search-pulse",this.searchOverlay=new EQ({element:this.searchOverlayElement,positioning:"center-center",stopEvent:!1}),this.mapInstance.addOverlay(this.searchOverlay),this.selectedPinElement=document.createElement("div"),this.selectedPinElement.className="selected-pin-container";const h=document.createElement("div");h.className="selected-pin",h.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3" style="fill: var(--marker-color-dark); stroke: none;"></circle></svg>';const d=document.createElement("div");d.className="selected-pin-shadow",this.selectedPinElement.appendChild(h),this.selectedPinElement.appendChild(d),this.selectedPinOverlay=new EQ({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 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <line x1="12" y1="5" x2="12" y2="19"></line>\n <line x1="5" y1="12" x2="19" y2="12"></line>\n </svg>\n ',t.appendChild(this.crosshairElement),this.locationOverlayElement=document.createElement("div"),this.locationOverlayElement.className="search-pulse blue",this.locationOverlay=new EQ({element:this.locationOverlayElement,positioning:"center-center",stopEvent:!1}),this.mapInstance.addOverlay(this.locationOverlay),t.addEventListener("pointerdown",()=>{this.mapUi.searchBoxHasFocus&&(this.ignoreNextMapClick=!0)},!0);const p=new h1({trackingOptions:{enableHighAccuracy:!0},projection:c.getProjection()}),f=new TQ;f.setStyle(new NJ({image:new AJ({radius:6,fill:new OJ({color:"#3399CC"}),stroke:new DJ({color:"#fff",width:2})})}));const g=new q0({features:[f]}),m=new R0({source:g,zIndex:15});p.on("change:position",function(){const t=p.getPosition();f.setGeometry(t?new XG(t):null)});const y=document.createElement("div");y.className="ol-control ol-locate";const v=document.createElement("button");let b,w;v.style.display="flex",v.style.alignItems="center",v.style.justifyContent="center",v.innerHTML=`<span class="icon" style="width: 14px; height: 14px; display: flex;">${qj("navigation")}</span>`,v.title="Locate Me",y.appendChild(v);const _=()=>{b&&(clearTimeout(b),b=null);try{w&&(p.un("change:position",x),w=null)}catch{}this.locationOverlayElement&&this.locationOverlayElement.classList.remove("active")},x=()=>{const t=p.getPosition(),e=p.getAccuracyGeometry(),n=p.getAccuracy();if(console.debug("Geolocation change:",{coordinates:t,accuracy:n}),!t)return;const r=this.mapInstance.getSize(),i=this.mapInstance.getView();let s=null;if(this.locationOverlayElement){const e=i.getResolution(),r=2*(n||50)/XH(i.getProjection(),e,t);this.locationOverlayElement.style.width=`${r}px`,this.locationOverlayElement.style.height=`${r}px`,this.locationOverlay.setPosition(t)}if(n&&n<=20&&_(),e){const t=e.getExtent();s=3.162*i.getResolutionForExtent(t,r)}else n&&(s=6.325*n/Math.min(r[0],r[1])/XH(i.getProjection(),1,t));let o={center:t,duration:1e3};if(s){const t=i.getResolutionForZoom(17);o.resolution=Math.max(s,t)}else o.zoom=16;this.mapInstance.getView().animate(o)},C=()=>{console.debug("Getting current geolocation..."),_(),p.setTracking(!0);const t=p.getPosition();this.locationOverlayElement&&this.locationOverlayElement.classList.add("active"),t&&x(),w=p.on("change:position",x),b=setTimeout(()=>{_()},1e4)};v.addEventListener("click",C);const S=new qK({element:y});this.mapInstance.addLayer(m),this.mapInstance.addControl(S),l||"index"!==this.router.currentRouteName||C(),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=UB(()=>{if(!this.mapInstance)return;this.mapInstance.getInteractions().getArray().slice().forEach(t=>{t instanceof hZ&&this.mapInstance.removeInteraction(t)});const t=!!this.settings.mapKinetic&&new KK(-.005,.05,100);this.settings.mapKinetic&&window.innerWidth<=768&&(t.minVelocity_=.25),this.mapInstance.addInteraction(new hZ({kinetic:t}))});updateSearchResults=UB(()=>{if(!this.searchResultsSource)return;this.searchResultsSource.clear();const t=this.mapUi.searchResults;if(!t||0===t.length)return;const e=[];t.forEach(t=>{if(t.lat&&t.lon){const n=new TQ({geometry:new XG(tG([t.lon,t.lat])),name:t.title,id:t.id,isSearchResult:!0,originalPlace:t});e.push(n)}}),e.length>0&&this.searchResultsSource.addFeatures(e)});updateSelectedPin=UB(()=>{const t=this.mapUi.selectedPlace,e=this.mapUi.selectionOptions||{};if(this.searchResultsSource&&this.searchResultsSource.changed(),this.selectedPinOverlay&&this.selectedPinElement)if(this.selectedShapeSource&&this.selectedShapeSource.clear(),t&&t.lat&&t.lon){const n=tG([t.lon,t.lat]);if(this.selectedPinOverlay.setPosition(n),this.selectedPinElement.classList.remove("active"),this.selectedPinElement.offsetWidth,this.selectedPinElement.classList.add("active"),t.geojson&&this.selectedShapeSource)try{const e=(new X0).readFeature(t.geojson,{featureProjection:"EPSG:3857"});this.selectedShapeSource.addFeature(e)}catch(ej){console.warn("Failed to render selected place shape:",ej)}e.preventZoom?this.handlePinVisibility(n,{maintainZoom:!0}):t.bbox?this.zoomToBbox(t.bbox):this.handlePinVisibility(n)}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(),r=[...tG([t.minLon,t.minLat]),...tG([t.maxLon,t.maxLat])];let i=[.15*n[1],.15*n[0],.15*n[1],.15*n[0]];if(n[0]<=768){const t=.5*n[1],e=.15*t,r=.5*n[1]+.15*t;i[0]=e,i[2]=r}else if(this.args.isSidebarOpen){const t=getComputedStyle(document.documentElement).getPropertyValue("--sidebar-width").trim(),e=parseInt(t,10)||360,r=n[0]-e;i[3]=e+.15*r,i[1]=.15*r}const s=e.getZoom();e.fit(r,{padding:i,duration:1e3,easing:t=>t*(2-t),maxZoom:Math.max(s,18)})}handlePinVisibility(t,e={}){if(!this.mapInstance)return;const n=this.mapInstance.getView().getZoom();if(!e.maintainZoom&&n<16)return void this.animateToSmartCenter(t,16);const r=this.mapInstance.getPixelFromCoordinate(t),i=this.mapInstance.getSize();if(!r||r[0]<0||r[0]>i[0]||r[1]<0||r[1]>i[1]){const n=e.maintainZoom?null:16;this.animateToSmartCenter(t,n)}else this.panIfObscured(t)}animateToSmartCenter(t,e=null){if(!this.mapInstance)return;const n=this.mapInstance.getSize(),r=this.mapInstance.getView();let i=r.getResolution();null!==e&&(i=r.getResolutionForZoom(e));let s=t;if(n[0]<=768){const e=.25*n[1]*i;s=[t[0],t[1]-e]}else if(this.args.isSidebarOpen){const e=getComputedStyle(document.documentElement).getPropertyValue("--sidebar-width").trim(),n=(parseInt(e,10)||360)/2*i;s=[t[0]-n,t[1]]}const o={center:s,duration:1e3,easing:t=>t*(2-t)};null!==e&&(o.zoom=e),r.animate(o)}panIfObscured(t){if(!this.mapInstance)return;const e=this.mapInstance.getSize(),n=this.mapInstance.getPixelFromCoordinate(t);if(!n)return;const r=this.mapInstance.getView(),i=r.getCenter(),s=r.getResolution();let o=n[0],a=n[1],l=!1;if(e[0]<=768){const t=e[1],r=t/2;n[1]>r&&(a=.25*t,l=!0)}else if(this.args.isSidebarOpen){const t=getComputedStyle(document.documentElement).getPropertyValue("--sidebar-width").trim(),r=parseInt(t,10)||360;n[0]<r&&(o=r+(e[0]-r)/2,l=!0)}if(a<80&&(a=110,l=!0),l){const t=n[0]-o,e=n[1]-a,l=i[0]+t*s,c=i[1]-e*s;r.animate({center:[l,c],duration:500,easing:t=>t*(2-t)})}}updateBookmarks=UB(()=>{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 TQ({geometry:new XG(tG([t.lon,t.lat])),name:t.title,id:t.id,isBookmark:!0,originalPlace:t});this.bookmarkSource.addFeature(e)}})}catch(ej){console.error("Failed to load bookmarks:",ej)}}syncPulse=UB(()=>{this.searchOverlayElement&&(this.mapUi.isSearching?this.searchOverlayElement.classList.add("active"):this.searchOverlayElement.classList.remove("active"))});syncCreationMode=UB(()=>{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=tG([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(),r=n.left+n.width/2-e.left,i=n.top+n.height/2-e.top,s=this.mapInstance.getSize(),o=r-s[0]/2,a=i-s[1]/2,l=this.mapInstance.getView(),c=l.getResolution(),u=o*c,h=-a*c,d=t[0]-u,p=t[1]-h,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||this.isDestroying||this.isDestroyed)return;const t=eG(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,r=e.top+e.height/2-t.top,i=eG(this.mapInstance.getCoordinateFromPixel([n,r])),s=parseFloat(i[1].toFixed(6)),o=parseFloat(i[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),[r,i]=eG([n[0],n[1]]),[s,o]=eG([n[2],n[3]]),a={minLat:i,minLon:r,maxLat:o,maxLon:s};this.mapUi.updateBounds(a),await this.storage.loadPlacesInBounds(a),this.nostrData.loadPlacesInBounds(a),this.loadBookmarks(this.storage.placesInView);try{const t=this.mapInstance.getView(),e={center:eG(t.getCenter()),zoom:t.getZoom()};localStorage.setItem("marco:map-view",JSON.stringify(e))}catch(ej){console.warn("Failed to save map view:",ej)}};handleMapClick=async t=>{if(this.ignoreNextMapClick)return void(this.ignoreNextMapClick=!1);const e=this.mapInstance.getFeaturesAtPixel(t.pixel,{hitTolerance:10});let n=null,r=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")),s=e.find(t=>t.get("isSearchResult"));t?n=t.get("originalPlace"):s&&(r=s.get("originalPlace"));const o=e[0].getProperties();o.name&&(i=o.name)}const s=t=>{("search"===this.router.currentRouteName||this.mapUi.currentSearch&&this.mapUi.searchResults.length>0)&&(this.mapUi.returnToSearch=!0),this.mapUi.preventNextZoom=!0,this.router.transitionTo("place",t)};if(this.args.isSidebarOpen){const t=n||r;return t?(console.debug("Clicked feature while sidebar open (switching):",t),void s(t)):void(this.args.onOutsideClick&&this.args.onOutsideClick())}if(n)return console.debug("Clicked bookmark:",n),void s(n);if(r)return console.debug("Clicked search result:",r),void s(r);if(this.mapInstance.getView().getZoom()<16)return;const o=eG(t.coordinate),[a,l]=o,c=i?30:50;if(this.searchOverlayElement){const e=this.mapInstance.getView(),n=2*c/XH(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 u={lat:l.toFixed(6),lon:a.toFixed(6),q:null,category:null,selected:i||null};this.router.transitionTo("search",{queryParams:u})};static{Xr(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,["updateSearchResults"]],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 j8 extends LB{static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"osmAuth",[$f])}#Gt=void fF(this,"osmAuth");static{dF(this.prototype,"nostrAuth",[$f])}#M=void fF(this,"nostrAuth");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"isNostrConnectModalOpen",[Is],function(){return!1})}#qt=void fF(this,"isNostrConnectModalOpen");connectRS(){this.args.onClose(),this.args.storage.showConnectWidget()}static{pF(this.prototype,"connectRS",[Pu])}disconnectRS(){this.args.storage.disconnect()}static{pF(this.prototype,"disconnectRS",[Pu])}connectOsm(){this.args.onClose(),this.osmAuth.login()}static{pF(this.prototype,"connectOsm",[Pu])}disconnectOsm(){this.osmAuth.logout()}static{pF(this.prototype,"disconnectOsm",[Pu])}openNostrConnectModal(){this.isNostrConnectModalOpen=!0}static{pF(this.prototype,"openNostrConnectModal",[Pu])}closeNostrConnectModal(){this.isNostrConnectModalOpen=!1}static{pF(this.prototype,"closeNostrConnectModal",[Pu])}disconnectNostr(){this.nostrAuth.disconnect()}static{pF(this.prototype,"disconnectNostr",[Pu])}static{Xr(em({id:null,block:'[[[10,0],[14,0,"user-menu-popover"],[12],[1,"\\n "],[10,"ul"],[14,0,"account-list"],[12],[1,"\\n "],[10,"li"],[14,0,"account-item"],[12],[1,"\\n "],[10,0],[14,0,"account-header"],[12],[1,"\\n "],[10,0],[14,0,"account-info"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["remotestorage",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 "],[10,0],[14,0,"account-status"],[12],[1,"\\n"],[41,[30,1,["connected"]],[[[1," "],[10,"strong"],[12],[1,[30,1,["userAddress"]]],[13],[1,"\\n"]],[]],[[[1," Not connected\\n"]],[]]],[1," "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"li"],[14,0,"account-item"],[12],[1,"\\n "],[10,0],[14,0,"account-header"],[12],[1,"\\n "],[10,0],[14,0,"account-info"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["map",18]],null],[1,"\\n "],[10,1],[12],[1,"OpenStreetMap"],[13],[1,"\\n "],[13],[1,"\\n"],[41,[30,0,["osmAuth","isConnected"]],[[[1," "],[11,"button"],[24,0,"btn-text text-danger"],[24,4,"button"],[4,[32,1],["click",[30,0,["disconnectOsm"]]],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,["connectOsm"]]],null],[12],[1,"Connect"],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n "],[10,0],[14,0,"account-status"],[12],[1,"\\n"],[41,[30,0,["osmAuth","isConnected"]],[[[1," "],[10,"strong"],[12],[1,[30,0,["osmAuth","userDisplayName"]]],[13],[1,"\\n"]],[]],[[[1," Not connected\\n"]],[]]],[1," "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,"li"],[14,0,"account-item"],[12],[1,"\\n "],[10,0],[14,0,"account-header"],[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"],[41,[30,0,["nostrAuth","isConnected"]],[[[1," "],[11,"button"],[24,0,"btn-text text-danger"],[24,4,"button"],[4,[32,1],["click",[30,0,["disconnectNostr"]]],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,["openNostrConnectModal"]]],null],[12],[1,"Connect"],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n "],[10,0],[14,0,"account-status"],[12],[1,"\\n"],[41,[30,0,["nostrAuth","isConnected"]],[[[1," "],[10,"strong"],[15,"title",[30,0,["nostrAuth","pubkey"]]],[12],[1,"\\n "],[1,[30,0,["nostrData","userDisplayName"]]],[1,"\\n "],[13],[1,"\\n"]],[]],[[[1," Not connected\\n"]],[]]],[1," "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13],[1,"\\n\\n"],[41,[30,0,["isNostrConnectModalOpen"]],[[[1," "],[8,[32,2],null,[["@onClose"],[[30,0,["closeNostrConnectModal"]]]],[["default"],[[[[1,"\\n "],[8,[32,3],null,[["@onConnect"],[[30,0,["closeNostrConnectModal"]]]],null],[1,"\\n "]],[]]]]],[1,"\\n"]],[]],null]],["@storage"],["if"]]',moduleName:"/home/basti/src/marco/app/components/user-menu.gjs",scope:()=>[DB,Sb,Eq,kq],isStrictMode:!0}),this)}}du.Promise;class B8 extends MU{_deferable(){return KU.defer()}}class U8 extends B8{constructor(t){super(),this.ms=t}onYield(t){let e=_a(()=>t.next(),this.ms);return()=>ka(e)}}class $8 extends LB{static{dF(this.prototype,"photon",[$f])}#Ht=void fF(this,"photon");static{dF(this.prototype,"osm",[$f])}#ct=void fF(this,"osm");static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");static{dF(this.prototype,"map",[$f])}#Kt=void fF(this,"map");static{dF(this.prototype,"_internalQuery",[Is],function(){return""})}#Zt=void fF(this,"_internalQuery");static{dF(this.prototype,"results",[Is],function(){return[]})}#Yt=void fF(this,"results");static{dF(this.prototype,"isFocused",[Is],function(){return!1})}#Xt=void fF(this,"isFocused");static{dF(this.prototype,"isLoading",[Is],function(){return!1})}#Jt=void fF(this,"isLoading");get query(){return this.args.query??this._internalQuery}set query(t){this._internalQuery=t}get showPopover(){return this.isFocused&&this.results.length>0}handleInput(t){const e=t.target.value;this.query=e,this.args.onQueryChange&&this.args.onQueryChange(e),e.length<2?this.results=[]:this.searchTask.perform(e)}static{pF(this.prototype,"handleInput",[Pu])}searchTask=i$(()=>({context:this,generator:function*(t){yield new U8(300);const e="string"==typeof t?t:this.query;if(!(e.length<2)){this.isLoading=!0;try{let t,n;this.mapUi.currentCenter&&({lat:t,lon:n}=this.mapUi.currentCenter);const r=e.toLowerCase(),i=PN.filter(t=>t.label.toLowerCase().includes(r)).map(t=>({source:"category",title:t.label,id:t.id,icon:"search"})),s=yield this.photon.search(e,t,n);this.results=[...i,...s]}catch(ej){console.error("Search failed",ej),this.results=[]}finally{this.isLoading=!1}}}}),{restartable:!0},"searchTask");handleFocus(){this.isFocused=!0,this.mapUi.setSearchBoxFocus(!0),this.query.length>=2&&0===this.results.length&&this.searchTask.perform()}static{pF(this.prototype,"handleFocus",[Pu])}handleBlur(){setTimeout(()=>{this.isFocused=!1,this.mapUi.setSearchBoxFocus(!1)},300)}static{pF(this.prototype,"handleBlur",[Pu])}handleSubmit(t){if(t.preventDefault(),!this.query)return;let e={q:this.query,selected:null,category: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{pF(this.prototype,"handleSubmit",[Pu])}selectResult(t){if("category"===t.source){this.query=t.title,this.args.onQueryChange&&this.args.onQueryChange(t.title),this.results=[];let e=null,n=null;return this.mapUi.currentCenter&&(({lat:e,lon:n}=this.mapUi.currentCenter),e=e?.toString(),n=n?.toString()),void this.router.transitionTo("search",{queryParams:{q:t.title,category:t.id,selected:null,lat:e,lon:n}})}if(this.query=t.title,this.args.onQueryChange&&this.args.onQueryChange(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,category:null}})}static{pF(this.prototype,"selectResult",[Pu])}clear(){this.searchTask.cancelAll(),this.mapUi.stopLoading(),this.osm.cancelAll(),this.photon.cancelAll(),this.query="",this.results=[],this.args.onQueryChange&&this.args.onQueryChange(""),this.router.transitionTo("index")}static{pF(this.prototype,"clear",[Pu])}static{Xr(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"],[41,[28,[32,2],[[28,[32,3],[[30,0,["mapUi","loadingState","type"]],"text"],null],[28,[32,3],[[30,0,["mapUi","loadingState","type"]],"category"],null]],null],[[[1," "],[8,[32,1],null,[["@name","@size"],["loading-ring",20]],null],[1,"\\n"]],[]],[[[1," "],[8,[32,1],null,[["@name","@size","@color"],["search",20,"#5f6368"]],null],[1,"\\n"]],[]]],[1," "],[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,4],[[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"],[[52,[30,2,["icon"]],[30,2,["icon"]],"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,5],[[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:()=>[Sb,DB,FB,zB,AB,Lq],isStrictMode:!0}),this)}}class q8 extends LB{static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");get categories(){return PN}searchCategory(t){this.args.onSelect&&this.args.onSelect(t);let e={category:t.id,q: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})}static{pF(this.prototype,"searchCategory",[Pu])}static{Xr(em({id:null,block:'[[[10,0],[14,0,"category-chips-scroll"],[12],[1,"\\n "],[10,0],[14,0,"category-chips-container"],[12],[1,"\\n"],[42,[28,[31,1],[[28,[31,1],[[30,0,["categories"]]],null]],null],null,[[[1," "],[11,"button"],[24,0,"category-chip"],[16,"aria-label",[30,1,["label"]]],[16,"disabled",[28,[32,0],[[28,[32,1],[[30,0,["mapUi","loadingState","type"]],"category"],null],[28,[32,1],[[30,0,["mapUi","loadingState","value"]],[30,1,["id"]]],null]],null]],[24,4,"button"],[4,[32,2],["click",[28,[32,3],[[30,0,["searchCategory"]],[30,1]],null]],null],[12],[1,"\\n "],[8,[32,4],null,[["@name","@size"],[[30,1,["icon"]],16]],null],[1,"\\n "],[10,1],[12],[1,[30,1,["label"]]],[13],[1,"\\n "],[13],[1,"\\n"]],[1]],null],[1," "],[13],[1,"\\n"],[13]],["category"],["each","-track-array"]]',moduleName:"/home/basti/src/marco/app/components/category-chips.gjs",scope:()=>[a$,zB,Sb,AB,DB],isStrictMode:!0}),this)}}const V8=UB((t,[e])=>{let n=null;return async function(){if(e)try{const r=await caches.open("nostr-image-cache-v1"),i=await r.match(e);if(i){const e=await i.blob();return n=URL.createObjectURL(e),void(t.src=n)}const s=await fetch(e,{mode:"cors",credentials:"omit"});if(s.ok){const i=s.clone();await r.put(e,i);const o=await s.blob();n=URL.createObjectURL(o),t.src=n}else t.src=e}catch(v5){console.warn(`Failed to cache image ${e}, falling back to standard src`,v5),t.src=e}else t.src=""}(),()=>{n&&(URL.revokeObjectURL(n),n=null)}});class W8 extends LB{static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");static{dF(this.prototype,"nostrAuth",[$f])}#M=void fF(this,"nostrAuth");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"isUserMenuOpen",[Is],function(){return!1})}#Qt=void fF(this,"isUserMenuOpen");static{dF(this.prototype,"searchQuery",[Is],function(){return""})}#te=void fF(this,"searchQuery");get hasQuery(){return!!this.searchQuery}toggleUserMenu(){this.isUserMenuOpen=!this.isUserMenuOpen}static{pF(this.prototype,"toggleUserMenu",[Pu])}closeUserMenu(){this.isUserMenuOpen=!1}static{pF(this.prototype,"closeUserMenu",[Pu])}handleQueryChange(t){this.searchQuery=t}static{pF(this.prototype,"handleQueryChange",[Pu])}handleChipSelect(t){this.searchQuery=t.label}static{pF(this.prototype,"handleChipSelect",[Pu])}static{Xr(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,[["@query","@onToggleMenu","@onQueryChange"],[[30,0,["searchQuery"]],[30,1],[30,0,["handleQueryChange"]]]],null],[1,"\\n "],[13],[1,"\\n\\n"],[41,[30,0,["settings","showQuickSearchButtons"]],[[[1," "],[10,0],[15,0,[29,["header-center ",[52,[30,0,["hasQuery"]],"searching"]]]],[12],[1,"\\n "],[8,[32,1],null,[["@onSelect"],[[30,0,["handleChipSelect"]]]],null],[1,"\\n "],[13],[1,"\\n"]],[]],null],[1,"\\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,2],["click",[30,0,["toggleUserMenu"]]],null],[12],[1,"\\n"],[41,[28,[32,3],[[30,0,["nostrAuth","isConnected"]],[30,0,["nostrData","profile","picture"]]],null],[[[1," "],[11,"img"],[24,0,"user-avatar"],[24,"alt","User Avatar"],[4,[32,4],[[30,0,["nostrData","profile","picture"]]],null],[12],[13],[1,"\\n"]],[]],[[[1," "],[10,0],[14,0,"user-avatar-placeholder"],[12],[1,"\\n "],[8,[32,5],null,[["@name","@size","@color"],["user",20,"white"]],null],[1,"\\n "],[13],[1,"\\n"]],[]]],[1," "],[13],[1,"\\n\\n"],[41,[30,0,["isUserMenuOpen"]],[[[1," "],[8,[32,6],null,[["@storage","@onClose"],[[30,0,["storage"]],[30,0,["closeUserMenu"]]]],null],[1,"\\n "],[11,0],[24,0,"menu-backdrop"],[24,"role","button"],[4,[32,2],["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:()=>[$8,q8,Sb,a$,V8,DB,j8],isStrictMode:!0}),this)}}const H8=Ny,G8=Xr(em({id:null,block:'[[[10,0],[14,0,"sidebar-header"],[12],[1,"\\n "],[10,"h2"],[12],[1,"\\n "],[10,1],[14,0,"app-logo-icon"],[12],[1,"\\n "],[1,[28,[32,0],[[32,1]],null]],[1,"\\n "],[13],[1,"\\n Marco\\n "],[13],[1,"\\n "],[11,"button"],[24,0,"close-btn"],[24,4,"button"],[4,[32,2],["click",[30,1]],null],[12],[1,"\\n "],[8,[32,3],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,"ul"],[14,0,"app-menu"],[12],[1,"\\n "],[10,"li"],[12],[1,"\\n "],[11,"button"],[24,4,"button"],[4,[32,2],["click",[28,[32,4],[[30,2],"settings"],null]],null],[12],[1,"\\n "],[8,[32,3],null,[["@name","@size"],["settings",20]],null],[1,"\\n "],[10,1],[12],[1,"Settings"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"li"],[12],[1,"\\n "],[11,"button"],[24,4,"button"],[4,[32,2],["click",[28,[32,4],[[30,2],"about"],null]],null],[12],[1,"\\n "],[8,[32,3],null,[["@name","@size"],["info",20]],null],[1,"\\n "],[10,1],[12],[1,"About"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@onClose","@onNavigate"],[]]',moduleName:"/home/basti/src/marco/app/components/app-menu/home.gjs",scope:()=>[zw,'<svg\n width="1024"\n height="1024"\n viewBox="0 0 1024 1024"\n xmlns="http://www.w3.org/2000/svg"\n>\n \x3c!-- Background --\x3e\n <rect\n x="0"\n y="0"\n width="1024"\n height="1024"\n rx="220"\n fill="#F6E9A6"\n />\n\n \x3c!-- Subtle map grid (kept well outside safe zone) --\x3e\n <g stroke="#E6D88A" stroke-width="10" opacity="0.6">\n <line x1="256" y1="0" x2="256" y2="1024" />\n <line x1="512" y1="0" x2="512" y2="1024" />\n <line x1="768" y1="0" x2="768" y2="1024" />\n\n <line x1="0" y1="256" x2="1024" y2="256" />\n <line x1="0" y1="512" x2="1024" y2="512" />\n <line x1="0" y1="768" x2="1024" y2="768" />\n </g>\n\n \x3c!-- Location pin (exact app shape, larger, centered, safe-zone compliant) --\x3e\n \x3c!-- Safe zone target: ~680px diameter --\x3e\n <g\n transform="\n translate(512 512)\n scale(22)\n translate(-12 -12)\n "\n fill="#ea4335"\n stroke="#b31412"\n stroke-width="1"\n stroke-linecap="round"\n stroke-linejoin="round"\n >\n <path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z" />\n <circle cx="12" cy="10" r="3" fill="#b31412" stroke="none" />\n </g>\n</svg>\n',Sb,DB,AB],isStrictMode:!0}),H8());class K8 extends LB{static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");static{Xr(em({id:null,block:'[[[10,"details"],[12],[1,"\\n "],[10,"summary"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["map",20]],null],[1,"\\n "],[10,1],[12],[1,"Map & UI"],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"details-content"],[12],[1,"\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","show-quick-search"],[12],[1,"Quick search buttons visible"],[13],[1,"\\n "],[11,"select"],[24,1,"show-quick-search"],[24,0,"form-control"],[4,[32,1],["change",[28,[32,2],[[30,1],"showQuickSearchButtons"],null]],null],[12],[1,"\\n "],[10,"option"],[14,2,"true"],[15,"selected",[52,[30,0,["settings","showQuickSearchButtons"]],"selected"]],[12],[1,"\\n Yes\\n "],[13],[1,"\\n "],[10,"option"],[14,2,"false"],[15,"selected",[52,[51,[30,0,["settings","showQuickSearchButtons"]]],"selected"]],[12],[1,"\\n No\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[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,1],["change",[28,[32,2],[[30,1],"mapKinetic"],null]],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 "],[13],[1,"\\n"],[13]],["@onChange"],["if","unless"]]',moduleName:"/home/basti/src/marco/app/components/app-menu/settings/map-ui.gjs",scope:()=>[DB,Sb,AB],isStrictMode:!0}),this)}}class Z8 extends LB{static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");static{Xr(em({id:null,block:'[[[10,"details"],[12],[1,"\\n "],[10,"summary"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["server",20]],null],[1,"\\n "],[10,1],[12],[1,"API Providers"],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"details-content"],[12],[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,1],["change",[28,[32,2],[[30,1],"overpassApi"],null]],null],[12],[1,"\\n"],[42,[28,[31,1],[[28,[31,1],[[30,0,["settings","overpassApis"]]],null]],null],null,[[[1," "],[10,"option"],[15,2,[30,2,["url"]]],[15,"selected",[52,[28,[32,3],[[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 "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","photon-api"],[12],[1,"Photon API Provider"],[13],[1,"\\n "],[11,"select"],[24,1,"photon-api"],[24,0,"form-control"],[4,[32,1],["change",[28,[32,2],[[30,1],"photonApi"],null]],null],[12],[1,"\\n"],[42,[28,[31,1],[[28,[31,1],[[30,0,["settings","photonApis"]]],null]],null],null,[[[1," "],[10,"option"],[15,2,[30,3,["url"]]],[15,"selected",[52,[28,[32,3],[[30,3,["url"]],[30,0,["settings","photonApi"]]],null],"selected"]],[12],[1,"\\n "],[1,[30,3,["name"]]],[1,"\\n "],[13],[1,"\\n"]],[3]],null],[1," "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@onChange","api","api"],["each","-track-array","if"]]',moduleName:"/home/basti/src/marco/app/components/app-menu/settings/apis.gjs",scope:()=>[DB,Sb,AB,zB],isStrictMode:!0}),this)}}const Y8=t=>t?t.replace(/^wss?:\/\//,""):"";class X8 extends LB{static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");static{dF(this.prototype,"nostrData",[$f])}#L=void fF(this,"nostrData");static{dF(this.prototype,"toast",[$f])}#Mt=void fF(this,"toast");static{dF(this.prototype,"newReadRelay",[Is],function(){return""})}#ee=void fF(this,"newReadRelay");static{dF(this.prototype,"newWriteRelay",[Is],function(){return""})}#ne=void fF(this,"newWriteRelay");updateNewReadRelay(t){this.newReadRelay=t.target.value}static{pF(this.prototype,"updateNewReadRelay",[Pu])}updateNewWriteRelay(t){this.newWriteRelay=t.target.value}static{pF(this.prototype,"updateNewWriteRelay",[Pu])}addReadRelay(){const t=AD(this.newReadRelay);if(!t)return;const e=this.settings.nostrReadRelays||this.nostrData.defaultReadRelays,n=new Set([...e,t]);this.settings.update("nostrReadRelays",Array.from(n)),this.newReadRelay=""}static{pF(this.prototype,"addReadRelay",[Pu])}removeReadRelay(t){const e=(this.settings.nostrReadRelays||this.nostrData.defaultReadRelays).filter(e=>e!==t);this.settings.update("nostrReadRelays",e)}static{pF(this.prototype,"removeReadRelay",[Pu])}handleReadRelayKeydown(t){"Enter"===t.key&&this.addReadRelay()}static{pF(this.prototype,"handleReadRelayKeydown",[Pu])}handleWriteRelayKeydown(t){"Enter"===t.key&&this.addWriteRelay()}static{pF(this.prototype,"handleWriteRelayKeydown",[Pu])}resetReadRelays(){this.settings.update("nostrReadRelays",null)}static{pF(this.prototype,"resetReadRelays",[Pu])}addWriteRelay(){const t=AD(this.newWriteRelay);if(!t)return;const e=this.settings.nostrWriteRelays||this.nostrData.defaultWriteRelays,n=new Set([...e,t]);this.settings.update("nostrWriteRelays",Array.from(n)),this.newWriteRelay=""}static{pF(this.prototype,"addWriteRelay",[Pu])}removeWriteRelay(t){const e=(this.settings.nostrWriteRelays||this.nostrData.defaultWriteRelays).filter(e=>e!==t);this.settings.update("nostrWriteRelays",e)}static{pF(this.prototype,"removeWriteRelay",[Pu])}resetWriteRelays(){this.settings.update("nostrWriteRelays",null)}static{pF(this.prototype,"resetWriteRelays",[Pu])}async clearCache(){try{await this.nostrData.clearCache(),this.toast.show("Nostr cache cleared")}catch(ej){this.toast.show(`Failed to clear Nostr cache: ${ej.message}`)}}static{pF(this.prototype,"clearCache",[Pu])}static{Xr(em({id:null,block:'[[[10,"details"],[12],[1,"\\n "],[10,"summary"],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size"],["zap",20]],null],[1,"\\n "],[10,1],[12],[1,"Nostr"],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"details-content"],[12],[1,"\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","nostr-photo-fallback-uploads"],[12],[1,"Upload photos to fallback\\n servers"],[13],[1,"\\n "],[11,"select"],[24,1,"nostr-photo-fallback-uploads"],[24,0,"form-control"],[4,[32,1],["change",[28,[32,2],[[30,1],"nostrPhotoFallbackUploads"],null]],null],[12],[1,"\\n "],[10,"option"],[14,2,"true"],[15,"selected",[52,[30,0,["settings","nostrPhotoFallbackUploads"]],"selected"]],[12],[1,"\\n Yes\\n "],[13],[1,"\\n "],[10,"option"],[14,2,"false"],[15,"selected",[52,[51,[30,0,["settings","nostrPhotoFallbackUploads"]]],"selected"]],[12],[1,"\\n No\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","new-read-relay"],[12],[1,"Read Relays"],[13],[1,"\\n "],[10,"ul"],[14,0,"relay-list"],[12],[1,"\\n"],[42,[28,[31,3],[[28,[31,3],[[30,0,["nostrData","activeReadRelays"]]],null]],null],null,[[[1," "],[10,"li"],[12],[1,"\\n "],[10,1],[12],[1,[28,[32,3],[[30,2]],null]],[13],[1,"\\n "],[11,"button"],[24,0,"btn-remove-relay"],[24,"title","Remove relay"],[24,"aria-label","Remove"],[24,4,"button"],[4,[32,1],["click",[28,[32,2],[[30,0,["removeReadRelay"]],[30,2]],null]],null],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size","@color"],["x",14,"currentColor"]],null],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[2]],null],[1," "],[13],[1,"\\n "],[10,0],[14,0,"add-relay-input"],[12],[1,"\\n "],[11,"input"],[24,1,"new-read-relay"],[24,0,"form-control"],[24,"placeholder","relay.example.com"],[16,2,[30,0,["newReadRelay"]]],[24,4,"text"],[4,[32,1],["input",[30,0,["updateNewReadRelay"]]],null],[4,[32,1],["keydown",[30,0,["handleReadRelayKeydown"]]],null],[12],[13],[1,"\\n "],[11,"button"],[24,0,"btn btn-secondary"],[24,4,"button"],[4,[32,1],["click",[30,0,["addReadRelay"]]],null],[12],[1,"Add"],[13],[1,"\\n "],[13],[1,"\\n"],[41,[30,0,["settings","nostrReadRelays"]],[[[1," "],[11,"button"],[24,0,"btn-link reset-relays"],[24,4,"button"],[4,[32,1],["click",[30,0,["resetReadRelays"]]],null],[12],[1,"\\n Reset to Defaults\\n "],[13],[1,"\\n"]],[]],null],[1," "],[13],[1,"\\n\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[14,"for","new-write-relay"],[12],[1,"Write Relays"],[13],[1,"\\n "],[10,"ul"],[14,0,"relay-list"],[12],[1,"\\n"],[42,[28,[31,3],[[28,[31,3],[[30,0,["nostrData","activeWriteRelays"]]],null]],null],null,[[[1," "],[10,"li"],[12],[1,"\\n "],[10,1],[12],[1,[28,[32,3],[[30,3]],null]],[13],[1,"\\n "],[11,"button"],[24,0,"btn-remove-relay"],[24,"title","Remove relay"],[24,"aria-label","Remove"],[24,4,"button"],[4,[32,1],["click",[28,[32,2],[[30,0,["removeWriteRelay"]],[30,3]],null]],null],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size","@color"],["x",14,"currentColor"]],null],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"]],[3]],null],[1," "],[13],[1,"\\n "],[10,0],[14,0,"add-relay-input"],[12],[1,"\\n "],[11,"input"],[24,1,"new-write-relay"],[24,0,"form-control"],[24,"placeholder","relay.example.com"],[16,2,[30,0,["newWriteRelay"]]],[24,4,"text"],[4,[32,1],["input",[30,0,["updateNewWriteRelay"]]],null],[4,[32,1],["keydown",[30,0,["handleWriteRelayKeydown"]]],null],[12],[13],[1,"\\n "],[11,"button"],[24,0,"btn btn-secondary"],[24,4,"button"],[4,[32,1],["click",[30,0,["addWriteRelay"]]],null],[12],[1,"Add"],[13],[1,"\\n "],[13],[1,"\\n"],[41,[30,0,["settings","nostrWriteRelays"]],[[[1," "],[11,"button"],[24,0,"btn-link reset-relays"],[24,4,"button"],[4,[32,1],["click",[30,0,["resetWriteRelays"]]],null],[12],[1,"\\n Reset to Defaults\\n "],[13],[1,"\\n"]],[]],null],[1," "],[13],[1,"\\n\\n "],[10,0],[14,0,"form-group"],[12],[1,"\\n "],[10,"label"],[12],[1,"Cached data"],[13],[1,"\\n "],[11,"button"],[24,0,"btn btn-outline btn-full"],[24,4,"button"],[4,[32,1],["click",[30,0,["clearCache"]]],null],[12],[1,"\\n "],[8,[32,0],null,[["@name","@size","@color"],["database",18,"var(--danger-color)"]],null],[1,"\\n Clear profiles, photos, and reviews\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@onChange","relay","relay"],["if","unless","each","-track-array"]]',moduleName:"/home/basti/src/marco/app/components/app-menu/settings/nostr.gjs",scope:()=>[DB,Sb,AB,Y8],isStrictMode:!0}),this)}}class J8 extends LB{static{dF(this.prototype,"settings",[$f])}#I=void fF(this,"settings");updateSetting(t,e){let n=e.target.value;"true"===n&&(n=!0),"false"===n&&(n=!1),this.settings.update(t,n)}static{pF(this.prototype,"updateSetting",[Pu])}static{Xr(em({id:null,block:'[[[10,0],[14,0,"sidebar-header"],[12],[1,"\\n "],[11,"button"],[24,0,"back-btn"],[24,4,"button"],[4,[32,0],["click",[30,1]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["arrow-left",20,"#333"]],null],[1,"\\n "],[13],[1,"\\n "],[10,"h2"],[12],[1,"Settings"],[13],[1,"\\n "],[11,"button"],[24,0,"close-btn"],[24,4,"button"],[4,[32,0],["click",[30,2]],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 "],[8,[32,2],null,[["@onChange"],[[30,0,["updateSetting"]]]],null],[1,"\\n "],[8,[32,3],null,[["@onChange"],[[30,0,["updateSetting"]]]],null],[1,"\\n "],[8,[32,4],null,[["@onChange"],[[30,0,["updateSetting"]]]],null],[1,"\\n "],[13],[1,"\\n"],[13]],["@onBack","@onClose"],[]]',moduleName:"/home/basti/src/marco/app/components/app-menu/settings.gjs",scope:()=>[Sb,DB,K8,Z8,X8],isStrictMode:!0}),this)}}const Q8=Xr(em({id:null,block:'[[[10,0],[14,0,"sidebar-header"],[12],[1,"\\n "],[11,"button"],[24,0,"back-btn"],[24,4,"button"],[4,[32,0],["click",[30,1]],null],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["arrow-left",20,"#333"]],null],[1,"\\n "],[13],[1,"\\n "],[10,"h2"],[12],[1,"About"],[13],[1,"\\n "],[11,"button"],[24,0,"close-btn"],[24,4,"button"],[4,[32,0],["click",[30,2]],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,"about-section"],[12],[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\\n "],[10,"details"],[12],[1,"\\n "],[10,"summary"],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size"],["gift",20]],null],[1,"\\n "],[10,1],[12],[1,"Open Source"],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"details-content"],[12],[1,"\\n "],[10,"table"],[12],[1,"\\n "],[10,"thead"],[12],[1,"\\n "],[10,"tr"],[12],[1,"\\n "],[10,"th"],[12],[1,"Source"],[13],[1,"\\n "],[10,"th"],[12],[1,"License"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"tbody"],[12],[1,"\\n "],[10,"tr"],[12],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://gitea.kosmos.org/raucao/marco"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n Marco App\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n "],[10,"abbr"],[14,"title","GNU Affero General Public License"],[12],[1,"AGPL"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"tr"],[12],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://openstreetmap.org/copyright"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n Map Data\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://opendatacommons.org/licenses/odbl/"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n "],[10,"abbr"],[14,"title","Open Data Commons Open Database License"],[12],[1,"ODbL"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"tr"],[12],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://github.com/feathericons/feather"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n Feather Icons\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://en.wikipedia.org/wiki/MIT_License"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n "],[10,"abbr"],[14,"title","MIT License"],[12],[1,"MIT"],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"tr"],[12],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://pinhead.ink/"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n Pinhead Icons\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"td"],[12],[1,"\\n "],[10,3],[14,6,"https://github.com/waysidemapping/pinhead?tab=readme-ov-file#where-the-icons-are-from"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"\\n Various\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[10,"details"],[12],[1,"\\n "],[10,"summary"],[12],[1,"\\n "],[8,[32,1],null,[["@name","@size","@color"],["heart",20,"#e5533d"]],null],[1,"\\n "],[10,1],[12],[1,"Contribute"],[13],[1,"\\n "],[13],[1,"\\n "],[10,0],[14,0,"details-content"],[12],[1,"\\n "],[10,2],[12],[1,"\\n "],[10,"strong"],[12],[1,"Most impactful:"],[13],[1,"\\n Add and improve data for points of interest in\\n "],[10,3],[14,6,"https://www.openstreetmap.org"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"OpenStreetMap"],[13],[1,".\\n "],[13],[1,"\\n "],[10,2],[12],[1,"\\n "],[10,"strong"],[12],[1,"Most appreciated:"],[13],[1,"\\n Use this app as much as you can and\\n "],[10,3],[14,6,"https://community.remotestorage.io/t/marco-an-unhosted-maps-app/941"],[14,"target","_blank"],[14,"rel","noopener"],[12],[1,"submit feedback"],[13],[1,"\\n about your experience, problems, feature wishes, etc.\\n "],[13],[1,"\\n "],[10,2],[12],[1,"\\n "],[10,"strong"],[12],[1,"Most supportive:"],[13],[1,"\\n Tell others about this app, on social media, in blog posts,\\n educational videos, etc.\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n "],[13],[1,"\\n"],[13]],["@onBack","@onClose"],[]]',moduleName:"/home/basti/src/marco/app/components/app-menu/about.gjs",scope:()=>[Sb,DB],isStrictMode:!0}),H8());class t7 extends LB{static{dF(this.prototype,"currentView",[Is],function(){return"menu"})}#re=void fF(this,"currentView");setView(t){this.currentView=t}static{pF(this.prototype,"setView",[Pu])}static{Xr(em({id:null,block:'[[[10,0],[14,0,"sidebar app-menu-pane"],[12],[1,"\\n"],[41,[28,[32,0],[[30,0,["currentView"]],"menu"],null],[[[1," "],[8,[32,1],null,[["@onNavigate","@onClose"],[[30,0,["setView"]],[30,1]]],null],[1,"\\n\\n"]],[]],[[[41,[28,[32,0],[[30,0,["currentView"]],"settings"],null],[[[1," "],[8,[32,2],null,[["@onBack","@onClose"],[[28,[32,3],[[30,0,["setView"]],"menu"],null],[30,1]]],null],[1,"\\n\\n"]],[]],[[[41,[28,[32,0],[[30,0,["currentView"]],"about"],null],[[[1," "],[8,[32,4],null,[["@onBack","@onClose"],[[28,[32,3],[[30,0,["setView"]],"menu"],null],[30,1]]],null],[1,"\\n "]],[]],null]],[]]]],[]]],[13]],["@onClose"],["if"]]',moduleName:"/home/basti/src/marco/app/components/app-menu/index.gjs",scope:()=>[zB,G8,J8,AB,Q8],isStrictMode:!0}),this)}}class e7 extends LB{static{dF(this.prototype,"toast",[$f])}#Mt=void fF(this,"toast");static{Xr(em({id:null,block:'[[[41,[30,0,["toast","isVisible"]],[[[1," "],[10,0],[14,0,"toast-notification"],[12],[1,"\\n "],[1,[30,0,["toast","message"]]],[1,"\\n "],[13],[1,"\\n"]],[]],null]],[],["if"]]',moduleName:"/home/basti/src/marco/app/components/toast.gjs",isStrictMode:!0}),this)}}class n7 extends LB{static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"isAppMenuOpen",[Is],function(){return!1})}#ie=void fF(this,"isAppMenuOpen");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}toggleAppMenu(){this.isAppMenuOpen=!this.isAppMenuOpen}static{pF(this.prototype,"toggleAppMenu",[Pu])}closeAppMenu(){this.isAppMenuOpen=!1}static{pF(this.prototype,"closeAppMenu",[Pu])}handleOutsideClick(){this.isAppMenuOpen?this.closeAppMenu():("search"===this.router.currentRouteName||"place"===this.router.currentRouteName)&&this.router.transitionTo("index")}static{pF(this.prototype,"handleOutsideClick",[Pu])}refreshBookmarks(){this.storage.notifyChange()}static{pF(this.prototype,"refreshBookmarks",[Pu])}static{Xr(em({id:null,block:'[[[1,[28,[32,0],["Marco"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onToggleMenu"],[[30,0,["toggleAppMenu"]]]],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,["isAppMenuOpen"]]],null],[30,0,["handleOutsideClick"]]]],null],[1,"\\n\\n"],[41,[30,0,["isAppMenuOpen"]],[[[1," "],[8,[32,5],null,[["@onClose"],[[30,0,["closeAppMenu"]]]],null],[1,"\\n"]],[]],null],[1,"\\n"],[8,[32,6],null,null,null],[1,"\\n\\n"],[46,[28,[31,2],null,null],null,null,null]],[],["if","component","-outlet"]]',moduleName:"/home/basti/src/marco/app/templates/application.gjs",scope:()=>[Bq,W8,Sb,N8,FB,t7,e7],isStrictMode:!0}),this)}}const r7=Object.freeze(Object.defineProperty({__proto__:null,default:n7},Symbol.toStringTag,{value:"Module"}));class i7 extends kp{static{dF(this.prototype,"osm",[$f])}#ct=void fF(this,"osm");static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage")}const s7=Object.freeze(Object.defineProperty({__proto__:null,default:i7},Symbol.toStringTag,{value:"Module"}));class o7 extends kp{static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");activate(){this.mapUi.clearSearchResults()}}const a7=Object.freeze(Object.defineProperty({__proto__:null,default:o7},Symbol.toStringTag,{value:"Module"}));class l7 extends kp{static{dF(this.prototype,"osmAuth",[$f])}#Gt=void fF(this,"osmAuth");static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");async model(){try{await this.osmAuth.handleCallback()}catch(ej){console.error("Failed to handle OSM OAuth callback",ej)}finally{this.router.transitionTo("index")}}}const c7=Object.freeze(Object.defineProperty({__proto__:null,default:l7},Symbol.toStringTag,{value:"Module"}));class u7 extends LB{static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");static{dF(this.prototype,"localPlace",[Is],function(){return null})}#se=void fF(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{pF(this.prototype,"handleUpdate",[Pu])}refreshMap(){this.storage.notifyChange()}static{pF(this.prototype,"refreshMap",[Pu])}navigateBack(t){null===t?this.mapUi.returnToSearch&&this.mapUi.currentSearch?this.router.transitionTo("search",{queryParams:this.mapUi.currentSearch}):this.router.transitionTo("index"):this.router.transitionTo("place",t)}static{pF(this.prototype,"navigateBack",[Pu])}close(){this.router.transitionTo("index")}static{pF(this.prototype,"close",[Pu])}static{Xr(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:()=>[Iq],isStrictMode:!0}),this)}}const h7=Object.freeze(Object.defineProperty({__proto__:null,default:u7},Symbol.toStringTag,{value:"Module"}));class d7 extends kp{static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"osm",[$f])}#ct=void fF(this,"osm");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");async model(t){const e=t.place_id;let n,r,i=!1;(e.startsWith("osm:node:")||e.startsWith("osm:way:")||e.startsWith("osm:relation:"))&&(i=!0,[,n,r]=e.split(":"),console.debug(`Fetching explicit OSM ${n}:`,r));let s=null;i&&(s=this.loadOsmPlace(r,n)),await this.waitForSync();let o=i?r:e,a=this.storage.findPlaceById(o);return a&&i&&a.osmType!==n&&(a=null),a?(console.debug("Found in bookmarks:",a.title),a):i?(console.debug(`Not in bookmarks, using explicitly fetched OSM ${n}:`,r),await s):(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(ej){console.error("Failed to fetch POI",ej)}return null}setupController(t,e){super.setupController(t,e),this.checkUpdates(e)}async checkUpdates(t){if(t&&t.id&&t.osmId&&t.osmType){const e=await this.storage.refreshPlace(t);e&&this.mapUi.selectPlace(e,{preventZoom:!0})}}serialize(t){return t.osmId&&t.osmType?{place_id:`osm:${t.osmType}:${t.osmId}`}:t.id?{place_id:t.id}:{place_id:t.osmId}}}const p7=Object.freeze(Object.defineProperty({__proto__:null,default:d7},Symbol.toStringTag,{value:"Module"}));class f7 extends LB{static{dF(this.prototype,"router",[$f])}#kt=void fF(this,"router");static{dF(this.prototype,"storage",[$f])}#St=void fF(this,"storage");static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(this,"mapUi");get initialPlace(){return{title:"",description:""}}close(){this.router.transitionTo("index")}static{pF(this.prototype,"close",[Pu])}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)),r=parseFloat(e.lon.toFixed(6)),i={title:t.title||"Untitled Place",description:t.description,lat:n,lon:r,tags:[],osmTags:{}},s=await this.storage.storePlace(i);console.debug("Created private place:",s.title),this.router.replaceWith("place",s)}catch(ej){console.error("Failed to create place:",ej),alert("Failed to create place: "+ej.message)}}static{pF(this.prototype,"savePlace",[Pu])}static{Xr(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:()=>[DB,Sb,NB],isStrictMode:!0}),this)}}const g7=Object.freeze(Object.defineProperty({__proto__:null,default:f7},Symbol.toStringTag,{value:"Module"}));class m7 extends kp{static{dF(this.prototype,"mapUi",[$f])}#Wt=void fF(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 y7=Object.freeze(Object.defineProperty({__proto__:null,default:m7},Symbol.toStringTag,{value:"Module"})),v7=Object.assign({},px,{"marco/app":t,"marco/config/environment":vx,"marco/deprecation-workflow":wx,"marco/router":Tx,"marco/services/blossom":vF,"marco/services/image-processor":wF,"marco/services/map-ui":xF,"marco/services/nostr-auth":Rz,"marco/services/nostr-data":VD,"marco/services/nostr-relay":rN,"marco/services/osm-auth":kN,"marco/services/osm":zN,"marco/services/photon":NN,"marco/services/settings":UN,"marco/services/storage":zj,"marco/services/toast":Nj,"marco/utils/device":wz,"marco/utils/format-text":TN,"marco/utils/geo":Bj,"marco/utils/geohash-coverage":jD,"marco/utils/icons":Wj,"marco/utils/nostr":FD,"marco/utils/osm-icons":Kj,"marco/utils/osm":IN,"marco/utils/place-mapping":Yj,"marco/utils/poi-categories":ON,"marco/utils/social-links":Jj,"marco/workers/image-processor":cB,"marco/services/page-title":xB,"marco/templates/search":Aq,"marco/controllers/search":Oq,"marco/routes/search":zq,"marco/templates/application":r7,"marco/routes/application":s7,"marco/routes/index":a7,"marco/routes/oauth/osm-callback":c7,"marco/templates/place":h7,"marco/routes/place":p7,"marco/templates/place/new":g7,"marco/routes/place/new":y7},{});class b7{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 w7=/[ _]/g,_7=new b7(1e3,t=>{return(e=t,L7.get(e)).replace(w7,"-");var e}),x7=/^(\-|_)+(.)?/,C7=/(.)(\-|\_|\.|\s)+(.)?/g,S7=/(^|\/|\.)([a-z])/g,k7=new b7(1e3,t=>{const e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,r)=>e+(r?r.toUpperCase():""),r=t.split("/");for(let i=0;i<r.length;i++)r[i]=r[i].replace(x7,e).replace(C7,n);return r.join("/").replace(S7,t=>t.toUpperCase())}),E7=/([a-z\d])([A-Z]+)/g,T7=/\-|\s+/g,R7=new b7(1e3,t=>t.replace(E7,"$1_$2").replace(T7,"_").toLowerCase()),M7=/([a-z\d])([A-Z])/g,L7=new b7(1e3,t=>t.replace(M7,"$1_$2").toLowerCase());class I7{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 P7{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 I7)}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,r,i=t.split("@");if(3===i.length){if(0===i[0].length){e=`@${i[1]}`;let t=i[2].split(":");n=t[0],r=t[1]}else e=`@${i[1]}`,n=i[0].slice(0,-1),r=i[2];"template:components"===n&&(r=`components/${r}`,n="template")}else if(2===i.length){let t=i[0].split(":");if(2===t.length)0===t[1].length?(n=t[0],r=`@${i[1]}`):(e=t[1],n=t[0],r=i[1]);else{let t=i[1].split(":");e=i[0],n=t[0],r=t[1]}"template"===n&&0===e.lastIndexOf("components/",0)&&(r=`components/${r}`,e=e.slice(11))}else i=t.split(":"),n=i[0],r=i[1];let s=r,o=this.namespace;return{parsedName:!0,fullName:t,prefix:e||this.prefix({type:n}),type:n,fullNameWithoutType:s,name:r,root:o,resolveMethodName:"resolve"+(a=n,k7.get(a))};var a}resolveOther(t){A7("`modulePrefix` must be defined",this.namespace.modulePrefix);let e=this.findModuleName(t);if(e){let r=this._extractDefaultExport(e,t);if(void 0===r)throw new Error(` Expected to find: '${t.fullName}' within '${e}' but got 'undefined'. Did you forget to 'export default' within '${e}'?`);return this.shouldWrapInClassFactory(r,t)&&(n=r,r={create:t=>"function"==typeof n.extend?n.extend(t):n}),r}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),r=n.resolveMethodName;return"function"==typeof this[r]&&(e=this[r](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,"/"),_7.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 A7(`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 r=0,i=n.length;r<i;r++){let i=n[r].call(this,t);if(i&&(i=this.chooseModuleName(i)),i&&this._moduleRegistry.has(i)&&(e=i),e)return e}}chooseModuleName(t){let e=(n=t,R7.get(n));var n;if(t!==e&&this._moduleRegistry.has(t)&&this._moduleRegistry.has(e))throw new TypeError(`Ambiguous module names: '${t}' and '${e}'`);return this._moduleRegistry.has(t)?t:this._moduleRegistry.has(e)?e:void 0}knownForType(t){let e=this._moduleRegistry.moduleNames(),n=Object.create(null);for(let r=0,i=e.length;r<i;r++){let i=e[r],s=this.translateToContainerFullname(t,i);s&&(n[s]=!0)}return n}translateToContainerFullname(t,e){let n=this.prefix({type:t}),r=n+"/",i="/"+t,s=e.indexOf(r),o=e.indexOf(i);if(0===s&&o===e.length-i.length&&e.length>r.length+i.length)return t+":"+e.slice(s+r.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 A7(t,e){if(!e)throw new Error(t)}class O7 extends hx{modulePrefix=yx.modulePrefix;podModulePrefix=yx.podModulePrefix;Resolver=P7.withModules(v7);inspector=function(t){!function(t){globalThis.emberInspectorApps||(globalThis.emberInspectorApps=[]),globalThis.emberInspectorApps.push({app:t,name:`app-${globalThis.emberInspectorApps.length}`,loadCompatInspector:()=>MD(()=>import("./modules-4-12-CktBxFgZ.js"),[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}(this)}O7.create(yx.APP);export{Ci as $,Wi as A,as as B,Si as C,Ms as D,Fi as E,po as F,ho as G,ts as H,Os as I,Js as J,Ui as K,Ts as L,xs as M,ao as N,Ls as O,rs as P,Pi as Q,gs as R,Vi as S,As as T,Ve as U,xi as V,mo as W,Rs as X,Ri as Y,mi as Z,ks as _,Cs as a,Xl as a$,ss as a0,di as a1,$i as a2,go as a3,fo as a4,Xs as a5,ji as a6,uo as a7,Gi as a8,Hs as a9,du as aA,$c as aB,Ic as aC,Zc as aD,Nc as aE,Bc as aF,Vc as aG,hu as aH,uu as aI,zc as aJ,Hc as aK,Wc as aL,Uc as aM,et as aN,nd as aO,g as aP,d as aQ,m as aR,p as aS,u 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,Ji as ab,Bi as ac,Ai as ad,yo as ae,Qs as af,vo as ag,gi as ah,fi as ai,Is as aj,Ds as ak,qb as al,ew as am,jr as an,Ew as ao,Jr as ap,pj as aq,Xr as ar,oc as as,Mc as at,Ac as au,Fc as av,Jc as aw,cu as ax,lu as ay,lc as az,us as b,Cx as b$,Yl as b0,Zl as b1,nc as b2,pu as b3,Gl as b4,ic as b5,tc as b6,Jl as b7,fu as b8,si as b9,Ah as bA,ex as bB,Ph as bC,eh as bD,kb as bE,_h as bF,Zu as bG,Wu as bH,Hu as bI,zu as bJ,Ku as bK,Uu as bL,Du as bM,Qu as bN,Yu as bO,Ju as bP,$u as bQ,Nu as bR,Fu as bS,qu as bT,Vu as bU,dx as bV,Y_ as bW,od as bX,_j as bY,hd as bZ,W as b_,Q as ba,at as bb,K_ as bc,st as bd,cl as be,St as bf,tt as bg,nt as bh,no as bi,H as bj,Ct as bk,G as bl,ei as bm,vt as bn,dt as bo,ft as bp,eo as bq,pt as br,ni as bs,_t as bt,bt as bu,kt as bv,wt as bw,Rt as bx,Z as by,mt as bz,$e as c,Ou as c0,rc as c1,gh as c2,Eu as c3,rh as c4,Ru as c5,Ej as c6,Cj as c7,Ta as c8,Vf as c9,ll as ca,ai as cb,IB as cc,Qr as cd,rr as ce,Cb as cf,En as cg,cn as ch,NP as ci,lP as cj,hP as ck,Rx as cl,ZA as cm,eA as cn,PA as co,YP as cp,lo as d,_s as e,Ss as f,qe as g,zs as h,Ki as i,Ys as j,Ni as k,co as l,Hi as m,Ns as n,Vs as o,qs as p,fs as q,os as r,Fs as s,ls as t,ps as u,ys as v,ms as w,vs as x,Ii as y,Li as z};